Skip to content

v3.0.0

Choose a tag to compare

@faustbrian faustbrian released this 06 Oct 12:29
7465778

[3.0.0] - 2026-10-06

Changed

  • Update the documentation TOML parser dependency to 1.9.0 to fix its
    reported resource-exhaustion issue without changing Go runtime dependencies.

  • Use the root module github.com/faustbrian/go-wire/v3 for the
    incompatible MessagePack option and accepted-input changes below. Migrate
    all Wire imports together and use keyed decode options; cross-major errors
    and sentinels have distinct identities. Version 2 remains available for
    consumers not migrating to the new major.

  • Determine recursive MessagePack key projection support before preparing
    reflected values or tuples. Unsupported components retain driver-owned
    decoding instead of uncharged projection preparation.

  • Admit aggregate MessagePack values and conservative raw/projected key work
    before generic materialization, with finite inclusive decode defaults and
    expanded built-in array-key preparation accounting. Limit refusal preserves
    the destination and does not invoke destination codecs. New option fields
    require keyed-literal migration and tighten acceptance in this major;
    final driver allocations and cancellation remain separate work.

  • Reject built-in MessagePack destination map-key collisions before decoding
    into the target, including numeric-width and string/binary projections in
    known map and unambiguous field shapes. Explicit duplicate-key opt-in remains
    last-key-wins. This major tightens acceptance;
    opaque codecs and ambiguous struct projections remain separate boundaries.

  • Adopt the go-library-tools v1.3.0 schema-v2 cohesion contract and local
    make cohesion gate without changing wire APIs or runtime behavior.

  • Pin reusable CI to the immutable v1.3.0 workflow and enforce cohesion
    metadata in the repository's required CI contract.

  • Adopt checksum-pinned go-library-tools v1.2.0 and its immutable workflow
    so CI executes specification governance while keeping format-specific
    conformance, interoperability, mutation, and benchmark evidence in this
    repository.

Documentation

  • Record reported RFC 9110 Errata ID 9164 as behavior-neutral because HTTP
    grammar remains caller-owned policy, while retaining the prior Errata ID
    9162 review and the immutable RFC 9110 source binding.

  • Link the support policy from the root documentation entry points.

  • Record the reviewed Go releases-feed representation change as
    behavior-neutral for the unchanged immutable Go 1.26.6 source contracts.

  • Replace commit-pinned installation and pre-v1 guidance with the published
    v1.0.0 release, exact Go 1.26.6 minimum, stable compatibility contract, and
    a package-level compiler-checked example.

  • Record the reviewed Go release-feed change through Go 1.27.1 as
    behavior-neutral for the pinned Go 1.26.6 JSON, XML, errors, and language
    contracts; Go 1.27 adoption remains a separate decision review.

  • Record the reviewed FIDO Alliance feed change as behavior-neutral for the
    pinned CTAP 2.2 deterministic-CBOR profile; replacing the general-news feed
    with a specification-specific release authority remains future maintenance.

  • Record reported RFC 9110 Errata ID 9162 as behavior-neutral because HTTP
    field combination remains caller-owned transport policy; re-review it if the
    erratum becomes verified or the package ownership boundary changes.

  • Publish the module's family, capabilities, ownership, lifecycle, supported
    environments, package selection, and delivery status, and link the README to
    the immutable v1.3.0 ecosystem index and family guidance.

  • Make the specification decision register
    machine-auditable with exact source and change-authority monitoring,
    attributable conformance evidence, classified maintained-peer results, and
    durable decision history.

    • WIRE-DEC-001 sha256:f1fc52ef8464874e7b8cebcae98161f7c9296128e9a8913fcf918b97fe2f0728
    • WIRE-DEC-002 sha256:f4dee326c94a5de595cbd5e0aea03414fd8ec444be92fd1ca25adcaef4a46f6d
    • WIRE-DEC-003 sha256:1dd67beed03dbeb91bdef10c77f6f8c21cd0c8326720861437f9ce1ae179ee98
    • WIRE-DEC-004 sha256:162b1cb67101d82b7732701b50193d49f2702908450227ecae9068777b5c91f5
    • WIRE-DEC-005 sha256:74528fbf1f9dae53b31e20152c679fe0614de1d4a3f45c1fa19179b6a99cb620
    • WIRE-DEC-006 sha256:a283308985c948563734b7f69e182e97ca844068e43e1cc9f5b09fcceb419e98
    • WIRE-DEC-007 sha256:c781bb6f45e052079ba1b1dbdb37b3184606c72abae012848ab23a1d7cc2d73c
    • WIRE-DEC-008 sha256:c5ce0457d9c8f828dfebef5c5d4467760836fcd58bb2b4b6291fe4bc76df4953
    • WIRE-DEC-009 sha256:3739785c9c34062134e2cbe7d38b974da151e1711ced5e16119184b7c0060e91
    • WIRE-DEC-010 sha256:57459c19b8ef283a3891ef4bc4d44efa1f1f4d211af4a9e74a533721c08f03f9
    • WIRE-DEC-011 sha256:78340a1b77fad0a94fdd12875dd851446ff46fea84d92f4eb1766f9fb6637909
    • WIRE-DEC-012 sha256:bbf48898109b852fe1b5784511c0bb5aa308162ceacd10b8777023fa391f9491
    • WIRE-DEC-013 sha256:4a7375048cd8a95c1b37ecaae2e5d21c7dbb97b5e95c544d12fd2db1ccb29b7b
    • WIRE-DEC-014 sha256:26d5aafc3d7e2bbf9304d04d9c0e1bf435968260b18dd05043fef4d1666596bd
    • WIRE-DEC-015 sha256:a78c203aaf7314a61baa093d7e80e87171e8695c570f7e0b443b4ddda227be66
    • WIRE-DEC-016 sha256:977cc72dfe7abd290dff31fa27f8150c26c0c27b4704e31427aabca3e7dffd52
  • Remove the archived monorepo documentation link; package guidance remains in
    the repository-owned documentation.