CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

Unreleased

Fixed

  • CMake: Fix link to system cereal in tests (#353)

Added

Changed

  • Change Python bindings to use nanobind instead of pybind11 (#340)

0.6.7 - 2024-08-27

Added

  • Fix mu update function for PrimalLDLT backend (#349)

  • Allow use of installed pybind11, cereal and jrl-cmakemodules via cmake

  • Add compatibility with jrl-cmakemodules workspace (#339)

  • Specifically mention that timings are in microseconds (#342)

  • Fix cereal include directory in cmake (#342)

  • Extend doc with hint for conda installation from source (#342)

Fixed

  • Fix inequality constraints return in QPLayer (#343)

Changed

  • Refactor Python examples with a new “util.py” file (#347)

0.6.6 - 2024-06-15

Fixed

  • Fix infeasibility detection and add a unit test (#328)

0.6.5 - 2024-05-31

Added

  • Pip wheels for Python 3.12 and stop support Python 3.7 (#324)

Fixed

  • Fixes compilation issue with GCC 14 on Arch (#322)

What’s Changed

  • Change from torch.Tensor to torch.empty or torch.tensor and specify type explicitly (#308)

  • Fix handling of batch of inequality constraints in QPFunctionFn_infeas. The derivations in qplayer was done for single-sided constraints, that’s the reason for the concatenation but the expansion of batchsize dimension was not working properly (#308)

  • Switch from self-hosted runner for macos-14-ARM to runner from github (#306)

  • Fix missing cassert for some compilers (#316)

0.6.4 - 2024-03-01

What’s Changed

  • Changed primal_infeasibility_solving to False for feasible QPs (#302)

0.6.3 - 2024-01-23

Fixed

  • Fix Python tests with scipy>=1.12 (#299)

0.6.2 - 2024-01-22

Fixed

  • Fix Windows build (#290)

  • Fix math formulae in documentation (#294)

  • Restore correc values for infeasibility (#292)

  • Handles CPU/GPU transfer in QPFunctionFn’s backward function (#297)

0.6.1 - 2023-11-16

What’s Changed

New Contributors

0.6.0 - 2023-11-13

News

We add the implementation of QPLayer. QPLayer enables to use a QP as a layer within standard learning architectures. QPLayer allows for parallelized calculus over CPUs, and is interfaced with PyTorch. QPLayer can also differentiate over LPs.

What’s Changed

0.5.1 - 2023-11-09

What’s Changed

0.5.0 - 2023-09-26

This release adds support for nonconvex QPs, along with healthy fixes.

What’s Changed

New Contributors

0.4.1 - 2023-08-02

What’s Changed

0.4.0 - 2023-07-10

What’s Changed

  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci (#225)

  • add generalized primal dual augmented Lagrangian (gpdal) for dense backend by @Bambade (#228)

  • optimize dense iterative refinement by @Bambade (#230)

  • Add dense LP interface by @Bambade (#231)

  • Enable solving QP ([#229](parallel with ProxQP by @Bambade in https://github.com/Simple-Robotics/proxsuite/pull/229))

  • Add small dense LP Python example by @stephane-caron (#235)

  • Fix typo ([#234](dense lp interface by @Bambade in https://github.com/Simple-Robotics/proxsuite/pull/234))

  • ci check all jobs pass by @fabinsch (#236)

  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci (#232)

  • Add box constraint interface for dense backend by @Bambade (#238)

  • Improve dense backend and simplify calculus when using a Diagonal Hessian by @Bambade (#239)

  • Add infeasibility solving feature for dense and sparse backends by @Bambade (#241)

  • cmake: fix path to find-external/OpenMP by @fabinsch (#240)

  • More information ([#242](debug mode by @fabinsch in https://github.com/Simple-Robotics/proxsuite/pull/242))

  • Fix warning and clean // solvers API by @jcarpent (#243)

0.3.7 - 2023-05-05

What’s Changed

New Contributors

0.3.6 - 2023-03-14

What’s Changed

0.3.5 - 2023-03-06

What’s Changed

0.3.4 - 2023-03-01

What’s Changed

  • CI: pip wheels on windows by @fabinsch (#185)

  • [CI] ROS: Add friendly names; add TSID on Rolling as downstream test by @wxmerkt (#184)

  • CI: simplify workflow on self-hosted M1 by @fabinsch (#187)

[0.3.3] - 2023-02-25

What’s Changed

New Contributors

0.3.2 - 2023-01-17

What’s Changed

  • Expose check_duality_gap ([#167](Python settings by @stephane-caron in https://github.com/Simple-Robotics/proxsuite/pull/167))

  • Add duality-gap thresholds by @stephane-caron (#169)

New Contributors

0.3.1 - 2023-01-09

What’s Changed

New Contributors

0.3.0 - 2022-12-26

What’s Changed

0.2.16 - 2022-12-21

What’s Changed

0.2.15 - 2022-12-15

What’s Changed

0.2.14 - 2022-12-14

What’s Changed

0.2.13 - 2022-11-29

What’s Changed

0.2.12 - 2022-11-26

What’s Changed

New Contributors

0.2.11 - 2022-11-25

What’s Changed

0.2.10 - 2022-11-17

What’s Changed

0.2.9 - 2022-11-14

What’s Changed

  • Enforce robustness computation of duality gap by @jcarpent (#114)

  • Assert primal/dual residual and dual gap != nan + add unittest by @fabinsch (#115)

0.2.8 - 2022-11-12

What’s Changed

0.2.7 - 2022-11-10

What’s Changed

  • CMakeLists: fix INTERFACE target compile definitions by @fabinsch (#97)

  • sync submodule by @fabinsch (#98)

  • Fixed temporaries ([#100](update() of dense wrapper by @fennel-labs in https://github.com/Simple-Robotics/proxsuite/pull/100))

  • Additional option to check eigen runtime malloc by @fabinsch (#93)

New Contributors

0.2.6 - 2022-11-08

What’s Changed

  • User option sparse backend by @fabinsch (#84)

  • CI for c++14 compatibility by @fabinsch (#88)

  • Update README.md by @fabinsch (#89)

  • CI: use v1.2 also for windows, add cxx_std to key by @fabinsch (#90)

  • Fix heap allocation ([#92](dense solver by @jcarpent in https://github.com/Simple-Robotics/proxsuite/pull/92))

0.2.5 - 2022-11-06

What’s Changed

  • C++14 compliant implementation of optional by @fabinsch (#78)

  • C++14 compliant implementation of aligned_alloc by @fabinsch (#79)

  • unittest/sparse-ruiz: replace checks with isApprox by @fabinsch (#83)

  • Fix packaging for pip by @jcarpent (#82)

  • Move optional.hpp to the right place by @jcarpent (#81)

  • Fix logic and bug ([#85](warm_start by @jcarpent in https://github.com/Simple-Robotics/proxsuite/pull/85))

0.2.4 - 2022-11-01

What’s Changed

[0.2.3] - 2022-10-29

What’s Changed

0.2.2 - 2022-10-19

What’s Changed

  • release: wheels for macos arm64 by @fabinsch (#53)

  • Don’t compile AVX Python bindings on non X86_64 arch by @jcarpent (#54)

  • Fix existence of std::aligned_alloc on APPLE by @jcarpent (#55)

0.2.1 - 2022-10-18

What’s Changed

  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci (#43)

  • Sync ma([#42](with devel by @jcarpent in https://github.com/Simple-Robotics/proxsuite/pull/42))

  • Fix compile options export for Windows by @jcarpent (#44)

  • benchmark: document speed up by vectorization by @fabinsch (#48)

  • Support ARM64 architecture by @fabinsch (#50)

0.2.0 - 2022-10-08

This release introduces a notable change ([#](the order of bounds constraints.)) As the API is not yet totally fixed, we have only increased the minor release version.

More to come ([#](a forthcoming release.))

What’s Changed

New Contributors

0.1.2 - 2022-09-26

What’s Changed

0.1.1 - 2022-09-09

What’s Changed

New Contributors

0.1.0 - 2022-08-24

What’s Changed

  • Fix aligned alloc for old version of OSX target deployment by @jcarpent (#3)

  • Fix documentation and the publishing pipeline by @jcarpent (#4)

  • Bindings: expose qp solver output by @fabinsch (#11)

  • provide initialization of solvers with None entries by @Bambade (#12)

  • Fix packaging issues and add more packaging test by @jcarpent (#17)

  • Use PROXSUITE_VECTORIZE and change logic by @jcarpent (#18)

New Contributors

[0.0.1] - 2022-08-11

The first release of ProxSuite.