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 --force and inspect solverforge --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 the SnapshotAnalysisDisabled arm in its /jobs/{id}/analysis error mapping, because the runtime error enum is matched exhaustively.
  • Replace move_thread_count = { count = 0 } with "none" or a positive count; solverforge check reports it.