After two months of development since the last version, we have yet another very interesting feature rich release to talk about. Development felt a bit slow at the beginning but looking at the changelog, there are many additions, improvements and also some newly supported devices.

New devices

Lets start with new support for another two headphones - Sony WF-1000XM3 and Galaxy Buds Pro. While it may feel like "yet another very similar device(s)", each of them required careful work on dissecting and implementing the communication protocols. Big thanks to José R. for work on the Sony headphones and in the case of the Galaxy Buds Pro, also big thank you to two very helpful users - owners of the headphones - who were able to gather the data and help with providing the necessary low level communication info that was required for implementing support for this device.

Bangle.js

We have added another gradle product flavor for Bangle.js specific release. This particular custom flavor will make use of some extra features, together with added permission for networking. Do note that this permission is not enabled for our normal Gadgetbridge releases and is only available on the Bangle.js specific build, as the Bangle.js watch is built around their online application repository and it requires internet connectivity for proper function. We believe that this cooperation with the Bangle project is very useful for both sides and that communities around both Bangle.js and Gadgetbridge can benefit from this connection. We can already see some contributions that help to clarify for example requests for permissions, making Gadgetbridge more user friendly during the initial onboarding experience. Bangle implementation also got new communication intents to be able to share data from/to other Android apps.

Mi Band 5/Amazfit Band 5 enhancements and other improvements

Users of Mi Band 5, Amazfit Band 5 (and several other Huami devices) can now enjoy new features like world clock configuration, workout menu configuration, vibration patter selection, wrist flick sensitivity settings, extended heart rate activity monitoring and alerts and few other improvements.

Thanks to José for all these improvements! We will continue to unlock features on more Huami devices after testing.

The OpenTracks API controller newly supports stop and toggle functions, now after the API itself has been finalized.

The Fossil Hybrid HR now supports a flexible custom menu on the watch as well as the possibility to honor native do not disturb settings. See the much improved wiki page.

Various fixes and enhancements have been done in several places, together with some visual improvements like a few new icons.

Nightly builds

During the Christmas holidays we started utilizing Codeberg's Woodpecker CI (Woodpecker.org) for automatic Nightly release of Gadgetbridge into our own F-Droid repository. This release is automatically built and released every night when new commits have been done to our repository. The nightly release comes in two build types: "normal" nightly release and "No Pebble provider" nightly release. The "No Pebble provider" release was created due to the fact that if you have either the official Gadgetbridge F-Droid release or the original Pebble app installed, you cannot install another app (for example the Gadgetbridge Nightly release) which provides something called "Pebble provider" (com.getpebble.android.provider). The "No Pebble provider" version allows to be installed alongside existing Gadgetbridge or Pebble app. If you are planning to use the Nightly release and want to migrate your data from the official release, make sure to be careful when exporting and backing up your data. See detailed explanation in our wiki here. Big kudos to the Codeberg and Woodpecker teams for providing us with these great tools for hosting and maintaining of our FLOSS project!

Many thanks to everyone for their contributions and support!

For all user-facing changes since the previous blog post, check the following list:

0.67.0

  • Initial Support for Sony WF-1000XM3
  • Initial Support for Galaxy Buds Pro
  • Huami: Add Toggle function for Open Tracks tracking to button actions
  • Huami: Move inactivity warnings, goal notification and HR monitoring to device-specific settings
  • Mi Band 6: set time on connect
  • Mi Band 5/6, Amazfit Bip S/U/Pro: Add world clock configuration
  • Mi Band 5/6: support sensitivity setting for lift wrist configuration
  • Mi Band 5: Add support for configuring workout menu on device
  • Mi Band 4/5/6, Amazfit Bip U/Pro: Add support for vibration patterns
  • Mi Band 5: Increase number of reminder slots to 50
  • Mi Band 5/6: Add setting for HR activity monitoring, HR alerts, stress monitoring
  • Amazfit Neo: Allow to disable beeps for email notifications
  • Bangle.js: Fix incoming calls in release builds
  • Bangle.js build: Add option for enabling/disabling internet access
  • Bangle.js: Add ability to receive intents to com.banglejs.uart.tx
  • Fossil Hybrid HR: Support flexible custom menu on watch
  • Fossil Hybrid HR: Add support for native DND Call/SMS functionality
  • VESC: added battery indicator
  • UM25: Add reset option to current accumulation
  • UM25: Add notification on below current threshold
  • Fix crash when calendar is accessed but permission is denied
  • Add com.asus.asusincallui and com.samsung.android.incallui to blacklist
  • New icons for Sony overhead headphones, Sony WF 800n and Mi Band 6
  • When Gadgetbridge needs permissions, pop up a dialog asking nicely and explaining why