Skip to content

Releases: use-ink/cargo-contract

v4.0.0-rc.1

01 Dec 16:07
v4.0.0-rc.1
fcaa018
Compare
Choose a tag to compare
v4.0.0-rc.1 Pre-release
Pre-release

Changed

  • Run wasm-opt first, remove sign_ext feature - #1416

v4.0.0-rc

01 Dec 11:49
v4.0.0-rc
bb6f0ce
Compare
Choose a tag to compare
v4.0.0-rc Pre-release
Pre-release

Added

  • Add schema generation and verification - #1404
  • Compare Environment types against the node - #1377
  • Detect INK_STATIC_BUFFER_SIZE env var - #1310
  • Add verify command - #1306
  • Add --binary flag for info command - #1311
  • Add --all flag for info command - #1319
  • Add contract language detection feature for info command - #1329
  • Add warning message when using incompatible contract's ink! version - #1334
  • Add workspace support -#1358
  • Add Storage Total Deposit to info command output - #1347
  • Add dynamic types support - #1399
  • Basic storage inspection command - #1395

Changed

  • Bump subxt to 0.32.0 - #1352
  • Remove check for compatible scale and scale-info versions - #1370
  • Bump ink to 5.0.0-rc - #1415

Fixed

  • Do not allow to execute calls on immutable contract messages - #1397
  • Improve JSON Output for Upload and Remove Commands - #1389
  • Fix for a Url to String conversion in info command - #1330

v3.2.0

22 Aug 09:32
88c92ba
Compare
Choose a tag to compare

[3.2.0]

This release allows building contracts with recent (> 1.69) Rust toolchains which can emit
signext Wasm instructions. An extra pass is added to wasm-opt which "lowers" signext
instructions to MVP compatible instructions. The resulting binaries can therefore be
deployed to chains with an older version of pallet-contracts which does not yet support
those instructions.

Changed

v4.0.0-alpha

27 Jul 15:27
07d2b6a
Compare
Choose a tag to compare
v4.0.0-alpha Pre-release
Pre-release

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

v3.0.1

18 May 15:10
c746b0d
Compare
Choose a tag to compare

Fixed

  • [contract-build] flush the remaining buffered bytes 1118

v3.0.0

17 May 12:48
141434a
Compare
Choose a tag to compare

cargo-contract v3 0-800

Added

  • Experimental support for RISC-V contracts - #1076

Changed

  • Contracts are build as bin crate now (we used cdylib before) - #1076
    • BREAKING CHANGE: Make sure that your contract is no_main by having this on top of your contract:
      • #![cfg_attr(not(feature = "std"), no_std, no_main)]
      • This will be detected and suggested for error[E0601] #1113
  • Update contracts node metadata (#1105)
    • Compatible with substrate-contracts-node 0.25.0-a2b09462c7c

Fixed

  • Fix original Wasm artifact path #1116

v2.2.1

29 Apr 15:00
91b5a86
Compare
Choose a tag to compare

Fixed

  • Revert "Bump tracing from 0.1.37 to 0.1.38" - #1096

v2.2.0

27 Apr 15:43
e731ea7
Compare
Choose a tag to compare

Added

  • Add info command - #993
  • Add --output-json flag for info command - #1007

Changed

  • Minimum requirements of ink! dependencies all updated to 4.2.0 - #1084
  • Upgrade subxt to 0.28 #1039
  • Upgrade scale-info to 2.5 #1057

Fixed

  • Rewrites build file path in manifest #1077
  • Only copy and rewrite target contract manifest #1079

v2.1.0

10 Mar 18:00
0989c4c
Compare
Choose a tag to compare

Changed

  • Dry-run instantiate, call and upload commands by default - #999

Added

  • Add cargo contract encode command - #998

Fixed

  • Limit input length for decode command - #982
  • Pass contract features to metadata gen package - #1005
  • Custom AccountId32 impl, remove substrate deps - #1010
    • Fixes issue with with incompatible wasmtime versions when dependant project has old substrate dependencies.

v2.0.2

01 Mar 16:33
755ea06
Compare
Choose a tag to compare

Fixed

  • Explicitly enable std feature for metadata generation #977
  • Return artifact paths when contracts unchanged #992
  • Minimum requirements of ink! dependencies all updated to 4.0.1