File python-dnspython.changes of Package python-dnspython

Fri Feb 11 19:31:34 UTC 2022 - Michael Ströder <>

- Only recommend and not require the installation of python-h2 because it is
  seriously broken and prevents any other Python software to run correctly with -bb.
  (See also:
  This also matches upstream's which lists h2 as optional
  dependency in extra_requires.

Wed Feb  2 18:24:23 UTC 2022 - Ben Greiner <>

- Break build dependency cycle through :test multibuild
- PEP517 style: poetry-core is enough to build the package
- Clean up old python36 requirements: no longer in Tumbleweed 

Wed Jan 19 12:28:45 UTC 2022 - Sebastian Wagner <>

- Update dependencies to cover all optional features and dependencies in a more structured way and describe it in the package description.

Tue Jan 18 14:29:53 UTC 2022 - Sebastian Wagner <>

- update to version 2.2.0:
 - SVCB and HTTPS records have been updated to track the evolving draft standard.
 - The ZONEMD type has been added.
 - The resolver now returns a LifetimeTimeout exception which includes an error trace like the NoNameservers exception. This class is a subclass of dns.exception.Timeout for backwards compatibility.
 - DNS-over-HTTPS will try to use HTTP/2 if the httpx and h2 packages are installed.
 - DNS-over-HTTPS is now supported for asynchronous queries and resolutions.
 - dns.zonefile.read_rrsets() has been added, which allows rrsets in zonefile format, or a restrition of it, to be read. This function is useful for applications that want to read DNS data in text format, but do not want to use a Zone.
 - On Windows systems, if the WMI module is available, the resolver will retrieve the nameserver from WMI instead of trying to figure it out by reading the registry. This may lead to more accurate results in some cases.
 - The CERT rdatatype now supports certificate types IPKIX, ISPKI, IPGP, ACPKIX, and IACPKIX.
 - The CDS rdatatype now allows digest type 0.
 - Dnspython zones now enforces that a node is either a CNAME node or an “other data” node. A CNAME node contains only CNAME, RRSIG(CNAME), NSEC, RRSIG(NSEC), NSEC3, or RRSIG(NSEC3) rdatasets. An “other data” node contains any rdataset other than a CNAME or RRSIG(CNAME) rdataset. The enforcement is “last update wins”. For example, if you have a node which contains a CNAME rdataset, and then add an MX rdataset to it, then the CNAME rdataset will be deleted. Likewise if you have a node containing an MX rdataset and add a CNAME rdataset, the MX rdataset will be deleted.
 - Extended DNS Errors, as specified in RFC 8914, are now supported.

Fri Jan  8 20:01:12 UTC 2021 - Sebastian Wagner <>

- update to version 2.1.0:
 * End-of-line comments are now associated with rdata when read from text.
   For backwards compatibility with prior versions of dnspython, they are
   only emitted in to_text() when requested.
 * Synchronous I/O is a bit more efficient, as we now try the I/O and only
   use poll() or select() if the I/O would block.
 * The resolver cache classes now offer basic hit and miss statistics, and
   the LRUCache can also provide hits for every cache key.
 * The resolver has a canonical_name() method.
 * There is now a registration mechanism for EDNS option types.
 * The default EDNS payload size has changed from 1280 to 1232.
 * The SVCB, HTTPS, and SMIMEA RR types are now supported.
 * TSIG has been enhanced with TKEY and GSS-TSIG support.  Thanks to
   Nick Hall for writing this.
 * Zones now can be updated via transactions.
 * A new zone subclass, dns.versioned.Zone is available which has a
   thread-safe transaction implementation and support for keeping many
   versions of a zone.
 * The zone file reading code has been adapted to use transactions, and
   is now a public API.
 * Inbound zone transfer support has been rewritten and is available as
   dns.query.inbound_xfr() and dns.asyncquery.inbound_xfr().  It uses
   the transaction mechanism, and fully supports IXFR and AXFR.

Fri Dec 11 14:05:18 UTC 2020 - Matej Cepl <>

- Remove skipping tests which are acutally passing.

Fri Dec 11 07:52:30 UTC 2020 - Matej Cepl <>

- Python < 3.7 requires external contextvars

Thu Aug  6 13:46:23 UTC 2020 - John Vandenberg <>

- Disable four tests which fail on openssl 1.1.0i and lower
- Add missing dependency requests-toolkit, and recommend

Sat Jul 18 10:53:18 UTC 2020 - Sebastian Wagner <>

- remove test depending on trio, which depends on Python 3.7 if python >= 3.7 is not available.

Sat Jul 18 10:30:15 UTC 2020 - Sebastian Wagner <>

- update to 2.0.0:
 - Python 3.6 or newer is required.
 - The license is now the ISC license.
 - Rdata is now immutable. Use dns.rdata.Rdata.replace() to make a new Rdata based on an existing one.
 - dns.resolver.resolve() has been added, allowing control of whether search lists are used. dns.resolver.query() is retained for backwards compatibility, but deprecated. The default for search list behavior can be set at in the resolver object with the use_search_by_default parameter. The default is False.
 - DNS-over-TLS is supported with dns.query.tls().
 - DNS-over-HTTPS is supported with dns.query.https(), and the resolver will use DNS-over-HTTPS for a nameserver which is an HTTPS URL.
 - Basic query and resolver support for the Trio, Curio, and asyncio asynchronous I/O libraries has been added in dns.asyncquery and dns.asyncresolver. This API should be viewed as experimental as asynchronous I/O support in dnspython is still evolving.
 - TSIG now defaults to using SHA-256.
 - Basic type info has been added to some functions. Future releases will have comprehensive type info.
 - from_text() functions now have a relativize_to parameter.
 - python-cryptography is now used for DNSSEC.
 - Ed25519 and Ed448 signatures are now supported.
 - A helper for NSEC3 generating hashes has been added.
 - SHA384 DS records are supported.
 - Rdatasets and RRsets are much faster.
 - dns.resolver.resolve_address() has been added, allowing easy address-to-name lookups.
 - dns.reversename functions now allow an alternate origin to be specified.
 - The repr form of Rdatasets and RRsets now includes the rdata.
 - A number of standard resolv.conf options are now parsed.
 - The nameserver and port used to get a response are now part of the resolver’s Answer object.
 - The NINFO record is supported.
 - The dns.hash module has been removed; just use Python’s native hashlib module.
 - Rounding is done in the standard python 3 fashion; dnspython 1.x rounded in the python 2 style on both python 2 and 3.
 - The resolver will now do negative caching if a cache has been configured.
 - TSIG and OPT now have rdata types.
 - The class for query messages is now QueryMessage. Class Message is now a base class, and is also used for messages for which we don’t have a better class. Update messages are now class UpdateMessage, though class Update is retained for compatibility.
 - Support for Windows 95, 98, and ME has been removed.

Fri Mar  8 13:55:40 UTC 2019 - Tomáš Chvátal <>

- Update to 1.16.0:
  * various fixes for wheel/cryptodome/etc
- Remove all patches, merged upstream:
  * 210.patch
  * pycryptodome.patch
  * readme.patch

Tue Dec  4 12:47:22 UTC 2018 - Matej Cepl <>

- Remove superfluous devel dependency for noarch package

Tue May 15 10:55:07 UTC 2018 -

- require python-pycryptodome instead of recommending it

Wed May  9 13:42:40 UTC 2018 -

- Add patch pycryptodome.patch to work with pycryptodome:
  * pycryptodome.patch

Tue May  2 21:42:12 UTC 2017 -

- Update for the multipython build.
- Rename python-dnspython.asc to python-dnspython.keyring.
- Spec cleanup.

Sun Oct  9 09:40:46 UTC 2016 -

- use and recommend python-ecdsa and python-pycrypto for dnssec support

Sat Oct  8 13:16:31 UTC 2016 -

- New upstream release 1.15.0
    * IDNA 2008 support is now available if the "idna" module has been
    installed and IDNA 2008 is requested.  The default IDNA behavior
    is still IDNA 2003.  The new IDNA codec mechanism is currently
    only useful for direct calls to or, but in future releases it will be
    deployed throughout dnspython, e.g. so that you can read a
    masterfile with an IDNA 2008 codec in force.
    * By default, is not strict about which
    version of IDNA the input complies with.  Strictness can be
    requested by using one of the strict IDNA codecs.
    * Add AVC RR support.
    * Some problems with newlines in various output modes have been
    * now returns text and not bytes on Python 3.x
    * More miscellaneous fixes for the Python 2/3 codeline merge.
- Include readme with readme.patch as not included in upstream tarball
- Fix a bug in the tests code with 210.patch with upstream pull request #210

Tue Jun 14 19:58:08 UTC 2016 -

- New upstream release 1.14.0

Mon May 16 10:19:24 UTC 2016 -

- New upstream release 1.13.0

Tue Nov 25 11:18:34 UTC 2014 -

- fix build on SLE11 

Fri Oct 17 07:09:42 UTC 2014 -

- update to 1.12.0:
  * The test system can now run the tests without requiring dnspython
    to be installed.
  * When reading from a masterfile, if the first content line
    started with leading whitespace, we raised an ugly exception
    instead of doing the right thing, namely using the zone origin as
    the name. [#73]  Thanks to Tassatux for reporting the issue.
  * Added convenience method.  Thanks to Brandon
    Whaley <> for the patch.
  * The /etc/resolv.conf setting "options rotate" is now understood
    by the resolver.  If present, the resolver will shuffle the
    nameserver list each time dns.resolver.query() is called.  Thanks
    to underrun for the patch.  Note that you don't want to add
    "options rotate" to your /etc/resolv.conf if your system's
    resolver library does not understand it.  In this case, just set
    resolver.rotate = True by hand.
  * Escaping of Unicode has been corrected.  Previously we escaped
    and then converted to Unicode, but the right thing to do is
    convert to Unicode, then escape.  Also, characters > 0x7f should
    NOT be escaped in Unicode mode.  Thanks to Martin Basti for the
  * dns.rdtypes.ANY.DNSKEY now has helpers functions to convert
    between the numeric form of the flags and a set of human-friendly
    strings.  Thanks to Petr Spacek for the patch.
  * RRSIGs did not respect relativization settings in to_text().
    Thanks to Brian Smith for reporting the bug and submitting a
    (slightly different) patch.
  * dns/rdtypes/IN/ The APL from_wire() method did not accept an
    rdata length of 0 as valid.  Thanks to salzmdan for reporting the
  * dns/ Add is_mapped()
  * dns/ Lookup IPv6 mapped IPv4 addresses in the v4
    reverse namespace.  Thanks to Devin Bayer.  Yes, I finally fixed
    this one :)
  * dns/ Do not put back an unescaped token.  This was
    causing escape processing for domain names to break.  Thanks to
    connormclaud for reporting the problem.
  * dns/ Making a response didn't work correctly if the
    query was signed with TSIG and we knew the key.  Thanks to Jeffrey
    Stiles for reporting the problem.
  * dns/ Fix problems with the IXFR state machine which caused
    long diffs to fail.  Thanks to James Raftery for the fix and the
    repeated prodding to get it applied :)
- enable some tests 
- add python-dnspython-rpmlintrc file
- add python-ecdsa and python-pycrypto to BuildRequires for the 
  DNSSec tests
- use /usr/bin/python instead of /usr/bin/env python for the example
  scripts to avoid additional dependencies

Wed Sep 11 21:03:58 UTC 2013 -

- update to 1.11.1:
  * fix syntax error exception on dns server failure
  * various fixlets for DNSSEC support

Mon Jul 15 11:37:52 UTC 2013 -

- Package LICENSE, use proper upstream URL
- Run testsuite
- Cleanup macro usage

Thu Jul 11 14:23:49 UTC 2013 -

- update to 1.11.0:
  * TLSA RR support
  * Added set_flags() method to dns.resolver.Resolver
  * Names with offsets >= 2^14 are no longer added to the compression
  * The "::" syntax is not used to shorten a single 16-bit section of
  the text form an IPv6 address.
  * Empty rdatasets are not printed.
  * DNSKEY key tags are no longer assumed to be unique.

Thu May 31 14:09:31 UTC 2012 -

- license update: ISC
  See LICENSE (and compare with

Thu May 31 11:35:42 UTC 2012 -

- Update to new upstream release 1.10.0
* Added dns.resolver.LRUCache.
* dns.resolver.query() will try TCP if a UDP response is truncated.
* The python socket module's DNS methods can be now be overriden
  with implementations that use dnspython's resolver.
- Remove redundant tags/sections from specfile
- Correct license field

Mon Mar 28 13:49:59 UTC 2011 -

- Update to 1.9.4:
  - There is no new functionality in this release;
    just a few bug fixes in RRSIG and SIG code.
  - Legacy code will be eliminated for earlier versions of
    DNSSEC in a future release of dnspython.

Thu Mar 24 19:54:53 UTC 2011 -

- Fix SLE_10 build.

Thu Mar 24 18:34:32 UTC 2011 -

- Update to 1.9.3:
  Bugs fixed since 1.9.2:
  - Dnspython was erroneously doing case-insensitive comparisons
    of the names in NSEC and RRSIG RRs.
  - We now use "is" and not "==" when testing what section an RR
    is in.
  - The resolver now disallows metaqueries.
  New since 1.9.2:
  - A boolean parameter, 'raise_on_no_answer', has been added to
    the query() methods.  In no-error, no-data situations, this
    parameter determines whether NoAnswer should be raised or not.
    If True, NoAnswer is raised.  If False, then an Answer()
    object with a None rrset will be returned.
  - Resolver Answer() objects now have a canonical_name field.
  - Rdata now have a __hash__ method.
- Regenerated spec file with py2pack;
- Removed LICENSE PKG-INFO and TODO files from documentation.

Tue Nov 23 11:24:52 UTC 2010 -

- Update to 1.9.2:
  - The fix for the import problems was actually bad, but didn't
    show up in testing because the test suite's conditional
    importing code hid the problem.

Mon Nov 22 13:19:59 UTC 2010 -

- Update to 1.9.1:
  Bugs fixed since 1.9.0:
    - The dns.dnssec module didn't work with DSA due to namespace
      contamination from a "from"-style import.

Mon Nov 22 01:10:52 UTC 2010 -

- Update to 1.9.0:
  New since 1.8.0:
    - dnspython now uses poll() instead of select() when available.
    - Basic DNSSEC validation can be done using dns.dnsec.validate()
      and dns.dnssec.validate_rrsig() if you have PyCrypto 2.3 or
      later installed. Complete secure resolution is not yet
    - Added key_id() to the DNSSEC module, which computes the DNSSEC
      key id of a DNSKEY rdata.
    - Added make_ds() to the DNSSEC module, which returns the DS RR
      for a given DNSKEY rdata.
    - dnspython now raises an exception if HMAC-SHA284 or
      HMAC-SHA512 are used with a Python older than 2.5.2. (Older
      Pythons do not compute the correct value.)
    - Symbolic constants are now available for TSIG algorithm names.

  Bugs fixed since 1.8.0:
    - dns.resolver.zone_for_name() didn't handle a query response
      with a CNAME or DNAME correctly in some cases.
    - When specifying rdata types and classes as text, Unicode
      strings may now be used.
    - Hashlib compatibility issues have been fixed.
    - dns.message now imports dns.edns.
    - The TSIG algorithm value was passed incorrectly to use_tsig()
      in some cases.

Wed Jan 27 12:37:35 UTC 2010 -

- Update to 1.8.0;
- Building as noarch for openSUSE >= 11.2.

Fri Jan 19 00:00:00 UTC 2007 -

- update to version 1.5.0

Tue Feb 28 16:46:03 CET 2006 -

- updated to reflect python changes due to #149809

Wed Jan 25 21:40:46 CET 2006 -

- converted neededforbuild to BuildRequires

Tue May 31 13:35:14 CEST 2005 -

- package created (1.3.3)

openSUSE Build Service is sponsored by