NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #573 most downloaded on NuGet
C# port of Google's common Java, C++ and Javascript library for parsing, formatting, storing and validating international phone numbers. https://github.com/google/libphonenumber
Last release today
24 Sep 2026
Ships on a steady schedule
a new release about every 2 weeks
Some releases are documented
notes for 29 of the last 60 stable releases
4 versions withdrawn
withdrawn after publishing
127 years old
259 releases · first in 1900
Added the GitHub Action that uploads code-coverage results. (#245) Fixed coverage not being generated for the PhoneNumbers.Test project. (#246) Moved
PhoneNumbers.Test project. (#246) Moved the PR template since it wasn't being
applied by default. (#247)Metadata release; only a mechanical LocaleData.cs regeneration alongside it.
Metadata release; only a mechanical LocaleData.cs regeneration alongside it.
One column per quarter.
A foundational release for this repo's current tooling — this is where nullable reference types, the performance-test harness, and CodeQL scanning all
A foundational release for this repo's current tooling — this is where nullable reference types, the performance-test harness, and CodeQL scanning all began.
PhoneNumbers.PerformanceTest, the BenchmarkDotNet harness CLAUDE.md still describes today. (#240)codeql.yml). (#241)PhoneNumbers project (later extended, per
CLAUDE.md, to every target except netstandard2.0).Nothing published for this version
2 releases, metadata sync plus a routine Dependabot test-dependency bump. No source changes.
2 releases, metadata sync plus a routine Dependabot test-dependency bump. No source changes.
Fixed: NormalizeDiallableCharsOnly incorrectly removed the # symbol.
NormalizeDiallableCharsOnly incorrectly removed the # symbol. (#230)PhoneNumbers.Test project; added more test coverage
derived from the main Google libphonenumber repository. (#224)Added GitHub Actions PR builds that build the project and run tests on Linux and Windows.
Metadata-only release. No source changes.
Metadata-only release. No source changes.
Added an .editorconfig derived from Microsoft's defaults.
.editorconfig derived from Microsoft's defaults. (#222)NumberFormat, ToString, and other previously-uncovered methods).
(#219)Fixed: a null-reference exception during number normalization when given a null input.
Changed: metadata updates are now proposed and synced automatically by a new GitHub Actions script, instead of by hand — the first feat: automatic upg
feat: automatic upgrade to vX.Y.Z release, and the origin of most
of the release entries in this file from here on. (#192)Fixed: a leading + was incorrectly stripped/ignored when parsing.
+ was incorrectly stripped/ignored when parsing. (#184)net8.0 target-framework attempt was added and reverted the same release (real net8.0 support
landed later, in v8.13.44 above, #264).Moved release/update scripts into a new lib/ directory — the layout CLAUDE.md still documents, and the home the metadata-automation script (v8.13.26,
lib/ directory — the layout CLAUDE.md still documents,
and the home the metadata-automation script (v8.13.26, above) landed in shortly after.Nothing published for this version
2 releases, metadata sync plus a CI tweak. No source changes.
2 releases, metadata sync plus a CI tweak. No source changes.
Nothing published for this version
2 metadata-only releases. No source changes.
2 metadata-only releases. No source changes.
Metadata release with a minor accompanying test update.
Metadata release with a minor accompanying test update.
Changed: reduced allocations on the parsing/formatting hot path by skipping internal protobuf-style builder objects.
Changed: reduced unnecessary regex construction and usage on hot paths. (#178) Cleaned up package dependencies.
Metadata-only release. No source changes.
Metadata-only release. No source changes.
Metadata release; a test method was extracted for reuse and the NuGet API key was rotated.
Metadata release; a test method was extracted for reuse and the NuGet API key was rotated.
Nothing published for this version
2 metadata-only releases (same day). No source changes.
2 metadata-only releases (same day). No source changes.
Metadata release; documented the metadata-update process in more detail and refreshed the packed README.
Metadata release; documented the metadata-update process in more detail and refreshed the packed README.
Metadata-only release. No source changes.
Metadata-only release. No source changes.
Added: net6.0 target framework.
net6.0 target framework.Format() uses stack-allocated Span<char> instead of heap allocations on the
formatting hot path; several other methods optimized. (#166)Metadata-only release. No source changes.
Metadata-only release. No source changes.
Added (Extensions): a System.Text.Json converter for PhoneNumber.
System.Text.Json converter for PhoneNumber.net46+ targets, embedded raw where
no zip exists, and built with Microsoft.Bcl.Compression for portable-library builds; removed the
old net35/net40/portable framework zips. (#147)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
5 releases, mostly metadata syncs plus release-script, CI, and test-tooling housekeeping (a System.Collections.Immutable bump included). No functional
5 releases, mostly metadata syncs plus release-script, CI, and test-tooling housekeeping (a
System.Collections.Immutable bump included). No functional library changes.
Added: the libphonenumber-csharp.extensions NuGet package, for C#-idiomatic helpers with no Java-upstream equivalent.
libphonenumber-csharp.extensions NuGet package, for C#-idiomatic helpers with no
Java-upstream equivalent. (#164)PhoneNumberToTimeZonesMapper, mapping a phone number to its candidate IANA time zones,
full-conformance ported from Google's Java implementation. (#163)net7.0 target framework.RegexCache is no longer LRU-evicted.RegexCache lookups sped up by roughly 10x.
RegexCache lookups sped up by roughly 10x. (#161)PackageIcon from the packed package instead of a URL.Nothing published for this version
The old protobuf-based metadata code-generation path was dropped as no longer compatible with the toolchain — metadata has been generated from XML onl
Nothing published for this version
Nothing published for this version
3 releases, metadata syncs plus a release-script fix. No source changes.
3 releases, metadata syncs plus a release-script fix. No source changes.
Metadata release; removed an unused locale-data-dump helper class and cleaned up its supporting tooling.
Metadata release; removed an unused locale-data-dump helper class and cleaned up its supporting tooling.
Metadata release; updated the LocaleData generator and its output rendering.
Metadata release; updated the LocaleData generator and its output rendering.
Nothing published for this version
Metadata release; rotated the NuGet API key and fixed file-name casing in a handful of test/source files alongside a large upstream metadata sync.
Metadata release; rotated the NuGet API key and fixed file-name casing in a handful of test/source files alongside a large upstream metadata sync.
Nothing published for this version
Nothing published for this version
3 metadata-only releases. No source changes.
3 metadata-only releases. No source changes.
- Added GitHub issue templates.
Nothing published for this version
Nothing published for this version
3 metadata-only releases. No source changes.
3 metadata-only releases. No source changes.
Nothing published for this version
Nothing published for this version
Nothing published for this version
4 metadata-only patch releases shipped in quick succession right after v8.12.39, below. No source changes.
4 metadata-only patch releases shipped in quick succession right after v8.12.39, below. No source changes.
Removed: the net35 target framework and other end-of-life targets.
net35 target framework and other end-of-life targets. (#146)PhoneNumberUtil instance's metadata from a stream at runtime, without
restarting the process. (#142)main.Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →