github foundry-rs/forge-std v1.8.0

latest releases: v1.8.2, v1.8.1
2 months ago

Featured Changes

  • feat/perf: use native assertions by @klkvr in #514.
    • This replaces forge-std Solidity code with native cheatcode assertions from Foundry, so should give a small performance boost.
    • Assertion failures now cause tests to exit early, instead of continuing with execution.
    • This also will require some visibility modifier changes to tests, as assertion methods no longer set state.
    • NOTE: If you were using the vm.expectSafeMemory cheat, you may need to now use the new vm.stopExpectSafeMemory cheat from #507. See #503 (comment) to learn more, h/t @clabby.
  • feat(stdStorage): support packed variables by @klkvr in #505. This means deal now works with USDC and other variables that reply on packed storage slots.
    • The USDC deal support works out of the box.
    • To avoid breaking changes arbitrary packed slot support is not enabled by default, and can be enabled with stdstore.enable_packed_slots().target(.....
  • feat: add TOML reading/writing cheatcodes by @zerosnacks in #518. These are analogous to their JSON equivalents.
    • NOTE: This adds file specific keyExistsJson and keyExistsToml cheats. The ambiguous keyExists currently is an alias for keyExistsJson and will be deprecated.
  • feat: native string maniupulation cheatcodes of toLowercase, toUppercase, trim, replace and split from foundry-rs/foundry#6891.
  • feat: implement interfaces in mock tokens by @arr00 in #510.

Other Changes

New Contributors

Full Changelog: v1.7.6...v1.8.0

Don't miss a new forge-std release

NewReleases is sending notifications on new releases.