Skip to content

v1.2.0 — Phase A: PHP validation, PHPUnit, and docs

Choose a tag to compare

@joshdaugherty joshdaugherty released this 12 Apr 22:13
· 27 commits to main since this release

Minor release: first-party PHP validation aligned with bundled data/inventory.json and data/normalization.json, plus PHPUnit golden strings and README guidance. schema_version stays 1.0.0; the scalar allowlist is unchanged — this release bumps dataset_version / npm to 1.2.0 for the new API surface and tooling.

Added (PHP)

  • Inventory — fromDisk(), constructor with a prebuilt map for tests, isScalarAllowed(int $cp) (surrogates and out-of-range rejected).
  • TranscriptionValidator — delimiter stripping (none, inventory delimiter rows, or custom code points), normalization.json (longest from first), optional Wikimedia-style ASCII ('→ˈ, :→ː, ,→ˌ), then isValid() per scalar. See class PHPDoc for strip vs U+0027 ordering.
  • InventoryLoader::delimiterScalarSet() — delimiter category code points from inventory.
  • ext-mbstring required for UTF-8 iteration in PHP.

Added (quality & CI)

  • PHPUnit (composer test), phpunit.xml.dist, golden-string tests under tests/ (e.g. ʧ, combining marks, delimiters, normalization, Wikimedia ASCII, invalid UTF-8).
  • GitHub Actions runs composer install && composer test after npm test.

Documentation

  • README: explicit Unicode scalar (not grapheme-cluster) guarantee; migrating from Wikimedia IPAValidator comparison table.

Install

PHP

composer require joshdaugherty/ipa-unicode-inventory:^1.2

Node (maintainers)

npm install ipa-unicode-inventory@^1.2.0

Full notes: CHANGELOG.md.