Skip to content

Commit a259b7c

Browse files
committed
update CHANGELOG.md and increment version to 3.0.0 (#16)
1 parent 95d2aa2 commit a259b7c

5 files changed

Lines changed: 41 additions & 2 deletions

File tree

.github/workflows/release.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,9 +288,14 @@ jobs:
288288
plan: ${{ needs.plan.outputs.val }}
289289
secrets: inherit
290290
# publish jobs get escalated permissions
291+
# NOTE: contents:read is manually added and not in the cargo-dist template.
292+
# If you regenerate this file with 'dist init', re-add it — without it the
293+
# reusable workflow's checkout step fails (job grants contents:none, but
294+
# publish-crates-io.yml declares contents:read which GitHub then rejects).
291295
permissions:
292296
"id-token": "write"
293297
"packages": "write"
298+
"contents": "read"
294299

295300
announce:
296301
needs:

CHANGELOG.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,38 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## Unreleased
99

10+
## 3.0.0 - 2026-03-24
11+
12+
### Added
13+
- `--severity` filter for `print mutants` and `results` commands (comma-separated: `high`, `medium`, `low`)
14+
- `--mutation_type` now accepts comma-separated values for multi-type filtering
15+
- Glob pattern support for all target path arguments (e.g., `**/*.rs`, `src/**/*.go`)
16+
- `mewt purge --all` flag to purge every target in the database regardless of config rules
17+
- `mewt mutate --verbose` flag to restore detailed per-mutant output during mutation generation
18+
- `mewt print targets` now shows a rich table with columns: in_db, on_disk, included, hash, path, mutants
19+
20+
### Changed
21+
- **BREAKING**: Global `--cwd` flag replaced with `--config`
22+
- Pass a path to the config file; the directory containing it becomes the working directory
23+
- Relative paths in the config are resolved from the config file's location
24+
- **BREAKING**: `mewt purge` default behavior changed
25+
- Without `--target`, now purges targets absent from `[targets].include` or present in `[targets].ignore` (previously purged all targets)
26+
- Use `mewt purge --all` to purge every target unconditionally
27+
- **BREAKING**: `mewt mutate` is quiet by default, showing per-target summaries instead of per-mutant lines
28+
- Use `--verbose` to restore the previous detailed output
29+
- **BREAKING**: `LanguageEngine` trait simplified
30+
- `tree_sitter_language() -> TsLanguage` removed
31+
- `apply_all_mutations(&self, target: &Target) -> Vec<Mutant>` renamed to `mutate`
32+
- `get_all_slugs()` and `get_severity_by_slug()` default methods removed (derive from `get_mutations()` directly)
33+
- Target CLI argument for `run` and `mutate` is now optional; falls back to `[targets].include` from config
34+
- Targets are sorted consistently across all commands (`run`, `mutate`, `print`, `results`, `status`)
35+
36+
### Fixed
37+
- Improved grammar caches for faster repeated runs
38+
- Improved monorepo support for vendored tree-sitter grammars
39+
- Security dependency updates: `rsa` (0.9.8 → 0.9.10), `bytes` (1.10.1 → 1.11.1)
40+
- Dependency updates: `tree-sitter` (0.25.8 → 0.25.10), `toml` (0.8.23 → 0.9.6)
41+
1042
## 2.0.1 - 2026-02-05
1143

1244
### Changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mewt"
3-
version = "2.0.1"
3+
version = "3.0.0"
44
edition = "2024"
55
description = "Mutation testing framework with multi-language support"
66
authors = ["Bo Henderson <bo.henderson@trailofbits.com>"]

dist-workspace.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,7 @@ targets = ["aarch64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-window
1515
install-path = "CARGO_HOME"
1616
# Whether to install an updater program
1717
install-updater = false
18+
# Don't fail if the generated CI file has been manually edited
19+
allow-dirty = ["ci"]
1820
# Publish jobs to run in CI
1921
publish-jobs = ["./publish-crates-io"]

0 commit comments

Comments
 (0)