NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #3616 most downloaded on pub.dev
Lightweight Flutter country and locale utilities with ISO 3166-1/2 codes, calling codes, localized names, device locale detection, and search.
Last release 11 days ago
26 Sep 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 9 of 10 stable releases
Nothing withdrawn
no release was ever pulled
7 months old
10 releases · first in 2026
One column per month.
Fixed\n\n- Correct the Slovak localized name of Greece to Grécko when older platform locale data returns the misspelling Greécko .\n\nPublished on pub
Grécko when older platform locale data returns the misspelling Greécko.\n\nPublished on pub.dev.Grécko across supported native platforms.This is a breaking change for consumers using country_codes_plus .
This release adds Web support, AX/SZ country data, null-safe code lookups,
flag emoji, longest-prefix phone-number matching, deterministic CLDR locale
inference, indexed lookups, integrity validation, and refreshed pub.dev
metadata/docs. No intentional breaking public API changes were introduced.
Highlights:
meta and test_api).android.enableR8 option, disable the unused Jetifier compatibility layer, and ignore generated iOS Swift Package Manager files.VALID_ARCHS setting with EXCLUDED_ARCHS.Notes:
Highlights:
CountrySubdivision from the legacy country_codes.dart entrypoint.hashCode, and toString() support to public model classes.FlutterFramework dependency and align the iOS CI checkout path with the package identity.Notes:
Highlights:
CountryCodes.lookupDetails() returning CountryLookupResult with explicit lookup status.searchSubdivisions() and subdivisionTypesForCountry().DialCodeFormatter with configurable separator and international-prefix preservation control.Notes:
Highlights:
CountryCodes.init() to safely handle null/short/invalid platform channel payloads.detailsForLocaleOrNull() as a null-safe lookup API while preserving existing detailsForLocale().detailsFromAlpha2() UX with case-insensitive input and clear ArgumentError messaging.DialCodeFormatter from crashing when a dial code cannot be resolved.Notes:
Highlights:
XK) to the built-in country list returned by CountryCodes.countryCodes().XKX), dial code (+383), and locale mapping (sq_XK).subdivisions(), subdivisionsForCountry(alpha2), and subdivisionFromCode(code).XK.Notes:
Highlights:
Package.swift manifests for iOS and macOS under the plugin package layout expected by Flutter tooling.Notes:
Highlights:
Notes:
Highlights:
lib/country_codes_plus.dart entrypoint and keep the legacy entrypoint as a re-export.lints to 6.1.0 and related transitive updates).Notes:
Highlights:
country_codes_plus (update imports and dependency names).Notes:
country_codes_plus.Highlights:
Locale('en') defaults to US) with tests.dart analyze, unit tests, and example builds for Android/iOS.Notes:
AX) and Eswatini (SZ).AX and SZ country data and order-dependent language inference.No intentional breaking public API changes are included.
Update Android tooling to Kotlin 2.3.20 and migrate the plugin Gradle build to the current Kotlin DSL.
Export CountrySubdivision from the legacy country_codes.dart entrypoint for compatibility with explicit subdivision type annotations.
CountrySubdivision from the legacy country_codes.dart entrypoint for compatibility with explicit subdivision type annotations.allCountries, searchCountries(), detailsFromAlpha3(), countriesFromDialCode(), and countryFromDialCode().hashCode, and toString() implementations for public model classes.FlutterFramework dependency and make iOS CI checkout path match the package identity.Add rich locale lookup API: CountryCodes.lookupDetails() with explicit success/error status.
CountryCodes.lookupDetails() with explicit success/error status.searchSubdivisions(query, ...) and subdivisionTypesForCountry(alpha2).DialCodeFormatter with configurable separator and optional preservation of user-entered international prefixes.Harden CountryCodes.init() against null/short/invalid platform payloads and avoid RangeError.
CountryCodes.init() against null/short/invalid platform payloads and avoid RangeError.CountryCodes.detailsForLocaleOrNull() for null-safe locale resolution while keeping detailsForLocale() behavior explicit.detailsFromAlpha2() case-insensitive and return clearer ArgumentError for unknown codes.DialCodeFormatter crashes when dial code cannot be resolved.Add Kosovo (XK) to the country list returned by CountryCodes.countryCodes().
XK) to the country list returned by CountryCodes.countryCodes().XKX, dial code +383, and locale mapping sq_XK.XK).Add Swift Package Manager manifests for iOS and macOS plugin targets.
Improve package documentation for pub.dev (README badges and install instructions).
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →