👀 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.
🚀 Features and Enhancements
- 🔒 uv lock file burgholzer (462)
- 🚸 Small library improvements burgholzer (456)
- 🐍⬆️ update image for Linux wheel builds to `manylinux_2_28` burgholzer (453)
🐛 Bug Fixes
- 🩹 make sure to define `Py_GIL_DISABLED` on Windows for Python 3.13t burgholzer (452)
- ⬆️ require `pybind11 >= 2.13.5` burgholzer (451)
🤖 CI
- ⬆️🪝 Update pre-commit hook pre-commit/pre-commit-hooks to v5 renovate (473)
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-clang-format to v19.1.1 renovate (470)
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.25.0 renovate (472)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.9 renovate (469)
- ⬆️🪝 Update pre-commit hook python-jsonschema/check-jsonschema to v0.29.3 renovate (471)
- ⚗️ upload to Test PyPI for pushes on `main` burgholzer (461)
- 🔧 update renovate configuration burgholzer (467)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.8 renovate (464)
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-clang-format to v19 renovate (465)
- Configure Renovate renovate (463)
📦 Packaging
- ⚗️ upload to Test PyPI for pushes on `main` burgholzer (461)
- 🐍⬆️ update image for Linux wheel builds to `manylinux_2_28` burgholzer (453)
🧹 Code Quality
- 🚸 Small library improvements burgholzer (456)
⬆️ Dependencies
<details>
<summary>22 changes</summary>
- ⬆️ Update `cda-tum/mqt-core` github-actions (475)
- ⬆️🐍 Lock file maintenance renovate (468)
- ⬆️🪝 update pre-commit hooks pre-commit-ci (474)
- ⬆️🪝 Update pre-commit hook pre-commit/pre-commit-hooks to v5 renovate (473)
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-clang-format to v19.1.1 renovate (470)
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.25.0 renovate (472)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.9 renovate (469)
- ⬆️🪝 Update pre-commit hook python-jsonschema/check-jsonschema to v0.29.3 renovate (471)
- ⚗️ upload to Test PyPI for pushes on `main` burgholzer (461)
- 🔧 update renovate configuration burgholzer (467)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.8 renovate (464)
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-clang-format to v19 renovate (465)
- Configure Renovate renovate (463)
- ⬆️ update mqt-core burgholzer (460)
- 🔒 uv lock file burgholzer (462)
- ⬆️🪝 update pre-commit hooks pre-commit-ci (459)
- Bump cda-tum/mqt-workflows from 1.3 to 1.4 in the github-actions group dependabot (458)
- ⬆️🪝 update pre-commit hooks pre-commit-ci (457)
- 🔥 drop Python 3.8 support burgholzer (454)
- 🚸 Small library improvements burgholzer (456)
- Bump actions/attest-build-provenance from 1.4.2 to 1.4.3 in the github-actions group dependabot (455)
- ⬆️ require `pybind11 >= 2.13.5` burgholzer (451)
</details>
**Full Changelog**: https://github.com/cda-tum/mqt-qcec/compare/v2.7.1...v2.8.0