Mqt-core

Latest version: v2.7.0

Safety actively analyzes 681812 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 6

2.7.0

๐Ÿ‘€ What Changed

Python 3.13 is out and Python 3.8 has reached end-of-life. Hence, this release drops support for Python 3.8 and includes Python 3.13 wheels (including the free-threading Python variant).

Additionally, this is the first release with Linux wheels based on `manylinux_2_28` instead of `manylinux2014`. This means generally faster performance for the package on Linux.

This is also the first release including a `uv.lock` file for reproducible, working Python environments. This includes switching from dependabot to renovate for automatically managing dependency updates.

Finally, this release contains a couple of convenience updates for MQT Core itself and its DD package.

โš›๏ธ MQT Core

- โ™ป๏ธ move `--reinstall-package` from `noxfile` to `pyproject.toml` configuration burgholzer (711)
- ๐Ÿ”ง adjust how the CD workflow is run burgholzer (710)
- ๐Ÿฉน fix endless loop on unsupported operations in OpenQASM gate declarations burgholzer (700)
- โฌ†๏ธ update MQT workflows to `v1.4` burgholzer (692)
- ๐Ÿ‘ท Configure Renovate renovate (695)
- ๐Ÿ”’ uv lock file burgholzer (694)
- ๐Ÿšธ Allow creating circuits from compound operations burgholzer (690)
- โ™ป๏ธ optimize `isDynamic` check and move to `QuantumComputation` class burgholzer (689)
- ๐Ÿ› Fix dynamic circuit detection burgholzer (687)
- ๐Ÿ”ฅ drop Python 3.8 support burgholzer (684)
- ๐Ÿšธ Small library improvements burgholzer (686)
- ๐Ÿšธ improve nox sessions burgholzer (685)
- ๐Ÿโฌ†๏ธ update image for Linux wheel builds to `manylinux_2_28` burgholzer (683)
- ๐Ÿฉน make sure to define `Py_GIL_DISABLED` on Windows for Python 3.13t burgholzer (682)
- ๐Ÿฉนfix loading circuits from `PathLike` objects burgholzer (681)
- ๐Ÿšธ natively support `c3x`, `c3sqrtx`, and `c4x` gates from OpenQASM 2 burgholzer (680)
- โฌ†๏ธ require `pybind11 >= 2.13.5` burgholzer (679)
- ๐Ÿšจ fix Qiskit 1.2 deprecation warnings burgholzer (673)
- ๐Ÿšธ rename algorithms target and adapt nox config burgholzer (672)
- โ™ป๏ธ miscellaneous changes pulled from 622 burgholzer (669)
- โ™ป๏ธ reorganize library structure burgholzer (668)
- ๐Ÿ”ฅ remove ECC framework burgholzer (667)
- โฌ†๏ธ update mqt-workflows to v1.3 (moving tag) burgholzer (665)
- โฌ†๏ธ update to scikit-build-core 0.10 burgholzer (664)

โš–๏ธ MQT Core DD Package

- โšก dedicated unitary simulator DD package config burgholzer (691)
- ๐Ÿฉน disentangle `mqt-core-dd` and `mqt-core-algo` burgholzer (670)

๐Ÿš€ Features and Enhancements

- โ™ป๏ธ move `--reinstall-package` from `noxfile` to `pyproject.toml` configuration burgholzer (711)
- ๐Ÿ”’ uv lock file burgholzer (694)
- โšก dedicated unitary simulator DD package config burgholzer (691)
- ๐Ÿšธ Allow creating circuits from compound operations burgholzer (690)
- โ™ป๏ธ optimize `isDynamic` check and move to `QuantumComputation` class burgholzer (689)
- ๐Ÿšธ Small library improvements burgholzer (686)
- ๐Ÿโฌ†๏ธ update image for Linux wheel builds to `manylinux_2_28` burgholzer (683)
- ๐Ÿšธ natively support `c3x`, `c3sqrtx`, and `c4x` gates from OpenQASM 2 burgholzer (680)
- ๐Ÿšธ rename algorithms target and adapt nox config burgholzer (672)
- ๐Ÿ”ฅ remove ECC framework burgholzer (667)

๐Ÿ› Bug Fixes

- ๐Ÿฉน make sure to activate the venv in RtD build burgholzer (717)
- ๐Ÿฉน fix endless loop on unsupported operations in OpenQASM gate declarations burgholzer (700)
- ๐Ÿ› Fix dynamic circuit detection burgholzer (687)
- ๐Ÿฉน make sure to define `Py_GIL_DISABLED` on Windows for Python 3.13t burgholzer (682)
- ๐Ÿฉนfix loading circuits from `PathLike` objects burgholzer (681)
- โฌ†๏ธ require `pybind11 >= 2.13.5` burgholzer (679)
- ๐Ÿฉน disentangle `mqt-core-dd` and `mqt-core-algo` burgholzer (670)

๐Ÿ“„ Documentation

- ๐Ÿฉน make sure to activate the venv in RtD build burgholzer (717)

๐Ÿค– CI

- โฌ†๏ธ๐Ÿช Update pre-commit hook pre-commit/pre-commit-hooks to v5 renovate (718)
- โฌ†๏ธ๐Ÿช Update pre-commit hook crate-ci/typos to v1.25.0 renovate (716)
- โฌ†๏ธ๐Ÿช Update pre-commit hook pre-commit/mirrors-clang-format to v19.1.1 renovate (714)
- โฌ†๏ธ๐Ÿช Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.9 renovate (713)
- โฌ†๏ธ๐Ÿช Update pre-commit hook python-jsonschema/check-jsonschema to v0.29.3 renovate (715)
- ๐Ÿ”ง update renovate configuration burgholzer (712)
- ๐Ÿ”ง adjust how the CD workflow is run burgholzer (710)
- โš—๏ธ upload to Test PyPI for pushes on `main` burgholzer (666)
- โฌ†๏ธ๐Ÿช Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.8 renovate (709)
- โฌ†๏ธ๐Ÿช Update pre-commit hook pre-commit/mirrors-clang-format to v19 renovate (708)
- โฌ†๏ธ๐Ÿช Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.7 renovate (702)
- โฌ†๏ธ๐Ÿช Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.6 renovate (701)
- โฌ†๏ธ update MQT workflows to `v1.4` burgholzer (692)
- โฌ†๏ธ๐Ÿช Update pre-commit hook crate-ci/typos to v1.24.6 renovate (696)
- ๐Ÿ‘ท Configure Renovate renovate (695)
- โฌ†๏ธ update mqt-workflows to v1.3 (moving tag) burgholzer (665)

๐Ÿ“ฆ Packaging

- ๐Ÿ”ง adjust how the CD workflow is run burgholzer (710)
- โš—๏ธ upload to Test PyPI for pushes on `main` burgholzer (666)
- ๐Ÿโฌ†๏ธ update image for Linux wheel builds to `manylinux_2_28` burgholzer (683)
- โฌ†๏ธ update to scikit-build-core 0.10 burgholzer (664)

๐Ÿงน Code Quality

- ๐Ÿšธ Small library improvements burgholzer (686)
- ๐Ÿšธ improve nox sessions burgholzer (685)
- ๐Ÿšจ fix Qiskit 1.2 deprecation warnings burgholzer (673)

โฌ†๏ธ Dependencies

<details>
<summary>33 changes</summary>

- โฌ†๏ธ๐Ÿ Lock file maintenance renovate (706)
- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (719)
- โฌ†๏ธ๐Ÿช Update pre-commit hook pre-commit/pre-commit-hooks to v5 renovate (718)
- โฌ†๏ธ๐Ÿช Update pre-commit hook crate-ci/typos to v1.25.0 renovate (716)
- โฌ†๏ธ๐Ÿช Update pre-commit hook pre-commit/mirrors-clang-format to v19.1.1 renovate (714)
- โฌ†๏ธ๐Ÿช Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.9 renovate (713)
- โฌ†๏ธ๐Ÿช Update pre-commit hook python-jsonschema/check-jsonschema to v0.29.3 renovate (715)
- ๐Ÿ”ง update renovate configuration burgholzer (712)
- ๐Ÿ”ง adjust how the CD workflow is run burgholzer (710)
- โš—๏ธ upload to Test PyPI for pushes on `main` burgholzer (666)
- โฌ†๏ธ๐Ÿช Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.8 renovate (709)
- โฌ†๏ธ๐Ÿช Update pre-commit hook pre-commit/mirrors-clang-format to v19 renovate (708)
- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (707)
- โฌ†๏ธ๐Ÿ Lock file maintenance renovate (705)
- โฌ†๏ธ๐Ÿ Lock file maintenance renovate (703)
- โฌ†๏ธ๐Ÿช Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.7 renovate (702)
- โฌ†๏ธ๐Ÿช Update pre-commit hook astral-sh/ruff-pre-commit to v0.6.6 renovate (701)
- โฌ†๏ธ update MQT workflows to `v1.4` burgholzer (692)
- โฌ†๏ธ๐Ÿ Lock file maintenance renovate (698)
- โฌ†๏ธ๐Ÿช Update pre-commit hook crate-ci/typos to v1.24.6 renovate (696)
- ๐Ÿ‘ท Configure Renovate renovate (695)
- ๐Ÿ”’ uv lock file burgholzer (694)
- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (693)
- Bump actions/attest-build-provenance from 1.4.2 to 1.4.3 in the github-actions group dependabot (688)
- ๐Ÿ”ฅ drop Python 3.8 support burgholzer (684)
- ๐Ÿšธ Small library improvements burgholzer (686)
- โฌ†๏ธ require `pybind11 >= 2.13.5` burgholzer (679)
- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (676)
- Bump actions/attest-build-provenance from 1.4.1 to 1.4.2 in the github-actions group dependabot (677)
- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (675)
- Bump actions/attest-build-provenance from 1.4.0 to 1.4.1 in the github-actions group dependabot (671)
- โฌ†๏ธ update mqt-workflows to v1.3 (moving tag) burgholzer (665)
- โฌ†๏ธ update to scikit-build-core 0.10 burgholzer (664)
</details>

**Full Changelog**: https://github.com/cda-tum/mqt-core/compare/v2.6.0...v2.7.0

2.6.0

๐Ÿ‘€ What Changed

This release brings a couple of enhancements regarding neutral atom compilation amongst other small improvements.
Most notably, it marks the first release to ship Python 3.13 wheels (including the free-threading variant).

โš›๏ธ MQT Core

- โœจ Python 3.13 Support burgholzer (656)
- ๐Ÿท๏ธ providing a convenient `CircuitInputType` burgholzer (661)
- ๐ŸŽจ Move validation function from qmap to NAComputation ystade (660)
- Support for Neutral Atom State Preparation ystade (658)
- Layer: Allow Redundant Gates ystade (655)
- :sparkles: Add `customGate` flag and optimizer functionality to flatten only custom gates DRovara (651)
- ๐Ÿฉน fix erroneous cast in `AodOperation` burgholzer (647)
- โšก only build bindings target for Python package burgholzer (643)
- ๐Ÿ› Support `u` gate when parsing OpenQASM 2 ystade (639)

โš–๏ธ MQT Core DD Package

- ๐Ÿšธ make `dd/Package.hpp` export `dd/Package_fwd.hpp` burgholzer (640)

๐Ÿš€ Features and Enhancements

- โœจ Python 3.13 Support burgholzer (656)
- ๐Ÿท๏ธ providing a convenient `CircuitInputType` burgholzer (661)
- ๐ŸŽจ Move validation function from qmap to NAComputation ystade (660)
- Support for Neutral Atom State Preparation ystade (658)
- Layer: Allow Redundant Gates ystade (655)
- :sparkles: Add `customGate` flag and optimizer functionality to flatten only custom gates DRovara (651)
- ๐Ÿšธ make `dd/Package.hpp` export `dd/Package_fwd.hpp` burgholzer (640)

๐Ÿ› Bug Fixes

- ๐Ÿฉน๐Ÿ“ fix docs build burgholzer (659)
- ๐Ÿฉน fix erroneous cast in `AodOperation` burgholzer (647)
- ๐Ÿ› Support `u` gate when parsing OpenQASM 2 ystade (639)

๐Ÿ“„ Documentation

- ๐Ÿฉน๐Ÿ“ fix docs build burgholzer (659)

๐Ÿค– CI

- ๐Ÿ“ฆ add artifact attestation burgholzer (638)
- ๐Ÿšจ๐Ÿฉน fix the ruff `banned-api` configuration burgholzer (637)

๐Ÿ“ฆ Packaging

- โœจ Python 3.13 Support burgholzer (656)
- โšก only build bindings target for Python package burgholzer (643)
- ๐Ÿ“ฆ add artifact attestation burgholzer (638)

๐Ÿงน Code Quality

- ๐Ÿšธ make `dd/Package.hpp` export `dd/Package_fwd.hpp` burgholzer (640)
- ๐Ÿšจ๐Ÿฉน fix the ruff `banned-api` configuration burgholzer (637)

โฌ†๏ธ Dependencies

<details>
<summary>11 changes</summary>

- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (657)
- Bump the github-actions group with 2 updates dependabot (654)
- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (653)
- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (650)
- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (648)
- Bump actions/attest-build-provenance from 1.3.2 to 1.3.3 in the github-actions group dependabot (646)
- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (645)
- Bump cda-tum/mqt-workflows from 1.1.3 to 1.1.4 in the github-actions group dependabot (642)
- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (641)
- Bump cda-tum/mqt-workflows from 1.1.0 to 1.1.3 in the github-actions group dependabot (636)
- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (634)
</details>

**Full Changelog**: https://github.com/cda-tum/mqt-core/compare/v2.5.1...v2.6.0

2.5.1

๐Ÿ‘€ What Changed

This small update brings along support for the new Neutral Atom Hybrid Mapper over in the QMAP repository as well as some quality of life improvements across the package.
On the Python package part of the codebase, the resulting wheels are considerably smaller now, as they just contain the Python component of mqt-core.
On the DD part of the codebase, the trace computation finally received a compute table, which significantly speeds it up.
On the CI/CD side, this marks the first release that makes use of the reusable workflows hosted over at https://github.com/cda-tum/mqt-workflows.

โš›๏ธ MQT Core

- ๐Ÿšธ Support for adding tests to NALAC ystade (629)
- โœจ add an export header to explicitly manage symbol visibility burgholzer (627)
- Generalize concept of removing OpTypes lsschmid (624)
- ๐Ÿšธ new test macro with customizable working directory burgholzer (622)
- Moved symmetric matrix to datastructures lsschmid (621)
- ๐Ÿšจ fix shadowing compiler warnings burgholzer (620)
- ๐Ÿšธ Better QASM parser exceptions burgholzer (618)
- Change namespace to na and extend Point class lsschmid (619)
- Hybrid Neutral Atom Mapper Functionality lsschmid (610)
- ๐Ÿ“ฆ only install the Python component of MQT Core in Python package builds burgholzer (609)

โš–๏ธ MQT Core DD Package

- โšก Improvements for Trace Computation TeWas (628)

๐Ÿš€ Features and Enhancements

- Improvements for Trace Computation TeWas (628)
- ๐Ÿšธ Support for adding tests to NALAC ystade (629)
- โœจ add an export header to explicitly manage symbol visibility burgholzer (627)
- Generalize concept of removing OpTypes lsschmid (624)
- ๐Ÿšธ new test macro with customizable working directory burgholzer (622)
- Moved symmetric matrix to datastructures lsschmid (621)
- ๐Ÿšธ Better QASM parser exceptions burgholzer (618)
- :zap: faster RtD burgholzer (615)
- Hybrid Neutral Atom Mapper Functionality lsschmid (610)

๐Ÿ› Bug Fixes

- ๐Ÿฉน make sure to use the install rpath for build burgholzer (626)
- ๐Ÿ“ฆ only install the Python component of MQT Core in Python package builds burgholzer (609)
- ๐Ÿฉน make GMP dependency opt-in instead of used-if-found burgholzer (608)

๐Ÿ“„ Documentation

- โšก faster RtD burgholzer (615)

๐Ÿค– CI

- โšก๐Ÿ”ง Faster `cibuildwheel` and better Windows wheel repair burgholzer (631)
- ๐ŸŽจ๐Ÿšจ Improved formatting and linting config burgholzer (625)
- โšก faster RtD burgholzer (615)
- โฌ†๏ธ update black version in blacken-docs burgholzer (614)
- ๐Ÿงฑ switch to new coverage collection workflows burgholzer (612)
- ๐Ÿงฑ switch to dedicated reusable MQT workflows burgholzer (607)

๐Ÿ“ฆ Packaging

- ๐Ÿ“ฆ only install the Python component of MQT Core in Python package builds burgholzer (609)

๐Ÿงน Code Quality

- ๐ŸŽจ๐Ÿšจ Improved formatting and linting config burgholzer (625)
- ๐Ÿšจ fix shadowing compiler warnings burgholzer (620)
- ๐Ÿšจ Fix new warnings revealed by clang-tidy 18 burgholzer (611)

โฌ†๏ธ Dependencies

<details>
<summary>10 changes</summary>

- โšก๐Ÿ”ง Faster `cibuildwheel` and better Windows wheel repair burgholzer (631)
- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (632)
- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (630)
- ๐ŸŽจ๐Ÿšจ Improved formatting and linting config burgholzer (625)
- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (623)
- โฌ†๏ธ update black version in blacken-docs burgholzer (614)
- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (613)
- ๐Ÿงฑ switch to new coverage collection workflows burgholzer (612)
- ๐Ÿฉน make GMP dependency opt-in instead of used-if-found burgholzer (608)
- ๐Ÿงฑ switch to dedicated reusable MQT workflows burgholzer (607)
</details>

**Full Changelog**: https://github.com/cda-tum/mqt-core/compare/v2.5.0...v2.5.1

2.5.0

๐Ÿ‘€ What Changed

โš›๏ธ MQT Core

- โœจ Support for Neutral Atom Mapper ystade (596)

๐Ÿš€ Features and Enhancements

- โœจ Support for Neutral Atom Mapper ystade (596)

โฌ†๏ธ Dependencies

- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (605)
- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (604)

**Full Changelog**: https://github.com/cda-tum/mqt-core/compare/v2.4.2...v2.5.0

2.4.2

๐Ÿ‘€ What Changed

Small patch release with updated reusable workflow. Apple Silicon runners now also support Python 3.8 and 3.9.
Python tests are now run on:
- all supported Python versions on Ubuntu
- the minimum and maximum supported version on macOS (Intel + arm64) and Windows.

This means that, e.g., for a library that supports Python 3.8 to 3.12, 5+2+2+2=11 test runs will be started and will produce coverage reports. If you update to the new version of the workflows, make sure to adjust the codecov config.

๐Ÿ“„ Documentation

- ๐Ÿฑ MQT Branding on RtD burgholzer (603)
- ๐Ÿฑ Use centralized images from MQT repository burgholzer (602)

๐Ÿค– CI

- ๐Ÿ‘ท๐Ÿ”ง๐ŸŽ enable Python 3.8+ tests on macos-14 runners burgholzer (597)

โฌ†๏ธ Dependencies

- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (598)
- โฌ†๏ธ๐Ÿช update pre-commit hooks pre-commit-ci (595)

**Full Changelog**: https://github.com/cda-tum/mqt-core/compare/v2.4.1...v2.4.2

2.4.1

๐Ÿ‘€ What Changed

This release mainly brings a documentation overhaul and new iterations of the reusable workflows.
It also includes support for Qiskit's `final_layout` attribute in the Qiskit to MQT conversion and a new optimization pass for conveniently eliding permutations from quantum circuits.

โš›๏ธ MQT Core

- ๐Ÿ‘ทโ™ป๏ธ Improved Reusable Workflows burgholzer (594)
- :sparkles: Support for Qiskit's final\_layout TeWas (592)
- ๐Ÿšธ small improvements to `Control` and `Permutation` bindings burgholzer (593)
- ๐Ÿ“ New and improved project documentation burgholzer (589)
- โœจ Elide permutations optimization burgholzer (586)
- ๐Ÿ› Fix corner case handling for output permutation in defer measurements optimization burgholzer (587)

๐Ÿš€ Features and Enhancements

- ๐Ÿ‘ทโ™ป๏ธ Improved Reusable Workflows burgholzer (594)
- :sparkles: Support for Qiskit's final\_layout TeWas (592)
- ๐Ÿšธ small improvements to `Control` and `Permutation` bindings burgholzer (593)
- ๐Ÿ“ New and improved project documentation burgholzer (589)
- โœจ Elide permutations optimization burgholzer (586)

๐Ÿ› Bug Fixes

- ๐Ÿ› Fix corner case handling for output permutation in defer measurements optimization burgholzer (587)

๐Ÿ“„ Documentation

- ๐Ÿ“ New and improved project documentation burgholzer (589)

๐Ÿค– CI

- ๐Ÿ‘ทโ™ป๏ธ Improved Reusable Workflows burgholzer (594)
- โ™ป๏ธ simplify reusable Python CI workflow burgholzer (591)

โฌ†๏ธ Dependencies

- Bump wntrblm/nox from 2024.03.02 to 2024.04.15 in the github-actions group dependabot (590)

**Full Changelog**: https://github.com/cda-tum/mqt-core/compare/v2.4.0...v2.4.1

Page 1 of 6

ยฉ 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.