Skip to content

Latest commit

 

History

History
96 lines (63 loc) · 5.5 KB

CHANGELOG-RUST.md

File metadata and controls

96 lines (63 loc) · 5.5 KB

Changelog - Fadroma Rust Crate

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning with the exception of the SNIP-20 token implementation.

[Unreleased]

[0.8.8] - 2023-06-14

Changed

  • BREAKING ⚠️: Introduced the Address and MaybeAddress marker traits to constrain the possible types for generic arguments as well as making it clear that an address is expected. (#177)

Fixed

  • BREAKING ⚠️: Removed the underscore in the contract address attribute in the events produced by the Ensemble. (5813304)

[0.8.7] - 2023-05-12

Changed

  • BREAKING ⚠️: Renamed the impl_contract_harness! macro to contract_harness!. It now also uses the same syntax as the entrypoint! macro and allows to optionally supply a reply entry point. (#168)
  • BREAKING ⚠️: Renamed ContractInstantiationInfo to ContractCode. (#171)

Added

  • SNIP-25 allowance queries (#169)
  • Methods to get a random number (next_u32/u64) and to fill a slice with random bytes (fill_bytes) in Prng (#170)
  • SNIP-20 decoys (#170)
  • SNIP-20 support to deposit/redeem multiple native coin denominations (#173)
  • Convenience methods to create init and execute messages from ContractCode and ContractLink (#171)

[0.8.6] - 2023-04-28

Changed

  • BREAKING ⚠️: Addresses in the Ensemble are now checked if they are less than 55 bytes and all lower case characters. MockEnv will panic if this is not the case. The sender and contract fields are now private in order ensure this invariant. Use the getters if you need to read them. (#166)

[0.8.5] - 2023-04-26

Added

  • Map and InsertOnlyMap storage types (#163)
  • set method to IterableStorage (#163)
  • Convenience methods to IterableStorage to match the features of SingleItem and ItemSpace (#163)
  • Addr now implements Segment (#163)
  • Namespace types not also implement Key (#163)

Changed

  • BREAKING ⚠️: Removed _at suffix from IterableStorage (#163)

[0.8.0] - 2023-03-30

Added

  • Unit struct and enum variants now supported by the Canonize derive macro (3448523)
  • Fadroma DSL - procedural macro to reduce boilerplate and enable composing shared functionality or entire contracts (#155)
  • BREAKING ⚠️: Custom binary serialization for storage (#147):
    • Introduces the FadromaSerialize and FadromaDeserialize traits which can be derived and are semantically equivalent to serde's own Serialize/Deserialize traits.
    • All Fadroma storage types now use these traits.

Changed

  • BREAKING ⚠️: entrypoint! macro now supports reply entry points and has a slightly different interface. (d005e38)

  • BREAKING ⚠️: Permit struct: renamed check_permission -> has_permission and check_contract -> is_for_contract. (693cbb0)

  • BREAKING ⚠️: The SNIP-20 implementation now uses Fadroma DSL. (#159)

  • BREAKING ⚠️: scrt::pad_response is now implemented as an extension to cosmwasm_std::Response via the ResponseExt trait. (#159)

  • BREAKING ⚠️: The killswitch module now only uses a single ContractStatus enum, consolidated from previously the ContractStatusLevel enum and ContractStatus struct (#158)

  • BREAKING ⚠️: The admin module now is a single implementation that covers both immediate and two-step admin changes (#155)

    • Now uses the new Fadroma DSL
  • BREAKING ⚠️: The killswitch module now uses Fadroma DSL (#155)

Removed

  • BREAKING ⚠️: the #[message] procedural macro (6e774a2)
  • BREAKING ⚠️: the contract derive procedural macro in favour of Fadroma DSL (#155)

[0.7.0] - 2023-02-07

Fixed

  • Removed cosmwasm_std::to_binary which resulted in double base64 the query result in the derive macro (b932456)

[0.6.1] - 2023-01-31

First official release on crates.io.