unstale

pypi / aiodns

aiodns

What changed in aiodns 3 to 4, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-21.

1 breaking2 deprecations1 new APIs and options1 performance1 tooling6 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.1 on npm

aiodns 49 changes

Breaking changes 1

  • Requires pycares >= 5.0.0, a breaking change for projects using an older version.

    4.0.0release notes

Deprecations 2

  • Deprecated; use getaddrinfo() instead.

    4.0.0release notes

  • Deprecated; it still works with backward-compatible result types.

    4.0.0release notes

New APIs and options 1

  • Added a method returning native pycares 5.x DNSResult types.

    4.0.0release notes

Fixes and other changes 5

  • Adds the missing build-backend entry to pyproject.toml so PEP 517 builds from the sdist work without falling back to the deprecated legacy setuptools backend.

    4.0.4release notes

  • query() raises DNSError(ARES_ENODATA) when the answer section has no records of the requested qtype, restoring the pycares 4.x NODATA contract and avoiding AttributeError for CNAME/SOA/PTR callers.

    4.0.4release notes

  • Packaging tools again detect aiodns as MIT-licensed.

    4.0.3release notes

  • Fixes “Future exception was never retrieved” when pycares raises AresError synchronously, for example with malformed hostnames.

    4.0.1release notes

  • Added compatibility for pycares 4.x result types to ease migration.

    4.0.0release notes

aiodns 33 changes

Performance 1

  • Improves performance for socket state handling.

    3.6.0release notes

Tooling 1

  • Build configuration prevents incompatible pycares versions.

    3.6.1release notes

Fixes and other changes 1

  • Prevents the resolver from being garbage collected while queries are in progress.

    3.6.0release notes