Skip to content

v1.3.0

Compare
Choose a tag to compare
@phschiele phschiele released this 04 Jan 06:35
· 289 commits to master since this release

CVXPY 1.3

This release marks our first minor release since the introduction of semantic versioning in March 2022. It comes packed with many new features, bug fixes, and performance improvements. This version of CVXPY supports Python 3.7 through 3.11, and is our first release that supports Python 3.11. While working on the next release, we continue to officially support CVXPY 1.2 and 1.3, and will backport important bug fixes to 1.1, if feasible.

New features

  • New atoms:
    • dotsort
    • tr_inv
    • von_neumann_entr
    • perspective
  • Support for native quadratic forms (x.T @ P @ x)
  • New solver interfaces: COPT, SDPA, Clarabel, proxqp
  • A new SciPy-based backend
  • New constraints:
    • FiniteSet
    • RelEntrConeQuad
    • OpRelEntrConeQuad
  • ... and many more!

Other big developments

  • The new OpRelEntrConeQuad constraint class is the first major piece of our effort to improve support for quantum information modeling (GSOC project)
  • Continuous performance benchmarking (GSOC project)

API changes

Moving forward, the public API of CVXPY is considered to be everything that is importable directly from the cvxpy namespace. We plan to introduce a cvxpy.experimental namespace for features in development where the API has not yet been fixed. It is explicitly not a part of our API whether atoms are implemented by functions or classes, e.g. we do not consider replacing cvxpy.power, which is currently a class, with a function to be a breaking change or replacing cp.quad_form which is a function to become a class to be a breaking change. Code of the form cvxpy.power(a, b) is guaranteed to remain working.

Community

We were thrilled to see the CVXPY community grow since our last release. In GitHub issues and the increasingly utilized GitHub discussions, we saw a lot of great reports and questions. Reaching almost 1000 members, the CVXPY Discord has become a great place to ask questions and get quick help. It was great to meet some of you at SciPy 2022 and ICCOPT 2022.

Planned projects

A major upcoming project is an overhaul of the web documentation, making it more modern, structured, and interactive. For this, we received a NumFOCUS Small Development Grant and are currently looking for a web developer to help us with the implementation. Email us at cvxpydevs@gmail.com if interested.

Contributors

This release would not have been possible without the contributions of many
CVXPY users and developers. Across 30 contributors and 95 PRs, we would like to
thank the following people for their contributions to this release (in alphabetical order):

Special thanks to @michaels0m for numerous discussions about the new backend.