Skip to content

v0.24.0

Latest

Choose a tag to compare

@github-actions github-actions released this 01 Nov 14:24

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