Skip to content

v0.1.3

Latest
Compare
Choose a tag to compare
@anishnaik anishnaik released this 01 Mar 01:28
· 12 commits to master since this release
72e9b85

This marks a minor release of medusa. Version 0.1.3 brings fixes to a variety of critical and minor bugs, improvements in shrinking performance, improved logging, exit code standardization, and other quality-of-life improvements.

What's Changed

  • Added a ShrinkLimit configuration parameter that bounds the number of iterations that the call sequence and value shrinking process executes for. This limits worker exhaustion on heavy-processing call sequences.
  • Standardized medusa exit codes. 0 means the fuzzer exited successfully. 1 means medusa encountered an unexpected error. 7 means that medusa encountered a failing test case.
  • Renamed DeploymentOrder to TargetContracts and renamed AssertionModesConfig to PanicCodeConfig.
  • Added a TargetContractBalances configuration parameter to allow target contracts to have starting ETH balances.
  • Enabled all testing modes (assertion, property, and optimization) by default. The --assertion-mode and --optimization-mode flags were removed from the CLI. Testing modes can now be disabled only through the configuration file.
  • Renamed the --target CLI flag to --compilation-target.
  • Improved logging during fuzzer startup.
  • Updated the behavior of TestAllContracts to only invoke functions within contracts specified in TargetContracts.
  • Updated coverage reports to have any files that have non-zero coverage to be opened by default.
  • Added a NoColor configuration parameter to disable colored CLI output.

Bug Fixes

  • Fixed a memory leak in the test chain object that caused medusa to crash after a given period of time.
  • Fixed a panic in the coverage tracer.
  • Fixed an array out-of-bounds panic in coverage maps.
  • Fixed a non-deterministic copy-length-based panic in the parseBytes32 cheatcode.
  • Fixed the warp cheatcode to accept uint256 arguments.
  • Fixed the CI to support Python 3.12.
  • Fixed a bug within corpus call method resolution.

New Contributors

Full Changelog: v0.1.2...v0.1.3