Skip to content

v3.0.0

Choose a tag to compare

@jolars jolars released this 20 Oct 20:37
· 85 commits to main since this release

Unfortunately, I have realized that the changes to constraints API in Basin 2.0 are much less ergonomic and have decided to switch back to the simpler approach of 1.x. I apologize to anyone who has already migrated, but hope that you find the new (old) API more pleasant to use. In short:

  • Make constraint declarations optional. CostFunction, Residual, and constraint callbacks no longer require a declaration. Unconstrained solvers ignore declared constraints, while constrained solvers continue to validate complete sets and reject unsupported blocks.
  • Rename the ProblemConstraints trait to Constraints and the Constraints data container to ConstraintSet. Rename the associated type to Set and the getter to constraints. Constrained::new accepts plain objectives and uses its supplied set as the complete declaration.

See the Basin 3.0 migration guide for more details.

Breaking changes

  • make constraint declarations optional (4e3326e)

Features

  • make constraint declarations optional (4e3326e)

Bug Fixes

  • dev: keep pnpm managed by Nix (52e7884)