Skip to content

4.0.1

Compare
Choose a tag to compare
@SebastienGllmt SebastienGllmt released this 23 Dec 17:21
· 58 commits to develop since this release
8ff0b6d

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-era crate 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)