Releases: cda-tum/mqt-core
MQT Core 3.0.0 Beta 1 Pre-Release
👀 What Changed
This is a pre-release for the next major version of mqt-core.
The main reason for creating a pre-release is to test the new functionality available as part of the mqt-core Python package.
The package now ships the shared libraries of all of mqt-core and makes them available to people installing the package via Python.
Given how fickle of a process the distribution of pre-built shared libraries is, some elaborate testing is in order.
⚛️ MQT Core
- 🔒 update to latest
uv
version that properly supports dynamically versioned packages @burgholzer (#802) - ✨ ship shared C++ libraries with mqt-core Python package @burgholzer (#662)
- ♻️🎨 Code cleanup and refactors @burgholzer (#798)
- 🚸 slightly tweak how optional qiskit dependency is handled @burgholzer (#797)
- 📝 Rework existing project documentation @burgholzer (#789)
- ➖ simplify dependencies after
uv
update @burgholzer (#786) - 📄 add license headers @burgholzer (#770)
- 🚨 adapt to warnings related to Qiskit 1.3 @burgholzer (#771)
- ✨ Adopt PEP 735 dependency groups @burgholzer (#762)
- 🐛 Fix out-of-bounds error in ZX
EdgeIterator
and needless dummy register in empty circuit construction @burgholzer (#758) - 🐛 properly handle timing literals in QASM parser @burgholzer (#724)
- 🔧 use separate build directories per Python version @burgholzer (#721)
⚖️ MQT Core DD Package
- ♻️🎨 Code cleanup and refactors @burgholzer (#798)
- 🎨 further DD usability improvements @burgholzer (#764)
- 🚸♻️ convenience methods and updates for DD functionality @burgholzer (#674)
- 🐛 fix endianness in DCX and XX_minus_YY gate matrix definition @burgholzer (#741)
🕸️ MQT Core ZX Package
- 🐛 Fix out-of-bounds error in ZX
EdgeIterator
and needless dummy register in empty circuit construction @burgholzer (#758)
🚀 Features and Enhancements
- ✨ ship shared C++ libraries with mqt-core Python package @burgholzer (#662)
- ♻️🎨 Code cleanup and refactors @burgholzer (#798)
- 🚸 slightly tweak how optional qiskit dependency is handled @burgholzer (#797)
- 🎨 further DD usability improvements @burgholzer (#764)
- 🚸♻️ convenience methods and updates for DD functionality @burgholzer (#674)
🐛 Bug Fixes
- 🐛 Fix out-of-bounds error in ZX
EdgeIterator
and needless dummy register in empty circuit construction @burgholzer (#758) - 🐛 fix endianness in DCX and XX_minus_YY gate matrix definition @burgholzer (#741)
- 🐛 properly handle timing literals in QASM parser @burgholzer (#724)
- 🔧📝 unshallow git clone for RtD @burgholzer (#722)
📄 Documentation
- 📝 Rework existing project documentation @burgholzer (#789)
- 📄 update copyright notice @burgholzer (#788)
- 📄 add license headers @burgholzer (#770)
- 🔧📝 unshallow git clone for RtD @burgholzer (#722)
- 🔧 update release drafter template and renovate config @burgholzer (#720)
📦 Packaging
- 🔒 update to latest
uv
version that properly supports dynamically versioned packages @burgholzer (#802) - ✨ ship shared C++ libraries with mqt-core Python package @burgholzer (#662)
- ✨ Adopt PEP 735 dependency groups @burgholzer (#762)
🧹 Code Quality
- ♻️🎨 Code cleanup and refactors @burgholzer (#798)
- 🚨 adapt to warnings related to Qiskit 1.3 @burgholzer (#771)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.0 @renovate (#757)
- 🔧 use separate build directories per Python version @burgholzer (#721)
🤖 CI
- 🚨 adapt to warnings related to Qiskit 1.3 @burgholzer (#771)
⬆️ Dependencies
60 changes
- 🔒 update to latest
uv
version that properly supports dynamically versioned packages @burgholzer (#802) - ⬆️🐍 Lock file maintenance @renovate (#801)
- ⬆️🪝 Update pre-commit hook python-jsonschema/check-jsonschema to v0.31.0 @renovate (#800)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.9.1 @renovate (#799)
- ⬆️🐍 Lock file maintenance @renovate (#795)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.6 @renovate (#794)
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-clang-format to v19.1.6 @renovate (#793)
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.29.4 @renovate (#792)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.5 @renovate (#790)
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-mypy to v1.14.1 @renovate (#791)
- ⬆️🐍 Lock file maintenance @renovate (#787)
- ➖ simplify dependencies after
uv
update @burgholzer (#786) - ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.4 @renovate (#782)
- ⬆️🐍 Lock file maintenance @renovate (#785)
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-mypy to v1.14.0 @renovate (#784)
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.28.4 @renovate (#783)
- ⬆️🐍 Lock file maintenance @renovate (#769)
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-clang-format to v19.1.5 @renovate (#781)
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.28.3 @renovate (#780)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.3 @renovate (#779)
- ⬆️👨💻 Update actions/attest-build-provenance action to v2 @renovate (#777)
- ⬆️🪝 Update pre-commit hook sirosen/texthooks to v0.6.8 @renovate (#776)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.2 @renovate (#773)
- ⬆️🪝 Update pre-commit hook rbubley/mirrors-prettier to v3.4.2 @renovate (#775)
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.28.2 @renovate (#774)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.1 @renovate (#765)
- ⬆️🪝 Update pre-commit hook python-jsonschema/check-jsonschema to v0.30.0 @renovate (#768)
- ⬆️🪝 Update pre-commit hook rbubley/mirrors-prettier to v3.4.1 @renovate (#767)
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.28.1 @renovate (#766)
- ⬆️🐍 Lock file maintenance @renovate (#755)
- ⬆️👨💻 Update cda-tum/mqt-workflows action to v1.5 @renovate (#759)
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.28.0 @renovate (#760)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.0 @renovate (#757)
- ⬆️🪝 Update pre-commit hook rbubley/mirrors-prettier to v3.4.0 @renovate (#761)
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-clang-format to v19.1.4 @renovate (#756)
- ⬆️🐍 Lock file maintenance @renovate (#754)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.7.4 @renovate (#753)
- ⬆️🐍 Lock file maintenance @renovate (#750)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.7.3 @renovate (#748)
- ⬆️👨💻 Update actions/attest-build-provenance action to v1.4.4 @renovate (#747)
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.27.3 @renovate (#749)
- ⬆️🐍 Lock file maintenance @renovate (#746)
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.27.0 @renovate (#745)
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-clang-format to v19.1.3 @renovate (#744)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.7.2 @renovate (#743)
- ⬆️🐍 Lock file maintenance @renovate (#742)
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-mypy to v1.13.0 @renovate (#740)
- ⬆️🪝 Update pre-commit hook crate-ci/typos to v1.26.8 @renovate (#739)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.7.1 @renovate (#738)
- ⬆️🪝 Update pre-commit hook adamchainz/blacken-docs to v1.19.1 @renovate (#737)
- ⬆️🐍 Lock file maintenance @renovate (#736)
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-mypy to v1.12.1 @renovate (#735)
- ⬆️🪝 Update pre-commit hook srstevenson/nb-clean to v4.0.1 @renovate (#734)
- ⬆️🪝 Update pre-commit hook srstevenson/nb-clean to v4 @renovate (#733)
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-mypy to v1.12.0 @renovate (#732)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.7.0 @renovate (#731)
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-clang-format to v19.1.2 @renovate (#730)
- ⬆️🐍 Lock file maintenance @renovate (#727)
- ⬆️🪝 Update pre-commit hook adamchainz/blacken-docs to v1.19.0 @renovate (#726)
- ⬆️🪝 Update pre-commit hook python-jsonschema/check-jsonschema to v0.29.4 @renovate (#725)
Full Changelog: v2.7.0...v3.0.0
MQT Core 2.7.0 Release
👀 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
fromnoxfile
topyproject.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 toQuantumComputation
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
, andc4x
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
andmqt-core-algo
@burgholzer (#670)
🚀 Features and Enhancements
- ♻️ move
--reinstall-package
fromnoxfile
topyproject.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 toQuantumComputation
class @burgholzer (#689) - 🚸 Small library improvements @burgholzer (#686)
- 🐍⬆️ update image for Linux wheel builds to
manylinux_2_28
@burgholzer (#683) - 🚸 natively support
c3x
,c3sqrtx
, andc4x
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
andmqt-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
33 changes
- ⬆️🐍 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)
Full Changelog: v2.6.0...v2.7.0
MQT Core 2.6.0 Release
👀 What Changed
This release brings a couple of enhancements regarding neutral atom compilation amongst other small improvements.
Most notably, it marks the first release to ship Python 3.13 wheels (including the free-threading variant).
⚛️ MQT Core
- ✨ Python 3.13 Support @burgholzer (#656)
- 🏷️ providing a convenient
CircuitInputType
@burgholzer (#661) - 🎨 Move validation function from qmap to NAComputation @ystade (#660)
- Support for Neutral Atom State Preparation @ystade (#658)
- Layer: Allow Redundant Gates @ystade (#655)
- ✨ Add
customGate
flag and optimizer functionality to flatten only custom gates @DRovara (#651) - 🩹 fix erroneous cast in
AodOperation
@burgholzer (#647) - ⚡ only build bindings target for Python package @burgholzer (#643)
- 🐛 Support
u
gate when parsing OpenQASM 2 @ystade (#639)
⚖️ MQT Core DD Package
- 🚸 make
dd/Package.hpp
exportdd/Package_fwd.hpp
@burgholzer (#640)
🚀 Features and Enhancements
- ✨ Python 3.13 Support @burgholzer (#656)
- 🏷️ providing a convenient
CircuitInputType
@burgholzer (#661) - 🎨 Move validation function from qmap to NAComputation @ystade (#660)
- Support for Neutral Atom State Preparation @ystade (#658)
- Layer: Allow Redundant Gates @ystade (#655)
- ✨ Add
customGate
flag and optimizer functionality to flatten only custom gates @DRovara (#651) - 🚸 make
dd/Package.hpp
exportdd/Package_fwd.hpp
@burgholzer (#640)
🐛 Bug Fixes
- 🩹📝 fix docs build @burgholzer (#659)
- 🩹 fix erroneous cast in
AodOperation
@burgholzer (#647) - 🐛 Support
u
gate when parsing OpenQASM 2 @ystade (#639)
📄 Documentation
- 🩹📝 fix docs build @burgholzer (#659)
🤖 CI
- 📦 add artifact attestation @burgholzer (#638)
- 🚨🩹 fix the ruff
banned-api
configuration @burgholzer (#637)
📦 Packaging
- ✨ Python 3.13 Support @burgholzer (#656)
- ⚡ only build bindings target for Python package @burgholzer (#643)
- 📦 add artifact attestation @burgholzer (#638)
🧹 Code Quality
- 🚸 make
dd/Package.hpp
exportdd/Package_fwd.hpp
@burgholzer (#640) - 🚨🩹 fix the ruff
banned-api
configuration @burgholzer (#637)
⬆️ Dependencies
11 changes
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#657)
- Bump the github-actions group with 2 updates @dependabot (#654)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#653)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#650)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#648)
- Bump actions/attest-build-provenance from 1.3.2 to 1.3.3 in the github-actions group @dependabot (#646)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#645)
- Bump cda-tum/mqt-workflows from 1.1.3 to 1.1.4 in the github-actions group @dependabot (#642)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#641)
- Bump cda-tum/mqt-workflows from 1.1.0 to 1.1.3 in the github-actions group @dependabot (#636)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#634)
Full Changelog: v2.5.1...v2.6.0
MQT Core 2.5.1 Release
👀 What Changed
This small update brings along support for the new Neutral Atom Hybrid Mapper over in the QMAP repository as well as some quality of life improvements across the package.
On the Python package part of the codebase, the resulting wheels are considerably smaller now, as they just contain the Python component of mqt-core.
On the DD part of the codebase, the trace computation finally received a compute table, which significantly speeds it up.
On the CI/CD side, this marks the first release that makes use of the reusable workflows hosted over at https://github.com/cda-tum/mqt-workflows.
⚛️ MQT Core
- 🚸 Support for adding tests to NALAC @ystade (#629)
- ✨ add an export header to explicitly manage symbol visibility @burgholzer (#627)
- Generalize concept of removing OpTypes @lsschmid (#624)
- 🚸 new test macro with customizable working directory @burgholzer (#622)
- Moved symmetric matrix to datastructures @lsschmid (#621)
- 🚨 fix shadowing compiler warnings @burgholzer (#620)
- 🚸 Better QASM parser exceptions @burgholzer (#618)
- Change namespace to na and extend Point class @lsschmid (#619)
- Hybrid Neutral Atom Mapper Functionality @lsschmid (#610)
- 📦 only install the Python component of MQT Core in Python package builds @burgholzer (#609)
⚖️ MQT Core DD Package
🚀 Features and Enhancements
- Improvements for Trace Computation @TeWas (#628)
- 🚸 Support for adding tests to NALAC @ystade (#629)
- ✨ add an export header to explicitly manage symbol visibility @burgholzer (#627)
- Generalize concept of removing OpTypes @lsschmid (#624)
- 🚸 new test macro with customizable working directory @burgholzer (#622)
- Moved symmetric matrix to datastructures @lsschmid (#621)
- 🚸 Better QASM parser exceptions @burgholzer (#618)
- ⚡ faster RtD @burgholzer (#615)
- Hybrid Neutral Atom Mapper Functionality @lsschmid (#610)
🐛 Bug Fixes
- 🩹 make sure to use the install rpath for build @burgholzer (#626)
- 📦 only install the Python component of MQT Core in Python package builds @burgholzer (#609)
- 🩹 make GMP dependency opt-in instead of used-if-found @burgholzer (#608)
📄 Documentation
- ⚡ faster RtD @burgholzer (#615)
🤖 CI
- ⚡🔧 Faster
cibuildwheel
and better Windows wheel repair @burgholzer (#631) - 🎨🚨 Improved formatting and linting config @burgholzer (#625)
- ⚡ faster RtD @burgholzer (#615)
- ⬆️ update black version in blacken-docs @burgholzer (#614)
- 🧱 switch to new coverage collection workflows @burgholzer (#612)
- 🧱 switch to dedicated reusable MQT workflows @burgholzer (#607)
📦 Packaging
- 📦 only install the Python component of MQT Core in Python package builds @burgholzer (#609)
🧹 Code Quality
- 🎨🚨 Improved formatting and linting config @burgholzer (#625)
- 🚨 fix shadowing compiler warnings @burgholzer (#620)
- 🚨 Fix new warnings revealed by clang-tidy 18 @burgholzer (#611)
⬆️ Dependencies
10 changes
- ⚡🔧 Faster
cibuildwheel
and better Windows wheel repair @burgholzer (#631) - ⬆️🪝 update pre-commit hooks @pre-commit-ci (#632)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#630)
- 🎨🚨 Improved formatting and linting config @burgholzer (#625)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#623)
- ⬆️ update black version in blacken-docs @burgholzer (#614)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#613)
- 🧱 switch to new coverage collection workflows @burgholzer (#612)
- 🩹 make GMP dependency opt-in instead of used-if-found @burgholzer (#608)
- 🧱 switch to dedicated reusable MQT workflows @burgholzer (#607)
Full Changelog: v2.5.0...v2.5.1
MQT Core 2.5.0 Release
👀 What Changed
⚛️ MQT Core
🚀 Features and Enhancements
⬆️ Dependencies
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#605)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#604)
Full Changelog: v2.4.2...v2.5.0
MQT Core 2.4.2 Release
👀 What Changed
Small patch release with updated reusable workflow. Apple Silicon runners now also support Python 3.8 and 3.9.
Python tests are now run on:
- all supported Python versions on Ubuntu
- the minimum and maximum supported version on macOS (Intel + arm64) and Windows.
This means that, e.g., for a library that supports Python 3.8 to 3.12, 5+2+2+2=11 test runs will be started and will produce coverage reports. If you update to the new version of the workflows, make sure to adjust the codecov config.
📄 Documentation
- 🍱 MQT Branding on RtD @burgholzer (#603)
- 🍱 Use centralized images from MQT repository @burgholzer (#602)
🤖 CI
- 👷🔧🍎 enable Python 3.8+ tests on macos-14 runners @burgholzer (#597)
⬆️ Dependencies
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#598)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#595)
Full Changelog: v2.4.1...v2.4.2
MQT Core 2.4.1 Release
👀 What Changed
This release mainly brings a documentation overhaul and new iterations of the reusable workflows.
It also includes support for Qiskit's final_layout
attribute in the Qiskit to MQT conversion and a new optimization pass for conveniently eliding permutations from quantum circuits.
⚛️ MQT Core
- 👷♻️ Improved Reusable Workflows @burgholzer (#594)
- ✨ Support for Qiskit's final_layout @TeWas (#592)
- 🚸 small improvements to
Control
andPermutation
bindings @burgholzer (#593) - 📝 New and improved project documentation @burgholzer (#589)
- ✨ Elide permutations optimization @burgholzer (#586)
- 🐛 Fix corner case handling for output permutation in defer measurements optimization @burgholzer (#587)
🚀 Features and Enhancements
- 👷♻️ Improved Reusable Workflows @burgholzer (#594)
- ✨ Support for Qiskit's final_layout @TeWas (#592)
- 🚸 small improvements to
Control
andPermutation
bindings @burgholzer (#593) - 📝 New and improved project documentation @burgholzer (#589)
- ✨ Elide permutations optimization @burgholzer (#586)
🐛 Bug Fixes
- 🐛 Fix corner case handling for output permutation in defer measurements optimization @burgholzer (#587)
📄 Documentation
- 📝 New and improved project documentation @burgholzer (#589)
🤖 CI
- 👷♻️ Improved Reusable Workflows @burgholzer (#594)
- ♻️ simplify reusable Python CI workflow @burgholzer (#591)
⬆️ Dependencies
- Bump wntrblm/nox from 2024.03.02 to 2024.04.15 in the github-actions group @dependabot (#590)
Full Changelog: v2.4.0...v2.4.1
MQT Core 2.4.0 Release
👀 What Changed
Quite a big release for MQT Core. Highlights include:
- ⚡ adoption of the new identity-less DD data structure that significantly boosts the overall performance (#358) and several further improvements to the DD package code
- ✨ new optimization pass to collect qubit blocks
- ♻️ refactored and simplified
Operation
class hierarchy - 🤖 adoption of
uv
as a package manager in CI - 🔧 update to
pybind11>=2.12
⚛️ MQT Core
- ♻️ internalize private methods of the circuit optimizer @burgholzer (#585)
- ♻️⚡ optimize implementation of
collectBlocks
@burgholzer (#584) - ✨ Collect blocks optimization @burgholzer (#581)
- ⬆️ update to
pybind11>=2.12
@burgholzer (#582) - ♻️ Eliminate
nqubits
andstartingQubit
fromOperation
class hierarchy @burgholzer (#574) - 🐛 Fix scientific notation in QASM import @burgholzer (#560)
⚖️ MQT Core DD Package
- ♻️ remove redundant
start
parameter from DD multiplication routine @burgholzer (#576) - ♻️ streamline
makeTwoQubitGateDD
method @burgholzer (#572) - ♻️ streamline
makeGateDD
method @burgholzer (#571) - ✨ Removal of identity nodes in matrix DDs @aaronleesander (#358)
- 🐛 Density matrix idenity handling @burgholzer (#569)
- ⚡ optimize conjugate transpose in DD package @burgholzer (#570)
- 🐛 fix check for density matrices in compute tables @burgholzer (#568)
- 🚸 Improved usability for new magnitude addition functionality @burgholzer (#565)
- ✨ add method for computing the conjugate of a vector DD @burgholzer (#566)
- ♻️ Refactor garbage reduction @reb-ddm (#563)
- 🩹 fixes for noise-aware simulation in DDSIM @burgholzer (#551)
🚀 Features and Enhancements
- ✨ ♻️ Adopt UV in CI and refactor reusable workflows @burgholzer (#583)
- ✨ Collect blocks optimization @burgholzer (#581)
- ♻️ remove redundant
start
parameter from DD multiplication routine @burgholzer (#576) - ♻️ streamline
makeTwoQubitGateDD
method @burgholzer (#572) - ♻️ streamline
makeGateDD
method @burgholzer (#571) - ✨ Removal of identity nodes in matrix DDs @aaronleesander (#358)
- ⚡ optimize conjugate transpose in DD package @burgholzer (#570)
- 🚸 Improved usability for new magnitude addition functionality @burgholzer (#565)
- ✨ add method for computing the conjugate of a vector DD @burgholzer (#566)
- ♻️ Refactor garbage reduction @reb-ddm (#563)
- 🚸 allow using raw RST cells in jupyter notebooks @burgholzer (#558)
🐛 Bug Fixes
- 🐛 Density matrix idenity handling @burgholzer (#569)
- 🐛 fix check for density matrices in compute tables @burgholzer (#568)
- 🐛 Fix scientific notation in QASM import @burgholzer (#560)
- 🩹 fixes for noise-aware simulation in DDSIM @burgholzer (#551)
📄 Documentation
- 🚸 allow using raw RST cells in jupyter notebooks @burgholzer (#558)
- 📝🎨 better dark mode docs @burgholzer (#557)
🤖 CI
- ✨♻️ Adopt UV in CI and refactor reusable workflows @burgholzer (#583)
- 🚚 Move from Cirrus CI back to GitHub Actions @burgholzer (#553)
🧹 Code Quality
- ♻️ internalize private methods of the circuit optimizer @burgholzer (#585)
- ♻️⚡ optimize implementation of
collectBlocks
@burgholzer (#584) - 🚨 fix a couple of compiler warnings @burgholzer (#578)
⬆️ Dependencies
10 changes
- ✨ ♻️ Adopt UV in CI and refactor reusable workflows @burgholzer (#583)
- ⬆️ update to
pybind11>=2.12
@burgholzer (#582) - ⬆️🪝 update pre-commit hooks @pre-commit-ci (#579)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#577)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#573)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#564)
- Bump the github-actions group with 1 update @dependabot (#562)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#561)
- Bump the github-actions group with 1 update @dependabot (#559)
- 🚚 Move from Cirrus CI back to GitHub Actions @burgholzer (#553)
Full Changelog: v2.3.0...v2.4.0
MQT Core 2.3.0 Release
👀 What Changed
This release marks mqt-core's support of Qiskit 1.0 and provides a couple of fixes and features for the ZX package.
⚛️ MQT Core
- 🐛 ensure typeinfo and vtable information is present for
CompoundOperation
@burgholzer (#548) - 🎨 Misc. code quality improvements @burgholzer (#547)
- 🚨 fix Qiskit 0.46.0 deprecation warnings @burgholzer (#544)
- ⏪ add
MQT::CorePython
target back @burgholzer (#541)
🕸️ MQT Core ZX Package
- ✨ Add
XX-plus-YY
andXX-minus-YY
gate support to ZX library @burgholzer (#482) - 🐛 Fix
PiExpression
division and multiplication arithmetic @pehamTom (#549)
🚀 Features and Enhancements
- ✨ Support for Qiskit 1.0 @burgholzer (#556)
- ✨ Add
XX-plus-YY
andXX-minus-YY
gate support to ZX library @burgholzer (#482) - 🧹 Noise-Aware Simulator Cleanup @33Gjl1Xe (#491)
🐛 Bug Fixes
- 🐛 Fix
PiExpression
division and multiplication arithmetic @pehamTom (#549) - 🐛 ensure typeinfo and vtable information is present for
CompoundOperation
@burgholzer (#548) - ⏪ add
MQT::CorePython
target back @burgholzer (#541)
📦 Packaging
- ⬆️ update scikit-build-core to 0.8.1 @burgholzer (#554)
🧹 Code Quality
- 🎨 Misc. code quality improvements @burgholzer (#547)
- 🚨 fix Qiskit 0.46.0 deprecation warnings @burgholzer (#544)
⬆️ Dependencies
8 changes
- ✨ Support for Qiskit 1.0 @burgholzer (#556)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#555)
- ⬆️ update scikit-build-core to 0.8.1 @burgholzer (#554)
- Bump the github-actions group with 1 update @dependabot (#552)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#550)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#546)
- Bump the github-actions group with 2 updates @dependabot (#545)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#542)
Full Changelog: v2.2.2...v2.3.0
MQT Core 2.2.2 Release
👀 What Changed
⚛️ MQT Core
- 🚸 Installation Improvements @burgholzer (#539)
⚖️ MQT Core DD Package
- ⚡ Added native construction of two-target controlled-gate DDs @BertiFlorea (#534)
- Zero-ancilla partial equivalence checking @reb-ddm (#532)
🚀 Features and Enhancements
- 🚸 Installation Improvements @burgholzer (#539)
- ⚡ Added native construction of two-target controlled-gate DDs @BertiFlorea (#534)
- Zero-ancilla partial equivalence checking @reb-ddm (#532)
📄 Documentation
- 📝 add configuration for offline doc formats @burgholzer (#535)
🤖 CI
- 🚨 ignore new pandas deprecation warning @burgholzer (#536)
⬆️ Dependencies
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#537)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#533)
Full Changelog: v2.2.1...v2.2.2