Skip to content

Commit 2095df6

Browse files
authored
v1.22 (#2769)
1 parent c27d410 commit 2095df6

7 files changed

Lines changed: 93 additions & 13 deletions

File tree

library/fixed_point/qsharp.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"github": {
77
"owner": "Microsoft",
88
"repo": "qsharp",
9-
"ref": "v1.21.0",
9+
"ref": "v1.22.0",
1010
"path": "library/signed"
1111
}
1212
}

library/signed/qsharp.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"github": {
77
"owner": "Microsoft",
88
"repo": "qsharp",
9-
"ref": "v1.21.0",
9+
"ref": "v1.22.0",
1010
"path": "library/qtest"
1111
}
1212
}

source/qdk_package/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,25 @@ pip install qdk
1313
To include the Jupyter extra, which adds visualizations using Jupyter Widgets in the `qdk.widgets` submodule and syntax highlighting for Jupyter notebooks in the browser:
1414

1515
```bash
16-
pip install qdk[jupyter]
16+
pip install "qdk[jupyter]"
1717
```
1818

1919
To add the Azure Quantum extra, which includes functionality for working with the Azure Quantum service in the `qdk.azure` submodule:
2020

2121
```bash
22-
pip install qdk[azure]
22+
pip install "qdk[azure]"
2323
```
2424

2525
For Qiskit integration, which exposes Qiskit interop utilities in the `qdk.qiskit` submodule:
2626

2727
```bash
28-
pip install qdk[qiskit]
28+
pip install "qdk[qiskit]"
2929
```
3030

3131
To easily install all the above extras:
3232

3333
```bash
34-
pip install qdk[all]
34+
pip install "qdk[all]"
3535
```
3636

3737
## Quick Start

source/vscode/changelog.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,85 @@
11
# QDK Changelog
22

3+
## v1.22.0
4+
5+
Below are some of the highlights for the 1.22 release of the QDK.
6+
7+
### Python `qdk` package is out of preview
8+
9+
With this release, the `qdk` package on PyPI is now considered stable and out of preview, and is the recommended way to install the QDK for Python users. The package includes a number of 'extras' to add optional functionality, such as Jupyter Notebook support, Azure Quantum integration, and Qiskit interop. For example, to install the QDK with Qiskit, Jupyter and Azure Quantum support:
10+
11+
pip install "qdk[qiskit,jupyter,azure]"
12+
13+
As a shortcut to install all optional functionality, you can also do:
14+
15+
pip install "qdk[all]"
16+
17+
See <https://pypi.org/project/qdk/> for more details.
18+
19+
### Qiskit 2 support
20+
21+
With this release, the QDK supports both Qiskit 1.x and 2.x releases for converting a Qiskit circuit into QIR and submitting as a job to the Azure Quantum service.
22+
23+
> Note that this **does not** yet support using Azure Quantum `Backends` directly from Qiskit 2.x; that functionality is planned for a future release of the [azure-quantum](https://pypi.org/project/azure-quantum) Python package.
24+
25+
For an example of submitting a Qiskit circuit by first converting to QIR, see the first sample notebook in the next section.
26+
27+
### Sample notebooks for submitting Qiskit, Cirq, and PennyLane programs to Azure Quantum
28+
29+
We have added sample Jupyter Notebooks demonstrating how to submit quantum programs written in Qiskit, Cirq, and PennyLane to the Azure Quantum service. These samples use the `qdk` Python package to convert the circuits into QIR format, and then submit them as jobs to Azure Quantum.
30+
31+
- [Submit Qiskit Circuit to Azure](https://github.com/microsoft/qdk/blob/main/samples/python_interop/submit_qiskit_circuit_to_azure.ipynb)
32+
- [Circ submission to Azure](https://github.com/microsoft/qdk/blob/main/samples/python_interop/cirq_submission_to_azure.ipynb)
33+
- [PennyLane submission to Azure](https://github.com/microsoft/qdk/blob/main/samples/python_interop/pennylane_submission_to_azure.ipynb)
34+
35+
### Spec compliant QIR code generation
36+
37+
In this release we have updated the QIR code generation to be compliant with the [QIR specification](https://github.com/qir-alliance/qir-spec/tree/main/specification). This has been tested with the quantum targets available on Azure Quantum, and you should see no difference in behavior when submitting jobs. However if you are using the generated QIR in other toolchain, you may be impacted. See the PR at [#2590](https://github.com/microsoft/qdk/pull/2590) for details.
38+
39+
### Code action to create parameterless wrappers
40+
41+
A new Code Action has been added to wrap an existing operation in a new operation that takes no parameters. The new operation can be edited to prepare the parameters before calling the existing operation. This allows for easy circuit generation, execution, debugging, etc. via the CodeLens actions on the new operation, as well as quickly turning the wrapper into a unit test.
42+
43+
![wrapper](https://github.com/user-attachments/assets/c35bc7e5-bea3-4a9a-bcf1-9e2e0bd8cdd7)
44+
45+
### Azure Quantum job cancellation
46+
47+
Jobs submitted to the Azure Quantum service that have not yet completed can now be cancelled directly from the VS Code "Quantum Workspaces" explorer view. As shown below, when a job is in the `Waiting` or `Running` state, a "Cancel Azure Quantum Job" icon is available to the right of the job name. Clicking this icon will prompt for confirmation, and then submit a cancellation request to Azure Quantum.
48+
49+
<img width="575" alt="cancel job" src="https://github.com/user-attachments/assets/9baca94b-38fc-4bd6-b312-1ba6117335ba" />
50+
51+
## Other notable changes
52+
53+
- Emit spec compliant QIR by @swernli in [#2590](https://github.com/microsoft/qdk/pull/2590)
54+
- Improved adjoint Select implementation by @DmitryVasilevsky in [#2729](https://github.com/microsoft/qdk/pull/2729)
55+
- Code Action for Parameterless Wrappers by @ScottCarda-MS in [#2731](https://github.com/microsoft/qdk/pull/2731)
56+
- Housekeeping: Tidy up spelling by @ConradJohnston in [#2734](https://github.com/microsoft/qdk/pull/2734)
57+
- Fix a bug in trivial 1-to-1 distillation unit by @msoeken in [#2736](https://github.com/microsoft/qdk/pull/2736)
58+
- Enable implementation of `prune_error_budget` in custom estimation API by @msoeken in [#2737](https://github.com/microsoft/qdk/pull/2737)
59+
- Better `compile` error when missing call to `init` by @swernli in [#2735](https://github.com/microsoft/qdk/pull/2735)
60+
- Sample Notebook for Submitting Qiskit to Azure Quantum using `qdk` python by @ScottCarda-MS in [#2739](https://github.com/microsoft/qdk/pull/2739)
61+
- Replace Quantinuum H1 with H2 in samples by @swernli in [#2747](https://github.com/microsoft/qdk/pull/2747)
62+
- Fix Webview and Circuit Editor Left Padding by @ScottCarda-MS in [#2748](https://github.com/microsoft/qdk/pull/2748)
63+
- Array error messages for comma issues by @joesho112358 in [#2744](https://github.com/microsoft/qdk/pull/2744)
64+
- Fix OpenQASM `cu` target by @swernli in [#2752](https://github.com/microsoft/qdk/pull/2752)
65+
- Remove `dump_circuit` from top-level `qdk` python module by @ScottCarda-MS in [#2753](https://github.com/microsoft/qdk/pull/2753)
66+
- Cirq Sample Notebook for Azure Submission by @ScottCarda-MS in [#2751](https://github.com/microsoft/qdk/pull/2751)
67+
- Removed References to the QDK Package being "preview" by @ScottCarda-MS in [#2756](https://github.com/microsoft/qdk/pull/2756)
68+
- Circuit diagram snapshot tests (includes Node.js upgrade) by @minestarks in [#2743](https://github.com/microsoft/qdk/pull/2743)
69+
- Add lint warning for ambiguous if-statement followed by unary operator by @swernli in [#2759](https://github.com/microsoft/qdk/pull/2759)
70+
- Automatic estimation of overhead in memory/compute architecture by @msoeken in [#2760](https://github.com/microsoft/qdk/pull/2760)
71+
- Enable Qiskit 2.0 support by @idavis in [#2754](https://github.com/microsoft/qdk/pull/2754)
72+
- Job cancallation by @billti in [#2763](https://github.com/microsoft/qdk/pull/2763)
73+
- PennyLane Sample Notebook for Azure Submission by @ScottCarda-MS in [#2758](https://github.com/microsoft/qdk/pull/2758)
74+
- Unit test for over-large address in Select/Unselect by @DmitryVasilevsky in [#2765](https://github.com/microsoft/qdk/pull/2765)
75+
76+
## New Contributors
77+
78+
- @ConradJohnston made their first contribution in https://github.com/microsoft/qdk/pull/2734
79+
- @joesho112358 made their first contribution in https://github.com/microsoft/qdk/pull/2744
80+
81+
**Full Changelog**: https://github.com/microsoft/qdk/compare/v1.21.0...v1.22.0
82+
383
## v1.21.0
484

585
Below are some of the highlights for the 1.21 release of the QDK.

source/vscode/src/changelog.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { EventType, sendTelemetryEvent } from "./telemetry";
66
import { getRandomGuid } from "./utils";
77

88
// The latest version for which we want to show the changelog page
9-
const CHANGELOG_VERSION = "v1.20.0"; // <-- Update this when you want to show a new changelog to users
9+
const CHANGELOG_VERSION = "v1.22.0"; // <-- Update this when you want to show a new changelog to users
1010

1111
export function registerChangelogCommand(
1212
context: vscode.ExtensionContext,

source/vscode/src/registry.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"owner": "microsoft",
99
"repo": "qsharp",
1010
"refs": [
11-
{ "ref": "v1.21.0", "notes": "latest stable" },
11+
{ "ref": "v1.22.0", "notes": "latest stable" },
1212
{ "ref": "main", "notes": "nightly, unstable" }
1313
],
1414
"path": "library/chemistry"
@@ -23,7 +23,7 @@
2323
"owner": "microsoft",
2424
"repo": "qsharp",
2525
"refs": [
26-
{ "ref": "v1.21.0", "notes": "latest stable" },
26+
{ "ref": "v1.22.0", "notes": "latest stable" },
2727
{ "ref": "main", "notes": "nightly, unstable" }
2828
],
2929
"path": "library/signed"
@@ -38,7 +38,7 @@
3838
"owner": "microsoft",
3939
"repo": "qsharp",
4040
"refs": [
41-
{ "ref": "v1.21.0", "notes": "latest stable" },
41+
{ "ref": "v1.22.0", "notes": "latest stable" },
4242
{ "ref": "main", "notes": "nightly, unstable" }
4343
],
4444
"path": "library/fixed_point"
@@ -53,7 +53,7 @@
5353
"owner": "microsoft",
5454
"repo": "qsharp",
5555
"refs": [
56-
{ "ref": "v1.21.0", "notes": "latest stable" },
56+
{ "ref": "v1.22.0", "notes": "latest stable" },
5757
{ "ref": "main", "notes": "nightly, unstable" }
5858
],
5959
"path": "library/rotations"
@@ -68,7 +68,7 @@
6868
"owner": "microsoft",
6969
"repo": "qsharp",
7070
"refs": [
71-
{ "ref": "v1.21.0", "notes": "latest stable" },
71+
{ "ref": "v1.22.0", "notes": "latest stable" },
7272
{ "ref": "main", "notes": "nightly, unstable" }
7373
],
7474
"path": "library/qtest"

version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import sys
99

1010
# To be updated every time we start a new major.minor version.
11-
major_minor = "1.21"
11+
major_minor = "1.22"
1212

1313
root_dir = os.path.dirname(os.path.abspath(__file__))
1414
source_dir = os.path.join(root_dir, "source")

0 commit comments

Comments
 (0)