Skip to content

Conversation

@BrewTestBot
Copy link
Member

Created by brew bump


Created with brew bump-formula-pr.

release notes
# 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 (foundry-rs/foundry#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 (foundry-rs/foundry#12180). Additionally, the counterexamples saved on disk and replayed on subsequent campaigns, are now also minimized (foundry-rs/foundry#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 (foundry-rs/foundry#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

Porto send

Additionally you can sign messages and typed data with cast wallet sign: cast wallet sign --browser "Hello World!"

Porto Sign

ERC20 support in cast

This release introduces the cast erc20 command to facilitate interaction with ERC-20 tokens (foundry-rs/foundry#12258 foundry-rs/foundry#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:

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 (foundry-rs/foundry#11945).

bun x @foundry-rs/anvil --version
npx --yes @foundry-rs/cast --version
pnpm dlx --silent @foundry-rs/chisel --version

Performance 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/blobs beacon endpoint (#12182) by @mablr
  • feat(anvil): add debug_dbGet endpoint (#12375) by @mablr
  • perf(anvil): avoid unnecessary transaction vector cloning in Block::new (#12393) by @CreeptoGengar
  • feat(anvil): Implement alloy_evm FromRecoveredTx trait for anvil TypedTransaction (#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_fields lint (#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_empty in mockCalls_1Call, mockCall_1Call, mockCall_3Call for 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): handle Address is not a smart-contract with 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 pretty arg for print_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-issue in release workflow is pinned to incorrect hash (#12004) by @zerosnacks
  • chore(ci): integrate CodeQL into regular test.yml workflow 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 NetworkConfig fields private (#12037) by @onbjerg
  • fix(build): use output graph/artifacts rather than sources (#12019) by @0xrusowsky
  • chore: rm extra --celo arg (#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_definitions public (#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_change by using to_string() (#12193) by @maximevtush
  • fix: Remove redundant .to_string() after format! 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): deployCode reverts 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 all for prefer_compact fmt 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 none variant (#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_precompiles with PrecompilesMap::extend_precompiles method (#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/genesis endpoint 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 Block and Header from 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 GenesisResponse struct (#12513) by @mablr
  • Remove redundant String clones in Sourcify metadata conversion (#12554) by @soniseth0
  • chore: bump v1.5 (#12567) by @grandizzy

Full Changelog:

foundry-rs/foundry@v1.4.4...v1.5.0-rc1

View the full release notes at https://github.com/foundry-rs/foundry/releases/tag/v1.5.0.


@github-actions github-actions bot added rust Rust use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` shell-completion labels Nov 24, 2025
@github-actions
Copy link
Contributor

🤖 An automated task has requested bottles to be published to this PR.

Caution

Please do not push to this PR branch before the bottle commits have been pushed, as this results in a state that is difficult to recover from. If you need to resolve a merge conflict, please use a merge commit. Do not force-push to this PR branch.

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Nov 24, 2025
@BrewTestBot BrewTestBot added this pull request to the merge queue Nov 24, 2025
Merged via the queue into main with commit f9b52cb Nov 24, 2025
22 checks passed
@BrewTestBot BrewTestBot deleted the bump-foundry-1.5.0 branch November 24, 2025 09:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bump-formula-pr PR was created using `brew bump-formula-pr` CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. rust Rust use is a significant feature of the PR or issue shell-completion

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants