1.0.0 - 2026-08-25
Changed
-
Refresh the reviewed zero-mutant identity for the extracted specification
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.
Changed
- Publish the module from its standalone
github.com/faustbrian/go-barcodeidentity while preserving its documented API and behavior.
Documentation
- Link the package README to the repository-wide Golib documentation portal.
Added
- Link contribution guidance directly to the specification decision register
and its provenance and evidence requirements. - Add an auditable specification-decision register, exact standards
provenance, and a conformance gate that binds format policy to executable
evidence.
Fixed
- Correct the public ISO edition metadata for Code 39 and Data Matrix and the
authoritative ISO catalogue URLs for ITF and PDF417. - Reject invalid PDF417 text controls and over-capacity symbols with classified
errors instead of allowing low-level encoding panics. - Keep GS1 parsing, image decoding, and barcode layout boundary processing
bounded and deterministic for hostile or extreme inputs.
Compatibility
-
Added an explicit raw-FNC1 Code 128 compatibility mode for legacy payloads
that are not valid GS1 element strings. -
Added a pinned module export baseline so incompatible public API changes
fail the canonical repository gate. -
Added immutable barcode core models and bounded raster/SVG rendering.
-
Added complete phase-one linear formats and QR control surfaces.
-
Added Data Matrix, PDF417, and Aztec encoding, decoding, controls, and
reciprocal interoperability evidence. -
Added pinned GS1 parsing with component and AI association validation.
-
Added offline GS1 allocation, check-pair, and coupon content validation.
-
Added reciprocal GS1-128, UPC, supplement, and ITF-14 interoperability
evidence, including explicit ITF-14 decode-format preservation. -
Preserved Data Matrix structured-append sequence and file identifiers in
decode diagnostics. -
Added bounded raw and encoded image decoding, hostile-input fuzzing,
deterministic render goldens, benchmarks, and reproducible CI gates. -
Added normative-to-executable evidence inventories for every format.
Release integrity
- Source commit:
2a9fa52fbef90174f01cf58127669c8b1a028ede - Exact-head CI: https://github.com/faustbrian/go-barcode/actions/runs/32907569836
- Release dry-run: urn:sha256:dc5c37df4ca79fb7d72ce73b7ca71d50d11cc98ad48093211cfc3d9949d6d3a0
- 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