Repository navigation
ci(changesets): version packages - #609
Open
github-actions[bot] wants to merge 1 commit into
Open
github-actions[bot] wants to merge 1 commit into
github-actions[bot] wants to merge 1 commit into
Conversation
github-actions
Bot
force-pushed
the
changeset-release/main
branch
4 times, most recently
from
October 9, 2026 16:27
9176dfb to
2c98bb3
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
October 9, 2026 21:24
2c98bb3 to
a7366e5
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@evolution-sdk/evolution@0.7.0
Minor Changes
#617
98e8b38Thanks @solidsnakedev! - Plutus data is now encoded by default withCBOR.PLUTUS_DATA_OPTIONS, the layout the node writes: non-empty lists and constructor fields indefinite, maps definite. Before, the default wasCBOR.CML_DATA_DEFAULT_OPTIONS, which also wrote non-empty maps indefinite.Data.DEFAULT_CBOR_OPTIONSandCBOR.TX_DEFAULT_OPTIONS.plutusDataare nowCBOR.PLUTUS_DATA_OPTIONS, andCBOR.toTxCodecOptionsmapsCBOR.CML_DEFAULT_OPTIONSto it.Only data that holds a non-empty map changes, and only in its map headers.
Data.map([[1n, 2n]])wasbf0102ffand is nowa10102. For such data these change:Data.toDatumHash, which now match the hashes the node computesApplied script hashes do not change, since
UPLC.applyParamsToScriptalready usedCBOR.PLUTUS_DATA_OPTIONS. Decoding is unchanged, and a decoded transaction keeps the original bytes of its datums and redeemers.To keep the old bytes, pass the old options:
The transaction options cover inline datums, witness datums and redeemer data, so the second call keeps the old bytes for all three.
CBOR.CML_DATA_DEFAULT_OPTIONSis deprecated in favor ofCBOR.PLUTUS_DATA_OPTIONS. It keeps its bytes, but matches no tool exactly, so use it only to reproduce bytes and datum hashes written before this release.#618
4e748e6Thanks @solidsnakedev! - A new inline datum is now written with theplutusDatatransaction options, as witness datums and redeemer data are. Before, it was written withData.DEFAULT_CBOR_OPTIONSwhatever options the caller passed to the transaction encoder.The encoders and schemas of
TransactionBody,TxOut,TransactionOutputandDatumOptiontakeCBOR.TxCodecOptionsand default toCBOR.TX_DEFAULT_OPTIONS. PlainCBOR.CodecOptionsare still accepted, read asCBOR.toTxCodecOptionsreads them.DatumOption.makeFromCDDLandTxOut.makeFromCDDLbuild the CDDL schema for givenplutusDataoptions.With no options,
CBOR.TX_DEFAULT_OPTIONSorCBOR.CML_DEFAULT_OPTIONS, every byte stays the same. Under other options only the bytes inside tag 24 change, so the transaction id of a transaction with a new inline datum changes. A decoded inline datum keeps its bytes, and an inline datum added to a decoded transaction is written with the default options.#616
6f6a471Thanks @solidsnakedev! - Plutus data now has its own encoder, so three kinds of value get the bytes the node writes under every option preset. Their bytes and datum hashes change:[index, fields]pair as a definite two-item array.Data.constr(128n, [1n])wasd8669f18809f01ffffand is nowd8668218809f01ff.3bffffffffffffffff, where it was a negative bignum.Data.toCBORBytes,Data.toCBORHex,Data.toDatumHashand the encode side ofData.FromCBORBytesandData.FromCBORHexuse the new encoder, and so do redeemers, witness datums, inline datums, UPLC data constants andRedeemers.toScriptDataHash. All other data keeps its bytes under every preset. Decoding is unchanged.Data.toCBORBytesandData.toCBORHexno longer validate their input with the schema first; a value that is not Plutus data now throwsDataErrorinstead ofParseError.The CBOR encoder also writes -2^64 as
3bffffffffffffffff. When a decoded transaction or witness set is written back, an integer decoded from a bignum tag keeps that tag, so a decoded -2^64 keeps its bytes in either form.#610
a1b619bThanks @solidsnakedev! - Witness datums and redeemer data are now written with their own Plutus data options. Before, the witness set wrote them with the transaction options, so a datum in the witness set did not match the bytes its datum hash covers.CBOR.TxCodecOptionsholds two sets of options.ledgeris for ledger structures: the body, the witness set, and the containers that hold datums and redeemers.plutusDatais for Plutus data items: new inline datums, witness datums and redeemer data. Two presets come with it:CBOR.TX_DEFAULT_OPTIONS:ledgerisCBOR.CML_DEFAULT_OPTIONSandplutusDataisCBOR.PLUTUS_DATA_OPTIONS, theDatadefault.CBOR.TX_CANONICAL_OPTIONS:CBOR.CANONICAL_OPTIONSfor both.The encoders and schemas of
Transaction,TransactionWitnessSet,RedeemersandRedeemer, andRedeemers.toScriptDataHash, takeCBOR.TxCodecOptionsand default toCBOR.TX_DEFAULT_OPTIONS:Plain
CBOR.CodecOptionsare still accepted, read asCBOR.toTxCodecOptionsreads them: the options serve as both, except thatCBOR.CML_DEFAULT_OPTIONSwrites Plutus data withCBOR.PLUTUS_DATA_OPTIONS, as passing no options does. Decoded datums and redeemers keep their bytes, and a datum or redeemer added to a decoded transaction is written with the default Plutus data options.Script transactions whose redeemer data or witness datums hold a non-empty list, map or constructor fields change bytes. Simple data such as
Data.constr(0n, [])or an integer keeps its bytes. The builder wrote redeemer data definite, for exampled87982a101028103, and now writes it in the data default with indefinite lists and constructor fields and a definite map:d8799fa101029f03ffff. To keep the old redeemer layout, pass{ ledger: CBOR.CML_DEFAULT_OPTIONS, plutusData: CBOR.CML_DATA_DEFINITE_OPTIONS }to the encoders and toRedeemers.toScriptDataHash. That call also writes new inline datums fully definite.#613
0656f6aThanks @solidsnakedev! - A proposal procedure now requires an anchor. The ledger has no null anchor for a proposal, so the node rejected a transaction whose proposal had one as malformed. Before,ProposalProcedureacceptedanchor: nulland wrote it as CBOR null.ProposalProcedure.anchor, theanchorparameter ofProposalProcedures.singleandProposeParams.anchorforpropose()are nowAnchor.Anchor. Decoding a proposal procedure with a null anchor fails. Callers that passednullmust pass an anchor with the metadata URL and hash of the proposal. Voting procedure anchors can still be null.Patch Changes
04c4ec3Thanks @solidsnakedev! - A decoded transaction now keeps the original bytes of witness datums and redeemers that contain a Plutus data map whose keys hold byte strings. This covers byte-string keys, list and constructor keys that contain them, and repeated keys. Before, re-encoding the transaction or adding a witness withTransaction.addVKeyWitnessesHexrewrote the value under each such key, so the node reported a script data hash mismatch.@evolution-sdk/aiken-uplc@2.0.21
Patch Changes
98e8b38,04c4ec3,4e748e6,6f6a471,a1b619b,0656f6a]:@evolution-sdk/devnet@3.0.22
Patch Changes
98e8b38,04c4ec3,4e748e6,6f6a471,a1b619b,0656f6a]:@evolution-sdk/scalus-uplc@2.0.21
Patch Changes
98e8b38,04c4ec3,4e748e6,6f6a471,a1b619b,0656f6a]: