This release marks our first minor release since the introduction of semantic versioning in [March 2022](https://github.com/cvxpy/cvxpy/releases/tag/v1.2.0). 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](https://www.cvxpy.org/version/1.3/tutorial/functions/index.html#scalar-functions):
- `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](https://github.com/cvxpy/org/blob/main/GSoC2022/aryamanjeendgar/final_report.pdf))
- Continuous performance benchmarking ([GSOC project](https://github.com/cvxpy/org/blob/main/GSoC2022/parthb83/final_report.md))
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](https://github.com/cvxpy/cvxpy/discussions), we saw a lot of great reports and questions. Reaching almost 1000 members, the [CVXPY Discord](https://discord.gg/4urRQeGBCr) 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](https://numfocus.org/programs/small-development-grants) and are currently looking for a web developer to help us with the implementation. Email us at [cvxpydevsgmail.com](mailto:cvxpydevsgmail.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):
- aryamanjeendgar | 1740, 1789, 1833, 1875, 1899
- BehrouzSohrabi | 1966
- Brown2345 | 1754
- chrisyeh96 | 1814, 1861, 1862
- dcajasn | 1897
- ericlux | 1869, 1867
- fabinsch | 1882, 1894
- goulart-paul | 1888
- h-vetinari | [conda-forge PR 75](https://github.com/conda-forge/cvxpy-feedstock/pull/75)
- imcjp | 1822
- JiaxinWang-thu | 1720
- jlchen0 | 1986
- joycebrum | 1892, 1927
- KerimovEmil | 1871
- merraksh | 1935
- Michael-123123 | 1793
- mkoeppe | 1707, 1705, 1719, 1727
- mlubin | 1859, 1872
- parthb83 | 1768, 1810, 1798
- phschiele | 1748, 1783, 1725, 1792, 1804, 1803, 1838, 1839, 1846, 1851, 1874, 1852, 1887, 1893, 1896, 1922, 1931, 1840, 1933, 1937, 1936, 1929, 1979
- piiq | 1951
- r-barnes | 1693
- rileyjmurray | 1733, 1736, 1738, 1866, 1977, 1976, 1978, 1984, 1987
- rluce | 1962
- roberthuisman | 1854
- SteveDiamond | 1689, 1757, 1761, 1794, 1802, 1807, 1796, 1818, 1820, 1829, 1835, 1844, 1856, 1880, 1885, 1886, 1877, 1898, 1909
- tasseff | 1830
- usamamuneeb | 1769
- wujianjack | 1836
- yasirroni | 1744, 1745, 1756
Special thanks to michaels0m for numerous discussions about the new backend.