๐ What Changed
Python 3.13 is out and Python 3.8 has reached end-of-life. Hence, this release drops support for Python 3.8 and includes Python 3.13 wheels (including the free-threading Python variant).
Additionally, this is the first release with Linux wheels based on `manylinux_2_28` instead of `manylinux2014`. This means generally faster performance for the package on Linux.
This is also the first release including a `uv.lock` file for reproducible, working Python environments. This includes switching from dependabot to renovate for automatically managing dependency updates.
Finally, this release contains a couple of convenience updates for MQT Core itself and its DD package.
โ๏ธ MQT Core
- โป๏ธ move `--reinstall-package` from `noxfile` to `pyproject.toml` configuration burgholzer (711)
- ๐ง adjust how the CD workflow is run burgholzer (710)
- ๐ฉน fix endless loop on unsupported operations in OpenQASM gate declarations burgholzer (700)
- โฌ๏ธ update MQT workflows to `v1.4` burgholzer (692)
- ๐ท Configure Renovate renovate (695)
- ๐ uv lock file burgholzer (694)
- ๐ธ Allow creating circuits from compound operations burgholzer (690)
- โป๏ธ optimize `isDynamic` check and move to `QuantumComputation` class burgholzer (689)
- ๐ Fix dynamic circuit detection burgholzer (687)
- ๐ฅ drop Python 3.8 support burgholzer (684)
- ๐ธ Small library improvements burgholzer (686)
- ๐ธ improve nox sessions burgholzer (685)
- ๐โฌ๏ธ update image for Linux wheel builds to `manylinux_2_28` burgholzer (683)
- ๐ฉน make sure to define `Py_GIL_DISABLED` on Windows for Python 3.13t burgholzer (682)
- ๐ฉนfix loading circuits from `PathLike` objects burgholzer (681)
- ๐ธ natively support `c3x`, `c3sqrtx`, and `c4x` gates from OpenQASM 2 burgholzer (680)
- โฌ๏ธ require `pybind11 >= 2.13.5` burgholzer (679)
- ๐จ fix Qiskit 1.2 deprecation warnings burgholzer (673)
- ๐ธ rename algorithms target and adapt nox config burgholzer (672)
- โป๏ธ miscellaneous changes pulled from 622 burgholzer (669)
- โป๏ธ reorganize library structure burgholzer (668)
- ๐ฅ remove ECC framework burgholzer (667)
- โฌ๏ธ update mqt-workflows to v1.3 (moving tag) burgholzer (665)
- โฌ๏ธ update to scikit-build-core 0.10 burgholzer (664)
โ๏ธ MQT Core DD Package
- โก dedicated unitary simulator DD package config burgholzer (691)
- ๐ฉน disentangle `mqt-core-dd` and `mqt-core-algo` burgholzer (670)
๐ Features and Enhancements
- โป๏ธ move `--reinstall-package` from `noxfile` to `pyproject.toml` configuration burgholzer (711)
- ๐ uv lock file burgholzer (694)
- โก dedicated unitary simulator DD package config burgholzer (691)
- ๐ธ Allow creating circuits from compound operations burgholzer (690)
- โป๏ธ optimize `isDynamic` check and move to `QuantumComputation` class burgholzer (689)
- ๐ธ Small library improvements burgholzer (686)
- ๐โฌ๏ธ update image for Linux wheel builds to `manylinux_2_28` burgholzer (683)
- ๐ธ natively support `c3x`, `c3sqrtx`, and `c4x` gates from OpenQASM 2 burgholzer (680)
- ๐ธ rename algorithms target and adapt nox config burgholzer (672)
- ๐ฅ remove ECC framework burgholzer (667)
๐ Bug Fixes
- ๐ฉน make sure to activate the venv in RtD build burgholzer (717)
- ๐ฉน fix endless loop on unsupported operations in OpenQASM gate declarations burgholzer (700)
- ๐ Fix dynamic circuit detection burgholzer (687)
- ๐ฉน make sure to define `Py_GIL_DISABLED` on Windows for Python 3.13t burgholzer (682)
- ๐ฉนfix loading circuits from `PathLike` objects burgholzer (681)
- โฌ๏ธ require `pybind11 >= 2.13.5` burgholzer (679)
- ๐ฉน disentangle `mqt-core-dd` and `mqt-core-algo` burgholzer (670)
๐ Documentation
- ๐ฉน make sure to activate the venv in RtD build burgholzer (717)
๐ค CI
- โฌ๏ธ๐ช Update pre-commit hook pre-commit/pre-commit-hooks to v5 renovate (718)
- โฌ๏ธ๐ช Update pre-commit hook crate-ci/typos to v1.25.0 renovate (716)
- โฌ๏ธ๐ช Update pre-commit hook pre-commit/mirrors-clang-format to v19.1.1 renovate (714)
- โฌ๏ธ๐ช Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.9 renovate (713)
- โฌ๏ธ๐ช Update pre-commit hook python-jsonschema/check-jsonschema to v0.29.3 renovate (715)
- ๐ง update renovate configuration burgholzer (712)
- ๐ง adjust how the CD workflow is run burgholzer (710)
- โ๏ธ upload to Test PyPI for pushes on `main` burgholzer (666)
- โฌ๏ธ๐ช Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.8 renovate (709)
- โฌ๏ธ๐ช Update pre-commit hook pre-commit/mirrors-clang-format to v19 renovate (708)
- โฌ๏ธ๐ช Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.7 renovate (702)
- โฌ๏ธ๐ช Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.6 renovate (701)
- โฌ๏ธ update MQT workflows to `v1.4` burgholzer (692)
- โฌ๏ธ๐ช Update pre-commit hook crate-ci/typos to v1.24.6 renovate (696)
- ๐ท Configure Renovate renovate (695)
- โฌ๏ธ update mqt-workflows to v1.3 (moving tag) burgholzer (665)
๐ฆ Packaging
- ๐ง adjust how the CD workflow is run burgholzer (710)
- โ๏ธ upload to Test PyPI for pushes on `main` burgholzer (666)
- ๐โฌ๏ธ update image for Linux wheel builds to `manylinux_2_28` burgholzer (683)
- โฌ๏ธ update to scikit-build-core 0.10 burgholzer (664)
๐งน Code Quality
- ๐ธ Small library improvements burgholzer (686)
- ๐ธ improve nox sessions burgholzer (685)
- ๐จ fix Qiskit 1.2 deprecation warnings burgholzer (673)
โฌ๏ธ Dependencies
<details>
<summary>33 changes</summary>
- โฌ๏ธ๐ Lock file maintenance renovate (706)
- โฌ๏ธ๐ช update pre-commit hooks pre-commit-ci (719)
- โฌ๏ธ๐ช Update pre-commit hook pre-commit/pre-commit-hooks to v5 renovate (718)
- โฌ๏ธ๐ช Update pre-commit hook crate-ci/typos to v1.25.0 renovate (716)
- โฌ๏ธ๐ช Update pre-commit hook pre-commit/mirrors-clang-format to v19.1.1 renovate (714)
- โฌ๏ธ๐ช Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.9 renovate (713)
- โฌ๏ธ๐ช Update pre-commit hook python-jsonschema/check-jsonschema to v0.29.3 renovate (715)
- ๐ง update renovate configuration burgholzer (712)
- ๐ง adjust how the CD workflow is run burgholzer (710)
- โ๏ธ upload to Test PyPI for pushes on `main` burgholzer (666)
- โฌ๏ธ๐ช Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.8 renovate (709)
- โฌ๏ธ๐ช Update pre-commit hook pre-commit/mirrors-clang-format to v19 renovate (708)
- โฌ๏ธ๐ช update pre-commit hooks pre-commit-ci (707)
- โฌ๏ธ๐ Lock file maintenance renovate (705)
- โฌ๏ธ๐ Lock file maintenance renovate (703)
- โฌ๏ธ๐ช Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.7 renovate (702)
- โฌ๏ธ๐ช Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.6 renovate (701)
- โฌ๏ธ update MQT workflows to `v1.4` burgholzer (692)
- โฌ๏ธ๐ Lock file maintenance renovate (698)
- โฌ๏ธ๐ช Update pre-commit hook crate-ci/typos to v1.24.6 renovate (696)
- ๐ท Configure Renovate renovate (695)
- ๐ uv lock file burgholzer (694)
- โฌ๏ธ๐ช update pre-commit hooks pre-commit-ci (693)
- Bump actions/attest-build-provenance from 1.4.2 to 1.4.3 in the github-actions group dependabot (688)
- ๐ฅ drop Python 3.8 support burgholzer (684)
- ๐ธ Small library improvements burgholzer (686)
- โฌ๏ธ require `pybind11 >= 2.13.5` burgholzer (679)
- โฌ๏ธ๐ช update pre-commit hooks pre-commit-ci (676)
- Bump actions/attest-build-provenance from 1.4.1 to 1.4.2 in the github-actions group dependabot (677)
- โฌ๏ธ๐ช update pre-commit hooks pre-commit-ci (675)
- Bump actions/attest-build-provenance from 1.4.0 to 1.4.1 in the github-actions group dependabot (671)
- โฌ๏ธ update mqt-workflows to v1.3 (moving tag) burgholzer (665)
- โฌ๏ธ update to scikit-build-core 0.10 burgholzer (664)
</details>
**Full Changelog**: https://github.com/cda-tum/mqt-core/compare/v2.6.0...v2.7.0