Skip to content

v0.8.0

Latest

Choose a tag to compare

@github-actions github-actions released this 10 Jun 09:48
0f62fd8

What's Changed

  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #505
  • perf: matrix accessor rewrite by @coroa in #630
  • docs(piecewise): rewrite reference page + tutorials for correctness and pedagogy by @FBumann in #677
  • docs: fix broken toctree, refresh API reference, and clean up references by @FBumann in #680
  • refactor: stateful Solver instances and two-step solve API by @FabianHofmann in #682
  • docs: silence HiGHS console output in tutorial notebooks by @FBumann in #678
  • docs: reorganize toctree into basic→advanced sections, rewrite user-guide landing by @FBumann in #681
  • docs: credit Felix Bumann in copyright, author, and pyproject maintainers by @FBumann in #687
  • feat(xpress): add direct API support via loadproblem by @FabianHofmann in #684
  • deps: add remote extra for paramiko and migrate install docs to uv by @FBumann in #686
  • fix(sos): refuse masked SOS variables with a clear error; fix reformulate_sos=True no-op on native SOS solvers by @FBumann in #689
  • fix(test): only skip GPU-only solvers without --run-gpu (#693) by @FBumann in #694
  • refactor(sos): add Model.apply/undo_sos_reformulation methods by @FBumann in #690
  • fix(remote): use TemporaryDirectory to avoid Windows tempfile lock by @FabianHofmann in #698
  • Xpress 9.9+ backward compatibility and other updates by @brunoficoxpress in #701
  • ci: swap aflc/pre-commit-jupyter for nbstripout by @FBumann in #700
  • fix(sos): SOS constraints on masked variables (#688) by @FBumann in #692
  • fix(xpress): use ExitStack to manage xpress.problem() lifecycle by @brunoficoxpress in #702
  • fix(license-leaks): release license slot from Mosek, COPT, and MindOpt probe and solver paths by @FBumann in #695
  • drop python 3.10 support by @lkstrp in #721
  • refactor(types): unify SUPPORTED_CONSTANT_TYPES with ConstantLike alias by @FBumann in #728
  • Improve Mosek interface to select optimal solution by @mgrabovsky in #667
  • Feature/example of drop=True by @RobbieKiwi in #557
  • refactor: unify coords-as-truth handling in add_variables/add_constraints by @FBumann in #732
  • ci: fix model runs by @lkstrp in #522
  • perf(matrices): cache MatrixAccessor properties with cached_property by @MaykThewessen in #716
  • feat: add BaseExpression.has_terms property by @FBumann in #743
  • refactor: move alignment code to linopy/alignment.py; restructure tests by @FBumann in #742
  • 311 syntax by @RobbieKiwi in #739
  • chore: Return Self from SolverStatus.from_termination_condition by @FBumann in #746
  • docs: AI-assisted contribution guide by @FBumann in #754
  • fix(alignment): tolerate xarray without CoordinateValidationError by @FBumann in #762
  • fix: regression with tuple coords entries as xarray's (dim_name, values) by @FBumann in #766
  • test: use public API in assertions instead of internal .data by @FBumann in #760
  • fix(groupby): group by non-dimension coordinate names; fast multi-key grouping by names (#750, #753) by @FBumann in #751
  • fix: Variable.fix() value alignment on named dimensions by @FBumann in #774
  • feat: Add indicator constraints by @mcoughlin in #594
  • feat: add m.dualize() by @bobbyxng in #626
  • docs: cut release notes for v0.8.0 by @FBumann in #759

New Contributors

Full Changelog: v0.7.0...v0.8.0