Releases: agittins/bermuda
v0.6.9rc2
Changes
- Bump requirements homeassistant to 2024.6 @agittins (#259)
- Change to HA config of ruff @Lash-L (#261)
- fix: Entities not updating if away at startup @agittins (#269)
- fix: Absent devices now show as "Away" on startup @agittins (#270)
- Fix tests and change some objects @Lash-L (#262)
- Switch to ruff for vscode formatter, linting @agittins (#273)
- Add Calibration at a per-scanner level @Lash-L (#275)
- chore: Linting / cleaning commented code @agittins (#282)
- feat: Config status and Calibration additions @agittins (#283)
- Workflow and HACS changes @agittins (#284)
- Fix linting and pre-commit workflow @agittins (#285)
- Further Calibration improvements @agittins (#289)
📦 Dependencies
- chore(deps): bump sigstore/gh-action-sigstore-python from 2.1.1 to 3.0.0 @dependabot (#246)
- chore(deps): bump softprops/action-gh-release from 2.0.6 to 2.0.8 @dependabot (#249)
- chore(deps): bump ruff from 0.5.2 to 0.5.4 @dependabot (#255)
- chore(deps): bump ruff from 0.5.4 to 0.5.5 @dependabot (#265)
- chore(deps): bump pip from 24.1.2 to 24.2 in /.github/workflows @dependabot (#267)
- chore(deps): update pip requirement from <24.2,>=24.1.1 to >=24.1.1,<24.3 @dependabot (#266)
- chore(deps): bump pre-commit from 3.7.1 to 3.8.0 in /.github/workflows @dependabot (#268)
- chore(deps): bump ruff from 0.5.5 to 0.5.6 @dependabot (#281)
- chore(deps): bump black from 24.4.2 to 24.8.0 @dependabot (#280)
- chore(deps): bump black from 24.4.2 to 24.8.0 in /.github/workflows @dependabot (#279)
- chore(deps): bump flake8 from 7.1.0 to 7.1.1 in /.github/workflows @dependabot (#278)
- chore(deps): bump ruff from 0.5.6 to 0.5.7 @dependabot (#287)
- chore(deps): bump ruff from 0.5.7 to 0.6.0 @dependabot (#288)
v0.6.9rc1
Changes
- Bump requirements homeassistant to 2024.6 @agittins (#259)
- Change to HA config of ruff @Lash-L (#261)
- fix: Entities not updating if away at startup @agittins (#269)
- fix: Absent devices now show as "Away" on startup @agittins (#270)
- Fix tests and change some objects @Lash-L (#262)
- Switch to ruff for vscode formatter, linting @agittins (#273)
- Add Calibration at a per-scanner level @Lash-L (#275)
- chore: Linting / cleaning commented code @agittins (#282)
- feat: Config status and Calibration additions @agittins (#283)
- Workflow and HACS changes @agittins (#284)
📦 Dependencies
- chore(deps): bump sigstore/gh-action-sigstore-python from 2.1.1 to 3.0.0 @dependabot (#246)
- chore(deps): bump softprops/action-gh-release from 2.0.6 to 2.0.8 @dependabot (#249)
- chore(deps): bump ruff from 0.5.2 to 0.5.4 @dependabot (#255)
- chore(deps): bump ruff from 0.5.4 to 0.5.5 @dependabot (#265)
- chore(deps): bump pip from 24.1.2 to 24.2 in /.github/workflows @dependabot (#267)
- chore(deps): update pip requirement from <24.2,>=24.1.1 to >=24.1.1,<24.3 @dependabot (#266)
- chore(deps): bump pre-commit from 3.7.1 to 3.8.0 in /.github/workflows @dependabot (#268)
- chore(deps): bump ruff from 0.5.5 to 0.5.6 @dependabot (#281)
- chore(deps): bump black from 24.4.2 to 24.8.0 @dependabot (#280)
- chore(deps): bump black from 24.4.2 to 24.8.0 in /.github/workflows @dependabot (#279)
- chore(deps): bump flake8 from 7.1.0 to 7.1.1 in /.github/workflows @dependabot (#278)
v0.6.8 - The HelpMeHelpYou release
This release is focussed on providing more useful diagnostics and quality-of-life improvements for fresh installs.
📈 SITREP
The Config dialog now shows a summary of how many Bluetooth scanners and Bluetooth devices Bermuda can see in the system, and how many of those have been seen in the last 10 seconds. This helps you know if the bluetooth backend is working and sending through data, which is something to which HA doesn't always give the best visibility. I've also added some help text in the "Configure Devices" setup page.
🔍 Diagnostics
Bermuda also now has a "Download Diagnostics" item in its options menu, which will give you a json file containing heaps of potentially useful diagnostic information, in json format. This data is "redacted" meaning it should not contain any of your MAC addresses. However, rather than just replacing them with asterisks or similar, it creates a per-file-consistent moniker for each address which will make troubleshooting easier by enabling cross-referencing between entries, without disclosing actual addresses. The idea is to create something safe for you to upload to a github issue that's still informative enough for me to analyse - but you might find it an excellent tool for your own troubleshooting as well.
🔢 Like a Version
Display of the integration version number should now be fixed, with the integration's version number (hopefully!) showing up in the main Bermuda page in HA. I won't know for sure if that works until github processes this release, but fingers crossed! 🤞🏼
📜 Signs of Wikiness
There have also been recent changes to the Wiki (yes, there's a wiki!) with advice on how to keep database sizes down and some initial guidance on troubleshooting.
🆘 Call for help
A few people have experienced serious performance issues unrelated to the recent async changes. At this stage I think that another integration is creating tens of thousands of "new" bluetooth records in HA's backend, and this is causing those systems to get bogged down as Bermuda tries to process them all. In one case, over 60 thousand devices were showing up - Bermuda automatically purges so it only keeps about a thousand of the most recent entries, but these entries kept being flagged up as new.
If you've experienced something similar, or might have an idea of which integration(s) might be causing this I'd love to hear from you so I might try and replicate the issue locally. #234
Ch-ch-ch-Changes
- feat: Diagnonstics and Redaction support @agittins (#239)
- feat: Show active device and scanner count in configure @agittins (#240)
- chore: fix versioning in release zip and HACS settings @agittins (#244)
- feat: Add full bt-manager data to diagnostics, with redactions @agittins (#245)
📦 Dependencies
- chore(deps): update pip requirement from <24.1,>=23.2.1 to >=24.1.1,<24.2 @dependabot (#224)
- chore(deps): bump ruff from 0.4.8 to 0.5.0 @dependabot (#223)
- chore(deps): bump pip from 24.0 to 24.1.1 in /.github/workflows @dependabot (#222)
- chore(deps): bump softprops/action-gh-release from 2.0.5 to 2.0.6 @dependabot (#217)
- chore(deps): bump flake8 from 7.0.0 to 7.1.0 in /.github/workflows @dependabot (#216)
- chore(deps): bump ruff from 0.5.0 to 0.5.1 @dependabot (#231)
- chore(deps): bump pip from 24.1.1 to 24.1.2 in /.github/workflows @dependabot (#230)
- chore(deps): bump actions/setup-python from 5.1.0 to 5.1.1 @dependabot (#237)
- chore(deps): bump ruff from 0.5.1 to 0.5.2 @dependabot (#242)
v0.6.7 - Fix for HA 2024.6.0 lockup adding devices
Significant change here is avoiding a race condition exposed by HA 2024.6.0 (from beta6). This was seen when adding a configured device to Bermuda, the dialog would hang spinning waiting for the config flow to apply, and the HA server would loop infinitely restarting Bermuda. Huge thanks to @andreasbrett for raising the issue before the HA release and submitting a comprehensive bug report - much appreciated!
This release also includes the current MAC address for any iBeacons being selected in the Configure Devices config flow. This should make it easier to find and identify devices while setting things up.
Changes
- Fix!: race condition in 2024.6.0b6 @agittins (#211)
- feat: Add MAC address to iBeacon listings in configure
- fix: Don't restore scanner options from saved device
- We store the options struct along with the cached scanner entries in entry.data. Prevent restoring it, since it overwrites
newer options set by config. Only affects display of data in the dump_devices service, but might become important if we
operate using those values later.
- We store the options struct along with the cached scanner entries in entry.data. Prevent restoring it, since it overwrites
- fix: Ignore disabled PrivateBLE devices
📦 Dependencies
- chore(deps): bump ruff from 0.4.4 to 0.4.7 @dependabot (#208)
- chore(deps): bump reorder-python-imports from 3.12.0 to 3.13.0 in /.github/workflows @dependabot (#209)
- chore(deps): bump ruff from 0.4.7 to 0.4.8 @dependabot (#212)
v0.6.6 - Better device selection and Fewer crashes!
This release features:
- 🚨 Hopefully fewer crashes :-/ Since 2024.5 we've seen a lot more thread/async related issues like all of HA bogging down or locking up. This has been tricky to fault-find because it only shows up on some systems, and seemingly rarely on mine. This release includes two fixes that will hopefully eliminate (or at least reduce) these instances.
- Device selection in configuration now uses Bermuda's own full list of devices, instead of just the recent devices from the bluetooth backend. Hopefully this will solve some issues people have had finding their devices, or maybe it won't. Note that PrivateBLE devices are not chosen per se, they will always be configured. The list now also indicates if a device is using a so-called "Random MAC" as a warning that tracking that particular MAC address may be futile. The list is also sorted with iBecons first, then static addresses, then random addresses.
- Config flow (more accurately the options flow, via the configure button(!)) is now set up with sub-menus, because soon we will have too many options to fit on one page :-)
Changes
- chore (typing): Tighter typing for event listeners @agittins (#190)
- Updates, primarily for #185 @agittins (#194)
- fix: removed some calls that might not be thread-safe @agittins (#195)
- feat: Config flow device list improvements @agittins (#196)
- feat: Split configuration into sub-menus @agittins (#197)
- chore (tests): Update tests for new config_flow @agittins (#198)
- fix?: Another change to address possible thread/async race lockups @agittins (#200)
📦 Dependencies
- chore(deps): bump pre-commit from 3.7.0 to 3.7.1 in /.github/workflows @dependabot (#192)
- chore(deps): bump ruff from 0.4.3 to 0.4.4 @dependabot (#191)
v0.6.5
This release fixes the nasty bug from v0.6.4 detailed in #185
Big thanks to @sdholden28, @terryhonn and @tbrasser for their contributions in narrowing down the fault, and again to @skrashevich for some more safety checks 👍🏼
Changes
v0.6.4 !!Broken!! Do not install
Very much a maintenance release, but with a few important bug fixes.
Thanks to @skrashevich and @itsteddyyo for their much-appreciated contributions via PRs merged into this release, and to those who have generously offered financial support to keep Bermuda improving. As well as the amazing community support these things make it that much more enjoyable to further this thing that I made to scratch my own itches :-)
Most of these changes have been sitting in the main
branch of the repo for about two weeks, so you may already have these changes if you're tracking that branch rather than official releases.
This release sees:
- fixes to the
dump_devices
service call - making sure that changing the Area on a scanner applies properly
- an important fix for devices that are both Private_ble and iBeacon (ie, all Android HA Companion app beacons) that would stop updating after a time
- some tidying / hardening of calculations
- a process that "prunes" stale mac addresses from the in-memory cache to keep only the last 1000 un-tracked devices over the past 3 days. This may offer some CPU usage improvements, after 6 days my server went from 0.004 seconds per update cycle to 0.100s per cycle. Now it remains pretty stable around 0.005. It may improve memory usage but I didn't see much difference there on my machine.
- 🚨 Device names are now filtered for whitespace and binary cruft before and after the name. I have a device that calls itself 'UC96BLE\0\0\0\0' which makes it very unpopular with my long-term stats database :-) Note that you might find some device names may change if they had whitespace or non-alphanum chars in their names previously.
Changes
- (fix) error in dump_devices serialising adverts @agittins (#159)
- fix: Ensure scanner area updates are persisted to config data @agittins (#163)
- Fix comparison error found in issue #167 by @itsteddyyo @agittins (#169)
- fix (performance): Pruning of device states @agittins (#170)
- chore (ide): Update vscode to use debugpy @agittins (#171)
- linting: fix/clean-ups for pylance type checking @agittins (#172)
- Fix for broken sensors on IRK+iBeacon devices (ie, Android Phones) @agittins (#176)
- Add null and non-positive time checks in calculate_data @skrashevich (#181)
- chore: Prevent warning about un-fresh source if it is not yet initialised @agittins (#184)
📦 Dependencies
- chore(deps): bump ruff from 0.3.5 to 0.3.7 @dependabot (#161)
- chore(deps): bump black from 24.3.0 to 24.4.0 in /.github/workflows @dependabot (#166)
- chore(deps): bump black from 24.3.0 to 24.4.0 @dependabot (#165)
- chore(deps): bump ruff from 0.3.7 to 0.4.0 @dependabot (#168)
- chore(deps): bump softprops/action-gh-release from 2.0.4 to 2.0.5 @dependabot (#183)
- chore(deps): bump ruff from 0.4.0 to 0.4.3 @dependabot (#182)
- chore(deps): bump black from 24.4.0 to 24.4.2 @dependabot (#178)
- chore(deps): bump black from 24.4.0 to 24.4.2 in /.github/workflows @dependabot (#177)
v0.6.3 HACS-ready
v0.6.2 ready for HA 2024.4.0
This release brings compatibility for changes due to be introduced in HA 2024.4.0 (tested currently against 2024.4.0b4)
Big thanks to @tbrasser and @sambarlick for the heads-up on the impending changes!
Note: Anyone who ran the main
version with the 2024.4 betas between v0.6.1 and now may find some stale private_ble-related devices/entities that need to be cleaned up - they can be deleted once you've updated (comments in #147).
Changes
- fix: Create unique Private BLE tracker entity name #144 @agittins (#146)
- Config_flow fixes, devcontainer updates @agittins (#149)
- Bump ruff to 0.3.5, tests python to 3.12 @agittins (#150)
- fix: Handle new Private_BLE changes in 2024.4 @agittins (#151)
- Chore: Remove deprecated async_add_job, linting @agittins (#153)
📦 Dependencies
- chore(deps): bump actions/setup-python from 5.0.0 to 5.1.0 @dependabot (#145)