Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions near-plugins-derive/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# Changelog

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

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.6.0](https://github.com/Near-One/near-plugins/compare/near-plugins-derive-v0.1.0...near-plugins-derive-v0.6.0) - 2026-04-03

### Added

- Improve Pausable Migration Guide and Add Migration Tests ([#163](https://github.com/Near-One/near-plugins/pull/163))
- separate pause and unpause roles in Pausable plugin ([#156](https://github.com/Near-One/near-plugins/pull/156))
- make the upgrade process safer ([#147](https://github.com/Near-One/near-plugins/pull/147))
- *(upgradable)* [**breaking**] add `hash` parameter to `up_deploy_code` ([#117](https://github.com/Near-One/near-plugins/pull/117))
- bump near-sdk to 5.1.0 ([#134](https://github.com/Near-One/near-plugins/pull/134))
- *(Acl)* add `acl_add_super_admin` ([#98](https://github.com/Near-One/near-plugins/pull/98))
- *(Acl)* add `acl_transfer_super_admin` ([#94](https://github.com/Near-One/near-plugins/pull/94))
- *(Pausable)* [**breaking**] make `pa_[un]pause` return `bool` ([#91](https://github.com/Near-One/near-plugins/pull/91))
- *(Acl)* add `acl_revoke_super_admin` ([#89](https://github.com/Near-One/near-plugins/pull/89))
- *(FullAccessKeyFallback)* [**breaking**] remove the plugin ([#87](https://github.com/Near-One/near-plugins/pull/87))
- *(Upgradable)* [**breaking**] enable batched fn call after deploy ([#86](https://github.com/Near-One/near-plugins/pull/86))
- *(Upgradable)* [**breaking**] use Acl for authorization ([#85](https://github.com/Near-One/near-plugins/pull/85))
- *(AccessControllable)* [**breaking**] Remove `__acl` field ([#84](https://github.com/Near-One/near-plugins/pull/84))
- *(AccessControllable)* add `acl_get_permissioned_accounts` ([#78](https://github.com/Near-One/near-plugins/pull/78))
- add Acl introspection of role variants ([#75](https://github.com/Near-One/near-plugins/pull/75))

### Fixed

- update `syn` crate to match `near-sdk` crate and to enable parsing of `#[unsafe(no_mangle)]` ([#171](https://github.com/Near-One/near-plugins/pull/171))
- Change hash encoding, support passing in `code` without borsh ([#152](https://github.com/Near-One/near-plugins/pull/152))
- remove the limit on minor version from `near-sdk` dependency ([#145](https://github.com/Near-One/near-plugins/pull/145))
- make view methods pausable ([#144](https://github.com/Near-One/near-plugins/pull/144))
- doc comment on Role variant crashes macro ([#33](https://github.com/Near-One/near-plugins/pull/33))

### Other

- bump version to 0.6.0 and fix repository URLs ([#178](https://github.com/Near-One/near-plugins/pull/178))
- update `rust-toolchain` to 1.86 in pausable-old ([#175](https://github.com/Near-One/near-plugins/pull/175))
- verify the state after wrong migration ([#159](https://github.com/Near-One/near-plugins/pull/159))
- deploy test contracts with cargo-near ([#157](https://github.com/Near-One/near-plugins/pull/157))
- Test upgrade access_controlable ([#141](https://github.com/Near-One/near-plugins/pull/141))
- bump near-sdk to 5.2 ([#137](https://github.com/Near-One/near-plugins/pull/137))
- stop pinning a toolchain version ([#131](https://github.com/Near-One/near-plugins/pull/131))
- only use `borsh` re-exported by `near-sdk` ([#122](https://github.com/Near-One/near-plugins/pull/122))
- [**breaking**] update Rust version and `near-*` dependencies ([#118](https://github.com/Near-One/near-plugins/pull/118))
- clean up some code ([#102](https://github.com/Near-One/near-plugins/pull/102))
- *(Acl)* reorder state modifications ([#101](https://github.com/Near-One/near-plugins/pull/101))
- *(Ownable)* removing contract keys freezes owner ([#100](https://github.com/Near-One/near-plugins/pull/100))
- use `emit` to log events ([#96](https://github.com/Near-One/near-plugins/pull/96))
- *(Pausable)* improve if_paused error message ([#95](https://github.com/Near-One/near-plugins/pull/95))
- [**breaking**] avoid cloning storage prefixes ([#92](https://github.com/Near-One/near-plugins/pull/92))
- *(Acl)* extend coverage ([#90](https://github.com/Near-One/near-plugins/pull/90))
- *(Upgradable)* code removal after deplyoment ([#88](https://github.com/Near-One/near-plugins/pull/88))
- *(Upgradable)* transact with contract after deployment ([#83](https://github.com/Near-One/near-plugins/pull/83))
- move integration tests to `near-plugins-derive` ([#81](https://github.com/Near-One/near-plugins/pull/81))
- Add support for the delayed upgrade ([#44](https://github.com/Near-One/near-plugins/pull/44))
- justify a usage of `std::panic!` ([#72](https://github.com/Near-One/near-plugins/pull/72))
- make Acl role limit explicit ([#70](https://github.com/Near-One/near-plugins/pull/70))
- add backstage metadata
- describe architecture & testing; add doc comments ([#54](https://github.com/Near-One/near-plugins/pull/54))
- Remove workaround for fixed near-sdk issue ([#46](https://github.com/Near-One/near-plugins/pull/46))
- Make Pausable use Acl for authorization ([#47](https://github.com/Near-One/near-plugins/pull/47))
- Migrate from `near_sdk::collections` to `near_sdk::store` ([#37](https://github.com/Near-One/near-plugins/pull/37))
- Add fn acl_get_super_admins to trait AccessControllable ([#29](https://github.com/Near-One/near-plugins/pull/29))
- Use double underscore in generated variables ([#26](https://github.com/Near-One/near-plugins/pull/26))
- Remove system panic. Use near sdk built in panic ([#27](https://github.com/Near-One/near-plugins/pull/27))
- Make calls to trait methods fully qualified in acl plugin ([#21](https://github.com/Near-One/near-plugins/pull/21))
- Update syntax to pass `role_type` to acl ([#19](https://github.com/Near-One/near-plugins/pull/19))
- Re-export crate to avoid dependency in contract ([#24](https://github.com/Near-One/near-plugins/pull/24))
- Add fn acl_init_super_admin to trait ([#25](https://github.com/Near-One/near-plugins/pull/25))
- Removing code duplication ([#22](https://github.com/Near-One/near-plugins/pull/22))
- Manage dependencies using cargo workspace ([#16](https://github.com/Near-One/near-plugins/pull/16))
- Use latest rust edition
- Address comments from clippy
- Remove unchecked methods and expose expected methods
- Add functions to manage roles
- Add `acl_get_{admins, grantees}()`
- Add functions to manage roles
- Add `acl_init_super_admin`
- Remove acl_*_unchecked methods from trait
- Implement and test super-admin functionality
- Implement and test admin functionality
- avoid a Vec allocation
- Document heuristic to detect *Ext impl
- Validate input `permission` in `add_bearer()`
- pr review
- pr review
- Implement `#[access_control_any(roles(...))]`
- Extend `is_near_bindgen_wrapped_or_marshall`
- Verify role type satisfies trait bounds
- Remove method stub
- Add event RoleGranted
- Make some methods in trait impl #[private]
- Add `fn new_bitflags_type_ident`
- cleanup
- cleanup
- document mapping between roles and bitflags
- Generate bitflags dynamically
- Remove `_bitflag` suffix from trait method names
- implement TryFrom<&str> instead of FromStr
- make trait method acl_storage_prefix static
- Add building blocks for Acl plugin
113 changes: 113 additions & 0 deletions near-plugins/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
# Changelog

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

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.6.0](https://github.com/Near-One/near-plugins/releases/tag/near-plugins-v0.6.0) - 2026-04-03

### Added

- separate pause and unpause roles in Pausable plugin ([#156](https://github.com/Near-One/near-plugins/pull/156))
- make the upgrade process safer ([#147](https://github.com/Near-One/near-plugins/pull/147))
- *(upgradable)* [**breaking**] add `hash` parameter to `up_deploy_code` ([#117](https://github.com/Near-One/near-plugins/pull/117))
- bump near-sdk to 5.1.0 ([#134](https://github.com/Near-One/near-plugins/pull/134))
- *(Acl)* add `acl_add_super_admin` ([#98](https://github.com/Near-One/near-plugins/pull/98))
- *(Acl)* add `acl_transfer_super_admin` ([#94](https://github.com/Near-One/near-plugins/pull/94))
- *(Pausable)* [**breaking**] make `pa_[un]pause` return `bool` ([#91](https://github.com/Near-One/near-plugins/pull/91))
- *(Acl)* add `acl_revoke_super_admin` ([#89](https://github.com/Near-One/near-plugins/pull/89))
- *(FullAccessKeyFallback)* [**breaking**] remove the plugin ([#87](https://github.com/Near-One/near-plugins/pull/87))
- *(Upgradable)* [**breaking**] enable batched fn call after deploy ([#86](https://github.com/Near-One/near-plugins/pull/86))
- *(Upgradable)* [**breaking**] use Acl for authorization ([#85](https://github.com/Near-One/near-plugins/pull/85))
- *(AccessControllable)* add `acl_get_permissioned_accounts` ([#78](https://github.com/Near-One/near-plugins/pull/78))
- add Acl introspection of role variants ([#75](https://github.com/Near-One/near-plugins/pull/75))

### Fixed

- update `syn` crate to match `near-sdk` crate and to enable parsing of `#[unsafe(no_mangle)]` ([#171](https://github.com/Near-One/near-plugins/pull/171))
- Change hash encoding, support passing in `code` without borsh ([#152](https://github.com/Near-One/near-plugins/pull/152))
- ABI generation ([#146](https://github.com/Near-One/near-plugins/pull/146))

### Other

- bump version to 0.6.0 and fix repository URLs ([#178](https://github.com/Near-One/near-plugins/pull/178))
- bump near-sdk to 5.2 ([#137](https://github.com/Near-One/near-plugins/pull/137))
- stop pinning a toolchain version ([#131](https://github.com/Near-One/near-plugins/pull/131))
- add a change log ([#103](https://github.com/Near-One/near-plugins/pull/103))
- *(Acl)* add module-level docs ([#99](https://github.com/Near-One/near-plugins/pull/99))
- *(Upgradable)* remove confusing statement ([#97](https://github.com/Near-One/near-plugins/pull/97))
- [**breaking**] avoid cloning storage prefixes ([#92](https://github.com/Near-One/near-plugins/pull/92))
- *(Upgradable)* code removal after deplyoment ([#88](https://github.com/Near-One/near-plugins/pull/88))
- move integration tests to `near-plugins-derive` ([#81](https://github.com/Near-One/near-plugins/pull/81))
- deduplicate `Upgradable` docs and examples ([#80](https://github.com/Near-One/near-plugins/pull/80))
- add integration tests for `Upgradable` ([#79](https://github.com/Near-One/near-plugins/pull/79))
- Add support for the delayed upgrade ([#44](https://github.com/Near-One/near-plugins/pull/44))
- add notes on upgrading vulnerable code ([#71](https://github.com/Near-One/near-plugins/pull/71))
- extend `acl_revoke_admin` docs ([#68](https://github.com/Near-One/near-plugins/pull/68))
- add backstage metadata
- add integration tests for `FullAccessKeyFallback` ([#66](https://github.com/Near-One/near-plugins/pull/66))
- fix clippy errors in `near-plugins/tests` ([#63](https://github.com/Near-One/near-plugins/pull/63))
- deduplicate `Ownable` docs and examples ([#62](https://github.com/Near-One/near-plugins/pull/62))
- mention `Ownable::owner_is` fails in view calls ([#60](https://github.com/Near-One/near-plugins/pull/60))
- add integration tests for `Ownable` plugin ([#59](https://github.com/Near-One/near-plugins/pull/59))
- Acl test contract names of roles and methods ([#57](https://github.com/Near-One/near-plugins/pull/57))
- deduplicate `AccessControllable` docs and examples ([#55](https://github.com/Near-One/near-plugins/pull/55))
- describe architecture & testing; add doc comments ([#54](https://github.com/Near-One/near-plugins/pull/54))
- deduplicate `Pausable` docs and examples ([#53](https://github.com/Near-One/near-plugins/pull/53))
- add integration tests for `Pausable` plugins ([#51](https://github.com/Near-One/near-plugins/pull/51))
- Pausable `except` works when `ALL` is paused ([#49](https://github.com/Near-One/near-plugins/pull/49))
- Add details of Pausable integration with Acl ([#50](https://github.com/Near-One/near-plugins/pull/50))
- Make Pausable use Acl for authorization ([#47](https://github.com/Near-One/near-plugins/pull/47))
- Add examples on plugins usage ([#34](https://github.com/Near-One/near-plugins/pull/34))
- Add fn acl_get_super_admins to trait AccessControllable ([#29](https://github.com/Near-One/near-plugins/pull/29))
- Re-export crate to avoid dependency in contract ([#24](https://github.com/Near-One/near-plugins/pull/24))
- Add fn acl_init_super_admin to trait ([#25](https://github.com/Near-One/near-plugins/pull/25))
- Manage dependencies using cargo workspace ([#16](https://github.com/Near-One/near-plugins/pull/16))
- Add custom compilation mechanism for tests
- Use latest rust edition
- Remove unchecked methods and expose expected methods
- Add `acl_get_{admins, grantees}()`
- Add tests for new functions to manage roles
- Add functions to manage roles
- Add `acl_init_super_admin`
- Update dev-dependency `workspaces`
- Remove acl_*_unchecked methods from trait
- verify previously ignored return values
- extend test_attribute_access_control_any
- verify super-admin privileges
- Implement and test super-admin functionality
- Implement and test admin functionality
- Merge pull request #5 from mooori/acl
- rename `want` -> `expected`
- add `test_attribute_access_control_any`
- Implement `#[access_control_any(roles(...))]`
- Verify role type satisfies trait bounds
- Remove method stub
- add tests for acl_grant_role_unchecked
- add Setup to avoid repetition
- add helpers via AccessControllableContract
- Add event RoleGranted
- Rename variants of Role enum
- Omit optional storage_prefix arg in test contract
- Remove `_bitflag` suffix from trait method names
- implement TryFrom<&str> instead of FromStr
- make trait method acl_storage_prefix static
- Add building blocks for Acl plugin
- Update Cargo.toml / README / LICENSE
- Nit on README
- Add factory upgrades to the roadmap
- Add tests behind not(wasm32) flag
- Update visibility for plugins objects
- Tests and Macro.
- Update macros and tests
- Event Ergonomic: Add TODO and description
- Add Event on attaching a full access key
- Add tests
- Update design and add tests
- Add support for events
- Add documentation
- Fix is_self
- Create NEAR Plugins