Skip to content

CDT 4.1.0 Release Notes

Latest
Compare
Choose a tag to compare
@ericpassmore ericpassmore released this 04 Sep 14:38
7028e80

Release 4.1.0

This CDT release is required when compiling System Contracts for use with the Savanna Consensus algorithm used with release Spring 1.0. This release includes full support for BLS cryptography and managing BLS signatures.

In addition there are a number of usability features.

  • Export memory from wasm file for use with Vert
  • Supports MacOS with native linking
  • BLS cryptography as a host function

The new host functions provided in CDT v4.1.0 and later are only compatible in Spring v1.0.0 and above. Running contracts which include new CDT v4.1.0 host functions will not execute in previously released Leap software. CDT v4.1.0 may still be used to compile and run contracts across both Spring and Leap when only pre-Spring host functions are used.

Note:

  • Running full integration tests requires linking to Spring libraries. If no integration tests are needed, CDT may be build and installed independent from Spring.
  • Changes from RC1 adding a test as described in PR #299
  • Changes from RC2 resolve Indeterministic Build Output PR #308

Whats Changed

Stability

Upgrade to use ubuntu22 leap-dev for continuous integration testing.
Set finalizers takes packed format.
Upgrade catch2 to support modern linux OS builds.
Add alternate names for operations to insert, remove, and update indexes.
Eliminate Source of Indeterministic Build Output. Remove CFL Alias Analysis

Features

set_finalizers host function now takes a packed format.
Add Savanna support for BLS signatures and finalizer key operations.
Return -1 on n==0 for bls_g1_weighted_sum, bls_g2_weighted_sum, and bls_pairing.
Add new BLS host function support and switch to affine.
Support Mac OS with native linking.
Add BLS cryptography functions.
Compile with clang-16, adding support for datatypes uint128, uint256, and efficient to and from hex operations.

Tests

instant_finality_extension renamed to finality_extension

Clean Code

revert multi-index alias operations
Standardize Callouts.
Revert and remove new version of cdt-abidiff.
Resolve endian warnings.

Tools

New feature to export memory from a wasm file.

Bug Fixs

Backward compatible for ABI generation in older system contracts by including structures defined in an extended context.
Add explicit stream operator overloads.
Update ABI generation for multi_index and singleton to correctly scope types for inclusion.
Fix ABI to generate tables for singleton without struct.

Documentation

Update of crypto API descriptions.
Upate README to include clang-tidy dependancy.
Updated crypto extension documentation.

Release

Update README download links for rc release.
Add CICD tests using ubuntu 24.
Published deb package build using ubuntu 20 to provide greatest breath of os support.
Use spring instead of leap for integration tests.
Update README to latest patch of CDT.
Automatically upload deb on new release.
Synchronize git commits between main and 4.0 branch.
Remove unused antler run packed with CDT binaries.
Roadmap document for CDT.
Upgrade python find function.
Support configurable leap target for CICD.
Remove ubuntu-18 from CICD build and test.
Version bump, and change to make for CICD builds.
Version Bump to CDT 4.0.

Contributors

Special thanks to the contributors that submitted patches for this release:

Full Changelog: v4.0.1...v4.1.0