Skip to content

v3.3.0

Compare
Choose a tag to compare
@agryaznov agryaznov released this 22 Jun 17:07
· 635 commits to master since this release
a5bdabd

Version 3.3.0

This release restores SemVer compatibility in the v3.x series of releases, as well as compatibility with the v0.13.0 release of the substrate-contracts-node.

Compatibility

This version will work fine with substrate-contracts-node versions from 0.13.0 up to 0.16.0.

Changed

Context: user-reported issues on our SE unveiled backward incompatibility introduced in 3.1.0 release.

  1. CodeRejected when using ink! v3.1.0
  2. Incompatibility between ink! v3.0.1 and v3.2.0

The following has been done to restore backward compatibility:

  • Reverted backward-incompatible piece of #1224.
    • The return signature of ink_env::set_contract_storage() was changed to return an Option<u32>.
      This could have broken existing code, so this should've been done in a MAJOR release.
    • Under the hood the PR also changed Mapping::insert() to use a new SEAL API
      ([seal1] seal_set_storage), which resulted in CodeRejected errors in nodes which did not have this API (e.g substrate-contracts-node@0.13.0).
  • Reverted "Optimise deny_payment. Use everywhere semantic of deny (#1267)"
    • This one is to restore compatibility between minor versions of ink! crates; see @HCastano's SE answer in this regard.
  • Reverted backward-incompatible piece of #1233.
    • The removal of the eth_compatibility crate should have been done in a MAJOR release.

All these breaking changes are subjects to the upcoming MAJOR ink! release 4.0.0.