Skip to content

Releases: use-ink/cargo-contract

v5.0.0

22 Nov 12:28
v5.0.0
191d23c
Compare
Choose a tag to compare

This release concludes the migration of ink! from Parity to the outside world. It doesn't come with any new features, we just:

  • …changed the Parity URLs to ones for our new GitHub organization
    @use-ink.
  • …upgraded many dependencies to newer versions, which results in two particular
    breaking changes regarding compatibility:
    • We had to remove support for Substrate metadata that is below
      V14 in #1722. Metadata formats below V14 are quite old and we hope this doesn't affect anyone.
    • cargo-contract v5 works only with Rust >= 1.81.

For the linter in cargo-contract the Rust toolchain version changed. To upgrade:

export TOOLCHAIN_VERSION=nightly-2024-09-05
rustup install $TOOLCHAIN_VERSION
rustup component add rust-src --toolchain $TOOLCHAIN_VERSION
rustup run $TOOLCHAIN_VERSION cargo install cargo-dylint dylint-link

Changed

  • Updated the toolchain version used by ink_linting - #1616
  • Update repository URLs & references from paritytech GitHub organization to new use-ink one ‒ #1663
  • Bump the version of subxt and subxt-signer - #1722

Removed

  • Remove support for V11 metadata #1722

v4.1.3

20 Nov 14:55
v4.1.3
ac10464
Compare
Choose a tag to compare

Fixed

  • Fix "chain configuration not found" error (Rust 1.79) - #1821
  • Validate externally passed Rust toolchain identifiers - #1817
  • For contract verification: don't rely on Wasm hash in metadata - #1820

v4.1.2

06 Nov 09:28
v4.1.2
6c987ca
Compare
Choose a tag to compare

Fixed

  • Fix "chain configuration not found" error - #1786

v5.0.0-alpha

30 Sep 13:18
b183e9e
Compare
Choose a tag to compare

What's Changed

Fixed

  • Remove parity-wasm dependency from contract-build crate - #1594
  • chore: Update toolchain for ink_linting - #1616
  • chore: bump subxt and subxt-signer versions - #1722

Added

  • Add support for cargo build --verifiable --lint command - #1512
  • Add new image deployment repo - #1620
  • Switch to useink image in verifiable build command - #1622

Full Changelog: v4.1.1...v5.0.0-alpha

v4.1.1

17 Apr 11:34
v4.1.1
3d74a06
Compare
Choose a tag to compare

Fixed

  • Remove mention of non-existent argument, improve clarity of warning message - #1590

v4.1.0

10 Apr 13:41
v4.1.0
e7a43cc
Compare
Choose a tag to compare

Fixed

  • Fix the instantiate command for Substrate 0.9.42 based chains - #1564

Added

  • Add cargo contract storage --version command - #1564
  • Add cargo contract verify --wasm argument - #1551
  • Add cargo contract instantiate --chain with production chain endpoints - #1290
  • Warn when uploading unverifiable contract builds to production - #1290

v4.0.2

15 Mar 08:52
v4.0.2
ed68dba
Compare
Choose a tag to compare

Fixed

  • Fix installation instructions for ink_linting - #1546

v4.0.1

13 Mar 14:39
v4.0.1
d93327e
Compare
Choose a tag to compare

Fixed

  • Fix e2e tests in the contract template - #1537

v4.0.0

12 Mar 09:38
v4.0.0
d4765c9
Compare
Choose a tag to compare

This cargo-contract release is compatible with Rust versions >=1.70and ink! versions >=5.0.0

_ℹ️ We have created a migration guide from ink! 4 to ink! 5. It also contains an
overview over newly added features in this release of cargo-contract and explains
e.g. the newly added contract verification in more detail.

You can view it here._

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
  • Support for multiple versions of pallet-contracts - #1399

Added

  • Export ink_metadata types in transcode crate - #1522
  • Improved error message for Strings as CLI arguments - #1492
  • Add a user-friendly view of contract storage data in the form of a table - #1414
  • Add rpc command - #1458
  • 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
  • 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

  • Print type comparison warning only on --verbose - #1483
  • Mandatory dylint-based lints - #1412
  • Add a new tabular layout for the contract storage data - #1485
  • Run wasm-opt first, remove sign_ext feature - #1416
  • Bump subxt to 0.32.0 - #1352
  • Remove check for compatible scale and scale-info versions - #1370
  • Dry-run result output improvements - 1123
  • Display build progress with --output-json, print to stderr - 1211
  • 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

Fixed

  • Fix parsing of docker STDOUT - #1526
  • Remove docker container on build failure - #1531
  • Fix build --verifiable command #1511
  • 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
  • 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

v4.0.0-rc.4

08 Mar 14:48
v4.0.0-rc.4
14e93e6
Compare
Choose a tag to compare
v4.0.0-rc.4 Pre-release
Pre-release

Added

  • Export ink_metadata types in transcode crate - #1522

Fixed

  • Fix parsing of docker STDOUT - #1526
  • Remove docker container on build failure - #1531