Skip to content

Releases: nowarp/misti

Release 0.6.2

25 Dec 12:20
Compare
Choose a tag to compare

Fixed

  • Callgraph: Don't add state write effects when changing local maps/strings/cells
  • Regression in the single-contract mode execution: Issue #233

Release 0.6.1

22 Dec 11:01
Compare
Choose a tag to compare

Fixed

The scripts directory wasn't included in the npm release, which makes it impossible to build Misti as a dependency

Release 0.6.0

22 Dec 10:33
Compare
Choose a tag to compare

Added

  • CellBounds detector: PR #214
  • ExitCodeUsage detector: PR #207
  • EtaLikeSimplifications detector: PR #198
  • ShortCircuitCondition detector: PR #202
  • PreferredStdlibApi detector now suggest some preferred replacements for cell methods
  • Add Callgraph: PR #185
  • Support for browser environment: PR #231
  • souffleEnabled option to disable Souffle check execution: PR #231
  • Add function effects to Callgraph: PR #227

Changed

  • SuspiciousMessageMode detector now suggests using SendDefaultMode instead of 0 for mode: PR #199
  • CellOverflow detector was replaced with the CellBounds detector that supports both overflows and underflows: PR #214
  • Renamed IR entries to follow the Tact codebase naming style

Fixed

  • Missing Module version-info When Installing Misti from GitHub: Issue #216
  • ExitCodeUsage Handle direct cases: Issue #218

Release contributors

Release 0.5.0

31 Oct 15:32
Compare
Choose a tag to compare

Added

  • SuspiciousMessageMode detector: PR #193
  • SendInLoop detector: PR #168
  • CellOverflow detector: PR #177
  • UnboundMap detector: Issue #50
  • UnusedExpressionResult detector: PR #190
  • Warning suppressions: PR #203
  • --list-detectors CLI option: PR #192
  • Import Graph: PR #180
  • Leverage ImportGraph to resolve entry points: PR #194
  • Accept directory as input: PR #195
  • Timeout on executing detectors: Issue #47

Changed

  • Improved and optimized the test suite: PR #184
  • Introduced the branded type pattern to improve type safety: Issue #191

Release contributors

Special thanks

Release 0.4.2

12 Oct 03:12
Compare
Choose a tag to compare

Fixed

  • Return a successful exit code when Misti analysis does not generate any warnings

Release contributors

Release 0.4.1

12 Oct 01:45
Compare
Choose a tag to compare

Changed

  • Make the filepath argument optional: Issue #170

Fixed

  • Return a non-zero exit code when warnings are raised or an execution error occurs

Release contributors

Release 0.4.0

08 Oct 08:41
Compare
Choose a tag to compare

Added

  • OptimalMathFunction detector: Issue #146
  • DuplicatedCondition detector: Issue #147
  • UnusedOptional detector: Issue #86
  • EnsurePrgSeed detector: Issue #151
  • FalseCondition detector: Issue #93
  • Introduces Misti tools – additional modules that can be used alongside detectors to cover various user tasks beyond warning generation: PR #154
  • Support warnings suppression: Issue #152
  • CFG Dump: Mermaid output: Issue #141
  • Misti execution result in the JSON format using --output json/-o json: Issue #123
  • ANSI escape sequences to colorize output and the --no-colors CLI option to disable it
  • Driver in a single-contract mode tries to copy all the .tact and .fc files to resolve imports
  • Short CLI options. See: https://nowarp.io/tools/misti/docs/next/tutorial/cli
  • CLI: --min-severity/-m option to filter warnings
  • More informative error messages when an incorrect Misti or Tact configuration file is set

Changed

  • Include Git revision number to non-release version numbers
  • Warnings now have more comprehensive descriptions and are sorted by severity
  • DumpIsUsed: Report only dump calls with non-literal arguments
  • Misti API to execute the driver programmatically
  • ArgCopyMutation: Report once per function: Issue #150
  • ArgCopyMutation: Don't report arguments returned from the function: Issue #149
  • Rename CLI options: --suppress -> --disable-detectors; --detectors -> --enable-detectors

Fixed

  • ReadOnlyVariables: Don't suggest creating constants from variables resulted from fields and method calls: Issue #148

Release contributors

Special thanks

Release 0.3.1

24 Sep 12:29
Compare
Choose a tag to compare

Fixed

  • NeverAccessedVariables: False positive: reported a map variable used in the foreach loop
  • Path to the compiled main.js in ./bin/misti

Release 0.3.0

22 Sep 10:58
Compare
Choose a tag to compare

Added

  • Supported Tact 1.5: Issue #33
  • StringReceiversOverlap detector: PR #122
  • AsmIsUsed detector: Issue #119
  • PreferredStdlibApi detector: Issue #132
  • InheritedStateMutation detector: Issue #64
  • ArgCopyMutation detector: Issue #125
  • Allow running Misti without Souffle installation: Issue #45
  • Add index.ts in order to simplify writing custom detectors: PR #140
  • --dump-ast CLI option
  • --suppress CLI option: Issue #135
  • --souffle-binary CLI option to specify path to the Souffle executable
  • --souffle-verbose CLI option to include comments to the generated Souffle files: PR #120
  • Benchmarks for executing detectors: yarn benchmark ./test/good/sample-jetton.tact
  • Public API to handle Tact stdlib paths
  • Detector templates and the --new-detector CLI option: PR #105
  • A script to generate detectors documentation: ./scripts/generateDetectorDocs.ts
  • The --detectors CLI option can be used to quickly run Misti with the specified detectors, e.g., yarn misti --detectors ReadOnlyVariables,./examples/implicit-init/implicitInit.ts:ImplicitInit
  • TactASTUtil: API functions to check mutability of the statement
  • Asynchronous detectors and Souffle execution: PR #118

Changed

  • Moved Souffle bindings to a its own repository https://github.com/nowarp/souffle.js: PR #120
  • Refined the CLI interface
  • The engines property in package.json and its strict checking to ensure minimal required Node.js version is 22 (follows-up changes in Tact)

Fixed

Release contributors

Special thanks

Release 0.2.1

22 Aug 02:26
Compare
Choose a tag to compare

Fixed

Changed

  • Improve the internal Misti driver API used in tests and blueprint-misti

Fixed

Release contributors