Journal

Blog

Release notes, technical articles, and product direction updates from SolverForge.

Releases

Release notes are grouped by product major/minor line. Patch releases are folded into the matching line note, such as 0.9.x, 0.10.x, or 2.0.x, instead of receiving separate posts.

solverforge 0.19.8: Three-Source Keyed Joins

solverforge 0.19.8 adds a third join source to keyed cross streams and the retained cross-tri incremental constraint that scores (A, B, C) rows, built on one arity-generic cross-join engine shared with the existing cross-bi constraint.

solverforge-cli 3.3.3: Score Rewrites and Demo-Data Resync

solverforge-cli 3.3.3 makes generate score rewrite every surface that carries the score type — constraint modules, the service, the DTO contract, lib.rs, and the MCP files — so a score change leaves a project that still compiles, and makes destroy resync the generated demo data so removed types do not stay behind in the seed.

solverforge-cli 3.3.2: Accessor-Wired Constraint Skeletons

solverforge-cli 3.3.2 streams generated constraint skeletons from the #[planning_solution] accessors, fixing the mid-solve "source Unknown cannot localize entity indexes" panic on the first solver-applied move, and aligns the bundled solverforge-modeling skill with the accessor-wired skeletons.

SolverForge Use Cases: Four Repository-Only Apps on the 0.19.7 Line

The solverforge-usecases bundle now ships eight runnable apps. Heat-treatment scheduling, warehouse order picking, fleet readiness, and flight-crew assignment join the four published use cases, all on solverforge 0.19.7 with solverforge-ui 0.9.0.

solverforge 0.19.6 and 0.19.7: Planning Pin Enforcement and One Version Surface

solverforge 0.19.6 adds the typed planning pin predicate and enforces pinned entities across construction, local search, exhaustive search, and list-owner dispatch, while skipping pin scanning for models without pins. solverforge 0.19.7 moves every workspace version surface under the release tooling.

SolverForge 0.19.x: One Sequence Model

SolverForge 0.19.x makes planning list variables the sole model for routes and ordered assignments, keeps the full list-shadow system, and leaves ordinary scalar search on direct single-slot mutation. Patch releases through 0.19.5 tighten mandatory construction, control, telemetry, cancellation, and assignment batching.

SolverForge 0.18.x: One Compiled Search Runtime

SolverForge 0.18.x compiles native and dynamic models into one immutable search graph, adds resolved selector policy and qualified candidate traces, and hardens retained lifecycle control.

SolverForge Python 0.6.x: One Compiled Runtime

SolverForge Python 0.6.x moves dynamic Python models onto the SolverForge compiled runtime, makes model metadata explicit, adds qualified retained candidate diagnostics, and aligns 0.6.6 with SolverForge 0.19.4 plus native scalar-domain enforcement.

SolverForge 0.17.x: CVRP Domain Profile

SolverForge 0.17.x adds the stock CVRP list-variable domain profile, hardens route-distance handling, and exposes dynamic construction primitives.

SolverForge 0.16.x: Route and Savings Hooks

SolverForge 0.16.0 publishes the route/savings hook split for list variables, completes unmatched Clarke-Wright routes, and ships the 0.16 workspace crate line on crates.io.

SolverForge 0.8.x: CLI and Runtime Convergence

SolverForge 0.7.0 through 0.8.2 bring CLI scaffolding, config-driven runtime, and a retained SolverManager lifecycle—one coherent toolchain from first install to production operations.

Planner123 1.0.x: Your Week, Optimized

Planner123 1.0.x is a personal task scheduler that models your week as a constraint satisfaction problem and solves it with SolverForge. Native Rust. Tauri desktop app. One binary.

Technical

How We Benchmark SolverForge

SolverForge benchmarks are built as reproducible engineering evidence: shared harness, explicit model parity, independent validation, scoped comparisons, and cataloged result artifacts.

Historical: From Quickstarts to Scaffolds

Archived transition note. The current SolverForge onboarding model is CLI-first: one neutral solverforge-cli project shell, generator-driven model growth, and scalar/list planning variables.

Public Means Public

In SolverForge, visibility is a contract enforced by the compiler. What's public is public. What's internal is internal. This will never change.

Essays