Releases: cda-tum/mqt-qmap
QMAP 2.2.0 Release
👀 What Changed
🚀 Features and Enhancements
- Improvements for the Paper "Depth-Optimal Synthesis of Clifford Circuits with SAT Solvers" @pehamTom (#304)
🐛 Bug Fixes
- Fix cnot reversal in heuristic @EliasLF (#316)
- Move
admissible_heuristic
andconsider_fidelity
in JSON ofConfiguration
@EliasLF (#317)
⬆️ Dependencies
7 changes
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#320)
- ⬆️ Bump extern/qfr from
a9554ec
tob837cff
@dependabot (#319) - ⬆️ Bump extern/LogicBlocks from
85b733f
to99b9810
@dependabot (#318) - ⬆️🪝 update pre-commit hooks @pre-commit-ci (#315)
- ⬆️ Bump codecov/codecov-action from 3.1.3 to 3.1.4 @dependabot (#314)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#311)
- ⬆️ Bump extern/qfr from
ccb0452
toa9554ec
@dependabot (#310)
Full Changelog: v2.1.4...v2.2.0
QMAP 2.1.4 Release
👀 What Changed
Many small performance improvements for the optimal mapping as well as the Clifford Synthesis approach.
🚀 Features and Enhancements
- ⚡ change the default AMO and EO encoding @burgholzer (#309)
- ⚡ Improve handling of dedicated subgraphs in exact mapper @burgholzer (#308)
- 🚸 Allow for setting minimal timesteps for binary search. @pehamTom (#284)
- ⚡ Improve
MultiGateEncoder
Performance in Clifford Synthesis @pehamTom (#285) - ⚡ Improve
SingleGateEncoder
Performance in Clifford Synthesis @pehamTom (#282) - ✨ Clifford Tableau Extensions @IsFairy (#227)
- ♻️ Refactor heuristic mapper @EliasLF (#274)
📄 Documentation
🧹 Code Quality
⬆️ Dependencies
16 changes
- ⬆️ Bump extern/LogicBlocks from
f4d0869
to85b733f
@dependabot (#307) - ⬆️🪝 update pre-commit hooks @pre-commit-ci (#306)
- ⬆️ Bump extern/qfr from
faa00f1
toccb0452
@dependabot (#302) - ⬆️🪝 update pre-commit hooks @pre-commit-ci (#298)
- ⬆️ Bump extern/qfr from
3c47b6e
tofaa00f1
@dependabot (#299) - ⬆️ Bump extern/qfr from
a17841c
to3c47b6e
@dependabot (#297) - ⬆️ Bump codecov/codecov-action from 3.1.2 to 3.1.3 @dependabot (#294)
- ⬆️ Bump pypa/cibuildwheel from 2.12.1 to 2.12.3 @dependabot (#296)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#293)
- ⬆️ Bump extern/qfr from
2c345e4
toa17841c
@dependabot (#291) - ⬆️ Bump codecov/codecov-action from 3.1.1 to 3.1.2 @dependabot (#292)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#290)
- ⬆️ Bump extern/qfr from
86a8676
to2c345e4
@dependabot (#287) - ⬆️🪝 update pre-commit hooks @pre-commit-ci (#283)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#281)
- ⬆️ Bump extern/LogicBlocks from
8a3e0a3
tof4d0869
@dependabot (#277)
Full Changelog: v2.1.3...v2.1.4
QMAP 2.1.3 Release
👀 What Changed
🚀 Features and Enhancements
- Dijkstra arbitrary weights @EliasLF (#269)
- ✨ Gate Extensions and better QASM parser @burgholzer (#268)
🐛 Bug Fixes
- 🐛 Fix performance regression in exact mapper on directed architectures @burgholzer (#264)
- 🐛 Fixed bug in Clifford circuit tableau simulation @pehamTom (#262)
🤖 CI
- 🔧 Update Release Drafter Configuration @burgholzer (#272)
- 🩹 change PyPI upload option to kebab-case @burgholzer (#271)
🧹 Code Quality
- ⬆️🪝 Update ruff and use automatic
target-version
inference @burgholzer (#270)
⬆️ Dependencies
8 changes
- ⬆️🪝 Update ruff and use automatic
target-version
inference @burgholzer (#270) - 🩹 change PyPI upload option to kebab-case @burgholzer (#271)
- ⬆️ Bump pypa/cibuildwheel from 2.12.0 to 2.12.1 @dependabot (#265)
- ⬆️ Bump extern/qfr from
9a6bddf
to6fc0527
@dependabot (#261) - ⬆️🪝 update pre-commit hooks @pre-commit-ci (#260)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#257)
- ⬆️ Bump extern/qfr from
db082b6
to9a6bddf
@dependabot (#254) - ⬆️ Bump extern/LogicBlocks from
3956d54
to8a3e0a3
@dependabot (#255)
Full Changelog: v2.1.2...v2.1.3
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