Skip to content

v4.0.0-beta

Compare
Choose a tag to compare
@Artemka374 Artemka374 released this 20 Jul 15:55
· 317 commits to main since this release
5533473

Welcome the new version of OpenBrush! 🥳

OpenBrush has already been used in production for a long time, and we have accumulated a lot of experience in the process of using it.
We have also received a lot of feedback from the community.
We have been working hard to improve OpenBrush, and now we are finally ready to release the new version of OpenBrush. So get ready to use it!

We decided that this version should be beta version until OpenBrush is audited to make the library as good as possible!

Changes

Added

  • [BREAKING] implementation, override, default_impl macros: #78
  • [BREAKING] storage_item macro, which implements #[ink::storage_item] macro, but also allows to make field of struct upgradeable by using #[lazy] attribute. For all fields that
    are either Lazy/Mapping/MultiMapping is generated it's own constant storage key. Also it allows OpenBrush to work correctly with every default implementation #99
  • New OB feature: Upgradeable, which implements set_code_hash functionality #99
  • UI tests for testing different scenarios for macros #77
  • openbrush::accessors macro for automatic generation of getters/setters for storage items: #66 and 61

Removed

  • [BREAKING] upgradeable_storage macro, OccupyStorage trait #99
  • [BREAKING] min_specilization, now OpenBrush can be used with stable toolchain: #78
  • [BREAKING] ZERO_ADDRESS, now using Option<AccountId> instead: #98

Changed

  • [BREAKING] Now every field in OpenBrush's types that is not read/written directly in storage, is wrapped in Lazy, so all the types in OpenBrush can be considered upgradeable: #99

Fixed

  • Fixed reentrancy guard problem: #88
  • Updated reentrancy example: #108

More changes coming soon!

We are working on a new features and improvements, and also, as an important announcement, OpenBrush is going under the audit, so stay tuned!