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

If you are upgrading: please see UPGRADING.md.

3.7.0 - 2026-06-17

If you are upgrading: please see UPGRADING.md.

Added

Changed

Fixed

  • 🐛 Fix condition to detect previously unrecognized reuse opportunities (#953) (@ystade)

3.6.0 - 2026-02-24

If you are upgrading: please see UPGRADING.md.

Added

  • ✨ Add a (no-op) decomposer component to the zoned neutral atom compiler (#902) (@ystade)

Changed

3.5.0 - 2025-12-16

If you are upgrading: please see UPGRADING.md.

Added

  • ✨ Add iterative diving search as a more efficient placement heuristic method (#862) (@ystade)

  • ✨ Add relaxed routing method to the zoned neutral atom compiler (#859) (@ystade)

Changed

  • 👷 Stop testing on ubuntu-22.04 and ubuntu-22.04-arm runners (#874) (@denialhaag)

  • 👷 Stop testing with clang-19 and start testing with clang-21 (#874) (@denialhaag)

  • 👷 Fix macOS tests with Homebrew Clang via new munich-quantum-toolkit/workflows version (#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_factor to 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

3.4.0 - 2025-10-15

If you are upgrading: please see UPGRADING.md.

Added

Changed

Fixed

  • 🐛 Fix logging level parameter values and error/warning messages (#793) (@ystade)

Removed

3.3.1 - 2025-08-07

Fixed

  • 🐛 Fix lookup of discrete columns in routing-aware compiler (#728) (@ystade)

3.3.0 - 2025-08-04

If you are upgrading: please see UPGRADING.md.

Added

Changed

  • ⬆️ Bump minimum required mqt-core version to 3.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 .namachine format available from Python (#719) (@ystade)

  • 🚸 Increase binary compatibility between mqt-qmap, mqt-core, and mqt-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-core version to 3.1.0 (#694) (@denialhaag)

  • ⬆️ Bump minimum required pybind11 version to 3.0.0 (#694) (@denialhaag)

Fixed

  • 🐛 Fix out-of-bounds access to the vector of reuse qubits (#712) (@ystade)

Removed

3.1.3 - 2025-05-28

Fixed

  • 🐛 Fix the CD pipeline by changing the statistics struct in the zoned neutral atom compiler (#661) (@ystade)

3.1.2 - 2025-05-27

Fixed

  • 🐛 Entirely deactivate PDF export in documentation build (#660) (@ystade)

  • 📝 Append the docstring for the __init__ method to the class docstring in the documentation (#660) (@ystade)

3.1.1 - 2025-05-27

Fixed

  • 🐛 Deactivate PDF export in the documentation build (#659) (@ystade)

3.1.0 - 2025-05-26

Added

  • ✨ Add new compilers for zoned neutral atom architectures (a routing-agnostic and routing-aware compiler) (#624) (@ystade)

  • ✨ Add a new CMake function add_mqt_qmap_binding to add a Python binding library (#624) (@ystade)

Changed

  • ♻️ Move the C++ code for the Python bindings to the top-level bindings directory (#624) (@ystade)

  • ♻️ Move all Python code (no tests) to the top-level python directory (#624) (@ystade)

  • ♻️ Restructure the Python bindings for neutral atom tools into separate modules (#624) (@ystade)

3.0.0 - 2025-05-08

If you are upgrading: please see UPGRADING.md.

Added

Changed

Removed

  • 🔥 Remove teleportation support for the heuristic mapping (#621) (@burgholzer)

  • 🔥 Remove support for BackendV1 Qiskit backends (#610) (@burgholzer)

  • 🔥 Remove support for .real, .qc, .tfc, and GRCS files (#621) (@burgholzer)

  • 🔥 Remove yaml-cpp dependency (#608) (@ystade)

2.8.0 - 2024-11-18

📚 Refer to the GitHub Release Notes for previous changelogs.