Releases: cda-tum/mqt-qcec
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
QCEC 2.0: Release Candidate 8
What's Changed
- 🐍🔧 Specify Metadata via PEP 621 by @burgholzer in #124
- 🔧 Add Issue and PR templates by @burgholzer in #125
- 📝 Updated docs with the JETCAS Publication. by @pehamTom in #127
- ⚗️ Updates to cpp-linter to v2 by @burgholzer in #130, #132
- 🔧 Update CodeQL configuration by @burgholzer in #133
- 🪝 Fix and update
flake8
config by @burgholzer in #122 - ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #114, #126, #134
- 🔧 Update dependabot config by @burgholzer in #123
Full Changelog: v2.0.0-rc7...v2.0.0-rc8
QCEC 2.0 Release Candidate 7
What's Changed
- ✨ The
ZXChecker
is now capable of discriminating differences in global phase (by @pehamTom in #111) - 🐍 Python 3.11 wheels are now built by default (by @dependabot in #109)
- 🚸 better Python bindings exceptions (by @burgholzer in #116)
- 🐛 small bugfixes and improved support for dynamic quantum circuits (by @dependabot in #118)
- 🚸♻️ improved
verify
functions (by @burgholzer in #117)
Full Changelog: v2.0.0-rc6...v2.0.0-rc7