Skip to content

Releases: Bluetooth-Devices/bluetooth-data-tools

v1.29.18

Choose a tag to compare

v1.29.18 (2026-05-22)

This release is published under the Apache-2.0 License.

Performance Improvements

  • distance: Replace min() with inline ternary in calculate_distance_meters (#276, 35d82c9)

  • gap: Fast-skip FLAGS AD type before elif dispatch (#277, 8be4db8)

  • gap: Route parse_advertisement_data misses through bytes cache (#275, 7c2a1e2)

Testing

  • bench: Mirror tuple parse benches into pytest-benchmark suite (#279, 4439e0e)

  • gap: Cover local-name precedence between SHORT and COMPLETE (#278, 6fdba53)


Detailed Changes: v1.29.17...v1.29.18

v1.29.17

Choose a tag to compare

v1.29.17 (2026-05-21)

This release is published under the Apache-2.0 License.

Performance Improvements

  • distance: Use ** operator and drop * 1.0 idiom (#269, 780eb0a)

  • utils: Cache human_readable_name (#266, bd5e91e)


Detailed Changes: v1.29.16...v1.29.17

v1.29.16

Choose a tag to compare

v1.29.16 (2026-05-21)

This release is published under the Apache-2.0 License.

Performance Improvements

  • gap: Decode 128-bit UUID via reversed bytes.hex() (#267, 739a8f8)

Testing

  • Add benchmark coverage for resolve_private_address (#268, a88e0ed)

  • bench: Cover _uint128_bytes_as_uuid cached and uncached paths (#272, 222c7e9)

  • bench: Cover _uint16/_uint32_int_as_uuid and short_address (#270, f628b11)

  • bench: Cover calculate_distance_meters close, far, zero branches (#274, 944d4e4)

  • bench: Cover human_readable_name (#273, 6cf8a78)

  • bench: Cover parse_advertisement_data bytes cache fallthrough (#271, a24374b)


Detailed Changes: v1.29.15...v1.29.16

v1.29.15

Choose a tag to compare

v1.29.15 (2026-05-20)

This release is published under the Apache-2.0 License.

Chores

  • ruff: Enforce imports at top level via PLC0415 (#263, 9a93fb8)

Performance Improvements

  • gap: Route parse_advertisement_data_tuple misses through bytes cache (#261, 819ca2e)

Detailed Changes: v1.29.14...v1.29.15

v1.29.14

Choose a tag to compare

v1.29.14 (2026-05-20)

This release is published under the Apache-2.0 License.

Performance Improvements

  • gap: Drop redundant splice_pos>total_length check (#254, 16cee5e)

Testing

  • bench: Add newest_manufacturer_data benchmarks (#260, 4070fa2)

  • bench: Cover parse_advertisement_data_tuple bytes cache fallthrough (#262, 178b936)


Detailed Changes: v1.29.13...v1.29.14

v1.29.13

Choose a tag to compare

v1.29.13 (2026-05-20)

This release is published under the Apache-2.0 License.

Performance Improvements

  • utils: Pack manufacturer_data_to_raw prefix via Struct (#256, 6e675ff)

Testing

  • bench: Backfill mac_to_int and parse_advertisement_data_bytes (#255, 93c876c)

Detailed Changes: v1.29.12...v1.29.13

v1.29.12

Choose a tag to compare

v1.29.12 (2026-05-20)

This release is published under the Apache-2.0 License.

Continuous Integration

  • Key venv cache on resolved python patch version (#252, a069b29)

Performance Improvements

  • gap: Cache parse_advertisement_data on tuple key, skip join on hit (#257, 67b459f)

Testing

  • Add manufacturer_data_to_raw benchmarks (#259, 3e761c5)

  • bench: Add multi-entry Service UUID list benchmarks (#258, b8f4b62)


Detailed Changes: v1.29.11...v1.29.12

v1.29.11

Choose a tag to compare

v1.29.11 (2026-05-20)

This release is published under the Apache-2.0 License.

Performance Improvements

  • gap: Decode 16/32-bit UUIDs from int, skip bytes-slice alloc (#251, 5b148fd)

Testing

  • Scope default pytest collection to tests/ (#250, cad7021)

Detailed Changes: v1.29.10...v1.29.11

v1.29.10

Choose a tag to compare

v1.29.10 (2026-05-19)

This release is published under the Apache-2.0 License.

Performance Improvements

  • gap: Inline 1-byte signed decode for TX Power Level (#249, 45e9286)

Detailed Changes: v1.29.9...v1.29.10

v1.29.9

Choose a tag to compare

v1.29.9 (2026-05-19)

This release is published under the Apache-2.0 License.

Bug Fixes

  • ci: Harden auto-merge perms and pin actions to SHAs (#245, c66e776)

Chores

  • deps: Bump the pip group across 1 directory with 2 updates (#248, 103e192)

  • pre-commit.ci: Pre-commit autoupdate (#246, 2e1bb42)

Continuous Integration

  • Use astral setup-uv to provision Python and poetry for tests (#247, 13ab890)

Detailed Changes: v1.29.8...v1.29.9