MQT Core 3.0.0 Release
·
62 commits
to refs/heads/main
since this release
👀 What Changed
Please refer to the changelog and the upgrade guide for a structured overview of the changes.
⚛️ MQT Core IR
- 🔥 Remove
Teleportation
gate (#882) (@burgholzer) - 🚨 Run clang-tidy on MLIR subproject, switch to
LLVM@20
, and update toCMake >= 3.24
(#879) (@burgholzer) - 🩹 Add
insert_or_assign
method toPermutation
class (#870) (@burgholzer) - ✨Add continuous testing workflow for Qiskit main branch (#860) (@burgholzer)
- ✨ Add Python interface improvements and Qiskit export support (#859) (@burgholzer)
- ♻️🐛 Refactor
qc::Permutation
and fix corner case in Qiskit layout import (#858) (@burgholzer) - 📝 Slightly improve code documentation and
QuantumComputation.__repr__
(#851) (@burgholzer) - 🐛 Fix and enhance Qiskit layout and permutation handling (#850) (@burgholzer)
- 🔧 Handle empty quantum and classical registers in qiskit to MQT translation (#849) (@burgholzer)
- ⬆️ scikit-build-core 0.11, PEP 639 license expressions, sphinx fixes, more automerge (#847) (@burgholzer)
- ⬆️ Update googletest and Boost Multiprecision dependencies (#840) (@burgholzer)
- 🚸 Allow indexed registers as operation arguments (#839) (@burgholzer)
- 🚸 Add support for indexed identifiers and improve OpenQASM handling (#832) (@burgholzer)
- ✨ Add State Preparation Algorithm (#543) (@M-J-Hochreiter)
- ♻️ Refactor QASM import functionality and remove deprecated formats (#822) (@burgholzer)
- ✨ Ancillary and garbage support (#635) (@TooMuchDakka)
- ♻️ Refactor handling of gate matrices and inverses (#752) (@rotmanjanez)
- 🔧 update Python coverage configuration (#811) (@burgholzer)
- 🐛 fix permutation handling in QASM dump (#810) (@burgholzer)
- 🐛 use fuzzy comparison for floating point in const evaluation equality check (#809) (@burgholzer)
- 🐛 do not invalidate iterator in block collection (#808) (@burgholzer)
- 🐛 Fix stripping of idle qubits (#763) (@burgholzer)
- ♻️ Refactor and improve register handling (#807) (@burgholzer)
- 🔒 update to latest
uv
version that properly supports dynamically versioned packages (#802) (@burgholzer) - ✨ ship shared C++ libraries with mqt-core Python package (#662) (@burgholzer)
- ♻️🎨 Code cleanup and refactors (#798) (@burgholzer)
- 🚸 slightly tweak how optional qiskit dependency is handled (#797) (@burgholzer)
- 📝 Rework existing project documentation (#789) (@burgholzer)
- ➖ simplify dependencies after
uv
update (#786) (@burgholzer) - 📄 add license headers (#770) (@burgholzer)
- 🚨 adapt to warnings related to Qiskit 1.3 (#771) (@burgholzer)
- ✨ Adopt PEP 735 dependency groups (#762) (@burgholzer)
- 🐛 Fix out-of-bounds error in ZX
EdgeIterator
and needless dummy register in empty circuit construction (#758) (@burgholzer) - 🐛 properly handle timing literals in QASM parser (#724) (@burgholzer)
- 🔧 use separate build directories per Python version (#721) (@burgholzer)
⚖️ MQT Core DD Package
- 🎨 slightly touch up template instantiations and use more trailing return types (#902) (@burgholzer)
- ♻️ Eliminate templates from
dd::Package
class (#886) (@burgholzer) - 🔥 Remove
extract_probability_vector
functionality (#883) (@burgholzer) - ♻️ Remove template parameter from MemoryManager and adjacent classes (#866) (@rotmanjanez)
- ⚗️ Fix potential division by zero error and tweak DD evaluation settings (#873) (@burgholzer)
- 📝 Add documentation for DD package (#831) (@burgholzer)
- ✨🐍 DD Package Python bindings (#838) (@burgholzer)
- ♻️🎨 Code cleanup and refactors (#798) (@burgholzer)
- 🎨 further DD usability improvements (#764) (@burgholzer)
- 🚸♻️ convenience methods and updates for DD functionality (#674) (@burgholzer)
- 🐛 fix endianness in DCX and XX_minus_YY gate matrix definition (#741) (@burgholzer)
🕸️ MQT Core ZX Package
- 🐛 restore installation of Boost multiprecision headers (#901) (@burgholzer)
- 📝 Add documentation for ZX-calculus package and C++ API docs setup (#817) (@pehamTom)
- 🐛 Fix out-of-bounds error in ZX
EdgeIterator
and needless dummy register in empty circuit construction (#758) (@burgholzer)
🏼 MQT Core NA Package
- 🎨 Add U operation and allow for Multiple Zones (#877) (@ystade)
- 🎨 Refactor
NAComputation
with concrete base classes for every operation and ouput new.naviz
format (#846) (@ystade)
🐉 MQT Core MLIR
- Add first optimization passes to MQTOpt (#892) (@DRovara)
- 🏗️ Enforce LLVM-20 when building MLIR subdirectory (#895) (@DRovara)
- Clean Up mqt-core round-trip pass (#893) (@DRovara)
- 🚨 Run clang-tidy on MLIR subproject, switch to
LLVM@20
, and update toCMake >= 3.24
(#879) (@burgholzer) - ✨ Initial Infrastructure for MLIR within the MQT (#878) (@burgholzer)
🚀 Features and Enhancements
- Add first optimization passes to MQTOpt (#892) (@DRovara)
- ♻️ Eliminate templates from
dd::Package
class (#886) (@burgholzer) - 🔥 Remove
extract_probability_vector
functionality (#883) (@burgholzer) - 🔥 Remove
Teleportation
gate (#882) (@burgholzer) - 🎨 Add U operation and allow for Multiple Zones (#877) (@ystade)
- ✨ Initial Infrastructure for MLIR within the MQT (#878) (@burgholzer)
- ♻️ Remove template parameter from MemoryManager and adjacent classes (#866) (@rotmanjanez)
- ⚗️ Fix potential division by zero error and tweak DD evaluation settings (#873) (@burgholzer)
- ✨ Add Python interface improvements and Qiskit export support (#859) (@burgholzer)
- 🎨 Refactor
NAComputation
with concrete base classes for every operation and ouput new.naviz
format (#846) (@ystade) - 🔧 Only enable IPO per default for Release builds outside of deployment (#841) (@burgholzer)
- 🚸 Allow indexed registers as operation arguments (#839) (@burgholzer)
- ✨🐍 DD Package Python bindings (#838) (@burgholzer)
- 🚸 Add support for indexed identifiers and improve OpenQASM handling (#832) (@burgholzer)
- ✨ Add State Preparation Algorithm (#543) (@M-J-Hochreiter)
- ♻️ Refactor QASM import functionality and remove deprecated formats (#822) (@burgholzer)
- ✨ Ancillary and garbage support (#635) (@TooMuchDakka)
- ♻️ Refactor handling of gate matrices and inverses (#752) (@rotmanjanez)
- 🐛 Fix stripping of idle qubits (#763) (@burgholzer)
- ♻️ Refactor and improve register handling (#807) (@burgholzer)
- ✨ ship shared C++ libraries with mqt-core Python package (#662) (@burgholzer)
- ♻️🎨 Code cleanup and refactors (#798) (@burgholzer)
- 🚸 slightly tweak how optional qiskit dependency is handled (#797) (@burgholzer)
- 🎨 further DD usability improvements (#764) (@burgholzer)
- 🚸♻️ convenience methods and updates for DD functionality (#674) (@burgholzer)
🐛 Bug Fixes
- 🐛 restore installation of Boost multiprecision headers (#901) (@burgholzer)
- 🩹 Fix workflow references and permissions (#894) (@burgholzer)
- 🩹 Add
insert_or_assign
method toPermutation
class (#870) (@burgholzer) - ✨ Add Python interface improvements and Qiskit export support (#859) (@burgholzer)
- ♻️🐛 Refactor
qc::Permutation
and fix corner case in Qiskit layout import (#858) (@burgholzer) - 🐛 Fix and enhance Qiskit layout and permutation handling (#850) (@burgholzer)
- 🔧 Handle empty quantum and classical registers in qiskit to MQT translation (#849) (@burgholzer)
- 🐛 fix permutation handling in QASM dump (#810) (@burgholzer)
- 🐛 use fuzzy comparison for floating point in const evaluation equality check (#809) (@burgholzer)
- 🐛 do not invalidate iterator in block collection (#808) (@burgholzer)
- 🐛 Fix stripping of idle qubits (#763) (@burgholzer)
- 🐛 Fix out-of-bounds error in ZX
EdgeIterator
and needless dummy register in empty circuit construction (#758) (@burgholzer) - 🐛 fix endianness in DCX and XX_minus_YY gate matrix definition (#741) (@burgholzer)
- 🐛 properly handle timing literals in QASM parser (#724) (@burgholzer)
- 🔧📝 unshallow git clone for RtD (#722) (@burgholzer)
📄 Documentation
- ✨📝 Add changelog and upgrade guide infrastructure (#909) (@burgholzer)
- 📝 Branding and config update (#896) (@burgholzer)
- 📝 Add JOSS paper (#869) (@burgholzer)
- 📝 Update documentation to reflect recent changes (#861) (@burgholzer)
- 📝 Slightly improve code documentation and
QuantumComputation.__repr__
(#851) (@burgholzer) - 📝 Add documentation for ZX-calculus package and C++ API docs setup (#817) (@pehamTom)
- ✨📝 Rework and modernize the development guide (#842) (@burgholzer)
- 📝 Add documentation for DD package (#831) (@burgholzer)
- 📝 Rework existing project documentation (#789) (@burgholzer)
- 📄 update copyright notice (#788) (@burgholzer)
- 📄 add license headers (#770) (@burgholzer)
- 🔧📝 unshallow git clone for RtD (#722) (@burgholzer)
- 🔧 update release drafter template and renovate config (#720) (@burgholzer)
📦 Packaging
- 🔒 update to latest
uv
version that properly supports dynamically versioned packages (#802) (@burgholzer) - ✨ ship shared C++ libraries with mqt-core Python package (#662) (@burgholzer)
- ✨ Adopt PEP 735 dependency groups (#762) (@burgholzer)
🧹 Code Quality
- 🔧 Minor updates for CMake configuration (#906) (@burgholzer)
- 🎨 slightly touch up template instantiations and use more trailing return types (#902) (@burgholzer)
- Clean Up mqt-core round-trip pass (#893) (@DRovara)
- 🚨 Run clang-tidy on MLIR subproject, switch to
LLVM@20
, and update toCMake >= 3.24
(#879) (@burgholzer) - ♻️ Remove template parameter from MemoryManager and adjacent classes (#866) (@rotmanjanez)
- ♻️🐛 Refactor
qc::Permutation
and fix corner case in Qiskit layout import (#858) (@burgholzer) - ♻️ Refactor QASM import functionality and remove deprecated formats (#822) (@burgholzer)
- ♻️ Refactor and improve register handling (#807) (@burgholzer)
- ♻️🎨 Code cleanup and refactors (#798) (@burgholzer)
- 🚨 adapt to warnings related to Qiskit 1.3 (#771) (@burgholzer)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.0 (#757) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- 🔧 use separate build directories per Python version (#721) (@burgholzer)
🤖 CI
- 🏗️ Enforce LLVM-20 when building MLIR subdirectory (#895) (@DRovara)
- 🩹 Fix workflow references and permissions (#894) (@burgholzer)
- 🚨 Run clang-tidy on MLIR subproject, switch to
LLVM@20
, and update toCMake >= 3.24
(#879) (@burgholzer) - ✨Add continuous testing workflow for Qiskit main branch (#860) (@burgholzer)
- 👷⬆️ update MQT workflows to v1.7 (#812) (@burgholzer)
- 🔧 update Python coverage configuration (#811) (@burgholzer)
- 👷⬆️ update MQT workflows to v1.6 (#803) (@burgholzer)
- 🚨 adapt to warnings related to Qiskit 1.3 (#771) (@burgholzer)
⬆️ Dependencies
104 changes
- ⬆️ update lower bounds of dev dependencies (#907) (@burgholzer)
- ⬆️👨💻 Update munich-quantum-toolkit/workflows action to v1.8 (#905) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.11.4 (#903) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.31.1 (#904) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#891) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- 🏗️ Enforce LLVM-20 when building MLIR subdirectory (#895) (@DRovara)
- ⬆️🪝 Update pre-commit hook python-jsonschema/check-jsonschema to v0.32.1 (#889) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.31.0 (#888) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#884) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- 🚨 Run clang-tidy on MLIR subproject, switch to
LLVM@20
, and update toCMake >= 3.24
(#879) (@burgholzer) - ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.11.2 (#864) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#872) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️👨💻 Update actions/github-script action to v7 (#871) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#857) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook rbubley/mirrors-prettier to v3.5.3 (#855) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook python-jsonschema/check-jsonschema to v0.31.3 (#854) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.30.1 (#853) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.9.10 (#852) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️ scikit-build-core 0.11, PEP 639 license expressions, sphinx fixes, more automerge (#847) (@burgholzer)
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.30.0 (#844) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.9.9 (#843) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️ Update googletest and Boost Multiprecision dependencies (#840) (@burgholzer)
- ⬆️🐍 Lock file maintenance (#837) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook rbubley/mirrors-prettier to v3.5.2 (#836) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook python-jsonschema/check-jsonschema to v0.31.2 (#835) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.9.7 (#833) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.29.9 (#834) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#830) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.29.7 (#828) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook rbubley/mirrors-prettier to v3.5.1 (#829) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.9.6 (#827) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#825) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-mypy to v1.15.0 (#824) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.9.5 (#823) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#821) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook python-jsonschema/check-jsonschema to v0.31.1 (#820) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.29.5 (#819) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.9.4 (#818) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#816) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.9.3 (#815) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- 👷⬆️ update MQT workflows to v1.7 (#812) (@burgholzer)
- ⬆️🐍 Lock file maintenance (#806) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.9.2 (#804) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-clang-format to v19.1.7 (#805) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- 🔒 update to latest
uv
version that properly supports dynamically versioned packages (#802) (@burgholzer) - ⬆️🐍 Lock file maintenance (#801) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook python-jsonschema/check-jsonschema to v0.31.0 (#800) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.9.1 (#799) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#795) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.6 (#794) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-clang-format to v19.1.6 (#793) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.29.4 (#792) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.5 (#790) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-mypy to v1.14.1 (#791) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#787) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ➖ simplify dependencies after
uv
update (#786) (@burgholzer) - ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.4 (#782) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#785) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-mypy to v1.14.0 (#784) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.28.4 (#783) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#769) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-clang-format to v19.1.5 (#781) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.28.3 (#780) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.3 (#779) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️👨💻 Update actions/attest-build-provenance action to v2 (#777) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook sirosen/texthooks to v0.6.8 (#776) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.2 (#773) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook rbubley/mirrors-prettier to v3.4.2 (#775) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.28.2 (#774) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.1 (#765) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook python-jsonschema/check-jsonschema to v0.30.0 (#768) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook rbubley/mirrors-prettier to v3.4.1 (#767) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.28.1 (#766) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#755) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️👨💻 Update cda-tum/mqt-workflows action to v1.5 (#759) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.28.0 (#760) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.0 (#757) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook rbubley/mirrors-prettier to v3.4.0 (#761) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-clang-format to v19.1.4 (#756) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#754) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.7.4 (#753) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#750) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.7.3 (#748) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️👨💻 Update actions/attest-build-provenance action to v1.4.4 (#747) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.27.3 (#749) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#746) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.27.0 (#745) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-clang-format to v19.1.3 (#744) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.7.2 (#743) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#742) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-mypy to v1.13.0 (#740) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.26.8 (#739) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.7.1 (#738) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook adamchainz/blacken-docs to v1.19.1 (#737) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#736) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-mypy to v1.12.1 (#735) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook srstevenson/nb-clean to v4.0.1 (#734) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook srstevenson/nb-clean to v4 (#733) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-mypy to v1.12.0 (#732) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.7.0 (#731) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-clang-format to v19.1.2 (#730) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🐍 Lock file maintenance (#727) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook adamchainz/blacken-docs to v1.19.0 (#726) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook python-jsonschema/check-jsonschema to v0.29.4 (#725) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
Full Changelog: v2.7.0...v3.0.0