Skip to content

Releases: Concordium/concordium-rust-smart-contracts

concordium-cis2 4.0.0

16 Jun 10:56
Compare
Choose a tag to compare

Summary

Bump concordium-std to version 7 and internal restructuring.

concordium-std 6.2.0

08 May 06:37
Compare
Choose a tag to compare

Summary

This release adds helpers and makes the crate work with recent nightly versions.

Changes

  • Add write_root helper function to write the root of the state trie. This is
    useful in migrations when upgrading smart contracts.
  • Bump Rust edition to 2021.
  • Remove the use of alloc_error_handler since the feature is no longer
    available in recent nightly builds of the compiler. This can increase the
    smart contract size slightly.
  • Set minimum Rust version to 1.60.

concordium-std-derive 5.2.0

08 May 06:35
Compare
Choose a tag to compare

Summary

  • Fix derive(SchemaType) macro so that it allows the concordium attribute.
  • Bump Rust edition to 2021.

concordium-cis2 3.1.0

08 May 06:38
Compare
Choose a tag to compare

Summary

This is a minor release adding quality of life improvements.

Changes

  • Derive PartialEq and Eq for the MetadataUrl from the CIS2 library.
  • Update concordium-std dependency to 6.2.

Release concordium-std 6.1.1

12 Apr 11:56
Compare
Choose a tag to compare

This update contains only internal restructuring. As a result it bumps contracts-common dependency to 5.3.1

Release concordium-std 6.1.0

16 Mar 13:58
Compare
Choose a tag to compare

This is a minor release that exposes additional quality of life helpers, and some additional functionality that was only available in concordium-std until now.

There are some minor breaking API changes that should affect very few users. The changelog below lists them.

Changelog

  • Add Display implementation for OwnedParameter and Parameter, which uses
    hex encoding.
  • Replace From<Vec<u8>> instance for OwnedParameter/Parameter with a TryFrom,
    which ensures a valid length, and the unchecked method new_unchecked.
    • Migrate from From/Into: Use new_unchecked instead (if known to be
      valid length).
  • Make inner field in OwnedParameter/Parameter private, but add a From
    implementation for getting the raw bytes.
    • Migrate from parameter.0: use parameter.into() instead (for both of the affected
      types).
  • For ModuleReference, replace AsRef<[u8;32]> with AsRef<[u8]> and make
    inner bytes field public.
    • The change was necessary for internal reasons.
    • Migrate from module_reference.as_ref(): use &module_reference.bytes instead.
  • Replace OwnedParameter::new with OwnedParameter::from_serial, which also
    ensures a valid length.
    • Migrate from new(x): Use from_serial(x).unwrap() (if known to be valid length).
  • Add an empty method for both OwnedParameter and Parameter.
  • Implement Default for Parameter.
  • Add StateBuilder::new_state_container method which allows contract developers to use
    their own container types atop blockchain storage
  • Move the type AccountBalance to concordium-contracts-common.

Release concordium-std 6.0.1

28 Feb 12:02
Compare
Choose a tag to compare

concordium-std 6.0.1 (2023-02-28)

Fix local testing using the crypto-primitives feature.

Release concordium-std 6.0.0

08 Feb 09:15
Compare
Choose a tag to compare

concordium-std 6.0.0 (2023-02-08)

  • wee_alloc is no
    longer set as the allocator in concordium-std but can be enabled via the
    feature wee_alloc. The consequence is that unless std feature is
    enabled either wee_alloc must be enabled, or another global allocator
    must be set in the smart contract. In std builds, unless wee_alloc
    feature is used, the allocator provided by the Rust standard library is used.

Release concordium-cis2 3.0.0

08 Feb 09:16
Compare
Choose a tag to compare

concordium-cis2 3.0.0 (2023-02-08)

  • Update concordium-std to version 6.

No other changes in functionality.

Release concordium-std 5.1.0

14 Dec 08:20
Compare
Choose a tag to compare

concordium-std 5.1.0 (2022-12-14)

  • Add a new primitive get_random for generating random numbers in Wasm code testing; get_random can be used in tests only, not available for smart contracts on the chain.
  • Fix a linking issue when compiling contracts to native code on Windows and OSX.