Skip to content

Commit ac4198f

Browse files
Release v5.2.0 (rc) (#5277)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Hadrien Croubois <[email protected]>
1 parent 7e014ee commit ac4198f

31 files changed

+78
-21
lines changed

Diff for: .changeset/pre.json

+14-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,18 @@
44
"initialVersions": {
55
"openzeppelin-solidity": "5.1.0"
66
},
7-
"changesets": []
7+
"changesets": [
8+
"eighty-hounds-promise",
9+
"four-chairs-help",
10+
"great-lions-hear",
11+
"healthy-books-shout",
12+
"hot-shrimps-wait",
13+
"lovely-dodos-lay",
14+
"pink-wasps-hammer",
15+
"proud-planes-arrive",
16+
"seven-donkeys-tap",
17+
"small-seahorses-bathe",
18+
"tricky-bats-pretend",
19+
"weak-roses-bathe"
20+
]
821
}

Diff for: CHANGELOG.md

+34
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,40 @@
11
# Changelog
22

33

4+
## 5.2.0-rc.0 (2024-12-04)
5+
6+
### Changes by category
7+
8+
#### General
9+
10+
- Update some pragma directives to ensure that all file requirements match that of the files they import. ([#5273](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5273))
11+
12+
#### Account
13+
14+
- `ERC4337Utils`: Add a reusable library to manipulate user operations and interact with ERC-4337 contracts ([#5274](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5274))
15+
- `ERC7579Utils`: Add a reusable library to interact with ERC-7579 modular accounts ([#5274](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5274))
16+
17+
#### Governance
18+
19+
- `GovernorCountingOverridable`: Add a governor counting module that enables token holders to override the vote of their delegate. ([#5192](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5192))
20+
- `VotesExtended`: Create an extension of `Votes` which checkpoints balances and delegates. ([#5192](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5192))
21+
22+
### Proxy
23+
24+
- `Clones`: Add `cloneWithImmutableArgs` and `cloneDeterministicWithImmutableArgs` variants that create clones with per-instance immutable arguments. The immutable arguments can be retrieved using `fetchCloneArgs`. The corresponding `predictDeterministicWithImmutableArgs` function is also included. ([#5109](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5109))
25+
26+
### Tokens
27+
28+
- `ERC1363Utils`: Add helper similar to the existing `ERC721Utils` and `ERC1155Utils` ([#5133](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5133))
29+
30+
### Utils
31+
32+
- `Bytes`: Add a library of common operation that operate on `bytes` objects. ([#5252](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5252))
33+
- `CAIP2` and `CAIP10`: Add libraries for formatting and parsing CAIP-2 and CAIP-10 identifiers. ([#5252](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5252))
34+
- `NoncesKeyed`: Add a variant of `Nonces` that implements the ERC-4337 entrypoint nonce system. ([#5272](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5272))
35+
- `Packing`: Add variants for packing `bytes10` and `bytes22` ([#5274](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5274))
36+
- `Strings`: Add `parseUint`, `parseInt`, `parseHexUint` and `parseAddress` to parse strings into numbers and addresses. Also provide variants of these functions that parse substrings, and `tryXxx` variants that do not revert on invalid input. ([#5166](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5166))
37+
438
## 5.1.0 (2024-10-17)
539

640
### Breaking changes

Diff for: contracts/account/utils/draft-ERC4337Utils.sol

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// SPDX-License-Identifier: MIT
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (account/utils/draft-ERC4337Utils.sol)
23

34
pragma solidity ^0.8.20;
45

Diff for: contracts/account/utils/draft-ERC7579Utils.sol

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// SPDX-License-Identifier: MIT
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (account/utils/draft-ERC7579Utils.sol)
23

34
pragma solidity ^0.8.20;
45

Diff for: contracts/finance/VestingWallet.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
// OpenZeppelin Contracts (last updated v5.1.0) (finance/VestingWallet.sol)
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (finance/VestingWallet.sol)
33
pragma solidity ^0.8.20;
44

55
import {IERC20} from "../token/ERC20/IERC20.sol";

Diff for: contracts/governance/Governor.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
// OpenZeppelin Contracts (last updated v5.1.0) (governance/Governor.sol)
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (governance/Governor.sol)
33

44
pragma solidity ^0.8.20;
55

Diff for: contracts/governance/extensions/GovernorCountingOverridable.sol

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// SPDX-License-Identifier: MIT
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (governance/extensions/GovernorCountingOverridable.sol)
23

34
pragma solidity ^0.8.20;
45

Diff for: contracts/governance/extensions/GovernorPreventLateQuorum.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
// OpenZeppelin Contracts (last updated v5.0.0) (governance/extensions/GovernorPreventLateQuorum.sol)
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (governance/extensions/GovernorPreventLateQuorum.sol)
33

44
pragma solidity ^0.8.20;
55

Diff for: contracts/governance/utils/Votes.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
// OpenZeppelin Contracts (last updated v5.1.0) (governance/utils/Votes.sol)
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (governance/utils/Votes.sol)
33
pragma solidity ^0.8.20;
44

55
import {IERC5805} from "../../interfaces/IERC5805.sol";

Diff for: contracts/governance/utils/VotesExtended.sol

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// SPDX-License-Identifier: MIT
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (governance/utils/VotesExtended.sol)
23
pragma solidity ^0.8.20;
34

45
import {Checkpoints} from "../../utils/structs/Checkpoints.sol";

Diff for: contracts/interfaces/draft-IERC4337.sol

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// SPDX-License-Identifier: MIT
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (interfaces/draft-IERC4337.sol)
23

34
pragma solidity ^0.8.20;
45

Diff for: contracts/interfaces/draft-IERC7579.sol

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// SPDX-License-Identifier: MIT
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (interfaces/draft-IERC7579.sol)
23
pragma solidity ^0.8.20;
34

45
import {PackedUserOperation} from "./draft-IERC4337.sol";

Diff for: contracts/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@openzeppelin/contracts",
33
"description": "Secure Smart Contract library for Solidity",
4-
"version": "5.1.0",
4+
"version": "5.2.0-rc.0",
55
"files": [
66
"**/*.sol",
77
"/build/contracts/*.json",

Diff for: contracts/proxy/Clones.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
// OpenZeppelin Contracts (last updated v5.1.0) (proxy/Clones.sol)
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (proxy/Clones.sol)
33

44
pragma solidity ^0.8.20;
55

Diff for: contracts/proxy/ERC1967/ERC1967Proxy.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
// OpenZeppelin Contracts (last updated v5.1.0) (proxy/ERC1967/ERC1967Proxy.sol)
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (proxy/ERC1967/ERC1967Proxy.sol)
33

44
pragma solidity ^0.8.22;
55

Diff for: contracts/proxy/ERC1967/ERC1967Utils.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
// OpenZeppelin Contracts (last updated v5.1.0) (proxy/ERC1967/ERC1967Utils.sol)
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (proxy/ERC1967/ERC1967Utils.sol)
33

44
pragma solidity ^0.8.22;
55

Diff for: contracts/proxy/beacon/BeaconProxy.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
// OpenZeppelin Contracts (last updated v5.1.0) (proxy/beacon/BeaconProxy.sol)
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (proxy/beacon/BeaconProxy.sol)
33

44
pragma solidity ^0.8.22;
55

Diff for: contracts/proxy/transparent/ProxyAdmin.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
// OpenZeppelin Contracts (last updated v5.1.0) (proxy/transparent/ProxyAdmin.sol)
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (proxy/transparent/ProxyAdmin.sol)
33

44
pragma solidity ^0.8.22;
55

Diff for: contracts/proxy/transparent/TransparentUpgradeableProxy.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
// OpenZeppelin Contracts (last updated v5.1.0) (proxy/transparent/TransparentUpgradeableProxy.sol)
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (proxy/transparent/TransparentUpgradeableProxy.sol)
33

44
pragma solidity ^0.8.22;
55

Diff for: contracts/proxy/utils/UUPSUpgradeable.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
// OpenZeppelin Contracts (last updated v5.1.0) (proxy/utils/UUPSUpgradeable.sol)
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (proxy/utils/UUPSUpgradeable.sol)
33

44
pragma solidity ^0.8.22;
55

Diff for: contracts/token/ERC20/ERC20.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/ERC20.sol)
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (token/ERC20/ERC20.sol)
33

44
pragma solidity ^0.8.20;
55

Diff for: contracts/token/ERC20/extensions/ERC1363.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/extensions/ERC1363.sol)
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (token/ERC20/extensions/ERC1363.sol)
33

44
pragma solidity ^0.8.20;
55

Diff for: contracts/token/ERC20/utils/SafeERC20.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/utils/SafeERC20.sol)
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (token/ERC20/utils/SafeERC20.sol)
33

44
pragma solidity ^0.8.20;
55

Diff for: contracts/utils/Bytes.sol

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// SPDX-License-Identifier: MIT
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (utils/Bytes.sol)
23

34
pragma solidity ^0.8.24;
45

Diff for: contracts/utils/CAIP10.sol

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// SPDX-License-Identifier: MIT
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (utils/CAIP10.sol)
23

34
pragma solidity ^0.8.24;
45

Diff for: contracts/utils/CAIP2.sol

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// SPDX-License-Identifier: MIT
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (utils/CAIP2.sol)
23

34
pragma solidity ^0.8.24;
45

Diff for: contracts/utils/NoncesKeyed.sol

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// SPDX-License-Identifier: MIT
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (utils/NoncesKeyed.sol)
23
pragma solidity ^0.8.20;
34

45
import {Nonces} from "./Nonces.sol";

Diff for: contracts/utils/Packing.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
// OpenZeppelin Contracts (last updated v5.1.0) (utils/Packing.sol)
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (utils/Packing.sol)
33
// This file was procedurally generated from scripts/generate/templates/Packing.js.
44

55
pragma solidity ^0.8.20;

Diff for: contracts/utils/Strings.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: MIT
2-
// OpenZeppelin Contracts (last updated v5.1.0) (utils/Strings.sol)
2+
// OpenZeppelin Contracts (last updated v5.2.0-rc.0) (utils/Strings.sol)
33

44
pragma solidity ^0.8.20;
55

Diff for: docs/antora.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: contracts
22
title: Contracts
3-
version: 5.x
4-
prerelease: false
3+
version: 5.x-rc
4+
prerelease: true
55
nav:
66
- modules/ROOT/nav.adoc
77
- modules/api/nav.adoc

Diff for: package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "openzeppelin-solidity",
33
"description": "Secure Smart Contract library for Solidity",
4-
"version": "5.1.0",
4+
"version": "5.2.0-rc.0",
55
"private": true,
66
"files": [
77
"/contracts/**/*.sol",

0 commit comments

Comments
 (0)