Skip to content

Release Notes - v0.204.6

Title: Improve shutdown handling and ledger decoding

Version: v0.204.6

This release improves callback shutdown handling, reference script compatibility, hash consistency, and CBOR and metadata decoding limits.

  • Improved callback shutdown handling: NewClient and NewServer now populate CallbackContext.ConnectionDoneChan from ProtocolOptions.ConnectionDoneChan. The channel closes when the owning connection begins shutdown, remains separate from the protocol completion channel, and is nil without an owning connection, allowing callbacks to exit promptly.

  • Corrected reference script version checks: Stored reference scripts now receive well-formedness checks during decoding, while the execution-time version gate runs immediately before script execution. Valid PlutusV2 scripts using UPLC 1.1.0 can therefore remain usable below the van Rossem boundary, while execution checks still reject under-versioned scripts and malformed UPLC 1.2.0 references. The release also updates plutigo to v0.7.0, Go to 1.26.0, bumps golang.org/x/crypto to v0.56.0, and updates related x/sys dependencies.

  • Synchronized hash memoization: Blake2b256 hash caches now support safe concurrent access and reset operations. Replacing or clearing CBOR through SetCbor or SetCborReference invalidates hashes for transaction bodies and Shelley, Babbage, and Byron block headers, and copying a value limits invalidation to the changed copy. Callers must still synchronize mutations that occur concurrently with Id or Hash operations.

  • Expanded CBOR nesting limits: General and diagnostic CBOR decoding now supports nesting up to 16,384 levels, while a single-pass metadata decoder supports up to 1,024 levels. The decoder also clones input, validates UTF-8 in indefinite text chunks, detects semantic duplicate keys, and rejects malformed, unsupported, or trailing data.

Release: v0.204.6

Compare: v0.204.5…v0.204.6


Doc Holiday logo

Docs authored by Doc Holiday

Edit page

Last updated: