Skip to content

Releases: BlueBubblesApp/bluebubbles-server

BlueBubbles Server v1.2.2

27 Aug 14:11
78cf998
Compare
Choose a tag to compare

What's New?

This is a hot-fix release to fix some bugs in the v1.2.1 release. If you are not yet on the v1.2.X release, please see the corresponding change-log for the full list of changes:

I apologize for all the server updates recently. We are ironing some unexpected things out :)

Fixes

  • Fixes sending images on macOS Monterey+

Useful Links

Clients

Enjoy!

P.S. Download the .dmg, not the .zip

BlueBubbles Server v1.2.1 (Stable)

27 Aug 13:23
9560ee7
Compare
Choose a tag to compare

What's New?

This is a hot-fix release to fix some bugs in the v1.2.0 release. If you are not yet on the v1.2.0 release, please see the corresponding change-log for the full list of changes: https://github.com/BlueBubblesApp/bluebubbles-server/releases/tag/v1.2.0

Fixes

  • Fixes bug in Private API helper which caused adding/removing participants to fail
  • Fixes issue where an error would be detected for Cloudflare, incorrectly.
  • Fixes issue where Cloudflare will be restarted, even when a successful connection occurred.
  • Fixes issue with original_guid on macOS Sierra

Optimizations

  • Fixes chat response handler for messages/handles
  • Message Serializer refactor/cleanup

Useful Links

Clients

Enjoy!

P.S. Download the .dmg, not the .zip

BlueBubbles Server v1.2.0 (Stable)

26 Aug 00:47
3c2bb10
Compare
Choose a tag to compare

What's New?

This update includes stability improvements as well as a ton of API fixes to better serve clients accurate information. It also has a bunch of QOL updates to the server UI.

Features

  • The attributed body of a Message can now be decoded and provided to clients
    • This will allow our clients to properly show Mentions in messages
    • This will allow our clients to properly show message texts on Ventura
    • This will allow our clients to view more metadata about messages, which will allow us to better support different message types.
  • Avatars now show in the Contact Management page on the server
  • The walkthrough will now strongly encourage users to add an Ngrok Auth Token when Ngrok is selected
  • Adds an additional panel in the Private API settings to better understand the status of your setup
  • Adds buttons/links to the firebase setup during the walkthrough to better aid the user
  • Adds buttons/links to the Private API documentation when the status is in a failed state
  • Adds setting to hide the notifications badge in the dock icon

Fixes

  • Issue where the contacts API wouldn't return avatars
  • Issue where an incorrect status would be shown when the FindMy file cannot properly be decoded
  • Fixes issue where the Messages API endpoint would not returns chats for a message
  • Fixes issue where the Messages Count API endpoint would return incorrect results
  • Fixes issue where the status in the API JSON body response did not match the HTTP status
  • Fixes issue where the initial server walkthrough shows an incorrect Google Firebase configuration
  • Fixes issue where an attachment could not be found for a given GUID
  • Fixes issue where the information popup would not show when a permission or private API status was in a failed state
  • Fixes issue where the Private API port used is greater than the highest allowed port
  • Fixes issue where the Legacy Messaging API in the Firebase Console was required to send notifications.
    • This is no longer required and should not be done

Optimizations

  • Re-coded the API message serializer to more efficiently and better serve clients
    • This will now automatically attempt to truncate message bodies for notifications exceeding the 4kb maximum size limit.
    • What this means is more reliable notifications groups with a large amount of participants or a message with an extremely long text!
  • AddressBook Contacts are no longer auto-refreshed
    • If you have made any contact updates, please manually refresh it on the server
    • I might make an API endpoint out of refreshing it so you can do it from your clients
  • Better error handling on the Messages API router
  • Cloudflare proxies no longer auto-refresh because they do not need to be
  • Improved macOS permission handling
  • Fixes exit handler
  • The message sending accessibility script now handles screen savers better
    • You should still keep the screen saver disabled

Maintenance

  • Upgrades the node-mac-contacts dependency to fix a possible memory leak
  • Upgrades electron-builder
  • Upgrades NodeJS
  • Upgrades Election
  • Upgrades Cloudflare Binary

Useful Links

Clients

Enjoy!

P.S. Download the .dmg, not the .zip

BlueBubbles Server v1.1.3

11 Jun 17:51
1e610ed
Compare
Choose a tag to compare

What's New?

This release is purely a bug-fix release, resolving 2 issues

Bug Fixes

  • Fixes issue where some chats would not have any participants when querying the API
    • This mostly affected users installing the client apps fresh or after a reset
  • Fixes issue where the server would not return avatars for contacts fetched using the AddressBook API
    • This mostly affected users with only their iCloud contacts synced with their Contacts app on macOS

For Developers

I would also like to highlight that we updated the Postman API documentation based on the recent API updates:

https://documenter.getpostman.com/view/765844/UV5RnfwM

I'd also like to remind developers that the server now supports webhooks, so you could build interesting projects around iMessage. And now, even FindMy Friends/Devices. We would love to hear about any efforts in our Discord!

Enjoy.

BlueBubbles App v1.1.2

08 Jun 01:08
Compare
Choose a tag to compare

What's New?

This is an emergency patch for fresh installs of the v1.1.1 server. If you performed a fresh install of v1.1.1, there was a bug that prohibited you from proceeding during setup due to a DB initialization issue. If you upgraded/overwrote your server, this does not apply to you.

Bug Fixes

  • Fixes issue initialization the database for fresh installs

If you were one of the unlucky ones to perform a fresh install of v1.1.1, please follow these instructions to fix the installation:

  1. Open Finder
  2. On your keyboard, hit CMD + Shift + g
    • This should bring up a text field to enter a path
  3. Copy and paste the following path and hit enter: ~/Library/Application\ Support/
  4. Find the directory named bluebubbles-server and delete it
  5. Download and extract this version (v1.1.2) and install it as normal

We apologize to anyone who ran into the v1.1.1 issue!

BlueBubbles Server v1.1.1

07 Jun 16:35
be42533
Compare
Choose a tag to compare

What's New?

WARNING: Do not upgrade to macOS Ventura!

  • Note: This release comes so close after the v1.1.0 release due to a few bugs we discovered during the deployment of v1.1.0 on some Big Sur devices. As such, this update will address that issue, as well as a few others.

Changes

  • Fixes blank screen on some Big Sur deployments
  • Adds API endpoints for Find My Devices/Friends
    • GET /api/v1/icloud/findmy/friends
    • GET /api/v1/icloud/findmy/devices
    • POST /api/v1/icloud/findmy/friends/refresh
    • POST /api/v1/icloud/findmy/devices/refresh
  • Adds API endpoints for Server Alerts
    • GET /api/v1/server/alert
    • POST /api/v1/server/alert/read -> Body: { "ids": [1, 2, 3] }
  • Fixes issue with Contact Management system not exposing email addresses
  • Contact Management API fixes
    • First name is no longer required as long as a display name is provided
    • Email syncing is fixed
    • Avatar syncing is fixed
  • Send fixes & improvements on macOS Monterey
    • Sending images to individuals and/or groups is now more reliable (still uses Accessibility)!

Links you may care about

BlueBubbles Server v1.1.0

03 Jun 22:48
f1168a4
Compare
Choose a tag to compare

What's New?

The Big Stuff

  • Contact Management System!
    • Contacts are now loaded from both your iCloud and local Address Book / Contacts
    • You can now view manage, and search all your "server" contacts through the server's UI
    • You can now import contacts into the server via a VCF file
    • You can also use the REST API to manage your contacts
    • Avatar support (API only)!
  • Tons of great API changes for developers and to better support the client apps!

The Nitty Gritty

Bug Fixes

  • Fixes issues with quicktime videos
    • ffmpeg has been removed and quicktime videos are no longer converted
  • Fixes issue where Use HTTPS option was not turned off when switching away from Dynamic DNS
    • This would cause connection issues for some users, which was unexpected
  • (Hopefully) Fixes issue with showing the "Best Friend" on the dashboard
  • Fixes issues with emitting errored messages to the clients

API Changes

  • Adds detected_icloud account to the server metadata response (/api/v1/server/info)
    • The returned value is the signed in user's email.
    • Note: This reflects the signed in iCloud, not the signed in iMessage account
  • Fixes issue where both the Error and Metrics Middleware were not properly utilized
    • This fixes the 404 Not Found issue whenever there was a server error
  • Adds endpoint to delete chats via the Private API (DELETE /api/v1/chat/<guid>)
  • Messages that error out when sent now return a 500 error
  • Fixes some issues emitting events to registered web-hooks
  • Improves the create chat workflow/response
    • Big Sur users can use this endpoint now, as long as they provide a message and tempGuid
  • Attachment metadata when fetching messages is now optional in order to speed up the API
    • You can pass attachments.metadata to the with filter to include it
  • Fixes server statistics for message types per chat

Optimizations / Minor Changes

  • Cloudflare & Ngrok binaries have been updated
  • Dependencies have been updated
    • Previously vulnerable packages have been updated
  • Updated NodeJS & Electron to v18
  • Renamed Use HTTPS option to Use Custom Certificate to better reflect how the option is used
    • This was also done to prevent confusion so users won't accidentally enable it
  • Adds error support for communications between the helper bundle and server
  • It is now much more obvious to click the save password button during the walkthrough
  • Adds Open App Location to the debug tab context menu
  • API errors are now debug-log level
  • The "Devices" tab now refreshes whenever you enter it
    • There is also a refresh option within the page's context menu

Full Changelog: v1.0.0...v1.1.0

Links you may care about

BlueBubbles Server v1.1.0 - Beta 1

18 Apr 13:15
Compare
Choose a tag to compare
Pre-release

What's New?

Pulled due to memory leak

WARNING: This is a pre-release, not an official release! For the most stable experience, please wait for the official release for v1.1.0. However, that's not to say that this beta is not "stable". I believe it's more stable :)

The Big Stuff

  • Contact Management System!
    • Contacts are now loaded from both your iCloud and local Address Book / Contacts
    • You can now view manage, and search all your "server" contacts through the server's UI
    • You can now import contacts into the server via a VCF file
    • You can also use the REST API to manage your contacts
    • Avatar support (API only)!
  • Tons of great API changes for developers and to better support the client apps!

The Nitty Gritty

Bug Fixes

  • Fixes issues with quicktime videos
    • ffmpeg has been removed and quicktime videos are no longer converted
  • Fixes issue where Use HTTPS option was not turned off when switching away from Dynamic DNS
    • This would cause connection issues for some users, which was unexpected
  • (Hopefully) Fixes issue with showing the "Best Friend" on the dashboard
  • Fixes issues with emitting errored messages to the clients

API Changes

  • Adds detected_icloud account to the server metadata response (/api/v1/server/info)
    • The returned value is the signed in user's email.
    • Note: This reflects the signed in iCloud, not the signed in iMessage account
  • Fixes issue where both the Error and Metrics Middleware were not properly utilized
    • This fixes the 404 Not Found issue whenever there was a server error
  • Adds endpoint to delete chats via the Private API (DELETE /api/v1/chat/<guid>)
  • Messages that error out when sent now return a 500 error
  • Fixes some issues emitting events to registered web-hooks
  • Improves the create chat workflow/response
    • Big Sur users can use this endpoint now, as long as they provide a message, tempGuid, and exactly one address
    • This does not fix Group Chat creation on macOS Big Sur+
  • Attachment metadata when fetching messages is now optional in order to speed up the API
    • You can pass attachments.metadata to the with filter to include it
  • Fixes server statistics for message types per chat

Optimizations / Minor Changes

  • Cloudflare & Ngrok binaries have been updated
  • Dependencies have been updated
    • Previously vulnerable packages have been updated
  • Renamed Use HTTPS option to Use Custom Certificate to better reflect how the option is used
    • This was also done to prevent confusion so users won't accidentally enable it
  • Adds error support for communications between the helper bundle and server
  • It is now much more obvious to click the save password button during the walkthrough
  • Adds Open App Location to the debug tab context menu
  • API errors are now debug-log level
  • The "Devices" tab now refreshes whenever you enter it
    • There is also a refresh option within the page's context menu

BlueBubbles Server v1.0.0

11 Mar 21:09
Compare
Choose a tag to compare

What's New?

Version 1.0.0 is finally here! Many of you may have thought this day would never happen. Due to the nature of the changes (many of which are UI/UX), I've decided to instead release what was originally going to be v0.5.0, as v1.0.0. Read up, there are a lot of cool new features and user experience enhancements.

Major

  • Complete UI Overhaul and re-write
  • Webhooks! (for all your automation needs)
  • The ability to use the Private API on multiple accounts
    • This is done by making the Private API and Server communicate over a dynamic port based on the accounts user ID
    • The update to the Private API Helper Bundle is bundled with the server and will automatically install itself
  • Adds Apple M1 Chip compatibility for the Private API features
  • Adds toggle to Use HTTPS (default: off) to utilize self-signed (or legitimately signed) certificates for your dynamic DNS implementation
    • Replace the certificates in ~/Library/Application\ Support/bluebubbles-server/Certs with your own (after enabling the setting)
    • A server restart may be required after the first time you replace your certificates
  • Converts HEIC/HEIF images to JPEG images in order to better support clients
  • Converts MOV videos to MP3 videos in order to better support clients (using ffmpeg)
  • Adds ability to send images via accessibility on macOS Monterey (only)
    • This was added because image sending via the usual AppleScript broke in macOS Monterey
    • This is a beta feature at the moment
  • Fixes issue with sending locations
  • Private API sending is now dramatically faster than regular sending (virtually instant)

Minor

  • Added El Capitan iMessage DB samples to the repository
  • Ngrok Binary & Dependencies updated
  • Adds ability to time-fence the GET API request to /api/v1/message/count using before and after URL parameters
    • Where before and after are EPOCH timestamps in milliseconds
  • Adds ability to filter the GET API request to /api/v1/message/count using chatGuid URL parameter
  • Fixes description for the "Keep macOS Awake" option
  • Adds API endpoint to get a group chat's icon
  • Forces El Capitan users to use Cloudflare as the proxy because Ngrok doesn't work on El Capitan from our tests
  • Removes warning for the encrypt communications option
  • Server code refactor for startup and restart workflows
  • Adds API endpoint to restart (soft restart or hard relaunch) the server
  • Better support for macOS versions < High Sierra
  • Adds ability to customize the database poll rate/frequency
  • Support for EC certificates
  • Electron version updated to the latest
  • Complete server backend refactor
    • If you're a developer, you'll appreciate this
  • Fixes issues with message matching service which should improve read receipts and send speed
  • Fixes update typing status private API transactions
  • Adds service to make sure Messages.app is always running
  • Adds metrics middleware to the REST API
    • This means you can see how long requests took to fulfill within the logs
  • Updated Ngrok & Cloudflare binaries

Some other notes

  • Yes, I know the QR Code takes a second to show up. It's due to the size/complexity of it, and rendering the SVG image. Be patient.

Links you may care about

BlueBubbles Server v0.5.0 - Alpha 1

21 Dec 02:38
Compare
Choose a tag to compare
Pre-release

THIS IS A PRE-RELEASE

Only download this if you want to test the upcoming features or help us test for stability.

Major Changes

  • The ability to use the Private API on multiple accounts
    • This is done by making the Private API and Server communicate over a dynamic port based on the accounts user ID
    • The update to the Private API Helper Bundle is bundled with the server and will automatically install itself
  • Adds Apple M1 Chip compatibility for the Private API features
  • Adds toggle to Use HTTPS (default: off) to utilize self-signed (or legitimately signed) certificates for your dynamic DNS implementation
    • Replace the certificates in ~/Library/Application\ Support/bluebubbles-server/Certs with your own (after enabling the setting)
    • A server restart may be required after the first time you replace your certificates
  • Converts HEIC images to JPG images in order to better support clients
  • Adds ability to send images via accessibility on macOS Monterey (only)
    • This was added because image sending via the usual AppleScript broke in macOS Monterey
    • This is a beta feature at the moment
  • Fixes issue with sending locations

Minor Changes

  • Added El Capitan iMessage DB samples to the repository
  • Ngrok Binary & Dependencies updated
  • Adds ability to time-fence the GET API request to /api/v1/message/count using before and after URL parameters
    • Where before and after are EPOCH timestamps in milliseconds
  • Adds ability to filter the GET API request to /api/v1/message/count using chatGuid URL parameter
  • Fixes description for the "Keep macOS Awake" option
  • Adds API endpoint to get a group chat's icon
  • Forces El Capitan users to use Cloudflare as the proxy because Ngrok doesn't work on El Capitan from our tests
  • Removes warning for the encrypt communications option
  • Server code refactor for startup and restart workflows
  • Adds API endpoint to restart (soft restart or hard relaunch) the server
  • Better support for macOS versions < High Sierra

**Associated Pull Request: #278