Releases: nowarp/misti
Releases Β· nowarp/misti
Release 0.5.0
Added
SuspiciousMessageModedetector: PR #193SendInLoopdetector: PR #168CellOverflowdetector: PR #177UnboundMapdetector: Issue #50UnusedExpressionResultdetector: PR #190- Warning suppressions: PR #203
--list-detectorsCLI option: PR #192- Import Graph: PR #180
- Leverage
ImportGraphto 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
Fixed
- Return a successful exit code when Misti analysis does not generate any warnings
Release contributors
Release 0.4.1
Release 0.4.0
Added
OptimalMathFunctiondetector: Issue #146DuplicatedConditiondetector: Issue #147UnusedOptionaldetector: Issue #86EnsurePrgSeeddetector: Issue #151FalseConditiondetector: 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-colorsCLI 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/-moption 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 onlydumpcalls with non-literal arguments- Misti API to execute the driver programmatically
ArgCopyMutation: Report once per function: Issue #150ArgCopyMutation: 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
Fixed
NeverAccessedVariables: False positive: reported a map variable used in theforeachloop- Path to the compiled
main.jsin./bin/misti
Release 0.3.0
Added
- Supported Tact 1.5: Issue #33
StringReceiversOverlapdetector: PR #122AsmIsUseddetector: Issue #119PreferredStdlibApidetector: Issue #132InheritedStateMutationdetector: Issue #64ArgCopyMutationdetector: Issue #125- Allow running Misti without Souffle installation: Issue #45
- Add
index.tsin order to simplify writing custom detectors: PR #140 --dump-astCLI option--suppressCLI option: Issue #135--souffle-binaryCLI option to specify path to the Souffle executable--souffle-verboseCLI 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-detectorCLI option: PR #105 - A script to generate detectors documentation:
./scripts/generateDetectorDocs.ts - The
--detectorsCLI 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
enginesproperty inpackage.jsonand its strict checking to ensure minimal required Node.js version is 22 (follows-up changes in Tact)
Fixed
- Adjust option names in Config and JSONSchema
- Paths to custom detectors: Fix support for absolute paths and allow developers to specify the
.tsextension to ensure it works exactly as described in the documentation: https://nowarp.github.io/tools/misti/docs/next/hacking/custom-detector/ - Don't show nowarp.io documentation links for custom detectors: Issue #128
Release contributors
Special thanks
Release 0.2.1
Fixed
Changed
- Improve the internal Misti driver API used in tests and
blueprint-misti
Fixed
Release contributors
Release 0.2.0
Added
ConstantAddressdetector: PR #90BranchDuplicatedetector: Issue #87DumpIsUseddetector: Issue #100FieldDoubleInitdetector: Issue #97PreferAugmentedAssigndetector: Issue #78- An API to execute Misti from a string list of arguments needed to implement the Blueprint plugin
--dump-configCLI flag that dumps the Misti configuration file in use: PR #79- Naming convention to skip unused identifiers: PR #82
--all-detectorsCLI flag activates all the available built-in detectors, regardless of whether they are selected in the config
Changed
- IRBuilder: Mark nodes without successors as
Exitkind: PR #80 - Supported Tact 1.4.4
Fixed
- IRBuilder: Save trait definitions: PR #95
neverAccessedVariablesdoes not report write-only variables: Issue #101
Release contributors
Special thanks
For opening issues and making thoughtful suggestions we'd like to thank: