Skip to content

Commit

Permalink
Prep for 1.4 release (#2248)
Browse files Browse the repository at this point in the history
* Changes type of warning in scipy wrapper

* Release notes updates

* Fixes typo

* Updates

* Mentions #2251 in release notes

* Update index.rst

---------

Co-authored-by: Steven Diamond <diamond.po.central@gmail.com>
  • Loading branch information
PTNobel and SteveDiamond authored Oct 9, 2023
1 parent 808125d commit 67811a8
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 3 deletions.
2 changes: 1 addition & 1 deletion cvxpy/interface/scipy_wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ def new_method(self, other):
output = method(self, other)
if isinstance(other, exp.Expression) and output is not NotImplemented:
warnings.warn(SCIPY_WRAPPER_DEPRECATION_MESSAGE,
category=DeprecationWarning)
category=FutureWarning)
return NotImplemented
else:
return output
Expand Down
73 changes: 71 additions & 2 deletions doc/source/updates/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,77 @@ Changes to CVXPY
================

This page details changes made to CVXPY over time, in reverse chronological order.
CVXPY's project maintainers currently provide support for CVXPY 1.3 and 1.2, with
limited support for 1.1.
CVXPY's project maintainers currently provide support for CVXPY 1.4 and 1.3.

CVXPY 1.4
---------

This release is consistent with our semantic versioning guarantee. It
comes packed with many new features, bug fixes, and performance
improvements. This version of CVXPY supports Python 3.8 through 3.12,
and is our first release that supports Python 3.12. While working on the
next release, we continue to officially support CVXPY 1.3 and 1.4.

New features
~~~~~~~~~~~~
- New atom: :ref:`convolve <convolve>`
- New atom: :ref:`mean <mean>`
- New atom: :ref:`outer <outer>`
- New atom: :ref:`ptp <ptp>`
- New atom: :ref:`std <std>`
- New atom: :ref:`var <var>`
- New atom: :ref:`vec_to_upper_tri <vec-to-upper-tri>`
- Adds methods to CVXPY expressions that are found on NumPy ndarrays
such as ``.sum()``, ``.max()``, and ``.mean()``
- New solver interface: ``PIQP``
- Adds SDP support to the Clarabel interface
- Addedd support for OR-Tools 9.7
- Removed support for OR-Tools 9.4
- ``PowerConeND`` now supports extracting its dual variables
- ``reshape`` now supports using ``-1`` as a dimension, with the same
meaning it has in NumPy
- Indexing CVXPY expressions with floats now raises an appropriate
error
- Clearer error messages for a number of common errors
- The :ref:`perspective <perspective>` atom now supports ``s=0``
- Performance improvements in the SCIPY backend
- Performance improvements in canonicalizing parameterized QPs
- Performance improvements for quadratic forms with sparse matrices
- Greater support for static typing

ECOS deprecation
~~~~~~~~~~~~~~~~

CVXPY has used ECOS as the default solver for many years; however, it
has known issues with performance and numerical stability in edge cases.
Recently, a new solver, Clarabel, that improves the algorithm and
implementation of ECOS has been under development.

In 1.5, CVXPY plans to start using Clarabel instead of ECOS by default for some
categories of problems.
In 1.6, we plan to no longer install ECOS as a CVXPY dependency.
We have no plans to remove support for calling ECOS as a solver.
As part of this transition, in 1.4 CVXPY will raise a warning whenever
ECOS is called by default.
We encourage you to try and use Clarabel instead, but if you're
dependent on ECOS's exact behavior please explicitly specify it as a
solver.

``conv`` deprecation
~~~~~~~~~~~~~~~~~~~~

The CVXPY atom ``conv`` is inconsistent with NumPy's convolve functions.
We are deprecating it, but have no plans to remove it in the short term.
We encourage all users to use the CVXPY atom ``convolve`` instead.

``NonPos`` deprecation
~~~~~~~~~~~~~~~~~~~~~~

The ``NonPos`` cone uses the opposite dual variable sign convention as
the rest of the CVXPY cones and a constraint of ``NonPos(expr)`` is the
same as a constraint on ``NonNeg(-expr)``. We are deprecating
``NonPos``, but have no plans to remove it in the short term. We
encourage users to switch to using ``NonNeg``.

CVXPY 1.3
---------
Expand Down

0 comments on commit 67811a8

Please sign in to comment.