Releases: dcSpark/cardano-multiplatform-lib
4.0.1
The new v4 of CML contains a lot more code generated using cddl-codegen
Major features
- New native rust interface! No more need to use an ugly WASM interface when writing a Rust-native library. You can find the crates for all our packages at the bottom of this post
- Conway era support! Conway is the next era of Cardano. Learn more about the specification changes here
- Fixed memory leaks! Previously when using CML with JS, you had to manually manage memory or you would get memory leakage. This is no longer necessary.
Minor features
- CIP25 and CIP36 support are now packaged as part of CML. This is enabled since these specifications have a CDDL specification (so we can easily codegen them) and thanks to our native Rust interface support, composing different specs like this becomes much easier in Rust
- New
multi-eracrate for projects that want more explicit multi-era support instead of just the latest version of Cardano (note: the library size for this package is larger)
Bug fixes
There are a few bug fixes that come with the new codegen tool as well as some manual patches to part of the code where cardano-node deviated from the specification temporarily.
Packages
Native Rust crates
https://crates.io/crates/cml-core
https://crates.io/crates/cml-crypto
https://crates.io/crates/cml-chain
https://crates.io/crates/cml-cip25
https://crates.io/crates/cml-cip36
https://crates.io/crates/cml-multi-era
WASM crates
https://crates.io/crates/cml-core-wasm
https://crates.io/crates/cml-crypto-wasm
https://crates.io/crates/cml-chain-wasm
https://crates.io/crates/cml-cip25-wasm
https://crates.io/crates/cml-cip36-wasm
https://crates.io/crates/cml-multi-era-wasm
Wrapper crate providing the old CML interface for the new libraries
https://crates.io/crates/cardano-multiplatform-lib
NPM
NodeJS: https://www.npmjs.com/package/@dcspark/cardano-multiplatform-lib-nodejs
Browser: https://www.npmjs.com/package/@dcspark/cardano-multiplatform-lib-browser
Note: asmjs is not updated yet (but we discourage asmjs usage anyway)
3.1.2
this release is for WASM/JS only to fix a bug in the serialization.
The Rust release that includes this fix will come in a later release
Bug fixes
New Contributors
Full Changelog: 3.1.1...3.1.2
3.1.1
Bug fixes
- Fix Script serialization by @SebastienGllmt in #152
Chore
- Bump base64 from 0.13.0 to 0.13.1 in /rust by @dependabot in #149
- Bump serde from 1.0.136 to 1.0.147 in /rust by @dependabot in #148
- Bump getrandom from 0.2.6 to 0.2.8 in /rust by @dependabot in #146
- Bump schemars from 0.8.8 to 0.8.11 in /rust by @dependabot in #145
- Bump linked-hash-map from 0.5.4 to 0.5.6 in /rust by @dependabot in #76
- Bump sha2 from 0.9.9 to 0.10.6 in /rust by @dependabot in #134
- Bump itertools from 0.10.3 to 0.10.5 in /rust by @dependabot in #136
- Bump clear_on_drop from 0.2.4 to 0.2.5 in /rust by @dependabot in #60
3.1.0
What's Changed
- Datum and redeemer insertion order by @MicroProofs in #130
Full Changelog: 3.0.1...3.1.0
3.0.1
What's Changed
- feat: add reference inputs used lang to script hash calc by @joacohoyos in #127
Full Changelog: 3.0.0...3.0.1
3.0.0
Breaking Changes
- The tx redeemer builder is no longer required. You can skip the step entirely if your transaction doesn't need to add Plutus scripts
Features
- Inputs added via add_input can now reference scripts added in the reference inputs
Bug fixes
- Fixed ordering of withdrawal & input redeemers sometimes being incorrect
2.0.1
Bug Fixes
- Fixed JSON type for ByronAddress
2.0.0
New features
- Add Byron txout support by @SebastienGllmt in #117
- Allow unchecked tx redeemer builder by @SebastienGllmt in #118
Breaking changes
- Add support for communication datums in outputs. The breaking change should be fairly simple: just wrap the
TransactionOutputtype with aSingleOutputBuilderResultwhere needed. - The tx redeemer builder no longer required temporary signers
1.0.2
What's Changed
- Fix json (de)serialize on StakeCredential by @SebastienGllmt in #116
Full Changelog: 1.0.1...1.0.2
1.0.1
Bug Fixes
- Fixed tx builder failure on dummy Plutus input exunits