Changelog¶
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.
Unreleased¶
3.11.0 - 2026-10-12¶
If you are upgrading: please see UPGRADING.md.
Changed¶
⬆️ Update
mqt-coreto version 3.11.0 (#1188) (@denialhaag)⬆️ Update
clang-tidyto version 23 (#1176) (@denialhaag)
3.10.0 - 2026-09-12¶
If you are upgrading: please see UPGRADING.md.
Added¶
🎉 Add a photonic subcircuit compiler with loss-aware routing and batched phase optimization (#1059) (@tobi-forster, @burgholzer)
✨ Provide extended neutral-atom OpenQASM serialization through
na::serializeOpenQASM(#1124) (@burgholzer)✨ Provide the neutral-atom QDMI device and client integration transferred from MQT Core, preserving distinct registered devices with the same name (#1111) (@denialhaag, @burgholzer)
Changed¶
🔧 Use Ninja and shared CMake presets on all platforms, removing
-windowsfrom preset names (#1158) (@denialhaag)💥 Require CMake 3.28 or newer for source builds and embedded projects (#1146) (@burgholzer)
⬆️ Update
mqt-coreto version 3.10.0 (#1144) (@denialhaag, @burgholzer)⬆️ Update
nanobindto version 3.0.1 (#1144) (@denialhaag, @burgholzer)💥 Require Python 3.11 or newer (#1126) (@denialhaag)
📦 Publish one split-mode
cp311-abi3wheel for GIL-enabled CPython 3.11 and newer (#1144) (@denialhaag)📦 Publish one
cp315-abi3twheel for free-threaded CPython 3.15 and newer (#1144) (@denialhaag)💥 Raise the minimum Qiskit version from 1.0.0 to 2.1.0 (#1144) (@denialhaag)
♻️ Own the
singleQubitGateFusion,decomposeSWAP,cancelCNOTs, andreplaceMCXWithMCZcircuit transformations (#1125) (@simon1hofmann, @burgholzer)♻️ Own the neutral-atom computation IR and circuit operations (#1111) (@denialhaag, @burgholzer)
💥 Drop support for x86 macOS and stop publishing the respective wheels (#1126) (@denialhaag)
⬆️ Raise the macOS deployment target to 13.3 to enable
std::formatin libc++ (#1126) (@denialhaag)
Fixed¶
🐛 Preserve mid-circuit measurements, resets, and barriers during single-qubit gate fusion (#1125) (@burgholzer)
🐛 Preserve bijective layouts when the heuristic mapper moves logical qubits (#1153) (@burgholzer)
🐛 Preserve the input circuit name during mapping (#1154) (@burgholzer)
🐛 Handle Qiskit targets without calibration properties (#1152) (@burgholzer)
3.9.0 - 2026-08-24¶
If you are upgrading: please see UPGRADING.md.
Added¶
🐍 Start building CPython 3.15 wheels (#1096) (@denialhaag)
Changed¶
⬆️ Update
mqt-coreto version 3.9.0 (#1116) (@denialhaag)⬆️ Update
nanobindto version 2.15.0 (#1116) (@denialhaag)♻️ Move output-permutation measurement construction from MQT Core into QMAP (#1106) (@simon1hofmann)
3.8.0 - 2026-07-09¶
If you are upgrading: please see UPGRADING.md.
Changed¶
⬆️ Update
mqt-coreto version 3.7.0 (#1069) (@denialhaag)⬆️ Update
nanobindto version 2.13.0 (#1069) (@denialhaag)♻️ Move auxiliary datastructures used in, e.g., NASP and NALAC from MQT Core to QMAP (#1058) (@ystade)
Removed¶
📝 Remove support for generating LaTeX documentation (#1057) (@denialhaag)
3.7.0 - 2026-06-17¶
If you are upgrading: please see UPGRADING.md.
Added¶
🚸 Add CMake presets to provide a standardized and reproducible way to configure builds (#1020) (@denialhaag)
Changed¶
⬆️ Update munich-quantum-toolkit/workflows to version
v2.0.1(#1020) (@denialhaag)🎨 Add two-qubit gate layer to decomposer interface in zoned neutral atom compiler ([#976]) (@ystade)
⬆️ Update
mqt-coreto version 3.6.0 ([#1011]) (@denialhaag)⬆️ Update
nanobindto version 2.12.0 ([#1011]) (@denialhaag)
Fixed¶
3.6.0 - 2026-02-24¶
If you are upgrading: please see UPGRADING.md.
Added¶
Changed¶
⬆️ Update
spdlogto version 1.17.0 (#921) (@denialhaag)⬆️ Update
mqt-coreto version 3.4.1 (#924) (@denialhaag)⬆️ Update
nanobindto version 2.11.0 (#924) (@denialhaag)🔧 Replace
mypywithty(#912) (@denialhaag)♻️ Migrate Python bindings from
pybind11tonanobind(#911, #916) (@denialhaag)📦️ Provide Stable ABI wheels for Python 3.12+ (#911) (@denialhaag)
3.5.0 - 2025-12-16¶
If you are upgrading: please see UPGRADING.md.
Added¶
Changed¶
👷 Stop testing on
ubuntu-22.04andubuntu-22.04-armrunners (#874) (@denialhaag)👷 Stop testing with
clang-19and start testing withclang-21(#874) (@denialhaag)👷 Fix macOS tests with Homebrew Clang via new
munich-quantum-toolkit/workflowsversion (#874) (@denialhaag)👷 Re-enable macOS tests with GCC by disabling module scanning (#874) (@denialhaag)
✨ Enable code generation for relaxed routing constraints (#848) (@ystade)
✨ Add
max_filling_factorto scheduler in Zoned Neutral Atom Compiler (#847) (@ystade)✨ Added extension to the hybrid routing mapper to also support Bridge gates, Passby moves and Flying ancillas (#832) (@lsschmid)
✨ Added hybrid synthesis routing for iterative circuit constructions (#832) (@lsschmid)
Removed¶
🔥 Remove wheel builds for Python 3.13t (#874) (@denialhaag)
3.4.0 - 2025-10-15¶
If you are upgrading: please see UPGRADING.md.
Added¶
👷 Enable testing on Python 3.14 (#796) (@denialhaag)
Changed¶
⬆️ Bump minimum required
mqt-coreversion to3.3.1(#803) (@denialhaag, @ystade)
Fixed¶
Removed¶
🔥 Drop support for Python 3.9 (#767) (@denialhaag)
3.3.1 - 2025-08-07¶
Fixed¶
3.3.0 - 2025-08-04¶
If you are upgrading: please see UPGRADING.md.
Added¶
🐍 Start building CPython 3.14 wheels (#717) (@denialhaag)
Changed¶
⬆️ Bump minimum required
mqt-coreversion to3.2.1(#720) (@denialhaag)⬆️ Require C++20 (#720) (@denialhaag)
♻️ Neutral Atom Compiler: Merge Placement and Routing stage into a Layout Synthesis stage (#713) (@ystade)
✨ Expose enums to Python via
pybind11’s new (enum.Enum-compatible)py::native_enum(#715) (@denialhaag)
Fixed¶
🚸 Make function to export architecture in
.namachineformat available from Python (#719) (@ystade)🚸 Increase binary compatibility between
mqt-qmap,mqt-core, andmqt-qcec(#714) (@denialhaag)
3.2.0 - 2025-07-16¶
If you are upgrading: please see UPGRADING.md.
Changed¶
♻️ Restructure the Python code to introduce modules (#665) (@denialhaag)
♻️ Restructure the C++ code for the Python bindings to mirror the introduced Python modules (#665) (@denialhaag)
⬆️ Bump minimum required
mqt-coreversion to3.1.0(#694) (@denialhaag)⬆️ Bump minimum required
pybind11version to3.0.0(#694) (@denialhaag)
Fixed¶
Removed¶
🔥 Remove CMake function
add_mqt_qmap_binding(#665) (@denialhaag)
3.1.3 - 2025-05-28¶
Fixed¶
3.1.2 - 2025-05-27¶
Fixed¶
3.1.1 - 2025-05-27¶
Fixed¶
3.1.0 - 2025-05-26¶
Added¶
Changed¶
3.0.0 - 2025-05-08¶
If you are upgrading: please see UPGRADING.md.
Added¶
✨ Support Qiskit 2.0+ (#610) (@burgholzer)
Changed¶
🚚 Move MQT QMAP to the munich-quantum-toolkit GitHub organization
♻️ Use the
mqt-corePython package for handling circuits (#418) (@burgholzer)⬆️ Bump minimum required CMake version to
3.24.0(#621) (@burgholzer)♻️ Isolate NALAC from the main library (#608, #609) (@ystade)
📝 Rework existing project documentation (#614) (@burgholzer)
Removed¶
🔥 Remove teleportation support for the heuristic mapping (#621) (@burgholzer)
🔥 Remove support for
BackendV1Qiskit backends (#610) (@burgholzer)🔥 Remove support for
.real,.qc,.tfc, andGRCSfiles (#621) (@burgholzer)
2.8.0 - 2024-11-18¶
📚 Refer to the GitHub Release Notes for previous changelogs.