Skip to content

Latest commit

 

History

History
523 lines (351 loc) · 28.5 KB

CHANGELOG.md

File metadata and controls

523 lines (351 loc) · 28.5 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

How do I make a good changelog?

Guiding Principles

  • Changelogs are for humans, not machines.
  • There should be an entry for every single version.
  • The same types of changes should be grouped.
  • Versions and sections should be linkable.
  • The latest version comes first.
  • The release date of each version is displayed.
  • Mention whether you follow Semantic Versioning.

Types of changes

  • Added for new features.
  • Changed for changes in existing functionality.
  • Deprecated for soon-to-be removed features.
  • Removed for now removed features.
  • Fixed for any bug fixes.
  • Security in case of vulnerabilities.

[Unreleased]


[1.30.2] - 2026-10-14

  • Remove the America/Rainy_River override to Chicago so TZInfo follows IANA timezone data, which aligns northwestern Ontario with Manitoba on permanent UTC-5 from November 1, 2026. Map its Rails-compatible fallback to America/Bogota, matching Winnipeg.
  • Add translations for the four Canadian time zones in 13 more languages. #628
  • Add bn, ca, et, eu, gl, gu, ka, lv, mr, sr, ta, te, and uk to translation.yml target languages so the Translation Platform generates localizations of the region address data #611

[1.30.1] - 2026-10-08

  • Normalize America/Rainy_River to America/Chicago to preserve Central Time clock changes.

[1.30.0] - 2026-10-07

  • Add Vancouver, Whitehorse, Edmonton, and Winnipeg to Worldwide::TimeZone.all with localized labels, permanent-offset ordering, and Rails-compatible legacy mappings. #625

[1.29.0] - 2026-09-29

  • Add contains_email error messages to every address field that has a contains_url message, including the country-specific overrides for relabeled neighborhood and district fields, so address validators can tell buyers a field can't hold an email address. #618

[1.28.2] - 2026-09-25

  • Add the missing 2061 postcode to Australia's example address and correct its suburb to Kirribilli. #606
  • Remove the Brazilian address1_regex pattern that split a comma-delimited building number followed by a complement keyword, added in 1.26.3. #613

[1.28.1] - 2026-09-23

  • Accept USDC as the only supported non-ISO currency code, while malformed and other unknown codes stay out of the currency cache. #607
  • Apply CLDR fallbacks for hosts that read I18n.fallbacks from Thread.current, which stopped seeing them in 1.25.6. #607

[1.28.0] - 2026-09-21

  • Add Region#iso_3166_code_assigned? to distinguish currently assigned ISO 3166-1 alpha-2 codes from other region codes. #598
  • Reject malformed currency codes before caching. #596
  • Add IE Eircode routing keys N39 (Longford) and N41 (Carrick-on-Shannon) to each other's zips_crossing_provinces entries, so both are valid for Longford and Leitrim. #601
  • Avoid retaining unknown locale codes in the global locale cache. #597
  • Avoid excessive backtracking in Dutch address fallback parsing. #599

[1.27.0] - 2026-09-11

  • Add the 81 province (il) zones for Türkiye (TR-01..TR-81), staged behind ignore_provinces and hide_provinces_from_addresses. Each zone carries its plaka number as a zip_prefix, so a province can be inferred from the postal code. Address forms and validation are unchanged until the flags are removed.

[1.26.3] - 2026-09-01

  • Select CLDR storage based on i18n's config behavior instead of Ruby's Fiber API. #586
  • No longer require building number for Chile. #585

[1.26.2] - 2026-08-05

  • Fix address1_regex for NL/BE/DE so house numbers with uppercase unit letters (Voltastraat 2 A), hyphenated ranges (Philippusweg 3-5), roman-numeral suffixes (Kerkstraat 12-II), and NL streets starting with an ordinal (1e Helmersstraat 5) split correctly instead of dumping the whole value into streetName. #565

[1.26.1] - 2026-07-29

  • Add IE Eircode routing key H16 (Cootehill) to zips_crossing_provinces so it is valid for both Cavan and Monaghan. #562

[1.26.0] - 2026-07-22

  • Add Worldwide::BusinessNames.abbreviated for script-aware abbreviation of a single business name string. #538 #553
  • Add Worldwide::Names.abbreviated to abbreviate personal names by script. #539
  • Fix trailing whitespace in formatted Japanese addresses when the postal code is blank or excluded. #548
  • Fix Address#format dropping backslash sequences (e.g. \2) in field values. #533

[1.25.6] - 2026-07-21

  • Bump i18n from 1.14.1 to 1.15.2 (now required as >= 1.15) and update Cldr.with_cldr to mirror i18n's fiber-aware config and fallbacks storage so the CLDR config still applies on Ruby 3.2+. #540

[1.25.5] - 2026-07-14

  • Fix Nova Scotia HST rate from 15% to 14% #529

[1.25.4] - 2026-07-08

  • Update translations: buyer #523

[1.25.3] - 2026-07-08

  • Add ar, he, and ur to translation.yml target languages so the Translation Platform generates RTL localizations of the region address data #519
  • Fixed: format Urdu (ur) percentages with a trailing % sign in numeric layout order (e.g. 2% instead of %2), matching the existing Hebrew behaviour. #518

[1.25.2] - 2026-07-02

  • Bump phonelib from 0.10.17 to 0.10.22 to pick up updated libphonenumber metadata.

[1.25.1] - 2026-05-26

  • Update postal code expectations in Portugal to require seven digit postal code (XXXX-XXX) #493

[1.25.0] - 2026-05-22

  • Add district and subdistrict address fields, labels, and validation messages.

[1.24.2] - 2026-04-27

  • Update CLDR subdivision names for IT-OT (Gallura Nord-Est Sardegna) and IT-CI (Sulcis Iglesiente) in :en, :it, and :de only; other locales remain on stale upstream CLDR pending an upstream fix #458

[1.24.1] - 2026-04-15

  • Update zips_crossing_provinces in IE #454

[1.24.0] - 2026-04-13

  • Update IT Sardinian provinces and zip prefixes #451

[1.23.2] - 2026-03-26

  • Add zip code prefix support for Ireland (IE) #440

[1.23.1] - 2026-03-25

  • Bump phonelib from 0.8.7 to 0.10.17, fixing phone validation for newly allocated number prefixes (e.g. Saudi Arabia 57x)
  • Bump mocha from 2.0.2 to 3.1.0 for compatibility with newer minitest

[1.23.0] - 2026-03-12

  • Mark 17 countries as tax-inclusive: AR, CL, CO, EG, ID, IL, KZ, MX, PE, PH, QA, SA, KR, TW, TH, AE, VN #438

[1.22.0] - 2026-03-09

  • Add CLDR unit formatting support for 12 new measurement categories: area, duration, electric, energy, frequency, light, power, pressure, speed, temperature, digital, and graphics (~50 new unit keys with locale-aware formatting) #436
  • Fix patch_units_file to handle CLDR alias references stored as Symbols in root locale #436

[1.21.3] - 2026-01-26

  • Add address1 and address1_with_unit formatting keys for NL #427

[1.21.2] - 2026-01-22

  • Update Israel VAT rate from 17% to 18%

[1.21.1] - 2026-01-13

  • Fix GB postal code regex to reject invalid outward code formats (AA99A, A99A) that were incorrectly accepted (e.g., "KT11X 2JH")
  • Fix LU postal code regex to allow zero as first digit for packstation addresses (e.g., "0692")

[1.21.0] - 2025-10-14

  • Bulgaria to start using EUR as its official currency as of Jan 1, 2026 #413

[1.20.1] - 2025-10-14

  • Patch pt subdivisions to remove superscript marker on Spanish provinces #392

[1.20.0] - 2025-10-15

  • Add has_provinces? method to Region #396

[1.19.0] - 2025-10-15

  • Add new method zip_type to determine if a postal code is NUMERIC, ALPHANUMERIC, or NUMERIC_AND_PUNCTUATION#395

[1.18.0] - 2025-10-08

  • Fix broken CLDR data rake tasks #389
  • Read paths files in configure_i18n instead of at module initialization (ibid.)
  • Regenerate files to include minor translation updates from previously released changes (ibid.)
  • Add CI for CLDR data rake tasks (ibid.)
  • Add Traditional Chinese translations for Chinese provinces and subdivisions of Taiwan #390

[1.17.5] - 2025-07-31

  • Update Romania VAT rate from 19% to 21% #379
  • Add iana_to_rails_time_zone mapping for America/Coyhaique #378

[1.17.4] - 2025-07-02

  • Remove postal codes requirement for Romania #375

[1.17.3] - 2025-06-23

  • Require postal codes in Romania #368

[1.17.2] - 2025-06-18

  • Add name formatter translations for missing languages #367
  • Update South Africa to be considered Tax Inclusive #352

[1.17.1] - 2025-06-06

  • Require postcodes and update regex in MT #354
  • Introduce name_alternates for NZ regions #357

[1.17.0] - 2025-02-27

  • Add has_cities? method to regions #331
  • Update known zip prefixes for Portugal (PT) [#332]#332
  • Allow zone lookup by partial zip if country hides provinces [#332]#332
  • Add has_zip_prefixes? and neighbors methods to Region [#332]#332

[1.16.0] - 2025-02-17

  • Add ignore_provinces to regions #329

[1.15.2] - 2024-12-27

  • Update Indonesia tax rate to 12%

[1.15.1] - 2024-12-20

  • Set Malaysia and Singapore as tax_inclusive #323
  • Update or correct example zips #324
  • Correct zip regex patterns and make them Javascript-compatible #325

[1.15.0] - 2024-12-16

  • Add zip requirement and tax inclusive methods to country regions #320
  • Set Ireland (IE) zip as a required address field #321

[1.14.4] - 2024-12-12

  • Speed up configure_i18n by precomputing paths and indexing descendants #316
  • Update BV phone number prefix to 47 (Norway) #318
  • Update Finland's (FI) tax rate #319

[1.14.3] - 2024-12-02

  • Add street_number.missing_building_number messages #313

[1.14.2] - 2024-11-11

  • Update translations #303

[1.14.1] - 2024-11-08

  • Improve Worldwide::Config.configure_i18n performance #301

[1.14.0] - 2024-11-07

  • Add example_city_zip and priority accessors to Regions #298
  • Add tax_type accessor to Regions #299

[1.13.0] - 2024-11-06

  • Add zip_prefixes for Spain. #295
  • Move expensive resource initialization into an explicit eager_load! namespace method #297

[1.12.1] - 2024-10-15

  • Update BR address1_regex to remove lookbehinds #

[1.12.0] - 2024-10-11

  • Update Address splitting methods to split on the first delimiter #291

[1.11.1] - 2024-10-02

  • Configure regexp timeout in Worldwide#Phone #290

[1.11.0] - 2024-10-02

  • Add address1_regex to regions #281
  • Add address1_regex for BE, CL, MX, ES, IL #282
  • Add address1_regex for DE #286
  • Update legacy timezone mappings for Europe/Kiev #288

[1.10.0] - 2024-09-16

  • Add alternate Arabic names for UAE zones #283

[1.9.0] - 2024-08-12

  • add support for additional address fields streetName, streetNumber in DE #273
  • set additional_field neighborhood as required in BR #279

[1.8.0] - 2024-08-09

  • Bump Ruby to 3.3.1; drop support for 3.0.x #264
  • Add support for partial zip matching for SG #271

[1.7.5] - 2024-08-01

  • Update legacy timezone mappings for America/Indianapolis and Asia/Calcutta #267

[1.7.4] - 2024-08-01

  • Nothing, released by mistake.

[1.7.3] - 2024-07-30

  • Update NZ postcode prefixes #265

[1.7.2] - 2024-07-25

  • Associates Kosovo with Southern Europe #216

[1.7.1] - 2024-07-25

  • Update iana_to_rails_time_zone mappings for 11 tz's, add time zone data consistency tests#259
  • Add consistency test for default and optional field labels #258

[1.7.0] - 2024-07-17

  • Introduce example_address to the worldwide region, update country ymls #257

[1.6.2] - 2024-07-10

  • Improve tests related to building number requiredness #249
  • Update Dutch translations for street_number #236

[1.6.1] - 2024-07-03

  • Move Units constants SUPPORTED_HUMANIZATIONS and MEASUREMENT_KEYS to Worldwide.units.supported_humanizations and Worldwide.units.measurement_keys #240
  • Allow house numbers on address2 for Japan #245

[1.6.0] - 2024-06-21

  • Support multiple script-based address concatenation rules for each country #224
  • Fixed a typo in list of supported scripts from Latn to Latin

[1.5.0] - 2024-06-17

  • Make street number optional in CL #228

[1.4.1] - 2024-06-17

  • Add translations for neighborhood error strings in AE, CR, KW, PA, PE, SA #220

[1.4.0] - 2024-06-14

  • Add localized error strings for neighborhood in AE, CR, KW, PA, PE, SA #215
  • Change delimiter from Non-Breaking Space to Word Joiner #221

[1.3.1] - 2024-06-11

Patch release containing many non-english translation updates

[1.3.0] - 2024-06-10

  • Update translations for neighborhood too_long error message, add translations for localized neighborhood errors in MX, PH #191
  • Generate concatenated address1/2 values when some additional field values are present #199
  • update street_name and street_number too_long error message #203
  • Additional field definitions in AE, CR, KW, PA, PE, SA, updated decorators for PH, VN #206
  • All error messages now contain an _instructional and _informative key. If the Worldwide::Field::error method is called with a code that does not end in either _instructional or _informative, the Worldwide::Field::error method will append _instructional to the code and returns this error message. #205

[1.2.0] - 2024-06-05

  • Merge duplicate language definition on some region yaml files to restore missing languages; NO adds "en" and "nb", SA adds "en", SG does not change #188
  • updated format_extended for TW VN [#187]#187)
  • Add IANA timezone to rails timezone mappings #194

[1.1.0] - 2024-06-04

  • Add support for _instructional and _informative error message types. Fields without an _instructional error translation key, will fall back to their previous field's error message #140

[1.0.0] - 2024-05-30

  • update neighborhood too_long error message, add MX, PH neighborhood labels #182

[0.15.0] - 2024-05-30

  • Created npm package @shopify/worldwide (see README.md) #167
  • Update additional_address_fields and introduce combined_address_format definitions, introduce Region#{field}_required? methods for street_name, street_number, and neighborhood #177

[0.14.0] - 2024-05-29

  • Add support for a line2 address field #173
  • Re-add city to UAE address form and disable city autofill #175

[0.13.0] - 2024-05-27

  • Add Address#split_address1 and Address#split_address2 methods #165
  • Add Address#concatenated_address1 and Address#concatenated_address2 methods #158
  • Updated root translation keys for regional locales bg-BG, hr-HR, lt-LT, ro-RO, sk-SK, sl-SI to the base locale (e.g. bg) #164.
  • Remove city from UAE address form and enable city autofill #159
  • Support additional fields in IL, update streetNumber and neighborhood requirement for BE, CL, ES, MX #166

[0.12.2] - 2024-05-21

  • Add missing address1 and address1_with_unit formatting keys for GB #160.

[0.12.1] - 2024-05-17

  • Use >= instead of ~> for activesupport in .gemspec #156

[0.12.0] - 2024-05-15

  • Add pry-byebug gem #149
  • Introduce additional_address_fields to Region class and define them for BE, BR, CL, CO, ES, ID, MX, NL, PH, TR, VN #148
  • Define format_extended attribute on 12 country regions #150

[0.11.1] - 2024-05-13

  • Handle blank strings for Region, country_code parameter in Zip normalization #138
  • Reposition zip in NF show: format to come after country, not before city. #142
  • Allow building number on address2 for CH #143
  • Attempt to fix stringio incompatibility with Ruby 3.3 (deployment error) #145

[0.11.0] - 2024-04-11

  • Add country_prefix to phone #133
  • Add autofill_city to region #132
  • Re-introduce city from UAE address form and disable city autofill #131
  • Add translations for regionalized zip_unknown_for_address, province_unknown_for_address #125, #126
  • Remove city from UAE address form and enable city autofill #127
  • Add logic for known-to-exist extant outcodes for GB #136

[0.10.3] - 2024-03-14

  • Add regional language for zip_unknown_for_address, province_unknown_for_address. Remove error message for zip_unknown_for_street_and_city #121
  • Fix broken CLDR import/patch/generate rake tasks #119
  • Patch El Salvador department names, standardizing on not including "department of" #120

[0.10.2] - 2024-03-12

  • Add translations for address line 1, 2 concern messages #115, #116
  • Make new concern messages more generic for address line 1, 2 #114
  • Add localized concern messages when field is unknown for address #109

[0.10.1] - 2024-02-27

  • Return early if country_code is nil Zip::Normalize #110

[0.10.0] - 2024-02-13

  • New UTC long timezone format #103
  • Configure FR to hide provinces from addresses #101

[0.9.0] - 2024-02-05

  • Add Thai to the list of scripts identified by Worldwide::Scripts.identify. #96
  • Add translations for address fields with invalid province errors. #97

[0.8.0] - 2024-02-02

  • Add translations for address fields with mathematical symbols errors. #92
  • Enable lookup of Region by alternate name. #93
  • Allow lookup of EU region using alternate code QUU. #94

[0.7.1] - 2024-02-01

  • Patch in a name for CQ (Sark). #84
  • Patch data related to region 830 (Channel Islands). #85
  • Patch name of SZ (eSwatini) in Italian. #86
  • Patch names of HK and MO in zh-TW and zh-Hant. #87
  • Patch name of GB (United Kingdom) in Suomi. #88

[0.7.0] - 2024-01-31

  • Support address field lookup when there is no country code. #82

[0.6.8] - 2024-01-31

  • Prefer "SAR" over "SAR China" in Chinese-language names for regions HK and MO. #79.
  • Add Worldwide::Field.valid_key? method. #80

[0.6.7] - 2024-01-30

  • Patch some territory names (BQ, NL, TF, TR) #77

[0.6.6] - 2024-01-25

  • Allow building numbers on address2 field for Portugal addresses #73

[0.6.5] - 2024-01-24

  • Allow building numbers on address2 field for Polish addresses #71

[0.6.4] - 2024-01-22

  • Allow building number in address2 for BE #70
  • Update Singapore GST in preparation for January 1 2024 increase #68

[0.6.3] - 2023-12-11

  • Change HM, TF and GS group_name to respective continents based on M49. #60

[0.6.2] - 2023-12-11

  • Zone lookup by Hash #61

[0.6.1] - 2023-12-11

  • Allow building number in address2 for DK #53
  • Avoid .present? and .blank? so we don't require Rails #57
  • (bugfix) Zone lookup by name #58

[0.6.0] - 2023-12-08

  • Add localized concern messages for address1 + 2 warnings and address may not exist message #54
  • Change gem description #51

[0.5.1] - 2023-11-29

  • Fix for building_number_required to default to false [#48]

[0.5.0] - 2023-11-20

  • Add support for Region#associated_continent to return the containing continent of the region #43
  • Add more postal code prefixes for KR #44
  • Add name alternates for the zones of South Korea #45
  • Add support for Hangul and Arabic script detection, update Latn regexp #46

[0.4.1] - 2023-11-10

  • Add support for deprecated timezone Australia/Canberra #35
  • Add alternate codes for territories #39
  • Allow building numbers on address2 field for Austrian addresses #40
  • Add zone name alternates for Italy #42

[0.4.0] - 2023-11-08

  • Add region name alternates #32
  • Cache Region#parent_name #33
  • Use hash tables to look up regions by code #36

[0.3.0] - 2023-11-03

  • Add code alternates for Japan #23
  • Add code alternates for Puerto Rico #24
  • Record multiple parents per region #27
  • Add region.building_number_may_be_in_address2 #28
  • Lookup by parent-child ISO and CLDR codes for dual-status territories #29
  • Handle ISO_CODE only zones lookup #26

[0.2.0] - 2023-11-01

  • Add Region#group and Region#group_name #15
  • Ensure Region#has_zip? returns a boolean for all regions #17
  • Zip normalization bugfix when parent isocode is not set #6
  • Update region parent when alternates are defined #18
  • Add partial matching for Region#valid_zip? #19

[0.1.1] - 2023-10-27

  • Fix issue with deploy to rubygems.org failing

[0.1.0] - 2023-10-27

  • Initial release of Worldwide