Skip to content

Releases: BlueBubblesApp/bluebubbles-server

BlueBubbles Server v1.9.0

07 Nov 13:23
9cae6a9
Compare
Choose a tag to compare

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

Clients

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

28 Aug 12:49
af33fb6
Compare
Choose a tag to compare

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
  • 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

Clients

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

13 Jun 23:27
Compare
Choose a tag to compare
Pre-release

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
  • 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

27 May 21:11
67284b6
Compare
Choose a tag to compare

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 and user_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 the MessageInterface.sendMessageSync() calls

Upgrades

  • cloudflared binary

Useful Links

Clients

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)

18 Apr 15:54
e5d8af5
Compare
Choose a tag to compare

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

Clients

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)

15 Apr 23:08
041d1a0
Compare
Choose a tag to compare

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

Clients

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

30 Mar 21:32
a16e69a
Compare
Choose a tag to compare

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 or DELETE 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 or DELETE 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

Clients

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)

15 Mar 15:45
e7d8b9d
Compare
Choose a tag to compare

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 a minRowId or maxRowId 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

Clients

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)

21 Feb 16:24
e8ac4f9
Compare
Choose a tag to compare

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)

20 Feb 18:11
24cd6f0
Compare
Choose a tag to compare

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+