Osqp Versions Save

The Operator Splitting QP Solver

v1.0.0.beta1

10 months ago

The v1.0.0.beta1 pre-release of osqp adds CI-generated build artifacts for several platforms.

v1.0.0.beta0

11 months ago

First beta release of OSQP v1.0

New features:

  • Introduced new linear algebra backend system allowing compute framework to be changed at compile time.
  • Merged cuOSQP project into main OSQP project (inside algebra/cuda directory).
  • Introduced an Intel MKL-based algebra backend using the MKL sparse BLAS API, Vector Math Library. This backend contains both the Pardiso solver and an RCI conjugate gradient implementation.
  • Added code generation capabilities to the C-level API (note, only problem export is in the C API, no file copying is done).
  • Added initial adjoint derivative computation to the C-level API.

Main changes:

  • Updated QDLDL to 0.1.7.
  • Changed QDLDL to be included through CMake FetchContent instead of a git submodule.
  • The MKL Pardiso solver is only available with the MKL backend.
  • CMake installs CMake config files for consuming applications to use.
  • All of OSQP's API is contained inside the public include files (there should be no need for users to include anything in private).
  • All OSQP functions, defines and types are prefixed with OSQP (in some capitalization) to namespace the API.

Developer-centric changes:

  • Test suite switched to Catch2 and now incorporates modern C++ for memory management and organization.
  • ASAN flags integrated into main OSQP CMake build system.

v0.6.3

11 months ago

v0.6.2

3 years ago
  • Fix segfault python multithreading
  • Compatibility python 3.9
  • Updated QDLDL to version 0.1.5
  • Drop Python 2.7 support

v0.6.0

4 years ago
  • Added meaningful return values to internal functions. Changed syntax of osqp_setup function. It now returns an exitflag.
  • osqp_setup function requires P to be upper triangular. It returns a nonzero exitflag otherwise.
  • Custom memory allocators via cmake and the configure file.
  • Changed interfaces to linsys solver functions. The solve function now computes (x_tilde,z_tilde) instead of (x_tilde,nu). This allows to implement custom linear system solvers (also indirect).
  • Added solve function in Python interface that performs setup solve and cleanup for you directly and disables GIL.
  • Improved code generation folder structure.

v0.5.0

5 years ago
  • Added update_time to the info structure.
  • Fixed #101.

v0.4.1

5 years ago
  • Updated QDLDL to version 0.1.3.
  • Added check for nonconvex cost function (non-positive semidefinite P) after factorization is performed.
  • Added complete sources distribution on bintray.com (including QDLDL).

v0.4.0

5 years ago
  • Removed SuiteSparse LDL in favor of QDLDL
  • Added check for nonconvex cost function (P not positive semidefinite).
  • Static library libosqpstatic now renamed as libosqp.

v0.3.1

5 years ago
  • Fixed #62.
  • Moved interfaces to separate repositories
  • Fixed #54.
  • Changes to support Matlab 2018a
  • Added support for new interface in R

v0.3.0

6 years ago

Features

  • Added time_limit option
  • Added CUTEst interface
  • Add "install" CMake target and installation of CMake configuration files

Interface changes

  • Changed set_default_settings to osqp_set_default_settings and brought function to main API header osqp.h
  • Allow eps_rel=0 #40

Bugs

  • Fixed bug in upper triangular P extraction. Now the solver can accept both complete P matrix or just the upper triangular part.
  • Fixed #33
  • Fixed #34
  • Fixed bug when calling osqp_solve or osqp_cleanup after failed linear system initialization
  • Fixed potential name conflict with SCS 47
  • Fixed #49