TGViewer
Solidity Treasures Solidity Treasures @soliditypedia · 4.28K subscribers
Post #578 470
OpenZeppelin 5.7.0 breaks EIP-712 domains that relied on long name/version

If your contract passes a name or version longer than 31 bytes to EIP712, upgrading to 5.7.0 will now revert in the constructor with ShortStrings.StringTooLong.

Earlier versions kept a storage fallback for values that didn't fit a ShortString. That fallback is gone: the domain is stored exclusively in immutables. Cheaper reads and a simpler _domainSeparatorV4(), but a hard failure mode for anyone who leaned on the fallback.

Before bumping: audit every EIP712(name, version) call. Long protocol names or semver strings with build metadata are the usual offenders. If you need a long name, hash it down or shorten before passing.

OpenZeppelin Contracts v5.7.0
@soliditypedia
GitHub Release v5.7.0 · OpenZeppelin/openzeppelin-contracts Breaking changes EIP712: Drop the storage fallback for long name/version values. Both parameters must now fit in a ShortString (at most 31 bytes) or the constructor reverts with ShortStrings.Strin...
More from @soliditypedia
  1. Sep 22, 2026Deploy at the same address on every chain, without shipping initcode. Plain CREATE2 ties t…
  2. Sep 18, 2026An on-chain guard for AI-agent transactions moves the trust to whoever signs the attestati…
  3. Sep 16, 2026A generalized MEV bot beat the attacker to the rsETH exploit in the same block When the ex…
  4. Sep 15, 2026Public-mempool gas sponsorship can't have all three: no locked money, no off-chain trust,…
  5. Sep 13, 2026A QEMU/KVM sandbox is not a boundary for a cyber-capable agent Trail of Bits gave a fronti…
  6. Sep 12, 2026This week in Solidity Allbridge halted its core bridge after a $1.65M exploit: a $1.12M Ka…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →