Bluetooth-Devices
bluetooth-data-tools
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
chore(pre-commit.ci): auto fixes
pre-commit-ci-update-config
2 days ago
chore(pre-commit.ci): auto fixes
pre-commit-ci-update-config
9 days ago
chore(pre-commit.ci): pre-commit autoupdate updates: - [github.com/commitizen-tools/commitizen: v4.18.0 → v4.18.1](https://github.com/commitizen-tools/commitizen/compare/v4.18.0...v4.18.1) - [github.com/astral-sh/ruff-pre-commit: v0.16.4 → v0.16.7](https://github.com/astral-sh/ruff-pre-commit/compare/v0.16.4...v0.16.7)
pre-commit-ci-update-config
9 days ago
chore(pre-commit.ci): auto fixes
pre-commit-ci-update-config
16 days ago
chore(pre-commit.ci): pre-commit autoupdate updates: - [github.com/astral-sh/ruff-pre-commit: v0.16.4 → v0.16.6](https://github.com/astral-sh/ruff-pre-commit/compare/v0.16.4...v0.16.6)
pre-commit-ci-update-config
16 days ago
fix(utils): reject ints outside the 48-bit Bluetooth address space int_to_bluetooth_address accepted any int and returned a plausible-looking address for out-of-range values -- and the two implementations disagreed on which one. Differential fuzzing of the built .so against the pure-Python fallback (200k random ints across the full 64-bit range plus negatives) found: 0x1000000000000 native 00:00:00:00:00:00 pure 10:00:00:00:00:00 0x1000000000001 native 00:00:00:00:00:01 pure 10:00:00:00:00:00 2**64 native OverflowError pure 10:00:00:00:00:00 -1 native OverflowError pure -0:00:00:00:00:01 The native path truncated to the low 48 bits via the uint64_t cast. The pure path formatted the value to more than 12 hex digits and then took the fixed [0:2]..[10:12] slices, i.e. its *high* half -- which also collapses distinct inputs onto one address and can emit a literal "-", a string mac_to_int then refuses. Every one of these is cached by the lru_cache wrapper. Both paths now raise ValueError outside 0..0xFFFFFFFFFFFF, matching mac_to_int's contract for input outside its domain. The guard is spelled identically in both so they cannot drift again. BEHAVIOR CHANGE: input outside the 48-bit range used to return a string (or raise OverflowError natively) and now raises ValueError. No in-range value changes; mac_to_int(int_to_bluetooth_address(x)) still round-trips for every x in 0..0xFFFFFFFFFFFF. The chained comparison was chosen over converting to a cdef uint64_t or wrapping the cast in try/except: those cost ~30ns per cache miss, this one measures ~5ns (98.7 -> 103.8ns, min of 25 runs x 4 interleaved rebuilds).
bluetoothbot:koan/int-to-address-range-check
16 days ago
test(bench): run one benchmark suite under both CI runners bench/ was a hand-maintained mirror of tests/benchmarks/ -- 15 files, 35 benchmarks, semantically identical (verified: same collected node IDs, same payloads, same benchmarked expressions; the only deltas were the CodSpeed BenchmarkFixture annotations and docstrings). Nothing enforced the mirror, so every new benchmark had to be written twice and either copy could drift unnoticed. pytest-benchmark and pytest-codspeed are both installed in the benchmark job, and whichever run is active owns the `benchmark` fixture -- so the CodSpeed suite already runs correctly under a plain pytest invocation. Point the walltime job at tests/benchmarks and delete the mirror. The now-dead bench.* mypy override goes with it.
bluetoothbot:koan/dedupe-benchmark-suites
16 days ago
chore(ci): bump the github-actions group with 5 updates Bumps the github-actions group with 5 updates: | Package | From | To | | --- | --- | --- | | [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `9.0.0` | `10.0.1` | | [CodSpeedHQ/action](https://github.com/codspeedhq/action) | `5.0.1` | `5.2.1` | | [python-semantic-release/python-semantic-release](https://github.com/python-semantic-release/python-semantic-release) | `10.6.1` | `10.6.2` | | [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) | `4.1.1` | `4.2.0` | | [browniebroke/hacktoberfest-labeler-action](https://github.com/browniebroke/hacktoberfest-labeler-action) | `2.6.0` | `2.7.0` | Updates `astral-sh/setup-uv` from 9.0.0 to 10.0.1 - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](https://github.com/astral-sh/setup-uv/compare/c771a70e6277c0a99b617c7a806ffedaca235ff9...20cfd1bf945f4377ade1205e4dbc17946fc9a30d) Updates `CodSpeedHQ/action` from 5.0.1 to 5.2.1 - [Release notes](https://github.com/codspeedhq/action/releases) - [Changelog](https://github.com/CodSpeedHQ/action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codspeedhq/action/compare/88472375d0a4572cf70a9f1fe3a4e0ab8da1b924...373d6868929f444bc08d901fd0eb0ad52a8875ea) Updates `python-semantic-release/python-semantic-release` from 10.6.1 to 10.6.2 - [Release notes](https://github.com/python-semantic-release/python-semantic-release/releases) - [Changelog](https://github.com/python-semantic-release/python-semantic-release/blob/master/CHANGELOG.rst) - [Commits](https://github.com/python-semantic-release/python-semantic-release/compare/39dd2052f2ce8282a5d932c31d58a2ca06d2550e...9a026e9303981c866c3425723009becb2437c757) Updates `pypa/cibuildwheel` from 4.1.1 to 4.2.0 - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/4726cd35bb13f7bde50cf2761f2499ac7b3aa32c...1828c10ab37f080699c7b81cea34097c684a7074) Updates `browniebroke/hacktoberfest-labeler-action` from 2.6.0 to 2.7.0 - [Release notes](https://github.com/browniebroke/hacktoberfest-labeler-action/releases) - [Changelog](https://github.com/browniebroke/hacktoberfest-labeler-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/browniebroke/hacktoberfest-labeler-action/compare/72564cc2b8f1cd239fb6880cca150a1b8b6b027b...2f6920da8cd6b34672115c707ae90f441bf1592a) --- updated-dependencies: - dependency-name: astral-sh/setup-uv dependency-version: 10.0.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: CodSpeedHQ/action dependency-version: 5.2.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: python-semantic-release/python-semantic-release dependency-version: 10.6.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: pypa/cibuildwheel dependency-version: 4.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: browniebroke/hacktoberfest-labeler-action dependency-version: 2.7.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot/github_actions/github-actions-e4a0e5090a
22 days ago
Latest Branches
CodSpeed Performance Gauge
0%
chore(pre-commit.ci): pre-commit autoupdate
#322
2 days ago
ff34195
pre-commit-ci-update-config
CodSpeed Performance Gauge
+1%
fix(utils): reject ints outside the 48-bit Bluetooth address space
#325
16 days ago
316dad8
bluetoothbot:koan/int-to-address-range-check
CodSpeed Performance Gauge
0%
test(bench): run one benchmark suite under both CI runners
#324
16 days ago
9d319ef
bluetoothbot:koan/dedupe-benchmark-suites
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs