Releases: cda-tum/mqt-core
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
MQT Core 2.2.1 Release
👀 What Changed
This patch release fixes a small oversight that prevented consuming projects to include the package.
⚛️ MQT Core
- 🩹 guard install instruction @burgholzer (#531)
🐛 Bug Fixes
- 🩹 guard install instruction @burgholzer (#531)
Full Changelog: v2.2.0...v2.2.1
MQT Core 2.2.0 Release
👀 What Changed
⚛️ MQT Core
- ✨ Allow project installation @burgholzer (#529)
- 🚸 Usability improvements for symbolic computations @burgholzer (#528)
- 🐛 fix missing
mcx
gate support in OpenQASM3 parser @burgholzer (#526) - 🚸 OpenQASM string import and export @burgholzer (#521)
- For builtin gates, print
c
prefix instead ofctrl @
@martin-fink (#520) - 📝 update documentation with OpenQASM 3.0 support @burgholzer (#518)
- 🐛 avoid using system header includes for external dependencies @burgholzer (#517)
- ✨ New optimization pass: Backpropagate output permutation and better dynamic circuit support @burgholzer (#512)
- Fix handling of output permutation and initial layout @martin-fink (#509)
⚖️ MQT Core DD Package
- 🐛 Fix and optimize reduction of garbage @burgholzer (#525)
- 🐛 Fix and optimize reduction of ancillaries @burgholzer (#524)
- 🚸♻️ Improve the high-level DD package interfaces @burgholzer (#523)
🕸️ MQT Core ZX Package
- ⬆️ raise minimum required Boost version to 1.80 @burgholzer (#522)
🚀 Features and Enhancements
- ✨ Allow project installation @burgholzer (#529)
- 🚸 Usability improvements for symbolic computations @burgholzer (#528)
- 🚸 OpenQASM string import and export @burgholzer (#521)
- For builtin gates, print
c
prefix instead ofctrl @
@martin-fink (#520) - ✨ New optimization pass: Backpropagate output permutation and better dynamic circuit support @burgholzer (#512)
🐛 Bug Fixes
- 🐛 fix missing
mcx
gate support in OpenQASM3 parser @burgholzer (#526) - 🐛 Fix and optimize reduction of garbage @burgholzer (#525)
- 🐛 Fix and optimize reduction of ancillaries @burgholzer (#524)
- 🐛 avoid using system header includes for external dependencies @burgholzer (#517)
- Fix handling of output permutation and initial layout @martin-fink (#509)
📄 Documentation
- 📝 update documentation with OpenQASM 3.0 support @burgholzer (#518)
📦 Packaging
- ✨ Allow project installation @burgholzer (#529)
- ⬆️ update cibuildwheel version on Cirrus-CI @burgholzer (#514)
🧹 Code Quality
- 🚸♻️ Improve the high-level DD package interfaces @burgholzer (#523)
- 🚨 fix warnings about exceptions that privately inherit from
std::exeption
@burgholzer (#516)
⬆️ Dependencies
8 changes
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#527)
- ⬆️ raise minimum required Boost version to 1.80 @burgholzer (#522)
- ♻️ Refactor CMake structure and replace submodules with
FetchContent
@burgholzer (#515) - 🐛 avoid using system header includes for external dependencies @burgholzer (#517)
- 🚸 update maximum supported CMake version @burgholzer (#513)
- ⬆️ update cibuildwheel version on Cirrus-CI @burgholzer (#514)
- Bump the submodules group with 4 updates @dependabot (#511)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#510)
Full Changelog: v2.1.0...v2.2.0
MQT Core 2.1.0 Release
👀 What Changed
- 🎉 Initial OpenQASM 3.0 support . Thanks @tyi1025!
- 📈 Benchmark suite and utilities for the DD package. Thanks @martin-fink!
- ⚡ General performance improvements to the underlying DD package.
⚛️ MQT Core
- 🚨 proper use of
std::enable_if
for SFINAE @burgholzer (#500) - ✨ Add support for OpenQASM 3.0
else
@martin-fink (#498) - ✨ OpenQASM 3.0 support @martin-fink (#309)
⚖️ MQT Core DD Package
- ⚡ Improved accuracy in complex number arithmetic @burgholzer (#507)
- ♻️ Remove complex cache @burgholzer (#444)
- ♻️⚡ Refactor and fine-tune DD normalization @burgholzer (#501)
- 🩹 properly reset tolerance in test @burgholzer (#499)
- Benchmarking the DD package @tyi1025 (#452)
🕸️ MQT Core ZX Package
- 🎨 provide
operator<<
overloads for scoped enums in ZX package @burgholzer (#508)
🚀 Features and Enhancements
- 🎨 provide
operator<<
overloads for scoped enums in ZX package @burgholzer (#508) - ⚡ Improved accuracy in complex number arithmetic @burgholzer (#507)
- ♻️ Remove complex cache @burgholzer (#444)
- ♻️⚡ Refactor and fine-tune DD normalization @burgholzer (#501)
- ✨ Add support for OpenQASM 3.0
else
@martin-fink (#498) - ✨ OpenQASM 3.0 support @martin-fink (#309)
- Benchmarking the DD package @tyi1025 (#452)
🐛 Bug Fixes
- 🚨 proper use of
std::enable_if
for SFINAE @burgholzer (#500) - 🩹 properly reset tolerance in test @burgholzer (#499)
🧹 Code Quality
⬆️ Dependencies
- Bump the github-actions group with 2 updates @dependabot (#506)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#502)
- Bump the github-actions group with 2 updates @dependabot (#497)
- Bump the github-actions group with 1 update @dependabot (#496)
Full Changelog: v2.0.2...v2.1.0