- #118: Update of
rust-version
(MSRV) from 1.64.0 to 1.69.0. Contracts usingnear-plugins
now require a Rust version of at least 1.69.0.- Developers who want to run the test suite of
near-plugins
and run into compilation errors can follow this workaround.
- Developers who want to run the test suite of
- 128 applies temporary workarounds required to build tests.
This section lists changes affecting multiple plugins. Changes that affect only individual plugins are listed below.
- Functions returning storage prefixes return
&'static [u8]
instead ofVec<u8>
. [#92]
- All plugins are now tested in integration tests using Near’s workspaces, as described here.
- The contracts used in tests contain many comments and serve as usage examples.
- Store plugin state under a separate storage key. Previously it was stored under a field injected into the struct that derives
AccessControllable
. [#84]
- Make the limit for the the number of role variants explicit. [#70]
- Enable viewing permissions that have been granted to accounts. [#75, #78]
- Add the function
acl_revoke_super_admin
. [#89] - Add the function
acl_transfer_super_admin
. [#94] - Add the function
acl_add_super_admin
. [#98]
- The plugin has been removed. [#87]
- Use
AccessControllable
instead ofOwnable
to manage authorization of (un)pausing features and to define exemptions viaexcept
. [47] - Make functions
pa_[un]pause
returnbool
. [#91] - Emit events
Pause
andUnpause
only if state was modified successfully. [#91]
- Improve an error message related to
if_paused
. [95]
- Use
AccessControllable
instead ofOwnable
to manage permissions for functionality provided byUpgradable
. [85] - Enable optionally batching a function call with code deployment, which changes the signature of
Upgradable::up_deploy_code
. [86]
- Allow contracts to set a minimum duration that must pass between staging and deploying new code. The staging duration is a safety mechanism to protect users. [#44]