Dnspython 2.7.0 is now available on PyPI. See What’s New for details. Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington. Dnspython 2.7.0 requires Python 3.9 or later.
2.7.0rc1
Dnspython 2.7.0rc1 is now available on PyPI. This is the first release candidate for dnspython 2.7.0. See What’s New for details. We anticipate the final release in about a week. Thank you to all the contributors to this release. Dnspython 2.7.0 requires Python 3.9 or later.
2.6.1
Dnspython 2.6.1 is now available on PyPI. See What’s New for details. This is a bug fix release for 2.6.0 where the “TuDoor” fix erroneously suppressed legitimate Truncated exceptions. This caused the stub resolver to timeout instead of failing over to TCP when a legitimate truncated response was received over UDP. This release addresses the potential DoS issue discussed in the “TuDoor” paper (CVE-2023-29483). The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query. In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution. This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired. ...
2.6.0
Dnspython 2.6.0 is now available on PyPI. See What’s New for details. This release addresses the potential DoS issue discussed in the “TuDoor” paper (CVE-2023-29483). The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query. In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution. This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired. ...
2.6.0rc1
Dnspython 2.6.0rc1 is now available on PyPI. This is the first release candidate for dnspython 2.6.0. See What’s New for details. This release addresses the potential DoS issue discussed in the “TuDoor” paper (CVE-2023-29483). The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query. In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution. This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired. ...
2.5.0
Dnspython 2.5.0 is now available on PyPI. See What’s New for details. Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington. Dnspython 2.5.0 requires Python 3.8 or later. Python 3.8 goes into end-of-life state in October of 2024, and dnspython will drop support for it at that time and require 3.9 or later.
2.5.0rc1
Dnspython 2.5.0rc1 is now available on PyPI. This is the first release candidate for dnspython 2.5.0. See What’s New for details. Thank you to all the contributors to this release. Dnspython 2.5.0 requires Python 3.8 or later. Python 3.8 goes into end-of-life state in October of 2024, and dnspython will drop support for it at that time and require 3.9 or later.
2.4.2
Dnspython 2.4.2 is now available on PyPI. This is a bug fix release, see What’s New for the details.
2.4.1
Dnspython 2.4.1 is now available on PyPI. This is a bug fix release, see What’s New for the details.
2.4.0
Dnspython 2.4.0 is now available on PyPI. See What’s New! Thank you to all the contributors to this release. Special thanks to Jakob Schlyter for writing zone signing code and also refactoring the DNSSEC code to allow new algorithms to be added more easily. Dnspython 2.4.0 requires Python 3.8 or later. Also note that this release drops support for curio and requests (DoH is now done exclusively with httpx).