Releases
stable
Anvil Features
Anvil Fixes
Cast Features
feat(cast): add avalanche and fuji genesis hashes (#210 ) by @joshieDo
feat(cast): add json
flag in cast wallet new-mnemonic
(#9139 ) by @leovct
feat(cast
): add flag equivalents of parseUnits, formatUnits (#9165 ) by @kien6034
feat(cast): add --rpc-timeout
option (#9044 ) by @PanGan21
feat(cast): add --int flag to from-rlp (#9210 ) by @TropicalDog17
feat(cast) add creation-code method [#8973 ] (#9029 ) by @pawurb
feat(cast): add string-decode to decode string (#9237 ) by @jsvisa
feat(cast run
): add --etherscan-api-key
to resolve contract names (#9295 ) by @grandizzy
feat(cast): add artifact method (#9249 ) by @pawurb
feat(forge, cast): add cast --with_local_artifacts
/forge selectors cache
to trace with local artifacts (#7359 ) by @byteshijinn
feat(cast): add decode-event sig data (#9413 ) by @grandizzy
feat(cast): decode external lib sigs from cached selectors (#9399 ) by @grandizzy
feat(cast
): decode-error
with sig, local cache and openchain api (#9428 ) by @grandizzy
feat(cast
): decode-event
with local and openchain API (#9431 ) by @grandizzy
feat: rpc_headers in cast and config (#9429 ) by @yash-atreya
feat(cast): allow some more stdin inputs (#9442 ) by @DaniPopes
feat(cast): add support for beacon proxies in cast impl (#9567 ) by @0xvv
Cast Fixes
Chisel Fixes
Forge Features
feat(forge): verify contracts created inside a call (#2840 ) by @joshieDo
feat(cheatcodes
): vm.getScriptWallets() (#9052 ) by @yash-atreya
feat(forge): allow passing value to --optimize
(#9071 ) by @klkvr
feat(forge doc
): include custom natspec (#9075 ) by @leovct
feat: make --gas-report
JSON output compatible (#9063 ) by @zerosnacks
feat(cheatcodes
): vm.rememberKeys (#9087 ) by @yash-atreya
feat(forge): add compiler
subcommand (#7909 ) by @jpgonzalezra
feat(forge): add max supported EVM version in compiler -vv (#9129 ) by @grandizzy
feat(forge build
): add initcode size check (#9116 ) by @mgiagante
feat(forge build
): --watch
flag now watches foundry.toml
config… (#9148 ) by @leovct
fix(cheatcodes): improve fork cheatcodes messages (#9141 ) by @grandizzy
feat(fmt): add all_params
config - same as all
but split single param too (#9176 ) by @grandizzy
feat(invariant): add basic metrics report (#9158 ) by @grandizzy
feat(forge install
): add @tag=
@branch=
@rev=
specific refs (#9214 ) by @grandizzy
feat: make --gas-report
w/ --json
output one JSON blob and add contract_path
to output (#9216 ) by @zerosnacks
feat(cheatcodes
): access broadcast artifacts (#9107 ) by @yash-atreya
feat(--gas-report
): add option to include tests (#9232 ) by @grandizzy
feat(cheatcodes
): mockCall with bytes4 data (#9267 ) by @yash-atreya
feat(forge): allow --verifier custom
option (#9311 ) by @grandizzy
feat(cheatcodes
): add delegatecall
to prank
ing (#8863 ) by @EdwardJES
feat(forge build): err if no source file in specified paths (#9329 ) by @grandizzy
feat(forge build
): add --sizes
and --names
JSON compatibility (#9321 ) by @zerosnacks
feat(forge build -vvvvv
): If verbosity level is 5 or higher show files to compile (#9325 ) by @mgiagante
feat: compilation restrictions (#8668 ) by @klkvr
Support EIP-7702 Delegations in Forge (#9236 ) by @evchip
feat(forge, cast): add cast --with_local_artifacts
/forge selectors cache
to trace with local artifacts (#7359 ) by @byteshijinn
feat(forge): show additional details of contract to verify (#9403 ) by @grandizzy
fix: forge script should adhere to --json
flag (#9404 ) by @zerosnacks
feat: add --broadcast
flag to forge create, default to dry run mode (#9420 ) by @zerosnacks
feat(traces
): show state changes in cast run
and forge test
on -vvvvv
(#9013 ) by @cassc
feat: rewrite inline config using figment (#9414 ) by @DaniPopes
feat: add timeouts to fuzz testing (#9394 ) by @smartcontracts
feat(script): support custom create2 deployer (#9278 ) by @jsvisa
feat: allow any config to be defined inline (#9430 ) by @DaniPopes
fix/feat(coverage): add --lcov-version (#9462 ) by @DaniPopes
feat: dedup error messages (#9481 ) by @DaniPopes
feat: add JSON compatibility for forge test --summary +/ --detailed
+ apply consistent table styling (#9485 ) by @zerosnacks
feat(cheatcodes
): count assertion for expectRevert
(#9484 ) by @yash-atreya
feat(cheatcodes): add vm.getStateDiff
to get state diffs as string (#9435 ) by @grandizzy
feat(cheatcodes): skip test suite in setup (#9532 ) by @grandizzy
feat(cheatcodes
): count assertion for expectEmit
(#9405 ) by @yash-atreya
Forge Fixes
fix(forge): only cleanup dirs if they exists (#194 ) by @mattsse
fix(tests
): force install solidity 0.8.19 through svm (#5221 ) by @Evalir
fix(coverage): proper instruction for 1st branch anchor (#8512 ) by @grandizzy
fix: running script with --broadcast
for a transaction sequence can error out due to nonce desync from rpc latency (#9096 ) by @pogobounce
fix(fmt): do not panic when no named arg (#9114 ) by @grandizzy
fix(traces): identify artifacts using both deployed and creation code (#9050 ) by @grandizzy
fix(cheatcodes): convert fixed bytes to bytes in vm.rpc tuple result (#9117 ) by @grandizzy
fix: script simulation with default sender (#9042 ) by @klkvr
fix(fmt): multiline single param only if func definition is multiline for all_params
(#9187 ) by @ChiTimesChi
fix(script): correctly detect additional contracts (#9207 ) by @klkvr
fix(forge create): set skip_is_verified_check: true (#9222 ) by @grandizzy
fix: allow_hyphen_values for constructor args (#9225 ) by @mattsse
fix(--gas-report
): add back signatures, even if empty, avoid nesting multiple selectors (#9229 ) by @zerosnacks
fix: remove steps after steps tracing cheatcodes are done (#9234 ) by @klkvr
fix(deps
): update alloy-chains
to fix Celo explorer API URL (#9242 ) by @github-actions[bot]
fix: better error handling when waiting for receipt (#9253 ) by @klkvr
fix(forge doc
): display custom natspec tag (#9257 ) by @leovct
fix(forge): fix stack overflow when the lib path is absolute. (#9190 ) by @l1nxy
fix(remappings): ignore remappings of root proj dirs when merging (#9258 ) by @grandizzy
fix(forge test
): record only test fns in test failures (#9286 ) by @grandizzy
fix(coverage): do not report empty constructors, enable reports for receive
(#9288 ) by @grandizzy
fix(fork): set block blob_excess_gas_and_price only if excess_blob_gas header
is Some (#9298 ) by @grandizzy
fix(forge): always report deployment size in gas reports (#9308 ) by @grandizzy
fix(forge eip712
): handle recursive types (#9319 ) by @klkvr
fix: identification of contracts in scripts (#9346 ) by @klkvr
fix(coverage
): allow ir-minimum
for versions < 0.8.5 (#9341 ) by @grandizzy
fix: vm.broadcastRawTransaction
(#9378 ) by @klkvr
fix(forge test): install missing dependencies before creating Project
(#9379 ) by @klkvr
fix(forge create): install missing deps if any (#9401 ) by @grandizzy
fix: remove duplicate gas_limit
/ block_gas_limit
field, declare as alias (#9406 ) by @zerosnacks
fix(cheatcodes): use calldata in attachDelegation (#9407 ) by @grandizzy
fix(coverage): clean ups, use normalized source code for locations (#9438 ) by @DaniPopes
fix(coverage): special functions have no name (#9441 ) by @DaniPopes
fix(coverage): also ignore empty fallbacks and receives (#9459 ) by @DaniPopes
fix(coverage): assert should not be branch (#9467 ) by @grandizzy
fix(forge
): run dep.has_branch
in correct dir (#9453 ) by @yash-atreya
fix(remappings): project autoremappings should respect config (#9466 ) by @grandizzy
fix: force prevrandao
on Moonbeam networks (#9489 ) by @mattsse
fix(verify): cached artifacts by version (#9520 ) by @grandizzy
fix(cheatcodes): clear orderings together with trace steps on debug trace stop (#9529 ) by @grandizzy
fix(fuzz): exclude exernal libraries addresses from fuzz inputs (#9527 ) by @grandizzy
fix: read rpc config when using fork cheatcodes (#9547 ) by @anukul
Performance improvements
perf: cap default poll interval (#9250 ) by @mattsse
perf(coverage): improve HitMap merging and internal repr (#9456 ) by @DaniPopes
perf(coverage): cache computed bytecode hash in CoverageCollector (#9457 ) by @DaniPopes
perf(coverage): cache current HitMap, reserve when merging (#9469 ) by @DaniPopes
Other
Full Changelog:
f1d339a...stable
You can’t perform that action at this time.