v4.0.0-beta
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 eitherLazy
/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 implementsset_code_hash
functionality #99 UI
tests for testing different scenarios for macros #77openbrush::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 withstable
toolchain: #78 - [BREAKING]
ZERO_ADDRESS
, now usingOption<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
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!