Releases: annexare/Countries
Release list
v3.4.1
✨ Alternative & former country names (#178, #179)
getCountryCode() now resolves a curated set of alternative names — fixing name→code lookups that broke when countries adopted new ISO short names:
- Former ISO names —
Czech Republic→CZ,Cape Verde→CV,Turkey→TR,Swaziland→SZ,Macedonia→MK,Burma→MM - Common short forms —
UK/Britain→GB,US/USA/America→US,UAE→AE,Holland→NL - Historical / colonial names —
Persia→IR,Ceylon→LK,Siam→TH,Rhodesia→ZW,Abyssinia→ET,Formosa→TW,Zaire→CD, and more - Spelling variants —
Byelorussia→BY,Rumania→RO,Bahrein→BH, plus diacritic-freeCote d'Ivoire,Turkiye
New optional alias?: string[] on ICountry (also surfaced via getCountryData). A build-time guard test ensures no name, native, or alias is ever ambiguous. Adds ~1.2 KB to countries.min.json — fully non-breaking.
Myanmar (Burma) is now cleanly Myanmar, with Burma / Myanmar (Burma) kept resolvable as aliases.
🛠 Tooling (#176, #180)
- Adopt TypeScript 7; extend
check-typesto all workspace packages. - Align
packageManagerto bun@1.3.14; sync workspace versions. - Version-bump script now runs Biome format automatically (keeps releases lint-clean).
Full changelog: v3.4.0...v3.4.1
v3.4.0
What's Changed
ISO 4217 currency support (#166, #167, #169, #171)
- New
countries-list/currenciessubpath export:currenciesdata plusgetCurrency()andgetCurrencyByNumeric()helpers - Each currency includes:
name,nativename,symbol(narrow, Unicode CLDR),symbolNative,numeric(three-digit ISO code),decimals(minor unit), andwithdrawnflag for codes no longer in the current ISO list - New JSON artifacts:
currencies.min.json,currencies.all.min.json,minimal/currencies.numeric.min.json,minimal/currencies.symbol.min.json - Country currency data actualized to the current ISO 4217 list (#167), ZWG (Zimbabwe Gold) added (#169)
ISO 3166 short names (#170)
- Czech Republic → Czechia (native: Česká republika → Česko)
- Cape Verde → Cabo Verde
⚠️ getCountryCode()lookups by the previous long-form names no longer resolve — use the ISO short names
Tooling & tests
- TypeScript 6, Biome 2.5, Turborepo dropped in favor of Bun workspace scripts (#168)
- Published bundles are now tested under the real Node.js runtime (CJS + ESM, main and currencies entry points) in CI (#173)
Full Changelog: v3.3.0...v3.4.0
v3.3.0
What's Changed
- Turkey → Türkiye: Updated
namefield per ISO 3166 (#100, #147) - Currency ordering: Official/primary currency listed first for Chile (
CLP), Uruguay (UYU), and El Salvador (USD) (#97) - Ascension Island (AC) & Tristan da Cunha (TA): Added exceptionally reserved ISO 3166 codes with
partOfhierarchy AC/TA → SH → GB (#148) - Publishing: npm provenance enabled for supply chain security
Full details: #163
Thanks
Thanks to @JoJk0, @beytarovski, @janoma, @oliviertassinari, @shreyashah115, and @LKay for reporting issues and contributing to this release!
Trusted publishing for npm packages
Update data; use Bun, Biome and Lefthook
What's Changed
Data changes:
- Afghanistan: Add missing 'fa' to languages
- Burundi: Update capital from Bujumbura to Gitega (moved in 2019)
- Philippines: Add 'tl' (Tagalog) to languages #149
- Saudi Arabia: Update native name to full official #43
- Cambodia: Correct native name to Khmer script 'កម្ពុជា' #141
- Belarus: Remove stress mark from native name 'Беларусь' #136
- Switzerland: Currency order #143 #144 (thanks @rimdebbech)
Technical changes:
P.S. Sorry for such a delay with this. Please report if something's off.
Full Changelog: v3.1.1...v3.2.0
Improve `getCountryCode()`
What's Changed
- Improve getCountryCode(), support special characters and trim any whitespace around the name by @dmythro in #142
Full Changelog: v3.1.0...v3.1.1
Update data & types (new `partOf`, `userAssigned` params for countries)
What's Changed
Full Changelog: v3.0.6...v3.1.0
