Releases: faustbrian/go-international
Release list
github.com/faustbrian/go-international v1.1.0
Added
- Target-oriented PostgreSQL, Validation, and wire adapter packages.
- Compiler-checked examples for canonical and legacy adapters.
Compatibility
The existing internationalpgx, internationalvalidation, and
internationalwire imports remain available for the documented support
interval. Behavior and error identities remain compatible with the
canonical adapters.
Maintenance
CLDR monitoring now uses Unicode's versioned stable distribution record
instead of a GitHub feed that changed for prereleases and production
snapshots. The exact CLDR 48.2 sources remain pinned.
github.com/faustbrian/go-international v1.0.0
1.0.0 - 2026-08-25
Changed
-
Refresh the reviewed zero-mutant identity for the extracted wire package
without weakening the exact mutation contract. -
Exclude intentional nested modules from root local-proxy archives so local,
bootstrap, CI, and public module checksums describe the same source
boundary. -
Track the pinned documentation-tool lockfile so clean CI checkouts install
the exact validated cspell dependency. -
Reconcile standalone dependency checksums against deterministic current
module archives so CI, local verification, and release consumers resolve
identical content. -
Harden standalone documentation validation with deterministic spelling and
link checks, package-specific documentation gates, and repository-local
contributor guidance.
Documentation
- Link the package README to the repository-wide Golib documentation portal.
- Keep the initial
v1.0.0scope under Unreleased until a tag is published.
Changed
- Publish the module from its standalone
github.com/faustbrian/go-internationalidentity while preserving its documented API and behavior. - Replace obsolete owned-module pseudo-version pins with the monorepo's local
v0.0.0source-proxy coordinates; release tooling continues to emit exact
v1.0.0dependency versions. - Repair malformed UTF-8 parse-error reasons before returning diagnostics and
classify oversized dataset review inputs as resource-limit failures. - Add opt-in country-aware postal-code syntax validation compatible with the
pinnedbrick/postcode0.5.0 rules used by legacy Postal callers. - Restore source-resolvable owned dependency versions after local zero-version
metadata made the international module unusable outside the repository. - Add bounded, locale-neutral full Unicode lowercasing for protocols that
require multi-rune and context-sensitive lowercase mappings. - Replace nonexistent owned-module v0.1.0 tags with available main revisions
so clean consumers can resolve the international module. - Run API compatibility against the repository's isolated owned-module graph
instead of stale published checksums. - Refresh owned-module checksums against the final consolidated archives.
- Use deterministic execution counts for default fuzz smoke campaigns while
allowing explicit duration overrides for extended fuzzing. - Normalize standalone module metadata against the canonical owned dependency
graph, including complete checksums for clean consumer resolution. - Bound and sanitize public parse-error kinds so hostile diagnostics cannot
panic or echo overlong caller-controlled labels. - Isolate Make-based release gates from ignored local Go workspaces so local
verification uses the dependency versions pinned ingo.mod, matching CI. - Replace the unpublished validation revision with its available successor
and record its module checksums for reproducible clean-checkout builds. - Require 100% mutation coverage and efficacy across all country, subdivision,
language, locale, currency, phone, and postal acceptance and canonicalization
implementations, in addition to selected semantic mutants. - Keep provenance and documentation gates portable on clean CI runners without
requiring ripgrep outside the declared Go toolchain.
v1.0.0 scope
The following initial scope is included in v1.0.0.
- Establish typed country, subdivision, language, locale, currency, phone, and
postal primitives. - Pin CLDR 48.2, IANA 2026-06-14, ISO 4217 2026-01-01, and libphonenumber
v9.0.32-compatible metadata. - Add strict text, JSON, SQL, pgx, config, wire, and validation
integration. - Add deterministic generation, provenance, exact coverage, race, fuzz,
benchmark, and privacy hardening gates. - Preserve authoritative mappings for reused country and currency numeric
identifiers and reject ambiguous historical policy expansions. - Add explicit historic text, JSON, and SQL decoding without weakening strict
default codecs. - Add source-labelled independent fixture vectors and differential checks for
country, locale, currency, phone, and package-policy postal behavior. - Add explicit Unicode and resource-budget evidence, concurrent metadata tests,
and a clean advisory NilAway gate.
Release integrity
- Source commit:
780ddbb5559ea548c39f6e17db6db9f9f0993f5b - Exact-head CI: https://github.com/faustbrian/go-international/actions/runs/32916459582
- Release dry-run: urn:sha256:8ca18e37d9d7d639b6a6e80c9976496523cb3bc08d8e259f41351b209ff09965
- Assets include a CycloneDX SBOM, SLSA v1 in-toto provenance, and SSH-signed checksums.
Verify the checksum attestation with:
ssh-keygen -Y verify -f ALLOWED_SIGNERS -I brian@cline.sh -n golib-release -s SHA256SUMS.sig < SHA256SUMS