Skip to content

CDT v3.0.0-rc3 Release Notes

Pre-release
Pre-release
Compare
Choose a tag to compare
@larryk85 larryk85 released this 30 Aug 22:23
· 563 commits to main since this release
3309250

This is a RELEASE CANDIDATE for version 3.0.0.

This release contains several bug fixes.

Read on for details.

Changes

The change from EOSIO.CDT to CDT may involve several small changes necessary for your project.

  • The binaries are no longer prefixed with eosio but with cdt instead, so eosio-cpp is now cdt-cpp, etc.
  • CMake projects instead of using find_package(eosio.cdt) it is now simply find_package(cdt).
  • All of the library path and namespaces have remained the same to not cause issues with this release. The next release will more than likely have those names replaced with those files being deprecated but still available to allow for a grace period to transition.

Bug fixes

Header file location of crypto primitives host functions causing multiple errors

PRs

  • (#21) [3.0] Move new crypto primitives out of crypto.h and crypto.hpp, and add missing ones to the new hpp file


The new primitives require a protocol feature to be activated and will otherwise throw errors if they are inside of a header file being used. To avoid unnecessary errors in the future, all primitives have been moved to crypto_ext.h and crypto_ext.hpp from crypto.h and crypto.hpp respectively to only include them when they are needed.

Nested container feature leading to unknown type error

PRs

  • (#23) [3.0] fix is_explicit_nested in abi generator gen.hpp


An unknown type error was being thrown as a result of the nested container feature. is_explicit_nested determines if a type is nested. It previously counted the number of <s and returns true if the number is greater than 1. This causes problems for types containing std::vector, as std::vector converted to bytes and should not be considered as a vector. An update was made to instead determine nestedness semantically.

Slow deserialization for std::vector

PRs

  • (#27) Optimize datastream for vector of primitive types


When deserializing a std::vector of unsigned char it was falling into the generic datastream operator for vectors, making the deserialization of a large array too slow.

Further details on changes since last release

Contributors

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

Full list of changes since last release

PRs

  • (#21) [3.0] Move new crypto primitives out of crypto.h and crypto.hpp, and add missing ones to the new hpp file
  • (#23) [3.0] fix is_explicit_nested in abi generator gen.hpp
  • (#27) Optimize datastream for vector of primitive types


Full Changelog: v3.0.0-rc2...v3.0.0-rc3