NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2510 most downloaded on PyPI
A pure python implementation of multicast DNS service discovery
Last release 6 days ago
28 Sep 2026
Release timing varies
gaps range from 2 weeks to 7 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
272 releases · first in 2014
This release is published under the LGPL-2.1-or-later License.
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.151.4...0.151.5
This release is published under the LGPL-2.1-or-later License.
This release is published under the LGPL-2.1-or-later License.
Compute probe pacing from fresh clock reads (#1888, 7737108)
Compute service info request pacing from fresh clock reads (#1895, 49aa15f)
Fix flaky test_service_browser_expire_callbacks (#1879, 6d061a4)
Make test_qu_response deterministic by injecting the announcement (#1845, 10db10a)
Detailed Changes: 0.151.2...0.151.3
One column per quarter.
This release is published under the LGPL-2.1-or-later License.
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.151.1...0.151.2
This release is published under the LGPL-2.1-or-later License.
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.151.0...0.151.1
This release is published under the LGPL-2.1-or-later License.
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.150.5...0.151.0
This release is published under the LGPL-2.1-or-later License.
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.150.4...0.150.5
This release is published under the LGPL-2.1-or-later License.
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.150.3...0.150.4
This release is published under the LGPL-2.1-or-later License.
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.150.2...0.150.3
This release is published under the LGPL-2.1-or-later License.
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.150.1...0.150.2
This release is published under the LGPL-2.1-or-later License.
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.150.0...0.150.1
This release is published under the LGPL-2.1-or-later License.
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.149.17...0.150.0
_This release is published under the LGPL-2.1-or-later License._
This release is published under the LGPL-2.1-or-later License.
Add benchmarks for cache mark-to-expire path (#1780) (#1785, 29cc405)
Add benchmarks for ipaddress object creation and hashing (#1773, bd20c8e)
Synchronise test_integration on browser first-query (#1771, cb81e67)
Detailed Changes: 0.149.16...0.149.17
_This release is published under the LGPL-2.1-or-later License._
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.149.15...0.149.16
_This release is published under the LGPL-2.1-or-later License._
This release is published under the LGPL-2.1-or-later License.
Bound QuestionHistory per-entry known-answer payload (#1755, 4ff6540)
Bound TC-deferred queues against spoofed-source flood OOM (#1751, b22c8ff)
Detailed Changes: 0.149.11...0.149.12
_This release is published under the LGPL-2.1-or-later License._
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.149.10...0.149.11
_This release is published under the LGPL-2.1-or-later License._
This release is published under the LGPL-2.1-or-later License.
Accept uppercase .local. trailer in service_type_name (#1747, 37edde2)
Bound TC-deferral assembly window to first-arrival + max delay (#1732, a096238)
Detailed Changes: 0.149.9...0.149.10
_This release is published under the LGPL-2.1-or-later License._
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.149.8...0.149.9
_This release is published under the LGPL-2.1-or-later License._
This release is published under the LGPL-2.1-or-later License.
Give IPv6-only loopback find() its own timeout (#1721, fcd1ffb)
Widen safety margin in test_response_aggregation_timings_multiple (#1737, 228af17)
Detailed Changes: 0.149.7...0.149.8
_This release is published under the LGPL-2.1-or-later License._
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.149.6...0.149.7
_This release is published under the LGPL-2.1-or-later License._
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.149.5...0.149.6
_This release is published under the LGPL-2.1-or-later License._
This release is published under the LGPL-2.1-or-later License.
Cap helper get_service_info timeout in suppression test (~3.0s → ~1.85s) (#1708, ee3c7d7)
Drop ZeroconfServiceTypes.find() timeouts from 500ms to 200ms on loopback (#1710, 64d143d)
Eliminate test_get_info_single race by injecting from the send mock (#1716, 963d3d7)
Fix race in test_register_and_lookup_type_by_uppercase_name (#1712, 91aa21d)
Speed up service-info request tests with quick_request_timing fixture (#1709, 4bae30a)
Detailed Changes: 0.149.4...0.149.5
_This release is published under the LGPL-2.1-or-later License._
This release is published under the LGPL-2.1-or-later License.
Drop pending multicast responses before TOCTOU assertion (#1701, d2058d9)
Speed up slow loopback tests (closes #1697) (#1699, dd341a3)
Speed up slow loopback tests (closes #1700) (#1703, d03ea36)
Speed up test_async_wait_unblocks_on_update (#1702, 653c385)
Widen scheduling buffer in flaky get_info suppression test (#1698, 9b4db62)
Detailed Changes: 0.149.3...0.149.4
_This release is published under the LGPL-2.1-or-later License._
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.149.2...0.149.3
_This release is published under the LGPL-2.1-or-later License._
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.149.1...0.149.2
_This release is published under the LGPL-2.1-or-later License._
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.149.0...0.149.1
_This release is published under the LGPL-2.1-or-later License._
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.148.0...0.149.0
_This release is published under the LGPL-2.1-or-later License._
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.147.3...0.148.0
Add SECURITY.md with private vulnerability reporting policy (#1675, `13f9048`)
This release is published under the LGPL-2.1-or-later License.
Add CLAUDE.md orientation file and pr-workflow skill (#1672, 8f8b4d6)
Add SECURITY.md with private vulnerability reporting policy (#1675, 13f9048)
Add quick_timing fixture and apply to register-heavy tests (#1678, d5e1f01)
Pass timeout=0 explicitly in test_event_loop_blocked (#1676, 1b31ed5)
Pass timeout=200 to ServiceInfo-request timeout tests (#1677, 01ef6ff)
Detailed Changes: 0.147.3...0.147.4
_This release is published under the LGPL-2.1-or-later License._
This release is published under the LGPL-2.1-or-later License.
Detailed Changes: 0.147.2...0.147.3
Missing wheel builds for Windows (#1613, `f8e2381`)
Increase check time and add random wait to avoid service collisions (#1611, `8c382ee`)
Co-authored-by: J. Nick Koston nick@koston.org
Detailed Changes: 0.147.0...0.147.1
Cython 3.1 support (#1578, `daaf8d6`)
Address non-working socket configuration (#1563, `cc0f835`)
Co-authored-by: J. Nick Koston nick@koston.org
Detailed Changes: 0.146.4...0.146.5
Avoid loading adapter list twice (#1564, `8359488`)
Correctly override question type flag for requests (#1558, `bd643a2`)
Currently even when setting the explicit question type flag, the implementation ignores it for subsequent queries. This commit ensures that all queries respect the explicit question type flag.
Add unit test to validate that the explicit question type flag is set correctly in outgoing requests.
Detailed Changes: 0.146.2...0.146.3
Create listener socket with specific IP version (#1557, `b757ddf`)
Create listener sockets when using unicast with specific IP version as well, just like in new_respond_socket().
Detailed Changes: 0.146.1...0.146.2
Use trusted publishing for uploading wheels (#1541, `fa65cc8`)
Reduce size of wheels (#1540, `dea233c`)
Hold a strong reference to the AsyncEngine setup task (#1533, `d4e6f25`)
docs: Enable link to source code (#1529, `1c7f354`)
Non unique name during wheel upload (#1527, `43136fa`)
Add a helpful hint for when EADDRINUSE happens during startup (#1526, `48dbb71`)
Wheel builds failing after adding armv7l builds (#1518, `e7adac9`)
Add armv7l wheel builds (#1517, `39887b8`)
Make no buffer space available when adding multicast memberships forgiving (#1516, `f377d5c`)
Eliminate async_timeout dep on python less than 3.11 (#1500, `44457be`)
Add simple address resolvers and examples (#1499, `ae3c352`)
Speed up adding and expiring records in the DNSCache (#1490, `628b136`)
fix: wheel builds for aarch64 (#1485) (`9d228e2`)
fix(docs): remove repetition of words
Co-authored-by: J. Nick Koston nick@koston.org (dde26c6)
feat: small performance improvement to writing outgoing packets (#1482) (d9be715)
feat: migrate to native types (#1472)
Co-authored-by: J. Nick Koston nick@koston.org
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> (22a0fb4)
Co-authored-by: J. Nick Koston nick@koston.org
Co-authored-by: J. Nick Koston nick@koston.org
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
feat: implement heapq for tracking cache expire times (#1465) (`09db184`)
09db184)fix: ensure cache does not return stale created and ttl values (#1469) (`e05055c`)
e05055c)feat: improve performance of processing incoming records
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> (ebbb2af)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
fix: split wheel builds to avoid timeout (#1461) (`be05f0d`)
fix: move wheel builds to macos-13 (#1459) (`4ff48a0`)
feat: speed up parsing incoming records (#1458) (`783c1b3`)
fix: retrigger release from failed github workflow (#1443) (`2ea705d`)
2ea705d)fix(ci): run release workflow only on main repository (#1441) (`f637c75`)
fix: update python-semantic-release to fix release process (#1426) (`2f20155`)
Improve performance of DNSCache backend (#1415) (`1df2e69`)
Your coding agent can read these notes before it upgrades. Set up the MCP server →