| Name | Modified | Size | Downloads / 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)
}
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.
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
- Use 'build' package to build wheels by @idavis in [#2822]https://github.com/microsoft/qdk/pull/2822
- Introduce a new lint: avoid block namespace by @filipw in [#2862]https://github.com/microsoft/qdk/pull/2862
- Fix copilot histogram display by @billti in [#2886]https://github.com/microsoft/qdk/pull/2886
- Show doc comments on hover of struct fields by @swernli in [#2891]https://github.com/microsoft/qdk/pull/2891
- Creating an explicit namespace with the same name as a callable breaks Python interop by @swernli in [#2896]https://github.com/microsoft/qdk/pull/2896
- Unresolved names in call expression avoid ambiguous type error by @swernli in [#2892]https://github.com/microsoft/qdk/pull/2892
- Fix issue with shadowing in
qsharp.codeby @swernli in [#2908]https://github.com/microsoft/qdk/pull/2908 - CSS updates by @billti in [#2899]https://github.com/microsoft/qdk/pull/2899
- Fix
**kwargstypehints by @orpuente-MS in [#2884]https://github.com/microsoft/qdk/pull/2884 - Combine kernels for op application by @billti in [#2898]https://github.com/microsoft/qdk/pull/2898
- Better feedback on incorrect syntax for qubit allocation by @swernli in [#2897]https://github.com/microsoft/qdk/pull/2897
- Table lookup sample by @DmitryVasilevsky in [#2910]https://github.com/microsoft/qdk/pull/2910
- Add QIR noise intrinsic by @orpuente-MS in [#2915]https://github.com/microsoft/qdk/pull/2915
- Pointing to windows-2025 image on SDLSources stage by @igormasson in [#2918]https://github.com/microsoft/qdk/pull/2918
- Ket Labels on Results from Azure by @ScottCarda-MS in [#2917]https://github.com/microsoft/qdk/pull/2917
- Deprecate
borrowkeyword with Lint and Code-Action by @ScottCarda-MS in [#2929]https://github.com/microsoft/qdk/pull/2929 - [VSCode] Update to latest Quantum DP and CP api-version by @xinyi-joffre in [#2922]https://github.com/microsoft/qdk/pull/2922
- Atom visualizer improvements by @billti in [#2935]https://github.com/microsoft/qdk/pull/2935
- Add
load_csv_dirmethod toNoiseConfigclass by @orpuente-MS in [#2928]https://github.com/microsoft/qdk/pull/2928 - Added CY gate to GPU, CPU and Clifford simulators by @DmitryVasilevsky in [#2927]https://github.com/microsoft/qdk/pull/2927
- Circuit Editor State Visualization Panel by @ScottCarda-MS in [#2870]https://github.com/microsoft/qdk/pull/2870
- Allow Passing of Q# callables and closures in Python by @swernli in [#2940]https://github.com/microsoft/qdk/pull/2940
- Use tagged aggregates in QIR by @swernli in [#2964]https://github.com/microsoft/qdk/pull/2964
- Change
import_openqasmto hoist qubits into the arguments of the generated Q# operation by @swernli in [#2920]https://github.com/microsoft/qdk/pull/2920 - Sign vsix before publishing by @idavis in [#2967]https://github.com/microsoft/qdk/pull/2967
- Get VSCode Extension, Manifest, and Signature files for Publishing by @idavis in [#2969]https://github.com/microsoft/qdk/pull/2969
- Reset gate and MZ in addition to MResetZ in GPU simulator by @DmitryVasilevsky in [#2939]https://github.com/microsoft/qdk/pull/2939
- Remove container creation when retrieving linked storage account from the service by @rigidit in [#2968]https://github.com/microsoft/qdk/pull/2968
- Update azure-quantum Python dependency by @swernli in [#2976]https://github.com/microsoft/qdk/pull/2976
- [Circuit Diagrams] 1 - RIR debug metadata by @minestarks in [#2942]https://github.com/microsoft/qdk/pull/2942
- [Circuit Diagrams] 2 - ASCII art changes to render conditionals and complex groups by @minestarks in [#2944]https://github.com/microsoft/qdk/pull/2944
- [Circuit Diagrams] 3 - SVG rendering changes for classically controlled circuits by @minestarks in [#2945]https://github.com/microsoft/qdk/pull/2945
- [Circuit diagrams] 4 - Show conditionals in circuits based on RIR debug metadata by @minestarks in [#2943]https://github.com/microsoft/qdk/pull/2943
- Fix zoom behavior in circuit diagrams by @minestarks in [#2979]https://github.com/microsoft/qdk/pull/2979
New Contributors
- @igormasson made their first contribution in https://github.com/microsoft/qdk/pull/2918
- @rigidit made their first contribution in https://github.com/microsoft/qdk/pull/2968
Full Changelog: https://github.com/microsoft/qdk/compare/v1.25.1...v1.26.0