github erikwb/blueferry v0.9.0
BlueFerry 0.9.0

4 hours ago

BlueFerry 0.9.0 brings the accumulated improvements since 0.8.1 to a tested release, with more reliable pairing and reconnects plus optional phone and desktop features.

Highlights

  • Pairing and reconnects: normal Bluetooth audio profiles are restored during pairing, reconnects wait for outstanding disconnect operations, and support for older BlueZ improves. @joshii-h improved recovery after brief LE drops and reconnect backoff (#234, #256); @ianchesal added explicit-pairing defaults for TP-Link UB500 adapters (#269).
  • Messages and contacts: international contact numbers, group reply rosters, and Quickshell conversation loading and keyboard navigation are improved. @csutcliff added short-code and alphanumeric-sender thread handling, including read-only threads for alphanumeric senders (#266, #267). @joshii-h improved handling of large and duplicate contact photos (#187, #231).
  • Optional phone features: iPhone calls through oFono (#204), recent calls and missed-call notifications (#210), battery and signal information (#206), and Bluetooth Personal Hotspot tethering through NetworkManager (#197), contributed by @joshii-h.
  • Optional desktop features: contact avatars (#200), one-time-code copying (#196), notification action buttons and click rules (#205, #203), and locking the desktop when the phone moves away (#198), contributed by @joshii-h. @blueedgesolutions-tom added an option to dismiss desktop message notifications without marking them read on the phone (#163).
  • Media: iPhone media controls, MPRIS integration, and manual PC/phone audio routing, contributed by @joshii-h (#207, #208, #248). BlueFerry can also remember your chosen audio route across reconnects.
  • Plugins: a separate plugin SDK, plugin management, and command-line support for photo providers, cards, file sending and notifications, contributed by @joshii-h (#251, #252). Plugin services also verify caller UIDs; catalog parsing and installation trust notices have been hardened.
  • Desktop integration: a shared tray and client launcher (#258, #286) and confirmed dialing from phone links (#271), contributed by @joshii-h.
  • Client API: a stable, opaque phone profile ID lets clients associate local metadata with a paired phone without using its Bluetooth address, contributed by @techmore (#277).
  • Portability and documentation: OpenRC support and adapter setup without systemd (#201, #202), plus English/German documentation and website publishing (#194, #260), contributed by @joshii-h. @ianchesal added WSL2 documentation (#272).

The new phone, media, tethering, photo, code-copying, proximity-lock and plugin features are optional. Ordinary messaging continues to work without enabling them.

Install or upgrade

Download blueferry-backend and the clients you use from the assets below, and upgrade them together. The backend includes the terminal client.

System Packages
Arch, CachyOS, Omarchy .pkg.tar.zst: backend plus GTK, Qt and/or Quickshell
Debian 13, Ubuntu 26.04, PikaOS 4 .deb: backend plus GTK and/or Qt
Ubuntu 24.04, Mint 22, Pop!_OS 24.04 .deb: backend plus GTK; terminal included
Fedora 43 / 44 .fc43.noarch.rpm: backend plus GTK and/or Qt
Fedora 45 .fc45.noarch.rpm: backend plus GTK and/or Qt

Install with sudo pacman -U, sudo apt install, or sudo dnf install followed by the downloaded package filenames. Restart BlueFerry's backend and relaunch your clients after upgrading. On systemd desktops:

systemctl --user daemon-reload
systemctl --user restart blueferry.service

Arch and Fedora package upgrades briefly restart Bluetooth when it is running. Debian packages do not change or restart the system Bluetooth service. Existing settings and local data are preserved.

Installation guide · Changelog

Plugin developers

The SDK wheel and source distribution are included. The upstream plugin-api-v1.5.0 tag includes the caller-verification fix. Plugins that pin or bundle their own older SDK must update that dependency; upgrading the BlueFerry application alone does not replace a plugin's private environment. Plugin capabilities describe features, not sandbox permissions.

Validation and known issues

Built and tested locally on Arch, Debian 13, Fedora 43/45 and Ubuntu 24.04, with installed-package smoke checks on the supported compatibility environments. Real-phone checks covered sending, receiving, contact names, and recovery after turning Bluetooth off and back on; the final rebuilt packages were also installed and confirmed working.

  • #270: some explicit-pairing setups still time out after a successful bond when the phone drops its idle Classic connection.
  • #280: incoming MAP notifications remain unavailable on the reported setup; investigation continues.

SHA256SUMS covers the attached packages and build information. BUILD_INFO.json records the tested source commit and local test results.

Contributors

First-time contributors

Welcome, and thank you for your first contributions to BlueFerry!

  • @joshii-h — 49 merged PRs in this release, spanning phone features, media, plugins, desktop integration, documentation, tests and fixes. First merged contribution: #185.
  • @csutcliff — short-code and alphanumeric-sender support (#266, #267).
  • @ianchesal — TP-Link UB500 pairing support and WSL2 documentation (#269, #272).
  • @techmore — stable phone profile IDs for clients (#277).

Returning contributors

  • @blueedgesolutions-tom — thank you for contributing again, including control over whether dismissing desktop notifications marks messages read on the phone (#163).

Dependency maintenance also came from Dependabot (#275).

Special thanks

A huge thank-you to @joshii-h, whose 49 merged PRs account for much of what is new in 0.9.0. From calls, tethering and media controls to plugins, desktop integration and documentation, this release reflects an extraordinary amount of work, including tests and follow-up fixes. Thank you for putting so much care and time into BlueFerry.

Thanks also to everyone who contributed bug reports, diagnostics and real-phone testing.

Full changes: v0.8.1...v0.9.0

Don't miss a new blueferry release

NewReleases is sending notifications on new releases.