ip-address is a JavaScript and TypeScript library for validating and manipulating IPv4 and IPv6 addresses, including CIDR subnets. It provides parsing, subnet membership and range checks, and conversions between common address forms (such as canonical/correct form, byte arrays, and BigInt), and it can run in both Node.js and the browser.
Project status
- Actively maintained and evolving: The repo shows very recent activity (latest upstream push 2026-07-25) and multiple tagged updates in July 2026 (v10.3.1, v10.3.0, v10.2.2, v10.2.1), indicating ongoing maintenance rather than a dormant state.
- Update cadence: From the provided history, updates are clustered in a short window in July 2026 (multiple patches in a few days), with the previous version bump earlier in May 2026 (v10.2.0 on 2026-05-01). This suggests a generally active cadence, with occasional gaps between minor lines.
AI summary generated
Recent updates
v10.4.0
v10.4.0 primarily modernizes the project CI by adding GitHub Actions coverage and tightening support for running the package on older Node runtimes. It also introduces stricter byte-array validation for IPv6 parsing, centralizing shared validation logic in src/common.ts.
Featuresv10.3.1
v10.3.1 includes no human-readable release note details beyond a changelog compare link. The actual code changes tighten parsing/validation for IPv4 dotted-quad inputs with leading-zero octets, and for IPv6 strings containing malformed or multiple subnet suffixes.
Breakingv10.3.0
This release primarily changes IPv6 handling in src/ipv6.ts, including stricter validation of URL port numbers and a change in the serialization behavior of Address6.toByteArray. It also updates the package version and refreshes build tooling dependencies in package-lock.json, notably bumping esbuild.
v10.2.2
v10.2.2 introduces a new helper, `isHostInSubnet`, intended to make address classification independent of the CIDR suffix on the input. The release also rewires most `isX` classification methods to use this new primitive instead of `isInSubnet`.
BreakingSecurityFeaturesv10.2.1
v10.2.1 of ip-address was released on 2026-07-25. The provided release notes do not include any change descriptions beyond a link to the full changelog diff, so no specific API, behavior, or compatibility changes can be confirmed from the notes alone.
v10.2.0
This release (v10.2.0, published 2026-05-01) has no release notes provided by the publisher. As a result, there is no documented information about new features, bug fixes, breaking changes, security updates, or migration requirements.
v10.1.1
v10.1.1 contains primarily internal hardening changes around how IPv6 address rendering functions generate HTML, plus related test coverage updates. The release notes section is empty, so these behavior changes are effectively undocumented from the publisher perspective.
Securityv10.1.0
Release v10.1.0 was published, but no release notes were provided by the publisher. As a result, there is no documented information available here about new features, bug fixes, security updates, or breaking changes.
v10.0.1
v10.0.1 appears to be a very small patch release. There are no release notes provided, and the only code change is a type-level adjustment in the IPv4 Address4.bigInt() method, plus version number bumps in package manifests.
Breakingv10.0.0
Release v10.0.0 makes a major internal change away from the jsbn BigInteger implementation to native BigInt. The diff shows multiple public API renames and return type changes across IPv4 and IPv6 address classes, plus some supporting utility additions and build configuration updates.
v9.1.0-0
Release v9.1.0-0 has no provided release notes. The diff shows a broad internal refactor replacing sprintf-js with native string/templating helpers across IPv4 and IPv6 formatting, alongside multiple dependency and tooling updates.
Breakingv9.0.5
Release v9.0.5 has no release notes provided. The code diff shows changes limited to build tooling and TypeScript configuration (package metadata version bump, build script, and tsconfig include/compiler options), with no functional runtime code changes shown.
v9.0.4
Release v9.0.4 appears to be a metadata-only update. The provided diff shows version bumps in package.json and package-lock.json with no other code or dependency changes visible in the modified hunks.
v9.0.3
Release v9.0.3 does not include any functional code changes. The only changes in the provided diff are version number updates in package.json and package-lock.json.
v9.0.2
Release v9.0.2 was published on 2023-09-25, but no release notes were provided by the publisher. As a result, this upgrade cannot be assessed for specific API changes, bug fixes, or migration requirements based on the release notes alone.