All notable changes to this project will be documented in this file.
The format is based on a mixture of Keep a Changelog and Common Changelog. This project adheres to Semantic Versioning, with the exception that minor releases may include breaking changes.
- 📦 Add Windows ARM64 wheels (#926) (@burgholzer)
- 📝 Add documentation page for MLIR (#931) (@ystade)
- ✨ Initial implementation of the mqtdyn Dialect (#900) (@DRovara, @ystade)
- ✨ Add function to approximate decision diagrams (#908) (@MatthiasReumann)
- ✨ Add functions to generate random vector DDs (#975) (@MatthiasReumann)
- 🐛 Fix bug in MLIR roundtrip passes caused by accessing an invalidated iterator after erasure in a loop (#932) (@flowerthrower)
- 🐛 Add missing support for
sxdggates in Qiskit circuit import (#930) (@burgholzer) - 🐛 Fix bug initialization of operations with duplicate operands (#964) (@ystade)
- 🐛 Open issue for Qiskit upstream test only when the test is actually failing not when it was cancelled (#973) (@ystade)
- ♻️ Improve performance of getNqubits for StandardOperations (#959) (@ystade)
- ♻️ Outsource definition of standard operations from MLIR dialects to reduce redundancy (#933) (@ystade)
- ♻️ Unify operands and results in MLIR dialects (#931) (@ystade)
- ⏪️ Restore support for (MLIR and) LLVM v19 (#934) (@flowerthrower), @ystade)
- ⬆️ Update nlohmann_json to
v3.12.0(#921) (@burgholzer) - ♻️ Move Make-State Functionality To StateGeneration (#984) (@MatthiasReumann)
3.0.2 - 2025-04-07
- 📝 Add JOSS journal reference and citation information (#913) (@burgholzer)
- 📝 Add new links to Python package metadata (#911) (@burgholzer)
- 📝 Fix old links in Python package metadata (#911) (@burgholzer)
3.0.1 - 2025-04-07
- 🐛 Fix doxygen build on RtD to include C++ API docs (#912) (@burgholzer)
3.0.0 - 2025-04-06
If you are upgrading: please see UPGRADING.md.
- ✨ Ship shared C++ libraries with
mqt-corePython package (#662) (@burgholzer) - ✨ Add Python bindings for the DD package (#838) (@burgholzer)
- ✨ Add direct MQT
QuantumComputationto QiskitQuantumCircuitexport (#859) (@burgholzer) - ✨ Support for Qiskit 2.0+ (#860) (@burgholzer)
- ✨ Add initial infrastructure for MLIR within the MQT (#878, #879, #892, #893, #895) (@burgholzer, @ystade, @DRovara, @flowerthrower, @BertiFlorea)
- ✨ Add State Preparation Algorithm (#543) (@M-J-Hochreiter)
- 🚸 Add support for indexed identifiers to OpenQASM 3 parser (#832) (@burgholzer)
- 🚸 Allow indexed registers as operation arguments (#839) (@burgholzer)
- 📝 Add documentation for the DD package (#831) (@burgholzer)
- 📝 Add documentation for the ZX package (#817) (@pehamTom)
- 📝 Add C++ API docs setup (#817) (@pehamTom, @burgholzer)
- Breaking: 🚚 MQT Core has moved to the munich-quantum-toolkit GitHub organization
- Breaking: ✨ Adopt PEP 735 dependency groups (#762) (@burgholzer)
- Breaking: ♻️ Encapsulate the OpenQASM parser in its own library (#822) (@burgholzer)
- Breaking: ♻️ Replace
Configtemplate from DD package with constructor argument (#886) (@burgholzer) - Breaking: ♻️ Remove template parameters from
MemoryManagerand adjacent classes (#866) (@rotmanjanez) - Breaking: ♻️ Refactor algorithms to use factory functions instead of inheritance (@a9b7e70) (@burgholzer)
- Breaking: ♻️ Change pointer parameters to references in DD package (#798) (@burgholzer)
- Breaking: ♻️ Change registers from typedef to actual type (#807) (@burgholzer)
- Breaking: ♻️ Refactor
NAComputationclass hierarchy (#846, #877) (@ystade) - Breaking: ⬆️ Bump minimum required CMake version to
3.24.0(#879) (@burgholzer) - Breaking: ⬆️ Bump minimum required
uvversion to0.5.20(#802) (@burgholzer) - 📝 Rework existing project documentation (#789, #842) (@burgholzer)
- 📄 Use PEP 639 license expressions (#847) (@burgholzer)
- Breaking: 🔥 Remove the
Teleportationgate from the IR (#882) (@burgholzer) - Breaking: 🔥 Remove parsers for
.real,.qc,.tfc, andGRCSfiles (#822) (@burgholzer) - Breaking: 🔥 Remove tensor dump functionality (#798) (@burgholzer)
- Breaking: 🔥 Remove
extract_probability_vectorfunctionality (#883) (@burgholzer)
- 🐛 Fix Qiskit layout import and handling (#849, #858) (@burgholzer)
- 🐛 Properly handle timing literals in QASM parser (#724) (@burgholzer)
- 🐛 Fix stripping of idle qubits (#763) (@burgholzer)
- 🐛 Fix permutation handling in OpenQASM dump (#810) (@burgholzer)
- 🐛 Fix out-of-bounds error in ZX
EdgeIterator(#758) (@burgholzer) - 🐛 Fix endianness in DCX and XX_minus_YY gate matrix definition (#741) (@burgholzer)
- 🐛 Fix needless dummy register in empty circuit construction (#758) (@burgholzer)
2.7.0 - 2024-10-08
📚 Refer to the GitHub Release Notes for previous changelogs.