* Update references to minimum-supported python version of 3.8
* Set change during iteration when dispatching listeners
* Make async_get_service_info available on the Zeroconf object
* Drop python 3.7 support
* Avoid including scope_id in IPv6Address object if its zero
* Small speed up to constructing outgoing packets
* Speed up processing incoming packets
* Speed up the query handler
* Make ServiceInfo aware of question history
* Small speed up to ServiceInfo construction
* Significantly improve efficiency of the ServiceBrowser
scheduler
* Small speed up to processing incoming records
* Small performance improvement for converting time
* Small performance improvement for ServiceInfo asking
questions
* Small performance improvement constructing outgoing questions
* Scheduling race with the QueryScheduler
* Ensure question history suppresses duplicates
* Microsecond precision loss in the query handler
* Ensure IPv6 scoped address construction uses the string cache
* Add decoded_properties method to ServiceInfo
* Ensure ServiceInfo.properties always returns bytes
* Cache is_unspecified for zeroconf ip address objects
* `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
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zeroconf?expand=0&rev=74
* Reduce denial of service protection overhead (#1157)
* Improve performance of processing incoming records (#1155)
* Avoid waking async_request when record updates are not
relevant (#1153) (`a3f970c`)
* Addresses incorrect after server name change (#1154)
* Improve ServiceBrowser performance by removing OrderedDict
* Make parsed_scoped_addresses return addresses in the same
order as all other methods (#1150) (`9b6adcf`)
* Small cleanups to cache cleanup interval (#1146) (`b434b60`)
* Add ip_addresses_by_version to ServiceInfo (#1145)
* Speed up processing records in the ServiceBrowser (#1143)
* Speed up matching types in the ServiceBrowser (#1144)
* Include tests and docs in sdist archives (#1142) (`da10a3b`)
* Improve performance of constructing ServiceInfo (#1141)
* Small speed up to handler dispatch (#1140) (`5bd1b6e`)
* Speed up processing incoming records (#1139) (`7246a34`)
* Reduce overhead to send responses (#1135) (`c4077dd`)
* 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`)
* Missing c extensions with newer poetry (#1129) (`44d7fc6`)
* The equality checks for DNSPointer and DNSService should be
case insensitive (#1122) (`48ae77f`)
* Optimize equality checks for DNS records (#1120) (`3a25ff7`)
* Optimize the dns cache (#1119) (`e80fcef`)
* Optimize construction of outgoing packets (#1118) (`81e186d`)
* Optimize dns objects by adding pxd files (#1113) (`919d4d8`)
* Optimize incoming parser by reducing call stack (#1116)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zeroconf?expand=0&rev=70
with 0.39.0 (gh#jstasiak/python-zeroconf!1084).
- Added build dependency python-async_timeout in order to fix build
failure.
- Update to 0.39.1:
* Performance improvements for constructing outgoing packet data.
- Changes from 0.39.0:
* Switch to using async_timeout for timeouts: Significantly
reduces the number of asyncio tasks that are created when using
ServiceInfo or AsyncServiceInfo
(gh#jstasiak/python-zeroconf!1081).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zeroconf?expand=0&rev=67
* Adding a listener that does not inherit from RecordUpdateListener now logs
an error
* The NotRunningException exception is now thrown when Zeroconf is not
running (#1033) @bdraco
* Before this change the consumer would get a timeout or an EventLoopBlocked
exception when calling ServiceInfo.*request when the instance had already been shutdown
or had failed to startup.
* The EventLoopBlocked exception is now thrown when a coroutine times out
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zeroconf?expand=0&rev=56
* Fixed ServiceBrowser infinite loop when zeroconf is closed before it is canceled
* Improved performance of responding to queries
* Improved log message when receiving an invalid or corrupt packet
* Improved performance of sending outgoing packets
* Reduced memory usage for incoming and outgoing packets
* Improved performance of constructing outgoing packets
* Deferred parsing of incoming packets when it can be avoided
* Improved performance of parsing incoming packets
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zeroconf?expand=0&rev=52
- Update to 0.36.2:
* Include NSEC records for non-existent types when responding
with addresses
* Implements RFC6762 sec 6.2
(http://datatracker.ietf.org/doc/html/rfc6762#section-6.2)
- Update to 0.36.1:
* Skip goodbye packets for addresses when there is another
service registered with the same name (#968) @bdraco
* If a ServiceInfo that used the same server name as another
ServiceInfo was unregistered, goodbye packets would be sent for
the addresses and would cause the other service to be seen as
offline.
* Fixed equality and hash for dns records with the unique bit
(#969)
* These records should have the same hash and equality since
the unique bit (cache flush bit) is not considered when adding
or removing the records from the cache.
- Update to 0.36.0:
* Technically backwards incompatible:
* Fill incomplete IPv6 tuples to avoid WinError on windows (#965)
OBS-URL: https://build.opensuse.org/request/show/917067
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zeroconf?expand=0&rev=51
Had to add a _service to check out 0.31.0 from git since it's not tagged.
The commit was obtained from looking at the changelog at
https://github.com/jstasiak/python-zeroconf/blob/master/README.rst
and the commit history.
- Add patch to disable some tests that fail in obs:
* disable-tests.patch
- update to 0.31.0:
* Separated cache loading from I/O in ServiceInfo and fixed cache
lookup (#356), thanks to J. Nick Koston.
The ServiceInfo class gained a load_from_cache() method to only
fetch information from Zeroconf cache (if it exists) with no IO
performed. Additionally this should reduce IO in cases where
cache lookups were previously incorrectly failing.
- update to 0.30.0:
* Some nice refactoring work including removal of the Reaper
thread, thanks to J. Nick Koston.
* Fixed a Windows-specific The requested address is not valid in
its context regression, thanks to Timothee ‘TTimo’ Besset and
J. Nick Koston.
* Provided an asyncio-compatible service registration layer (in
the zeroconf.asyncio module), thanks to J. Nick Koston.
OBS-URL: https://build.opensuse.org/request/show/897188
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zeroconf?expand=0&rev=46
* Loosened service name validation when receiving from the network this lets us handle
some real world devices previously causing errors
* Enabled ignoring duplicated messages which decreases CPU usage
* Fixed spurious AttributeError: module 'unittest' has no attribute 'mock'
* Improved cache reaper performance significantly
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zeroconf?expand=0&rev=38
* Reduced a time an internal lock is held which should eliminate deadlocks in high-traffic networks.
* Stopped asking questions we already have answers for in cache, thanks to Paul Daumlechner.
* Removed initial delay before querying for service info, thanks to Erik Montnemery.
* Fixed a resource leak connected to using ServiceBrowser with multiple types
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zeroconf?expand=0&rev=36
* Improved the logging situation
* Large multi-resource responses are now split into separate packets which fixes a bad
mdns-repeater/ChromeCast Audio interaction ending with ChromeCast Audio crash (and possibly
some others) and improves RFC 6762 compliance, thanks to Greg Badros
* Added a warning presented when the listener passed to ServiceBrowser lacks update_service()
callback
* Added support for finding all services available in the browser example, thanks to Perry Kunder
* Removed previously deprecated ServiceInfo address constructor parameter and property
* Improved readability of logged incoming data, thanks to Erik Montnemery
* Threads are given unique names now to aid debugging, thanks to Erik Montnemery
* Fixed a regression where get_service_info() called within a listener add_service method
would deadlock, timeout and incorrectly return None, fix thanks to Erik Montnemery, but
Matt Saxon and Hmmbob were also involved in debugging it.
* Added support for multiple types to ServiceBrowser, thanks to J. Nick Koston
* Fixed a race condition where a listener gets a message before the lock is created
* Fixed a performance regression introduced in 0.26.0, thanks to J. Nick Koston (this is close in
spirit to an optimization made in 0.24.5 by the same author)
* Fixed a regression where service update listener wasn't called on IP address change (it's called
on SRV/A/AAAA record changes now), thanks to Matt Saxon
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zeroconf?expand=0&rev=32
- version update to 0.24.5
* Fixed issues with shared records being used where they shouldn't be (TXT, SRV, A records are
unique now), thanks to Matt Saxon
* Stopped unnecessarily excluding host-only interfaces from InterfaceChoice.all as they don't
forbid multicast, thanks to Andreas Oberritter
* Fixed repr() of IPv6 DNSAddress, thanks to Aldo Hoeben
* Removed duplicate update messages sent to listeners, thanks to Matt Saxon
* Added support for cooperating responders, thanks to Matt Saxon
* Optimized handle_response cache check, thanks to J. Nick Koston
* Fixed memory leak in DNSCache, thanks to J. Nick Koston
* Fixed resetting TTL in DNSRecord.reset_ttl(), thanks to Matt Saxon
* Improved various DNS class' string representations, thanks to Jay Hogg
OBS-URL: https://build.opensuse.org/request/show/782904
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zeroconf?expand=0&rev=28
- Adjust dependencies and the %check section so the testsuite can
still be executed
- Add patch:
* python-zeroconf-disable-some-tests.patch
- Update to version 0.24.3
* Fixed import-time "TypeError: 'ellipsis' object is not
iterable." on CPython 3.5.2
- Update to version 0.24.2
* Added support for AWDL interface on macOS (needed and used by
the opendrop project but should be useful in general)
* Added missing type hints
- Update to version 0.24.1
* Applied some significant performance optimizations
* Fixed flushing outdated cache entries when incoming record
is unique
* Fixed handling updates of TXT records (they'd not get recorded
previously)
- Update to version 0.24.0
* Added IPv6 support
* Added additional recommended records to PTR responses
* Added handling of ENOTCONN being raised during shutdown when
using Eventlet
* Included the py.typed marker in the package so that type
checkers know to use type hints from the source code
OBS-URL: https://build.opensuse.org/request/show/759821
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zeroconf?expand=0&rev=26
- version update to 0.22.0
* A lot of maintenance work (tooling, typing coverage and improvements,
spelling)
* Provided saner defaults in ServiceInfo's constructor, thanks to
Jorge Miranda
* Fixed service removal packets not being sent on shutdown, thanks to
Andrew Bonney
* Added a way to define TTL-s through ServiceInfo contructor parameters,
thanks to Andrew Bonney
* Adjusted query intervals to match RFC 6762, thanks to Andrew Bonney
* Made default TTL-s match RFC 6762, thanks to Andrew Bonney
OBS-URL: https://build.opensuse.org/request/show/701007
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zeroconf?expand=0&rev=22
- Remove patch which was breaking zeroconf dependency check with python3
(it was making pkg_resources generate a DistributionNotFound exception
because enum34 wasn't found). enum34 is only required by the python2
package, which is what the enum-compat package is all about.
* python-zeroconf-0.19.1-enum34-instead-of-enum-compat.patch
- Require python-enum-compat to require python-enum34 on python2 and
nothing on python3, just as the egg's requires.txt file does.
OBS-URL: https://build.opensuse.org/request/show/577228
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zeroconf?expand=0&rev=17
* Better Handling of DNS Incoming Packets parsing exceptions
* Many exceptions will now log a warning the first time they are seen
* Catch and log sendto() errors
* Fix/Implement duplicate name change
* Fix overly strict name validation introduced in 0.17.6
* Greatly improve handling of oversized packets including:
+ Implement name compression per RFC1035
+ Limit size of generated packets to 9000 bytes as per RFC6762
+ Better handle over sized incoming packets
* Increased test coverage to 95%
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zeroconf?expand=0&rev=9
* Many improvements to address race conditions and exceptions
during ZC() startup and shutdown, thanks to: morpav, veawor,
justingiorgi, herczy, stephenrauch
* Added more test coverage: strahlex, stephenrauch
* Stephen Rauch contributed:
+ Speed up browser startup
+ Add ZeroconfServiceTypes() query class to discover all
advertised service types
+ Add full validation for service names, types and subtypes
+ Fix for subtype browsing
+ Fix DNSHInfo support
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zeroconf?expand=0&rev=3