O

OpenZeppelin Contracts

O
OpenZeppelin Contracts Blockchain v5.7.0

v5.7.0

Breaking changes EIP712: Drop the storage fallback for long name/version values. Both parameters must now fit in a ShortString (at most 31 bytes) or the constructor reverts with ShortStrings.StringTooLong. Storing the domain exclusively in immutables keeps the domain (and downstream ERC7739 verification) consistent when the contract is used behind a proxy or clone without an initializer. (#6631) E…

O
OpenZeppelin Contracts Blockchain v5.7.0-rc

v5.7.0-rc.0

Breaking changes Governor and IGovernor: Replace GovernorQueueNotImplemented with GovernorProposalQueueingNotRequired and GovernorProposalQueueingFailed. (#6582) Deprecations Checkpoints, DoubleEndedQueue, EnumerableMap and EnumerableSet: Deprecate the at function for accessing a specific index of the structure. We introduce new pos functions to replace them. (#6494) Changes by category Utils Addi…

O
OpenZeppelin Contracts Blockchain v5.6.1

v5.6.1

InteroperableAddress: Fix overflow in the parsing functions that caused silent misparse of large interoperable addresses. (#6372)

O
OpenZeppelin Contracts Blockchain v5.6.0

v5.6.0

Breaking changes Strings: The escapeJSON function now escapes all control characters in the range U+0000 to U+001F per RFC-4627. Previously only backspace, tab, newline, form feed, carriage return, double quote, and backslash were escaped. Input strings containing any other control character (e.g. null 0x00) or raw bytes in U+0001–U+001F will now produce different, longer output (e.g. \u0000 for n…

O
OpenZeppelin Contracts Blockchain v5.6.0-rc

v5.6.0-rc.0

Breaking changes ERC1155: Performing batch transfers with exactly one id/value in the batch no-longer calls IERC1155Receiver.onERC1155Received. IERC1155Receiver.onERC1155BatchReceived is called instead (with arrays of length one). (#6170) ERC1967Proxy and TransparentUpgradeableProxy: Mandate initialization during construction. Deployment now reverts with ERC1967ProxyUninitialized if an initialize…

O
OpenZeppelin Contracts Blockchain v5.5.0

v5.5.0

Bug fixes AccountERC7579: Prevent revert in isModuleInstalled for fallback modules when additionalContext has fewer than 4 bytes. The function now returns false instead of reverting, ensuring ERC-7579 compliance. (#5961) ERC165Checker: Ensure the supportsERC165 function returns false if the target reverts during the supportsInterface(0xffffffff) call. (#5810) Breaking changes Account: Add signatur…

O
OpenZeppelin Contracts Blockchain v5.5.0-rc

v5.5.0-rc.1

Bug fixes AccountERC7579: Prevent revert in isModuleInstalled for fallback modules when additionalContext has fewer than 4 bytes. The function now returns false instead of reverting, ensuring ERC-7579 compliance. (#5961) Breaking changes Account: Add signature argument to the internal _validateUserOp function for custom signature handling logic. Developers overriding it must now provide the signat…

O
OpenZeppelin Contracts Blockchain v5.5.0-rc

v5.5.0-rc.0

Bug fixes ERC165Checker: Ensure the supportsERC165 function returns false if the target reverts during the supportsInterface(0xffffffff) call. (#5810) Breaking changes ERC6909 and its extensions (ERC6909ContentURI, ERC6909Metadata and ERC6909TokenSupply) are no longer marked as draft since EIP-6909 is now final. Developers must update the import paths. Contracts behavior is not modified. (#5929) S…

O
OpenZeppelin Contracts Blockchain v5.4.0

v5.4.0

Breaking changes Update minimum pragma to 0.8.24 in SignatureChecker, Governor and Governor's extensions. (#5716). Pragma changes Reduced pragma requirement of interface files Changes by category Account Account: Added a simple ERC-4337 account implementation with minimal logic to process user operations. (#5657) AccountERC7579: Extension of Account that implements support for ERC-7579 modules of…

O
OpenZeppelin Contracts Blockchain v5.4.0-rc

v5.4.0-rc.0

Breaking changes Update minimum pragma to 0.8.24 in SignatureChecker, Governor and Governor's extensions. (#5716). Pragma changes Reduced pragma requirement of interface files Changes by category Account Account: Added a simple ERC-4337 account implementation with minimal logic to process user operations. (#5657) AccountERC7579: Extension of Account that implements support for ERC-7579 modules of…