Skip to content

Bump @openzeppelin/contracts from 5.4.0 to 5.6.1 in the blockchain group#3508

Open
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/npm_and_yarn/blockchain-56d7c3ce1d
Open

Bump @openzeppelin/contracts from 5.4.0 to 5.6.1 in the blockchain group#3508
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/npm_and_yarn/blockchain-56d7c3ce1d

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Mar 1, 2026

Bumps the blockchain group with 1 update: @openzeppelin/contracts.

Updates @openzeppelin/contracts from 5.4.0 to 5.6.1

Release notes

Sourced from @​openzeppelin/contracts's releases.

v5.6.1

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

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 null). (#6344)
  • 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 call is not provided. Developers that rely on the previous behavior and want to disable this check can do so by overriding the internal _unsafeAllowUninitialized function to return true. (#5906)
  • ERC721 and ERC1155: Prevent setting an operator for address(0). In the case of ERC721 this type of operator allowance could lead to obfuscated mint permission. (#6171)
  • RLP: The encode(bytes32) function now encodes bytes32 as a fixed size item and not as a scalar in encode(uint256). Users must replace calls to encode(bytes32) with encode(uint256(bytes32)) to preserve the same behavior. (#6167)
  • ERC4337Utils: The parseValidationData now returns a ValidationRange as the last return tuple value indicating whether the validationData is compared against a timestamp or block number. Developers must update their code to handle this new return value (e.g. (aggregator, validAfter, validUntil) -> (aggregator, validAfter, validUntil, range)). (#6215)
  • SignerWebAuthn: The _rawSignatureValidation function now returns false when the signature is not a valid WebAuthn authentication assertion. P256 fallback is removed. Developers can add it back by overriding the function. (#6337)
  • Memory: The setFreeMemoryPointer function is renamed to unsafeSetFreeMemoryPointer. Developers should use unsafeSetFreeMemoryPointer instead of setFreeMemoryPointer after v5.6.0. (#6348)
  • Memory: Remove the asBytes32 and asPointer function to reduce the risk of mistakes when manipulating memory pointers. (#6340)

Changes by category

Account

  • Account: Update default version of the ERC-4337 entrypoint to v0.9. (#6135)
  • AccountERC7579: Do not revert and perform the uninstall if the onUninstall hook of a module reverts. (#6142)
  • ERC4337Utils: Added the paymasterSignature function to extract the signature in paymasterAndData after Entrypoint v0.9. Similarly, a variant of paymasterData that receives a flag to exclude the signature from the returned data. (#6215)
  • ERC4337Utils: Added variants of packValidationData(address,uint48,uint48) and packValidationData(bool,uint48,uint48) that receive a ValidationRange argument, could be timestamp or block number. Similarly, the parseValidationData now returns a ValidationRange too. (#6215)

Tokens

  • ERC1155: Introduce the _checkAuthorized internal virtual function to encapsulate isApprovedForAll and msg.sender == from checks. (#6133)
  • ERC1155: Call IERC1155Receiver.onERC1155BatchReceived when performing a batch transfers with exactly one id/value in the batch. (#6170)
  • ERC4626: Allow overriding underlying assets transfer mechanisms through new internal virtual functions (_transferIn and _transferOut). (#5970)
  • ERC721URIStorage: Add _suffixURI, an internal getter for retrieving the custom tokenURI without the base prefix. (#6175)
  • Add ERC-165 detection for the IERC6909ContentURI, IERC6909TokenSupply and IERC6909Metadata interfaces in the ERC6909ContentURI, ERC6909TokenSupply and ERC6909Metadata contracts respectively. (#6246) and (#6247)

Cross-chain

  • BridgeFungible, BridgeERC20 and BridgeERC7802: Added bridge contracts to handle crosschain movements of ERC-20 (and ERC-7802) tokens. (#5914) (#6328)
  • CrosschainLinked: Added a new helper contract to facilitate communication between a contract on one chain and counterparts on remote chains through ERC-7786 gateways. (#5914)
  • ERC20Crosschain: Added an ERC-20 extension to embed an ERC-7786 based crosschain bridge directly in the token contract. (#5914)
  • InteroperableAddress: Reject inputs with both chain reference and addresses empty. (#6340)

Cryptography

  • MessageHashUtils: Add helper functions to build EIP-712 domain typehash and separator with fields selectively enabled/disabled. (#5908)
  • SignatureChecker: Add isValidERC1271SignatureNowCalldata, a variant of isValidERC1271SignatureNow that takes the signature from calldata. (#6123)
  • TrieProof: Add library for verifying Ethereum Merkle-Patricia trie inclusion proofs. (#5826)
  • WebAuthn: Verification now returns false instead of reverting when client data contains an out-of-bounds challengeIndex. (#6329)

Structures

... (truncated)

Changelog

Sourced from @​openzeppelin/contracts's changelog.

5.6.1 (2026-02-27)

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

5.6.0 (2026-02-25)

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 null). (#6344)
  • 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 call is not provided. Developers that rely on the previous behavior and want to disable this check can do so by overriding the internal _unsafeAllowUninitialized function to return true. (#5906)
  • ERC721 and ERC1155: Prevent setting an operator for address(0). In the case of ERC721 this type of operator allowance could lead to obfuscated mint permission. (#6171)
  • RLP: The encode(bytes32) function now encodes bytes32 as a fixed size item and not as a scalar in encode(uint256). Users must replace calls to encode(bytes32) with encode(uint256(bytes32)) to preserve the same behavior. (#6167)
  • ERC4337Utils: The parseValidationData now returns a ValidationRange as the last return tuple value indicating whether the validationData is compared against a timestamp or block number. Developers must update their code to handle this new return value (e.g. (aggregator, validAfter, validUntil) -> (aggregator, validAfter, validUntil, range)). (#6215)
  • SignerWebAuthn: The _rawSignatureValidation function now returns false when the signature is not a valid WebAuthn authentication assertion. P256 fallback is removed. Developers can add it back by overriding the function. (#6337)
  • Memory: The setFreeMemoryPointer function is renamed to unsafeSetFreeMemoryPointer. Developers should use unsafeSetFreeMemoryPointer instead of setFreeMemoryPointer after v5.6.0. (#6348)
  • Memory: Remove the asBytes32 and asPointer function to reduce the risk of mistakes when manipulating memory pointers. (#6340)

Changes by category

Account

  • Account: Update default version of the ERC-4337 entrypoint to v0.9. (#6135)
  • AccountERC7579: Do not revert and perform the uninstall if the onUninstall hook of a module reverts. (#6142)
  • ERC4337Utils: Added the paymasterSignature function to extract the signature in paymasterAndData after Entrypoint v0.9. Similarly, a variant of paymasterData that receives a flag to exclude the signature from the returned data. (#6215)
  • ERC4337Utils: Added variants of packValidationData(address,uint48,uint48) and packValidationData(bool,uint48,uint48) that receive a ValidationRange argument, could be timestamp or block number. Similarly, the parseValidationData now returns a ValidationRange too. (#6215)

Tokens

  • ERC1155: Introduce the _checkAuthorized internal virtual function to encapsulate isApprovedForAll and msg.sender == from checks. (#6133)
  • ERC1155: Call IERC1155Receiver.onERC1155BatchReceived when performing a batch transfers with exactly one id/value in the batch. (#6170)
  • ERC4626: Allow overriding underlying assets transfer mechanisms through new internal virtual functions (_transferIn and _transferOut). (#5970)
  • ERC721URIStorage: Add _suffixURI, an internal getter for retrieving the custom tokenURI without the base prefix. (#6175)
  • Add ERC-165 detection for the IERC6909ContentURI, IERC6909TokenSupply and IERC6909Metadata interfaces in the ERC6909ContentURI, ERC6909TokenSupply and ERC6909Metadata contracts respectively. (#6246) and (#6247)

Cross-chain

  • BridgeFungible, BridgeERC20 and BridgeERC7802: Added bridge contracts to handle crosschain movements of ERC-20 (and ERC-7802) tokens. (#5914) (#6328)
  • CrosschainLinked: Added a new helper contract to facilitate communication between a contract on one chain and counterparts on remote chains through ERC-7786 gateways. (#5914)
  • ERC20Crosschain: Added an ERC-20 extension to embed an ERC-7786 based crosschain bridge directly in the token contract. (#5914)
  • InteroperableAddress: Reject inputs with both chain reference and addresses empty. (#6340)

Cryptography

  • MessageHashUtils: Add helper functions to build EIP-712 domain typehash and separator with fields selectively enabled/disabled. (#5908)
  • SignatureChecker: Add isValidERC1271SignatureNowCalldata, a variant of isValidERC1271SignatureNow that takes the signature from calldata. (#6123)
  • TrieProof: Add library for verifying Ethereum Merkle-Patricia trie inclusion proofs. (#5826)
  • WebAuthn: Verification now returns false instead of reverting when client data contains an out-of-bounds challengeIndex. (#6329)

Structures

... (truncated)

Commits
  • 5fd1781 Release v5.6.1 (#6377)
  • 82cad37 Fix support for very large inputs in InteroperableAddress (#6372)
  • 56a3de2 Release v5.6.0 (#6340)
  • 6ec651d Exit release candidate
  • 4c10cbe Add support for inline extension nodes in TrieProof (#6351)
  • aa110ab Fix typos and documentation for the 5.6 audit. (#6330)
  • 27dddf8 Escape control characters in Strings.escapeJSON (#6344)
  • f5cd8d8 Reject interoperable addresses whith both chain reference and addresses empty...
  • 44d016c Check that slice are in the reserved space in Accumulator push and shift (#6302)
  • cbaf3a4 Remove Memory.asPointer and Memory.asBytes32 + add warning about setting the ...
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by [GitHub Actions](https://www.npmjs.com/~GitHub Actions), a new releaser for @​openzeppelin/contracts since your current version.


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps the blockchain group with 1 update: [@openzeppelin/contracts](https://github.com/OpenZeppelin/openzeppelin-contracts).


Updates `@openzeppelin/contracts` from 5.4.0 to 5.6.1
- [Release notes](https://github.com/OpenZeppelin/openzeppelin-contracts/releases)
- [Changelog](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/CHANGELOG.md)
- [Commits](OpenZeppelin/openzeppelin-contracts@v5.4.0...v5.6.1)

---
updated-dependencies:
- dependency-name: "@openzeppelin/contracts"
  dependency-version: 5.6.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: blockchain
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot requested a review from a team as a code owner March 1, 2026 22:09
@vercel
Copy link

vercel bot commented Mar 1, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
documentation Ready Ready Preview Mar 1, 2026 10:12pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants