Releases: OpenZeppelin/cairo-contracts
Releases · OpenZeppelin/cairo-contracts
v0.17.0
Summary
Added
into_base_16_string_no_padding
function to the test helpers (#1137)- SRC9 (OutsideExecution) component (#1150)
- Vesting component and VestingWallet preset (#1116)
Changed (Breaking)
- Bump scarb to v2.8.2 (#1137)
- Bump snforge to 0.30.0 (#1137)
declare_class
,declare_and_deploy
, anddeclare_and_deploy_at
will skip declaration if the contract is already declared (#1137)- Bump edition to 2024_07 (#1138)
execute_calls
function from account utils (#1150)- calls param type changed from
Array<Call>
toSpan<Call>
- calls param type changed from
Deprecated
- DualCase dispatchers
Full Changes List
- Release v0.16.0 by @immrsd in #1123
- Chore(deps): Bump crate-ci/typos from 1.24.1 to 1.24.5 by @dependabot in #1134
- Bump starknet foundry to 0.30.0 by @ggonzalez94 in #1137
- Chore(deps): Bump DavidAnson/markdownlint-cli2-action from 16.0.0 to 17.0.0 by @dependabot in #1143
- Add missing entries to Test Utilities. by @ericnordelo in #1144
- Upgrade scarb edition to 2024_07 by @ggonzalez94 in #1138
- Improve workspace packages by @ericnordelo in #1121
- Chore(deps): Bump crate-ci/typos from 1.24.5 to 1.24.6 by @dependabot in #1151
- Vesting Component by @immrsd in #1116
- Add coverage to our test workflow by @ggonzalez94 in #1152
- OutsideExecution (SNIP-9) by @ericnordelo in #1150
- Deprecate dualcase dispatchers by @ericnordelo in #1155
- Fix link in docs by @andrew-fleming in #1158
- Release v0.17.0 by @ericnordelo in #1156
Full Changelog: v0.16.0...v0.17.0
v0.16.0
Summary
Added
- ERC721Enumerable component (#996)
- ERC2981 (NFT Royalty Standard) component (#1091)
merkle_tree
package with utilities to verify proofs and multi proofs (#1101)
Changed
Changed (Breaking)
- Changed ABI suffix to Trait in dual case account and eth account modules (#1096)
- DualCaseAccountABI renamed to DualCaseAccountTrait
- DualCaseEthAccountABI renamed to DualCaseEthAccountTrait
- Removed
_accept_ownership
from OwnableComponent::InternalImpl
Fixed
- OwnableTwoStep allowing a pending owner to accept ownership after the original owner has renounced ownership (#1119)
Full Changes List
- Allow dependabot to open PRs by @ggonzalez94 in #1099
- Add hooks section by @andrew-fleming in #1090
- Refactor ETH Account tests by @immrsd in #1098
- Bump crate-ci/typos from 1.19.0 to 1.23.6 by @dependabot in #1104
- Change ABI suffix to Trait in dual case account and eth account traits by @ggonzalez94 in #1096
- Bump stefanzweifel/git-auto-commit-action from 4.16.0 to 5.0.1 by @dependabot in #1105
- ERC2981 (NFT Royalty Standard) by @ericnordelo in #1091
- Fix storage member names in ERC2981 by @ericnordelo in #1109
- Bump snforge to v0.27.0 by @JhChoy in #1107
- Bump crate-ci/typos from 1.23.6 to 1.23.7 by @dependabot in #1113
- Add update tests by @andrew-fleming in #1083
- Bump crate-ci/typos from 1.23.7 to 1.24.1 by @dependabot in #1117
- Add merkle proof module by @ericnordelo in #1101
- Add ERC721EnumerableComponent extension by @andrew-fleming in #983
- Bump scarb to 2.8 by @ericnordelo in #1120
- Fix pending owner late overwrite issue by @ericnordelo in #1122
- Update CHANGELOG by @immrsd in #1123
v0.15.1
Summary
Changed
- Remove unused imports
- Update docsite links
- Remove token dependency from account package
Full Changes List
- Chore/remove unused imports by @amanusk in #1093
- Update docsite links by @andrew-fleming in #1094
- Update package lock by @andrew-fleming in #1095
- Remove token dependency from account package by @andrew-fleming in #1100
New Contributors
Full Changelog: v0.15.0...v0.15.1
v0.15.0
Summary
Added
- TimelockController component (#996)
- HashCall implementation (#996)
- Separate package for each submodule (#1065)
openzeppelin_access
openzeppelin_account
openzeppelin_governance
openzeppelin_introspection
openzeppelin_presets
openzeppelin_security
openzeppelin_token
openzeppelin_upgrades
openzeppelin_utils
- Separate packages intended as [dev-dependencies] (#1084)
openzeppelin_testing
openzeppelin_test_common
Changed
Changed (Breaking)
- Test utilities moved out of the utils module (#1084).
- Test utilities refactored to match the snforge test runner (#1084).
- Removed num_checkpoints and checkpoints from ERC20VotesABI (#1021).
Full Changes List
- Make Checkpoint public and fix interface by @ericnordelo in #1021
- Update LICENSE by @juan-dawson-neufeld in #1024
- Remove unnecessary
mut
, minor fixes by @andrew-fleming in #1032 - Improve SNIP12 examples by @ericnordelo in #1036
- Release v0.15.0-rc.0 by @ericnordelo in #1039
- Bump cairo to 2.7.0-rc.1 by @ericnordelo in #1025
- Bump Scarb to 2.7.0-rc.2 by @andrew-fleming in #1052
- Add timelock component by @andrew-fleming in #996
- Bump scarb to 2.7.0-rc.4 by @JhChoy in #1064
- Fix release workflow by @ericnordelo in #1066
- Add actionlint by @andrew-fleming in #1067
- Migrate testing to
snforge
by @ericnordelo in #1077 - Migrate to multiple packages (workspace) by @ericnordelo in #1065
- Fix presets page update workflow by @ericnordelo in #1079
- Add timelock docs by @andrew-fleming in #1017
- Fix version by @andrew-fleming in #1080
- Fix CONTRIBUTING, README, and index by @andrew-fleming in #1081
- Fix snforge dependency main target by @ericnordelo in #1084
- Re-enable SnAccount preset tests by @immrsd in #1088
- Update CHANGELOG (breaking section) by @ericnordelo in #1087
- Document Sn Foundry test utils by @immrsd in #1085
New Contributors
- @juan-dawson-neufeld made their first contribution in #1024
- @JhChoy made their first contribution in #1064
Full Changelog: v0.14.0...v0.15.0
v0.15.0-rc.0
Summary
Changed
- Trace, Checkpoint, and StorageArray structs made public.
Changed (Breaking)
- Removed num_checkpoints and checkpoints from ERC20VotesABI.
Full Changes List
- Make Checkpoint public and fix interface by @ericnordelo in #1021
- Remove unnecessary
mut
, minor fixes by @andrew-fleming in #1032 - Improve SNIP12 examples by @ericnordelo in #1036
Full Changelog: v0.14.0...v0.15.0-rc.0
v0.14.0
Summary
Changed (Breaking)
-
Migrate to the
2023_11
edition (#995):- Component implementations annotated with
#[embeddable_as()]
(e.g:AccessControlComponent::AccessControl
) are not public anymore. Note that the embeddable versions are still public (e.g:AccessControlComponent::AccessControlImpl
). - Implementations that can be compiler-derived from traits are not public anymore (e.g:
DualCaseAccessControlImpl
is not public whileDualCaseAccessControlTrait
is). Secp256k1PointPartialEq
andDebugSecp256k1Point
are not public anymore.account::utils::execute_single_call
is not public anymore.- Presets are not public anymore, since they should be copied into projects, and not directly imported.
Trace
andCheckpoint
structs are not public anymore, since they are intended to be used inERC20Votes
, and not as generic utilities.StorageArray
is not public anymore, since this implementation is specific toERC20Votes
, and is not intended as a generic utility, but as a temporary solution until Starknet native implementation arrives.
- Component implementations annotated with
-
Apply underscore pattern to modules (#993)
- AccessControlComponent
_set_role_admin
function renamed toset_role_admin
- PausableComponent
_pause
function renamed topause
_unpause
function renamed tounpause
- UpgradeableComponent
_upgrade
function renamed toupgrade
- ERC20Component:
_mint
function renamed tomint
_burn
function renamed toburn
_update
function renamed toupdate
- ERC721Component:
_safe_transfer
function renamed tosafe_transfer
_safe_mint
function renamed tosafe_mint
_mint
function renamed tomint
_transfer
function renamed totransfer
_burn
function renamed toburn
_update
function renamed toupdate
- ERC1155Component:
set_base_uri
function renamed to_set_base_uri
- AccessControlComponent
-
Bump Scarb to v2.6.5 (#1014)
Full Changes List
- Add NOTE to CONTRIBUTING. by @ericnordelo in #997
- Fix docs sections structure inconsistencies by @ericnordelo in #999
- Migrate to the 2023_11 edition. by @ericnordelo in #995
- Apply underscore pattern by @ericnordelo in #993
- Bump scarb and fix examples by @ericnordelo in #1014
Full Changelog: v0.13.0...v0.14.0
v0.13.0
Summary
Added
- Sending transactions section in account docs (#981)
- before_update and after_update hooks to ERC721Component (#978)
- before_update and after_update hooks to ERC1155Component (#982)
Changed (Breaking)
- ERC721Component internal implementation to support transfer, mint, and burn flows going through an
_update
function (#978) - ERC721Component implementations now require an ERC721HooksTrait implementation in scope (#978)
- ERC1155Component implementations now require an ERC1155HooksTrait implementation in scope (#982)
- AccountComponent, preset, and dispatcher now require a
signature
param in the public-key-setter functions (#989) - EthAccountComponent, preset, and dispatcher now require a
signature
param in the public-key-setter functions (#990)
Full Changes List
- fix old interface traits by @kamuik16 in #986
- Add ERC1155 Hooks by @ericnordelo in #982
- Add ERC721 hooks by @ericnordelo in #978
- Add account usage guide by @andrew-fleming in #981
- Validate new public key in Account by @ericnordelo in #989
- Validate new public key in EthAccount by @ericnordelo in #990
- Release v0.13.0 by @ericnordelo in #992
New Contributors
Full Changelog: v0.12.0...v0.13.0
v0.12.0
Summary
Added
- before_update and after_update hooks to ERC20Component (#951)
- INSUFFICIENT_BALANCE and INSUFFICIENT_ALLOWANCE errors to ERC20Component (#951)
- ERC20Votes component (#951)
- Preset interfaces (#964)
- UDC docs (#954)
- Util functions to precompute addresses (#954)
Changed
- Allow testing utilities to be importable (#963)
- Utilities documentation (#963)
- Parameter name in
tests::utils::drop_events
(count
->n_events
) (#963) - Presets to include upgradeable functionality (#964)
- ERC20, ERC721, and ERC1155 presets include Ownable functionality (#964)
- EthAccount
- Expected signature format changed from
(r, s, y)
to(r, s)
(#940)
- Expected signature format changed from
Full Changes List
- Release v0.11.0 by @ericnordelo in #958
- chore: add auto check typos flow when RP by @momodaka in #957
- Add custom order to presets page by @ericnordelo in #967
- Allow importable test utils, update utils docs by @andrew-fleming in #963
- Update docs with mixin when applicable by @ericnordelo in #966
- Migrate ERC20Votes to component by @ericnordelo in #951
- ERC20Votes docs by @ericnordelo in #962
- Add udc docs by @andrew-fleming in #954
- Add upgrades to presets by @andrew-fleming in #964
- Remove y from EthAccount signature. by @ericnordelo in #940
- Update cairo syntax highlighting by @ericnordelo in #976
- Release v0.12.0 by @andrew-fleming in #977
Full Changelog: v0.11.0...v0.12.0
v0.11.0
Summary
Added
- SNIP12 utilities for on-chain typed messages hash generation (#935)
- Nonces component utility (#935)
- Presets Usage guide (#949)
- UDC preset contract (#919)
- ERC1155Component and ERC1155ReceiverComponent mixins (#941)
- ERC721ReceiverComponent documentation (#945)
Changed
- Bump scarb to v2.6.3 (#946)
Fixed
- ERC721ReceiverComponent mixin embeddable implementation name (#945)
Removed
Full Changes List
- Release v0.10.0 by @andrew-fleming in #937
- Bump scarb to 2.6.x by @ericnordelo in #946
- Remove dualcase SRC5 by @TAdev0 in #882
- fix: ERC721 example by @Vojtch159 in #947
- Document ERC721ReceiverComponent by @ericnordelo in #945
- Add ERC1155 mixin by @andrew-fleming in #941
- Migrate UDC by @andrew-fleming in #919
- Remove DualCaseSRC5 trait and impl by @andrew-fleming in #952
- Add presets usage by @andrew-fleming in #949
- fix: fix all typos issue by @momodaka in #956
- SNIP 12 Utilities by @ericnordelo in #935
New Contributors
- @Vojtch159 made their first contribution in #947
- @momodaka made their first contribution in #956
Full Changelog: v0.10.0...v0.11.0
v0.10.0
Summary
Added
- ERC1155 component and preset (#896)
- Mixin implementations in components (#863)
- ERC721Component functions and Storage member
Changed
- Change
unwrap
tounwrap_syscall
(#901) - ERC20Component
IERC20::name
andIERC20::symbol
return ByteArrays instead of felts (#857)
- ERC721Component
Removed
- ERC721Component function and Storage member
Full changes list
- Remove gh pat by @martriay in #907
- Release v0.9.0 by @ericnordelo in #909
- Change
unwrap
tounwrap_syscall
by @andrew-fleming in #901 - Ensure option is used to remove warning by @glihm in #910
- Normalize tests by @ericnordelo in #918
- Add presets page update on release workflow by @ericnordelo in #883
- Add
DEVELOPMENT.md
by @martriay in #914 - Pass library version to Wizard in docs - main by @ericglau in #929
- Add ERC1155 by @ericnordelo and @cloudvenger in #896
- Add mixins by @andrew-fleming in #863
- Use
ByteArray
for strings by @andrew-fleming in #857 - ERC1155 docs by @ericnordelo and @cloudvenger in #920
- Improve
pop_log
util by @andrew-fleming in #893 - Sort class hashes in workflow by @ericnordelo in #938
New Contributors
- @glihm made their first contribution in #910
- @cloudvenger made their first contribution in #896
Full Changelog: v0.9.0...v0.10.0