Repository navigation
Releases
v0.5.0
makevn v0.5.0
Focused verification, backed by your project's test evidence
Large Maven projects make it hard to know which tests belong to a change. v0.5.0 helps makevn answer that question with a project-specific test impact map: it starts with static analysis and can learn from real test runs, then helps select relevant tests across modules. Preview the scope and see when the available evidence calls for a broader run, so each result is clear about what it covers.
Highlights
- Start with an automatically initialized test impact map and resume maps as your project gathers more evidence.
- Select tests across Maven reactor modules, including nested and generated source roots, with previews that explain scope and fallbacks.
- Keep focused-run coverage clear: choose to defer the global JaCoCo failure for explicit focused runs while still surfacing available coverage evidence.
- Resolve Maven settings secrets from native operating-system stores at command time, keeping values out of project configuration.
- Get clearer Compose discovery diagnostics and MCP support for installing the CRAP analyzer.
Full changelog and contributors
What's Changed
Dependencies
- chore(deps): bump ruby/setup-ruby from 1.334.0 to 1.335.0 by @dependabot[bot] in #185
Other changes
- chore: sync main into develop by @antonillos-vulcan-protocol[bot] in #182
- fix(changes): support focused checks for single-module roots by @antonillos in #184
- fix: clarify focused scope and incomplete coverage evidence by @antonillos in #186
- feat: select focused tests from isolated impact evidence by @antonillos in #187
- feat: initialize and resume project test-impact maps by @antonillos in #188
- feat: defer global JaCoCo failure in explicit focused runs by @antonillos in #189
- feat(test-impact): support optional skipped tests by @antonillos in #190
- feat(test-impact): build static maps and enrich during real tests by @antonillos in #191
- feat(init): initialize static test impact automatically by @antonillos in #192
- feat(test-impact): support static selection across reactor modules by @antonillos in #193
- feat(test-impact): scope filters and group fallback diagnostics by @antonillos in #194
- fix: report unresolved JDK from tool-versions by @antonillos in #195
- fix: recover worktree verification and shared fixture planning by @antonillos in #196
- feat(changes): clarify JaCoCo readiness and missing data by @antonillos in #197
- fix(changes): find nested reports and skip test helpers by @antonillos in #198
- fix(changes): run coverage tool from wrapper project root by @antonillos in #199
- fix(agent): back up edited managed skills on install by @antonillos in #200
- feat(mcp): expose CRAP analyzer installation by @antonillos in #202
- fix(agent): omit metrics when JaCoCo is unavailable by @antonillos in #201
- fix: disable build cache for selected tests by @antonillos in #203
- feat(test-impact): preview exhaustive scope for extra source roots by @antonillos in #204
- fix(impact): map inherited generated roots to child suites by @antonillos in #205
- fix(impact): resolve generated roots below nested aggregators by @antonillos in #206
- fix(impact): report available module scope in preview by @antonillos in #207
- fix(docker): improve Compose discovery and diagnostics by @antonillos in #208
- docs(product-test): keep campaign artifacts in .makevn by @antonillos in #210
- feat(maven): resolve settings secrets from native stores by @antonillos in #209
- chore: promote develop to main by @antonillos-vulcan-protocol[bot] in #211
- release: bump to 0.5.0 by @antonillos-vulcan-protocol[bot] in #213
Full Changelog: v0.4.0...v0.5.0
Installation
Install or upgrade makevn — Homebrew, asdf, release installer, and MCP setup.
Assets
- Runtime archives: Linux x86_64, macOS x86_64, and macOS arm64
- Source archive
- SHA-256 checksums for each archive
v0.4.0
makevn v0.4.0
Better project detection, Testcontainers and optional Compose
This release helps makevn adapt to real Maven repositories with fewer manual workarounds. It improves JDK and Maven compatibility checks, connects Testcontainers tests to local Docker contexts, and lets projects opt out of Compose when discovered files are only examples or optional services.
Highlights
- Discover Java requirements from local Maven Enforcer rules, resolve referenced properties from published parent POMs, and ask which installed JDK to use when several are compatible.
- Find the outer Maven reactor, preserve tool pins and wrappers, and validate the selected Maven version before running build goals.
- Forward supported local Docker context endpoints to Testcontainers tests and map conventional Colima sockets correctly for Ryuk.
- Choose
nonefor boot or E2E Compose setup, select an explicit file path, or override the choice per command with--compose-file PATH|none. - Avoid unnecessary HTTP-health questions for console programs and libraries, and report declared Checkstyle support more accurately.
- Select agent integrations and resolved symlink destinations during interactive upgrades while preserving the links.
- Use the new
makevn-product-testskill to validate MakeVN against real repositories with reproducible reports and explicit failure classifications. - Get consistent generated-source cleanup guidance and preserve failed-command status in repository sweep reports.
Full changelog and contributors
What's Changed
Other changes
- chore: sync main into develop by @antonillos-vulcan-protocol[bot] in #166
- fix(jdk): resolve Enforcer requirements and ask for JDK choices by @antonillos in #168
- fix(jdk): ignore unrelated Enforcer skip properties by @antonillos in #169
- fix(agent): ask which integration and link target to upgrade by @antonillos in #170
- fix(maven): detect reactor roots and validate Maven versions by @antonillos in #171
- fix(maven): resolve command properties during version checks by @antonillos in #172
- fix(mcp): align generated-source cleanup guidance by @antonillos in #173
- feat(testcontainers): support local Docker contexts for tests by @antonillos in #174
- fix(jdk): resolve properties from published parent POMs by @antonillos in #175
- fix(testcontainers): map the Colima socket for Ryuk by @antonillos in #176
- feat(skills): add reproducible MakeVN product testing by @antonillos in #177
- fix(doctor): avoid HTTP health setup for console programs by @antonillos in #178
- fix: detect Checkstyle and preserve sweep command failures by @antonillos in #179
- feat: support optional Compose and per-command file selection by @antonillos in #180
- chore: promote develop to main by @antonillos-vulcan-protocol[bot] in #181
- release: bump to 0.4.0 by @antonillos-vulcan-protocol[bot] in #183
Full Changelog: v0.3.0...v0.4.0
Installation
Install or upgrade makevn — Homebrew, asdf, release installer, and MCP setup.
Assets
- Runtime archives: Linux x86_64, macOS x86_64, and macOS arm64
- Source archive
- SHA-256 checksums for each archive
v0.3.0
makevn v0.3.0
Portable agent skills and safer service startup
This release makes agent workflows easier to install, maintain and follow. Portable skills explain setup and recovery, existing integrations can be upgraded, and routine Docker startup preserves service data.
Breaking change: Docker startup no longer resets data
makevn docker-up and makevn karate-docker-up now start services without first deleting their volumes. The matching down commands also retain volumes, and lifecycle operations no longer prune unused volumes globally.
If a workflow requires fresh service data, explicitly use makevn docker-reset or makevn karate-docker-reset. These commands remove the selected Compose project's volumes before restarting; agents must obtain authorization for that data deletion. Use named volumes for data that must be reattached after a later startup.
Highlights
- Register portable workflow skills alongside MCP for Codex and OpenCode.
- Refresh existing skills and MCP registrations with
makevn agent upgrade. - Follow clearer MCP doctor setup and recovery guidance, with more concise JVM and bind-mount diagnostics.
- Clean up completed MCP executions and private logs after a default retention of three days, with configurable retention and a dry-run cleanup command.
- Read a consistent help layout and terminal colors across CLI commands.
Full changelog and contributors
What's Changed
Dependencies
- chore(deps): bump ruby/setup-ruby from 1.329.0 to 1.334.0 by @dependabot[bot] in #161
- chore(deps): bump libc from 0.2.190 to 0.2.191 in /rust/dispatcher by @dependabot[bot] in #162
- chore(deps): bump toml_edit from 0.25.15+spec-1.1.0 to 0.25.17+spec-1.1.0 in /rust/dispatcher by @dependabot[bot] in #163
Other changes
- chore: sync main into develop by @antonillos-vulcan-protocol[bot] in #153
- feat(agents): register portable skills and document workflows by @antonillos in #155
- fix(doctor): summarize JVM and bind mount diagnostics by @antonillos in #156
- fix(agents): guide MCP doctor setup and recovery by @antonillos in #157
- fix(docker)!: separate startup from destructive reset by @antonillos in #158
- feat(execution): add retention and cleanup for completed runs by @antonillos in #159
- feat(agent): upgrade existing skills and MCP integration by @antonillos in #160
- feat(cli): unify help layout and terminal colors by @antonillos in #164
- chore: promote develop to main by @antonillos-vulcan-protocol[bot] in #165
- release: bump to 0.3.0 by @antonillos-vulcan-protocol[bot] in #167
Full Changelog: v0.2.1...v0.3.0
Installation
Install or upgrade makevn — Homebrew, asdf, release installer, and MCP setup.
Assets
- Runtime archives: Linux x86_64, macOS x86_64, and macOS arm64
- Source archive
- SHA-256 checksums for each archive
v0.2.1
makevn v0.2.1
Complete project setup inside your agent chat
Agents can now collect missing repository settings in conversation and save them through MCP. Doctor exposes the questions that still need answers, allowing setup to continue without handing the user off to an interactive terminal.
Highlights
- Answer Compose selection, local-container, application-health and Karate-profile questions through MCP
doctor_configure. - Save partial answers and continue with the remaining questions; invalid or stale submissions preserve existing settings.
- Protect configuration updates from concurrent setup sessions.
- Recognize exhaustive changed-code scope as a valid analysis outcome when focused selection is unavailable.
- Keep agent Docker operations within MakeVN's supported commands and diagnostics.
Full changelog and contributors
What's Changed
Dependencies
- chore(deps): bump ruby/setup-ruby from 1.327.0 to 1.329.0 by @dependabot[bot] in #146
- chore(deps): bump serde_json from 1.0.151 to 1.0.154 in /rust/dispatcher by @dependabot[bot] in #147
- chore(deps): bump actions/create-github-app-token from 3.2.0 to 3.3.0 by @dependabot[bot] in #148
Other changes
- chore: sync main into develop by @antonillos-vulcan-protocol[bot] in #144
- feat(mcp): complete doctor setup through agent questions by @antonillos in #149
- fix(agents): require MakeVN for all Docker operations by @antonillos in #150
- fix(preview): report exhaustive scope as an analysis outcome by @antonillos in #151
- chore: promote develop to main by @antonillos-vulcan-protocol[bot] in #152
- release: bump to 0.2.1 by @antonillos-vulcan-protocol[bot] in #154
Full Changelog: v0.2.0...v0.2.1
Installation
Install or upgrade makevn — Homebrew, asdf, release installer, and MCP setup.
Assets
- Runtime archives: Linux x86_64, macOS x86_64, and macOS arm64
- Source archive
- SHA-256 checksums for each archive
v0.2.0
makevn v0.2.0
Inspect and cancel running MCP workflows
Long-running verification no longer prevents an MCP client from checking progress or requesting cancellation. This release adds execution tracking and supervision so agents can follow their work, preserve diagnostics, and stop the processes they own.
Highlights
- List executions and inspect their status through MCP while a verification is running.
- Cancel session-owned executions and their supervised child processes, retaining logs and execution records.
- Reject conflicting workflows before they start, including conflicts across MCP servers using the same worktree.
- Keep doctor and changed-code preview responsive during execution.
- Get clearer guidance for Docker readiness and changed-code validation before starting tests.
Full changelog and contributors
What's Changed
Dependencies
- chore(deps): bump signal-hook from 0.4.4 to 0.4.5 in /rust/dispatcher by @dependabot[bot] in #135
- chore(deps): bump libc from 0.2.189 to 0.2.190 in /rust/dispatcher by @dependabot[bot] in #137
- chore(deps): bump actions/download-artifact from 8.0.1 to 8.0.2 by @dependabot[bot] in #136
- chore(deps): bump actions/upload-artifact from 7.0.1 to 7.0.2 by @dependabot[bot] in #138
Other changes
- chore: sync main into develop by @antonillos-vulcan-protocol[bot] in #139
- fix(mcp): guide Docker readiness and changed-code validation by @antonillos in #141
- feat(mcp): track and cancel owned executions by @antonillos in #142
- chore: promote develop to main by @antonillos-vulcan-protocol[bot] in #143
- release: bump to 0.2.0 by @antonillos-vulcan-protocol[bot] in #145
Full Changelog: v0.1.16...v0.2.0
Installation
Install or upgrade makevn — Homebrew, asdf, release installer, and MCP setup.
Assets
- Runtime archives: Linux x86_64, macOS x86_64, and macOS arm64
- Source archive
- SHA-256 checksums for each archive
v0.1.16
makevn v0.1.16
Focused verification with clearer evidence
This release improves how makevn selects tests for changed code, checks the freshness of coverage evidence, and explains verification results. Setup respects repository tool choices more closely, while CLI and MCP diagnostics make failures easier to investigate.
Highlights
- Discover change impact across Maven reactor modules and shared test resources, selecting broader suites when a narrower scope cannot be established.
- Coordinate focused tests, coverage and CRAP checks with fresh evidence from the prepared build inputs.
- Honor repository-pinned Maven installations and exclude experimental JDKs from automatic selection.
- Read consistent structured MCP results, with command traces available only when explicitly requested.
- Follow verification phases and telemetry in the dashboard, switch log tailing on and off, and see cancellation reported clearly.
- Get Docker recovery advice that reflects the detected runtime, while optional formatter diagnostics preserve the original test failure.
Full changelog and contributors
What's Changed
Dependencies
- chore(deps): bump ruby/setup-ruby from 1.326.0 to 1.327.0 by @dependabot[bot] in #115
Other changes
- chore: sync main into develop by @antonillos-vulcan-protocol[bot] in #113
- fix: clarify init guidance for unsupported repositories by @antonillos in #116
- fix: preserve test failures during optional formatter diagnostics by @antonillos in #117
- fix: exclude experimental JDKs from automatic selection by @antonillos in #118
- fix: honor repository-pinned Maven installations by @antonillos in #119
- fix(tui): highlight active actions in yellow by @antonillos in #120
- fix(mcp): make execution trace metadata opt-in by @antonillos in #121
- fix(mcp): preserve caller trace across config loading by @antonillos in #122
- fix(mcp): hide redundant success timings without trace by @antonillos in #123
- ci(release): adopt shared Vulcan Protocol identity and align workflow validation by @antonillos in #124
- feat(mcp): standardize Structured Tool Output by @antonillos in #125
- fix(mcp): actionable doctor nextSuggestion by @antonillos in #126
- ci: add Prepare Promotion from safeselect by @antonillos in #127
- docs(demo): refresh CLI and MCP recordings by @antonillos in #128
- feat: coordinate focused validation and harden doctor/MCP workflows by @antonillos in #129
- fix(tui): telemetry footer and reversible live tail by @antonillos in #130
- fix(docker): runtime-aware recovery hints in logs and failure summaries by @antonillos in #131
- fix: harden focused verification, coverage and dashboard diagnostics by @antonillos in #132
- feat: automate focused impact, secure evidence and refine verification UX by @antonillos in #133
- chore: promote develop to main by @antonillos-vulcan-protocol[bot] in #134
- release: bump to 0.1.16 by @antonillos-vulcan-protocol[bot] in #140
Full Changelog: v0.1.15...v0.1.16
Installation
Install or upgrade makevn — Homebrew, asdf, release installer, and MCP setup.
Assets
- Runtime archives: Linux x86_64, macOS x86_64, and macOS arm64
- Source archive
- SHA-256 checksums for each archive
v0.1.15
makevn v0.1.15
Reliable test execution on macOS Bash
This patch release fixes test-command compatibility with Bash 3.2, the shell shipped with macOS, so empty argument arrays no longer interrupt test execution.
Highlights
- Run test commands with Bash 3.2 without failures caused by empty arrays.
- Keep the same CLI and MCP workflows when using the system shell on macOS.
Full changelog and contributors
What's Changed
Other changes
- chore: sync main into develop by @makevn-release[bot] in #109
- fix: Bash 3.2 empty array compatibility in test by @antonillos in #111
- chore: promote Bash 3.2 compatibility fix for v0.1.15 by @antonillos in #112
- release: bump to 0.1.15 by @makevn-release[bot] in #114
Full Changelog: v0.1.14...v0.1.15
Installation
Install or upgrade makevn — Homebrew, asdf, release installer, and MCP setup.
Assets
- Runtime archives: Linux x86_64, macOS x86_64, and macOS arm64
- Source archive
- SHA-256 checksums for each archive
v0.1.14
makevn v0.1.14
Clearer setup, steadier feedback
This release makes it easier to know what your project needs before running a workflow—and to follow what is happening while it runs. Setup advice is more explicit, the live dashboard stays visible between commands, and Docker phases show resource usage for your project’s containers.
Breaking change: Make integration removed
makevn now runs exclusively through its CLI and MCP tools. Existing Makefiles are left untouched, but old makevn includes and generated artifacts must be removed manually; there is no automatic migration.
Makefile variables no longer configure makevn. Move container settings to .makevn/config or explicitly export LOCAL_CONTAINERS.
Highlights
- Get concise, noninteractive setup advice with
makevn doctor --compact, including when initialization needs refreshing. - Follow multi-command workflows without losing the live dashboard between steps.
- See CPU and memory usage for your project’s containers during Docker phases.
- Start Karate tests only after the application responds successfully at its health endpoint.
- Get actionable formatter-recovery guidance when formatting blocks a test run.
Full changelog and contributors
What's Changed
Other changes
- chore: sync main into develop by @makevn-release[bot] in #98
- feat(release): automate changelog and editorial highlights by @antonillos in #100
- fix: require HTTP readiness before Karate lifecycle by @antonillos in #101
- ci: migrate ARM64 release runner to macos-15 by @antonillos in #102
- feat(doctor): compact setup advice and dated build tracking by @antonillos in #103
- feat!: remove Make integration without migration by @antonillos in #104
- fix(tui): preserve live dashboard between commands by @antonillos in #105
- feat(tui): sample project containers during Docker phases by @antonillos in #106
- fix(test): recommend formatter recovery for AI agents by @antonillos in #107
- chore(release): develop -> main by @antonillos in #108
- release: bump to 0.1.14 by @makevn-release[bot] in #110
Full Changelog: v0.1.13...v0.1.14
Installation
Install or upgrade makevn — Homebrew, asdf, release installer, and MCP setup.
Assets
- Runtime archives: Linux x86_64, macOS x86_64, and macOS arm64
- Source archive
- SHA-256 checksums for each archive
v0.1.13
makevn v0.1.13
Better runtime discovery and actionable recovery
This release improves asdf Java discovery, nested Maven-wrapper execution, and the guidance shown when Docker prerequisites fail.
Breaking change: generic exec removed
makevn exec and its MCP tool are removed. Migrate to dedicated makevn commands for supported workflows, and use normal terminal tools for other operations.
Highlights
- Discovers asdf-managed Java runtimes and aligns the runtime context reported to users.
- Runs nested Maven wrappers from their own project directory.
- Suggests Docker recovery steps when verification cannot proceed.
- Reduces internal Rust and Bash CRAP warnings and separates dispatcher unit tests from production modules.
Full changelog and contributors
What's Changed
- chore: sync main into develop by @makevn-release[bot] in #75
- ci: test Ubuntu 26.04 runners across workflows by @antonillos in #76
- test: reduce CRAP warnings below 100 by @antonillos in #77
- test: reduce CRAP warnings to 93 by @antonillos in #78
- refactor(dispatcher): move inline unit tests to separate modules by @antonillos in #79
- chore: sync main into develop by @makevn-release[bot] in #80
- docs: require explicit approval for PRs targeting main by @antonillos in #81
- refactor: lower resource sampler CRAP and relocate unit tests by @antonillos in #82
- ci: merge with release App to trigger downstream workflows by @antonillos in #83
- test: reduce MCP tool dispatch CRAP with focused coverage by @antonillos in #84
- test: isolate MCP fake executable per test run by @antonillos in #85
- refactor: lower JSONC comment parser CRAP by @antonillos in #86
- ci: update Pages actions for Node 24 by @antonillos in #87
- test: reduce dispatcher CRAP to 80 or fewer warnings by @antonillos in #88
- fix: ignore already-deleted Smart Merge head branch by @antonillos in #90
- fix: run nested Maven wrapper from its project directory by @antonillos in #91
- chore(deps): bump ruby/setup-ruby from 1.324.0 to 1.326.0 by @dependabot[bot] in #89
- fix(dispatcher): suggest Docker recovery steps by @antonillos in #92
- refactor(dispatcher): reduce Rust CRAP warnings by ten by @antonillos in #93
- refactor(backend): reduce Bash CRAP warnings by ten by @antonillos in #94
- fix(jdk): discover asdf runtimes and align context reporting by @antonillos in #95
- refactor(cli)!: remove generic exec command and MCP tool by @antonillos in #96
- chore(release): develop -> main by @antonillos in #97
- release: bump to 0.1.13 by @makevn-release[bot] in #99
Full Changelog: v0.1.12...v0.1.13
Installation
Install or upgrade makevn — Homebrew, asdf, release installer, and MCP setup.
Assets
- Runtime archives: Linux x86_64, macOS x86_64, and macOS arm64
- Source archive
- SHA-256 checksums for each archive
v0.1.12
makevn v0.1.12
Find risky Java methods, not just uncovered lines
CRAP analysis combines complexity and coverage to help focus attention on Java methods that are harder to change safely.
Highlights
- Adds Java CRAP analysis through
makevn crapand changed-method reporting throughmakevn crap-changes. - Supports JaCoCo HTML input as well as the existing coverage-report workflow.
- Introduces an internal Rust/Bash CRAP ratchet to prevent increases in the project's warning budget.
- Hardens release workflows and updates release documentation.
Full changelog and contributors
What's Changed
- chore: sync main into develop by @makevn-release[bot] in #66
- fix(ci): avoid duplicate commit policy runs by @antonillos in #67
- ci: harden release workflows and documentation by @antonillos in #68
- chore(deps): bump actions/github-script from d746ffe35508b1917358783b479e04febd2b8f71 to 3a2844b7e9c422d3c10d287c895573f7108da1b3 by @dependabot[bot] in #69
- feat(crap): add Java analyzer and internal ratchet by @antonillos in #70
- feat(crap): report changed Java methods by @antonillos in #71
- feat(crap): support JaCoCo HTML and changed methods by @antonillos in #72
- chore(release): promote develop to main by @antonillos in #73
- release: bump to 0.1.12 by @makevn-release[bot] in #74
Full Changelog: v0.1.11...v0.1.12
Installation
Install or upgrade makevn — Homebrew, asdf, release installer, and MCP setup.
Assets
- Runtime archives: Linux x86_64, macOS x86_64, and macOS arm64
- Source archive
- SHA-256 checksums for each archive