Repository navigation
Releases: BlueBubblesApp/bluebubbles-server
Release list
BlueBubbles Server v1.9.12
What's New
v1.9.12 is a small follow-up to v1.9.11, and is otherwise identical to it. It fixes one thing: on Intel Macs, installing an update showed a "sysctl shell command to check for macOS Rosetta environment failed" warning. The warning was harmless and the update still installed normally, but it looked alarming, so it no longer appears. If you're on v1.9.11, you can update with Install Update in the server.
A reminder that v1.9.10 was pulled. A dependency update in v1.9.10 broke Firebase in the packaged app, so the server couldn't start its FCM (notification) service, and the Google sign-in used to set up Firebase failed as well. That was resolved in v1.9.11 and carries over here. We're sorry for the trouble this caused! If you downloaded v1.9.10, please install v1.9.12, either with Install Update in the server or by downloading the DMG below.
v1.9.12 includes everything from v1.9.10 and v1.9.11, so if you're coming from v1.9.9 or older, here's what's new:
Auto-updates are back! BlueBubbles Server is signed and notarized by Apple again, which means the server can once again download and install updates for you. No more manually downloading the DMG every time a new version comes out (well, after this one).
On top of that, this update brings compatibility fixes for macOS Tahoe, an upgraded Cloudflare proxy, a batch of bug fixes, and security fixes. I highly recommend that everyone update.
Note: Because v1.9.9 and older can't install updates on their own, you'll need to download this update manually one last time (DMG below). From here on, updates can be installed from the server itself.
Note 2: Download the .dmg for your Mac: BlueBubbles-1.9.12-arm64.dmg for Apple Silicon, or BlueBubbles-1.9.12.dmg for Intel. The .zip, .blockmap, and latest-mac.yml files are used by the auto-updater, so you don't need to download them.
Note 3: If you are an M1 Mac user, please read the note at the bottom of this release
macOS 10.15 Catalina or newer is now required
BlueBubbles Server now requires macOS 10.15 (Catalina) or later; Apple Silicon Macs already required macOS 11. Recent versions of the server could not start on macOS 10.14 Mojave or earlier because of a component that depends on Catalina features, so this formalizes what was already the case. macOS will now show a clear "requires macOS 10.15 or later" message instead of the server failing on launch.
Some proxy services have higher requirements: Ngrok needs macOS 11, Zrok needs macOS 14, and Cloudflare needs macOS 15. If you're on an older version of macOS, switch to a proxy service that supports it in Settings. These differences are mostly due to the fact that older versions have vulnerabilities in them that could put your server at risk.
New Features
- Auto-updates are back! The server is signed & notarized again, so updates can be downloaded and installed in place
- Use
Install Updatein the tray menu, or the download button in the navigation bar, when an update is available - Re-adds the
Auto Install / Apply Updatessetting (Settings -> Update Settings) to automatically install updates as soon as they're detected (disabled by default)
- Use
- macOS Tahoe compatibility: chat identifiers are now resolved correctly on Tahoe and newer, where Apple changed their format
Upgrades
- Cloudflare Binary (2026.10.4)
Fixes
- Fixes Firebase (FCM) failing to start, and the Google sign-in for Firebase setup failing, in v1.9.10
- Fixes a harmless Rosetta
sysctlwarning shown on Intel Macs when installing an update - Security fixes
- Fixes "chat not found" errors on macOS Tahoe and newer when a client uses a chat identifier cached before the upgrade
- Fixes voice memos failing to send as audio messages, and no longer caches truncated MP3 conversions
- Fixes attachment sends failing for chats whose identifier contains a semicolon
- Fixes contact matching resolving short codes and email senders to the wrong contact
- Fixes contact thumbnails not being returned when a contact only has a thumbnail image
- Reduces memory & CPU usage of contact lookups
- Fixes a crash when starting in headless mode without a window
- Fixes the update check failing when an update is available
For Developers
- Chat GUIDs are now resolved across the
any,iMessage, andSMSprefixes for every REST endpoint and socket event, so a GUID whose prefix differs from the one stored in the Messages database still resolves DELETE /api/v1/chat/:guid/typingnow stops the typing indicator instead of starting it- Webhooks registered through the REST API can no longer target localhost or local network addresses by default
- Enable
Allow API webhooks to reach local network addresseson theAPI & Webhookspage if your integration needs it - Webhooks added through the server UI are unaffected
- Enable
POST /api/v1/server/update/installnow downloads and installs the update, then restarts the server- Returns a
UPDATE_REQUIRES_MANUAL_INSTALLerror if the available release can't be installed automatically
- Returns a
GET /api/v1/server/update/checkno longer errors when an update is available- Contact responses now include
contactThumbnailImagecorrectly - Dependency upgrades & fixes
Useful Links
- Support Us: https://bluebubbles.app/donate
- Sponsor Us: https://github.com/sponsors/BlueBubblesApp
Clients
- BlueBubbles for Android: https://play.google.com/store/apps/details?id=com.bluebubbles.messaging
- BlueBubbles for Windows: https://apps.microsoft.com/store/detail/9P3XF8KJ0LSM
- BlueBubbles for Linux: https://flathub.org/apps/details/app.bluebubbles.BlueBubbles
- BlueBubbles Web: https://bluebubbles.app/web
P.S. If you are on Cloudflare, expect a disconnect status when the server first starts. To fix it, either disconnect from WiFi or flush your DNS cache on WiFi. If you use the Detect Localhost Address option, this can be mitigated while on your home network.
Apple Silicon Users
If you are running an M1 Mac and are experiencing repeated Messages App crashes, it is due to the macOS bug detailed here. Luckily, there is a fix, which is to add a boot argument to your Mac. This will require SIP to be disabled, though, if you are experiencing this issue, you already have it disabled.
Open the Terminal App on your Mac and run this command: sudo nvram boot-args=-arm64e_preview_abi
You will be prompted to enter your password, which will be hidden in the Terminal as you enter it.
Lastly reboot your Mac, and you should be good to go.
Enjoy!
BlueBubbles Server v1.9.11
What's New
v1.9.10 has been pulled, and v1.9.11 replaces it. A dependency update in v1.9.10 broke Firebase in the packaged app, so the server couldn't start its FCM (notification) service, and the Google sign-in used to set up Firebase failed as well. v1.9.11 resolves this. We're sorry for the trouble this caused!
If you downloaded v1.9.10, please install v1.9.11. You can use Install Update in the server, or download the DMG below.
v1.9.11 includes everything that was in v1.9.10, so if you skipped v1.9.10, here's what's new:
Auto-updates are back! BlueBubbles Server is signed and notarized by Apple again, which means the server can once again download and install updates for you. No more manually downloading the DMG every time a new version comes out (well, after this one).
On top of that, this update brings compatibility fixes for macOS Tahoe, an upgraded Cloudflare proxy, a batch of bug fixes, and security fixes. I highly recommend that everyone update.
Note: Because v1.9.9 and older can't install updates on their own, you'll need to download this update manually one last time (DMG below). From here on, updates can be installed from the server itself.
Note 2: Download the .dmg for your Mac: BlueBubbles-1.9.11-arm64.dmg for Apple Silicon, or BlueBubbles-1.9.11.dmg for Intel. The .zip, .blockmap, and latest-mac.yml files are used by the auto-updater, so you don't need to download them.
Note 3: If you are an M1 Mac user, please read the note at the bottom of this release
macOS 10.15 Catalina or newer is now required
BlueBubbles Server now requires macOS 10.15 (Catalina) or later; Apple Silicon Macs already required macOS 11. Recent versions of the server could not start on macOS 10.14 Mojave or earlier because of a component that depends on Catalina features, so this formalizes what was already the case. macOS will now show a clear "requires macOS 10.15 or later" message instead of the server failing on launch.
Some proxy services have higher requirements: Ngrok needs macOS 11, Zrok needs macOS 14, and Cloudflare needs macOS 15. If you're on an older version of macOS, switch to a proxy service that supports it in Settings. These differences are mostly due to the fact that older versions have vulnerabilities in them that could put your server at risk.
New Features
- Auto-updates are back! The server is signed & notarized again, so updates can be downloaded and installed in place
- Use
Install Updatein the tray menu, or the download button in the navigation bar, when an update is available - Re-adds the
Auto Install / Apply Updatessetting (Settings -> Update Settings) to automatically install updates as soon as they're detected (disabled by default)
- Use
- macOS Tahoe compatibility: chat identifiers are now resolved correctly on Tahoe and newer, where Apple changed their format
Upgrades
- Cloudflare Binary (2026.10.4)
Fixes
- Fixes Firebase (FCM) failing to start, and the Google sign-in for Firebase setup failing, in v1.9.10
- Security fixes
- Fixes "chat not found" errors on macOS Tahoe and newer when a client uses a chat identifier cached before the upgrade
- Fixes voice memos failing to send as audio messages, and no longer caches truncated MP3 conversions
- Fixes attachment sends failing for chats whose identifier contains a semicolon
- Fixes contact matching resolving short codes and email senders to the wrong contact
- Fixes contact thumbnails not being returned when a contact only has a thumbnail image
- Reduces memory & CPU usage of contact lookups
- Fixes a crash when starting in headless mode without a window
- Fixes the update check failing when an update is available
For Developers
- Chat GUIDs are now resolved across the
any,iMessage, andSMSprefixes for every REST endpoint and socket event, so a GUID whose prefix differs from the one stored in the Messages database still resolves DELETE /api/v1/chat/:guid/typingnow stops the typing indicator instead of starting it- Webhooks registered through the REST API can no longer target localhost or local network addresses by default
- Enable
Allow API webhooks to reach local network addresseson theAPI & Webhookspage if your integration needs it - Webhooks added through the server UI are unaffected
- Enable
POST /api/v1/server/update/installnow downloads and installs the update, then restarts the server- Returns a
UPDATE_REQUIRES_MANUAL_INSTALLerror if the available release can't be installed automatically
- Returns a
GET /api/v1/server/update/checkno longer errors when an update is available- Contact responses now include
contactThumbnailImagecorrectly - Dependency upgrades & fixes
Useful Links
- Support Us: https://bluebubbles.app/donate
- Sponsor Us: https://github.com/sponsors/BlueBubblesApp
Clients
- BlueBubbles for Android: https://play.google.com/store/apps/details?id=com.bluebubbles.messaging
- BlueBubbles for Windows: https://apps.microsoft.com/store/detail/9P3XF8KJ0LSM
- BlueBubbles for Linux: https://flathub.org/apps/details/app.bluebubbles.BlueBubbles
- BlueBubbles Web: https://bluebubbles.app/web
P.S. If you are on Cloudflare, expect a disconnect status when the server first starts. To fix it, either disconnect from WiFi or flush your DNS cache on WiFi. If you use the Detect Localhost Address option, this can be mitigated while on your home network.
Apple Silicon Users
If you are running an M1 Mac and are experiencing repeated Messages App crashes, it is due to the macOS bug detailed here. Luckily, there is a fix, which is to add a boot argument to your Mac. This will require SIP to be disabled, though, if you are experiencing this issue, you already have it disabled.
Open the Terminal App on your Mac and run this command: sudo nvram boot-args=-arm64e_preview_abi
You will be prompted to enter your password, which will be hidden in the Terminal as you enter it.
Lastly reboot your Mac, and you should be good to go.
Enjoy!
BlueBubbles Server v1.9.10 - PULLED
What's New
Sorry guys, give me a bit. Had to pull due to a dependency causing issues
Auto-updates are back! BlueBubbles Server is signed and notarized by Apple again, which means the server can once again download and install updates for you. No more manually downloading the DMG every time a new version comes out (well, after this one).
On top of that, this update brings compatibility fixes for macOS Tahoe, an upgraded Cloudflare proxy, a batch of bug fixes, and security fixes. I highly recommend that everyone update.
Note: Because v1.9.9 and older can't install updates on their own, you'll need to download this update manually one last time (DMG below). From v1.9.10 onward, updates can be installed from the server itself.
Note 2: Download the .dmg for your Mac: BlueBubbles-1.9.10-arm64.dmg for Apple Silicon, or BlueBubbles-1.9.10.dmg for Intel. The .zip, .blockmap, and latest-mac.yml files are used by the auto-updater, so you don't need to download them.
Note 3: If you are an M1 Mac user, please read the note at the bottom of this release
macOS 10.15 Catalina or newer is now required
BlueBubbles Server now requires macOS 10.15 (Catalina) or later; Apple Silicon Macs already required macOS 11. Recent versions of the server could not start on macOS 10.14 Mojave or earlier because of a component that depends on Catalina features, so this formalizes what was already the case. macOS will now show a clear "requires macOS 10.15 or later" message instead of the server failing on launch.
Some proxy services have higher requirements: Ngrok needs macOS 11, Zrok needs macOS 14, and Cloudflare needs macOS 15. If you're on an older version of macOS, switch to a proxy service that supports it in Settings. These differences are mostly due to the fact that older versions have vulnerabilities in them that could put your server at risk.
New Features
- Auto-updates are back! The server is signed & notarized again, so updates can be downloaded and installed in place
- Use
Install Updatein the tray menu, or the download button in the navigation bar, when an update is available - Re-adds the
Auto Install / Apply Updatessetting (Settings -> Update Settings) to automatically install updates as soon as they're detected (disabled by default)
- Use
- macOS Tahoe compatibility: chat identifiers are now resolved correctly on Tahoe and newer, where Apple changed their format
Upgrades
- Cloudflare Binary (2026.10.4)
Fixes
- Security fixes
- Fixes "chat not found" errors on macOS Tahoe and newer when a client uses a chat identifier cached before the upgrade
- Fixes voice memos failing to send as audio messages, and no longer caches truncated MP3 conversions
- Fixes attachment sends failing for chats whose identifier contains a semicolon
- Fixes contact matching resolving short codes and email senders to the wrong contact
- Fixes contact thumbnails not being returned when a contact only has a thumbnail image
- Reduces memory & CPU usage of contact lookups
- Fixes a crash when starting in headless mode without a window
- Fixes the update check failing when an update is available
For Developers
- Chat GUIDs are now resolved across the
any,iMessage, andSMSprefixes for every REST endpoint and socket event, so a GUID whose prefix differs from the one stored in the Messages database still resolves DELETE /api/v1/chat/:guid/typingnow stops the typing indicator instead of starting it- Webhooks registered through the REST API can no longer target localhost or local network addresses by default
- Enable
Allow API webhooks to reach local network addresseson theAPI & Webhookspage if your integration needs it - Webhooks added through the server UI are unaffected
- Enable
POST /api/v1/server/update/installnow downloads and installs the update, then restarts the server- Returns a
UPDATE_REQUIRES_MANUAL_INSTALLerror if the available release can't be installed automatically
- Returns a
GET /api/v1/server/update/checkno longer errors when an update is available- Contact responses now include
contactThumbnailImagecorrectly - Dependency upgrades & fixes
Useful Links
- Support Us: https://bluebubbles.app/donate
- Sponsor Us: https://github.com/sponsors/BlueBubblesApp
Clients
- BlueBubbles for Android: https://play.google.com/store/apps/details?id=com.bluebubbles.messaging
- BlueBubbles for Windows: https://apps.microsoft.com/store/detail/9P3XF8KJ0LSM
- BlueBubbles for Linux: https://flathub.org/apps/details/app.bluebubbles.BlueBubbles
- BlueBubbles Web: https://bluebubbles.app/web
P.S. If you are on Cloudflare, expect a disconnect status when the server first starts. To fix it, either disconnect from WiFi or flush your DNS cache on WiFi. If you use the Detect Localhost Address option, this can be mitigated while on your home network.
Apple Silicon Users
If you are running an M1 Mac and are experiencing repeated Messages App crashes, it is due to the macOS bug detailed here. Luckily, there is a fix, which is to add a boot argument to your Mac. This will require SIP to be disabled, though, if you are experiencing this issue, you already have it disabled.
Open the Terminal App on your Mac and run this command: sudo nvram boot-args=-arm64e_preview_abi
You will be prompted to enter your password, which will be hidden in the Terminal as you enter it.
Lastly reboot your Mac, and you should be good to go.
Enjoy!
BlueBubbles Server v1.9.9
What's New
This is a maintenance update to ensure that all of the proxies services remain compatible and working. We've updated the Cloudflare, Zrok, and Ngrok binaries to the latest versions.
As many of you may already know, Zrok v1 has been released, which also deprecated the older versions. The older binaries will no longer work after May 19th.
Note: If you are an M1 Mac user, please read the note at the bottom of this release
Note 2: If you are having the issue where the server shows there is an update (v1.9.9), just redownload the DMG below. I made an oopsie...
Upgrades
- Ngrok Binary
- Zrok Binary (v1)
- Cloudflare Binary
Useful Links
- Support Us: https://bluebubbles.app/donate
- Sponsor Us: https://github.com/sponsors/BlueBubblesApp
Clients
- BlueBubbles for Android: https://play.google.com/store/apps/details?id=com.bluebubbles.messaging
- BlueBubbles for Windows: https://apps.microsoft.com/store/detail/9P3XF8KJ0LSM
- BlueBubbles for Linux: https://flathub.org/apps/details/app.bluebubbles.BlueBubbles
- BlueBubbles Web: https://bluebubbles.app/web
P.S. If you are on Cloudflare, expect a disconnect status when the server first starts. To fix it, either disconnect from WiFi or flush your DNS cache on WiFi. If you use the Detect Localhost Address option, this can be mitigated while on your home network.
Apple Silicon Users
If you are running an M1 Mac and are experiencing repeated Messages App crashes, it is due to the macOS bug detailed here. Luckily, there is a fix, which is to add a boot argument to your Mac. This will require SIP to be disabled, though, if you are experiencing this issue, you already have it disabled.
Open the Terminal App on your Mac and run this command: sudo nvram boot-args=-arm64e_preview_abi
You will be prompted to enter your password, which will be hidden in the Terminal as you enter it.
Lastly reboot your Mac, and you should be good to go.
Enjoy!
BlueBubbles Server v1.9.8
What's New
It's been a while since i've released a stable update! Life got a bit hectic for a while... This update is an accumulation of a ton of enhancements and bug fixes. I've been wanting to release this for a while, but I had a few outstanding items that I needed to fix and test. I've since found some time to finalize it, so here it is!
There are a TON of updates and I think you'll all find that it hopefully makes your server more resilient and stable. That said, this update does not include the new iMessage features on iOS 18. However, it does fix Private API Attachment sending on macOS Sequoia.
Big thanks to @cameronaaron for helping to fix the message detection issue!
Note: If you are an M1 Mac user, please read the note at the bottom of this release
New Features
- Support for message searching on macOS Ventura and newer via the Private API
- Google Login to download contacts from your Google Account
- This will not continuously sync your Google Contacts
- Apple Silicon (ARM) Native Build! You can now run the BlueBubbles Server natively on an Apple Silicon Mac
- This has not been extensively tested yet, but we figured we'd make it available
- The Cloudflare (and maybe Ngrok & Zrok) daemon still will require Rosetta to run because they have not released Apple Silicon compatible builds yet
- Ability to disable the automatic opening of the FindMy app on startup (see settings)
- Settings toggle to allow auto-start as a Launch Agent to achieve crash-persistence
- You must manually set the auto start method to
Launch Agent - If the server crashes, it will automatically be restarted. If it closes normally (exit code 0), it will not be automatically restarted
- You must manually set the auto start method to
- Handles/Addresses are now obfuscated in the server log
- New feature to automatically lock your Mac after login
- Improvements to the FindMy API
Other Enhancements
- When multiple new messages are found, notifications are now dispatched in ascending order (oldest first)
- Logs on the Debug page from the Messages app are now hidden by default
- Increases ping interval to 1 minute to reduce battery drain for socket clients
- Improvements to handling of Cloudflare errors (specifically, rate limiting)
- Adds ability to disable Zrok via the Settings UI
Fixes
- Improvements to the handling of the Zrok Proxy Service to increase stability
- Fixes detection of delivered messages when sent from other Apple devices
- Replaces automatic update service with a more manual update process
- Adds warning next to your Server URL on the dashboard if it's using an insecure connection (HTTP) and a non-local address.
- The warning basically explains that the connection is insecure and may be vulnerable to a man in the middle attack.
- Increases send timeout time from 30 seconds to 1 minute to prevent unnecessary send errors
- Fixes issue where images converted from HEIC would get a double-extension
- Fixes issue detecting live photos for converted HEIC images
- Start Delay now will only be applied when the Mac uptime is < 5 minutes
- Improved error handling for Cloudflare proxy service
- Fixes issue where a new Server URL on server startup would not get dispatched to Firebase
- Fixes attachment de-duplication issue causing a visual bug where the wrong image would be displayed for an older image
- This fix only applies to all future sent attachments and will not fix older bugged attachments
- Also fixes an issue where old images would appear wrong after clearing the attachment cache
- Fixes bug with sending text + attachments using the multipart endpoint
- Error and Warning logs are now colored red and orange, respectively
- Improvements & fixes to the OAuth Firebase setup process
- Fixes alignment of the trash & edit icons for webhook table entries
- Removes "Beta" tag for the Zrok Proxy Service
- Adds "warning" next to the server URL on the dashboard when the connection may be insecure (i.e. dynamic DNS over HTTP)
- Fixes API error message when a 500 error is thrown
- A slightly improved icon to follow macOS design better
- Fixes Private API Attachment Sending on macOS Sequoia
- Fixes issue detecting new messages, resulting in missed notifications
- Fixes issue where BlueBubbles would not be able to use the Private API when there was a space in the app path.
- Fixes issue causing duplicate proxy service processes
- Fixes issue causing the FindMy Devices endpoint to return null even when devices and/or items exist
- Fixes issue that kept the Private API service running, even when it was disabled
- The FindMy Devices endpoint will now return null on macOS Sequoia+
- Apple now encrypts the location data, and we can no longer read it properly
For Developers
- Adds Webhook support for FindMy Location updates
- Adds
isDeliveredto message payloads - Adds slight delay between emitting multiple message events
- The Refresh FindMy Devices API endpoint now returns devices
- Adds additional fields for FindMy Devices & Items to improve client support
- Adds REST API endpoints for managing server webhooks
GET /api/v1/webhookPOST /api/v1/webhookDELETE /api/v1/webhook/<id>
- Adds validation to the "addresses" field for the
POST /api/v1/contact/queryAPI - Migrated away from using the
zxlibrary to execute CLI commands in favor of a custom purpose-built executor.- This also fixes an issue with orphaned cloudflared processes (and possible memory leak)
- Removes
yarnsupport due to build issues - Bumps NodeJS version to v20.11
- Fixes all fixable vulnerabilities in dependencies
- Tons of development package upgrades & dependency fixes
- TypeScript
- ESLint
- Electron
- Much More...
- Upgrades Cloudflared binary to latest version
- Webhook error logs are now debug level
- BREAKING: The
POST /api/v1/attachment/uploadendpoint now returnspathrather thanhash
Useful Links
- Support Us: https://bluebubbles.app/donate
- Sponsor Us: https://github.com/sponsors/BlueBubblesApp
Clients
- BlueBubbles for Android: https://play.google.com/store/apps/details?id=com.bluebubbles.messaging
- BlueBubbles for Windows: https://apps.microsoft.com/store/detail/9P3XF8KJ0LSM
- BlueBubbles for Linux: https://flathub.org/apps/details/app.bluebubbles.BlueBubbles
- BlueBubbles Web: https://bluebubbles.app/web
P.S. If you are on Cloudflare, expect a disconnect status when the server first starts. To fix it, either disconnect from WiFi or flush your DNS cache on WiFi. If you use the Detect Localhost Address option, this can be mitigated while on your home network.
Apple Silicon Users
If you are running an M1 Mac and are experiencing repeated Messages App crashes, it is due to the macOS bug detailed here. Luckily, there is a fix, which is to add a boot argument to your Mac. This will require SIP to be disabled, though, if you are experiencing this issue, you already have it disabled.
Open the Terminal App on your Mac and run this command: sudo nvram boot-args=-arm64e_preview_abi
You will be prompted to enter your password, which will be hidden in the Terminal as you enter it.
Enjoy!
Lastly reboot your Mac, and you should be good to go.
BlueBubbles Server v1.9.8
What's New?
This is a fairly substantial update. It brings a handle of good QOL updates, as well as a ton of bug fixes and other small improvements. In addition, we now natively support Apple Silicon Macs! In addition, I've done some dependency cleanup, upgrading some backend libraries and removing others.
Warning / Note
Apple has flagged my Apple Developer account, which prevents me from signing the BlueBubbles Server with my developer certificate. As a result, you may need to "Allow" the app to run via your System Preference's Security & Privacy page. Alternatively, you can right click the app and select Open to directly open the app.
New Features
- Support for message searching on macOS Ventura and newer via the Private API
- Google Login to download contacts from your Google Account
- This will not continuously sync your Google Contacts
- Apple Silicon (ARM) Native Build! You can now run the BlueBubbles Server natively on an Apple Silicon Mac
- This has not been extensively tested yet, but we figured we'd make it available
- The Cloudflare (and maybe Ngrok & Zrok) daemon still will require Rosetta to run because they have not released Apple Silicon compatible builds yet
- Ability to disable the automatic opening of the FindMy app on startup (see settings)
- Settings toggle to allow auto-start as a Launch Agent to achieve crash-persistence
- You must manually set the auto start method to
Launch Agent - If the server crashes, it will automatically be restarted. If it closes normally (exit code 0), it will not be automatically restarted
- You must manually set the auto start method to
- Handles/Addresses are now obfuscated in the server log
- New feature to automatically lock your Mac after login
Bug Fixes & Improvements
- Fixes issues detecting, parsing, and emitting unsent messages
- Fixes detection of delivered messages when sent from other Apple devices
- Replaces automatic update service with a more manual update process
- Adds warning next to your Server URL on the dashboard if it's using an insecure connection (HTTP) and a non-local address.
- The warning basically explains that the connection is insecure and may be vulnerable to a man in the middle attack.
- Increases send timeout time from 30 seconds to 1 minute to prevent unnecessary send errors
- Fixes issue where images converted from HEIC would get a double-extension
- Fixes issue detecting live photos for converted HEIC images
- Start Delay now will only be applied when the Mac uptime is < 5 minutes
- Improved error handling for Cloudflare proxy service
- Fixes issue where a new Server URL on server startup would not get dispatched to Firebase
- Fixes attachment de-duplication issue causing a visual bug where the wrong image would be displayed for an older image
- This fix only applies to all future sent attachments and will not fix older bugged attachments
- Also fixes an issue where old images would appear wrong after clearing the attachment cache
- Fixes bug with sending text + attachments using the multipart endpoint
- Error and Warning logs are now colored red and orange, respectively
- Improvements & fixes to the OAuth Firebase setup process
- Fixes alignment of the trash & edit icons for webhook table entries
- Removes "Beta" tag for the Zrok Proxy Service
- Adds "warning" next to the server URL on the dashboard when the connection may be insecure (i.e. dynamic DNS over HTTP)
- Fixes API error message when a 500 error is thrown
- A slightly improved icon to follow macOS design better
Developers
- Adds validation to the "addresses" field for the
POST /api/v1/contact/queryAPI - Migrated away from using the
zxlibrary to execute CLI commands in favor of a custom purpose-built executor.- This also fixes an issue with orphaned cloudflared processes (and possible memory leak)
- Removes
yarnsupport due to build issues - Bumps NodeJS version to v20.11
- Fixes all fixable vulnerabilities in dependencies
- Tons of development package upgrades & dependency fixes
- TypeScript
- ESLint
- Electron
- Much More...
- Upgrades Cloudflared binary to latest version
- Webhook error logs are now debug level
- BREAKING: The
POST /api/v1/attachment/uploadendpoint now returnspathrather thanhash
Useful Links
- Support Us: https://bluebubbles.app/donate
- Sponsor Us: https://github.com/sponsors/BlueBubblesApp
Clients
- BlueBubbles for Android: https://play.google.com/store/apps/details?id=com.bluebubbles.messaging
- BlueBubbles for Windows: https://apps.microsoft.com/store/detail/9P3XF8KJ0LSM
- BlueBubbles for Linux: https://flathub.org/apps/details/app.bluebubbles.BlueBubbles
- BlueBubbles Web: https://bluebubbles.app/web
Enjoy!
P.S. If you are on Cloudflare, expect a disconnect status when the server first starts. To fix it, either disconnect from WiFi or flush your DNS cache on WiFi. If you use the Detect Localhost Address option, this can be mitigated while on your home network.
BlueBubbles Server v1.9.7
What's New?
This update brings some much needed performance improvements to the server, reducing overall CPU utilization and DB query times. In addition, there are a handful of other bug fixes included in this release.
Warning / Note
Apple has flagged my Apple Developer account, which prevents me from signing the BlueBubbles Server with my developer certificate. As a result, you may need to "Allow" the app to run via your System Preference's Security & Privacy page. Alternatively, you can right click the app and select Open to directly open the app.
Due to this issue, the BlueBubbles auto-updater no longer works, and you will need to manually perform server updates. Blame Apple. I've tried contacting them, and they've pretty much just ignored my requests.
Changes
- Vastly improves server performance and reduces CPU utilization by replacing scheduled polling with event-driven polling.
- Fixes spinning beach ball upon server start
- Fixes TTL for Firebase messages causing pending notifications to never be delivered
- This typically occurred when your device was not connected to the internet when a notification should have been delivered
- Database polling improvements
- Fixes race conditions during polling
- Fixes issue causing some events to be ignored when previous events fired successfully
- Improves handling of updated messages (edited, delivered, read, unsent, etc.)
- Fixes issue where the server would notify for all new DB entries during an iCloud sync, even if they were not for new messages
- This may have caused your Firebase messages to be rate-limited temporarily
- Fixes issue where scheduled messages scheduled more than 24 days out may get triggered immediately
Useful Links
- Support Us: https://bluebubbles.app/donate
- Sponsor Us: https://github.com/sponsors/BlueBubblesApp
Clients
- BlueBubbles for Android: https://play.google.com/store/apps/details?id=com.bluebubbles.messaging
- BlueBubbles for Windows: https://apps.microsoft.com/store/detail/9P3XF8KJ0LSM
- BlueBubbles for Linux: https://flathub.org/apps/details/app.bluebubbles.BlueBubbles
- BlueBubbles Web: https://bluebubbles.app/web
Enjoy!
P.S. If you are on Cloudflare, expect a disconnect status when the server first starts. To fix it, either disconnect from WiFi or flush your DNS cache on WiFi. If you use the Detect Localhost Address option, this can be mitigated while on your home network.
BlueBubbles v1.9.6
What's New?
This release introduces some new user-requested features as well as a handful of bug fixes to improve the reliability of the server.
New Features
- Zrok proxy service (beta)
- Includes support for reserved (named or unnamed) tunnels
- Ngrok static domain support
- You must reserve one within the Ngrok portal
- Custom landing page support (Advanced Settings)
- Support for detecting and emitting events for incoming message updates (edit/unsend)
Fixes
- Fixes issue updating server URL in Firebase after a network/power outage
- Fixes fatal crash in some macOS environments
- Fixes remote restart via Firebase for Firestore deployments
- Improves FindMy Friends refresh reliability
- Fixes issue where the server notification pop-out would span the entire window
Developer Notes
- Refactoring code to utilize decorators for retrying function calls and creating singleton function calls
- Unified logging throughout the codebase by extending the Loggable class or using
getLogger("<name>") - Upgrade: cloudflared
Useful Links
- Support Us: https://bluebubbles.app/donate
- Sponsor Us: https://github.com/sponsors/BlueBubblesApp
Clients
- BlueBubbles for Android: https://play.google.com/store/apps/details?id=com.bluebubbles.messaging
- BlueBubbles for Windows: https://apps.microsoft.com/store/detail/9P3XF8KJ0LSM
- BlueBubbles for Linux: https://flathub.org/apps/details/app.bluebubbles.BlueBubbles
- BlueBubbles Web: https://bluebubbles.app/web
Enjoy!
P.S. Download the .dmg, not the .zip
P.S. If you are on Cloudflare, expect a disconnect status when the server first starts. To fix it, either disconnect from WiFi or flush your DNS cache on WiFi. If you use the Detect Localhost Address option, this can be mitigated while on your home network.
BlueBubbles Server v1.9.5
What's New?
This update brings a few new features, mainly pertaining to improving FindMy capabilities as well as overall reliability of the server.
Changes
- Improves FindMy capabilities and reliability (Private API Only; Big Sur - Ventura)
- Private API Helper now listens for changes to friend locations, and updates are emitted to clients
- The server now maintains a cache of the latest locations from friends
- Fetching latest locations for friends is now more reliable and accurate
- Fixes issue with detecting and emitting "address deregistration" events
- Clients will now be able to alert you when an address gets de-registered (i.e. a phone number)
- Fixes issue where the server would fail to send a message, resulting in a 500 error
- Fixes issue where webhooks would attempted to be dispatched before the service started
- Increases Cloudflare initial connection timeout to 2 minutes to better avoid connection issues after a power outage
- Fixes issue where the attachments directory would not be created, causing an error when sending attachments
- Increases inactive time required for automatically purging a device (7 days -> 30 days)
- Chat payloads now expose the
lastAddressedHandlefield - Slight improvement to reliability of the automated Firebase setup
- Adds process to automatically set your Server URL in Firebase every 10 minutes (if it's changed)
- This was implemented to prevent issues where the server would not update its' new URL in Firebase after a power outage
- Fixes issue importing VCF contacts with middle names (display name would be incorrect)
- Fixes emitted event when an iMessage alias gets deregistered
Useful Links
- Support Us: https://bluebubbles.app/donate
- Sponsor Us: https://github.com/sponsors/BlueBubblesApp
Clients
- BlueBubbles for Android: https://play.google.com/store/apps/details?id=com.bluebubbles.messaging
- BlueBubbles for Windows: https://apps.microsoft.com/store/detail/9P3XF8KJ0LSM
- BlueBubbles for Linux: https://flathub.org/apps/details/app.bluebubbles.BlueBubbles
- BlueBubbles Web: https://bluebubbles.app/web
Enjoy!
P.S. Download the .dmg, not the .zip
P.S. If you are on Cloudflare, expect a disconnect status when the server first starts. To fix it, either disconnect from WiFi or flush your DNS cache on WiFi. If you use the Detect Localhost Address option, this can be mitigated while on your home network.
BlueBubbles Server v1.9.5 (BETA)
What's New?
This is a pre-release (beta) as it introduces changes with wider scope than normal that requires a bit more testing. If you are a tinkerer, try it out! If you're looking for fully stable releases only, keep waiting
This beta update brings a few new features, mainly pertaining to improving FindMy capabilities as well as overall reliability of the server.
Changes
- Improves FindMy capabilities and reliability (Private API Only; Big Sur - Ventura)
- Private API Helper now listens for changes to friend locations, and updates are emitted to clients
- The server now maintains a cache of the latest locations from friends
- Fetching latest locations for friends is now more reliable and accurate
- Fixes issue with detecting and emitting "address deregistration" events
- Clients will now be able to alert you when an address gets de-registered (i.e. a phone number)
- Fixes issue where webhooks would attempted to be dispatched before the service started
- Increases Cloudflare initial connection timeout to 2 minutes to better avoid connection issues after a power outage
- Fixes issue where the attachments directory would not be created, causing an error when sending attachments
- Increases inactive time required for automatically purging a device (7 days -> 30 days)
- Chat payloads now expose the
lastAddressedHandlefield - Slight improvement to reliability of the automated Firebase setup
- Adds process to automatically set your Server URL in Firebase every 10 minutes (if it's changed)
- This was implemented to prevent issues where the server would not update its' new URL in Firebase after a power outage
Useful Links
- Support Us: https://bluebubbles.app/donate
- Sponsor Us: https://github.com/sponsors/BlueBubblesApp
Clients
- BlueBubbles for Android: https://play.google.com/store/apps/details?id=com.bluebubbles.messaging
- BlueBubbles for Windows: https://apps.microsoft.com/store/detail/9P3XF8KJ0LSM
- BlueBubbles for Linux: https://flathub.org/apps/details/app.bluebubbles.BlueBubbles
- BlueBubbles Web: https://bluebubbles.app/web
Enjoy!
P.S. Download the .dmg, not the .zip
P.S. If you are on Cloudflare, expect a disconnect status when the server first starts. To fix it, either disconnect from WiFi or flush your DNS cache on WiFi. If you use the Detect Localhost Address option, this can be mitigated while on your home network.
