dnspython is a DNS toolkit for Python that supports most DNS record types. It is useful for making DNS queries, performing zone transfers, and sending dynamic updates, with support for TSIG-authenticated messages and EDNS0, plus high- and low-level APIs. The project also offers optional integrations such as DNS-over-HTTPS, DNS-over-TLS, DNS-over-QUIC, DNSSEC, IDNA, and async support (asyncio and Trio).
Project status
- Active maintenance: The repo shows an upstream push on 2026-05-26, which strongly suggests the project is still actively worked on (even though the provided “recent updates” list stops at v2.8.0 in 2025-09-07).
- Update cadence: Major numbered updates appear infrequent and somewhat irregular, with v2.7.0 (2024-10-05) to v2.8.0 (2025-09-07) taking about 9 months. After v2.8.0, there are additional upstream pushes in 2026, but no further tagged update is evidenced in the supplied list.
AI summary generated 2026-06-09
Recent updates
v2.8.0
2025-09-07dnspython 2.8.0 updates the project to require Python 3.10+, and the repository changes suggest improved type checking and CI coverage for newer Python versions. The library diff also bumps several optional feature dependency minimum versions (DNSSEC, DoH, DoQ, IDNA, Trio) and introduces new TLS-related plumbing, including a no-ssl stub implementation.
Featuresv2.8.0rc1
2025-09-01v2.8.0rc1 has no release notes provided by the publisher (none found in the release payload). The code diff shows substantial internal and ecosystem changes, including Python compatibility updates, dependency minimum version bumps, CI/tooling updates, and new B-tree based modules.
v2.7.0
2024-10-05dnspython 2.7.0 is a minor release that, according to the release notes, increases the minimum supported Python version to 3.9. The release notes provided here are otherwise minimal, while the code diff shows several functional additions and some internal behavior changes.
BreakingFeaturesv2.6.1
2024-02-18dnspython 2.6.1 is a bug fix release focused on correcting how the stub resolver handled UDP truncated (TC) responses. It includes a mitigation for a potential DoS condition (CVE-2023-29483) related to accepting forged responses before legitimate ones, ensuring the resolver ignores bad packets and continues listening until timeout.
Securityv2.6.0
2024-02-16dnspython 2.6.0 is presented as a security-focused release for the TuDoor DoS scenario (CVE-2023-29483), where dnspython stub resolver behavior could be disrupted by forged UDP responses. The release notes claim the mitigation works by ignoring bad packets and continuing to wait for a legitimate response until the query timeout expires.
Securityv2.5.0
2024-01-20dnspython 2.5.0 is presented with essentially no inline release-note details (the notes defer to the “What’s New” page). The code diff shows multiple internal and async/networking changes, plus some wire-encoding refactors in rdtypes, and at least one public-ish API signature change (dns.asyncquery.tls).
Featuresv2.4.2
2023-08-12dnspython 2.4.2 is a bug fix release. The release notes do not list specific changes, so developers should review the documentation "What's New" page for the detailed fixes and any potential behavior changes.