Breaking Changes
- Replace
GovernorCountingOverridable.VoteReceipt
struct parameter member nameshasOverriden
andoverridenWeight
forhasOverridden
andoverriddenWeight
respectively.
Custom error changes
- Replace
GovernorAlreadyOverridenVote
withGovernorAlreadyOverriddenVote
.
Changes by category
Account
ERC7579Utils
: Add ABI decoding checks on calldata bounds withindecodeBatch
. (#5371)
Governance
IGovernor
: Add thegetProposalId
function to the governor interface. (#5290)GovernorProposalGuardian
: Add a governance extension that defines a proposal guardian who can cancel proposals at any stage in their lifecycle. (#5303)GovernorSequentialProposalId
: Adds aGovernor
extension that sequentially numbers proposal ids instead of using the hash. (#5290)GovernorSuperQuorum
: Add a governance extension to support a super quorum. Proposals that meet the super quorum (and have a majority of for votes) advance to theSucceeded
state before the proposal deadline. (#5526)GovernorVotesSuperQuorumFraction
: Add a variant of theGovernorSuperQuorum
extensions where the super quorum is expressed as a fraction of the total supply. (#5526)TimelockController
: Receive function is now virtual. (#5509)
Structures
EnumerableSet
: Addclear
function to EnumerableSets which deletes all values in the set. (#5486)EnumerableMap
: Addclear
function to EnumerableMaps which deletes all entries in the map. (#5486)MerkleTree
: Add an update function that replaces a previously inserted leaf with a new value, updating the tree root along the way. (#5526)
Tokens
ERC4626
: Use theasset
getter intotalAssets
,_deposit
and_withdraw
. (#5322)IERC6909
: Add the interface for ERC-6909. (#5343)ERC6909
: Add a standard implementation of ERC6909. (#5394)ERC6909TokenSupply
: Add an extension of ERC6909 which tracks total supply for each token id. (#5394)ERC6909Metadata
: Add an extension of ERC6909 which adds metadata functionality. (#5394)ERC6909ContentURI
: Add an extension of ERC6909 which adds content URI functionality. (#5394)SafeERC20
: AddtrySafeTransfer
andtrySafeTransferFrom
that do not revert and return false if the transfer is not successful. (#5483)
Other
Address
: bubble up revert data onsendValue
failed call. (#5379)Calldata
: Library withemptyBytes
andemptyString
functions to generate emptybytes
andstring
calldata types. (#5422)ERC2771Forwarder
: Expose the_isTrustedByTarget
internal function to check whether a target trusts the forwarder. (#5416)Hashes
: ExposeefficientKeccak256
for hashing non-commutative pairs of bytes32 without allocating extra memory. (#5442)Initializable
: Add_initializableStorageSlot
function that returns a pointer to the storage struct. The function allows customizing with a custom storage slot with anoverride
. (#5526)Math
: Addadd512
,mul512
andmulShr
. (#5526)Math
: Add saturating arithmetic operationssaturatingAdd
,saturatingSub
andsaturatingMul
. (#5526)MessageHashUtils
: AddtoDataWithIntendedValidatorHash(address, bytes32)
. (#5526)Pausable
: Stop explicitly settingpaused
tofalse
during construction. (#5448)Strings
: AddespaceJSON
that escapes special characters in JSON strings. (#5526)