releases
solverforge-cli 3.9.x: SolverForge 0.25.0
solverforge-cli 3.9.0 targets SolverForge 0.25.0. Generated apps handle disabled snapshot analysis, solver.toml validation matches the runtime's move_thread_count rules, and the scaffold documents the automatic parallel-evaluation default.
solverforge-cli 3.9.0 was published on November 9, 2026, following
3.8.3, which scaffolds solverforge 0.24.0. The 3.9.x packages target
solverforge 0.25.0; the web shell keeps solverforge-ui 0.9.1 and
solverforge-maps 2.3.3, and the MCP shell keeps rmcp 3.9.0. Existing
applications keep their own manifests and generated source.
What Changed
Fresh scaffolds target SolverForge 0.25.0
New projects pin solverforge 0.25.0. The generated solver.toml still
declares only seconds_spent_limit = 30, which means the same thing on 0.25.0:
the solve stops after 30 seconds, and no other limit is added.
Disabled snapshot analysis has a response
SolverManager::analyze_snapshot returns
SolverManagerError::SnapshotAnalysisDisabled for a job that ran with
score_director.constraint_match_enabled = false. The web and API shells
answer /jobs/{id}/analysis for such a job with 409 Conflict, and the MCP
shell reports it as invalid params. The generated solver.toml declares no
[score_director] table, so analysis stays enabled.
move_thread_count validation and comments follow the runtime
solverforge check and solverforge config set accept move_thread_count as
"auto", "none", or { count = N } with N of at least 1; { count = 0 }
is rejected, as the runtime rejects it. The commented block in the generated
solver.toml describes the runtime default: "auto" uses up to four
evaluators and runs each step sequentially or in parallel windows, whichever
its measurements say is faster, while "none" stays sequential.
Published Version Boundaries
| Surface | Version | Role |
|---|---|---|
| CLI | solverforge-cli 3.9.0 |
Fresh scaffolds target solverforge 0.25.0 |
| Runtime | solverforge 0.25.0 |
See the 0.25.x release note |
| Web UI | solverforge-ui 0.9.1 |
Web shell only |
| Maps | solverforge-maps 2.3.3 |
Web shell only |
| MCP SDK | rmcp 3.9.0 |
MCP shell only |
| Previous CLI line | solverforge-cli 3.8.3 |
Scaffolds solverforge 0.24.0; see the 3.8.x release note |
The GitHub Release
was published at 2026-11-09T04:04:45Z, and crates.io records the package at
2026-11-09T04:08:12Z. On the tag commit f33d836f, the
CI run
passed on Linux, macOS, and Windows plus the integration tests, and the
Publish
and Release
workflows succeeded.
Patch History
| Version | Date | Notes |
|---|---|---|
3.9.0 |
2026-11-09 | Targets solverforge 0.25.0; /jobs/{id}/analysis answers 409 when analysis is disabled; move_thread_count = { count = 0 } rejected; scaffold comments describe the auto default. Exact-commit CI passed. |
Upgrade Checklist
- Install with
cargo install solverforge-cli --version 3.9.0 --locked --forceand inspectsolverforge --version. - Upgrading the CLI does not change existing apps. To move an app to
solverforge 0.25.0, follow the core release note’s checklist; an app generated by 3.8.x also needs theSnapshotAnalysisDisabledarm in its/jobs/{id}/analysiserror mapping, because the runtime error enum is matched exhaustively. - Replace
move_thread_count = { count = 0 }with"none"or a positive count;solverforge checkreports it.