Skip to content

v5.0.0-rc

Pre-release
Pre-release
Compare
Choose a tag to compare
@SkymanOne SkymanOne released this 05 Dec 12:43
· 221 commits to master since this release
d969617

This is a release candidate for ink! 5.0. Notable changes include:

  • Support for multiple chain extensions - #1958. This is a breaking change. Developers need to update their code utilising new API.
  • Lazy StorageVec structure that allows access vector data efficiently - #1995
  • E2E framework introduced a new builder API to simplify the call building - #1917

Added

  • Allow mutable parameters in messages - #2004
  • [E2E] Allow testing with live-chain state - #1949
  • [E2E] Call builders and extra gas margin option - #1917
  • Linter: storage_never_freed lint - #1932
  • Linter: strict_balance_equality lint - #1914
  • Linter: no_main lint - #2001
  • Clean E2E configuration parsing - #1922
  • Make set_code_hash generic - #1906
  • Provide a StorageVec datastructure built on top of Lazy - #1995

Changed

  • Messages return TypeSpec directly - #1999
  • Fail when decoding from storage and not all bytes consumed - #1897
  • [E2E] resolve DispatchError error details for dry-runs - #1944
  • [E2E] update to new drink API - #2005
  • Support multiple chain extensions - #1958
    • New example of how to use multiple chain extensions in one contract.
    • Affects the usage of the #[ink::chain_extension] macro and the definition of the chain extension.