Releases: munich-quantum-toolkit/qmap
QMAP 2.1.2 Release
What Changed 👀
🚀 Features and Enhancements
🐛 Bug Fixes
- 🐛 Fix cost contribution of direction reverse in exact mapper @burgholzer (#252)
- Fix A* node ordering @EliasLF (#249)
- fix disjoint qubit layering @EliasLF (#247)
- Dijkstra node order bug fix @EliasLF (#245)
⬆️ Dependencies
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#250)
- ⬆️ Bump extern/qfr from
0fa1a9a
todb082b6
@dependabot (#246) - ⬆️🪝 update pre-commit hooks @pre-commit-ci (#244)
Full Changelog: v2.1.1...v2.1.2
QMAP 2.1.1 Release
What Changed 👀
🚀 Features and Enhancements
- 🔊 Allow to dump intermediate synthesis results @burgholzer (#243)
- 🔊 Enable Logging for Clifford Synthesis @burgholzer (#241)
🐛 Bug Fixes
📄 Documentation
- 🎨 Small dark-mode docs improvement @burgholzer (#239)
- 📝 Add QMAP overview paper @burgholzer (#237)
- 🚨 Introduce
ruff
@burgholzer (#234)
🤖 CI
- 🚨 Introduce
ruff
@burgholzer (#234) - 🔧 Add release drafter workflow @burgholzer (#236)
- 🔧 mypy configuration update @burgholzer (#232)
- 🔧 add
merge_group
to workflow configs @burgholzer (#233)
⬆️ Dependencies
- ⬆️ Bump extern/qfr from
585bc63
to0fa1a9a
@dependabot (#242) - ⬆️🪝 update pre-commit hooks @pre-commit-ci (#238)
- 🚨 Introduce
ruff
@burgholzer (#234) - ⬆️ Bump extern/qfr from
61543f8
to585bc63
@dependabot (#231)
Full Changelog: v2.1.0...v2.1.1
Release 2.1.0: Drop Python 3.7 Support and Loosen Z3 Requirements
This release drops support for Python 3.7 (in accordance with its deprecation in Qiskit).
Furthermore, it drops the variable limitation in the exact mapper allowing to explore larger circuits and architectures.
What's Changed
- 🐍🔥 Drop Python 3.7 support by @burgholzer in #224
- 🔥 Drop variable limitation for exact mapper by @burgholzer in #225
Full Changelog: v2.0.1...v2.1.0
Release 2.0.1: Bugfix Release
What's Changed
This release fixes a long-standing (yet undetected) bug in the coupling limit computation for limiting the number of SWAPs considered during optimal circuit mapping (see #216 for further details). This is expected to increase performance of the optimal mapper for certain architectures (e.g., ring-like architectures) by quite a bit.
On top of that, this release fixes a bug where the circuit extraction in the exact mapper did not work properly whenever the resulting circuit makes use of more qubits than the original circuit (see #217 for further details).
Full Changelog: v2.0.0...v2.0.1
Release 2.0.0
What's Changed
This major release marks the first big addition to QMAP that goes beyond quantum circuit mapping: (Optimal) Clifford Circuit Synthesis. See https://mqtqmap.readthedocs.io/en/latest/Synthesis.html for further details.
✨ New Features
- Optimal Clifford circuit synthesis based on
S. Schneider, L. Burgholzer, and R. Wille. A SAT Encoding for Optimal Clifford Circuit Synthesis. In Asia and South Pacific Design Automation Conference (ASP-DAC), 2023. (arXiv:2208.11713)
- QMAP can now natively handle circuits with more than 128 qubits by dropping some technical restrictions and modernizing the project structure.
♿ Accessibility
- ⚙️ Push-button solution for quantum circuit mapping and Clifford circuit synthesis
- 🐧/🍎/🏁 pre-built Python wheels for Linux, macOS (incl. Apple Silicon), and Windows
- 🐍 Python 3.7 to 3.11 support
- ⚛️ Seamless integration with Qiskit
🎨 Code Quality
- 🗃️ follow the LLVM coding standards for C++
- 🐍 follows best practices for developing Python projects and packages from the popular Scikit-HEP project
- 🧪 extensive unit tests for C++ and Python
- 🪝 pre-commit checks
📝 Project documentation hosted at ReadTheDocs.
- 🚀 Quickstart and User Guide
- 🧑💻 Development Guide
- 👥 Contributing Guide
- 📄 API documentation
Full Changelog: v1.12.1...v2.0.0
Release 1.12.1: Add missing macOS x86 wheels
What's Changed
Due to a misconfiguration, x86 wheels for macOS have not been built and distributed for the latest releases.
With this release, all wheels are available again.
Full Changelog: v1.12.0...v1.12.1
Release 1.12.0: Infrastructure Modernisation and Cleanup
What's Changed
This release updates many underlying aspects of the QMAP infrastructure to the latest best practices within the Munich Quantum Toolkit (MQT). See the respective PRs for more detailed descriptions:
- 📦 Support Versioning in Git Archives by @burgholzer in #172
- 🔧 (Mostly) follow LLVM's C++ format guidelines by @burgholzer in #173
- 📦🔧 Switch to PEP 621
pyproject.toml
configuration by @burgholzer in #171 - 🔥 Drop deprecated JKQ shim by @burgholzer in #175
- 🔥 Drop LGTM by @burgholzer in #176
- 🔥 Drop CLI Apps by @burgholzer in #174
- 🔧 Only cancel repeated CI jobs for Pull Requests by @burgholzer in #178
- ♻️ consistently use
#pragma once
by @burgholzer in #179 - ✏️ Consistent file headers by @burgholzer in #180
- 🐍🔧 Improve Python Testing Infrastructure by @burgholzer in #177
- 📝 Add Jupyter Notebook to Docs by @burgholzer in #181
- ♻️ Extract Clifford Synthesis-independent Changes from #78 by @burgholzer in #182
- ✨ Stabilizer Tableaus by @burgholzer in #184
- 🍱 Add MQT Logo and support Dark-Mode on RtD by @burgholzer in #197
- 🚨🐛 Disable opinionated bugbear warning by @burgholzer in #198
- 🔥 Remove Z3 from build dependencies by @burgholzer in #199
Full Changelog: v1.11.2...v1.12.0
Release 1.11.2: Bugfix Release
This release mainly drops the requirement on retworkx
and uses the (newly renamed) rustworkx
library.
This follows suit with the recent QCEC release and, in combination, allows to use the most recent version of Qiskit in combination with both tools.
What's Changed
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #166
- Bump extern/qfr from
78a3608
to64aa806
by @dependabot in #167 - ⬆️ Replace
retworkx
withrustworkx
by @dependabot in #164
Full Changelog: v1.11.1...v1.11.2
Release 1.11.1: Bugfix Release
This release mainly consists of a couple of bugfixes related to Qiskit compatibility (#165) and overall compilation requirements (#159).
What's Changed
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #158
- 🐛 Fix Qiskit compatibility by @burgholzer in #165
- Bump extern/LogicBlocks from
58c0daa
to89d81d2
by @dependabot in #162 - Bump pypa/cibuildwheel from 2.11.1 to 2.11.2 by @dependabot in #161
- Fix compile issues by @EliasLF in #159
Full Changelog: v1.11.0...v1.11.1
Release 1.11.0: Subarchitectures, Docs, and Internals
What's Changed
- ✨ Determining Optimal Sub-Architectures by @pehamTom in #106 based on https://arxiv.org/abs/2210.09321
- 🐍 Python Testing by @burgholzer in #110
- 📝 Proper Documentation by @pehamTom, @EliasLF and @burgholzer in #114, #148, #149, #151, #152, #156
- ⬆️ Support for qiskit-terra
0.22.0
by @dependabot in #145 - 🐛 temporary workaround for retworkx failure by @burgholzer in #142
- 👷 Streamline Z3 Configuration by @burgholzer in #112
- 🔧 Codecov Config Update by @burgholzer in #137, #150, #154, #155
- 🚨 Further flake8 checks by @burgholzer in #118
- 📦 Leaner source distribution by @burgholzer in #119
New Contributors
- @pre-commit-ci made their first contribution in #115
- @pehamTom made their first contribution in #114
- @EliasLF made their first contribution in #148
Full Changelog: v1.10.1...v1.11.0