Skip to content

v2.2.0

Latest

Choose a tag to compare

@robinvdvleuten robinvdvleuten released this 01 Oct 18:21
082e935

2.2.0 (2026-10-01)

Features

  • add AddressValidator, which validates a plain address (2d1b8fe), closes #52
  • add FieldViolation, one field of an address that breaks a rule of its address format (2d1b8fe)
  • remove the undocumented AddressFormatHelper class, whose required fields rule moved into AddressValidator (2d1b8fe)
  • remove the undocumented verify_address_format, verify_subdivisions and verify_postal_code methods from models that call validates_address_format (2d1b8fe)
  • support validates_address_format on plain ActiveModel classes (821469b), closes #57

Bug Fixes

  • check origin_country with the other formatter options (4e4dfbf), closes #53
  • include address_line3 in validates_address_format default fields (1739846), closes #47
  • load address formats from JSON and freeze their field lists (e9bbbc1), closes #43 #49
  • make subdivision lookups independent of load order and platform (31e1c4b), closes #56
  • raise ArgumentError for a nil origin_country in PostalLabelFormatter (954ba68), closes #45
  • read a subdivision definition that upstream writes as an empty array (7dc6e72)
  • read the data files as UTF-8, independent of the locale (aeafad8), closes #44
  • report a missing country code as a field violation (15c23e6), closes #58
  • share one blank check between Subdivision and AddressValidator (b469c0b)
  • upcase country codes on Address and the postal label origin (f1e6554), closes #46
  • validate the html_tag and locale formatter options (cbd90c3)

Performance Improvements

  • cache fewer country lists and address formats (1c5bc0a)
  • check for subdivision children without building them (04eb8c1)