فهرست منبع

Release v5.3.0 (rc) (#5503)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
github-actions[bot] 6 ماه پیش
والد
کامیت
39f5a0284e
63فایلهای تغییر یافته به همراه137 افزوده شده و 53 حذف شده
  1. 29 1
      .changeset/pre.json
  2. 46 0
      CHANGELOG.md
  3. 1 1
      contracts/access/AccessControl.sol
  4. 1 1
      contracts/access/IAccessControl.sol
  5. 1 1
      contracts/access/manager/AuthorityUtils.sol
  6. 1 1
      contracts/account/utils/draft-ERC4337Utils.sol
  7. 1 1
      contracts/finance/VestingWallet.sol
  8. 1 1
      contracts/governance/Governor.sol
  9. 1 1
      contracts/governance/IGovernor.sol
  10. 1 1
      contracts/governance/TimelockController.sol
  11. 1 1
      contracts/governance/extensions/GovernorCountingFractional.sol
  12. 1 1
      contracts/governance/extensions/GovernorCountingOverridable.sol
  13. 1 0
      contracts/governance/extensions/GovernorProposalGuardian.sol
  14. 1 0
      contracts/governance/extensions/GovernorSequentialProposalId.sol
  15. 1 1
      contracts/governance/extensions/GovernorStorage.sol
  16. 1 0
      contracts/governance/extensions/GovernorSuperQuorum.sol
  17. 1 1
      contracts/governance/extensions/GovernorTimelockAccess.sol
  18. 1 1
      contracts/governance/extensions/GovernorTimelockCompound.sol
  19. 1 1
      contracts/governance/extensions/GovernorTimelockControl.sol
  20. 1 1
      contracts/governance/extensions/GovernorVotesQuorumFraction.sol
  21. 1 0
      contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol
  22. 1 1
      contracts/interfaces/IERC1271.sol
  23. 1 1
      contracts/interfaces/IERC4626.sol
  24. 1 0
      contracts/interfaces/draft-IERC6909.sol
  25. 1 1
      contracts/metatx/ERC2771Forwarder.sol
  26. 1 1
      contracts/package.json
  27. 1 1
      contracts/proxy/Clones.sol
  28. 1 1
      contracts/proxy/utils/Initializable.sol
  29. 1 1
      contracts/proxy/utils/UUPSUpgradeable.sol
  30. 1 1
      contracts/token/ERC1155/IERC1155.sol
  31. 1 1
      contracts/token/ERC1155/utils/ERC1155Utils.sol
  32. 1 1
      contracts/token/ERC20/ERC20.sol
  33. 1 1
      contracts/token/ERC20/extensions/ERC4626.sol
  34. 1 1
      contracts/token/ERC20/extensions/draft-ERC20TemporaryApproval.sol
  35. 1 1
      contracts/token/ERC20/utils/SafeERC20.sol
  36. 1 0
      contracts/token/ERC6909/draft-ERC6909.sol
  37. 1 0
      contracts/token/ERC6909/extensions/draft-ERC6909ContentURI.sol
  38. 1 0
      contracts/token/ERC6909/extensions/draft-ERC6909Metadata.sol
  39. 1 0
      contracts/token/ERC6909/extensions/draft-ERC6909TokenSupply.sol
  40. 1 1
      contracts/token/ERC721/extensions/ERC721Consecutive.sol
  41. 1 1
      contracts/token/ERC721/extensions/ERC721URIStorage.sol
  42. 1 1
      contracts/token/ERC721/utils/ERC721Utils.sol
  43. 1 1
      contracts/token/common/ERC2981.sol
  44. 1 1
      contracts/utils/Arrays.sol
  45. 1 0
      contracts/utils/Calldata.sol
  46. 1 1
      contracts/utils/Multicall.sol
  47. 1 1
      contracts/utils/Pausable.sol
  48. 1 1
      contracts/utils/ReentrancyGuardTransient.sol
  49. 1 1
      contracts/utils/ShortStrings.sol
  50. 1 1
      contracts/utils/SlotDerivation.sol
  51. 1 1
      contracts/utils/Strings.sol
  52. 1 1
      contracts/utils/TransientSlot.sol
  53. 1 1
      contracts/utils/cryptography/EIP712.sol
  54. 1 1
      contracts/utils/cryptography/Hashes.sol
  55. 1 1
      contracts/utils/cryptography/MessageHashUtils.sol
  56. 1 1
      contracts/utils/math/Math.sol
  57. 1 1
      contracts/utils/structs/Checkpoints.sol
  58. 1 1
      contracts/utils/structs/CircularBuffer.sol
  59. 1 1
      contracts/utils/structs/EnumerableMap.sol
  60. 1 1
      contracts/utils/structs/EnumerableSet.sol
  61. 1 1
      contracts/utils/structs/MerkleTree.sol
  62. 2 2
      docs/antora.yml
  63. 1 1
      package.json

+ 29 - 1
.changeset/pre.json

@@ -4,5 +4,33 @@
   "initialVersions": {
     "openzeppelin-solidity": "5.2.0"
   },
-  "changesets": []
+  "changesets": [
+    "blue-nails-give",
+    "brave-islands-sparkle",
+    "brown-seals-sing",
+    "brown-turkeys-marry",
+    "cyan-taxis-travel",
+    "dirty-bananas-shake",
+    "fair-pumpkins-compete",
+    "famous-timers-compare",
+    "fast-coats-try",
+    "fuzzy-crews-poke",
+    "good-cameras-rush",
+    "good-cameras-serve",
+    "good-zebras-ring",
+    "gorgeous-apes-jam",
+    "green-drinks-report",
+    "long-walls-draw",
+    "nice-cherries-reply",
+    "ninety-rings-suffer",
+    "pretty-lobsters-tan",
+    "proud-cooks-do",
+    "quiet-shrimps-kiss",
+    "seven-insects-taste",
+    "sixty-tips-wink",
+    "ten-fishes-fold",
+    "ten-hats-begin",
+    "ten-peas-mix",
+    "thin-eels-cross"
+  ]
 }

+ 46 - 0
CHANGELOG.md

@@ -1,5 +1,7 @@
 # Changelog
 
+## 5.3.0-rc.0 (2025-03-19)
+
 ### Breaking Changes
 
 - Replace `GovernorCountingOverridable.VoteReceipt` struct parameter member names `hasOverriden` and `overridenWeight` for `hasOverridden` and `overriddenWeight` respectively.
@@ -8,6 +10,50 @@
 
 - Replace `GovernorAlreadyOverridenVote` with `GovernorAlreadyOverriddenVote`.
 
+### Changes by category
+
+#### Account
+
+- `ERC7579Utils`: Add ABI decoding checks on calldata bounds within `decodeBatch`. ([#5371](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5371))
+
+#### Governance
+
+- `IGovernor`: Add the `getProposalId` function to the governor interface. ([#5290](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5290))
+- `GovernorProposalGuardian`: Add a governance extension that defines a proposal guardian who can cancel proposals at any stage in their lifecycle. ([#5303](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5303))
+- `GovernorSequentialProposalId`: Adds a `Governor` extension that sequentially numbers proposal ids instead of using the hash. ([#5290](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/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 the `Succeeded` state before the proposal deadline. ([#5526](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5526))
+- `GovernorVotesSuperQuorumFraction`: Add a variant of the `GovernorSuperQuorum` extensions where the super quorum is expressed as a fraction of the total supply. ([#5526](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5526))
+- `TimelockController`: Receive function is now virtual. ([#5509](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5509))
+
+#### Structures
+
+- `EnumerableSet`: Add `clear` function to EnumerableSets which deletes all values in the set. ([#5486](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5486))
+- `EnumerableMap`: Add `clear` function to EnumerableMaps which deletes all entries in the map. ([#5486](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5486))
+- `MerkleTree`: Add an update function that replaces a previously inserted leaf with a new value, updating the tree root along the way. ([#5526](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5526))
+
+#### Tokens
+
+- `ERC4626`: Use the `asset` getter in `totalAssets`, `_deposit` and `_withdraw`. ([#5322](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5322))
+- `IERC6909`: Add the interface for ERC-6909. ([#5343](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5343))
+- `ERC6909`: Add a standard implementation of ERC6909. ([#5394](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5394))
+- `ERC6909TokenSupply`: Add an extension of ERC6909 which tracks total supply for each token id. ([#5394](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5394))
+- `ERC6909Metadata`: Add an extension of ERC6909 which adds metadata functionality. ([#5394](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5394))
+- `ERC6909ContentURI`: Add an extension of ERC6909 which adds content URI functionality. ([#5394](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5394))
+- `SafeERC20`: Add `trySafeTransfer` and `trySafeTransferFrom` that do not revert and return false if the transfer is not successful. ([#5483](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5483))
+
+#### Other
+
+- `Address`: bubble up revert data on `sendValue` failed call. ([#5379](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5379))
+- `Calldata`: Library with `emptyBytes` and `emptyString` functions to generate empty `bytes` and `string` calldata types. ([#5422](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5422))
+- `ERC2771Forwarder`: Expose the `_isTrustedByTarget` internal function to check whether a target trusts the forwarder. ([#5416](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5416))
+- `Hashes`: Expose `efficientKeccak256` for hashing non-commutative pairs of bytes32 without allocating extra memory. ([#5442](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5442))
+- `Initializable`: Add `_initializableStorageSlot` function that returns a pointer to the storage struct. The function allows customizing with a custom storage slot with an `override`. ([#5526](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5526))
+- `Math`: Add `add512`, `mul512` and `mulShr`. ([#5526](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5526))
+- `Math`: Add saturating arithmetic operations `saturatingAdd`, `saturatingSub` and `saturatingMul`. ([#5526](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5526))
+- `MessageHashUtils`: Add `toDataWithIntendedValidatorHash(address, bytes32)`. ([#5526](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5526))
+- `Pausable`: Stop explicitly setting `paused` to `false` during construction. ([#5448](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5448))
+- `Strings`: Add `espaceJSON` that escapes special characters in JSON strings. ([#5526](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5526))
+
 ## 5.2.0 (2025-01-08)
 
 ### Breaking Changes

+ 1 - 1
contracts/access/AccessControl.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (access/AccessControl.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (access/AccessControl.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/access/IAccessControl.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (access/IAccessControl.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (access/IAccessControl.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/access/manager/AuthorityUtils.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (access/manager/AuthorityUtils.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (access/manager/AuthorityUtils.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/account/utils/draft-ERC4337Utils.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.2.0) (account/utils/draft-ERC4337Utils.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (account/utils/draft-ERC4337Utils.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/finance/VestingWallet.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.2.0) (finance/VestingWallet.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (finance/VestingWallet.sol)
 pragma solidity ^0.8.20;
 
 import {IERC20} from "../token/ERC20/IERC20.sol";

+ 1 - 1
contracts/governance/Governor.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.2.0) (governance/Governor.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (governance/Governor.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/governance/IGovernor.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (governance/IGovernor.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (governance/IGovernor.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/governance/TimelockController.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (governance/TimelockController.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (governance/TimelockController.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/governance/extensions/GovernorCountingFractional.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (governance/extensions/GovernorCountingFractional.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (governance/extensions/GovernorCountingFractional.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/governance/extensions/GovernorCountingOverridable.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.2.0) (governance/extensions/GovernorCountingOverridable.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (governance/extensions/GovernorCountingOverridable.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 0
contracts/governance/extensions/GovernorProposalGuardian.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (governance/extensions/GovernorProposalGuardian.sol)
 pragma solidity ^0.8.20;
 
 import {Governor} from "../Governor.sol";

+ 1 - 0
contracts/governance/extensions/GovernorSequentialProposalId.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (governance/extensions/GovernorSequentialProposalId.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/governance/extensions/GovernorStorage.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (governance/extensions/GovernorStorage.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (governance/extensions/GovernorStorage.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 0
contracts/governance/extensions/GovernorSuperQuorum.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (governance/extensions/GovernorSuperQuorum.sol)
 pragma solidity ^0.8.20;
 
 import {Governor} from "../Governor.sol";

+ 1 - 1
contracts/governance/extensions/GovernorTimelockAccess.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (governance/extensions/GovernorTimelockAccess.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (governance/extensions/GovernorTimelockAccess.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/governance/extensions/GovernorTimelockCompound.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (governance/extensions/GovernorTimelockCompound.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (governance/extensions/GovernorTimelockCompound.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/governance/extensions/GovernorTimelockControl.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (governance/extensions/GovernorTimelockControl.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (governance/extensions/GovernorTimelockControl.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/governance/extensions/GovernorVotesQuorumFraction.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (governance/extensions/GovernorVotesQuorumFraction.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (governance/extensions/GovernorVotesQuorumFraction.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 0
contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (governance/extensions/GovernorVotesSuperQuorumFraction.sol)
 pragma solidity ^0.8.20;
 
 import {Governor} from "../Governor.sol";

+ 1 - 1
contracts/interfaces/IERC1271.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC1271.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (interfaces/IERC1271.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/interfaces/IERC4626.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC4626.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (interfaces/IERC4626.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 0
contracts/interfaces/draft-IERC6909.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (interfaces/draft-IERC6909.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/metatx/ERC2771Forwarder.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (metatx/ERC2771Forwarder.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (metatx/ERC2771Forwarder.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/package.json

@@ -1,7 +1,7 @@
 {
   "name": "@openzeppelin/contracts",
   "description": "Secure Smart Contract library for Solidity",
-  "version": "5.2.0",
+  "version": "5.3.0-rc.0",
   "files": [
     "**/*.sol",
     "/build/contracts/*.json",

+ 1 - 1
contracts/proxy/Clones.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.2.0) (proxy/Clones.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (proxy/Clones.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/proxy/utils/Initializable.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (proxy/utils/Initializable.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (proxy/utils/Initializable.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/proxy/utils/UUPSUpgradeable.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.2.0) (proxy/utils/UUPSUpgradeable.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (proxy/utils/UUPSUpgradeable.sol)
 
 pragma solidity ^0.8.22;
 

+ 1 - 1
contracts/token/ERC1155/IERC1155.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC1155/IERC1155.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (token/ERC1155/IERC1155.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/token/ERC1155/utils/ERC1155Utils.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC1155/utils/ERC1155Utils.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (token/ERC1155/utils/ERC1155Utils.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/token/ERC20/ERC20.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.2.0) (token/ERC20/ERC20.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (token/ERC20/ERC20.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/token/ERC20/extensions/ERC4626.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/extensions/ERC4626.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (token/ERC20/extensions/ERC4626.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/token/ERC20/extensions/draft-ERC20TemporaryApproval.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/extensions/draft-ERC20TemporaryApproval.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (token/ERC20/extensions/draft-ERC20TemporaryApproval.sol)
 
 pragma solidity ^0.8.24;
 

+ 1 - 1
contracts/token/ERC20/utils/SafeERC20.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.2.0) (token/ERC20/utils/SafeERC20.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (token/ERC20/utils/SafeERC20.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 0
contracts/token/ERC6909/draft-ERC6909.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (token/ERC6909/draft-ERC6909.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 0
contracts/token/ERC6909/extensions/draft-ERC6909ContentURI.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (token/ERC6909/extensions/draft-ERC6909ContentURI.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 0
contracts/token/ERC6909/extensions/draft-ERC6909Metadata.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (token/ERC6909/extensions/draft-ERC6909Metadata.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 0
contracts/token/ERC6909/extensions/draft-ERC6909TokenSupply.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (token/ERC6909/extensions/draft-ERC6909TokenSupply.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/token/ERC721/extensions/ERC721Consecutive.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC721/extensions/ERC721Consecutive.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (token/ERC721/extensions/ERC721Consecutive.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/token/ERC721/extensions/ERC721URIStorage.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC721/extensions/ERC721URIStorage.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (token/ERC721/extensions/ERC721URIStorage.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/token/ERC721/utils/ERC721Utils.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC721/utils/ERC721Utils.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (token/ERC721/utils/ERC721Utils.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/token/common/ERC2981.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (token/common/ERC2981.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (token/common/ERC2981.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/utils/Arrays.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (utils/Arrays.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/Arrays.sol)
 // This file was procedurally generated from scripts/generate/templates/Arrays.js.
 
 pragma solidity ^0.8.20;

+ 1 - 0
contracts/utils/Calldata.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/Calldata.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/utils/Multicall.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.1) (utils/Multicall.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/Multicall.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/utils/Pausable.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (utils/Pausable.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/Pausable.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/utils/ReentrancyGuardTransient.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (utils/ReentrancyGuardTransient.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/ReentrancyGuardTransient.sol)
 
 pragma solidity ^0.8.24;
 

+ 1 - 1
contracts/utils/ShortStrings.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (utils/ShortStrings.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/ShortStrings.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/utils/SlotDerivation.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (utils/SlotDerivation.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/SlotDerivation.sol)
 // This file was procedurally generated from scripts/generate/templates/SlotDerivation.js.
 
 pragma solidity ^0.8.20;

+ 1 - 1
contracts/utils/Strings.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.2.0) (utils/Strings.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/Strings.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/utils/TransientSlot.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (utils/TransientSlot.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/TransientSlot.sol)
 // This file was procedurally generated from scripts/generate/templates/TransientSlot.js.
 
 pragma solidity ^0.8.24;

+ 1 - 1
contracts/utils/cryptography/EIP712.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (utils/cryptography/EIP712.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/cryptography/EIP712.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/utils/cryptography/Hashes.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (utils/cryptography/Hashes.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/cryptography/Hashes.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/utils/cryptography/MessageHashUtils.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (utils/cryptography/MessageHashUtils.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/cryptography/MessageHashUtils.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/utils/math/Math.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (utils/math/Math.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/math/Math.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/utils/structs/Checkpoints.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (utils/structs/Checkpoints.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/structs/Checkpoints.sol)
 // This file was procedurally generated from scripts/generate/templates/Checkpoints.js.
 
 pragma solidity ^0.8.20;

+ 1 - 1
contracts/utils/structs/CircularBuffer.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (utils/structs/CircularBuffer.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/structs/CircularBuffer.sol)
 pragma solidity ^0.8.20;
 
 import {Math} from "../math/Math.sol";

+ 1 - 1
contracts/utils/structs/EnumerableMap.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (utils/structs/EnumerableMap.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/structs/EnumerableMap.sol)
 // This file was procedurally generated from scripts/generate/templates/EnumerableMap.js.
 
 pragma solidity ^0.8.20;

+ 1 - 1
contracts/utils/structs/EnumerableSet.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (utils/structs/EnumerableSet.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/structs/EnumerableSet.sol)
 // This file was procedurally generated from scripts/generate/templates/EnumerableSet.js.
 
 pragma solidity ^0.8.20;

+ 1 - 1
contracts/utils/structs/MerkleTree.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (utils/structs/MerkleTree.sol)
+// OpenZeppelin Contracts (last updated v5.3.0-rc.0) (utils/structs/MerkleTree.sol)
 
 pragma solidity ^0.8.20;
 

+ 2 - 2
docs/antora.yml

@@ -1,7 +1,7 @@
 name: contracts
 title: Contracts
-version: 5.x
-prerelease: false
+version: 5.x-rc
+prerelease: true
 nav:
   - modules/ROOT/nav.adoc
   - modules/api/nav.adoc

+ 1 - 1
package.json

@@ -1,7 +1,7 @@
 {
   "name": "openzeppelin-solidity",
   "description": "Secure Smart Contract library for Solidity",
-  "version": "5.2.0",
+  "version": "5.3.0-rc.0",
   "private": true,
   "files": [
     "/contracts/**/*.sol",