- Hold a strong reference to the AsyncEngine setup task
(#1533,
d4e6f25)
- Add a helpful hint for when EADDRINUSE happens during startup
(#1526,
48dbb71)
- Wheel builds failing after adding armv7l builds
(#1518,
e7adac9)
- Make no buffer space available when adding multicast memberships forgiving
(#1516,
f377d5c)
- Eliminate async_timeout dep on python less than 3.11
(#1500,
44457be)
- Speed up adding and expiring records in the DNSCache
(#1490,
628b136)
Co-authored-by: J. Nick Koston [email protected]
Co-authored-by: J. Nick Koston [email protected]
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Small performance improvement to writing outgoing packets
(#1482,
d9be715)
- Implement heapq for tracking cache expire times
(#1465,
09db184)
- Ensure cache does not return stale created and ttl values
(#1469,
e05055c)
- Improve performance of processing incoming records
(#1467,
ebbb2af)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Retrigger release from failed github workflow
(#1443,
2ea705d)
- Improve helpfulness of ServiceInfo.request assertions
(#1408,
9262626)
- Improve performance when IP addresses change frequently
(#1407,
111c91a)
Co-authored-by: Alex Ciobanu [email protected]
Co-authored-by: J. Nick Koston [email protected]
-
Bump cibuildwheel to fix wheel builds
(#1371,
83e4ce3)
-
Update references to minimum-supported python version of 3.8
(#1369,
599524a)
- Set change during iteration when dispatching listeners
(#1370,
e9f8aa5)
- Avoid including scope_id in IPv6Address object if its zero
(#1367,
edc4a55)
-
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)
-
Scheduling race with the QueryScheduler
(#1347,
cf40470)
-
Make ServiceInfo aware of question history
(#1348,
b9aae1d)
-
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)
-
Small speed up to ServiceInfo construction
(#1346,
b329d99)
-
Add decoded_properties method to ServiceInfo
(#1332,
9b595a1)
-
Cache is_unspecified for zeroconf ip address objects
(#1331,
a1c84dc)
-
Ensure ServiceInfo.properties always returns bytes
(#1333,
d29553a)
- Performance regression with ServiceInfo IPv6Addresses
(#1330,
e2f9f81)
- Re-expose ServiceInfo._set_properties for backwards compat
(#1327,
39c4005)
- Correct handling of IPv6 addresses with scope_id in ServiceInfo
(#1322,
1682991)
- Speed up unpacking TXT record data in ServiceInfo
(#1318,
a200842)
-
Speed up outgoing packet writer
(#1313,
55cf4cc)
-
Speed up writing name compression for outgoing packets
(#1312,
9caeabb)
- Speed up service browser queries when browsing many types
(#1311,
d192d33)
-
Avoid decoding known answers if we have no answers to give
(#1308,
605dc9c)
-
Small speed up to process incoming packets
(#1309,
56ef908)
- Speed up instances only used to lookup answers
(#1307,
0701b8a)
- Do not build musllinux aarch64 wheels to reduce release time
(#1306,
79aafb0)
- Skip wheel builds for eol python and older python with aarch64
(#1304,
6c8f5a5)
-
Speed up decoding labels from incoming data
(#1291,
c37ead4)
-
Speed up incoming packet processing with a memory view
(#1290,
f1f0a25)
-
Speed up ServiceBrowsers with a pxd for the signal interface
(#1289,
8a17f20)
- 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)
- Ensure ServiceInfo cache is cleared when adding to the registry
(#1279,
2060eb2)
- There were production use cases that mutated the service info and re-registered it that need to be
accounted for
- Add missing python definition for addresses_by_version
(#1278,
52ee02b)
- Improve performance of loading records from cache in ServiceInfo
(#1274,
6257d49)
- Improve performance of constructing outgoing queries
(#1267,
00c439a)
- Avoid calling get_running_loop when resolving ServiceInfo
(#1261,
33a2714)
- Significantly speed up writing outgoing dns records
(#1260,
bf2f366)
- Small speed up to writing outgoing dns records
(#1258,
1ed6bd2)
- Reduce IP Address parsing overhead in ServiceInfo
(#1257,
83d0b7f)
- feat: optimize DNSCache.get_by_details
This is one of the most called functions since ServiceInfo.load_from_cache calls it
- Speed up adding and removing RecordUpdateListeners
(#1253,
22e4a29)
- No change re-release due to unrecoverable failed CI run
(#1251,
730921b)
- Cache construction of records used to answer queries from the service registry
(#1243,
0890f62)
- 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)
- Improve performance by adding cython pxd for RecordManager
(#1241,
a7dad3d)
- Context managers in ServiceBrowser and AsyncServiceBrowser
(#1233,
bd8d846)
Co-authored-by: J. Nick Koston [email protected]
- Speed up question and answer history with a cython pxd
(#1234,
703ecb2)
- Build failures with older cython 0.29 series
(#1232,
30c3ad9)
- Optimize processing of records in RecordUpdateListener subclasses
(#1231,
3e89294)
-
Optimizing sending answers to questions
(#1227,
cd7b56b)
-
Speed up the service registry with a cython pxd
(#1226,
47d3c7a)
- Optimize unpacking properties in ServiceInfo
(#1225,
1492e41)
- Refactor notify implementation to reduce overhead of adding and removing listeners
(#1224,
ceb92cf)
- Add cython pxd file for _listener.py to improve incoming message processing performance
(#1221,
f459856)
- Cythonize _listener.py to improve incoming message processing performance
(#1220,
9efde8c)
-
Expose flag to disable strict name checking in service registration
(#1215,
5df8a57)
-
Speed up processing incoming records
(#1216,
aff625d)
- Remove typing on reset_ttl for cython compat
(#1213,
0094e26)
- Speed up unpacking text records in ServiceInfo
(#1212,
99a6f98)
- Revert adding typing to DNSRecord.suppressed_by
(#1210,
3dba5ae)
- Race with InvalidStateError when async_request times out
(#1208,
2233b6b)
- Improve performance of ServiceInfo.async_request
(#1205,
8019a73)
- Cleanup naming from previous refactoring in ServiceInfo
(#1202,
b272d75)
- Pin python-semantic-release to fix release process
(#1200,
c145a23)
- Add missing if TYPE_CHECKING guard to generate_service_query
(#1198,
ac53adf)
- Improve incoming data processing performance
(#1194,
a56c776)
- Add support for sending to a specific
addr and port with ServiceInfo.async_request and
ServiceInfo.request (#1192,
405f547)
- Reduce debug logging overhead by adding missing checks to datagram_received
(#1188,
ac5c50a)
-
Reduce overhead to handle queries and responses
(#1184,
81126b7)
-
adds slots to handler classes
-
avoid any expression overhead and inline instead
- Optimize construction of outgoing dns records
(#1182,
fc0341f)
- Reduce overhead to enumerate ip addresses in ServiceInfo
(#1181,
6a85cbf)
- Always answer QU questions when the exact same packet is received from different sources in
sequence (#1178,
74d7ba1)
If the exact same packet with a QU question is asked from two different sources in a 1s window we
end up ignoring the second one as a duplicate. We should still respond in this case because the
client wants a unicast response and the question may not be answered by the previous packet since
the response may not be multicast.
fix: include NSEC records in initial broadcast when registering a new service
This also revealed that we do not send NSEC records in the initial broadcast. This needed to be
fixed in this PR as well for everything to work as expected since all the tests would fail with 2
updates otherwise.
- Improve performance of ServiceBrowser outgoing query scheduler
(#1170,
963d022)
- Speed up decoding dns questions when processing incoming data
(#1168,
f927190)
- Reduce denial of service protection overhead
(#1157,
2c2f26a)
- Improve performance of processing incoming records
(#1155,
b65e279)
- Avoid waking async_request when record updates are not relevant
(#1153,
a3f970c)
- Addresses incorrect after server name change
(#1154,
41ea06a)
- Make parsed_scoped_addresses return addresses in the same order as all other methods
(#1150,
9b6adcf)
- Improve ServiceBrowser performance by removing OrderedDict
(#1148,
9a16be5)
feat: Include tests and docs in sdist archives
Include documentation and test files in source distributions, in order to make them more useful for
packagers (Linux distributions, Conda). Testing is an important part of packaging process, and at
least Gentoo users have requested offline documentation for Python packages. Furthermore, the
COPYING file was missing from sdist, even though it was referenced in README.
-
Small cleanups to cache cleanup interval
(#1146,
b434b60)
-
Speed up matching types in the ServiceBrowser
(#1144,
68871c3)
-
Speed up processing records in the ServiceBrowser
(#1143,
6a327d0)
- Improve performance of constructing ServiceInfo
(#1141,
36d5b45)
- Correct duplicate record entries in windows wheels by updating poetry-core
(#1134,
a43055d)
- Hold a strong reference to the query sender start task
(#1128,
808c3b2)
- The equality checks for DNSPointer and DNSService should be case insensitive
(#1122,
48ae77f)
- Optimize incoming parser by reducing call stack
(#1116,
11f3f0e)
- Optimize incoming parser by using unpack_from
(#1115,
a7d50ba)
- Optimize incoming parser by adding pxd files
(#1111,
26efeb0)
- Drop async_timeout requirement for python 3.11+
(#1107,
1f4224e)
- Added test for DNS-SD subtype discovery
(
914241b)