tldts is a JavaScript library for extracting hostnames, domains, subdomains, and public suffixes from URLs and hostnames. It also supports parsing email addresses and detecting IPv4 and IPv6, and includes TypeScript type definitions.
Project status
- Actively maintained, evidence-backed: Recent GitHub updates span July 2026 and include repeated bundle refreshes plus dependency bumps, indicating ongoing maintenance rather than a dormant state. The latest update is 2026-07-07, and upstream pushed 2026-07-08.
- Update cadence: Updates appear fairly steady, roughly weekly to every few days across late June through early July 2026 (v7.4.4 on 6/23, v7.4.5 on 6/28, v7.4.6 on 7/2, v7.4.7 on 7/7).
AI summary generated
Recent updates
v7.4.8
Release v7.4.8 primarily updates the upstream public suffix list used by tldts and regenerates related packaged data. The repo also bumps all package versions from 7.4.7 to 7.4.8 and updates the bundled publicsuffix submodule commit.
v7.4.7
v7.4.7 updates the upstream public suffix list used by the tldts packages. In the repo, this manifests as updates to the embedded publicsuffix dataset (git submodule commit) and the generated trie/hash data in the core implementation, plus monorepo version bumps to 7.4.7.
v7.4.6
v7.4.6 updates the upstream Public Suffix List and refreshes the generated trie data used by the tldts packages. It also bumps several build/dev and supply-chain dependencies, including sigstore, @babel/core, rollup tooling, typescript-eslint, and @types/node for the workspace packages.
v7.4.5
v7.4.5 primarily updates the bundled public suffix information used by the tldts libraries. The release notes only mention the upstream public suffix list refresh, and the code diff shows regenerated internal data structures and version bumps to propagate the update across packages.
v7.4.4
Release v7.4.4 updates the upstream public suffix list (PSL). The code diff indicates the PSL-derived internal data structures (trie and hash-related data) were updated accordingly, along with standard monorepo version bumps and changelog entries.
v7.4.3
v7.4.3 updates the bundled public suffix list data used by tldts and regenerates internal lookup structures. It also bumps build tooling dependencies (Rollup and typescript-eslint) and updates package versions to 7.4.3.
v7.4.2
v7.4.2 updates the bundled public suffix list and regenerates related internal data used for domain/TLD parsing. It also bumps the eslint-plugin-prettier dependency (and, via lockfile resolution, some related transitive tooling dependencies).
v7.4.1
v7.4.1 mainly updates the bundled public suffix list data used by tldts across the core and ICANN/experimental variants. The release also bumps a couple of build-time dependencies and adds a README benchmark throughput chart. No code-level API changes (exports or function signatures) are evident in the provided diff.
v7.4.0
v7.4.0 introduces a new API, getFullDomain, across tldts, tldts-icann, and tldts-experimental. It returns the normalized full hostname (subdomain plus registrable domain) when a registrable domain exists, otherwise it returns null.
Featuresv7.3.1
v7.3.1 introduces a targeted bug fix to reject hostnames that contain labels starting with a hyphen. The change is implemented in the core hostname validation logic and reflected by additional test coverage.
Breakingv7.3.0
v7.3.0 is positioned as a performance-focused release that validates hostnames inline during extraction to remove a redundant hostname validation scan. The code implements a validation “fusion” between `extractHostname` and `parseImpl`, and adds test coverage to lock in the intended behavior.
v7.2.1
v7.2.1 is a small patch release focused on hostname extraction in `tldts-core`. The main fix ensures unbracketed IPv6 literals are extracted correctly instead of being mangled/truncated, with corresponding test coverage in `tldts-tests`.
v7.2.0
v7.2.0 adds opt-in detection for IANA special-use domain names (RFC 6761 and extensions) and exposes the result from `parse()` as `isSpecialUse`. The feature is disabled by default to avoid extra work on the common path, and it is accompanied by new unit tests and README documentation.
Featuresv7.1.2
v7.1.2 mainly tightens IPv6 “probably an IP” heuristics and adds related tests, alongside documentation and some dependency/tooling bumps. A new defensive guard prevents a potential infinite loop in the internal base directory discovery utility.
BreakingSecurityv7.1.1
Release v7.1.1 is a focused polish release that updates hostname extraction behavior in tldts-core to better align with WHATWG URL host-boundary semantics. It also adds substantial test coverage by vendoring Web Platform Tests URL hostname cases and introducing dedicated unit tests for extractHostname.
v7.1.0
v7.1.0 claims performance improvements and reduced memory allocations across the main tldts packages. The release notes do not describe the underlying implementation changes, which include a significant rework of suffix trie/lookup internals and changes to how default options and hostname validation are handled.