Releases: BlueBubblesApp/bluebubbles-server
BlueBubbles Server v1.9.0
What's New?
Hey everyone, I know it's been a bit since our last update. We've been very busy with life, as well as researching new features to implement into BlueBubbles! This update focuses on Private API enhancements & bug fixes.
Private API Enhancements
- Fixes editing messages on macOS Sonoma
- New FaceTime Helper to detect incoming calls (Big Sur+)
- Ability to get Find My Friends locations (Big Sur+)
- Ability to initiate a download for attachments not yet downloaded (High Sierra+)
- Ability to fetch your iCloud account information (High Sierra+)
- Ability to check to see if you can share your contact card with a specific chat (Big Sur+)
- Ability to share your contact card with a specific chat (Big Sur+)
- Ability to get a contact card for a chat with shared contact info (Big Sur+)
- Ability to detect and emit an event when an iMessage alias is removed/deactivated (High Sierra+)
Enhancements
- Start Delay setting (for older hardware)
- When killing processes, AppleScript is no longer used, in favor of using a CLI command.
- This is to prevent duplicate Messages/FaceTime processes from being created
Fixes
- Fixes typing indicator detection issue introduced in v1.8.0
- Fixes Google OAuth flow (403 Unauthorized errors)
- Fixes possible issue with avatars not loading properly for contacts
- Fixes pagination buttons in UI for scheduled messages
- Fixes issue causing the API to not return proper chat data when adding/removing a participant
- (Hopefully) Fixes chat sorting issues for Web
Other Changes
- Removed manual contacts cache in favor of the built-in cache within
node-mac-contacts
- FaceTime call detection has been removed for non-Private API users to simplify logic & codebase.
- Increases timeout for attachment uploads
- Revamped API timeout system for per-route timeouts
- A bunch of code refactoring for the UI and Backend
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.8.0
What's New?
It's been a long time coming, but the v1.8.0 release is now available! We've made a fairly large amount of bug fixes & enhancements to the server. Users will now have a much easier time setting up the server. We've implemented Google Sign In, allowing us to automate the Google Firebase project setup for you. This reduces the amount of steps to setup the server substantially. Just note, if you have already done the Firebase setup, you do not need to redo setup using the Google Sign In wizard. We've also removed the MacForge dependency entirely (for Private API users), meaning the BlueBubbles Server itself will inject the Private API (DYLIB) into the Messages app. This reduces the amount of setup required to setup the Private API features. Overall, this update improves the overall ease of use for the server, making your user experience better.
Read About the Update Here: https://docs.bluebubbles.app/blog/simplified-setup
The Big Stuff
- Google OAuth Login to Automate Firebase Configuration (Thanks @probablypablito)
- Private API Chat Creation (even Group Chats)
- MacForge is no longer a dependency, BlueBubbles will automatically inject the Private API helper into the Messages app
- You can now safely uninstall MacForge
- Ability to set config options via CLI args or via a user environment config file
- You can also run in headless mode using the
--headless
flag
- You can also run in headless mode using the
- Fixes issue preventing attachments over 200mb from being sent
Enhancements
- Rework of UI to improve UX and prevent confusion
- Adds option for LAN as a proxy service for ease of use.
- Adds additional information (i.e. computer name & iMessage email) to the server info API endpoint
- Server Info API endpoint now broadcasts the server's IP to authenticated users to improve Localhost detection on clients
- You can now install pending updates via the tray icon
- The UI now displays an icon you can click to install a pending update
- Ability to query if a number is available for iMessage or Facetime (Private API only)
- Ability to delete a message on the Mac (Private API only)
Fixes
- Fixes issue where filenames would not be maintained when they are converted for compatibility
- Fixes issue where a user would be able to continue setup without entering a password
- Fixes UX issue preventing users from knowing why they could not proceed past the Connection Walkthrough
- Fixes issue creating chats with an improperly formatted phone number
- Fixes issue where users were able to enter a dynamic DNS URL without an HTTP schema
- Fixes issue where chats would return
null
as the last message- This issue impacted Web, causing chats to fall to the bottom of the chat list
- Fixes issue where the server would not properly set the new server URL after a power outage
- Fixes white screen when the log tab is open when a certain error occurred
Other Changes
- Disabled Facetime Detection by default
- The accessibility permission is marked as optional to prevent confusion
- Marks the Private API as optional during the initial walkthrough
- upgrade: React v18
- upgrade: Chakra UI v2.6.1
- upgrade: cloudflared binary
- Bumps minimum macOS version to High Sierra
- The navigation bar is now "sticky" and stays at the top.
- Tons of code refactors to clean up the codebase
Notes
- If you choose to use the Google Sign In feature, make sure you are on the latest Android, Web, and/or Desktop apps (v1.12.3+).
- If you had already synced Android, you may need to use the Fetch Firebase Config feature in the app settings
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.8.0 Beta
What's New?
This is a beta release, if you run into any issues, please open a GitHub ticket or join our Discord and leave us a message in the #feedback
channel
WARNING: If you would like to try out the Google Sign In feature, you will need to reconfigure your client apps in the Connection Settings to re-sync the Firebase configurations. You will also need the Android Beta to use this feature. The Google Sign In feature is mostly useful for new users performing the setup. If you've already installed BlueBubbles, you did this process manually. Now, it's automated.
The Big Stuff
- Google OAuth Login to Automate FIrebase Configuration
- Use the Private API without MacForge (See Private API settings)
- Ability to set config options via CLI args or via a user environment config file
- You can also run in headless mode using the
--headless
flag
- You can also run in headless mode using the
- Fixes issue preventing attachments over 200mb from being sent
Enhancements
- Rework of UI to improve UX and prevent confusion
- Adds additional information (i.e. computer name & iMessage email) to the server info API endpoint
- You can now install pending updates via the tray icon
- The UI now displays an icon you can click to install a pending update
Fixes
- Fixes issue where filenames would not be maintained when they are converted for compatibility
- Fixes issue where a user would be able to continue setup without entering a password
- Fixes UX issue preventing users from knowing why they could not proceed past the Connection Walkthrough
- Fixes issue creating chats with an improperly formatted phone number
- Fixes issue where users were able to enter a dynamic DNS URL without an HTTP schema
- Fixes issue where chats would return
null
as the last message- This issue impacted Web, causing chats to fall to the bottom of the chat list
Other Changes
- Disabled Facetime Detection by default
- The accessibility permission is marked as optional to prevent confusion
- Marks the Private API as optional during the initial walkthrough
- upgrade: React v18
- upgrade: Chakra UI v2.6.1
- Bumps minimum macOS version to High Sierra
- The navigation bar is now "sticky" and stays at the top.
BlueBubbles Server v1.7.3
What's New?
This is mainly a bug fix release, with a few other enhancements. The main bug that this update tackles is the "white screen" bug caused by incomplete FCM configuration files.
Bug Fixes
- Fixes white screen when loading newly generated Firebase configuration files (
google-services.json
) - Fixes issue where the Private API would not be checked prior to attempting to notify a silenced message
- Fixes issue with validating a multipart message payload for attachments
- Fixes issue detecting live photos for certain extensions
- Fixes issue where mp3 and other audio file types would be converted to a caf file, even when it was not a true audio message
- Fixes issue where the server might have overwritten custom certificate files
- Fixes issue deleting chats
- Fixes issue where the QRCode would take a while to load
Enhancements
- Adds API endpoints for installing server updates
- Adds
attribution_info
anduser_info
to Attachment payloads - Adds ability to emit events when backups are created/updated/deleted
- Adds shortcut button for copying the server's binary path (Debug & Logs tab)
- Adds button to install an update via the dashboard UI
- Migrates old
ActionHandler.sendMessage()
calls to theMessageInterface.sendMessageSync()
calls
Upgrades
cloudflared
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
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.7.2 ( Stable)
What's New?
This release is a bug-fix release fixing one main issue, and ultimately to improve your experience on the client apps.
Fixes
- Fixed issue where API endpoints relating to chat edits (name, participants, etc.) and message edits (unsend, edit, .etc) would return incorrect data
- Fixing this issue allows the client to properly show correct data when executing these function
- This may also help further fix timeout issues when creating new chats.
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.7.1 (Stable)
What's New?
This is a small update centered around some bug fixes. It's recommended, but not 100% necessary for the upcoming Android/Desktop updates.
Changes
- Server will now automatically disconnect all socket clients when the password is changed.
- Fixes
split
error when fetching a live photo for an old attachment without a path - Server UI: Fixes empty
Advanced Connection Settings
panel - Fixes issue where REST API
DELETE
requests would not parse the JSON body- This fixes issues with deleting backups by name
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.7.0
What's New?
This update brings a handful of features to the REST API as well as some much needed bug fixes to improve everyone's experience.
The Big Stuff
- Fixes API issue where last messages would not be returned for chats when a low limit was requested
- This would cause the Web App to not be able to populate the last message preview & fail to properly sort the chats
- Adds REST API endpoints to start/stop sending typing indicators (Private API required)
POST
orDELETE
on/api/v1/chat/<guid>/typing
- Adds REST API endpoint for sending multipart messages
POST
on/api/v1/message/multipart
- Adds REST API endpoint for uploading attachments for multipart messages (Private API required)
POST
on/api/v1/attachment/upload
- Adds REST API endpoint for fetching live photos
- Sets attachment send timeout to 20 minutes
- This was done to prevent timeouts when trying to send large attachments.
- Fixes issue where server startup tasks would fail due to a missing
System Events
permission- This would cause issues when loading FCM JSON files, as well as other "hidden" issues that would render the server unusable.
Nitty Gritty
- Better REST API for adding and removing participants
- I did not remove the previous endpoints, I just added new ones.
- New:
POST
orDELETE
on/api/v1/chat/<guid>/participant
- Original:
POST
on/api/v1/chat/<guid>/add
or/api/v1/chat/<guid>/remove
- Adds new attachment payload key,
hasLivePhoto
indicating true/false if an attachment has a "live" version - Improved logic when setting FCM JSON files
- Upgrade: Private API Helper Bundle (v0.0.15)
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.6.0 (Stable)
What's New?
This release brings a few new features to enhance your integration into the Apple ecosystem, as well as a handful of bug fixes and optimizations!
Just be aware that while the server may support these new features, it will require a client update for you to be able to actually use them. A client update is coming, I promise!
The Big Stuff
- Ability to leave a chat via the API (Private API required)
- Ability to set or remove a group icon/photo via the API (Private API required; Big Sur+)
- Ability to get a contact's Focus Mode Status via the API (Private API required; Monterey+)
- Ability to force-notify a message for contacts with Focus Mode enabled, via the API (Private API required; Monterey+)
- Chat read detection
- When a chat is marked as read on your macOS device, the server will emit an event to tell clients that a the chat should be marked as read.
- Ability to fetch a Handwritten Message or Digital Touch message from the API (Private API required)
- Fixes timeout issue when creating a new chat
Enhancements
- Database listeners now utilize the message ROWID to detect changes in the database.
- This will make the DB listeners even more reliable to ensure no messages are "missed"
- Adds support for Focus Mode DB fields in all Message payloads (Monterey+)
- Enhanced (more reliable) group icon fetching capabilities
- Support for emitting events for group icon updates/removals
- This includes webhook support for these events
- The
/message/count
endpoint now can take aminRowId
ormaxRowId
parameter to fetch a count based on a ROWID range - The
properties
field is now returned with Chat payloads
Fixes
- Fixes issue where the
metadata.count
field in the/message/query
and/chat/query
endpoints would be inaccurate - Fixes occasional startup crash on some macOS devices (mainly Big Sur+)
- This was due to a faulty permissions library dependency.
- Fixes issue displaying an API error's details in the logs
Nitty Gritty
- The server will not send messages to its' UI until the UI if fully loaded
- This helps prevents startup lag and unnecessary processing
- The DB listeners now implement startup delays to prevent server lag and DB locks
- The Group Update DB listener now polls every 5 seconds (previously 2x the configured frequency)
- Removed some logging to reduce log size and noise in the logs
- Increases API payload size limit to 100mb
- This was to support those of you with large contact exports (from Android)
- Upgraded Private API Helper to v0.0.13
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.5.5 (Stable)
What's New?
This is purely a bugfix release to fix some potential issues for users.
Fixes
- Fixes issue where the Private API would be force-used when sending attachments if the user is on the 1.11.3 Android release (GitHub Only)
BlueBubbles Server v1.5.4 (Stable)
What's New?
This is a hotfix release, fixing 2 issues detailed below:
Fixes
- Fixes Private API Helper connection issue on OpenCore deployments
- If you are not running an OpenCore VM, this issue did not affect you.
- Fixes issue reacting to multi-part gallery images when using the Private API on Monterey+