Releases: cvxpy/cvxpy
v1.7.5
v1.7.4
Patch notes 1.7.4 (from #3011)
This is a micro patch release which fixes many bugs and updates to the documentation.
| Link | Type | 1.7.x | Comment |
|---|---|---|---|
| #3005 | Bug Fix | ✅ | |
| #2993 | Tests | ✅ | |
| #2989 | Solver Interface | ✅ | |
| #2985 | Bug Fix | ✅ | |
| #2976 | Error messages | ✅ | |
| #2974 | Solver interface | ✅ | |
| #2983 | Solver interface | ✅ | |
| #2963 | Documentation | ✅ | |
| #2957 | Solver Interface | ✅ | |
| #2955 | Developer tools | ✅ | |
| #2951 | CVXPY(layers/gen) fix | ✅ | |
| #2950 | Revert | ✅ | |
| #2948 | Bug Fix | ✅ | |
| #2947 | Bug Fix | ✅ | |
| #2945 | Solver interface | ✅ |
v1.7.3
Patch notes 1.7.3
This is a micro patch release which fixes many bugs and updates to the documentation.
| Link | Type | 1.7.x | Comment |
|---|---|---|---|
| #2901 | Version bump | ✅ | |
| #2913 | Bug Fix | ✅ | |
| #2914 | Docs | ✅ | |
| #2919 | Solver Interface | ✅ | |
| #2918 | Solver Interface | ✅ | |
| #2924 | Bug Fix | ✅ | |
| #2929 | Docs | ✅ | |
| #2933 | Bug Fix | ✅ | |
| #2938 | Docs | ✅ |
Special shoutout to new contributors: @thisisRMak and @ClayCampaigne !
v.1.7.2
Patch notes 1.7.2
This is a micro patch release which fixes many bugs and typos.
| Link | Type | 1.7.x | Comment |
|---|---|---|---|
| #2869 | Docs | ✅ | |
| #2870 | Setup | ✅ | |
| #2872 | Bug Fix | ✅ | |
| #2878 | CI | ✅ | |
| #2882 | Bug Fix | ✅ | |
| #2886 | Docs | ✅ | |
| #2888 | Solver Interface | ✅ | |
| #2892 | Version Bump | ✅ | |
| #2894 | Docs | ✅ | |
| #2897 | Bug Fix | ✅ | |
| #2906 | Bug Fix | ✅ | |
| #2908 | Bug Fix | ✅ | |
| #2903 | Bug Fix | ✅ |
v1.7.1
v1.7.0
CVXPY 1.7
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.9 through 3.13. While working on the next release, we continue to officially support CVXPY 1.6.
New GPU solvers
CVXPY begins supporting GPU solvers in this release. The following solvers are supported:
MPAX runs on a GPU device specified by the JAX environment. MPAX, cuOpt, and CuClarabel are new solver interfaces that can be used with CVXPY. SCS has a new backend based on cuDSS that can be used through the existing SCS interface.
Sparse array support
SciPy is deprecating the sparse matrix API in favor of sparse arrays. See the migration guide here.
CVXPY 1.7 supports the new sparse array API but continues to support the sparse matrix API for backwards compatibility.
Update on reshape order
In CVXPY 1.6, we began raising warnings for the default reshape order being Fortran ('F'),
which differs from NumPy's default order ('C'). We also mentioned that we would raise an error
if the order was not specified in CVXPY 1.7, and switch the default order to 'C' in CVXPY 1.8.
However, we have decided to postpone these changes to CVXPY 2.0, the next major release.
We believe that raising errors could break existing code and cause confusion among users.
We encourage users to continue explicitly specifying the order when using reshape, vec, and flatten atoms.
New features
- Multiple attributes for variables and parameters
- New QOCO solver interface
- New atom:
broadcast_to - New atom:
transpose(expr, axes) - New atom:
swapaxes - New atom:
moveaxis - New atom:
permute_dims - Add warm-start support for HiGHS
- Add warm-start support for PIQP
Summary
This new release totaled 84 PRs from 27 users.
- @563925743 | #2683
- @akshayka | #2711
- @andresliszt | #2634
- @bstellato | #2769
- @dependabot[bot] | #2638, #2639, #2650, #2659, #2757, #2795, #2819, #2827, #2831, #2832, #2848
- @dschult | #2689, #2710
- @goulart-paul | #2697, #2737
- @govindchari | #2670, #2712, #2719, #2720, #2730, #2744, #2761, #2762, #2763
- @jonathanberthias | #2740
- @klobucar | #2648
- @kydonian | #2796
- @kylematoba | #2726
- @maxschaller | #2635, #2693, #2694, #2734
- @mbataillou | #2745
- @mlubin | #2636
- @napinoco | #2846
- @PTNobel | #2692, #2701, #2702, #2717, #2718, #2803, #2812, #2815, #2839, #2844
- @rileyjmurray | #2834, #2847
- @RSchwan | #2797
- @samuela | #2798
- @senhalil | #2691, #2785, #2810, #2838
- @smachen42 | #2695
- @SteveDiamond | #2647, #2705, #2765, #2778, #2792, #2824
- @tasseff | #2714
- @Transurgeon | #2361, #2637, #2654, #2658, #2667, #2690, #2724, #2756, #2760, #2768, #2772, #2784, #2805, #2817, #2829
- @tschm | #2676, #2678, #2680
- @ZedongPeng | #2802
Special shoutout to @PTNobel for leading the integration of GPU solver interfaces into CVXPY.
v1.6.7
Patch notes (from #2859)
This is a micro patch release which fixes a few bugs.
| Link | Type | 1.6.x | Comment |
|---|---|---|---|
| #2829 | Bug Fix | ✅ | |
| #2839 | Bug Fix | ✅ | |
| #2834 | Bug Fix | ✅ | |
| #2838 | Bug Fix | ✅ | |
| #2846 | Doc | ✅ |
Bug fixes
- Fix issue with duals not working in the HiGHS interface @senhalil @SteveDiamond
- Update sparse cholesky expression handling @rileyjmurray
- Adds new warning for using
.valuewith sparse leaves @PTNobel
v1.6.6
Patch notes (from #2821)
This is a micro patch release which fixes a few bugs and updates solver interfaces.
| Link | Type | 1.6.x | Comment |
|---|---|---|---|
| #2805 | Bug Fix | ✅ | |
| #2798 | Bug Fix | ✅ | |
| #2797 | Interface | ✅ | |
| #2796 | Interface | ✅ |
Bug fixes
- support negative axes in sum (and other axis_atoms) @Transurgeon
- send logging messages to stderr @samuela
v1.6.5
Patch notes (from #2789)
This is a micro patch release which fixes a few bugs and updates solver interfaces.
| Link | Type | 1.6.x | Comment |
|---|---|---|---|
| #2785 | Interface | ✅ | |
| #2784 | Interface | ✅ | |
| #2778 | Bug Fix | ✅ | |
| #2769 | Interface | ✅ | |
| #2765 | Bug Fix | ✅ | |
| #2763 | Interface | ✅ | |
| #2760 | Bug Fix | ✅ | |
| #2756 | Bug Fix | ✅ |
Bug fixes
- Fixes issue with broadcasting in constraints. @SteveDiamond
- Fixes equality constraints error in QOCO. @govindchari
- Fixes highs solver options. @senhalil
- Fixes bug with quad_over_lin and use_quad_obj=True. @SteveDiamond
- Fixes OSQP polish parameter name (also keeps compatibility with two versions of OSQP). @bstellato @vineetbansal
- Fixes issue with infeasible sparse problems. @Transurgeon
v1.6.4
Patch notes (from #2748)
This is a micro patch release which adds an interface for QOCO.
Notably this release will allow cvxpygen to use the interface and integrate with qocogen.
| Link | Type | 1.6.x | Comment |
|---|---|---|---|
| #2745 | Interface | ✅ | |
| #2724 | Interface | ✅ | |
| #2719 | Interface | ✅ |
All three PRs are from @govindchari , author of QOCO.