NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2438 most downloaded on PyPI
A pure python implementation of multicast DNS service discovery
Last release 19 days ago
30 Aug 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
271 releases · first in 2014
Improve performance of ip address caching (#1392) (`f7c7708`)
Co-authored-by: Alex Ciobanu alex@rogue-research.com
Co-authored-by: J. Nick Koston nick@koston.org
One column per quarter.
Update references to minimum-supported python version of 3.8 (#1369) (`599524a`)
Set change during iteration when dispatching listeners (#1370) (`e9f8aa5`)
Make async_get_service_info available on the Zeroconf object (#1366) (`c4c2dee`)
Make ServiceInfo aware of question history (#1348) (`b9aae1d`)
b9aae1d)b329d99)c65d869)7de655b)73d3ab9)810a309)157185f)cf40470)6f23656)6560fad)f78a196)This release resolves multiple long-standing issues that caused the library to generate excessive network traffic when a ServiceBrowser ran continuously.
Ensure IPv6 scoped address construction uses the string cache
(#1336,
f78a196)
Ensure question history suppresses duplicates
(#1338,
6f23656)
Microsecond precision loss in the query handler
(#1339,
6560fad)
Significantly improve efficiency of the ServiceBrowser scheduler
(#1335,
c65d869)
Small performance improvement constructing outgoing questions
(#1340,
157185f)
Small performance improvement for converting time
(#1342,
73d3ab9)
Small performance improvement for ServiceInfo asking questions
(#1341,
810a309)
Small speed up to processing incoming records
(#1345,
7de655b)
Add decoded_properties method to ServiceInfo (#1332) (`9b595a1`)
9b595a1)d29553a)a1c84dc)ServiceInfo.properties always returns a dictionary with type dict[bytes, bytes | None] instead of a mix str and bytes. It was only possible to get a mixed dictionary if it was manually passed in when ServiceInfo was constructed.Performance regression with ServiceInfo IPv6Addresses (#1330) (`e2f9f81`)
Re-expose ServiceInfo._set_properties for backwards compat (#1327) (`39c4005`)
Correct nsec record writing (#1326) (`cd7a16a`)
Timestamps missing double precision (#1324) (`ecea4e4`)
Correct handling of IPv6 addresses with scope_id in ServiceInfo (#1322) (`1682991`)
Speed up unpacking TXT record data in ServiceInfo (#1318) (`a200842`)
Small speed up to writing outgoing packets (#1316) (`cd28476`)
Speed up outgoing packet writer (#1313) (`55cf4cc`)
Speed up service browser queries when browsing many types (#1311) (`d192d33`)
Avoid decoding known answers if we have no answers to give (#1308) (`605dc9c`)
Speed up instances only used to lookup answers (#1307) (`0701b8a`)
Do not build musllinux aarch64 wheels to reduce release time (#1306) (`79aafb0`)
Do not build aarch64 wheels for PyPy (#1305) (`7e884db`)
Skip wheel builds for eol python and older python with aarch64 (#1304) (`6c8f5a5`)
Build aarch64 wheels (#1302) (`4fe58e2`)
Speed up record updates (#1301) (`d2af6a0`)
Speed up incoming packet processing with a memory view (#1290) (`f1f0a25`)
Update cibuildwheel to build wheels on latest cython final release (#1285) (`e8c9083`)
Reduce size of wheels by excluding generated .c files (#1284) (`b6afa4b`)
Small improvements to ServiceBrowser performance (#1283) (`0fc031b`)
Small cleanups to incoming data handlers (#1282) (`4f4bd9f`)
Reduce type checking overhead at run time (#1281) (`8f30099`)
Ensure ServiceInfo cache is cleared when adding to the registry (#1279) (`2060eb2`)
Add missing python definition for addresses_by_version (#1278) (`52ee02b`)
Speed up outgoing multicast queue (#1277) (`a13fd49`)
Speed up responding to queries (#1275) (`3c6b18c`)
Improve AsyncServiceBrowser performance (#1273) (`0c88ecf`)
Speed up question and answer internals (#1272) (`d24722b`)
Small speed ups to ServiceBrowser (#1271) (`22c433d`)
Speed up ServiceBrowsers with a cython pxd (#1270) (`4837876`)
Improve performance of constructing outgoing queries (#1267) (`00c439a`)
Speed up responding to queries (#1266) (`24a0a00`)
Speed up answering questions (#1265) (`37bfaf2`)
Speed up ServiceInfo with a cython pxd (#1264) (`7ca690a`)
Speed up generating answers (#1262) (`50a8f06`)
Avoid calling get_running_loop when resolving ServiceInfo (#1261) (`33a2714`)
Significantly speed up writing outgoing dns records (#1260) (`bf2f366`)
Speed up writing outgoing dns records (#1259) (`248655f`)
Small speed up to writing outgoing dns records (#1258) (`1ed6bd2`)
Reduce IP Address parsing overhead in ServiceInfo (#1257) (`83d0b7f`)
Speed up decoding incoming packets (#1256) (`ac081cf`)
Speed up answering queries (#1255) (`2d3aed3`)
Optimize DNSCache.get_by_details (#1254) (`ce59787`)
This is one of the most called functions since ServiceInfo.load_from_cache calls it
fix: make get_all_by_details thread-safe
fix: remove unneeded key checks
Speed up adding and removing RecordUpdateListeners (#1253) (`22e4a29`)
Optimize cache implementation (#1252) (`8d3ec79`)
No change re-release due to unrecoverable failed CI run (#1251) (`730921b`)
Reduce overhead to answer questions (#1250) (`7cb8da0`)
Cache construction of records used to answer queries from the service registry (#1243) (`0890f62`)
Remove useless calls in ServiceInfo (#1248) (`4e40fae`)
Reduce overhead to process incoming updates by avoiding the handle_response shim (#1247) (`5e31f0a`)
Avoid python float conversion in listener hot path (#1245) (`816ad4d`)
Reduce overhead to process incoming questions (#1244) (`18b65d1`)
Speed up RecordManager with additional cython defs (#1242) (`5a76fc5`)
Your coding agent can read these notes before it upgrades. Set up the MCP server →