Skip to content

v4.0.0-alpha

Pre-release
Pre-release
Compare
Choose a tag to compare
@ascjones ascjones released this 27 Jul 15:27
· 407 commits to master since this release
07d2b6a

Replaces the yanked 3.1.0 due to issues with supporting both Rust versions < 1.70
and >= 1.70.

If you intend to use cargo-contract with Rust >= 1.70, and deploy to a node with a
version of pallet-contracts at least polkadot-1.0.0, then this is the release to use.

If you still want to compile with 1.69 and target an older version of pallet-contracts
then use the previous 3.0.1 release.

Notable changes:

  • Verifiable builds inside a docker container - #1148
  • Extrinsics extracted to separate crate - #1181
  • Fix building contracts with Rust >= 1.70: enable sign_ext Wasm opcode - #1189

Added

  • Standardised verifiable builds - #1148
  • Enable Wasm sign_ext #1189
  • Expose extrinsics operations as a library - #1181
  • Suggest valid message or constructor name, when misspelled - #1162
  • Add flag -y as a shortcut for --skip-confirm - #1127
  • Add command line argument --max-memory-pages - #1128
  • Show Gas consumption by default for dry-runs - #1121

Changed

  • Dry-run result output improvements - 1123
  • Display build progress with --output-json, print to stderr - 1211
  • Update subxt to 0.30.1 with new subxt-signer crate - #1236
  • Upgrade wasm-opt to 0.113 - #1188
  • Update substrate dependencies - #1149
  • Make output format of cargo contract info consistent with other subcommands - #1120
  • set minimum supported rust-version to 1.70 - #1241
  • [extrinsics] update metadata to substrate-contracts-node 0.29 - #1242

Fixed

  • Configure tty output correctly - #1209
  • Set lto = "thin" for metadata build to fix linkme on macOS - #1200
  • fix(build): An error when running with --lint - #1174
  • Dry-run result output improvements - #1123
  • feat: use CARGO_ENCODED_RUSTFLAGS instead of RUSTFLAGS - #1124