Skip to content

Releases: faustbrian/go-international

github.com/faustbrian/go-international v1.1.0

Choose a tag to compare

@faustbrian faustbrian released this 09 Sep 07:43
db705c0

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

Choose a tag to compare

@faustbrian faustbrian released this 26 Aug 06:14

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.0 scope under Unreleased until a tag is published.

Changed

  • Publish the module from its standalone github.com/faustbrian/go-international identity while preserving its documented API and behavior.
  • Replace obsolete owned-module pseudo-version pins with the monorepo's local
    v0.0.0 source-proxy coordinates; release tooling continues to emit exact
    v1.0.0 dependency 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
    pinned brick/postcode 0.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 in go.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

Verify the checksum attestation with:

ssh-keygen -Y verify -f ALLOWED_SIGNERS -I brian@cline.sh -n golib-release -s SHA256SUMS.sig < SHA256SUMS