Skip to content

v0.6.13

Compare
Choose a tag to compare
@montyly montyly released this 08 Sep 12:54
· 2697 commits to master since this release

0.6.13 - 2020-09-08

This releases improves support for Solidity 0.6, adds partial support for YUL, and fixes many bugs. Internally, we improved the parsing architecture, easing the addition of a new parser and added type annotations. Additionally, slither now runs GitHub super-linter, and the regression tests were improved (see the new CONTRIBUTING.md guidelines).

We also want to thanks our contributors for reporting issues, and helping to improve Slither:

If you want access to additional detectors, try Crytic. It now has 96 detectors, including 2 YUL specific detectors.

Added

Internal

  • Add type annotations (#514)
  • Add storage layout information (#507, #540)
  • Add --disallow-partial flag (#560). This hidden flag will prevent Slither from catching exceptions, and simplify debugging
  • Add support for function pointers in the RETURN operator (#601)

Changed

  • Copy editing on detectors (#572)
  • Use crytic-compile@0.1.9
  • Improve human-summary printer (#477, #478)
  • Improve dupplicate name report (#489)
  • slither-flat: Improve utf8 support and mapping/array lookup (#494)
  • Filter contract to contract_declarer in call graph printer (#491)
  • Several improvements in slither-flat, including new strategies, json/zip export (#496). Read the new documentation.
  • Add check on public state variables in slither-erc (#528)
  • suicidal detector: add detection on external functions (#527)
  • Add padding to function id printer (#546)
  • Update the recommended Solidity version in the solc-version detector (#577). This might result in disabling triaged solc-version results with Slither < 0.6.13

Internal

  • Change the parsing architecture: parser objects are separate objects and do not inherit from the core. This will ease the creation of new parsers (#514)
  • Improve support for tuple (#536, #539, #541, #548, #563, #564, #576)
  • Improve abi.decode support (#475, #548, #551, #567, #598)
  • Temporary array slice support (#550)
  • Allow converting library to address (#561)
  • Allow total ordering on Constant (#565)
  • Improve fixpoint on are_variables_written (#480)
  • Improve support for type() (#569)
  • Increase the default python stack depth limit (#599)
  • Refactor regression tests (#610)

Fixed

  • Fix incorrect sons information on loop (#524)
  • Fix numpy error on slither-simil (#484)
  • Fix infinite loop on try statements (#535)
  • Fix incorrect parsing in case of variables name reused (#538)
  • Linting issue (#555)
  • Issues on this. usage (#600, #623)
  • Out of memory on large exponent (#608)
  • All pylint issues (#616)
  • Incorrect support of using for on functions pointers (#624)