Releases: foundry-rs/foundry
Releases · foundry-rs/foundry
rc
Anvil Features
- feat(
anvil
): emit warning server side on failing request (#9890) by @zerosnacks - feat(anvil): add holocene and isthmus optimism hardforks (#9949) by @tremarkley
- feat(anvil): add genesis number to configuration and update related structures (#10083) by @mmv08
- feat(
anvil
): add support for trace logging in Anvil (#9895) by @zerosnacks - feat(
anvil
): bypass sidecar requirement when impersonating (#10224) by @yash-atreya - feat(anvil): add eth_simulateV1 rpc call (#10227) by @mattsse
- feat: support negative forkblock numbers (#10263) by @mattsse
- feat/fix(anvil): add genesis number CLI option, fix genesis block construction (#10258) by @mmv08
Anvil Fixes
- fix(anvil): reset cache path during anvil_reset without fork url (#9729) by @nbaztec
- fix(anvil): return nonce and signature for deposit tx type (#9883) by @jakim929
- fix: map 7623 to gas too high (#9915) by @mattsse
- fix: handle invalid mnemonic gracefully in anvil (#10207) by @gregorsternat
- fix(
anvil
): --chain-id takes precendence over genesis (#10223) by @yash-atreya - fix(
anvil
): fix chain-id precedence (#10239) by @yash-atreya - fix(anvil): Fix tracing-subscriber initialization conflict in EIP4844 test (#10249) by @VolodymyrBg
Cast Features
- feat(
cast age
): clarify block timestamp is UTC to allow fordate
compatibility (#9913) by @zerosnacks - feat: add option to store keystore file with custom account name (#9946) by @startup-dreamer
- feat(cast): storage add --proxy to manually specify a proxy contract when Etherscan fails to find it (#10033) by @Cizeon
- add cast wallet change password command (#10089) by @qiweiii
- feat(cast): add
cast txpool
(#10104) by @0xOsiris - feat(
cast
): make unsigned raw txs (#10105) by @yash-atreya - added cast wallet public key (#10196) by @Rimeeeeee
- Add recovered address to cast decode transaction #10247 (#10252) by @Ayushdubey86
Cast Fixes
- fix(cast): try decoding custom errors when execution reverted in cast send (#9794) by @grandizzy
- fix(receipt): use
from
address (#9998) by @MaxMustermann2 - fix(cast): allow user to disable block gas limit check in cast run (#9996) by @minh-bq
- fix(cast): send should not panic on revert decoding (#10155) by @grandizzy
Chisel Features
- feat(chisel): improve uninformative error messages (#10201) by @GarmashAlex
Forge Features
- feat(invariant): on failures show original and current sequence len (#9816) by @grandizzy
- feat(invariant): generate failed call sequence as solidity (#9827) by @grandizzy
- feat(doc): add mathjax support to forge doc mdbook config (#9829) by @JayWhite2357
- feat(forge): add option to suppress successful tests traces (#9865) by @grandizzy
- feat: add way to disable emitting of gas snapshots to disk (#9710) by @turbocrime
- feat(
forge fmt
): add watch mode (#9838) by @PanGan21 - feat: add
vm.foundryVersionCmp
andvm.foundryVersionAtLeast
cheatcodes (#9845) by @startup-dreamer - feat: add
--alloy-rev
and fixforge bind
re-run on built project (#9861) by @zerosnacks - feat(
forge
): don't commit installations by default (#9884) by @yash-atreya - feat(
common
):PathOrContractInfo
arg type (#9770) by @yash-atreya - feat(cheatcodes): add
expectCreate
andexpectCreate2
(#9875) by @anukul - feat(forge): match chain id with token symbol (#10043) by @somtumkoku
- feat(forge): allow path in forge selectors upload (#10073) by @grandizzy
- feat(forge): solc 0.8.29 (#10078) by @mattsse
- feat(forge): add accessList and cold/warm cheatcodes (#10112) by @grandizzy
- feat(forge build): add
--use-literal-content
CLI flag (#10143) by @Hugoo - feat(forge): add vm.deployCode cheats with msg.value and salt (#10178) by @grandizzy
- feat(forge): vm.sort and vm.shuffle cheatcodes (#10187) by @Haxry
- feat: support
signDelegation
andsignAndAttachDelegation
with nonce (#10182) by @fenghaojiang - feat(forge): add vm.setArbitraryStorage with overwrites (#10219) by @grandizzy
- feat(bind): define crate description and license (#10203) by @Soubhik-10
- add interceptInitcode cheatcode (#10242) by @tushar994
- feat(forge): optimize compilation through preprocessing and caching (#10010) by @grandizzy
- feat(forge): allow invariant contract address as targetContract (#10274) by @grandizzy
- Force
prevrandao
on Rootstock network (#10279) by @ahsan-javaiid
Forge Fixes
- fix(forge): allow
forge init --template
to work with--no-commit
(#9815) by @antazoey - fix: mark metis as different gas calc (#9834) by @mattsse
- fix(forge): decode fallbacks with calldata (#9859) by @grandizzy
- fix(inspect): add flag to strip ir comments (#9825) by @grandizzy
- fix(forge): flatten fails on top-level event declarations (#9892) by @grandizzy
- fix(config): enable optimizer if optimizer runs > 0 in additional profiles (#9901) by @grandizzy
- fix(config): add support for inline
isolate
configuration (#9904) by @zerosnacks - fix(
forge
): catch faulty test constructors (#9909) by @yash-atreya - fix(--isolate): avoid remappings lookups (#9938) by @klkvr
- fix(
--isolate
): correctly handle staticcalls (#9940) by @klkvr - fix(
forge
):forge build --sizes
collapses non uniques (#9962) by @zerosnacks - fix(coverage): try/catch as branches, account for empty blocks (#9978) by @grandizzy
- fix(script): apply configured evm-version for verify args (#9979) by @grandizzy
- fix(invariant): ignore persisted failure if different test contract (#9981) by @grandizzy
- fix:
forge script --verifier sourcify
is ignored whenETHERSCAN_API_KEY
env var is defined (#10002) by @zerosnacks - fix(forge): avoid etch panic on invalid bytecode (#10006) by @grandizzy
- fix(verfy): add blockscout exception for resp status 0 when contract not indexed (#10008) by @grandizzy
- fix(forge): use float total cmp instead partial (#10005) by @grandizzy
- fix(forge): do not panic if revert at same depth as start state recording (#10016) by @grandizzy
- fix(forge): warn if file for artifact no longer exists (#10025) by @grandizzy
- fix(forge): stack pranks, restore pranks at earlier call depths (#10018) by @grandizzy
- fix(forge): base url for verification providers other than etherscan (#10045) by @grandizzy
- fix(forge): use etherscan verifier if key provided (#10058) by @grandizzy
- fix(forge): redact pk in signDelegation* traces (#10061) by @grandizzy
- fix(
forge test --debug
): do not panic when user specifies both--match-path
and<PATH>
, bail instead (#10094) by @zerosnacks - fix(forge): clone src with node_modules (#10119) by @grandizzy
- bug(forge)!: strip "revert: " from vm.expectRevert reason (#10144) by @Hugoo
- fix(forge): bail if forge create contract with empty bytecode (#10159) by @grandizzy
- fix(bind): Use the unused skip_extra_derives bind argument (#10099) by @pistomat
- fix(forge): respect --optimize flag when verify with forge create (#10163) by @grandizzy
- fix(forge): apply startPrank with delegate only for top calls (#10069) by @grandizzy
- bug(forge)!: strip "revert: " from vm.expectRevert reason (#10144) by @Hugoo
- fix(forge init): handle github.com/ prefixed templates (#10151) by @Hugoo
- fix(forge): normalize signature s value (#10180) by @mattsse
- fix(forge): do not panic if create fork err (#10231) by @grandizzy
- fix(forge): coverage for contracts with ctor with args (#10270) by @grandizzy
- fix(forge): trace identify by creation code with stripped args (#10271) by @grandizzy
- fix(bind): add workaround for unlinked artifacts (#10291) by @mattsse
- fix(forge): do not set balance as apparent value in delegate prank (#10304) by @grandizzy
- fix(forge): ensure selected fork contains init state for persisted accounts (#10301) by @grandizzy
Other
- fix(foundryup): install for user names with empty space (#9835) by @grandizzy
- feat: bump
alpine=3.21
in Dockerfile (#9907) by @gnapoli23 - feat(
cast
): add newcast wallet remove
command (#9873) by @startup-dreamer - chore(
cast
): add4byte-calldata
alias (#9927) by @zerosnacks - fix 4-bytecalldata (#9952) by @Haxry
- Override prevrandao on bsc (#9957) by @wtdcode
- chore: fix 404 status URL (#9964) by @looklose
- use HashMap::keys avoid unnecessary tuple unpacking (#9975) by @nkysg
- change &Option to Option<&str> (#9973) by @nkysg
- test(doc): added test case for doc comments & natspec (#9923) by @srdtrk
- fix(cast): clarify docs for the cast call --data flag (#10014) by @CodeSandwich
- chore(cast): upgrade evmole to 0.7.2 (#10048) by @cdump
- fix deny.toml, ignore RUSTSEC-2025-0014 (#10052) by @getong
- update derive_more to 2.0 (#9987) by @getong
- update watchexec to 6.0, watchexec-events to 5.0 (#9988) by @getong
- chore(cli): fix clap deprecated warnings (#10075) by @taikoonwang
- feat: add
x86_64-musl
andaarch64-musl
release targets (#9984) by @gnapoli23 - docs: edited a dead link in
precompiles.rs
(#10049) by @loopy811 - Update to soldeer 0.5.3 (#10110) by @mario-eth
- chore: refactor
forge
for library use (#10117) by @zerosnacks - chore: refactor
cast
for library use (#10123) by @zerosnacks - chore: refactor
anvil
for library use (#10139) by @zerosnacks - chore: refactor
chisel
for library use (#10142) by @zerosnacks - feat: add explicit_iter_loop clippy lint (#10146) by @taikoonwang
- Replace
#[allow()]
with#[expect()]
(#10131) by @0xMushow - chore(all): add 0x prefix to b256! and address! calls (#10213) by @healthyyyoung
- chore: remove odyssey p256 precompile on
0x14
(#10220) by @joshieDo - chore(all): replace 0x prefix from_str(...).unwrap() with macros (#10222) by @healthyyyoung
- feat(abi): Implement UIfmt for DSTest console logs (#10185) by @VolodymyrBg
- refactor: signatures identifier, trace decoding (#10282) by @DaniPopes
- fix(docker): build docker aarch64 without jemalloc (#10286) by @grandizzy
Full Changelog:
Nightly (2025-04-15)
Nightly
Nightly (2025-04-11)
Other
- refactor: signatures identifier, trace decoding (#10282) by @DaniPopes
- fix: add workaround for unlinked artifacts (#10291) by @mattsse
Full Changelog:
Nightly (2025-04-14)
- No changes
Nightly (2025-04-10)
Nightly (2025-04-09)
Chisel Features
- feat(chisel): improve uninformative error messages (#10201) by @GarmashAlex
Forge Features
- feat(forge): allow invariant contract address as targetContract (#10274) by @grandizzy
Forge Fixes
- fix(forge): coverage for contracts with ctor with args (#10270) by @grandizzy
- fix(forge): trace identify by creation code with stripped args (#10271) by @grandizzy
Other
Full Changelog:
Nightly (2025-04-09)
Nightly (2025-04-08)
Anvil Features
- feat(
anvil
): add support for trace logging in Anvil (#9895) by @zerosnacks
Forge Features
- feat(forge): optimize compilation through preprocessing and caching (#10010) by @grandizzy
Other
- Add recovered address to cast decode transaction #10247 (#10252) by @Ayushdubey86
- feat: support negative forkblock numbers (#10263) by @mattsse
- feat/fix(anvil): add genesis number CLI option, fix genesis block construction (#10258) by @mmv08