Skip to content

Releases: Concordium/concordium-rust-smart-contracts

concordium-std 10.1.0

04 Apr 08:10
Compare
Choose a tag to compare

Summary

A major new addition to the library is the ordered collections StateBTreeMap and StateBTreeSet.
See the guide for when to use these new collections.

Changes

  • Add support for querying the module reference and contract name of an instance,
    via the HasHost::contract_module_reference and HasHost::contract_name functions.
    These are only available from protocol version 7, and as such are guarded by the p7 feature flag.
  • Add two ordered collections: StateBTreeMap and StateBTreeSet. These are based on B-Tree, but where each node is stored in the low-level smart contract key-value store. Use one of these when needing operations related to the ordering of the keys, such as higher(k) providing the smallest key in collection which is stricly greater than k.
  • Bump MSRV to 1.73

concordium-std-derive 6.0.0

04 Apr 07:55
aae1e44
Compare
Choose a tag to compare

Summary

A new release of the library that adds macros for easily embedding constants in a human readable way into contracts.

Additions

  • Macros for creating constant values from strings for the following types:
    • AccountAddress
    • ContractAddress
    • ModuleReference
    • PublicKeyEcdsaSecp256k1
    • PublicKeyEd25519
    • SignatureEcdsaSecp256k1
    • SignatureEd25519

concordium-smart-contract-testing 4.2.0

26 Mar 13:50
d874117
Compare
Choose a tag to compare

Release of concordium-smart-contract-testing version 4.2.0

  • Add support for querying the module reference and contract name of an instance.
    This functionality is only available on-chain from protocol version 7.
  • Bump minimum supported Rust version (MSRV) to 1.73.

concordium-std 10.0.0

22 Feb 12:24
Compare
Choose a tag to compare

Summary

This release removes the (optional) dependency on the wee_alloc crate, which is no longer maintained.
To replace it, a new bump allocator is provided for use-cases where the contract logic is simple and a complex allocator is needless overhead.

Changes

  • Remove the feature wee_alloc and replace it with bump_alloc, which enables a small and simple global allocator that can only be used in Wasm.

concordium-cis2 6.1.0

22 Feb 12:24
Compare
Choose a tag to compare

Summary

Support version 10 of concordium-std.

concordium-std 9.0.2

07 Feb 08:23
Compare
Choose a tag to compare

Summary

This release fixes a bug in concordium_dbg macro parsing, where the full expected syntax of println! like macros was not allowed.

concordium-std 9.0.1

26 Jan 07:51
24b160a
Compare
Choose a tag to compare

Summary

This is a bugfix release fixing linking issues on some platforms.

Changes

  • Fix a bug that caused a linking error when using concordium_dbg! on some
    platforms.
    • The error message states that _debug_print cannot be found.

concordium-smart-contract-testing 4.1.0

26 Jan 07:52
24b160a
Compare
Choose a tag to compare

Summary

This is a bugfix release that fixes bugs in the newly introduced debugging functionality.

Changes

  • Fix a bug in debug output. The events emitted before some contract queries
    (such as querying account balance) were not emitted in the debug output. To
    fix this, DebugTraceElement gets a new variant Debug to retain these
    events.

concordium-std 9.0.0

22 Jan 14:48
Compare
Choose a tag to compare

Summary

This release adds support for debugging output when testing smart contracts locally.

Changes

  • Add a concordium_dbg! macro and the associated debug feature to enable,
    together with cargo concordium, to emit debug information during contract
    execution.
  • Update concordium-contracts-common dependency to version 9.

concordium-smart-contract-testing 4.0.0

22 Jan 14:52
Compare
Choose a tag to compare

Summary

This major release brings the ability to inspect debug output from smart contracts, as well as to attribute costs of operations to different parts of execution.

Changes

  • Add support for debug output when running smart contracts. This adds a new
    module_deploy_v1_debug method to the Chain that allows debug symbols
    in the deployed module.
  • Add DebugInfoExt trait that has convenience methods for printing debug
    information.
  • Add debug_trace field to DebugTraceElement variants. This records both any
    information emitted by the concordium_dbg! macro of concordium-std as well
    as the trace of all the host function calls that occurred.
  • Add is_debug_enabled function to detect whether tests are being run in debug
    mode or not. This function uses the CARGO_CONCORDIUM_TEST_ALLOW_DEBUG
    environment variable that is set by cargo-concordium when running in debug
    mode.