Skip to content

2.0.1 - 2026-02-10

Choose a tag to compare

@github-actions github-actions released this 10 Feb 21:12
v2.0.1
9f1a48a

Release Notes

Changed

  • BREAKING: Major architectural overhaul - muton now imports and uses mewt as its core library
    • All core mutation testing logic moved to mewt
    • Muton now focuses solely on supporting TON-specific languages and grammar integration
  • BREAKING: Configuration system overhauled with unified CLI/file symmetry (from mewt)
    • Configuration now uses dotted notation for CLI flags (e.g., --log.level, --test.cmd, --test.timeout)
    • Config file structure reorganized with nested sections ([log], [targets], [run], [test])
    • Added support for per-target test rules via [[test.per_target]] array in config file
    • CLI overrides now replace (not merge) config file values
  • BREAKING: Removed environment variable configuration support
    • Previously supported variables (MUTON_LOG_LEVEL, MUTON_DB, MUTON_TEST_CMD, etc.) are no longer recognized
  • BREAKING: Removed muton print results command
    • Use muton results instead

Added

  • muton status command for campaign overview with per-file breakdown and aggregates
    • --format option: "table" (default) or "json"
  • muton results command with enhanced filtering
    • Filtering options: --status, --language, --mutation_type, --line, --file
    • SARIF output format support (--format sarif)
    • JSON and "ids" output formats
  • muton test --ids-file option to read mutant IDs from file or stdin (use - for stdin)
  • muton print config command to display the effective configuration
  • JSON output format support for multiple commands:
    • muton print mutations --format json
    • muton print targets --format json
    • muton print mutants --format json
  • Enhanced filtering for print results, print mutants, and results commands:
    • --status: Filter by outcome status (Uncaught, TestFail, Skipped, Timeout)
    • --language: Filter by programming language
    • --mutation_type: Filter by mutation slug (e.g., ER, CR, BR)
    • --line: Filter by line number
    • --file: Filter by file path (substring match)
  • muton print mutants filtering options:
    • --tested: Show only mutants with test outcomes
    • --untested: Show only mutants without test outcomes
    • --format ids: Output just mutant IDs, one per line

Fixed

  • Percentage complete display in status command campaign summary
  • Status filtering is now case-insensitive for --status flag

Removed

  • BuildFail outcome status (simplified outcome types)

Install muton 2.0.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/trailofbits/muton/releases/download/v2.0.1/muton-installer.sh | sh

Install prebuilt binaries into your npm project

npm install @trailofbits/muton@2.0.1

Download muton 2.0.1

File Platform Checksum
muton-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
muton-x86_64-pc-windows-msvc.zip x64 Windows checksum
muton-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum