This is v0.6.0's content, released under a tag Packagist will actually index.
composer.json carried a hardcoded "version": "0.5.0", so Packagist skipped
the v0.6.0 tag outright — "tag (0.6.0.0) does not match version (0.5.0.0)" —
and the release existed on GitHub while being uninstallable. The field is gone;
Composer infers the version from the tag, which is what it should have done all
along.
Fixed
The addressing library's code is a display name, not an ISO code. We were
reading getCode() — the postal or display abbreviation, "A Coruña" for Spain,
"Hokkaido" for Japan — where getId() carries the ISO 3166-2 code this package
speaks. It failed in two directions at once: most values were rejected by the
format check and silently skipped, so Spain returned 0 of its 52
subdivisions, while a short alphanumeric display name slipped through as a
plausible invention — Japan's "Mie" became JP-MIE, which is not an ISO code at
all. The real one is JP-24.
Changed — breaking
CountryCode and SubdivisionCode now serialise as bare strings. "DK",
not {"value":"DK"}. Encoding an object of public readonly properties Just
Works, which was the problem: the wrapper that keeps free text out of the domain
was leaking into every payload it appeared in, and that shape becomes an API's
response format by accident rather than by decision.
If you persist or transmit these encoded, the shape changes. That is why this is
a minor bump rather than a patch.
Added
Testing/ fakes — ArrayJurisdictionRepository and InteractsWithGeo, so a
consumer can test a checkout that merely needs Denmark to exist without standing
up the full addressing library. This package's own suite composes the trait, so
the fake is exercised by the tests that ship it rather than merely described.