Skip to content

Rigour 2.2.0

Choose a tag to compare

@pudo pudo released this 16 Jul 15:36
· 116 commits to main since this release

This release improves name matching correctness and performance, expands territory data, and fixes several Unicode normalization edge cases.

Name matching

  • Reworked symbol pairing to avoid exponential slowdowns on long names while keeping ordinary matching behavior unchanged.
  • Made pairing output and part_tags application deterministic.
  • Preserved full numeric identifiers, preventing collisions and precision loss for large registry numbers.
  • Applied numeric mismatch penalties consistently to Unicode numerals.
  • Fixed repeated name parts such as the initials in “A A Milne” so every occurrence can be aligned.
  • Improved organization-type replacement across case variants, Unicode case folding, repeated whitespace, and invisible formatting characters.
  • Added organization-class evidence for aliases even when names have not been rewritten.
  • Refreshed the embedded person-name corpus using token-frequency and Wikidata data.

Text handling

  • SQUASH_SPACES now removes invisible formatting characters such as zero-width spaces, soft hyphens, BOMs, and word joiners.
  • Information separators U+001C–U+001F are now treated as whitespace.
  • Improved transliteration caching by sharing results process-wide and avoiding repeated script scans.
  • Territory names containing digits can now be transliterated correctly.

Territories

  • Added first-level subdivisions for Australia, Brazil, Germany, and Ukraine, plus England.
  • Corrected country, jurisdiction, ownership, historical-successor, Wikidata, and regional metadata across the territory dataset.
  • Added region and subregion metadata for Kashmir.
  • Renamed Nauru to its new official name, Naoero, while retaining Nauru and Republic of Nauru as strong aliases.

API and build changes

  • Alignment.score and Alignment.weight setters now accept integers and other numeric values.
  • Removed the unused public helpers can_latinize_cp and LATINIZE_SCRIPTS; use can_latinize() instead.
  • Builds now fail explicitly when required embedded data files are missing.
  • Expanded Rust CI coverage and corrected release provenance attestation behavior.
  • Updated Rust dependencies, including PyO3, regex, bitflags, and lru.

Full comparison: v2.1.2...v2.2.0