github foundry-rs/foundry v1.6.0-rc1

8 hours ago

Cast Features

Performance improvements

Other

  • added MONAD_SYSTEM_ADDRESS (#12585) by @Jayakumar2812
  • chore(anvil): deprecate getBlobSidecars Beacon API endpoint (#12568) by @mablr
  • feat(anvil): add eth_fillTransaction support (#12595) by @mablr
  • chore(deps): bump crate-ci/typos from 1.39.0 to 1.39.2 (#12593) by @dependabot[bot]
  • chore(deps): bump taiki-e/install-action from 2.62.49 to 2.62.52 (#12592) by @dependabot[bot]
  • chore(deps): bump DeterminateSystems/determinate-nix-action from 3.13.0 to 3.13.1 (#12594) by @dependabot[bot]
  • fix(ci): ignore number_prefix is unmaintained in cargo deny (#12598) by @zerosnacks
  • fix: eth_fillTransaction response (#12597) by @jxom
  • chore: bump alloy-chains (#12606) by @grandizzy
  • fix: correct per-variable bytes/string identification and remove nested scan (#12603) by @Bashmunta
  • refactor(sol-macro-gen): remove unused artifacts_path from MultiSolMacroGen (#12578) by @Fibonacci747
  • refactor: simplify gas snapshot handling in cheatcodes (#12605) by @Sharilleed223
  • fix(verify): mismatch between strip_prefix and strip_suffix (#12563) by @Bashmunta
  • fix(cast): handle errors in list_local_senders() (#12419) by @DeVikingMark
  • feat!(forge script): add --interactive flag for deploying with a single keypair (#12608) by @zerosnacks
  • chore(deps): unpin from revm patch (#12609) by @zerosnacks
  • chore: bump alloy chains (#12613) by @grandizzy
  • docs: remove duplicate foundry-compilers link reference in README (#12575) by @MamunC0der
  • feat(anvil): extend Content-Type support on Beacon API (#12611) by @mablr
  • docs: clean up config docs (#12296) by @onbjerg
  • feat: support solc prereleases (#12599) by @grandizzy
  • feat: use different gas calc for monad mainnet (#12615) by @QEDK
  • chore: disable failing test (#12620) by @grandizzy
  • fix: correct comment for Git::has_submodules and remove_contract (#12530) by @sashass1315
  • chore(anvil): use FillTransaction from alloy (#12622) by @mablr
  • feat(cast): wallet sign-auth --self-broadcast (#12624) by @0xferrous
  • refactor(anvil): use alloy envelope macro (#12406) by @mablr
  • feat(forge): warp and roll on invariant tx (#12616) by @grandizzy
  • feat(cast): accept multiple 7702 authorizations (#12627) by @0xferrous
  • refactor(anvil): remove TypedTransaction::as_legacy() method (#12633) by @mablr
  • refactor(anvil): remove TypedTransaction::blob_gas() method (#12632) by @mablr
  • refactor(anvil): remove TypedTransaction::essentials() method (#12631) by @mablr
  • chore(deps): weekly cargo update (#12642) by @github-actions[bot]
  • refactor(anvil): simplify effective_reward calculation in FeeHistoryService (#12640) by @mablr
  • refactor(anvil): use alloy's effective_gas_price in Backend::mined_transaction_receipt (#12639) by @mablr
  • chore(deps): bump actions/checkout from 5 to 6 (#12652) by @dependabot[bot]
  • chore(deps): bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 (#12653) by @dependabot[bot]
  • chore(deps): bump DeterminateSystems/determinate-nix-action from 3.13.1 to 3.13.2 (#12655) by @dependabot[bot]
  • chore(deps): bump taiki-e/install-action from 2.62.52 to 2.62.57 (#12654) by @dependabot[bot]
  • chore(tests): bump forge-std version (#12661) by @github-actions[bot]
  • fix(docs): correct LintContext lifetime in check_full_source_unit example (#12462) by @DeVikingMark
  • chore: aggregate PRs (#12669) by @DaniPopes
  • feat: forge verify-bytecode should automatically recompile upon running (#12651) by @Jds-23
  • chore(anvil): tidy up anvil::server module (#12663) by @mablr
  • feat(traces): add a -d | --depth flag for verbose traces, like tree (#12643) by @tskoyo
  • fix(chisel): don't panic on bad pc/memory (#12674) by @DaniPopes
  • fix(ci): ignore clippy error: .exactly_one() may be added to the standard library in the future on rustc 1.93.0-nightly (#12678) by @zerosnacks
  • chore(anvil): make MayImpersonatedTransaction fields private (#12681) by @mablr
  • chore: cast erc20 to follow cast send options (#12684) by @grandizzy
  • Remove redundant clone when bundling filled transactions (#12682) by @soniseth0
  • fix: emit console.log on fuzz test last run at verbosity >= 2 (#12478) by @avorylli
  • chore: fix clippy & forge-std external test (#12698) by @grandizzy
  • chore(deps): weekly cargo update (#12697) by @github-actions[bot]
  • fix(verify): improve error message for unsupported chain in Etherscan verifier (#12685) by @DeVikingMark
  • refactor(anvil): promote anvil's envelope type to foundry-primitives crate (#12691) by @mablr
  • chore(cli): remove redundant eth_rpc_url insert from EvmArgs::data (#12701) by @Snezhkko
  • feat: add XDC Network + SKALE Base support by bumping alloy-chains (#12710) by @zerosnacks
  • feat(cast): add support for raw transaction data with --data flag in send (#12712) by @Jds-23
  • fix: correct SerializeMap size hint in RpcEndpoint::serialize (#12715) by @Forostovec
  • perf: compute literals only once (#12716) by @DaniPopes
  • fix: bump svm-rs (#12728) by @grandizzy
  • deps(forge init): update to checkout v6 in default templates (#12731) by @zerosnacks
  • fix: add log fn support alongside log_full fn, follow-up fix for revm 33 (#12718) by @zerosnacks
  • chore(cli): remove useless clap visible aliases (#12735) by @mablr
  • refactor(verify): remove redundant String conversion for VerificationType (#12740) by @Bashmunta
  • chore: fix serialization map size hint (#12720) by @Sharilleed223
  • fix(anvil): resolve incorrect historical states dump behavior (#12732) by @w1tcher
  • feat: support cast logs query chunking (#12692) by @stevencartavia
  • feat(foundry-primitives): introduce FoundryNetwork (#12722) by @mablr
  • chore(deps): weekly cargo update (#12751) by @github-actions[bot]
  • deps: bump alloy-chains 0.2.22 (#12760) by @onbjerg
  • chore(anvil): create EitherEvm using OpEvm and EthEvm factories (#12764) by @mablr
  • chore(deps): bump DeterminateSystems/update-flake-lock from e637603d31bed83169f2e56bb475c9dff7af6544 to 45146d6189ea5880a3a07f999952bf21810804f1 (#12766) by @dependabot[bot]
  • chore(deps): bump crate-ci/typos from 1.39.2 to 1.40.0 (#12769) by @dependabot[bot]
  • chore: update to macos14 runner (#12774) by @grandizzy
  • chore(deps): bump peter-evans/create-pull-request from 7.0.9 to 7.0.11 (#12770) by @dependabot[bot]
  • chore(deps): bump docker/metadata-action from 5.9.0 to 5.10.0 (#12768) by @dependabot[bot]
  • feat(foundryup): add Tempo support (#12775) by @zerosnacks
  • chore(deps): bump softprops/action-gh-release from 2.4.2 to 2.5.0 (#12767) by @dependabot[bot]
  • refactor(anvil): use EvmEnv in backend/executor (#12763) by @mablr
  • feat(forge selectors): cache selectors from abis (#12742) by @JuaniRios
  • test: ignore test in isolate (#12778) by @DaniPopes
  • docs: fix wrong flag and deprecated command for clippy (#12780) by @JuaniRios
  • test: bump solady (#12781) by @DaniPopes
  • feat(cast): strip WalletOpts and EtherscanOpts from cast subcommands that dont expect a signer or need etherscan api (#12705) by @tskoyo
  • fix(forge): failing tests trigger early exit without --fail-fast (#12785) by @0xferrous
  • fix(primitives): FoundryTransactionRequest based on WithOtherFields<TransactionRequest> (#12786) by @mablr
  • fix: add plasma verifier err msg (#12790) by @grandizzy
  • docs(config): complete fuzz and invariant sections with 20+ missing options (#12789) by @aso20455
  • refactor(anvil): simplify determine_base_gas_by_kind logic (#12787) by @mablr
  • fix(verify): handle lack of trailing slash in verifier url (#12806) by @onbjerg
  • chore(primitives): simplify TxEnv conversions + bump alloy-evm (#12805) by @mablr
  • refactor(cheatcodes): avoid duplicate get_contract_data calls in stat… (#12800) by @aganisgash
  • refactor(anvil): use TransactionBuilder trait to build tx requests (#12804) by @mablr
  • feat(primitives): get_deposit_tx_parts helper (#12808) by @mablr
  • chore(deps): weekly cargo update (#12811) by @github-actions[bot]
  • fix(anvil): propagate gas estimation errors (#12813) by @jxom
  • chore: fmt (#12816) by @mattsse
  • chore: move FoundryHardfork into foundry-evm-core crate (#12820) by @zerosnacks
  • feat(forge): add --network tempo flag to forge init (#12819) by @onbjerg
  • refactor(anvil): move receipts logic to foundry-primitives (#12818) by @mablr
  • fix: use ConversionError instead of unit type in receipt conversion (#12824) by @oooLowNeoNooo
  • fix(foundryup): strip leading backslash from sha256sum (#12827) by @DaniPopes
  • chore(deps): bump actions/download-artifact from 6 to 7 (#12832) by @dependabot[bot]
  • chore(deps): bump DeterminateSystems/update-flake-lock from 45146d6189ea5880a3a07f999952bf21810804f1 to 2235257b90962ba68499d64da5b0d1eaa3b46c1e (#12831) by @dependabot[bot]
  • chore(deps): bump actions/upload-artifact from 5 to 6 (#12830) by @dependabot[bot]
  • chore(deps): bump DeterminateSystems/determinate-nix-action from 3.13.2 to 3.14.0 (#12829) by @dependabot[bot]
  • chore(deps): bump actions/cache from 4 to 5 (#12828) by @dependabot[bot]
  • fix: add assertion on existence of tempo-std in template test (#12833) by @zerosnacks
  • feat(ci): lint shell scripts (#12797) by @o-az
  • test: ignore flaky verification tests (#12791) by @onbjerg
  • chore(deps): update to soldeer 0.10.0 (#12835) by @beeb
  • fix: remove redundant project clone in flatten call (#12825) by @forkfury
  • chore(cargo deny): migrate away from number_prefix (#12840) by @zerosnacks
  • chore(meta): configure issue types in issue forms (#12850) by @onbjerg
  • fix(forge): fail compilation on unresolved imports (#12848) by @subwaycookiecrunch
  • feat(cast): --replay-system-txes / --sys arg to cast run system txes (#12853) by @grandizzy
  • chore: add CastTxSender (#12834) by @grandizzy
  • fix(anvil): insufficient allowance → insufficient balance (#12855) by @anim001k
  • refactor(primitives): simplify envelope conversion (#12858) by @onbjerg
  • docs(primitives): add links to tx type docs (#12857) by @onbjerg
  • chore: bump version 1.5.1 (#12873) by @grandizzy
  • chore: update dependencies (#12874) by @zerosnacks
  • feat(cast): use foundry-primitives types (#12877) by @onbjerg
  • refactor: split up test-utils util.rs (#12878) by @DaniPopes
  • fix(forge): reseed cheatcodes rng in fuzz tests (#12843) by @DaniPopes
  • feat(primitives): tempo transaction support (#12859) by @onbjerg
  • chore(deps): weekly cargo update (#12896) by @github-actions[bot]
  • refactor(script): remove unreachable ENS error branch in simulate() (#12759) by @GarmashAlex
  • docs(lint): add missing lint rules to README (#12758) by @dizer-ti
  • chore: clap opt-level 3 (#12903) by @DaniPopes
  • fix(coverage): write coverage file even when tests fail (#12717) by @0xferrous
  • feat(cast): cache Etherscan sources under Foundry cache with temp fallback (#12025) by @sashass1315
  • feat(lint): reduce default verbosity (#12901) by @DaniPopes
  • fix(config): prints error when accessing invalid etherscan config (#9951) by @andelf
  • fix(cast): treat threads=0 as logical cores (#12799) by @ANtutov
  • feat(cast): derive accounts from mnemonic (#12700) by @leovct
  • chore(deps): run cargo shear (#12906) by @DaniPopes
  • chore: rm mask64 (#12909) by @DaniPopes
  • chore: add Config::is_standalone_section (#12910) by @DaniPopes
  • feat: include actual tx type in unknown transaction error (#12851) by @Sharilleed223
  • chore: remove redundant empty lines (#12915) by @mattsse
  • chore(deps): bump taiki-e/install-action from 2.62.57 to 2.65.1 (#12920) by @dependabot[bot]
  • chore(deps): bump DeterminateSystems/determinate-nix-action from 3.14.0 to 3.15.0 (#12921) by @dependabot[bot]
  • chore: respect configured thread count (#12923) by @Sharilleed223
  • feat: implement Uifmt for foundry primitive types (#12917) by @stevencartavia
  • chore: ignore RUSTSEC-2025-0137 (#12941) by @mattsse
  • chore(deps): weekly cargo update (#12940) by @github-actions[bot]
  • fix(chisel): uninitalized variables (#12937) by @DaniPopes
  • chore(deps): bump Swatinem/rust-cache from 2.8.1 to 2.8.2 (#12919) by @dependabot[bot]
  • chore(deps): bump peter-evans/create-pull-request from 7.0.11 to 8.0.0 (#12918) by @dependabot[bot]
  • chore: sepolia rpc url (#12945) by @grandizzy
  • chore(deps): bump crate-ci/typos from 1.40.0 to 1.40.1 (#12949) by @dependabot[bot]
  • chore(deps): bump DeterminateSystems/determinate-nix-action from 3.15.0 to 3.15.1 (#12950) by @dependabot[bot]
  • chore(deps): bump taiki-e/install-action from 2.65.1 to 2.65.7 (#12951) by @dependabot[bot]
  • fix(config): err on unknown profile (#12946) by @grandizzy
  • test: remove duplicate Issue2851 test (#12953) by @DaniPopes
  • chore(cheats): make sign(Wallet) pure (#12912) by @DaniPopes
  • fix(evm): use timestamp-based blob base fee calculation (#12959) by @cakevm
  • fix(config): reject bare versions in compilation restrictions (#12955) by @tefyosL-sol
  • Revert "fix(config): err on unknown profile (#12946)" (#12964) by @grandizzy
  • fix(anvil): use B256 instead of TxHash for block hash parameters (#12961) by @PivasDesant
  • feat: add support for constructing tempo tx (#12972) by @onbjerg
  • feat(anvil): basic tempo tx signing support (#12974) by @onbjerg
  • chore(meta): update .gitignore (#12975) by @DaniPopes
  • chore(deps): remove default features from tempo (#12976) by @DaniPopes
  • feat(cast): add tempo tx construction support (#12973) by @onbjerg
  • fix: use network-specific BaseFeeParams for Optimism in Anvil (#12944) by @haythemsellami
  • fix(forge): lookup path artifact if not in available artifacts (#12927) by @grandizzy
  • chore(deps): weekly cargo update (#12980) by @github-actions[bot]
  • docs: minor readme touchups (#12983) by @onbjerg
  • chore(tests): bump forge-std version (#12986) by @github-actions[bot]
  • feat: alias cast erc20 transfer to cast erc20 send (#12990) by @onbjerg
  • chore(tests): bump forge-std version (#12992) by @github-actions[bot]
  • feat(cast): add trace_transaction and trace_rawTransaction (#12788) by @figtracer
  • chore(deps): bump taiki-e/install-action from 2.65.7 to 2.65.13 (#12999) by @dependabot[bot]
  • chore(deps): bump taiki-e/cache-cargo-install-action from 2.3.1 to 3.0.0 (#12998) by @dependabot[bot]
  • chore(deps): bump crate-ci/typos from 1.40.1 to 1.41.0 (#12997) by @dependabot[bot]
  • chore(deps): bump oven-sh/setup-bun from 2.0.2 to 2.1.0 (#12996) by @dependabot[bot]
  • fix: svm fails to download solc 0.8.33 on linux/arm64, bump svm-rs (#13007) by @zerosnacks
  • chore: ignore RUSTSEC (#13011) by @echowandere
  • chore(cli): rm dead code (#13015) by @onbjerg
  • chore(chisel): rm dead code (#13014) by @onbjerg
  • chore(cheatcodes): rm dead code (#13016) by @onbjerg
  • chore(common): rm dead code (#13018) by @onbjerg
  • chore(bench): rm dead code (#13017) by @onbjerg
  • fix: deduplicate submodule status check logic (#13010) by @maximevtush
  • fix(forge): respect lint ignore config in solar compilation (#12978) by @tefyosL-sol
  • refactor(lint): extract duplicate help formatting logic (#13020) by @maximevtush
  • chore(evm): deprecate RawCallResult::from_execution_result (#13012) by @ANtutov
  • chore(anvil): rm dead code (#13019) by @onbjerg
  • refactor: remove dead CheatsConfig fields and allocations (#13031) by @Galoretka
  • chore: remove dead code (#13030) by @echowandere
  • chore(anvil): remove anvil_getBlobSidecarsByBlockId endpoint (#13022) by @mablr
  • feat: uncomment transaction replacement test (#13029) by @echowandere
  • perf: remove redundant allocation in receipt bloom calculation (#13035) by @marukai67
  • chore: update alloy (#12994) by @echowandere
  • wallet: delegate TxSigner::address() to Signer::address() (#12948) by @aganisgash
  • chore: bump alloy and remove RUSTSEC-2024-0437 (#12995) by @lean-apple
  • ci: pin nightly to 2026-01-10 (#13055) by @mattsse
  • chore(deps): weekly cargo update (#13044) by @github-actions[bot]
  • chore: bump evm-disassembler version to support CLZ and EOF opcodes (#13050) by @ckoopmann
  • chore(deps): bump alloy-chains, updates Tempo verifier URLs to point to Tempo's native explorer & contract verification (#13063) by @zerosnacks
  • chore(deps): bump mdbook to 0.5 (#13064) by @zerosnacks
  • feat(cheatcodes): support both 4844/7594 formats in attachBlob (#13054) by @mablr
  • fix: wrong error message in cache write (#13066) by @echowandere
  • feat(cast): add tx flags to erc20 command (#13002) by @mablr
  • chore(deps): bump crate-ci/typos from 1.41.0 to 1.42.0 (#13068) by @dependabot[bot]
  • chore(deps): bump taiki-e/cache-cargo-install-action from 3.0.0 to 3.0.1 (#13070) by @dependabot[bot]
  • chore(deps): bump taiki-e/install-action from 2.65.13 to 2.66.2 (#13069) by @dependabot[bot]
  • chore(celo): awkward error message in transfer precompile (#13080) by @tefyosL-sol
  • fix(invariant): preserve state across calls during replay (#13084) by @grandizzy
  • fix(evm): pin fork block number to prevent state inconsistency (#13085) by @grandizzy
  • fix(preprocessor): mark getCode as view in VmContractHelper (#13089) by @grandizzy
  • fix: add Tempo transaction receipt type support in TryFrom conversion (#13047) by @PivasDesant
  • feat(cheatcodes): add getRecordedLogsJson cheatcode (#13093) by @grandizzy
  • feat: add Sourcify support to forge clone (#12900) by @avorylli
  • perf: add dist profile for smaller release binaries (#13097) by @onbjerg
  • chore(deps): update figment to figment2 v0.11 (#13099) by @DaniPopes
  • feat: add precompile decoding for Prague BLS12-381 and Osaka P256VERIFY (#13094) by @DaniPopes
  • fix(anvil): use suggested priority fee by default (#13092) by @tefyosL-sol
  • chore: aggregate PRs (#13100) by @DaniPopes
  • chore(evm): misleading error message in traces serialization (#13081) by @tefyosL-sol
  • chore: bump vergen to v9 (#13113) by @zerosnacks
  • feat(cast): add eip7594 support (#13058) by @mablr
  • feat(cast): add --curl flag to output equivalent curl commands (#13114) by @gakonst
  • ci: update to tempoxyz (#13123) by @DaniPopes
  • fix(cheatcodes): vm.mockFunction to work correctly with delegatecall. (#13117) by @quangloc99
  • chore: bump v1.6.0 (#13124) by @gakonst
  • feat(fmt): Add namespace_import_style config (#13108) by @quangloc99
  • chore: allow bincode unmaintained advisory (#13129) by @mattsse
  • ci: create issue on nightly test-isolate workflow failure (#13132) by @zerosnacks
  • feat(invariant): add check_interval config for faster deep runs (#13133) by @grandizzy
  • chore(deps): bump tempo-primitives to v1.0.0 (#13131) by @zerosnacks
  • feat: use Osaka as default EVM hardfork (#13112) by @zerosnacks
  • chore: unpin from nightly-2026-01-10 (#13139) by @zerosnacks
  • chore(deps): bump to revm 34 (#13130) by @zerosnacks
  • fix(forge-lint): ignore compilation warnings in exit code (#13138) by @0xrusowsky
  • chore(deps): bump taiki-e/install-action from 2.66.2 to 2.66.7 (#13143) by @dependabot[bot]
  • chore(deps): bump crate-ci/typos from 1.42.0 to 1.42.1 (#13144) by @dependabot[bot]
  • chore(deps): bump DeterminateSystems/update-flake-lock from 2235257b90962ba68499d64da5b0d1eaa3b46c1e to 727cc5b0b19bc265bd5ef28fc66bccb284473b5d (#13146) by @dependabot[bot]
  • chore(deps): bump oven-sh/setup-bun from 2.1.0 to 2.1.2 (#13145) by @dependabot[bot]
  • fix(test): skip solady testSafeMoveETHViaMover in isolation mode (#13150) by @gakonst
  • fix(script): set msg.sender from TURNKEY_ADDRESS when using --turnkey (#13149) by @gakonst
  • fix(config): error on unknown profile with fallback for nested libs (#13153) by @gakonst
  • ci: add nightly workflow for flaky tests (#13134) by @zerosnacks
  • feat: warn on soldeer.lock revision mismatch during build (#12366) by @silvekkk
  • fix(config): warn on unknown keys in all config sections (#13154) by @grandizzy
  • fix(forge): prevent gas underflow in delete operations on Cancun (#13157) by @gakonst
  • chore: update foundry-compilers to 0.19.13 (#13159) by @grandizzy
  • feat(fuzz): Improve call_override to detect ETH value transfer reentrancy (#13127) by @grandizzy
  • feat(forge script): display contract name and function in tx output (#13156) by @gakonst
  • fix(test): remove cast binary dependency from forge verify-bytecode tests (#13161) by @gakonst
  • chore(deps): bump solar 530f129 (#13148) by @DaniPopes
  • fix(forge fmt): fix incorrect indentation for chained struct calls (#13163) by @gakonst
  • fix(cli): add --no-proxy to disable reqwest proxying to prevent crash on macOS in sandboxed environments (#13155) by @gakonst
  • feat(forge-lint): add custom errors rule (#13126) by @milosdjurica
  • fix(config): preserve hyphenated profile names (#13172) by @gakonst
  • fix(verify): support chains with custom Sourcify-compatible APIs (#13175) by @mattsse
  • feat(fuzz): add address mutation variant to select from dictionary (#13090) by @grandizzy
  • fix(verify): improve error message for CREATE2 deployment failures in verify-bytecode (#13176) by @grandizzy
  • chore(deps): bump to foundry-compilers v0.19.4 (#13178) by @zerosnacks
  • fix(fmt): keep struct field access on same line after named args call (#13166) by @gakonst
  • chore: bump foundry-compilers to 0.19.14 (#13183) by @zerosnacks
  • feat(docker): add semver major/minor floating tags on release (#13182) by @zerosnacks

Full Changelog:

v1.5.1...v1.6.0-rc1

Don't miss a new foundry release

NewReleases is sending notifications on new releases.