github foundry-rs/forge-std v1.17.0

4 hours ago

Featured Changes

  • New StdSecp256k1 library: curve constants, affine and projective identities, scalar validation, parity encodings, and Ethereum address derivation. Includes dedicated unit and fuzz coverage. (#912, #923)
  • Expanded cheatcode interface: elliptic-curve operations, slot-number access, eth_getProof, and additional JSON and FFI helpers.
  • More reliable stdStorage: discover short string/bytes slots, handle signed fields narrower than 256 bits, and stop access recording after discovery. (#894, #904, #906)
  • Config-only chains: load chain configuration without an RPC endpoint; an endpoint is required only when requested. (#903)
  • State-gas reporting: Vm.Gas now includes gasStateUsed, with documentation explaining execution gas, state gas, and refunds. (#907)

Compatibility: Vm.Gas gains a field, so explicit struct initializers need updating. Older Foundry versions returning the previous tuple layout may fail decoding; use Foundry v1.8.3 or newer.

All Changes

  • chore(deps): bump the ci-weekly group with 3 updates by @dependabot[bot] in #889
  • chore: update Vm interface cheatcodes by @mablr in #890
  • chore(deps): bump the ci-weekly group with 2 updates by @dependabot[bot] in #891
  • chore(deps): bump the ci-weekly group with 3 updates by @dependabot[bot] in #892
  • chore(deps): bump the ci-weekly group with 3 updates by @dependabot[bot] in #893
  • fix(StdStorage): find short string and bytes slots by @stevencartavia in #894
  • chore(deps): bump the ci-weekly group with 2 updates by @dependabot[bot] in #895
  • chore(deps): bump the ci-weekly group with 2 updates by @dependabot[bot] in #896
  • docs: add NatSpec to Script and Test base contracts by @daixihegu in #880
  • chore(deps): bump the ci-weekly group with 2 updates by @dependabot[bot] in #899
  • chore: update Vm interface cheatcodes by @mablr in #897
  • fix: sync Vm interface IDs by @decofe in #901
  • chore(deps): bump the ci-weekly group with 2 updates by @dependabot[bot] in #905
  • chore: sync Vm interface cheatcodes by @mablr in #902
  • fix: stop stdStorage access recording by @decofe in #906
  • chore: sync state gas field by @figtracer in #907
  • chore(deps): bump the ci-weekly group with 3 updates by @dependabot[bot] in #908
  • fix(StdStorage): handle signed fields narrower than 256 bits by @pucedoteth in #904
  • fix(config): let config-only chains load without an RPC endpoint by @zexoverz in #903
  • chore(deps): bump the ci-weekly group with 2 updates by @dependabot[bot] in #909
  • chore(vm): regenerate cheatcode bindings by @mattsse in #911
  • test(StdJson): cover readBytes at parseRaw's inferred-type lengths by @developer3516 in #900
  • chore(ci): add secure runner across workflows by @decofe in #914
  • chore(deps): bump the ci-weekly group with 2 updates by @dependabot[bot] in #915
  • feat: add StdSecp256k1 library by @StackOverflowExcept1on in #912
  • chore(ci): update gh-actions pins by @decofe in #916
  • chore(ci): scan GitHub Actions workflows by @decofe in #917
  • chore: update gh-actions to ee2960a6 by @decofe in #918
  • chore(deps): bump the ci-weekly group with 2 updates by @dependabot[bot] in #919
  • chore: bump gh-actions to d5402286 by @decofe in #920
  • chore: sync Vm interface cheatcodes by @decofe in #921
  • test: cover StdSecp256k1 helpers by @mablr in #923
  • chore: bump package version to 1.17.0 by @decofe in #922

New Contributors

Full Changelog: v1.16.2...v1.17.0

Don't miss a new forge-std release

NewReleases is sending notifications on new releases.