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.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.
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.3 with SolverForge 0.19.1 mandatory completion semantics.
SolverForge Python 0.5.x: Dynamic Lists, Route Hooks, and Embedded UI Assets
SolverForge Python 0.5.0 moves the source line onto the SolverForge 0.17.2 runtime line, adds route-aware planning-list support, expands grouped scalar construction, embeds shared UI assets, and adds the deliveries FastAPI demo.
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-ui 0.7.x: Framework-Neutral Embedded Assets
solverforge-ui 0.7.0 publishes framework-neutral embedded asset access while retaining the Axum routes adapter and stable /sf asset URLs.
SolverForge Python 0.4.x: Python Models on the Native SolverForge Engine
SolverForge Python 0.4.0 publishes the solverforge PyPI package for CPython 3.14, with Python model decorators, callback constraints, direct solves, retained jobs, and the hospital FastAPI example.
solverforge-cli 2.2.x: Current Runtime Scaffolds and Model Resources
solverforge-cli 2.2.1 retargets generated apps to solverforge 0.15.1 on the CI-green source line, while 2.2.0 remains the latest crates.io package until the next publish.
SolverForge 0.15.x: Directed Projected Joins, Dynamic Bridge, and Node Sharing
SolverForge 0.15.2 publishes directed projected self-joins on top of the 0.15 line's solverforge_constraints compiler boundary, dynamic bridge crate, list precedence hooks, richer assignment-backed scalar neighborhoods, and move-level runtime telemetry.
SolverForge 0.14.x: Complemented Cross-Join Groups and Metric-Class Routes
SolverForge 0.14.x publishes direct complemented cross-join grouping, fixes filtered keyed join retention, unifies owner-aware route hooks, and adds route metric classes for Clarke-Wright construction.
SolverForge 0.13.x: Streaming Defaults, Typed Search, and Explicit Scoring
SolverForge 0.13.x publishes streaming model-aware search defaults, typed custom search registration, match-shape collectors, direct cross-join grouping, and the explicit scoring terminal surface.
SolverForge 0.12.x: Assignment-Backed Scalar Construction
SolverForge 0.12.x publishes assignment-backed grouped scalar construction, consecutive run collectors, cleaner generated stream sources, and renamed direct runtime assembly contracts.
SolverForge 0.11.x: Clone-Free Projected Scoring and Facade Exports
SolverForge 0.11.x publishes clone-free projected scoring rows, joined-pair projection, borrowed constraint metadata, and facade-level configuration exports while keeping generated CLI scaffold targets explicit.
solverforge-maps 2.1.x: Matrix Route Distances
solverforge-maps 2.1.x stores same-path route distances next to travel-time matrix data for routing and delivery applications.
SolverForge 0.10.x: Coupled Scalar Search and Zero-Erasure Scoring
SolverForge 0.10.x publishes the grouped-scalar runtime line: atomic coupled scalar construction, conflict-directed repair, level-aware simulated annealing, and coordinate-stable projected scoring rows.
solverforge-ui 0.6.x: Retained Job UI, Maps, and Scheduling Views
solverforge-ui 0.6.x carries the retained job frontend contract, map helper fixes, exact rail timeline geometry, current dependency baseline, and create-job identifier normalization.
SolverForge 0.9.x: Manifest-Owned Models and Runtime Tightening
SolverForge 0.9.x makes the scalar/list architecture explicit: planning_model! is the canonical model manifest, scalar metadata is descriptor-addressed, and the patch line tightens scoring and local search.
solverforge-cli 2.0.x: One Entry Point and Explicit Scaffold Targets
solverforge-cli 2.0.x introduced the one neutral scaffold entry point, generator-driven model growth, and explicit scaffold-target reporting for the CLI-owned runtime, UI, and maps targets.
solverforge-cli 1.1.x: Stabilized Scaffolding for the Converged Runtime
solverforge-cli 1.1.x polishes the CLI/runtime integration introduced in SolverForge 0.8.x, with aligned scaffold targets and improved test reliability for the retained lifecycle workflow.
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.
SolverForge 0.6.x: Scaffolding and Codegen
SolverForge 0.6.x is now available with first-class project scaffolding and generated domain accessors for cleaner constraint code.
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.
solverforge-maps 1.0.x: Routing Infrastructure for VRP Solvers
solverforge-maps 1.0.x provides zero-erasure road network and routing infrastructure for VRP solvers, with OSM data, R-tree indexing, and 3-tier caching.
SolverForge 0.5.x: Zero-Erasure Constraint Solving
Introducing the SolverForge 0.5.x line: a general-purpose constraint solver written in native Rust with zero-erasure architecture and the SERIO incremental scoring engine.
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.
The Current SolverForge Architecture: CLI-First, Rust-Native, Explicit
SolverForge's current architecture is CLI-first without being opaque: one neutral project shell, generator-driven model growth, scalar and list planning variables, retained jobs, and explicit Rust code.
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.
Historical: How We Built Quickstart Frontends with jQuery
Archived context for the old quickstart frontend architecture. Current SolverForge apps are generated by solverforge-cli and compose solverforge-ui.
Why Java Interop is Difficult in SolverForge Core
Reflections on the challenges of bridging Rust and Java in constraint solving, and the hard lessons learned along the way.
Order Picking Quickstart: JPype Bridge Overhead in Constraint Solving
Building an order picking quickstart with real-time 3D visualization deepened our understanding of JPype's performance characteristics in constraint-heavy workloads.
Dataclasses vs Pydantic in Constraint Solvers
Architectural guidance for Python constraint solvers: when to use dataclasses vs Pydantic for optimal performance.
Essays
Historical: Rust Constraint Solving Notes from the 0.5.0 Era
Archived context for early SolverForge design thinking. The current architecture is CLI-first, Rust-native, and centered on the current SolverForge runtime.