Importing dns.dnssecalgs without the cryptography module installed no longer causes
an ImportError.
A number of timeout bugs with the asyncio backend have been fixed.
DNS-over-QUIC for the asyncio backend now works for IPv6.
Dnspython now enforces that the candidate DNSKEYs for DNSSEC signatures
have protocol 3 and have the ZONE flag set. This is a standards compliance issue more
than a security issue as the legitimate authority would have to have published
the non-compliant keys as well as updated their DS record in order for the records
to validate (the DS digest includes both flags and protocol). Dnspython will not
make invalid keys by default, but does allow them to be created and used
for testing purposes.
Dependency specifications for optional features in the package metadata have been
improved.
2.4.0
Python 3.8 or newer is required.
The stub resolver now uses instances of dns.nameserver.Nameserver to represent
remote recursive resolvers, and can communicate using
DNS over UDP/TCP, HTTPS, TLS, and QUIC. In additional to being able to specify
an IPv4, IPv6, or HTTPS URL as a nameserver, instances of dns.nameserver.Nameserver
are now permitted.
The DNS-over-HTTPS bootstrap address no longer causes URL rewriting.
DNS-over-HTTPS now only uses httpx; support for requests has been dropped. A source
port may now be supplied when using httpx.
DNSSEC zone signing with NSEC records is now supported. Thank you
very much (again!) Jakob Schlyter!
The resolver and async resolver now have the try_ddr() method, which will try to
use Discovery of Designated Resolvers (DDR) to upgrade the connection from the stub
resolver to the recursive server so that it uses DNS-over-HTTPS, DNS-over-TLS, or
DNS-over-QUIC. This feature is currently experimental as the standard is still in
draft stage.
The resolver and async resolver now have the make_resolver_at() and
resolve_at() functions, as a convenience for making queries to specific
recursive servers.
... (truncated)
Commits
5486533 revert dependabot sphinx change as it is too recent for RTD
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps dnspython from 2.3.0 to 2.4.1.
Changelog
Sourced from dnspython's changelog.
... (truncated)
Commits
5486533
revert dependabot sphinx change as it is too recent for RTD80b3a2c
Bump sphinx from 4.3.2 to 7.1.0 (#967)ed822ee
2.4.1 versioningd49fee3
prepare 2.4.1 whatsnewbd51093
Ensure candidate DNSKEYs have protocol 3 and the ZONE flag set #966.a89ad8e
Dependency cleanups #963.65bfd78
work around windows port binding issuesa070c2b
Fix more issues with asyncio and timeouts #962.7431295
UseSequence
instead ofList
for nameservers, as List is invariant (#961)bc5b80d
disable test failing due to expired certificateDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)