python-zeroconf
python-zeroconf
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
chore(pre-commit.ci): pre-commit autoupdate updates: - [github.com/astral-sh/ruff-pre-commit: v0.15.14 → v0.15.15](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.14...v0.15.15)
pre-commit-ci-update-config
1 day ago
chore(ci): bump the github-actions group with 3 updates Bumps the github-actions group with 3 updates: [codecov/codecov-action](https://github.com/codecov/codecov-action), [CodSpeedHQ/action](https://github.com/codspeedhq/action) and [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action). Updates `codecov/codecov-action` from 6.0.0 to 6.0.1 - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/57e3a136b779b570ffcdbf80b3bdc90e7fab3de2...e79a6962e0d4c0c17b229090214935d2e33f8354) Updates `CodSpeedHQ/action` from 4.15.1 to 4.17.0 - [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/3194d9a39c4d46684cb44bf7207fc56626aad8fd...9d332c4d90b43981c3e55ae8e38e68709996240f) Updates `docker/setup-qemu-action` from 4.0.0 to 4.1.0 - [Release notes](https://github.com/docker/setup-qemu-action/releases) - [Commits](https://github.com/docker/setup-qemu-action/compare/ce360397dd3f832beb865e1373c09c0e9f86d70a...06116385d9baf250c9f4dcb4858b16962ea869c3) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-version: 6.0.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: CodSpeedHQ/action dependency-version: 4.17.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: docker/setup-qemu-action dependency-version: 4.1.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-10901c4110
2 days ago
chore(deps-dev): bump pytest-asyncio from 1.3.0 to 1.4.0 Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 1.3.0 to 1.4.0. - [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases) - [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v1.3.0...v1.4.0) --- updated-dependencies: - dependency-name: pytest-asyncio dependency-version: 1.4.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot/pip/pytest-asyncio-1.4.0
2 days ago
test: use benchmark.pedantic for mark-to-expire benchmarks
bluetoothbot:koan/bench-mark-records-to-expire
7 days ago
chore: drop stray ) from _logger module docstring The module docstring began with a stray ' )' on line 2 — a copy-paste artifact from another file. Surfaces in help(), generated API docs, and IDE hover. Header now matches sibling modules in src/zeroconf/.
bluetoothbot:koan/fix-issue-1782
7 days ago
perf(registry): use insertion-ordered dicts for O(1) removal ServiceRegistry's per-type and per-server indices were stored as list[str], so each list.remove(...) call in _remove was an O(n) linear scan. Bulk async_remove of N services sharing a type or server therefore degraded to O(N**2) — visible at shutdown for deployments with many entries under one _type._tcp.local. Switch the value type to dict[str, None], which preserves insertion order (so async_get_infos_type / async_get_infos_server still return entries in registration order) while giving O(1) add and remove. Also delete empty buckets once their last entry is removed so that long-lived Zeroconf instances with churning type / server names don't leak dict keys.
bluetoothbot:koan/fix-issue-1781
7 days ago
test: add benchmarks for async_mark_unique_records_older_than_1s_to_expire Pin the cost of RFC 6762 §10.2 paragraph 2 cache-expiry path (_async_set_created_ttl in-place mutation) so a copy-on-expire follow-up (issue #1780) has a baseline to measure against.
bluetoothbot:koan/bench-mark-records-to-expire
7 days ago
fix: type Signal dispatch contract with Protocol Signal._handlers was typed list[Callable[..., None]] and fire accepted arbitrary **kwargs, so a typo at a fire site or a missing parameter at a handler only blew up the moment a real service event dispatched - hours into a run on a quiet network. mypy could not catch dispatch mismatches when the contract shifted. Lock the contract down: define a ServiceStateChangeHandler Protocol describing the (zeroconf, service_type, name, state_change) keyword signature, type Signal._handlers as a list of that Protocol, and make Signal.fire keyword-only with the four named parameters. register_handler / unregister_handler still accept Callable[..., None] for back-compat and cast at the boundary.
bluetoothbot:koan/fix-issue-1779
7 days ago
Latest Branches
CodSpeed Performance Gauge
0%
chore(pre-commit.ci): pre-commit autoupdate
#1790
1 day ago
b1965e9
pre-commit-ci-update-config
CodSpeed Performance Gauge
0%
chore(ci): bump the github-actions group with 3 updates
#1789
2 days ago
e19cadf
dependabot/github_actions/github-actions-10901c4110
CodSpeed Performance Gauge
0%
chore(deps-dev): bump pytest-asyncio from 1.3.0 to 1.4.0
#1788
2 days ago
6a1fc48
dependabot/pip/pytest-asyncio-1.4.0
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs