Foundry v1.7.1
A patch release on top of v1.7.0 with cherry-picked correctness fixes for cheatcodes, EVM forking, CLI, forge, and cast, plus further release-pipeline hardening (updated release version string construction, signed archives & SBOMs).
Cheatcodes
Reverter-address enforcement for CREATE frames, value transfers for payable mock calls, preserved reverts under expectEmit, and a fix for the spurious solc 0.8.35 error keyword warning.
Cheatcode fixes (4 PRs)
error keyword warning (#14509) by @figtracer
expectRevert reverter address for CREATE frames (#14615) by @mablr
expectEmit (#14619) by @srdtrk
EVM
Correctness fixes for fork state-snapshot lookups and CREATE address preservation in isolation mode.
Forge
Tempo's forge init template now uses network = "tempo" with populated default rpc_endpoints, forge test ignores ETH_RPC_URL for forking, --fuzz-seed is finally honored by forge coverage, and Tempo creates are encoded as AA calls.
Forge changes (4 PRs)
network = "tempo" and add rpc_endpoints in tempo template (#14528) by @zerosnacks
ETH_RPC_URL for test forking (#14555) by @figtracer
--fuzz-seed parameter is not effective in forge coverage (#14610) by @wtdcode
Cast
Consistent --json output shapes for the keychain subcommands.
Config
The network = "tempo" key no longer triggers the unknown-key warning, and serialization of NetworkConfigs is canonicalized so forge config always emits the resolved network.
Config fixes (1 PR)
network (#14534) by @zerosnacks
CLI
Fixes the jsonwebtoken CryptoProvider startup panic by selecting aws_lc_rs at compile time, and corrects release version metadata for immutable tags. Also bumps the version to 1.7.1 and tightens vm.getFoundryVersion() / foundryVersionCmp / foundryVersionAtLeast to tolerate the new SemVer build-metadata format.
CI / Release pipeline
Release archives and Docker images are now signed with cosign, per-archive SHA256 + SPDX SBOMs (Syft) are emitted, and Sigstore-signed SLSA provenance attestations are published. The Tempo CI workflow on release-1.7.1 was realigned with master.
CI changes (3 PRs)
PATH_USD fallback fee token in Mail templates (#14546) by @mablr
Tests & Tooling
Compiler bumped to 0.8.35 for tests, forge-std test fixtures bumped to a newer rev, and clippy lints fixed under newer toolchains so CI is green on this branch.
Tests & tooling changes (3 PRs)
for_kv_map and useless_borrows_in_formatting (#14554) by @stevencartavia
Notes on the cherry-pick
- #14590 was cherry-picked partially: the
{ "remaining": ... }JSON output object change is included; the newcrates/cast/tests/cli/keychain.rstest file is not, because thekeychain_rl_json_is_objecttest depends on Tempo deps newer than this branch. - The Tempo CI workflow alignment is a backport of #14501, #14537, and #14556 from
master. TheCheck Tempo fork schedule compatibilitystep is intentionally omitted — the underlyingtempo::tests::test_fork_schedule_parses_configured_rpcstest was added in #14485 (Tempo deps bump) which is not part of v1.7.1.