0.6.0
This is the first stable release for the Conway Era. For all the changes since 0.5.1, please also refer to the 0.6.0-beta1 release notes.
Key Changes in This Release
- Fixed script data hash issues for Plutus V3 caused by Conway era serialization changes.
- Updated serialization code to provide era-specific serialization based on application requirements.
- Koios Java Client v1.19.0 and other fixes for the Conway era.
- Fixed Ogmios backend's Epoch service to return the Plutus V3 cost model.
- Blueprint annotation processor fixes.
Known Limitations and Workaround
When a transaction containing a Plutus V1 script or a script with a datum hash in the output is serialized using the Conway era format (Map for redeemer, 258 tag for set), a script data hash mismatch error occurs.
To resolve this, the library automatically uses the Babbage era serialization format if it detects a Plutus V1 script in the transaction, which should cover most cases automatically.
However, there are a few scenarios where the library doesn't enforce the Babbage era serialization format. One such scenario is a script transaction with a datum hash in the output (instead of an inline datum).
To address this, the library introduces a new method that applications can use to specify the serialization format. The default format is the Conway era format.
For QuickTx, there is a new withSerializationEra
method that takes an era parameter:
Result<String> result = quickTxBuilder.compose(scriptTx)
.feePayer(sender1Addr)
....
.withSerializationEra(Era.Babbage)
.completeAndWait(System.out::println);
For Composable Functions:
Transaction signedTxn = TxBuilderContext.init(utxoSupplier, protocolParams)
.withSerializationEra(Era.Babbage)
.buildAndSign(builder, signer);
For Low-Level Serialization APIs, you can directly set the serialization era in the Transaction
object:
transaction.setEra(Era.Babbage);
What's Changed
- Koios Java Client alignment with v1.19.0 by @edridudi in #421
- [Koios]
minFeeRefScriptCostPerByte
is missing in Koios backend #425 by @edridudi in #427 - chore: Update default cost model during Conway HF by @satran004 in #418
- Introduced
SlotConfigs
for Transaction Evaluators by @nemo83 in #431 - fix: Handle null or empty
scriptHash
ingetScript
method by @satran004 in #434 - [Annotation Processor] Set default int type to
BigInteger
by @satran004 in #433 - Add Plutus V3 cost model handling by @satran004 in #438
- Fixed package in integration tests by @satran004 in #439
- Add era-specific serialization support for transactions by @satran004 in #441
Full Changelog: v0.6.0-beta1...v0.6.0