Repository navigation
What's Changed
- perf(solver): faster ruin, nearby list-change and K-opt selectors; per-case gate binaries by @blackopsrepl in #110
- feat(solver)!: apply real-time problem changes during a running solve by @blackopsrepl in #111
- feat(scoring)!: runtime constraint weight multipliers by @blackopsrepl in #112
- ci(release): publish only commits that pass CI; pin the toolchain by @blackopsrepl in #113
- ci(release): log skipped crates on release re-runs; prove failed uploads fail the job by @blackopsrepl in #114
- test(macros): delete never-compiled pass fixtures and reject orphan cases by @blackopsrepl in #115
- fix(macros): pass the user's struct through the model attributes unchanged by @blackopsrepl in #116
- fix(macros): report invalid planning_solution paths as spanned errors by @blackopsrepl in #117
- refactor(config)!: remove YAML solver configuration by @blackopsrepl in #118
- fix(config)!: reject unknown keys in solver configuration by @blackopsrepl in #119
- fix(solver)!: reject invalid acceptor values before solving, without panics by @blackopsrepl in #120
- fix!: stop reading solver.toml from the working directory by @blackopsrepl in #121
- fix(facade)!: make verbose-logging enable console; delete the empty decimal feature by @blackopsrepl in #122
- ci: remove PyO3 leftovers and the duplicate test job by @blackopsrepl in #123
- ci: check the declared MSRV, rustdoc warnings and packaging on every push by @blackopsrepl in #124
- feat(core): serialize BendableScore under the serde feature by @blackopsrepl in #125
- fix(core): parse and print HardSoftDecimalScore with exact fixed-point arithmetic by @blackopsrepl in #126
- fix(core,scoring)!: panic on score arithmetic overflow instead of wrapping by @blackopsrepl in #128
- docs: name the real hooks and exports, and check documented type names by @blackopsrepl in #129
- docs: restore crate-level docs and a compiling facade Quick Start by @blackopsrepl in #130
- fix(cvrp)!: return Option<&ProblemData> from VrpSolution instead of a raw pointer by @blackopsrepl in #131
- Split every Rust file over 500 lines and gate the limit in CI by @blackopsrepl in #132
- Make every type in a facade signature importable from solverforge by @blackopsrepl in #133
- Narrow core, scoring and solver to their supported surface by @blackopsrepl in #136
- Delete MoveArena and the eager move-collection path by @blackopsrepl in #137
- Remove unused dependencies and gate the dependency set in CI by @blackopsrepl in #138
- Give every published crate repository, homepage, keywords, README and license by @blackopsrepl in #139
- Document and test the custom IncrementalConstraint contract by @blackopsrepl in #140
- Fail the solve on a best_score_limit that does not parse by @blackopsrepl in #141
- Keep cross-stream filters when a five-source join continues by @blackopsrepl in #142
- Refuse a CHANGELOG section that would damage release history by @blackopsrepl in #143
- Accept only planning-model collections as stream sources by @blackopsrepl in #144
- Make wireframes match the shipped API and gate them on it by @blackopsrepl in #145
- Make the zero-regression gate pass an unchanged tree without loosening it by @blackopsrepl in #146
- Drive the selector-cursor gate through the compiled runtime's cursors by @blackopsrepl in #147
- Require the exact workspace version between SolverForge crates by @blackopsrepl in #153
- Stop re-exporting solverforge-bridge and solverforge-console from the facade by @blackopsrepl in #154
- Reject out-of-domain move-selector and construction values in solver.toml by @blackopsrepl in #155
- Hide tokio and smallvec types behind SolverForge API types by @blackopsrepl in #156
- Document every public item of core and config and enforce missing_docs by @blackopsrepl in #157
- Document every public item of scoring and enforce missing_docs by @blackopsrepl in #159
- Let fluent same-collection self-joins continue past two sources by @blackopsrepl in #160
- Document every public item of the solver crate and enforce missing_docs by @blackopsrepl in #162
- Record conflict-repair telemetry and delete the unused construction_list_remove hook by @blackopsrepl in #163
- Pass the pinned channel to rustup in Forgejo CI by @blackopsrepl in #165
- Give refactor commits their own changelog section by @blackopsrepl in #167
- Check wireframe field tables; drop the nonexistent tolerance field by @blackopsrepl in #169
Full Changelog: v0.23.0...v0.24.0