Skip to content

build(deps): OpenZeppelin v5.1.0 → v5.6.1 - #21

Merged
Zena-park merged 1 commit into
mainfrom
chore/oz-5.6.1
Aug 21, 2026
Merged

build(deps): OpenZeppelin v5.1.0 → v5.6.1#21
Zena-park merged 1 commit into
mainfrom
chore/oz-5.6.1

Conversation

@Zena-park

Copy link
Copy Markdown
Owner

Why

Currency move ahead of cutting v0.1.1. No published OpenZeppelin advisory affected v5.1.0 — this is not a security fix. Done as CONTRIBUTING.md prescribes: both submodules, foundry.lock and the npm canary to the same tag in one PR.

What changed upstream that touches the kit (reviewed 5.2 → 5.6.1)

  • Storage: no ERC-7201 namespace or struct layout changed in ERC20 / AccessControl / Pausable / Nonces / EIP712 / Initializable; UUPS stateless. test/StorageSlots.t.sol and test/presets/Upgradeable.t.sol pass unchanged.
  • EIP712Upgradeable: legacy _hashedName fallback and the "EIP712: Uninitialized" guard removed. The kit overrides _EIP712Name() with the token name, so the domain is unaffected.
  • PausableUpgradeable: __Pausable_init no longer writes paused = false. The kit never re-runs it.
  • SignatureChecker: the address overload keeps its semantics (ERC-1271 path rewritten in assembly, mcopy → needs cancun, which foundry.toml pins). New ERC-7913 overloads are not used.
  • ERC1967Proxy: constructor now reverts on empty init data (the kit always passes initializeToken); its creation code changed, so proxy addresses move — consistent with the "addresses are bound to a revision" note already in docs/deploying.md. Noted in CHANGELOG.
  • Initializable / UUPSUpgradeable: the upgradeable package now only re-exports them (aliases removed in v6). Imports repointed to @openzeppelin/contracts/proxy/utils/... — the only source change.
  • proxiableUUID() is no longer virtual — the kit does not override it.

Checks

npm run check — fmt · lint · lock:check · 140 tests · Slither 0 · Halmos in CI. Runtime sizes −~0.3 KB per preset (README updated); docs/gas.md refreshed.

🤖 Generated with Claude Code

Both submodules, foundry.lock and the npm canary move together to the
same release tag, per CONTRIBUTING.md. No kit source changed beyond two
import paths: Initializable and UUPSUpgradeable now come from
@openzeppelin/contracts, since the upgradeable package keeps only
aliases that v6 removes.

Checked before moving: no ERC-7201 namespace or struct layout changed in
ERC20, AccessControl, Pausable, Nonces, EIP712, Initializable; UUPS is
stateless; SignatureChecker's address overload keeps its semantics; the
kit relies on neither the removed EIP712 legacy-hash fallback nor on
__Pausable_init writing paused=false. No published advisory affected
v5.1.0. ERC1967Proxy now refuses empty init data -- the kit always
passes initializeToken -- and its creation code changed, so proxy
addresses move along with the presets'.

140 tests, Slither 0; runtime sizes shrink ~0.3 KB per preset. README
sizes and docs/gas.md updated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 21, 2026 16:08

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@Zena-park
Zena-park merged commit 12484c4 into main Aug 21, 2026
3 checks passed
@Zena-park
Zena-park deleted the chore/oz-5.6.1 branch August 21, 2026 16:11
@Zena-park Zena-park mentioned this pull request Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants