From ed4b4f71558dfa63a56ace13a9dc2ec0dca86cc3 Mon Sep 17 00:00:00 2001 From: sengthai Date: Thu, 18 Dec 2025 14:30:30 -0500 Subject: [PATCH 01/11] Refactor QEC operation verification and canonicalization --- doc/releases/changelog-dev.md | 3 ++ mlir/lib/QEC/IR/QECOps.cpp | 64 ++++++++++++++--------------------- 2 files changed, 28 insertions(+), 39 deletions(-) diff --git a/doc/releases/changelog-dev.md b/doc/releases/changelog-dev.md index debad683e8..00775f2c7c 100644 --- a/doc/releases/changelog-dev.md +++ b/doc/releases/changelog-dev.md @@ -457,6 +457,9 @@ operations for interacting with an external Pauli frame tracking library. [(#2188)](https://github.com/PennyLaneAI/catalyst/pull/2188) +* Remove duplicate code for canonicalization and verification of Pauli Product Rotation operations. + [(#?)](https://github.com/PennyLaneAI/catalyst/pull/?) +

Documentation 📝

* A typo in the code example for :func:`~.passes.ppr_to_ppm` has been corrected. diff --git a/mlir/lib/QEC/IR/QECOps.cpp b/mlir/lib/QEC/IR/QECOps.cpp index 691e05f7f1..d3c1383e8a 100644 --- a/mlir/lib/QEC/IR/QECOps.cpp +++ b/mlir/lib/QEC/IR/QECOps.cpp @@ -35,37 +35,45 @@ using namespace catalyst::qec; #include "QEC/IR/QECOps.cpp.inc" //===----------------------------------------------------------------------===// -// QEC op verifiers. +// QEC op canonicalizers/verifiers helper methods. //===----------------------------------------------------------------------===// -LogicalResult PPRotationOp::verify() +template LogicalResult canonicalizePPROp(OpType op, PatternRewriter &rewriter) { - size_t numPauliProduct = getPauliProduct().size(); - - if (numPauliProduct == 0) { - return emitOpError("Pauli string must be non-empty"); - } + bool allIdentity = llvm::all_of(op.getPauliProduct(), [](mlir::Attribute attr) { + auto pauliStr = llvm::cast(attr); + return pauliStr.getValue() == "I"; + }); - if (numPauliProduct != getInQubits().size()) { - return emitOpError("Number of qubits must match number of pauli operators"); + if (allIdentity) { + rewriter.replaceOp(op, op.getInQubits()); + return mlir::success(); } - return mlir::success(); + return mlir::failure(); } -LogicalResult PPRotationArbitraryOp::verify() +template LogicalResult verifyPPROp(OpType op) { - size_t numPauliProduct = getPauliProduct().size(); + size_t numPauliProduct = op.getPauliProduct().size(); if (numPauliProduct == 0) { - return emitOpError("Pauli string must be non-empty"); + return op.emitOpError("Pauli string must be non-empty"); } - if (numPauliProduct != getInQubits().size()) { - return emitOpError("Number of qubits must match number of pauli operators"); + if (numPauliProduct != op.getInQubits().size()) { + return op.emitOpError("Number of qubits must match number of pauli operators"); } return mlir::success(); } +//===----------------------------------------------------------------------===// +// QEC op verifiers. +//===----------------------------------------------------------------------===// + +LogicalResult PPRotationOp::verify() { return verifyPPROp(*this); } + +LogicalResult PPRotationArbitraryOp::verify() { return verifyPPROp(*this); } + LogicalResult PPMeasurementOp::verify() { if (getInQubits().size() != getPauliProduct().size()) { @@ -105,35 +113,13 @@ LogicalResult FabricateOp::verify() LogicalResult PPRotationOp::canonicalize(PPRotationOp op, PatternRewriter &rewriter) { - auto pauliProduct = op.getPauliProduct(); - - bool allIdentity = llvm::all_of(pauliProduct, [](mlir::Attribute attr) { - auto pauliStr = llvm::cast(attr); - return pauliStr.getValue() == "I"; - }); - - if (allIdentity) { - rewriter.replaceOp(op, op.getInQubits()); - return mlir::success(); - } - return mlir::failure(); + return canonicalizePPROp(op, rewriter); } LogicalResult PPRotationArbitraryOp::canonicalize(PPRotationArbitraryOp op, PatternRewriter &rewriter) { - auto pauliProduct = op.getPauliProduct(); - - bool allIdentity = llvm::all_of(pauliProduct, [](mlir::Attribute attr) { - auto pauliStr = llvm::cast(attr); - return pauliStr.getValue() == "I"; - }); - - if (allIdentity) { - rewriter.replaceOp(op, op.getInQubits()); - return mlir::success(); - } - return mlir::failure(); + return canonicalizePPROp(op, rewriter); } void LayerOp::build(OpBuilder &builder, OperationState &result, ValueRange inValues, From 287d5860212e9f9da75734a5acdc71673eaa9996 Mon Sep 17 00:00:00 2001 From: sengthai Date: Thu, 18 Dec 2025 14:37:08 -0500 Subject: [PATCH 02/11] update changelog --- doc/releases/changelog-dev.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/releases/changelog-dev.md b/doc/releases/changelog-dev.md index 00775f2c7c..8b06a26b0f 100644 --- a/doc/releases/changelog-dev.md +++ b/doc/releases/changelog-dev.md @@ -458,7 +458,7 @@ [(#2188)](https://github.com/PennyLaneAI/catalyst/pull/2188) * Remove duplicate code for canonicalization and verification of Pauli Product Rotation operations. - [(#?)](https://github.com/PennyLaneAI/catalyst/pull/?) + [(#2313)](https://github.com/PennyLaneAI/catalyst/pull/2313)

Documentation 📝

From 0c75489b6503523c1b1ecc6057730e620b148408 Mon Sep 17 00:00:00 2001 From: Paul <79805239+paul0403@users.noreply.github.com> Date: Mon, 5 Jan 2026 14:05:29 -0500 Subject: [PATCH 03/11] Prepare for the next development cycle (v15) (#2335) Context: Setting up the repository for the next development cycle after v14 release. Description of the Change: - Add new changelog-dev.md file for v0.15.0 - Add changelog-dev reference to release_notes.rst - Update version in _version.py to 0.15.0-dev0 - Update build-nightly-release-candidate.yaml's schedule for this release --- .../build-nightly-release-candidate.yaml | 8 ++++---- doc/dev/release_notes.rst | 2 ++ doc/releases/changelog-dev.md | 19 +++++++++++++++++++ frontend/catalyst/_version.py | 2 +- 4 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 doc/releases/changelog-dev.md diff --git a/.github/workflows/build-nightly-release-candidate.yaml b/.github/workflows/build-nightly-release-candidate.yaml index c20c5216ad..19ee182517 100644 --- a/.github/workflows/build-nightly-release-candidate.yaml +++ b/.github/workflows/build-nightly-release-candidate.yaml @@ -2,14 +2,14 @@ name: Build Release Branch Nightly for TestPyPI on: schedule: - # Run from October 7th to October 12th at 02:00 UTC (10:00 PM EDT) - - cron: "0 2 7-12 10 *" + # Run from Jan 6th to Jan 11th at 02:00 UTC (10:00 PM EDT) + - cron: "0 2 6-11 1 *" workflow_dispatch: inputs: branch: description: 'Branch to build from' required: true - default: 'v0.13.0-rc' + default: 'v0.14.0-rc' jobs: setup: @@ -20,7 +20,7 @@ jobs: steps: - name: Set branch id: set_branch - run: echo "branch=${{ github.event.inputs.branch || 'v0.13.0-rc' }}" >> $GITHUB_OUTPUT + run: echo "branch=${{ github.event.inputs.branch || 'v0.14.0-rc' }}" >> $GITHUB_OUTPUT - name: Checkout Catalyst repo release branch uses: actions/checkout@v4 diff --git a/doc/dev/release_notes.rst b/doc/dev/release_notes.rst index 549ea5aedf..dec54ebdc7 100644 --- a/doc/dev/release_notes.rst +++ b/doc/dev/release_notes.rst @@ -3,6 +3,8 @@ Release notes This page contains the release notes for Catalyst. +.. mdinclude:: ../releases/changelog-dev.md + .. mdinclude:: ../releases/changelog-0.14.0.md .. mdinclude:: ../releases/changelog-0.13.0.md diff --git a/doc/releases/changelog-dev.md b/doc/releases/changelog-dev.md new file mode 100644 index 0000000000..340e1604ca --- /dev/null +++ b/doc/releases/changelog-dev.md @@ -0,0 +1,19 @@ +# Release 0.15.0 (development release) + +

New features since last release

+ +

Improvements 🛠

+ +

Breaking changes 💔

+ +

Deprecations 👋

+ +

Bug fixes 🐛

+ +

Internal changes ⚙️

+ +

Documentation 📝

+ +

Contributors ✍️

+ +This release contains contributions from (in alphabetical order): diff --git a/frontend/catalyst/_version.py b/frontend/catalyst/_version.py index 2f634674bc..990cfbbfd4 100644 --- a/frontend/catalyst/_version.py +++ b/frontend/catalyst/_version.py @@ -16,4 +16,4 @@ Version number (major.minor.patch[-label]) """ -__version__ = "0.14.0" +__version__ = "0.15.0-dev0" From e13dc69537af02fa0df309bf8cff4b9a7eb270a4 Mon Sep 17 00:00:00 2001 From: ringo-but-quantum Date: Tue, 6 Jan 2026 04:00:19 +0000 Subject: [PATCH 04/11] [no ci] bump nightly version --- frontend/catalyst/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/catalyst/_version.py b/frontend/catalyst/_version.py index 990cfbbfd4..1cca6e8590 100644 --- a/frontend/catalyst/_version.py +++ b/frontend/catalyst/_version.py @@ -16,4 +16,4 @@ Version number (major.minor.patch[-label]) """ -__version__ = "0.15.0-dev0" +__version__ = "0.15.0-dev1" From 882b290c87a63df8bac10ebd723a7bad7e21e694 Mon Sep 17 00:00:00 2001 From: Paul <79805239+paul0403@users.noreply.github.com> Date: Tue, 6 Jan 2026 11:50:16 -0500 Subject: [PATCH 05/11] A few fixes in rcrcrc action (#2338) **Context:** We fix a few things regarding the rcrcrc script, and xdsl dependency. 1. Adds explicit `rc0` lower bound to rcrcrc pip install 2. Adds apt install graphviz to rcrcrc 3. Remove xdsl from `requirements.txt`, since it is already in `setup.py`. --- .github/workflows/check-pl-compat.yaml | 14 ++++++++------ requirements.txt | 2 -- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/check-pl-compat.yaml b/.github/workflows/check-pl-compat.yaml index 6d5f624221..959912fa9c 100644 --- a/.github/workflows/check-pl-compat.yaml +++ b/.github/workflows/check-pl-compat.yaml @@ -137,9 +137,9 @@ jobs: run: | # This is the first for the three rc installs # Thus this one shouldn't have no-deps: it needs to pull in all PL dependencies - jax_version=$(grep jax .dep-versions | awk -F '=' '{ print $2 }') - pip install jax==$jax_version - pip install --pre -U --index-url https://test.pypi.org/simple/ pennylane-catalyst'<=0.14.0' + # And also this one needs to be --extra-index-url because it needs to see regular PyPI + sudo apt-get install -y graphviz + pip install --extra-index-url https://test.pypi.org/simple/ pennylane-catalyst'>=0.14.0rc0,<=0.14.0' - name: Install PennyLane-Lightning (stable) if: ${{ inputs.lightning == 'stable' }} @@ -159,8 +159,9 @@ jobs: - name: Install PennyLane-Lightning (release-candidate) if: ${{ inputs.lightning == 'release-candidate' }} run: | - pip install --no-deps --pre -U --index-url https://test.pypi.org/simple/ pennylane-lightning'<=0.44.0' - pip install --no-deps --pre -U --index-url https://test.pypi.org/simple/ pennylane-lightning-kokkos'<=0.44.0' + # Do not overwrite any dependencies, just fetch rc package from TestPyPI + pip install --no-deps --pre -U --index-url https://test.pypi.org/simple/ pennylane-lightning'>=0.44.0rc0,<=0.44.0' + pip install --no-deps --pre -U --index-url https://test.pypi.org/simple/ pennylane-lightning-kokkos'>=0.44.0rc0,<=0.44.0' # PennyLane doesn't update its dev version number on every commit like Lightning, so we need to # force the package to be re-installed. First, handle potential dependency changes, then force @@ -178,7 +179,8 @@ jobs: - name: Install PennyLane (release-candidate) if: ${{ inputs.pennylane == 'release-candidate' }} run: | - pip install --no-deps --pre -U --index-url https://test.pypi.org/simple/ pennylane'<=0.44.0' + # Do not overwrite any dependencies, just fetch rc package from TestPyPI + pip install --no-deps --pre -U --index-url https://test.pypi.org/simple/ pennylane'>=0.44.0rc0,<=0.44.0' - name: Add Frontend Dependencies to PATH if: ${{ inputs.catalyst == 'latest' }} diff --git a/requirements.txt b/requirements.txt index 077b6d5fd7..44bfa62740 100644 --- a/requirements.txt +++ b/requirements.txt @@ -35,8 +35,6 @@ filecheck # optional rt/test dependencies pennylane-lightning-kokkos amazon-braket-pennylane-plugin>1.27.1; python_version < "3.14" -xdsl -xdsl-jax pydot # Graph visualization backend requirement matplotlib # Graph visualization frontend requirement graphviz # Graph visualization backend requirement From e6042ec2ffcfc7e4299224a238cfd358eee2baf7 Mon Sep 17 00:00:00 2001 From: sengthai Date: Tue, 6 Jan 2026 11:56:19 -0500 Subject: [PATCH 06/11] Enhance `qec.ppr` op attribute constraints and fix related bugs --- doc/releases/changelog-0.14.0.md | 5 +++++ mlir/include/QEC/IR/QECOps.td | 16 +++++++++++++++- mlir/lib/QEC/Transforms/ToPPR.cpp | 2 +- mlir/test/QEC/SmokeTest.mlir | 10 +++++++++- 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/doc/releases/changelog-0.14.0.md b/doc/releases/changelog-0.14.0.md index 3e5a99524e..483813fabf 100644 --- a/doc/releases/changelog-0.14.0.md +++ b/doc/releases/changelog-0.14.0.md @@ -430,6 +430,11 @@

Bug fixes 🐛

+* Fixed a bug where the `qec.ppr` op attribute `rotation_kind` was not correctly constrained to + be one of ±1, ±2, ±4, or ±8. + Also, for Identity Pauli product, the `rotation_kind` was correctly set to 1, instead of 0. + [(#?)](https://github.com/PennyLaneAI/catalyst/pull/?) + * Updated tests and PennyLane dependency pin to follow changes introduced by [PennyLaneAI/pennylane#8290](https://github.com/PennyLaneAI/pennylane/pull/8290). [(#2286)](https://github.com/PennyLaneAI/catalyst/pull/2286) diff --git a/mlir/include/QEC/IR/QECOps.td b/mlir/include/QEC/IR/QECOps.td index 4e267b3b77..7dc15eb7e1 100644 --- a/mlir/include/QEC/IR/QECOps.td +++ b/mlir/include/QEC/IR/QECOps.td @@ -29,6 +29,20 @@ include "QEC/IR/QECOpInterfaces.td" class QEC_Op traits = []> : Op; +//===----------------------------------------------------------------------===// +// Attribute constraints +//===----------------------------------------------------------------------===// + +// Constraint for rotation_kind: must be one of ±1, ±2, ±4, ±8 +// The power-of-2 check works because powers of 2 have exactly one bit set. +def RotationKindConstraint : AttrConstraint< + CPred<"[&]() {" + " auto val = ::llvm::cast<::mlir::IntegerAttr>($_self).getInt();" + " auto absVal = val < 0 ? -val : val;" + " return absVal >= 1 && absVal <= 8 && (absVal & (absVal - 1)) == 0;" + "}()">, + "whose value is ±1, ±2, ±4, or ±8">; + def PrepareStateOp : QEC_Op<"prepare"> { let summary = "Initialize existing qubits into a given state."; let description = [{ @@ -173,7 +187,7 @@ def PPRotationOp : QEC_Op<"ppr", [QECOpInterface, AttrSizedOperandSegments]> { let arguments = (ins PauliWord:$pauli_product, // The Pauli product to apply (e.g., ["X", "I", "Z"]) - I16Attr:$rotation_kind, // Rotation angle in fractions of π (e.g., 4 for π/2) + ConfinedAttr:$rotation_kind, // Rotation angle in fractions of π (e.g., 4 for π/2) Variadic:$in_qubits, // The qubits to apply the rotation to Optional:$condition ); diff --git a/mlir/lib/QEC/Transforms/ToPPR.cpp b/mlir/lib/QEC/Transforms/ToPPR.cpp index 761c9f8311..d52aae54fa 100644 --- a/mlir/lib/QEC/Transforms/ToPPR.cpp +++ b/mlir/lib/QEC/Transforms/ToPPR.cpp @@ -204,7 +204,7 @@ LogicalResult convertZGate(CustomOp op, ConversionPatternRewriter &rewriter) // I = I LogicalResult convertIGate(CustomOp op, ConversionPatternRewriter &rewriter) { - auto gate = GateConversion({"I"}, 0); + auto gate = GateConversion({"I"}, 1); applySingleQubitConversion(op, {gate}, rewriter); return success(); } diff --git a/mlir/test/QEC/SmokeTest.mlir b/mlir/test/QEC/SmokeTest.mlir index ba3aed8c6c..f5f89ae630 100644 --- a/mlir/test/QEC/SmokeTest.mlir +++ b/mlir/test/QEC/SmokeTest.mlir @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// RUN: quantum-opt %s | FileCheck %s +// RUN: quantum-opt %s --split-input-file --verify-diagnostics | FileCheck %s func.func @foo(%q1 : !quantum.bit, %q2 : !quantum.bit) { qec.ppr ["X", "Z"] (4) %q1, %q2 : !quantum.bit, !quantum.bit @@ -101,3 +101,11 @@ func.func @arbitrary(%q1 : !quantum.bit, %q2 : !quantum.bit) { %2:2 = qec.ppr.arbitrary ["X", "Z"](%const_1) %1#0, %1#1 cond(%c0) : !quantum.bit, !quantum.bit func.return } + +// ----- + +func.func @baz_error(%q1 : !quantum.bit, %q2 : !quantum.bit) { + // expected-error@below {{'qec.ppr' op attribute 'rotation_kind' failed to satisfy constraint: 16-bit signless integer attribute whose value is ±1, ±2, ±4, or ±8}} + %0, %1 = qec.ppr ["X", "Z"] (16) %q1, %q2 : !quantum.bit, !quantum.bit + func.return +} From 210d877d944f128e34f28f078e57cc522672ea47 Mon Sep 17 00:00:00 2001 From: sengthai Date: Thu, 18 Dec 2025 14:30:30 -0500 Subject: [PATCH 07/11] Refactor QEC operation verification and canonicalization --- doc/releases/changelog-0.14.0.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/releases/changelog-0.14.0.md b/doc/releases/changelog-0.14.0.md index 4be173c1c2..b995cacebf 100644 --- a/doc/releases/changelog-0.14.0.md +++ b/doc/releases/changelog-0.14.0.md @@ -653,6 +653,9 @@ * Adding the measurement type into the MLIR assembly format for `qec.ppm` and `qec.select.ppm` [(#2347)](https://github.com/PennyLaneAI/catalyst/pull/2347) +* Remove duplicate code for canonicalization and verification of Pauli Product Rotation operations. + [(#2313)](https://github.com/PennyLaneAI/catalyst/pull/2313) +

Documentation 📝

* A new statevector simulator ``lightning.amdgpu`` has been added for optimized performance on AMD GPUs. From d4ef80a41cf0902c47af9c78e6192d502b84111c Mon Sep 17 00:00:00 2001 From: sengthai Date: Wed, 7 Jan 2026 15:09:07 -0500 Subject: [PATCH 08/11] Revert workflow file to v0.14.0-rc version --- .github/workflows/build-nightly-release-candidate.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-nightly-release-candidate.yaml b/.github/workflows/build-nightly-release-candidate.yaml index 19ee182517..c20c5216ad 100644 --- a/.github/workflows/build-nightly-release-candidate.yaml +++ b/.github/workflows/build-nightly-release-candidate.yaml @@ -2,14 +2,14 @@ name: Build Release Branch Nightly for TestPyPI on: schedule: - # Run from Jan 6th to Jan 11th at 02:00 UTC (10:00 PM EDT) - - cron: "0 2 6-11 1 *" + # Run from October 7th to October 12th at 02:00 UTC (10:00 PM EDT) + - cron: "0 2 7-12 10 *" workflow_dispatch: inputs: branch: description: 'Branch to build from' required: true - default: 'v0.14.0-rc' + default: 'v0.13.0-rc' jobs: setup: @@ -20,7 +20,7 @@ jobs: steps: - name: Set branch id: set_branch - run: echo "branch=${{ github.event.inputs.branch || 'v0.14.0-rc' }}" >> $GITHUB_OUTPUT + run: echo "branch=${{ github.event.inputs.branch || 'v0.13.0-rc' }}" >> $GITHUB_OUTPUT - name: Checkout Catalyst repo release branch uses: actions/checkout@v4 From 7100cdb9f7e2979727f3a63279f70d130676034c Mon Sep 17 00:00:00 2001 From: sengthai Date: Wed, 7 Jan 2026 15:10:56 -0500 Subject: [PATCH 09/11] reverted --- doc/releases/changelog-0.14.0.md | 3 --- requirements.txt | 2 ++ 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/releases/changelog-0.14.0.md b/doc/releases/changelog-0.14.0.md index b995cacebf..384a8483c8 100644 --- a/doc/releases/changelog-0.14.0.md +++ b/doc/releases/changelog-0.14.0.md @@ -647,9 +647,6 @@ protocols to a Clifford+T program. [(#2269)](https://github.com/PennyLaneAI/catalyst/pull/2269) -* Remove duplicate code for canonicalization and verification of Pauli Product Rotation operations. - [(#2313)](https://github.com/PennyLaneAI/catalyst/pull/2313) - * Adding the measurement type into the MLIR assembly format for `qec.ppm` and `qec.select.ppm` [(#2347)](https://github.com/PennyLaneAI/catalyst/pull/2347) diff --git a/requirements.txt b/requirements.txt index 44bfa62740..077b6d5fd7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -35,6 +35,8 @@ filecheck # optional rt/test dependencies pennylane-lightning-kokkos amazon-braket-pennylane-plugin>1.27.1; python_version < "3.14" +xdsl +xdsl-jax pydot # Graph visualization backend requirement matplotlib # Graph visualization frontend requirement graphviz # Graph visualization backend requirement From 3b9167743c3cf1d51190d34d5df24e156ec78b4e Mon Sep 17 00:00:00 2001 From: sengthai Date: Wed, 7 Jan 2026 15:14:03 -0500 Subject: [PATCH 10/11] reverted files --- .github/workflows/check-pl-compat.yaml | 14 ++++++-------- doc/dev/release_notes.rst | 2 -- doc/releases/changelog-dev.md | 19 ------------------- 3 files changed, 6 insertions(+), 29 deletions(-) diff --git a/.github/workflows/check-pl-compat.yaml b/.github/workflows/check-pl-compat.yaml index 959912fa9c..6d5f624221 100644 --- a/.github/workflows/check-pl-compat.yaml +++ b/.github/workflows/check-pl-compat.yaml @@ -137,9 +137,9 @@ jobs: run: | # This is the first for the three rc installs # Thus this one shouldn't have no-deps: it needs to pull in all PL dependencies - # And also this one needs to be --extra-index-url because it needs to see regular PyPI - sudo apt-get install -y graphviz - pip install --extra-index-url https://test.pypi.org/simple/ pennylane-catalyst'>=0.14.0rc0,<=0.14.0' + jax_version=$(grep jax .dep-versions | awk -F '=' '{ print $2 }') + pip install jax==$jax_version + pip install --pre -U --index-url https://test.pypi.org/simple/ pennylane-catalyst'<=0.14.0' - name: Install PennyLane-Lightning (stable) if: ${{ inputs.lightning == 'stable' }} @@ -159,9 +159,8 @@ jobs: - name: Install PennyLane-Lightning (release-candidate) if: ${{ inputs.lightning == 'release-candidate' }} run: | - # Do not overwrite any dependencies, just fetch rc package from TestPyPI - pip install --no-deps --pre -U --index-url https://test.pypi.org/simple/ pennylane-lightning'>=0.44.0rc0,<=0.44.0' - pip install --no-deps --pre -U --index-url https://test.pypi.org/simple/ pennylane-lightning-kokkos'>=0.44.0rc0,<=0.44.0' + pip install --no-deps --pre -U --index-url https://test.pypi.org/simple/ pennylane-lightning'<=0.44.0' + pip install --no-deps --pre -U --index-url https://test.pypi.org/simple/ pennylane-lightning-kokkos'<=0.44.0' # PennyLane doesn't update its dev version number on every commit like Lightning, so we need to # force the package to be re-installed. First, handle potential dependency changes, then force @@ -179,8 +178,7 @@ jobs: - name: Install PennyLane (release-candidate) if: ${{ inputs.pennylane == 'release-candidate' }} run: | - # Do not overwrite any dependencies, just fetch rc package from TestPyPI - pip install --no-deps --pre -U --index-url https://test.pypi.org/simple/ pennylane'>=0.44.0rc0,<=0.44.0' + pip install --no-deps --pre -U --index-url https://test.pypi.org/simple/ pennylane'<=0.44.0' - name: Add Frontend Dependencies to PATH if: ${{ inputs.catalyst == 'latest' }} diff --git a/doc/dev/release_notes.rst b/doc/dev/release_notes.rst index dec54ebdc7..549ea5aedf 100644 --- a/doc/dev/release_notes.rst +++ b/doc/dev/release_notes.rst @@ -3,8 +3,6 @@ Release notes This page contains the release notes for Catalyst. -.. mdinclude:: ../releases/changelog-dev.md - .. mdinclude:: ../releases/changelog-0.14.0.md .. mdinclude:: ../releases/changelog-0.13.0.md diff --git a/doc/releases/changelog-dev.md b/doc/releases/changelog-dev.md index 340e1604ca..e69de29bb2 100644 --- a/doc/releases/changelog-dev.md +++ b/doc/releases/changelog-dev.md @@ -1,19 +0,0 @@ -# Release 0.15.0 (development release) - -

New features since last release

- -

Improvements 🛠

- -

Breaking changes 💔

- -

Deprecations 👋

- -

Bug fixes 🐛

- -

Internal changes ⚙️

- -

Documentation 📝

- -

Contributors ✍️

- -This release contains contributions from (in alphabetical order): From b0bf1e61755367f88abaf00a1189e775a9b16dd6 Mon Sep 17 00:00:00 2001 From: sengthai Date: Wed, 7 Jan 2026 15:14:39 -0500 Subject: [PATCH 11/11] revert changelog --- doc/releases/changelog-dev.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 doc/releases/changelog-dev.md diff --git a/doc/releases/changelog-dev.md b/doc/releases/changelog-dev.md deleted file mode 100644 index e69de29bb2..0000000000