Skip to content

v1.10.1

Latest
Compare
Choose a tag to compare
@billti billti released this 01 Nov 21:07
· 20 commits to main since this release
b700869

We are excited to release v1.10 of the Azure Quantum Development Kit! This month's release includes several new features and improvements including:

Code editing improvements

Code editing is now greatly improved. A couple of examples of the many improvements:

  • Context aware completions (#1947) show only the relevant completions for the location. For example, only showing types when in a type position:

    image
  • Namespace member (#1947) completion lists are now provided when drilling into namespaces:

    image
  • User Defined Type (#1954) member completions are now populated

    image

And much more! Parser error recovery has also been greatly improved so that editor assistance is available whilst mid-edit in many more scenarios.

Noisy simulation

You can now add Pauli noise to simulations run from Python or VS Code (#1971, #1975, #1980). This can help model the results of running on a real quantum machine for education purposes, and to help develop and test the effectiveness of error correction.

Below shows the results of configuring 5% bit-flip noise in VS Code and running a histogram on the GHZ sample. This would return only $\ket{000}$ and $\ket{111}$ shot results if run in a noise free simulation.

image

To see how to use noisy simulation in Python, check out the sample notebook at https://github.com/microsoft/qsharp/blob/main/samples/notebooks/noise.ipynb

Refreshed API docs interface

The in-editor Q# API documentation has had a UI refresh (#1978). This is accessed via the "Q#: Show API documentation" command in the command palette when editing a Q# file. The new UX allows you to quickly & easily search & navigate the APIs within your project, referenced projects, and the standard library.

image

File icons

The Q# file extension (.qs) now gets a unique icon in VS Code (#1976)

image

Custom measurements and resets

Previously you could define custom gates, but not custom measurement or reset operations. With #1967, #1981, and #1985 this is now possible. This allows for the definition and use of custom operations for quantum simulation and QIR code generation.

Samples for this feature will be added shortly, in the meantime see the test code at https://github.com/microsoft/qsharp/blob/v1.10.1/compiler/qsc/src/codegen/tests.rs#L529 for an example of how this may be used.

Python telemetry

In this release we have added telemetry to our qsharp Python package to collect minimal and anonymous metrics on feature usage and performance. This will allow us to focus our investments going forward on the most valuable areas. Please see the notes in the package readme for details on what is collected and how to disable it.

What's changed

And much more!! See the below list of changes in this release for the full details.

Full Changelog: v1.9.0...v1.10.1