Releases: cda-tum/mqt-qcec
QCEC 2.1.3 Release: Internal Library Improvements
This release brings some quality of life improvements to the internals of the QCEC library.
First of all, it updates the core/intermediate-representation library (QFR) to its latest version, which is now much more independent from the underlying DD package thanks to cda-tum/mqt-core#244. The core library itself has seen quite some internal updates and code quality fixes.
Secondly, this PR adds better templating to the DD-related functions that allows for better IDE/autocompletion support.
Last but not least, it updates the CMake structure of the project based on cda-tum/dd_package/pull/125 as well as cda-tum/mqt-core/pull/246 to include more warnings, a simpler structure, unified compilation options and much more.
What's Changed
- 🚑 Fixup for newest QFR version by @burgholzer in #221
- 🚸 Better DD package templating by @burgholzer in #222
- ♻️ Refactor CMake Configuration by @burgholzer in #223
Full Changelog: v2.1.2...v2.1.3
QCEC 2.1.2 Release: Better Python Typing and MQT Branding
What's Changed
- 🚨 Type stubs and better mypy integration by @burgholzer in #203
- 🔧 Only cancel repeated CI jobs for Pull Requests by @burgholzer in #204
- 🍱 Add MQT Logo and support Dark-Mode on RtD by @burgholzer in #214
Full Changelog: v2.1.1...v2.1.2
QCEC 2.1.1 Release: ZX-Checker Bugfix
This tiny release fixes a bug in the ZX-checker that led to false positives (fix by @pehamTom in #201).
Full Changelog: v2.1.0...v2.1.1
QCEC 2.1.0 Release: More Wheels, Fewer Requirements, and Python 3.11
This release brings lots of CI/CD improvements to QCEC. Most importantly, with this release QCEC offers binary wheels for all platforms that Qiskit offers them. Furthermore, it drops the superfluous retworkx
requirement from QCEC.
Additions
- 👷 CI workflow for (emulated)
s390x
andppc64le
wheels by @burgholzer in #198 - ✨ Cirrus CI for natively building Apple Silicon and Linux ARM wheels by @burgholzer in #192
- 📦 Support Versioning in Git Archives by @burgholzer in #187
- 🐍 Python 3.11 tests by @burgholzer in #193
Removals
- 🔥Remove retworkx requirement by @dependabot in #186
- 🔥Drop LGTM by @burgholzer in #194
- 🔥Drop deprecated JKQ shim by @burgholzer in #195
- 🔥
musllinux
wheels are no longer available as of this release since Qiskit does not provide them as well
Full Changelog: v2.0.0...v2.1.0
QCEC 2.1.0 Release Candidate 4
Should be good now.
QCEC 2.1.0 Release Candidate 3
Another try for publishing.
QCEC 2.1.0 Release Candidate 2
As expected, this might take a few tries.
QCEC 2.1.0 Release Candidate 1
This is a pre-release to test the new Cirrus CI infrastructure for publishing Apple Silicon and Linux ARM wheels.
What's Changed
- 📦 Support Versioning in Git Archives by @burgholzer in #187
- ❄️ Potential fix for flaky Python test by @burgholzer in #189
- 🐍⚡🔧 Improve Python Testing Configuration by @burgholzer in #190
- 🔥 Remove retworkx requirement by @dependabot in #186
- ✨ Cirrus CI by @burgholzer in #192
Full Changelog: v2.0.0...v2.1.0-rc1
QCEC 2.0.0
Long time in the making, but now it's finally here: QCEC 2.0.0 🥳
What's Changed
This major release refactors and improves many aspects of QCEC in order to make it more scalable, efficient, and extendable.
At the same time, lots of effort has gone into ensuring proper code quality and providing informative documentation.
✨ New Features
- Automated Equivalence Checking Flow (including parallelization 🧵) envisioned in
Lukas Burgholzer and Robert Wille. Advanced equivalence checking for quantum circuits. IEEE Transactions on CAD of Integrated Circuits and Systems, 2021. (arXiv:2004.08420)
- Automated generation of compilation flow profiles as good oracles for equivalence checking based on
Lukas Burgholzer, Rudy Raymond, and Robert Wille. Verifying results of the IBM Qiskit quantum circuit compilation flow. In International Conference on Quantum Computing and Engineering. 2020. (arXiv:2009.02376)
- ZX-Calculus Equivalence Checker based on
Tom Peham, Lukas Burgholzer, and Robert Wille. Equivalence checking of quantum circuits with the ZX-calculus. Journal of Emerging and Selected Topics in Circuits and Systems, 2022. (arXiv:2208.12820)
- Equivalence Checking of Parameterized Quantum Circuits based on
Tom Peham, Lukas Burgholzer, and Robert Wille. Equivalence checking of parameterized quantum circuits: Verifying the compilation of variational quantum algorithms. In Asia and South Pacific Design Automation Conference. 2023. (arXiv:2210.12166)
♿ Accessibility
- ⚙️ Push-button solution for equivalence checking of quantum circuits
- 🐧/🍎/🏁 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
New Contributors
- @pehamTom made their first contribution in #73
- @pre-commit-ci made their first contribution in #107
Full Changelog: v1.10.5...v2.0.0
QCEC 2.0: Release Candidate 9
What's Changed
- 📌 More leniency on the
qiskit-terra
version by @burgholzer in #135 - 🐛 fix
cpp-linter
silently failing by @burgholzer in #136 - Bump extern/qfr from
d550522
toef83c0f
by @dependabot in #137 - 🔧 Update CI with latest best practices by @burgholzer in #138
- 🚨 Further flake8 checks by @burgholzer in #139
- 🔧 Update nox sessions by @burgholzer in #140
- Bump pypa/cibuildwheel from 2.9.0 to 2.10.0 by @dependabot in #141
- Bump extern/qfr from
ef83c0f
toae0b7c0
by @dependabot in #142 - 🐛 Fix potential underflow bug in max simulation computation by @burgholzer in #144
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #145
- Documentation update by @burgholzer in #143
Full Changelog: v2.0.0-rc8...V2.0.0-rc9