unstale

pypi / cvxpy

cvxpy

What changed in cvxpy 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-13.

3 breaking25 new APIs and options2 performance9 behavior and defaults9 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.3.0 on npm

cvxpy 148 changes

Breaking changes 3

  • Sparse or diagonal variables with pos/neg attributes are now rejected.

    1.8.2release notes

  • NumPy versions below 2.0 are no longer supported.

    1.8.0release notes

  • Python 3.10 is no longer supported; CVXPY 1.8 supports Python 3.11 through 3.14.

    1.8.0release notes

New APIs and options 25

  • A new solver interface is available for PDCS.

    1.9.0release notes

  • Pass nlp=True to use Disciplined Nonlinear Programming for a broader class of nonlinear problems.

    1.9.0release notes

  • The axis argument is now supported.

    1.9.0release notes

  • Zero-sized expressions are now supported.

    1.9.0release notes

  • Adds BOUNDED_VARIABLES support for Xpress solvers.

    1.8.2release notes

  • Specify canon_backend="COO" when solving a DPP problem to use the new backend, which can handle a very large number of parameters.

    1.8.0release notes

  • Adds a new solver interface for COSMO.

    1.8.0release notes

  • Adds the AND atom for logical boolean operations on boolean expressions.

    1.8.0release notes

  • Adds the NOT atom for logical boolean operations on boolean expressions.

    1.8.0release notes

  • Adds the OR atom for logical boolean operations on boolean expressions.

    1.8.0release notes

  • Adds the XOR atom for logical boolean operations on boolean expressions.

    1.8.0release notes

  • Adds einsum as a new atom.

    1.8.0release notes

  • The approx parameter determines whether geo_mean is canonicalized using many SOCs or one power cone.

    1.8.0release notes

  • The approx parameter determines whether inv_prod is canonicalized using many SOCs or one power cone.

    1.8.0release notes

  • Adds a new solver interface for KNITRO.

    1.8.0release notes

  • Adds a new solver interface for MOREAU.

    1.8.0release notes

  • Adds support for ND cumsum.

    1.8.0release notes

  • Adds support for ND matmul.

    1.8.0release notes

  • Adds num_iters to Gurobi conic solver solution info.

    1.8.0release notes

  • The approx parameter determines whether pnorm is canonicalized using many SOCs or one power cone.

    1.8.0release notes

  • The approx parameter determines whether power is canonicalized using many SOCs or one power cone.

    1.8.0release notes

  • Adds a new solver interface for QPALM.

    1.8.0release notes

  • Adds solving chain context.

    1.8.0release notes

  • Adds stack as a new atom.

    1.8.0release notes

  • Adds a new Moreau Interface.

    1.7.5release notes

Performance 2

  • Uses LDL decomposition instead of eigh in decomp_quad.

    1.8.2release notes

  • Uses a balanced tree for PowConeND to PowCone3D decomposition.

    1.8.1release notes

Behavior and default changes 9

  • Exponentiation now works when a is a positive constant, using canonicalization via exp(x * log(a)).

    1.9.0release notes

  • N-D and tuple-axis support is generalized across AxisAtom canonicalizers, including max, norm_inf, log_sum_exp, and cummax.

    1.9.0release notes

  • Parameter values may now be positive or negative infinity.

    1.9.0release notes

  • A parametric PSD matrix is now DPP-compliant on solvers with native quadratic objective support, enabling efficient re-solves when only its value changes.

    1.9.0release notes

  • Sparse Cholesky now uses QDLDL.

    1.9.0release notes

  • Bounds can use parameter expressions and sparse bound arrays when the variable is sparse; many solvers now natively use provided bounds.

    1.9.0release notes

  • Adds support for DPP with complex expressions.

    1.8.0release notes

  • HiGHS is now CVXPY's default mixed-integer linear programming solver.

    1.8.0release notes

  • Unifies the QP interface into the quadratic conic pathway.

    1.8.0release notes

Fixes and other changes 9

  • Fixes negative axis sums in the Python backends.

    1.8.2release notes

  • Ensures backward() sets param.gradient to a zero ndarray rather than a float when the gradient is zero.

    1.8.2release notes

  • Fixes a KeyError when a log-param is not in dparams.

    1.8.2release notes

  • Fixes scalar canonicalization in DGP so it promotes x instead of p.

    1.8.2release notes

  • Prevents quad_form canonicalization from silently dropping the M1 term when P is indefinite.

    1.8.2release notes

  • Fixes shape inference for N-D shapes containing -1.

    1.8.2release notes

  • Updates the Xpress solver interfaces for compatibility with version 9.8.

    1.8.2release notes

  • Fixes cvxpy-base dependencies.

    1.8.1release notes

  • Fixes an IndexError with transformed parameters in parametric reshape.

    1.8.1release notes