Changelog

v6.8.1 (2026-06-01)

Bug fixes

  • Show scanner name in reachability diagnostics via line (632e840)

v6.8.0 (2026-05-29)

Features

  • Add async_address_reachability_diagnostics for unreachable devices (2429ce8)

v6.7.9 (2026-05-27)

Performance improvements

  • Per-worker owned-due-at view for o(owned) wakes (d50defb)

v6.7.8 (2026-05-27)

Bug fixes

  • Propagate refresh errors to concurrent adapter refresh waiters (ba75c66)

v6.7.7 (2026-05-26)

Performance improvements

  • Materialize discovered_addresses once per cycle in _async_check_unavailable (e29434e)

v6.7.6 (2026-05-26)

Bug fixes

  • Make scanner unregister idempotent (44722dd)

Testing

  • Benchmarks for auto_scheduler per-worker owned-needs (#506) (5d4b90c)

v6.7.5 (2026-05-26)

Bug fixes

  • Correct class name in _discovered_device_timestamps deprecation warning (ba8632d)

Testing

  • Benchmarks for _async_check_unavailable (issue #505) (baff661)

v6.7.4 (2026-05-25)

Bug fixes

  • Report passive or active for local scanner current_mode under auto (e2bd7c4)

v6.7.3 (2026-05-25)

Bug fixes

  • Bluez backend construction under bleak 3.x (05e2ff7)

v6.7.2 (2026-05-24)

Bug fixes

  • Fast-return when on-demand sweep dispatches nothing (2f7316d)

v6.7.1 (2026-05-24)

Bug fixes

  • Address late review comments on async_request_active_scan (5ddc407)

  • Coalesce near-future due entries into the current window (e556e32)

v6.7.0 (2026-05-23)

Features

  • Expose async_request_active_scan for on-demand discovery (96d9153)

v6.6.1 (2026-05-23)

Bug fixes

  • Shorten initial sweep delay from 10m to 4m (0b24ff7)

v6.6.0 (2026-05-23)

Features

  • Expose diagnostics for sweeps, windows, and watched devices (6a6e084)

v6.5.0 (2026-05-23)

Features

  • Route active-window scans around a connecting scanner (2d1471d)

v6.4.0 (2026-05-23)

Features

  • Log mgmt side channel state when watchdog fires (edad0e7)

Testing

  • Collapse repeated detection-recorder closures into a helper (3f18867)

  • Extract injectableremotescanner base shared across test files (12f312d)

v6.3.1 (2026-05-23)

Bug fixes

  • Narrow deserialize exception so shape mismatches don’t hide bugs (89197d6)

Refactoring

  • Extract _should_keep_previous_adv from hot path (c4c862f)

  • Dedup source-keyed callback register/dispatch trios (d8df7b3)

Testing

  • Factor inline mockbleakscanner classes into a shared base (6c590d6)

  • Cover the lines codecov flagged on the auto-scan-mode merge (a561579)

v6.3.0 (2026-05-22)

Features

  • Add auto scanning mode with on-demand active windows (89c374e)

Testing

  • Cover scanner.py error-path branches (4f870d5)

  • Bump pytest-timeout to 60s for benchmark suite (4abde2e)

  • Add pytest-timeout with 5s default timeout (3d52e76)

v6.2.1 (2026-05-22)

Bug fixes

  • Scope cp314 wheel build to non free threaded abi (84162aa)

v6.2.0 (2026-05-22)

Bug fixes

  • Use release-bot app token so psr push bypasses main ruleset (4595999)

  • Unify connect cleanup + phase 2 lifecycle audit findings (#340) (6578751)

Testing

  • Rename test_update_name_cache_* to test_seed_name_cache_* (29a8bca)

  • Cover manager.py uncovered branches (47d4b71)

  • Silence pytest collection and deprecated-shim warnings (6ae3eda)

  • Cover baseharemotescanner restore/diagnostics/mode no-ops (62e7be2)

  • Cover util and central_manager helpers (84b9d4d)

Features

  • Share device name cache across scanners (bb76920)

  • Track lifetime connect counters per scanner (416a438)

  • Surface connect-in-progress and failure counters in scanner diagnostics (32db633)

  • Support bleak 3.0+ without deprecation warnings (6bfa77f)

Performance improvements

  • Parallelize cython extension compilation (a39c93b)

Documentation

  • Add claude.md guide for ai assistants (b12f98a)

v6.1.0 (2026-04-19)

Features

  • Restore register_detection_callback as a deprecated shim (7fcc147)

v6.0.1 (2026-04-17)

Bug fixes

  • Initialize _backend_id so hableakclientwrapper.backend_id works (8919d40)

v6.0.0 (2026-04-04)

Features

  • Remove basebleakscanner inheritance and register_detection_callback (87b89f1)

v5.14.0 (2026-04-04)

Features

  • Implement advertisement_data async iterator in hableakscannerwrapper (e6e3727)

  • Implement discovered_devices_and_advertisement_data in hableakscannerwrapper (7ecd2d8)

v5.13.0 (2026-04-04)

Features

  • Implement async context manager protocol in hableakscannerwrapper (c9341d2)

  • Implement find_device_by_name in hableakscannerwrapper (151b71c)

v5.12.0 (2026-04-04)

Features

  • Implement find_device_by_filter in hableakscannerwrapper (ac2e258)

v5.11.2 (2026-03-27)

Bug fixes

  • Ensure we don’t call cleanup twice (fbbe17e)

v5.11.1 (2026-03-22)

Bug fixes

  • Revert “feat: add python 3.14 support” (2cc4541)

v5.11.0 (2026-03-21)

Features

  • Add async_clear_advertisement_history to bluetoothmanager (1fb9e01)

  • Add python 3.14 support (cd51eb8)

v5.10.3 (2026-03-21)

Bug fixes

  • Ensure bluez helper is cython compiled (8be8853)

v5.10.2 (2026-03-15)

Bug fixes

  • Remove macos-13 from wheel build matrix (13166b2)

v5.10.1 (2026-03-15)

Performance improvements

  • Skip raw advertisement parsing when data unchanged (84e1b33)

Testing

  • Add dedup coverage tests for scanner_adv_received (002f40e)

  • Add bluez raw, bleak, and mgmt end-to-end advertisement benchmarks (f3684f7)

v5.10.0 (2026-03-15)

Features

  • Split scanner_adv_received into cpdef entry + cdef internal (f05ea67)

Performance improvements

  • Use len() for dict truthiness check in hot path (33d8a67)

v5.9.1 (2026-03-07)

Bug fixes

  • Warn when connection params cannot be set (e9e4ed0)

v5.9.0 (2026-03-07)

Features

  • Add ble connection parameters api (53f1e3e)

v5.8.0 (2025-12-02)

Features

v5.7.0 (2025-10-04)

Features

v5.6.4 (2025-09-13)

Bug fixes

  • Workaround kernel abi inconsistency in bluetooth mgmt socket send behavior (affc097)

Unknown

v5.6.3 (2025-09-13)

Bug fixes

  • High cpu usage by replacing async context manager with setup/cleanup pattern to avoid cython bug (8aa021a)

v5.6.2 (2025-09-09)

Bug fixes

  • Resolve crash when compiled with cython 3.1 (bac6dcf)

v5.6.1 (2025-09-09)

Bug fixes

v5.6.0 (2025-09-08)

Features

  • Callback on scanner start success (782b717)

v5.5.1 (2025-09-08)

Bug fixes

  • Handle case where two scanners have the exact same rssi (f51f700)

v5.5.0 (2025-09-08)

Features

  • Log slots when connecting (a3881c4)

v5.4.0 (2025-09-08)

Features

  • Consider connection slots when selecting connection path (fb938fc)

v5.3.1 (2025-09-06)

Bug fixes

  • Detect missing net_admin/net_raw capabilities and fallback to bluez-only mode (1cf17c0)

v5.3.0 (2025-08-31)

Features

  • Include scanner type in details (0b558f1)

v5.2.1 (2025-08-29)

Bug fixes

  • Incorrect advertising interval calculation when scanner pauses for connections (1c8db59)

v5.2.0 (2025-08-28)

Features

  • Add methods to set current and requested mode to scanner (3cf872c)

v5.1.0 (2025-08-19)

Features

  • Warn when connections are established without bleak-retry-connector (ba23681)

Unknown

v5.0.2 (2025-08-12)

Bug fixes

  • Solve performance regression while connecting in linux (47b5b7e)

v5.0.1 (2025-08-09)

Bug fixes

  • Ensure connect works without debug logging (4da091d)

v5.0.0 (2025-08-09)

Features

  • Add bt management side channel (e345308)

v4.0.2 (2025-08-06)

Bug fixes

  • Add clear error when only passive bluetooth adapters are available (bbb494c)

v4.0.1 (2025-07-03)

Bug fixes

  • Small cleanups for bleak 1.x support (3cf74f4)

v4.0.0 (2025-07-03)

Features

v3.49.0 (2025-06-03)

Features

  • Add raw_advertisement_data to diagnostics (a77933b)

v3.48.2 (2025-05-03)

Bug fixes

  • Remove duplicate _connecting slot from basehascanner (230bb03)

v3.48.1 (2025-05-03)

Bug fixes

v3.48.0 (2025-05-03)

Features

  • Refactor scanner history to live on the scanner itself (ea0d2fc)

v3.47.1 (2025-05-03)

Bug fixes

  • Ensure logging does not fail when there is only a single scanner (d81378e)

v3.47.0 (2025-05-03)

Bug fixes

  • Require bluetooth-auto-recovery >= 1.5.1 (8164ce5)

Features

  • Avoid thundering heard of connections (943cc20)

v3.46.0 (2025-05-03)

Features

  • Improve recovery when adapter has gone silent and needs a usb reset (a4dd395)

v3.45.0 (2025-04-29)

Features

  • Improve performance of _async_on_advertisement_internal (be0b5a6)

v3.44.0 (2025-04-28)

Features

  • Save the raw data in storage (eaf4107)

v3.43.0 (2025-04-28)

Features

  • Migrate storage code from bluetooth_adapters (5d671f9)

v3.42.0 (2025-04-27)

Features

  • Add raw field to bluetoothserviceinfobleak (343f18b)

v3.41.0 (2025-04-27)

Features

  • Add new _async_on_raw_advertisement base scanner api (fb2a487)

v3.40.0 (2025-04-27)

Features

  • Require bluetooth-data-tools 1.28.0 or later (e154136)

v3.39.0 (2025-04-17)

Features

  • Improve performance of _async_on_advertisement (0fc0500)

v3.38.1 (2025-04-14)

Bug fixes

  • Add missing dbus-fast dep on linux (5746448)

v3.38.0 (2025-03-22)

Bug fixes

  • Use project.license key (1decf97)

Features

  • Improve performance of previous source checks (8d96528)

v3.37.0 (2025-03-21)

Features

  • Improve performance of _prefer_previous_adv_from_different_source (73ec210)

v3.36.0 (2025-03-21)

Features

  • Improve performance of filtering apple data (9f56840)

v3.35.0 (2025-03-21)

Features

  • Optimize previous local name matching (fadb722)

v3.34.1 (2025-03-21)

Bug fixes

  • Revert adding _async_on_advertisements (4bc3cb8)

v3.34.0 (2025-03-21)

Features

  • Rename _async_on_raw_advertisement to _async_on_raw_advertisements (b3acb88)

v3.33.0 (2025-03-21)

Features

  • Add _async_on_raw_advertisement (24d128f)

v3.32.0 (2025-03-15)

Features

  • Improve performance of dispatching discovery info to subclasses (d0fae7d)

v3.31.0 (2025-03-15)

Features

  • Avoid building on demand advertisementdata if there are no bleak callbacks (ae977b9)

v3.30.0 (2025-03-15)

Features

  • Improve performance of on demand advertisementdata construction (ab005cb)

v3.29.0 (2025-03-15)

Features

  • Improve performance for device with large manufacturer data history (ec1f6aa)

v3.28.0 (2025-03-15)

Features

  • Improve performance of local name checks (9f57d2f)

v3.27.0 (2025-03-14)

Features

  • Improve performance of base_scanner (5b8c59c)

v3.26.0 (2025-03-14)

Features

  • Improve manager performance (e0bdace)

v3.25.1 (2025-03-13)

Bug fixes

  • Downgrade scanner gone quiet logger to debug (d450ffc)

v3.25.0 (2025-03-05)

Bug fixes

  • Use trusted publishing for wheels (c726687)

Features

v3.24.1 (2025-02-27)

Bug fixes

  • Update scanner discover signature for newer bleak (a071cb8)

v3.24.0 (2025-02-22)

Features

  • Improve logging of scanner failures and time_since_last_detection (f0ff045)

v3.23.0 (2025-02-21)

Features

  • Add debug logging for connection paths (562d469)

v3.22.1 (2025-02-20)

Bug fixes

  • Try to force stop discovery if its stuck on (e28d836)

v3.22.0 (2025-02-18)

Features

  • Allow remote scanners to set current and requested mode (a39ba18)

v3.21.1 (2025-02-04)

Bug fixes

v3.21.0 (2025-02-01)

Features

  • Reduce remote scanner adv processing overhead (7bf302b)

v3.20.1 (2025-02-01)

Bug fixes

  • Remove unused centralbluetoothmanager in models (7466034)

  • Precision loss when comparing advs from different sources (02279a9)

v3.20.0 (2025-02-01)

Features

  • Reduce adv tracker overhead (69168a6)

v3.19.0 (2025-02-01)

Features

  • Reduce overhead to convert non-connectable bluetoothserviceinfobleak to connectable (37fc839)

v3.18.0 (2025-02-01)

Features

  • Refactor scanner_adv_received to reduce ref counting (a1945ce)

v3.17.1 (2025-01-31)

Bug fixes

  • Ensure allocations are available if the adapter never makes any connections (b3dfa48)

v3.17.0 (2025-01-31)

Features

  • Remove the need to call set_manager to set up (1312bf7)

v3.16.0 (2025-01-31)

Features

  • Allow bluetoothmanager to be created with defaults (70b2f69)

v3.15.0 (2025-01-31)

Features

  • Include findmy packets in wanted adverts (5217850)

v3.14.0 (2025-01-29)

Features

  • Add allocations to diagnostics (aa41088)

v3.13.0 (2025-01-28)

Features

  • Add async_register_scanner_registration_callback and async_current_scanners to the manager (99fcb46)

v3.12.0 (2025-01-22)

Features

  • Add support for connection allocations for non-connectable scanners (d76b7c9)

v3.11.2 (2025-01-22)

Bug fixes

  • Re-release again for failed arm runners (af2bb50)

v3.11.1 (2025-01-22)

Bug fixes

  • Re-release due to failed github action (90e2192)

v3.11.0 (2025-01-22)

Features

  • Add api for getting current slot allocations (0a9bef9)

v3.10.0 (2025-01-21)

Features

  • Add support for getting callbacks when adapter allocations change (c6fd2ba)

v3.9.2 (2025-01-20)

Bug fixes

  • Increase rssi switch value to 16 (db367db)

v3.9.1 (2025-01-20)

Bug fixes

  • Increase rssi switch threshold for advertisements (297c269)

v3.9.0 (2025-01-17)

Features

  • Switch to native arm runners for wheel builds (bf7e98b)

v3.8.0 (2025-01-10)

Features

  • Add async_register_disappeared_callback (ec1d445)

v3.7.0 (2025-01-05)

Bug fixes

Features

  • Start building wheels for python 3.13 (26dd831)

  • Add codspeed benchmarks (5905fbd)

Unknown

v3.6.0 (2024-10-20)

Features

  • Speed up creation of advertisementdata namedtuple (28f7e60)

v3.5.0 (2024-10-05)

Features

  • Add support for python 3.13 (b8a4783)

v3.4.1 (2024-09-22)

Bug fixes

  • Ensure build system required cython 3 (dc85d2f)

v3.4.0 (2024-09-02)

Features

  • Add a fast cython init path for bluetoothserviceinfobleak (f532ed2)

v3.3.2 (2024-08-20)

Bug fixes

v3.3.1 (2024-08-20)

Bug fixes

  • Bump cibuildwheel to fix wheel builds (68d838a)

v3.3.0 (2024-08-20)

Bug fixes

  • Cleanup advertisementmonitor mapper (7d3483d)

Features

  • Override devicefound and devicelost for passive monitoring (a802859)

v3.2.0 (2024-07-27)

Features

  • Small speed ups to scanner detection callback (7a5129a)

v3.1.3 (2024-06-24)

Bug fixes

v3.1.2 (2024-06-24)

Bug fixes

v3.1.1 (2024-05-23)

Bug fixes

  • Missing classmethod decorator on find_device_by_address (aa08b13)

v3.1.0 (2024-05-22)

Features

  • Speed up dispatching bleak callbacks (cbc8b26)

v3.0.1 (2024-05-03)

Bug fixes

  • Ensure lazy advertisement uses none when name is not present (c300f73)

v3.0.0 (2024-05-02)

Features

  • Make generation of advertisementdata lazy (25f8437)

v2.8.1 (2024-05-02)

Bug fixes

  • Add missing find_device_by_address mapping (cc8e57e)

v2.8.0 (2024-04-17)

Features

  • Add support for recovering failed adapters after reboot (04948c3)

v2.7.0 (2024-04-17)

Features

  • Improve fallback to passive mode when active mode fails (17ecc01)

v2.6.0 (2024-04-17)

Features

  • Speed up stopping the scanner when its stuck setting up (bba8b51)

v2.5.3 (2024-04-17)

Bug fixes

  • Ensure scanner is stopped on cancellation (a21d70a)

v2.5.2 (2024-04-16)

Bug fixes

  • Ensure discovered_devices returns an empty list for offline scanners (2350543)

v2.5.1 (2024-04-16)

Bug fixes

v2.5.0 (2024-04-16)

Features

  • Fallback to passive scanning if active cannot start (3fae981)

v2.4.2 (2024-02-29)

Bug fixes

  • Android beacons in passive mode with flags 0x02 (8330e18)

v2.4.1 (2024-02-23)

Bug fixes

  • Avoid concurrent refreshes of adapters (d355b17)

v2.4.0 (2024-01-22)

Features

  • Improve error reporting resolution suggestions (afff5ba)

v2.3.1 (2024-01-22)

Bug fixes

  • Ensure unavailable callbacks can be removed from fired callbacks (65e7706)

v2.3.0 (2024-01-22)

Features

  • Reduce overhead to remove callbacks by using sets to store callbacks (05ceb85)

v2.2.0 (2024-01-14)

Features

  • Improve remote scanner performance (c549b1c)

v2.1.0 (2024-01-10)

Features

  • Add support for windows (788dd77)

v2.0.2 (2024-01-04)

Bug fixes

  • Handle subclassed str in the client wrapper (f18a30e)

v2.0.1 (2023-12-31)

Bug fixes

  • Switching scanners too quickly (bd53685)

v2.0.0 (2023-12-21)

Features

  • Simplify async_register_scanner by removing connectable argument (10ac6da)

v1.0.0 (2023-12-12)

Features

  • Eliminate the need to pass the new_info_callback (65c54a6)

v0.11.1 (2023-12-11)

Bug fixes

  • Do not schedule an expire when restoring devices (144cf15)

v0.11.0 (2023-12-11)

Features

  • Relocate bluetoothserviceinfobleak (4f4f32d)

v0.10.0 (2023-12-07)

Features

  • Small speed ups to base_scanner (e1ff7e9)

v0.9.0 (2023-12-06)

Features

  • Speed up processing incoming service infos (55f6522)

v0.8.0 (2023-12-06)

Features

  • Auto build the cythonized manager (c3441e5)

  • Add cython implementation for manager (266a602)

v0.7.0 (2023-12-05)

Features

  • Port bluetooth manager from ha (757640a)

v0.6.1 (2023-12-04)

Bug fixes

  • Add missing cythonize for the adv tracker (8140195)

v0.6.0 (2023-12-04)

Features

  • Port advertisement_tracker (378667b)

v0.5.1 (2023-12-04)

Bug fixes

  • Remove slots to keep hascanner patchable (d068f48)

v0.5.0 (2023-12-03)

Features

  • Port local scanner support from ha (1b1d0e4)

v0.4.0 (2023-12-03)

Features

  • Add more typing for incoming bluetooth data (de590e5)

v0.3.0 (2023-12-03)

Features

  • Refactor to be able to use __pyx_pyobject_fastcall (e15074b)

  • Add basic pxd (fd97d07)

v0.2.0 (2023-12-03)

Features

  • Add cython pxd for base_scanner (0195710)

v0.1.0 (2023-12-03)

Features

  • Port base scanner from ha (e01a57b)

v0.0.1 (2023-12-02)

Bug fixes