Skip to content

v0.6.0

Compare
Choose a tag to compare
@montyly montyly released this 15 Feb 22:03
· 3596 commits to master since this release

0.6.0 - 2019-02-15

This release adds 3 new detectors, 5 new printers, improves the overall usability of Slither, and introduces a new tool: slither-check-upgradability to help to review upradable contracts. User and developer documentation has dramatically improved. This release brings also several bugfixes, API enhancements and lowers the rate of false positives for several detectors.

Thanks to our external contributors @cty12, @mrice32 and @ptare for their numerous bug reports.

Added

Changed:

  • Reduce the false alarms rates of:
    • Unused variables: consider expression oustide of the functions' scope #167
    • Reentrancy: check if a call to this is reentrancy-safe + don't consider view/pure calls for Solidity >= 0.5 #127 #126
    • Locked ether: follow libraries calls #163
  • Improve Truffle integration: Slither will automatically switch to the truffle version provided in package.json (#154)
  • Improve SSA conversion: Use of an interprocedural sensitive analysis (follow parameters) (#156 (comment))
  • Improve data dependency: Compute a fix-point on function context (#171)
  • Improve inheritance printer output (#162, #166)
  • Add support of staticall (#152)

Fixed

  • Several minors bugs, including:
    • Incorrect SSA conversion on Return (59af388)
    • is_storage property on StateVariableIR/LocalVariableIR (59af388)
    • Crash when two variables have the same name #151
    • Incorrect location for LocalVariableIR (#143)
    • Add constant folding visitor to avoid crash on expression-based length (#144)