File python-zeroconf.changes of Package python-zeroconf

-------------------------------------------------------------------
Sun Sep  8 16:34:08 UTC 2024 - Dirk Müller <dmueller@suse.com>

- update to 0.133.0:
  * Improve performance of ip address caching
  * Enable building of arm64 macOS builds
  * Add classifier for python 3.13
  * Python 3.13 support

-------------------------------------------------------------------
Wed May  8 10:56:24 UTC 2024 - Dirk Müller <dmueller@suse.com>

- update to 0.132.2:
  * 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
  * Re-expose ServiceInfo._set_properties for backwards compat
  * Correct nsec record writing
  * Timestamps missing double precision
  * Match cython version for dev deps to build deps
  * Correct handling of IPv6 addresses with scope_id in
    ServiceInfo
  * Speed up unpacking TXT record data in ServiceInfo
  * Small speed up to writing outgoing packets
  * Speed up incoming packet reader
  * Small speed up to processing incoming dns records
  * Speed up outgoing packet writer
  * Speed up writing name compression for outgoing packets
  * Speed up service browser queries when browsing many types
  * Avoid decoding known answers if we have no answers to give
  * Small speed up to process incoming packets
  * Speed up instances only used to lookup answers
  * Do not build aarch64 wheels for PyPy
  * Speed up record updates
  * Speed up incoming packet processing with a memory view
  * Speed up decoding labels from incoming data
  * Speed up ServiceBrowsers with a pxd for the signal interface
  * Reduce size of wheels by excluding generated .c files
  * Small improvements to ServiceBrowser performance
  * Small cleanups to incoming data handlers
  * Ensure ServiceInfo cache is cleared when adding to the
    registry
  * Add missing python definition for addresses_by_version
  * Speed up outgoing multicast queue
  * Speed up responding to queries
  * Improve performance of loading records from cache in
    ServiceInfo
  * Improve AsyncServiceBrowser performance
  * Speed up ServiceBrowsers with a cython pxd
  * Speed up adding and removing RecordUpdateListeners
  * Cache construction of records used to answer queries from the
    service registry
  * Race with InvalidStateError when async_request times out
  * Speed up processing incoming records

-------------------------------------------------------------------
Tue Jun 20 17:40:25 UTC 2023 - ecsos <ecsos@opensuse.org>

- Add %{?sle15_python_module_pythons}

-------------------------------------------------------------------
Wed May  3 09:24:19 UTC 2023 - Dirk Müller <dmueller@suse.com>

- update to 0.56.0:
  * 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)
  * Optimize incoming parser by using unpack_from (#1115)
  * Optimize incoming parser by adding pxd files (#1111)
  * Fix project name in pyproject.toml (#1112) (`a330f62`)
  * Drop async_timeout requirement for python 3.11+ (#1107)
  * This is a stub version to initialize python-semantic-release
  * This version will not be published
  * Fix IP changes being missed by ServiceInfo (\#1102) @bdraco
  * Fix port changes not being seen by ServiceInfo (\#1100)
  * Performance improvements for parsing incoming packet data

-------------------------------------------------------------------
Sat Sep 17 18:38:52 UTC 2022 - Antoine Belvire <antoine.belvire@opensuse.org>

- Re-enable test_service_browser_expire_callbacks: Should be fixed
  with 0.39.0 (gh#jstasiak/python-zeroconf!1084).
- Add missing dependency on python-async_timeout at run time.

-------------------------------------------------------------------
Sat Sep 17 16:40:31 UTC 2022 - marec <marec@detebe.org>

- Added build dependency python-async_timeout in order to fix build
  failure.

-------------------------------------------------------------------
Sat Sep 17 07:29:19 UTC 2022 - Dirk Müller <dmueller@suse.com>

- 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).

-------------------------------------------------------------------
Sat Jun 25 15:21:12 UTC 2022 - Antoine Belvire <antoine.belvire@opensuse.org>

- Ignore flakey test (gh#jstasiak/python-zeroconf#1077).

-------------------------------------------------------------------
Wed Jun 22 20:45:56 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>

- update to 0.38.7:
  * Performance improvements for parsing incoming packet data
    (gh#jstasiak/python-zeroconf#1076).

-------------------------------------------------------------------
Sat Jun  4 12:14:38 UTC 2022 - Dirk Müller <dmueller@suse.com>

- update to 0.38.6:
  * Performance improvements for fetching ServiceInfo
  * Fix ServiceBrowsers not getting ServiceStateChange.Removed callbacks on PTR record expire
  * Fix missing minimum version of python 3.7
  * Fix IP Address updates when hostname is uppercase

-------------------------------------------------------------------
Fri Feb  4 22:29:27 UTC 2022 - Dirk Müller <dmueller@suse.com>

- update to 0.38.3:
  * Make decode errors more helpful in finding the source of the bad data

-------------------------------------------------------------------
Mon Jan  3 10:29:30 UTC 2022 - Dirk Müller <dmueller@suse.com>

- update to 0.38.1:
  * Dropped Python 3.6 support
  * Handle Service types that end with another service type
  * Improve performance of query scheduler
  * Avoid linear type searches in ServiceBrowsers

-------------------------------------------------------------------
Mon Nov 29 11:04:03 UTC 2021 - Dirk Müller <dmueller@suse.com>

- update to 0.37.0:
  * 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

-------------------------------------------------------------------
Sat Nov  6 18:15:23 UTC 2021 - Dirk Müller <dmueller@suse.com>

- update to 0.36.12:
  * scope_id is now stripped from IPv6 addresses if given
  * Optimized decoding labels from incoming packets
  * Prevent service lookups from deadlocking if time abruptly moves backwards

-------------------------------------------------------------------
Tue Oct 26 20:31:03 UTC 2021 - Dirk Müller <dmueller@suse.com>

- update to 0.36.9:
  * Ensure ServiceInfo orders newest addresses first

-------------------------------------------------------------------
Tue Oct 19 19:36:05 UTC 2021 - Antoine Belvire <antoine.belvire@opensuse.org>

- Remove duplicate sources.

-------------------------------------------------------------------
Sat Oct 16 19:44:11 UTC 2021 - Dirk Müller <dmueller@suse.com>

- update to 0.36.8
  * 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

-------------------------------------------------------------------
Mon Sep  6 09:19:13 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>

- 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)

-------------------------------------------------------------------
Mon Aug 16 01:39:16 UTC 2021 - Fusion Future <qydwhotmail@gmail.com>

- Update to 0.35.1:
  * Only reschedule types if the send next time changes (#958)
    @bdraco
  * When the PTR response was seen again, the timer was being
    canceled and rescheduled even if the timer was for the same
    time. While this did not cause any breakage, it is quite
    inefficient.
  * Cache DNS record and question hashes (#960) @bdraco
  * The hash was being recalculated every time the object was
    being used in a set or dict. Since the hashes are effectively
    immutable, we only calculate them once now.
- Changes from 0.35.0:
  * Reduced chance of accidental synchronization of ServiceInfo
    requests (#955) @bdraco
  * Sort aggregated responses to increase chance of name compression
    (#954) @bdraco
  Technically backwards incompatible:
    * Send unicast replies on the same socket the query was received
      (#952) @bdraco
    * When replying to a QU question, we do not know if the sending
      host is reachable from all of the sending sockets. We now
      avoid this problem by replying via the receiving socket. This
      was the existing behavior when InterfaceChoice.Default is set.
    * This change extends the unicast relay behavior to used with
      InterfaceChoice.Default to apply when InterfaceChoice.All
      or interfaces are explicitly passed when instantiating a
      Zeroconf instance.
    * Fixes #951
- Changes from 0.34.3:
  * Fix sending immediate multicast responses (#949) @bdraco
- Changes from 0.34.2:
  * Coalesce aggregated multicast answers (#945) @bdraco
  * When the random delay is shorter than the last scheduled
    response, answers are now added to the same outgoing time group.
  * This reduces traffic when we already know we will be sending
    a group of answers inside the random delay window described
    in datatracker.ietf.org/doc/html/rfc6762#section-6.3
  * Ensure ServiceInfo requests can be answered inside the default
    timeout with network protection (#946) @bdraco
  * Adjust the time windows to ensure responses that have triggered
    the protection against against excessive packet flooding due to
    software bugs or malicious attack described in RFC6762 section
    6 can respond in under 1350ms to ensure ServiceInfo can ask
    two questions within the default timeout of 3000ms
- Changes from 0.34.1:
  * Ensure multicast aggregation sends responses within 620ms
    (#942) @bdraco
  * Responses that trigger the protection against against
    excessive packet flooding due to software bugs or malicious
    attack described in RFC6762 section 6 could cause the multicast
    aggregation response to be delayed longer than 620ms (The maximum
    random delay of 120ms and 500ms additional for aggregation).
  * Only responses that trigger the protection are delayed longer
    than 620ms
- Changes from 0.34.0:
  * Implemented Multicast Response Aggregation (#940) @bdraco
  * Responses are now aggregated when possible per rules in RFC6762
    section 6.4
  * Responses that trigger the protection against against
    excessive packet flooding due to software bugs or malicious
    attack described in RFC6762 section 6 are delayed instead of
    discarding as it was causing responders that implement Passive
    Observation Of Failures (POOF) to evict the records.
  * Probe responses are now always sent immediately as there were
    cases where they would fail to be answered in time to defend
    a name.
- Changes from 0.33.4:
  * Ensure zeroconf can be loaded when the system disables IPv6
    (#933) @che0
- Changes from 0.33.3:
  * Added support for forward dns compression pointers (#934) @bdraco
  * Provide sockname when logging a protocol error (#935) @bdraco
- Changes from 0.33.2:
  * Handle duplicate goodbye answers in the same packet (#928)
    @bdraco
  * Solves an exception being thrown when we tried to remove the
    known answer from the cache when the second goodbye answer in
    the same packet was processed
  * Fixed #926
  * Skip ipv6 interfaces that return ENODEV (#930) @bdraco
- Changes from 0.33.1:
  * Version number change only with less restrictive directory
    permissions
  * Fixed #923
- Changes from 0.33.0:
  This release eliminates all threading locks as all non-threadsafe
  operations now happen in the event loop.
  * Let connection_lost close the underlying socket (#918) @bdraco
  * The socket was closed during shutdown before asyncio's
    connection_lost handler had a chance to close it which resulted
    in a traceback on windows.
  * Fixed #917
  Technically backwards incompatible:
    * Removed duplicate unregister_all_services code (#910) @bdraco
    * Calling Zeroconf.close from same asyncio event loop zeroconf
      is running in will now skip unregister_all_services and log
      a warning as this a blocking operation and is not async safe
      and never has been.
    * Use AsyncZeroconf instead, or for legacy code call
      async_unregister_all_services before Zeroconf.close
- Changes from 0.32.1:
  * Increased timeout in ServiceInfo.request to handle loaded systems
    (#895) @bdraco
  * It can take a few seconds for a loaded system to run the
    async_request coroutine when the event loop is busy, or the
    system is CPU bound (example being Home Assistant startup). We
    now add an additional _LOADED_SYSTEM_TIMEOUT (10s) to the
    run_coroutine_threadsafe calls to ensure the coroutine has
    the total amount of time to run up to its internal timeout
    (default of 3000ms).
  * Ten seconds is a bit large of a timeout; however, it is only
    used in cases where we wrap other timeouts. We now expect the
    only instance the run_coroutine_threadsafe result timeout will
    happen in a production circumstance is when someone is running
    a ServiceInfo.request() in a thread and another thread calls
    Zeroconf.close() at just the right moment that the future
    is never completed unless the system is so loaded that it is
    nearly unresponsive.
  * The timeout for run_coroutine_threadsafe is the maximum time
    a thread can cleanly shut down when zeroconf is closed out in
    another thread, which should always be longer than the underlying
    thread operation.
- Changes from 0.32.0:
  This release offers 100% line and branch coverage.
  * Made ServiceInfo first question QU (#852) @bdraco
  * We want an immediate response when requesting with ServiceInfo
    by asking a QU question; most responders will not delay the
    response and respond right away to our question. This also
    improves compatibility with split networks as we may not have
    been able to see the response otherwise. If the responder has
    not multicast the record recently, it may still choose to do
    so in addition to responding via unicast
  * Reduces traffic when there are multiple zeroconf instances
    running on the network running ServiceBrowsers
  * If we don't get an answer on the first try, we ask a QM question
    in the event, we can't receive a unicast response for some reason
  * This change puts ServiceInfo inline with ServiceBrowser which
    also asks the first question as QU since ServiceInfo is commonly
    called from ServiceBrowser callbacks
  * Limited duplicate packet suppression to 1s intervals (#841)
    @bdraco
  * Only suppress duplicate packets that happen within the same
    second. Legitimate queriers will retry the question if they
    are suppressed. The limit was reduced to one second to be in
    line with rfc6762
  * Made multipacket known answer suppression per interface (#836)
    @bdraco
  * The suppression was happening per instance of Zeroconf instead
    of per interface. Since the same network can be seen on multiple
    interfaces (usually and wifi and ethernet), this would confuse
    the multi-packet known answer supression since it was not
    expecting to get the same data more than once
  * New ServiceBrowsers now request QU in the first outgoing when
    unspecified (#812) @bdraco
  * https://datatracker.ietf.org/doc/html/rfc6762#section-5.4 When
    we start a ServiceBrowser and zeroconf has just started up,
    the known answer list will be small. By asking a QU question
    first, it is likely that we have a large known answer list
    by the time we ask the QM question a second later (current
    default which is likely too low but would be a breaking change
    to increase). This reduces the amount of traffic on the network,
    and has the secondary advantage that most responders will answer
    a QU question without the typical delay answering QM questions.
  * IPv6 link-local addresses are now qualified with scope_id
    (#343) @ibygrave
  * When a service is advertised on an IPv6 address where the scope
    is link local, i.e. fe80::/64 (see RFC 4007) the resolved IPv6
    address must be extended with the scope_id that identifies
    through the "%" symbol the local interface to be used when
    routing to that address. A new API parsed_scoped_addresses()
    is provided to return qualified addresses to avoid breaking
    compatibility on the existing parsed_addresses().
  * Network adapters that are disconnected are now skipped (#327)
    @ZLJasonG
  * Fixed listeners missing initial packets if Engine starts too
    quickly (#387) @bdraco
  * When manually creating a zeroconf.Engine object, it is no longer
    started automatically. It must manually be started by calling
    .start() on the created object.
  * The Engine thread is now started after all the listeners have
    been added to avoid a race condition where packets could be
    missed at startup.
  * Fixed answering matching PTR queries with the ANY query (#618)
    @bdraco
  * Fixed lookup of uppercase names in the registry (#597) @bdraco
  * If the ServiceInfo was registered with an uppercase name and
    the query was for a lowercase name, it would not be found
    and vice-versa.
  * Fixed unicast responses from any source port (#598) @bdraco
  * Unicast responses were only being sent if the source port was
    53, this prevented responses when testing with dig:
        dig -p 5353 @224.0.0.251 media-12.local
    The above query will now see a response
  * Fixed queries for AAAA records not being answered (#616) @bdraco
  * Removed second level caching from ServiceBrowsers (#737) @bdraco
  * The ServiceBrowser had its own cache of the last time it saw
    a service that was reimplementing the DNSCache and presenting
    a source of truth problem that lead to unexpected queries when
    the two disagreed.
  * Fixed server cache not being case-insensitive (#731) @bdraco
  * If the server name had uppercase chars and any of the matching
    records were lowercase, and the server would not be found
  * Fixed cache handling of records with different TTLs (#729)
    @bdraco
  * There should only be one unique record in the cache at a time as
    having multiple unique records will different TTLs in the cache
    can result in unexpected behavior since some functions returned
    all matching records and some fetched from the right side of
    the list to return the newest record. Instead we now store
    the records in a dict to ensure that the newest record always
    replaces the same unique record, and we never have a source of
    truth problem determining the TTL of a record from the cache.
  * Fixed ServiceInfo with multiple A records (#725) @bdraco
  * If there were multiple A records for the host, ServiceInfo would
    always return the last one that was in the incoming packet,
    which was usually not the one that was wanted.
  * Fixed stale unique records expiring too quickly (#706) @bdraco
  * Records now expire 1s in the future instead of instant removal.
    tools.ietf.org/html/rfc6762#section-10.2 Queriers receiving a
    Multicast DNS response with a TTL of zero SHOULD NOT immediately
    delete the record from the cache, but instead record a TTL of
    1 and then delete the record one second later. In the case of
    multiple Multicast DNS responders on the network described in
    Section 6.6 above, if one of the responders shuts down and
    incorrectly sends goodbye packets for its records, it gives
    the other cooperating responders one second to send out their
    own response to "rescue" the records before they expire and
    are deleted.
  * Fixed exception when unregistering a service multiple times
    (#679) @bdraco
  * Added an AsyncZeroconfServiceTypes to mirror ZeroconfServiceTypes
    to zeroconf.asyncio (#658) @bdraco
  * Fixed interface_index_to_ip6_address not skiping ipv4 adapters
    (#651) @bdraco
  * Added async_unregister_all_services to AsyncZeroconf (#649)
    @bdraco
  * Fixed services not being removed from the registry when calling
    unregister_all_services (#644) @bdraco
  * There was a race condition where a query could be answered for
    a service in the registry, while goodbye packets which could
    result in a fresh record being broadcast after the goodbye if
    a query came in at just the right time. To avoid this, we now
    remove the services from the registry right after we generate
    the goodbye packet
  * Fixed zeroconf exception on load when the system disables IPv6
    (#624) @bdraco
  * Fixed the QU bit missing from for probe queries (#609) @bdraco
  * The bit should be set per
    datatracker.ietf.org/doc/html/rfc6762#section-8.1
  * Fixed the TC bit missing for query packets where the known
    answers span multiple packets (#494) @bdraco
  * Fixed packets not being properly separated when exceeding
    maximum size (#498) @bdraco
  * Ensure that questions that exceed the max packet size
    are moved to the next packet. This fixes DNSQuestions
    being sent in multiple packets in violation of:
    datatracker.ietf.org/doc/html/rfc6762#section-7.2
  * Ensure only one resource record is sent when a record exceeds
    _MAX_MSG_TYPICAL datatracker.ietf.org/doc/html/rfc6762#section-17
  * Fixed PTR questions asked in uppercase not being answered
    (#465) @bdraco
  * Added Support for context managers in Zeroconf and AsyncZeroconf
    (#284) @shenek
  * Implemented an AsyncServiceBrowser to compliment the sync
    ServiceBrowser (#429) @bdraco
  * Added async_get_service_info to AsyncZeroconf and async_request
    to AsyncServiceInfo (#408) @bdraco
  * Implemented allowing passing in a sync Zeroconf instance to
    AsyncZeroconf (#406) @bdraco
  * Fixed IPv6 setup under MacOS when binding to "" (#392) @bdraco
  * Fixed ZeroconfServiceTypes.find not always cancels the
    ServiceBrowser (#389) @bdraco
  * There was a short window where the ServiceBrowser thread could
    be left running after Zeroconf is closed because the .join()
    was never waited for when a new Zeroconf object was created
  * Fixed duplicate packets triggering duplicate updates (#376)
    @bdraco
  * If TXT or SRV records update was already processed and then
    received again, it was possible for a second update to be called
    back in the ServiceBrowser
  * Fixed ServiceStateChange.Updated event happening for IPs that
    already existed (#375) @bdraco
  * Fixed RFC6762 Section 10.2 paragraph 2 compliance (#374) @bdraco
  * Reduced length of ServiceBrowser thread name with many types
    (#373) @bdraco
  * Fixed empty answers being added in ServiceInfo.request (#367)
    @bdraco
  * Fixed ServiceInfo not populating all AAAA records (#366) @bdraco
  * Use get_all_by_details to ensure all records are loaded into
    addresses.
  * Only load A/AAAA records from the cache once in load_from_cache
    if there is a SRV record present
  * Move duplicate code that checked if the ServiceInfo was complete
    into its own function
  * Fixed a case where the cache list can change during iteration
    (#363) @bdraco
  * Return task objects created by AsyncZeroconf (#360) @nocarryr
  Traffic Reduction:
    * Added support for handling QU questions (#621) @bdraco
    * Implements RFC 6762 sec 5.4: Questions Requesting Unicast
      Responses datatracker.ietf.org/doc/html/rfc6762#section-5.4
    * Implemented protect the network against excessive packet
      flooding (#619) @bdraco
    * Additionals are now suppressed when they are already in the
      answers section (#617) @bdraco
    * Additionals are no longer included when the answer is
      suppressed by known-answer suppression (#614) @bdraco
    * Implemented multi-packet known answer supression (#687) @bdraco
    * Implements datatracker.ietf.org/doc/html/rfc6762#section-7.2
    * Implemented efficient bucketing of queries with known answers
      (#698) @bdraco
    * Implemented duplicate question suppression (#770) @bdraco
      http://datatracker.ietf.org/doc/html/rfc6762#section-7.3
  Technically backwards incompatible:
    * Update internal version check to match docs (3.6+) (#491)
      @bdraco
    * Python version earlier then 3.6 were likely broken with
      zeroconf already, however, the version is now explicitly
      checked.
    * Update python compatibility as PyPy3 7.2 is required (#523)
      @bdraco
  Backwards incompatible:
    * Drop oversize packets before processing them (#826) @bdraco
    * Oversized packets can quickly overwhelm the system and deny
      service to legitimate queriers. In practice, this is usually
      due to broken mDNS implementations rather than malicious
      actors.
    * Guard against excessive ServiceBrowser queries from PTR
      records significantly lowerthan recommended (#824) @bdraco
    * We now enforce a minimum TTL for PTR records to avoid
      ServiceBrowsers generating excessive queries refresh
      queries. Apple uses a 15s minimum TTL, however, we do not
      have the same level of rate limit and safeguards, so we use
      1/4 of the recommended value.
    * RecordUpdateListener now uses async_update_records instead
      of update_record (#419, #726) @bdraco
      This allows the listener to receive all the records that
      have been updated in a single transaction such as a packet
      or cache expiry.
    * update_record has been deprecated in favor of
      async_update_records A compatibility shim exists to ensure
      classes that use RecordUpdateListener as a base class continue
      to have update_record called, however, they should be updated
      as soon as possible.
    * A new method async_update_records_complete is now called on
      each listener when all listeners have completed processing
      updates and the cache has been updated. This allows
      ServiceBrowsers to delay calling handlers until they are sure
      the cache has been updated as its a common pattern to call
      for ServiceInfo when a ServiceBrowser handler fires.
    * The async_ prefix was chosen to make it clear that these
      functions run in the eventloop and should never do blocking
      I/O. Before 0.32+ these functions ran in a select() loop and
      should not have been doing any blocking I/O, but it was not
      clear to implementors that I/O would block the loop.
    * Pass both the new and old records to async_update_records
      (#792) @bdraco
    * Pass the old_record (cached) as the value and the new_record
      (wire) to async_update_records instead of forcing each consumer
      to check the cache since we will always have the old_record
      when generating the async_update_records call. This avoids
      the overhead of multiple cache lookups for each listener.
- Remove fix version command as upstream has fixed the version number.
- Move skipped tests to spec file, drop disable-tests.patch.
- Relocate tests to tests directory. (gh#jstasiak/python-zeroconf#526)
- Add test_close_multiple_times to skipped test list.

-------------------------------------------------------------------
Fri Jun  4 17:16:48 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>

- Fix package version. Upstream didn't tag nor change the version
  number in git although it was released in pypi as 0.31.0

-------------------------------------------------------------------
Thu Jun  3 11:53:04 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>

- Add patch to disable some tests that fail in obs:
  * disable-tests.patch

-------------------------------------------------------------------
Thu Jun  3 11:43:41 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>

- 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.

-------------------------------------------------------------------
Wed Apr 21 21:27:04 UTC 2021 - Dirk Müller <dmueller@suse.com>

- update to 0.29.0:
  * A single socket is used for listening on responding when `InterfaceChoice.Default` is chosen.
  * Dropped Python 3.5 support

-------------------------------------------------------------------
Thu Jan  7 13:25:31 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>

- update to 0.28.8:
  * Fixed the packet generation when multiple packets are
  necessary, previously invalid packets were generated sometimes.
  Patch thanks to J. Nick Koston.

-------------------------------------------------------------------
Sat Dec 19 10:34:17 UTC 2020 - Dirk Müller <dmueller@suse.com>

- update to 0.28.7:
  * Fixed the IPv6 address rendering in the browser example, thanks to Alexey Vazhnov.
  * Fixed a crash happening when a service is added or removed during handle_response
  and improved exception handling, thanks to J. Nick Koston.

-------------------------------------------------------------------
Thu Nov 26 08:50:58 UTC 2020 - Dirk Mueller <dmueller@suse.com>

- update to 0.28.6:
  * 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

-------------------------------------------------------------------
Wed Sep 16 11:22:18 UTC 2020 - Dirk Mueller <dmueller@suse.com>

- update to 0.28.3:
  * 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

-------------------------------------------------------------------
Tue Jul 21 10:13:44 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>

- update to 0.28.0
  * Added support for passing text addresses to ServiceInfo.
  * Improved logging (includes fixing an incorrect logging call)

-------------------------------------------------------------------
Mon Jun  8 19:36:00 UTC 2020 - Dirk Mueller <dmueller@suse.com>

- update to 0.27.1
  * 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

-------------------------------------------------------------------
Thu Apr 16 08:47:59 UTC 2020 - pgajdos@suse.com

- version update to 0.25.1
  * Eliminated 5s hangup when calling Zeroconf.close(), thanks to Erik Montnemery
  * Reverted uniqueness assertions when browsing, they caused a regression
  Backwards incompatible:
  * Rationalized handling of TXT records.
- deleted patches
  - python-zeroconf-disable-some-tests.patch (not needed, replaced by -k 'not ...')

-------------------------------------------------------------------
Mon Mar  9 10:57:37 UTC 2020 - pgajdos@suse.com

- 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

-------------------------------------------------------------------
Sat Dec 28 20:25:16 UTC 2019 - Martin Hauke <mardnh@gmx.de>

- 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

-------------------------------------------------------------------
Thu Jun  6 07:35:15 UTC 2019 - Adrian Schröter <adrian@suse.de>

- version update to 0.23.0
  * support for python 3.4 got dropped
  * Add support for MyListener call getting updates to service TXT record
  * Add support for multiple addresses when publishing a service

-------------------------------------------------------------------
Mon May  6 09:00:04 UTC 2019 - pgajdos@suse.com

- 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

-------------------------------------------------------------------
Mon Mar 11 11:58:48 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>

- Update to 0.21.3:
  * no upstream changelog
  * dropped python2 support
- Execute tests
- Update requirements based on upstream requires

-------------------------------------------------------------------
Thu Feb 15 19:04:17 UTC 2018 - alarrosa@suse.com

- 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.

-------------------------------------------------------------------
Fri Jul  7 22:47:48 UTC 2017 - antoine.belvire@opensuse.org

- Update to version 0.19.1:
  * Remove outdated example
  * On Windows, python-netifaces 0.10.5 triggers a bug - This has
    no impact for us, therefore there is no need for us to add a
    version requirement on this dependency as upstream did.
- Rebase patch:
  * Remove
    python-zeroconf-0.17.4-enum34-instead-of-enum-compat.patch.
  * Add python-zeroconf-0.19.1-enum34-instead-of-enum-compat.patch.

-------------------------------------------------------------------
Sat Mar 18 12:46:41 UTC 2017 - antoine.belvire@opensuse.org

- Remove .changes file from source (not needed).

-------------------------------------------------------------------
Sat Mar 18 00:27:42 UTC 2017 - stefan.bruens@rwth-aachen.de

- Convert package to python singlespec

-------------------------------------------------------------------
Sat Feb 18 10:46:56 UTC 2017 - antoine.belvire@opensuse.org

- Update to 0.18.0:
  * Dropped Python 2.6 support
  * Improved error handling inside code executed when Zeroconf
    object is being closed
- Changes from 0.17.7:
  * 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%

-------------------------------------------------------------------
Wed Dec 28 13:23:11 UTC 2016 - jengelh@inai.de

- Improve write style of description

-------------------------------------------------------------------
Wed Dec 28 08:51:37 UTC 2016 - tbechtold@suse.com

- Use pypi.io as Source

-------------------------------------------------------------------
Sun Jul 17 22:36:46 UTC 2016 - antoine.belvire@laposte.net

- Update to 0.17.6:
  * 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

-------------------------------------------------------------------
Wed Mar 16 19:46:09 UTC 2016 - antoine.belvire@laposte.net

- Fix build on SLE 11: avoid BuildArch noarch.

-------------------------------------------------------------------
Wed Mar 16 17:41:13 UTC 2016 - antoine.belvire@laposte.net

- Update to 0.17.5:
  * Fix OpenBSD compatibility, thanks to Alessio Sergi
  * Fix race condition on ServiceBrowser startup, thanks to
    gbiddison
  * Fix installation on some Python 3 systems, thanks to Per
    Sandström
  * Fixed "size change during iteration" bug on Python 3, thanks to
    gbiddison

-------------------------------------------------------------------
Thu Mar 10 18:57:49 UTC 2016 - antoine.belvire@laposte.net

- New package: python-zeroconf-0.17.4
- Add python-zeroconf-0.17.4-enum34-instead-of-enum-compat.patch:
there is no need for a virtual python-enum-compat package here.
openSUSE Build Service is sponsored by