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 inittldextract 510 changes
Breaking changes 3
Support for Python 3.9 was dropped because it is EOL.
ExtractResult is no longer a tuple, so iterating, indexing, slicing, and unpacking it no longer work; reference its fields directly.
Support for EOL Python 3.7 was dropped.
New APIs and options 2
Adds a clearer environment variable for the default fetch timeout while retaining support for TLDEXTRACT_CACHE_TIMEOUT.
Sets the default suffix list URLs.
Performance 1
IP address search space was sped up by using isdecimal() instead of isdigit().
Fixes and other changes 4
Fixes hostname extraction from already-parsed URLs with credentials, ports, or IPv6 addresses.
Preserves private suffix metadata when a longer wildcard suffix does not match.
Fixes stray dots when the suffix or domain is empty.
Python 3.14 and PyPy 3.11 are now supported.
tldextract 42 changes
Breaking changes 1
Adds a fourth ExtractResult field indicating whether the extraction came from the PSL's private domains.
Fixes and other changes 1
When private suffixes are enabled and a private suffix exists, extraction now always includes that suffix.