# openzeppelin-contracts v5.5.0-rc.1 - Product: openzeppelin-contracts (https://whatsnew.fyi/product/openzeppelin-contracts) - Vendor: OpenZeppelin - Date: 2025-10-10 - Version: v5.5.0-rc.1 - Original notes: https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v5.5.0-rc.1 - Permalink: https://whatsnew.fyi/product/openzeppelin-contracts/releases/v5.5.0-rc.1 - Labels: Pre-release What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — AccountERC7579: Prevent revert in isModuleInstalled for fallback modules when additionalContext has fewer than 4 bytes by returning false instead of reverting - **changed** — Account: Add signature argument to the internal _validateUserOp function for custom signature handling logic - **changed** — AccountERC7579: Installing and uninstalling fallback modules now require initData and deInitData arguments to be at least 4 bytes long and revert with ERC7579CannotDecodeFallbackData when bytes are missing - **added** — Arrays: Add slice and splice functions for value types (uint256[], bytes32[], address[]) ###### 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](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5961)) ###### Breaking changes - `Account`: Add `signature` argument to the internal `_validateUserOp` function for custom signature handling logic. Developers overriding it must now provide the signature from the user operation (i.e. `userOp.signature`) to keep compatibility. ([#5976](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5976)) - `AccountERC7579`: Installing and uninstalling fallback modules now require the corresponding `initData` and `deInitData` arguments to be at least 4 bytes long (matching the selector to which the fallback module is registered). It now reverts with `ERC7579CannotDecodeFallbackData` instead of treating the missing bytes as `0x00`. ([#5974](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5974)) ###### Changes by category ###### Utils - `Arrays`: Add `slice` and `splice` functions for value types (`uint256[]`, `bytes32[]`, `address[]`). ([#5983](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5983))