Changelog
August 27, 2026 Β· View on GitHub
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Types of changes:
New Features: for new features.Improvements: for improvements to existing functionality.Documentation: for any additions to documentation.Bug Fixes: for any bug fixes.Dependency updates: for any dependency changesDeprecations(optional): for soon-to-be removed features.
[Unreleased]
β New Features
π Improvements
- Added a
.github/CODEOWNERSfile designating @TheGupta2012 as code owner, matching the convention inqBraid/qBraidandqBraid/pyqasm. This declares ownership only; requiring code owner review is a separate branch protection setting, which stays off. (#298) - Added an OpenSSF Scorecard workflow that grades the repository's supply-chain practices, uploads the result to code scanning as SARIF, and publishes the score to the public Scorecard API. (#300)
- PyPI releases now authenticate with trusted publishing (OIDC) instead of the long-lived
PYPI_API_TOKENrepository secret.publish.ymlandpre-release.ymlrequestid-token: writesopypa/gh-action-pypi-publishmints a short-lived credential, and the action attaches PEP 740 attestations to files published after this merges. (#299)
π Documentation
- Added
SECURITY.mddocumenting the supported version range and a private vulnerability disclosure path via GitHub Security Advisories. (#296)
π Bug Fixes
- Fixed
qasm3_to_qirraising a bareAssertionError(with an empty message) for programs that address physical qubits, e.g.h \$0;. Physical qubits are valid OpenQASM 3 and are what Qiskit emits when a circuit is transpiled against a backend (qasm3.dumps(transpile(circuit, backend))), but they survive unrolling as plainIdentifiernodes rather thanIndexedIdentifier, which the visitor assumed. They now lower to the QIR qubit of the same index ($3is qubit 3), and the entry point declares enough qubits to cover the highest index used. Operands the visitor cannot lower now raiseQasm3ConversionErrorwith a message instead of an emptyAssertionError. (#290) - Fixed the cudaqβsquin tests (
test_bell_state,test_ghz_state) failing under the typed-pointer pyqir (0.11.x) CI leg. cudaq 0.15+ emits opaque-pointer QIR (QIR 2.0) that only pyqir 0.12+ can parse, so these tests are now gated onpyqir_uses_opaque_pointers(). (#292)
β¬οΈ Dependency Updates
- Updated
pyqasmrequirement from>=0.4.0,<1.1.0to>=1.0.4,<1.1.0, which is the first release that preserves physical qubits inresetstatements rather than rewriting them to the internal pulse register. (#290) - Bumped
actions/checkoutfrom 6 to 7 (#289)
π Deprecations
Past releases
Release notes for earlier versions are published on the Releases page.