Download Latest Version v1.27.0 source code.tar.gz (4.7 MB)
Email in envelope

Get an email when there's a new version of Azure Quantum Development Kit

Home / v1.26.0
Name Modified Size InfoDownloads / Week
Parent folder
samples.zip 2026-02-28 602.8 kB
README.md 2026-02-28 8.1 kB
v1.26.0 source code.tar.gz 2026-02-28 4.2 MB
v1.26.0 source code.zip 2026-02-28 5.7 MB
Totals: 4 Items   10.6 MB 0

Below are some of the highlights for the 1.26 release of the QDK.

Conditional branches in circuit diagrams

With this release, branches based on measurement results (e.g., if (M(q) == One) { ... }) are now shown in circuit diagrams as classically controlled operations, with a label indicating the measurement result that triggers the branch. This makes it easier to understand the structure of algorithms that involve mid-circuit measurements and classical control flow.

Note that the expression in the condition may result from complex processing on multiple measurement results, and the circuit will trace and correctly show the results involved in the condition, for example:

:::qsharp
import Std.Math.PI;
operation Main() : Result {
    use q = Qubit();
    use reg = Qubit[2];

    ApplyToEach(H, reg);
    let num = MeasureInteger(reg);

    if num == 3 {
        Y(q);
    } else {
        Rx(PI() / 4.0, q);
    }

    MResetZ(q)
}

image

As with other circuit operations or gates, clicking on the box for a conditional branch will navigate to the corresponding source code location.

Quantum state visualizer in the circuit editor

The Quantum Circuit Editor now includes a state visualizer panel that shows the resulting quantum state from running the circuit, with live updates as the circuit is edited. It visualizes the probability density and phase for each basis state. The panel may be collapsed or expanded by clicking on the vertical divider.

image

Python improvements for language interop

You can now import OpenQASM code and use it directly as a Q# operation via import_openqasm:

:::python
from qdk.openqasm import import_openqasm
from qdk import qsharp

import_openqasm("""
    include "stdgates.inc";
    qubit[2] qs;
    h qs[0];
    cx qs[0], qs[1];
""", name="Entangle")

qsharp.eval("{ use qs = Qubit[2]; Entangle(qs); MResetEachZ(qs) }")
# [One, One]

The QDK now also supports passing Q# callables across the Python boundary, enabling advanced coding patterns for composable code. Continuing from the sample above, we can define a Q# operation that takes another operation as an argument, and pass the code we imported from OpenQASM:

:::python
qsharp.eval("""
operation TestAntiCorrelation(entangler : Qubit[] => Unit) : Result[] {
    use qs = Qubit[2];
    X(qs[1]);
    entangler(qs);
    MResetEachZ(qs)
}
""")

from qsharp.code import Entangle, TestAntiCorrelation

TestAntiCorrelation(Entangle)
# [Zero, One]

Support for doc comments on struct fields

Doc comments on struct fields are now shown in the hover text for the field in VS Code. See the description in the PR at #2891 for details.

New Table Lookup sample

We added a Hypercube Lookup sample demonstrating usage of the recently added table lookup library. See the extensive comments in the sample's Main.qs file for details.

Other notable changes

New Contributors

Full Changelog: https://github.com/microsoft/qdk/compare/v1.25.1...v1.26.0

Source: README.md, updated 2026-02-28