Releases: cda-tum/mqt-core
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
MQT Core 2.0.2 Release
👀 What Changed
⚛️ MQT Core
- ♻️ Revised qubit register handling @burgholzer (#495)
🐛 Bug Fixes
- ♻️ Revised qubit register handling @burgholzer (#495)
⬆️ Dependencies
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#494)
Full Changelog: v2.0.1...v2.0.2