Foundry v1.5.0
Foundry v1.5.0 release comes with an improved fuzzer that use Solar to analyze contracts and extract interested values from AST, and incorporate updated logic to minimize counterexamples generated by invariant tests. This version adds support for browser extension wallets, provides a simpler way to interact with ERC20 tokens using cast and publishes all foundry binaries as npm packages. It also continues the effort to improve new forge formatter rolled out in previous version and makes it more customizable.
Fuzzed tests improvements
AST seeded dictionary
Foundry v1.5.0 leverages the Solar API to analyze contracts, collect all relevant AST literals from the sources, and use those values to generate inputs for the fuzzing campaign (#12015).
For example, with this addition a counterexample for the simple test below can be generated within a couple of runs:
function testHash(bytes memory v) external {
assert(keccak256(v) != keccak256("hello"));
}Early testers have reported substantially improved fuzzing results and we are running additional benchmarks to quantify the effectiveness.
Improved counterexample shrinking
In previous versions, counterexamples generated by invariant tests were replayed and minimized only once. In Foundry v1.5.0, the call sequence is replayed multiple times until all configured shrink runs are completed (#12180). Additionally, the counterexamples saved on disk and replayed on subsequent campaigns, are now also minimized (#12351). This allows Foundry to produce a more thoroughly minimized call sequence that can be used to generate unit tests and reproduce smart contract invariant violations.
Browser wallet integration
Foundry v1.5.0 introduces support for browser extension wallets in the cast send and cast wallet sign commands, enabling developers to sign transactions directly in the browser (#12302). Future releases will expand browser wallet support to other Foundry commands. We look forward to get external contributions to improve the interface and feature set of the browser wallet.
To try it out, pass the --browser flag to cast send to send a transaction using any of your browser wallets: cast send <TO> --value <VALUE> --rpc-url <RPC_URL> --browser
Additionally you can sign messages and typed data with cast wallet sign: cast wallet sign --browser "Hello World!"
ERC20 support in cast
This release introduces the cast erc20 command to facilitate interaction with ERC-20 tokens (#12258 #12381). This makes it simple to query balances, perform transfers, and access other ERC-20 token details.
balance Query ERC20 token balance [aliases: b]
transfer Transfer ERC20 tokens [aliases: t]
approve Approve ERC20 token spending [aliases: a]
allowance Query ERC20 token allowance [aliases: al]
name Query ERC20 token name [aliases: n]
symbol Query ERC20 token symbol [aliases: s]
decimals Query ERC20 token decimals [aliases: d]
total-supply Query ERC20 token total supply [aliases: ts]
mint Mint ERC20 tokens (if the token supports minting) [aliases: m]
burn Burn ERC20 tokens [aliases: bu]New cheatcodes
Foundry v1.5.0 includes a set of new cheatcodes designed to improve the testing experience:
getEvmVersion/setEvmVersionto retrieve and change the execution EVM version within tests and scripts (#12014)signWithNonceto create deterministic ECDSA signatures using a specified ephemeral nonce (#11267)getStorageSlotsleverage the storage layout to accurately identify the base slot of a variable (#11537)
npm packages
Continuing the work introduced in v1.4.0 for forge, v1.5.0 publishes the remaining Foundry binaries as npm packages. This allows tools such as bun, npx, pnpm to easily install and run any Foundry executable directly from the npm registry (#11945).
bun x @foundry-rs/anvil --version
npx --yes @foundry-rs/cast --version
pnpm dlx --silent @foundry-rs/chisel --versionPerformance Improvements
- perf(evm): reduce rpc calls when instantiating a fork environment (#12145) by @DaniPopes
- perf: remove some more unnecessary RPC calls (#12338) by @DaniPopes
Anvil Features
- feat(anvil): wire eth_protocolVersion, eth_hashrate, eth_coinbase RPCs (#11934) by @sashass1315
- perf(anvil): optimize internal data passing in log queries (#11896) by @silvekkk
- feat(anvil): add
/eth/v1/beacon/blobsbeacon endpoint (#12182) by @mablr - feat(anvil): add
debug_dbGetendpoint (#12375) by @mablr - perf(anvil): avoid unnecessary transaction vector cloning in Block::new (#12393) by @CreeptoGengar
- feat(anvil): Implement alloy_evm
FromRecoveredTxtrait for anvilTypedTransaction(#12424) by @mablr - perf(anvil): avoid snapshot cloning when counting ready transactions (#12432) by @phrwlk
- fix(anvil): set evm block number to input value (#12490) by @Syzygy106
- feat(anvil): handle signature impersonation for EIP-7702 authorization list (#12553) by @mablr
Anvil Fixes
- anvil: remove unused BlockNumberOrTag import in hardfork tests (#11952) by @anim001k
- fix: use blobparams for blob fee calc (#12056) by @mattsse
- fix(anvil): set envelope for non deposit tx in debug tracers (#12080) by @grandizzy
- fix(anvil): eth_getAccountInfo check if predates fork inclusive (#12101) by @grandizzy
- fix(anvil): always disable nonce check for
eth_calls (#12144) by @grandizzy - fix(anvil): get account info from db when node block > fork block (#12175) by @grandizzy
- fix(anvil): remove transactions before block/hash in unwind_to to prevent leaks (#12178) by @sashass1315
- fix(anvil): preserve OP receipt fields in convert_to_anvil_receipt (#12396) by @Syzygy106
- fix(anvil): respect configured fork initial_backoff in setup_fork_db_config (#12401) by @phrwlk
- fix(anvil): serialize genesis time as string (#12512) by @StackOverflowExcept1on
Cast Features
- feat(cast): add cast erc20 with subcommands balance, transfer, approve, allowance (#12258) by @marcvernet31
- feat(cast): more erc20 methods (#12381) by @0xrusowsky
- feat(cast): allow logs filtering on multiple addresses (#12380) by @0xferrous
- feat(cast): added custom polling interval args (#12387) by @dipanshuhappy
- feat(wallets): add Turnkey signer support (#12026) by @rplusq
- feat: browser wallet (#12302) by @zerosnacks
- feat(cast): block -f to accept multiple fields (#12427) by @dipanshuhappy
- feat: support all blob envelope in cast (#12557) by @mattsse
- feat: support for eth_sendrawtransactionSync in cast send (#12546) by @stevencartavia
Cast Fixes
- fix(cast): clean up SenderKind enum and remove redundant checks (#12003) by @strmfos
- fix(cast): cast call --json formatting (#12060) by @0xferrous
- fix(cast): use pretty JSON for txpool commands (#12099) by @mattsse
- fix(wallets): prevent duplicate Trezor wallets when using --hd-paths (#12214) by @GarmashAlex
- fix(cast): sign erc20 transactions locally before broadcast (#12372) by @0xrusowsky
- fix(cast): add turnkey to list (#12476) by @DaniPopes
Forge Features
- feat(forge): implement forge snapshot --format table stdout rendering (#11930) by @radik878
- feat(fmt): enforce doc comment styling (#11955) by @0xrusowsky
- feat(forge): enhance gas snapshot diff with configurable sorting and improved output (#11974) by @silvekkk
- feat(lint): emit suggestions for
named_struct_fieldslint (#11982) by @mablr - feat(forge): install soldeer dependencies (#11994) by @wellnana
- feat(cheatcodes): add setEvmVersion / getEvmVersion (#12014) by @grandizzy
- feat(forge): add --rerun-failed flag to watch mode for faster TDD feedback (#11993) by @silvekkk
- feat(forge): support always_use_create_2_factory in inline config (#12086) by @DaniPopes
- feat(cheats): RLP (#11232) by @qiweiii
- feat(forge): add bypass prevrandao (#12125) by @grandizzy
- feat: add Sourcify trace identifier (#11917) by @DaniPopes
- feat(traces): add contract context to Etherscan compilation errors (#12152) by @silvekkk
- feat(doc): render @title NatSpec tag in comment output (#12232) by @MozirDmitriy
- feat(fuzz): ast-seeded dictionary (#12015) by @0xrusowsky
- feat(forge): exit test run gracefully if show progress (#12290) by @grandizzy
- feat(fmt): add single_line_imports option to keep single imports on one line (#12303) by @silvekkk
- feat(invariant): shrink failure when replayed (#12351) by @grandizzy
- feat(
forge script): implement retries for forge script broadcast (#12564) by @zerosnacks
Forge Fixes
- fix(fmt): preserve comment position in disabled lines (#11922) by @0xrusowsky
- fix: look through all matching permissions in
is_path_allowed(#10679) by @rubydusa - fix(forge): replay fuzz failure only if same test selector (#11947) by @grandizzy
- fix(doc): reuse solar sema compiler (#11980) by @grandizzy
- fix(
forge): apply correct permission scoping in workflow templates (#11986) by @zerosnacks - fix(chisel): disable compiler optimizations (#11990) by @DaniPopes
- feat(cheats): preserve struct order when parsing JSON objects (#11612) by @0xrusowsky
- fix(forge): dynamic test linking should follow pranks (#12005) by @grandizzy
- fix(fmt): ensure leading blank lines are always removed (#12002) by @0xrusowsky
- fix(fmt): ensure commasep breaks with final trailing cmnt (#12031) by @0xrusowsky
- fix(forge): handle overloaded functions correctly in doc (#12040) by @wellnana
- fix(forge): dynamic test linking for try catch with custom return (#12050) by @grandizzy
- fix(fmt): refine logic over comments between uninformed commasep (#12055) by @0xrusowsky
- fix(forge): verify bytecode should replay txes (#12068) by @grandizzy
- fix(config): normalize test_failures_file path in canonic_at() (#12071) by @silvekkk
- fix(forge): apply evm version set in setup and test constructor (#12069) by @grandizzy
- fix: tighten BroadcastReader directory validation (#12057) by @rnkrtt
- fix(fmt): don't normalize single-line non-doc block cmnts (#12078) by @0xrusowsky
- fix(doc): follow tab width fmt config (#12103) by @grandizzy
- fix(fmt): account for ternary operators when estimating size (#12104) by @0xrusowsky
- fix(cheatcodes): use
make_acc_non_emptyinmockCalls_1Call,mockCall_1Call,mockCall_3Callfor consistency (#11443) by @aganisgash - fix(fmt): properly handle multiline_func_header = "all" + bump alloy (#12110) by @0xrusowsky
- fix(fmt): ensure no underscores in yul number literals (#12112) by @0xrusowsky
- fix(fmt): handle trailing coments between base contracts (#12127) by @0xrusowsky
- fix(fmt): filter libs when recursing (#12119) by @0xrusowsky
- fix(fmt): break try stmts in a fn header-like fashion (#12131) by @0xrusowsky
- Fix GCP env var names (#12129) by @MamunC0der
- fix(fmt): use nbsp if LHS-most element fits (#12135) by @0xrusowsky
- fix(evm): forward selfdestruct to inner inspectors in InspectorStackRefMut (#12128) by @GarmashAlex
- fix(fmt): prioritize parenthesis breaks in emit and revert stmts (#12147) by @0xrusowsky
- fix(fmt): inline call options when they fit (#12172) by @0xrusowsky
- fix(fmt): do not add underscores on fractional part with exponent (#12195) by @0xrusowsky
- fix(coverage): do not account abstract contract items (#12202) by @grandizzy
- fix(invariant): revisit sequence indices and respect shrink limit (#12180) by @0xalpharush
- fix(forge): Avoid trace confusion on functions with shared signature (#12169) by @marcvernet31
- fix(forge): show backtrace line only on -vvvvv (#12211) by @grandizzy
- fix(coverage): exclude only virtual fns without impl (#12216) by @grandizzy
- fix(config): canonicalize ignored_file_paths in canonic_at (#12115) by @silvekkk
- fix(linking): deep-merge link_references from creation and deployed bytecode (#11759) by @VolodymyrBg
- fix(fmt): no trailing cmnts in opening brace of empty blocks (#12241) by @0xrusowsky
- fix(forge): update progress on rejected fuzz runs (#12243) by @grandizzy
- fix(forge): fix dynamic gas limit check (#12267) by @grandizzy
- fix(common): spurious detection off-by-one (#12262) by @MozirDmitriy
- fix(fmt): preserve indexed callee when it fits (#12270) by @0xrusowsky
- fix(script): prevent --verify without --broadcast from causing deployment not found error (#11734) by @DeVikingMark
- fix(fmt): simplify boolean expression in Solidity formatter (#12275) by @phrwlk
- fix: enable/disable global yansi color with flag (#12297) by @DaniPopes
- fix(fmt): keep if stmts inline in assembly blocks (#12306) by @0xrusowsky
- fix(fmt): prevent double-ind in complex ternary expr (#12317) by @0xrusowsky
- fix(fmt): only indent wrapped trailing block cmnts (#12319) by @0xrusowsky
- fix(fmt): don't break var assignments when callee fits (#12323) by @0xrusowsky
- fix(cheats): correct impersonate() return semantics to match documentation (#12309) by @phrwlk
- fix(fmt): properly calc fn header size (#12343) by @0xrusowsky
- fix(fmt): always break consistently in calls with opts and args (#12359) by @0xrusowsky
- fix: do not panic if cannot read counterexample (#12467) by @grandizzy
- fix(forge doc): use relative path instead of full path (#12373) by @marcvernet31
- fix: enable different gas calculation for monad testnet (#12520) by @QEDK
- fix(forge): properly decode raw Error(string) (#12536) by @grandizzy
- fix(forge): allow install repo with ssh (#12542) by @grandizzy
- fix: use AssumeReject instead of TooManyRejects for single vm.assume reject (#12561) by @DeVikingMark
- fix(forge): keep gas memory on gas metering reset (#12539) by @grandizzy
- fix(
verify): handleAddress is not a smart-contractwith Blockscout verification (#12566) by @zerosnacks - fix(forge): preprocess mocks declared in test file (#12516) by @grandizzy
Other
- perf: reduce memory usage by boxing large error variants in wallet operations (#11928) by @Bilogweb3
- fix: handle empty receipt when transactions are discarded by RPCs (#10457) by @DeVikingMark
- chore(lint): use solar's built-in code suggestions (#11919) by @0xrusowsky
- refactor(wallets): reduce iterator cloning (#11931) by @Bilogweb3
- docs: explain solar workflow for lint rules (#11938) by @onbjerg
- chore(fmt): rename and alias params config varaint for clarity (#11944) by @0xrusowsky
- chore: custom networks dev docs (#11943) by @grandizzy
- refactor: add InstIter for iterating bytecode, pc, ic (#11956) by @DaniPopes
- refactor(config): simplify fs permission retrieval logic (#11946) by @mablr
- fix: correct version suffix for rc builds (#11961) by @0xferrous
- test: rm unused repros (#11963) by @DaniPopes
- chore(cast): remove unclear
prettyarg forprint_storage(#11976) by @mablr - refactor(anvil): introduce get_block_with_hash and convert_block_with_hash (#11939) by @silvekkk
- refactor(chisel): remove gas limit binary search (#11989) by @DaniPopes
- fix(
ci):create-an-issuein release workflow is pinned to incorrect hash (#12004) by @zerosnacks - chore(
ci): integrate CodeQL into regulartest.ymlworkflow and mark as requirement for ci-success (#12007) by @zerosnacks - ci: cache testdata project (#12009) by @DaniPopes
- ci: add test name to cache key (#12010) by @DaniPopes
- chore(test): add hints after test failed (#11995) by @silvekkk
- fix: improve error handling in available_senders with logging and deduplication (#12011) by @CreeptoGengar
- ci: use gha runner for macos arm releases (#12021) by @DaniPopes
- fix: replace Some(URL) with URL during installation output (#12024) by @milosdjurica
- docs(networks): fix doc heading (#12028) by @onbjerg
- chore: make network flags exclude each other (#12027) by @onbjerg
- refactor: avoid cloning broadcast transactions in reader (#12030) by @reject-i
- deps: bump deps (#12033) by @onbjerg
- chore: rm
NodeConfig::with_optimism(#12035) by @onbjerg - chore: rm
NodeConfig::with_celo(#12034) by @onbjerg - refactor: make
NetworkConfigfields private (#12037) by @onbjerg - fix(build): use output graph/artifacts rather than sources (#12019) by @0xrusowsky
- chore: rm extra
--celoarg (#12038) by @onbjerg - chore(meta): remove unused SolidityGeneration dir (#12053) by @DaniPopes
- chore: add more profile.dev optimizations (#12054) by @DaniPopes
- chore(meta): remove unused testdata/default/script (#12061) by @DaniPopes
- chore: make
SourceData::contract_definitionspublic (#12058) by @cakevm - chore: add some more logs to forge, nits (#12074) by @DaniPopes
- chore: fix setEvmVersion flaky test, same order (#12084) by @grandizzy
- chore: bump v1.4.1 (#12083) by @grandizzy
- chore(cheat): load and touch new origin in broadcast call (#12096) by @grandizzy
- chore: bump version to 1.4.2 (#12113) by @grandizzy
- chore(script): avoid cloning script sequences when writing sensitive output (#12085) by @Bilogweb3
- test: log TestCommand exit status, output (#12137) by @DaniPopes
- chore(meta): fix method resolution in async tests (#12136) by @DaniPopes
- test: lower timeout for normal tests (#12138) by @DaniPopes
- chore: improve unverifiable contracts warn (#12139) by @grandizzy
- test: optimize backtrace deps (#12140) by @DaniPopes
- test: re-enable can_read_write_cache (#12141) by @DaniPopes
- test: re-enable external tests with fork block (#12142) by @DaniPopes
- chore: re-use the same provider when creating a fork (#12143) by @DaniPopes
- test: refactor testdata/ tests to be run in
forge test(#12049) by @DaniPopes - deps: bump deps (#12149) by @rplusq
- ci: run main CI on merge queue (#12161) by @DaniPopes
- ci: remove CARGO_PROFILE_DEV_DEBUG (#12160) by @DaniPopes
- ci: re-add runner.os to cache (#12157) by @DaniPopes
- ci: bump python to 3.14 (#12158) by @DaniPopes
- ci: enable bun on Windows (#12159) by @DaniPopes
- ci: re-add rust-cache (#12156) by @DaniPopes
- ci: don't upload docs unless deploying them (#12163) by @DaniPopes
- ci: disable Windows on PRs (#12162) by @DaniPopes
- chore: fix clippy (#12167) by @mattsse
- chore(flake): update flake (#12183) by @beeb
- chore(benches): drop unused tokio dependency (#12186) by @MamunC0der
- chore(
deps): bump alloy-hardforks, alloy-core, proptest (#12191) by @zerosnacks - chore: ignore falky celo test, update Cargo.lock (#12210) by @grandizzy
- chore(deps): update soldeer (#12184) by @beeb
- chore(deps): bump actions/setup-node from 5 to 6 (#12206) by @dependabot[bot]
- chore: Remove redundant Bytes inner conversions in fork and mem backends (#12199) by @phrwlk
- fix: handle directory creation errors in sol-macro-gen (#12198) by @DeVikingMark
- fix: Simplify equal-case formatting in
fmt_changeby usingto_string()(#12193) by @maximevtush - fix: Remove redundant
.to_string()afterformat!in test summary table (#12192) by @maximevtush - refactor(config): remove etherscan_api_key fallback from get_rpc_url (#12179) by @zeevick10
- chore(
testdata): fix solidity warnings: shadowing of builtin symbol and unhandled low-level calls (#12189) by @zerosnacks - doc(cheats):
deployCodereverts w/ unlinked artifact libs (#12212) by @0xrusowsky - chore: bump v1.4.3 (#12213) by @grandizzy
- chore: readd table tests (#12219) by @grandizzy
- chore(evm/core): fix misleading exit/exists in fork errors (#12209) by @Sharilleed223
- ci: rename test.yml -> ci.yml, nextest.yml -> test.yml (#12223) by @DaniPopes
- test: use an index per shuffled list, redact logs (#12228) by @DaniPopes
- chore: increase 'deployed contract' log level (#12229) by @DaniPopes
- ci: rename test.yml (#12233) by @DaniPopes
- chore: fix erc20 balance test (#12239) by @grandizzy
- chore: update traces for p256 precompile test (#12242) by @grandizzy
- chore(evm): remove public visibility from
FoundryEvm's inner field (#12237) by @mablr - chore(deps): bump revm 30+, alloy-evm, revm-inspectors (#12094) by @zerosnacks
- chore: remove dead code (#12245) by @onbjerg
- chore: mark some inner fields private (#12246) by @onbjerg
- chore: mark more stuff private (#12248) by @onbjerg
- chore(deps): bump alloy-chains (#12244) by @zerosnacks
- chore: clean up
EvmOpts(#12247) by @onbjerg - chore: update Selectors API URLs to Sourcify (#12250) by @akshatmittal
- chore: set seed for flaky tests, use etherscan api key (#12255) by @grandizzy
- fix(npm): handle unhandled promise rejection in binary download (#12261) by @maradini77
- chore: remove redundant Bytes inner conversion in otterscan backend (#12259) by @Sharilleed223
- chore: bump v1.4.4 (#12271) by @grandizzy
- chore(forge): delete useless todo's (#12276) by @DeVikingMark
- refactor: remove redundant .as_str() calls on temporary strings (#12279) by @Fallengirl
- docs: fix Cheatcode trait methods count in documentation (#12277) by @avorylli
- chore: reduce number of shrink runs for slow test (#12291) by @grandizzy
- docs: correct logging documentation accuracy in debugging.md (#12287) by @avorylli
- chore: simplify Bytes handling in revert errors (#12280) by @Sharilleed223
- chore(fmt): prefer_compact + indent bin expr w/ parenthesis (#12281) by @0xrusowsky
- fix: enable IPC tests on Windows (#12282) by @DeVikingMark
- chore: clean up benchmark script a bit (#12295) by @onbjerg
- chore(docs): default
allforprefer_compactfmt config (#12294) by @grandizzy - test(config): add test for test_failures_file path normalization (#12235) by @silvekkk
- test: invariant sequence colors (#11730) by @grandizzy
- docs(fmt): add
nonevariant (#12298) by @0xrusowsky - docs: update transaction types to use constants (#12301) by @CreeptoGengar
- chore: switch rpc url arbitrum (#12314) by @grandizzy
- chore: remove redundant Bytes conversion in mined_transaction_receipt (#12313) by @Sharilleed223
- chore: remove unused Add import in state_snapshot.rs (#12305) by @wedjob0X
- chore: rpc url (#12318) by @grandizzy
- chore: fix rpc url for arb if no env var (#12320) by @grandizzy
- ci: don't run most CI on push (#12230) by @DaniPopes
- ci: add 'release' to release job names (#12326) by @DaniPopes
- ci: cache cross installation (#12325) by @DaniPopes
- ci: use sccache in release workflow (#12327) by @DaniPopes
- ci: missing newline (#12329) by @DaniPopes
- chore: update arb tests, use different rpc url (#12321) by @grandizzy
- Deduplicate 0x prefix stripping in cast::concat_hex by using strip_0x (#12328) by @maradini77
- test: make forgetest_init! init an empty project (#12335) by @DaniPopes
- fix: node_info label for erigon_get_header_by_number (#12346) by @phrwlk
- Handle newlines for bytes data in
cast keccak(#12339) by @quangloc99 - chore: avoid cloning bytecode in prank delegate check (#12341) by @strmfos
- Title: Simplify StateSnapshots::insert_at return contract (#12337) by @wedjob0X
- ci: fix release workflow (#12353) by @DaniPopes
- test(fmt): ensure fn header sizes are computed correctly (#12350) by @0xrusowsky
- feat: take calldata in
Precompile::signature(#12354) by @onbjerg - fix: add tool for release cross (#12356) by @grandizzy
- chore: bump alloy chains (#12370) by @grandizzy
- fix: deduplicate “0x” prefix stripping in args via shared helper (#12365) by @viktorking7
- chore: patch solar to main rev (#12379) by @grandizzy
- chore: back to arbitrum rpc (#12382) by @grandizzy
- chore(forge): filter out unsupported solidity versions [solar] (#12065) by @marcvernet31
- feat: npm publish anvil, cast and chisel (#11945) by @grandizzy
- chore: remove redundant clones in block construction and bloom building (#12383) by @phrwlk
- chore(anvil): remove unnecessary clones and accept logs by slice (#12364) by @Forostovec
- refactor(anvil): simplify transaction conversion to RpcTransaction (#12391) by @mattsse
- chore: reuse some code (#12395) by @mattsse
- docs: fix cheatcode attribute example syntax (#12392) by @avorylli
- deps: bump deps (#12398) by @rplusq
- chore(anvil): remove dead BeaconResult alias and re-export (#12405) by @Forostovec
- refactor(anvil): simplify receipt conversion using map_logs (#12413) by @mattsse
- chore: update hardfork mappings (#12410) by @mattsse
- refactor(anvil)!: simplify PrecompileFactory API to use DynPrecompile (#12411) by @mattsse
- chore(anvil): use cfg(feature = "cmd") instead of allow(dead_code) for parse (#12425) by @Fallengirl
- Refactor: use strip_0x in Cast::publish and drop unnecessary mut (#12376) by @viktorking7
- chore: use trait fn for setting both input fields (#12426) by @mattsse
- Remove unused foundry-config dependency from benches crate (#12388) by @wedjob0X
- refactor: use derive(Default) for Handler struct (#12431) by @Bilogweb3
- refactor(cast): remove redundant clone and duplicate import (#124- chore: v1.4.0 benches (#11920) by @yash-atreya
- docs: foundry-evm-fuzz extensions (#11924) by @grandizzy30) by @Bilogweb3
- fix(npm): kill child process when SIGTERM or SIGINT is received (#12412) by @guidanoli
- feat(npm): forward termination signals to child process (#12441) by @o-az
- chore(deps): bump DeterminateSystems/determinate-nix-action from 3.11.3 to 3.12.0 (#12436) by @dependabot[bot]
- chore(npm): update README.md of npm packages (#12459) by @o-az
- chore: bump alloy 1.1.0 (#12457) by @stevencartavia
- chore: bump revm 31 (#12461) by @mattsse
- chore(anvil): replace
inject_custom_precompileswithPrecompilesMap::extend_precompilesmethod (#12469) by @mablr - fix: provide the sender when converting to request (#12473) by @mattsse
- Revert "fix(forge doc): use relative path instead of full path" (#12477) by @DaniPopes
- test: memory_limit (#12299) by @DaniPopes
- test: disable reth-ethereum-full (#12484) by @DaniPopes
- chore(foundryup): update master refs to HEAD (#12479) by @DaniPopes
- test: debug log stdout in testdata test (#12482) by @DaniPopes
- fix: update TEST_CONTRACT_ADDRESS (#12475) by @DaniPopes
- chore(meta): remove MSRV from clippy.toml (#12489) by @DaniPopes
- chore: clean up build script (#12488) by @DaniPopes
- chore: aggregate PRs (#12493) by @DaniPopes
- feat(docker): rewrite to cache with depot (#12491) by @DaniPopes
- feat(anvil): eth_getTransactionBySenderAndNonce RPC method (#12497) by @0xChaddB
- ci(doc): document feature sync (#12498) by @rplusq
- feat(anvil): add
/eth/v1/beacon/genesisendpoint to Beacon API (#12503) by @mablr - test: try fix flaky cast_access_list_negative_numbers test (#12509) by @mattsse
- Fix numbers printing (#12504) by @e1Ru1o
- fix(npm): small type fix to resolve ci (#12514) by @o-az
- refactor(doc): improve merge_inheritdoc docs and simplify cloning (#12517) by @DeVikingMark
- fix(forge doc): use relative path instead of full path (#12519) by @grandizzy
- chore(anvil): use
BlockandHeaderfrom Alloy (#12533) by @mablr - chore: bump to revm 33 (#12538) by @zerosnacks
- chore: bump solar, warn on invalid natspec (#12540) by @grandizzy
- chore(common): drop unused fs import and fix doc links (#12535) by @0xLogicalx
- fix: infer addresses in unknown fields in UIfmt (#12552) by @klkvr
- refactor(anvil): beacon api tests + use Alloy's
GenesisResponsestruct (#12513) by @mablr - Remove redundant String clones in Sourcify metadata conversion (#12554) by @soniseth0
- chore: bump v1.5 (#12567) by @grandizzy

