unstale

pypi / tldextract

tldextract

What changed in tldextract 4 to 5, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-24.

4 breaking2 new APIs and options1 performance5 fixes and other

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

npx @unstale/cli init

@unstale/cli on npm

tldextract 510 changes

Breaking changes 3

  • Support for Python 3.9 was dropped because it is EOL.

    5.3.1release notes

  • ExtractResult is no longer a tuple, so iterating, indexing, slicing, and unpacking it no longer work; reference its fields directly.

    5.0.0release notes

  • Support for EOL Python 3.7 was dropped.

    5.0.0release notes

New APIs and options 2

  • Adds a clearer environment variable for the default fetch timeout while retaining support for TLDEXTRACT_CACHE_TIMEOUT.

    5.4.0release notes

  • Sets the default suffix list URLs.

    5.4.0release notes

Performance 1

  • IP address search space was sped up by using isdecimal() instead of isdigit().

    5.3.1release notes

Fixes and other changes 4

  • Fixes hostname extraction from already-parsed URLs with credentials, ports, or IPv6 addresses.

    5.4.0release notes

  • Preserves private suffix metadata when a longer wildcard suffix does not match.

    5.4.0release notes

  • Fixes stray dots when the suffix or domain is empty.

    5.3.2release notes

  • Python 3.14 and PyPy 3.11 are now supported.

    5.3.1release notes

tldextract 42 changes

Breaking changes 1

  • Adds a fourth ExtractResult field indicating whether the extraction came from the PSL's private domains.

    4.0.0release notes

Fixes and other changes 1

  • When private suffixes are enabled and a private suffix exists, extraction now always includes that suffix.

    4.0.0release notes