Releases: Concordium/concordium-rust-smart-contracts
concordium-cis2 6.2.0
Summary
Adding serde
feature.
Changes
- Bump MSRV to 1.73.
- Add FromStr implementations for TokenId types.
- Add a serde feature that derives serde::Serialize and serde::Deserialize for TokenId types, TokenAmount types, OnReceivingCis2DataParams<T, A, D>, OnReceivingCis2Params<T, A>, AdditionalData, and Receiver.
- Fix SchemaType implementation of OnReceivingCis2DataParams<T, A, D> so that it matches Serial and Deserial implementations.
concordium-smart-contract-testing 4.3.0
Summary
Energy costs are reduced, matching the costs of Concordium Protocol Version 7.
Changes
- Integrate protocol version 7 cost semantics.
- The
ContractInvokeSuccess
andContractInvokeError
have additional fields
that record where parts of the energy was allocated during execution. - Add support for loading the contract under test with the
module_load_output
function. The module path is exposed bycargo-concordium
through theCARGO_CONCORDIUM_TEST_MODULE_OUTPUT_PATH
environment variable. - Updated the Concordium Rust SDK to support the changes introduced in protocol 7.
concordium-std 10.1.0
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 theHasHost::contract_module_reference
andHasHost::contract_name
functions.
These are only available from protocol version 7, and as such are guarded by thep7
feature flag. - Add two ordered collections:
StateBTreeMap
andStateBTreeSet
. 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 ashigher(k)
providing the smallest key in collection which is stricly greater thank
. - Bump MSRV to 1.73
concordium-std-derive 6.0.0
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
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
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 withbump_alloc
, which enables a small and simple global allocator that can only be used in Wasm.
concordium-cis2 6.1.0
Summary
Support version 10 of concordium-std.
concordium-std 9.0.2
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
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.
- The error message states that
concordium-smart-contract-testing 4.1.0
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 variantDebug
to retain these
events.