v5.2.0
Breaking Changes
Custom error changes
This version comes with changes to the custom error identifiers. Contracts previously depending on the following errors should be replaced accordingly:
- Replace
Errors.FailedCallwith a bubbled-up revert reason inAddress.sendValue.
Changes by category
General
- Update some pragma directives to ensure that all file requirements match that of the files they import. (#5273)
Account
ERC4337Utils: Add a reusable library to manipulate user operations and interact with ERC-4337 contracts (#5274)ERC7579Utils: Add a reusable library to interact with ERC-7579 modular accounts (#5274)
Governance
GovernorCountingOverridable: Add a governor counting module that enables token holders to override the vote of their delegate. (#5192)VotesExtended: Create an extension ofVoteswhich checkpoints balances and delegates. (#5192)
Proxy
Clones: AddcloneWithImmutableArgsandcloneDeterministicWithImmutableArgsvariants that create clones with per-instance immutable arguments. The immutable arguments can be retrieved usingfetchCloneArgs. The correspondingpredictDeterministicWithImmutableArgsfunction is also included. (#5109)
Tokens
ERC1363Utils: Add helper similar to the existingERC721UtilsandERC1155Utils(#5133)
Utils
Address: bubble up revert data onsendValuefailed call (#5418)Bytes: Add a library of common operations that operate onbytesobjects. (#5252)CAIP2andCAIP10: Add libraries for formatting and parsing CAIP-2 and CAIP-10 identifiers. (#5252)NoncesKeyed: Add a variant ofNoncesthat implements the ERC-4337 entrypoint nonce system. (#5272)Packing: Add variants for packingbytes10andbytes22(#5274)Strings: AddparseUint,parseInt,parseHexUintandparseAddressto parse strings into numbers and addresses. Also provide variants of these functions that parse substrings, andtryXxxvariants that do not revert on invalid input. (#5166)