Releases: cda-tum/mqt-qcec
QCEC 2.0 Release Candidate 6
This release mostly concerns the internal library and contains almost no user facing changes (besides some bugfixes 🐛).
It significantly improves the code quality and its assurance. To this end,
- the project now follows and enforces (most of) LLVM's code format style and coding guidelines for the C++ part, including consistent naming schemes and source code width limits
- several improvements reported by the SonarLint tool and various clang-tidy checks have been incorporated
- similar to the C++ workflow which has been quite well monitored, the Python side of the project now adopts the best practices from https://scikit-hep.org/developer in order to maintain a consistent and high quality
All these changes ensure that future contributions to QCEC can follow predefined guidelines and rules, whether it's for developing the core C++ library or the Python package.
What's Changed
- 🚨 Incorporate SonarLint Suggestions by @burgholzer in #88
- 👷🚨 Add new workflow run for checking clang-tidy and clang-format by @burgholzer in #89
- 🚸 Improve Python Compatibility of Documentation Building by @burgholzer in #90
- 📝 Small documentation update by @burgholzer in #91
- ⚡🔧 Faster CI by @burgholzer in #94
- 🎨🔧 Adopt (most of) LLVM's Code Format Style by @burgholzer in #97
- ⚡ Avoid vtable Copy by @burgholzer in #98
- 🎨🔧 Further
clang-tidy
Setup by @burgholzer in #99 - 🐍🔧 Python Development Setup by @burgholzer in #100
- 🐛 Fix Potential Endless Loop by @burgholzer in #102
Full Changelog: v2.0.0-rc5...v2.0.0-rc6
QCEC 2.0 Release Candidate 5
This release marks the addition of the first equivalence checker not based on decision diagrams to QCEC: the ZX checker.
It tries to use the rules of the ZX-Calculus to reduce the ZX-Diagram corresponding to the circuit
Performance-wise, it represent a complementary alternative to all existing checkers and is employed per default when invoking QCEC.
Furthermore, this release makes qiskit-terra
a project dependency (in order to ease integration) and provides easy configuration files for CLion users.
What's Changed
- ✨ Equivalence Checking with the ZX-Calculus by @pehamTom in #73 (+fixes in #81 and #82)
- 🔧🐍 Add
qiskit-terra
to project dependencies by @burgholzer in #79 - 🚸🔧 Easy CLion configuration by @burgholzer in #78
New Contributors
Full Changelog: v2.0.0-rc4...v2.0.0-rc5
QCEC 2.0 Release Candidate 4
This is a quick release to incorporate a fix from the QFR library (cda-tum/mqt-core#133).
Furthermore it brings some documentation updates for developers.
What's Changed
- 🚨 fix LGTM warning by @burgholzer in #72
- Bump pypa/cibuildwheel from 2.6.1 to 2.7.0 by @dependabot in #74
- 🐛 Small bugfix update by @burgholzer in #76
- 📝 Documentation update by @burgholzer in #77
Full Changelog: v2.0.0-rc3...v2.0.0-rc4
QCEC 2.0 Release Candidate 3
What's Changed
- 🐛 fix editable installs by @burgholzer in #61
- ✨ compilation flow profile generation by @burgholzer in #54
- 📝 improved documentation on RtD
- 🚸 convenience
verify
andverify_compilation
functions
Full Changelog: v2.0.0-rc2...v2.0.0-rc3
QCEC 2.0 Release Candidate 2
What's Changed
- Update qiskit-terra requirement from ~=0.19.2 to ~=0.20.0 in /test/python by @dependabot in #42
- Bump extern/qfr from
cd15b3e
to7abe363
by @dependabot in #41 - ⚡ Loosen Requirements for Classical Stimuli Generation by @burgholzer in #44
- Modernize Build and Deploy by @burgholzer in #43
Full Changelog: v2.0.0-rc1...v2.0.0-rc2
QCEC 2.0 Release Candidate
This release refactors many aspects of QCEC in order to make it more scaleable, efficient, and extendable.
The resulting equivalence checking flow now more closely resembles a parallel version of the flow proposed in the "Advanced Equivalence Checking for Quantum Circuits" paper.
Furthermore, this release adds project documentation to the QCEC project which is hosted at ReadTheDocs.
With this release, the rewrite is 99% complete and quite well documented as well as tested. It will undergo some more testing until the final v2.0 will be released.
v1.10.5 Release: MQT QCEC
This release marks the transition from the JKQ
framework to the Munich Quantum Toolkit (MQT).
What's Changed
- Bump extern/qfr from
49f5923
to2ab280b
by @dependabot in #21 - Bump extern/qfr from
2ab280b
toe961baf
by @dependabot in #23 - Bump extern/qfr from
e961baf
to166177c
by @dependabot in #24 - Bump extern/qfr from
166177c
to34b5811
by @dependabot in #25 - Bump extern/qfr from
34b5811
todca7f1f
by @dependabot in #26 - Bump extern/qfr from
dca7f1f
to69ccc42
by @dependabot in #27 - Bump extern/qfr from
69ccc42
to2c7ceb3
by @dependabot in #28 - Bump extern/qfr from
2c7ceb3
to6bb07d6
by @dependabot in #29 - Bump actions/setup-python from 2 to 3 by @dependabot in #30
- Rebranding to MQT by @burgholzer in #31
Full Changelog: v1.10.4...v1.10.5
Version 1.10.4: Bugfix Release
What's Changed
- 🍎 Revert to building separate instead of universal binaries and wheels by @burgholzer in #16
- Bump DoozyX/clang-format-lint-action from 0.12 to 0.13 by @dependabot in #20
- Bump pypa/cibuildwheel from 2.3.0 to 2.3.1 by @dependabot in #18
- Bump codecov/codecov-action from 1 to 2.1.0 by @dependabot in #19
- Bump extern/qfr from
06da5bc
to49f5923
by @dependabot in #17
New Contributors
- @dependabot made their first contribution in #20
Full Changelog: v1.10.3...v1.10.4
Version 1.10.3 Release
This release adds the improvements from #12, #13, and #14:
- ✨ adds the opt-in functionality for verifying dynamic circuits via translating such circuits to static ones.
- ✨ add reorder operations pass to pre-processing
- ✨ add functionality to compare the resulting DD to the identity with a given threshold
- ✨ introduce new optimization that tries to cancel identical operations in the alternating strategy whenever possible
- 🏗️ switch to PEP 517
pyproject.toml
- 🐛 🍎: deploying under macOS now produces fat binaries (i.e., for
x86_64
andarm64
architectures). This allows to effectively builduniversal2
wheels for Python 3.8 onwards and eventually makes the wheels work on M1-based Macs
Version 1.10.2 Bugfix Release
This small bugfix release adds:
- 🐛 a fix for a bug regarding RZ gates (see cda-tum/dd_package#25)
- 🐧 musllinux wheels