Releases: microsoft/qsharp
v1.17.0
We are excited to announce the v1.17 release of the Azure Quantum Development Kit. Highlights of this release include:
OpenQASM support
We've added extensive support for the OpenQASM language. This provides editor support (syntax highlighting, intellisense, semantic errors), simulation, integration with Q#, and QIR code generation, amongst other features.
See the wiki page at https://github.com/microsoft/qsharp/wiki/OpenQASM for more details.
Copilot improvements
We've improved the GitHub Copilot integration with this release. See the details at https://github.com/microsoft/qsharp/wiki/Make-the-most-of-the-QDK-and-VS-Code-agent-mode
Circuit editor improvements
We have further improved the ability to edit circuit diagrams. See the detail at https://github.com/microsoft/qsharp/wiki/Circuit-Editor
What's Changed
- Support intrinsic
SX
gate by @swernli in #2338 - Revert "Revert "Fix out-of-memory in typeck on nested
Ty::Arrow
" (#2359)" by @swernli in #2362 - Improved Drag and Drop by @ScottCarda-MS in #2351
- Broadcasting and slicing updates by @orpuente-MS in #2326
- Handle division by zero error in const evaluator by @orpuente-MS in #2333
- Support return values from custom intrinsics by @swernli in #2350
- Add copilot-instructions.md for our repo by @minestarks in #2365
- Fix panic when getting value from
FunctorSet
by @swernli in #2367 - Added tuple unpacking samples by @DmitryVasilevsky in #2381
- Add/Remove Qubit Lines through Drag-and-Drop by @ScottCarda-MS in #2372
- Setting up initial language service configuration. by @idavis in #2355
- Unify std libs by @idavis in #2390
- Update Known Q# Tests Cases on QIR Profile Change by @ScottCarda-MS in #2373
- Fix panic in QIR generation when conditional branches use early return by @swernli in #2388
- Ignore Dependency Errors when Getting Documentation by @ScottCarda-MS in #2374
- Fix bug with Circuit CSS not being applied to notebooks by @ScottCarda-MS in #2395
- Bug bashing fixes for qasm support by @idavis in #2393
- Don't use the start of the target as the provider id by @billti in #2396
- Copilot tools for run, estimate, circuit by @minestarks in #2380
- Remove cell language override by @idavis in #2399
- Sanitize messages by @billti in #2401
- Break on
fail
during debugging by @swernli in #2400 - Added three OpenQASM samples by @DmitryVasilevsky in #2394
- Add explicit cast support by @orpuente-MS in #2377
- Remove early return preventing panel from being made for empty circuit by @ScottCarda-MS in #2402
- Add reset broadcast by @idavis in #2404
- Limit inferred type sizes by @swernli in #2382
- Add measurement broadcast by @idavis in #2405
- bitstring processing is more efficient by @idavis in #2408
- Restore fancy error reporting in Python by @swernli in #2410
- OpenQASM Grover's algorithm sample by @DmitryVasilevsky in #2398
- OpenQASM Bernstein-Vazirani sample by @DmitryVasilevsky in #2403
- Users/merlinbot/1es pt auto baselining pr by @idavis in #2371
- Updates some of the CSS colors for Circuits by @ScottCarda-MS in #2409
- Fix miette dev-dependency in qsc_qasm by @swernli in #2415
- Fewer redundant errors should propagate from a lowering error. by @idavis in #2417
- Added OpenQASM samples as templates in VSCode by @DmitryVasilevsky in #2416
- Ty names are now human readable for errors by @idavis in #2418
- Fix end stmt spans for stop on failure by @idavis in #2420
- show copilot instructions prompt at startup by @minestarks in #2361
- Support Array Update Syntax by @ScottCarda-MS in #2414
- DumpOperation doesn't need its argument to have an adjoint by @swernli in #2421
- Needless operation lint should ignore lambdas by @swernli in #2406
- Drop
ms.topic
Metadata Field for all Non-Index Doc Files by @ScottCarda-MS in #2422 - Only surface Q# errors if there are no OpenQASM compilation errors by @idavis in #2427
- Add unit tests for OpenQASM samples by @swernli in #2431
- Remove old unused CLI tools by @swernli in #2428
- Allow implicit cast to non-const in binary exprs. by @orpuente-MS in #2430
- Remove warnings and update module name. by @idavis in #2432
- Add documentType to telemetry events by @minestarks in #2425
- Added OpenQASM Ising sample by @DmitryVasilevsky in #2435
- Adding copilot instructions by @idavis in #2436
- Adds a python integration test for circuits by @ScottCarda-MS in #2433
- Fix explicit types in for loops by @swernli in #2440
- Check that non-void functions always return by @orpuente-MS in #2434
- Dev settings by @billti in #2439
- Added OpenQASM simple teleportation sample by @DmitryVasilevsky in #2441
- Tools telemetry by @minestarks in #2429
- Fix span for CannotCallNonFunction error by @idavis in #2443
- Add sample notebooks by @idavis in #2437
- Fix SSA Pass panic when propagating dynamic values through multiple branches by @swernli in #2447
- Fix panic when passing wrong literal kind as modifier arg by @orpuente-MS in #2446
- Fix bit shifts with bit literals on lhs by @orpuente-MS in #2450
- Fix panic due to missing
Unit
value from assignment by @swernli in #2452 - fix shl overflow panic and add lowerer_errors test by @orpuente-MS in #2453
- Create copilot-setup-steps.yml by @minestarks in #2445
- Add
gate
to qasm tmLanguage file by @orpuente-MS in #2459 - Strengthen check for inference type loops by @swernli in #2448
- make the lightbulb show up for 'qdk command error' by @minestarks in #2460
- Generating files should be usable more often by @idavis in #2462
- Added OpenQASM samples into the VSCode Playground by @DmitryVasilevsky in #2458
- Allow to catch and propagate errors in all resource estimation models by @msoeken in #2457
- Update version to 1.17 by @billti in #2464
Full Changelog: v1.16.0...v1.17.0
v1.16.0
We are excited to release v1.16 of the Quantum Development Kit. The big features of this release are:
Copilot integration
With VS Code Copilot integration you can now use Copilot to to assist with many tasks such as writing code, generating tests, connecting to an Azure Quantum workspace, submit jobs to run on hardware, and more!

See the wiki page at https://github.com/microsoft/qsharp/wiki/Make-the-most-of-the-QDK-and-VS-Code-agent-mode for more info, as well as tips and best practices.
Circuit Editor
You can now add .qsc files to your project which provide a drag-and-drop circuit editor user interface to create quantum operations, which can then be called from your Q# code.

See the wiki page at https://github.com/microsoft/qsharp/wiki/Circuit-Editor for more details.
What's Changed
Other notable changes are listed below
- Update chemistry test imports by @swernli in #2264
- Update to Rust 1.86 by @swernli in #2279
- Fixed message to display correct normalizing coefficient by @DmitryVasilevsky in #2280
- Fix Test Explorer issues by @billti in #2291
- Circuit Editor by @ScottCarda-MS in #2238
- Reimplement Parser by @idavis in #2149
- Add lint groups to Q# by @orpuente-MS in #2103
- Fix run button disable. Switching to tutorial and back to samples (#1849) by @thecoder93 in #2206
- Add better fuzzing compilation by @idavis in #2292
- Added RoundHalfAwayFromZero to standard library by @DmitryVasilevsky in #2321
- Added BigIntAsInt to Std.Convert by @DmitryVasilevsky in #2325
- Added ApplyOperationPowerA to Std.Canon by @DmitryVasilevsky in #2324
- Circuit Code Improvements by @ScottCarda-MS in #2329
- Use LaTeX fonts for math symbols in circuit diagrams by @billti in #2327
- Addressed Kata feedback by @DmitryVasilevsky in #2337
- Avoid changing layout if the panel is already visible by @billti in #2344
- Add Python evaluation API by @idavis in #2345
- Add "Update Copilot instructions" command by @minestarks in #2343
- Fix paths to be relative and add single file sample by @billti in #2347
- Add Ising model samples by @DmitryVasilevsky in #2342
- Add GitHub Copilot tools for Azure Quantum by @minestarks in #2349
New Contributors
- @absoludity made their first contribution in #2259
- @thecoder93 made their first contribution in #2244
Full Changelog: v1.15.0...v1.16.0
v1.15.0
Notable Changes
New QuantumArithmetic
library
This release is the first to add the QuantumArithmetic
library by @fedimser to the list of suggested libraries! Check out more about the library at https://github.com/fedimser/quant-arith-re.
Measurement and qubit reuse decompositions handled in QIR generation
This change addresses a long-standing point of confusion regarding how programs compiled for QIR Base profile are displayed in places like the circuit visualizer. By delaying application of decompositions for deferred measurement and avoidance of qubit reuse to the QIR generation step, the stdlib implementation of measurement no longer needs to have a different implementation for Base profile vs other profiles. This should make the displayed circuits match the written code more often. See #2230 for more details.
Other Changes
- Refactoring of chemistry library by @DmitryVasilevsky in #2208
- Distance coefficient power parameter in QEC scheme by @msoeken in #2212
- Fixed coefficients in qubit kata explanation. by @DmitryVasilevsky in #2225
- Fix name resolution from a project's Main.qs by @swernli in #2217
- Enums used with Qiskit can now be deep copied by @idavis in #2224
- Change default font to system-ui by @billti in #2234
- Removed usage of deprecated set keyword from the samples by @filipw in #2233
- Update @vscode/extension-telemetry to 0.9.8 by @minestarks in #2235
- Require ctrl key to zoom histogram by @billti in #2249
- Use fresh env for
qsharp.run
with Python interop functions wrapping Q# operations by @swernli in #2255 - Rework of simple samples by @DmitryVasilevsky in #2240
New Contributors
Full Changelog: v1.14.0...v1.15.0
v1.14.0
Notable Changes
- fix
qsharp.init(project_root='.')
by @minestarks in #2147 Relabel
in adaptive conditional block should be disallowed by @swernli in #2155- add UDT to list of terms when processing reexport by @sezna in #2154
- Chemistry library, SPSA sample, and notebook by @swernli in #2105
- Update registry for chemistry by @billti in #2161
- LS: Hide errors from github sources only when they're not associated with a real project by @minestarks in #2139
- Update devcontainer to Ubuntu noble base image by @swernli in #2159
- Fixes possible infinite loop in RE by @msoeken in #2128
- Annotate conditional compilation for fixed_point so it compiles in all profiles by @sezna in #2156
- Fix bug in Unselect operation when selecting a single bit string by @msoeken in #2181
- Support code lenses on more callables by @swernli in #2174
- Fix Circuit codelens by @swernli in #2192
- Fix RCA panic on lambda with explicit return by @swernli in #2194
- Fix Run and Debug buttons by @swernli in #2196
- Uniform superposition preparation moved to std by @DmitryVasilevsky in #2195
- Multi-target gate circuit art improvement by @Morcifer in #2185
- Fix typo in code action by @cesarzc in #2197
- Add Azure credits notification message. by @swernli in #2201
- Chemistry lib: readablility, lints, syntax, tests by @DmitryVasilevsky in #2202
- Bump version for 1.14 by @billti in #2203
Full Changelog: v1.13...v1.14.0
v1.13
We are excited to release v1.13 of the Azure Quantum Development Kit! Here are some highlights of features included in this month's release:
@Test
Attribute and VS Code Test Explorer Integration
#2095 Introduced a new attribute, @Test
, which identifies unit tests written in Q#. By integrating with the Text Explorer feature in VS Code, you can now explore, run, and review Q# unit test execution:
See the wiki page on Testing Q# Code in VS Code for more information.
"Q#: Add Project Reference" VS Code Command Enhancements
#2079 enhanced the VS Code command for adding references to a Q# project, available when editing a qsharp.json
file:
When invoking the command, you'll now see a choice to either import from GitHub or search the currently opened workspace for other Q# projects. When choosing GitHub, you'll get a suggestion of known libraries and their available versions to choose from, and the corresponding external project reference snippet will automatically be added to your current qsharp.json
:
More Python Interoperability for Callables
#2091 added more support for using Python functions that wrap Q# callables across our Python package APIs. This makes it easier to pass Python arguments into Q# for features like resource estimation with qsharp.estimate()
, running multiple shots with qsharp.run()
, compiling to QIR with qsharp.compile()
, or generating circuits with qsharp.circuit()
:
For more information on using Q# callables directly in Python, see the Invoking Q# Callables from Python wiki page.
Adaptive Profile Floating-Point Computation Extension
#2078 added support for an additional QIR Adaptive profile extension: floating-point computation. By choosing QIR Adaptive RIF
as your compilation profile, you can enable Reset, Integer computation, and Floating-point computation for code generation. This allows you to write programs where the values of variables with Q# type Double
can be dyanmically calculated from measurement results at runtime, and the output QIR will include arithmetic and comparison instructions corresponding to your code, enabling even more adaptive algorithms.
Note that this profile extension must be supported by the target backend or runtime environment for the resulting code to execute. See the QIR specification section on Classical Computation extensions to the Adaptive profile for more details.
Other Notable Features and Fixes
- Fix
Relabel
for odd size arrays by @swernli in #2082 - Syntax highlighting for functions, variables and numbers by @Morcifer in #2088
- Fix
Exp
on qubit arrays larger than 2 with singlePauliI
by @swernli in #2086 - Mutable variables in dynamic branches prevent full constant folding in partial evaluation by @swernli in #2089
- Add
TestMatrix
functionality to qtest by @sezna in #2037 - Added simple VQE sample by @DmitryVasilevsky in #2073
- Fix global phase for controlled-T, R1 by @swernli in #2112
- Fix widgets sometimes rendering in light theme when VS Code is in a dark theme by @billti in #2120
- LookAheadDKRSAddLE now accepts carry-in by @DmitryVasilevsky in #2119
- Add lint for double (in)equality by @orpuente-MS in #2104
- Replaced custom ApplyAndAssuming0Target with AND from std by @DmitryVasilevsky in #2123
- Fix language service panic when file isn't listed in the
files
field ofqsharp.json
by @minestarks in #2109 - Long gate in ASCII art circuits - lengthen column width when necessary by @Morcifer in #2126
- Fix UDT re-exports by @sezna in #2137
New Contributors
Full Changelog: v1.12...v1.13
v1.12
We are excited to release v1.12 of the Azure Quantum Development Kit! Here are some highlights of features included in this month's release:
Python interoperability improvements
You can now import and invoke your Q# callables for simulation directly from Python as functions. Your callables defined in %%qsharp
magic cells, through calls to qsharp.eval
, or loaded from projects in qsharp.init
can now be imported from the qsharp.code
module:
import qsharp
qsharp.eval("""
operation Superposition() : Result {
use q = Qubit();
H(q);
Std.Diagnostics.DumpMachine();
MResetZ(q)
}
""")
from qsharp.code import Superposition
result = Superposition()
For more details and current limitations, see Invoking Q# callables from Python in the wiki.
Syntax for capturing state dumps from DumpMachine
or DumpRegister
and operation matrices from DumpOperation
calls in your Q# code has also been improved (see #2042)
Deprecation of set
keyword
The set
keyword used for updating mutable values is now deprecated, so where you previously had to use set x += 1
you can now just write x += 1
. In addition, the compiler includes a new lint that defaults to "allow" that you can use to warn or error on usage of set
in your code (see #2062).
ApplyUnitary
operation for simulation
When running against the simulator, your Q# code can call ApplyUnitary
and pass a unitary matrix represented by a Std.Math.Complex[][]
along with an array of qubit targets and have the simulator directly apply that unitary to the current sparse state vector.
Increase minimum versions for Python and Ubuntu
Starting with v1.12, the minimum supported Python version for the qsharp package is Python 3.9. Along with this change, the minimum compatible version of Ubuntu has been increased to 22.04 (see #2061)
Full Changelog: v1.11.1...v1.12
v1.11.1
We are excited to release v1.11.1 of the Azure Quantum Development Kit! This month's release includes features and bug fixes, such as:
Configure Pauli Noise Dynamically within Q#
You can now use the ConfigurePauliNoise
function to dynamically update noise settings during simulation, allowing samples, exercises, or test code to directly set noise used in testing (#1997).
Stabilization of the Microsoft.Quantum.Unstable libraries
The Arithmetic
, StatePreparation
, and TableLookup
libraries have been stabilized and are now available under Std
. Several samples and libraries have been updated to reflect the new location, while the Microsoft.Quantum.Unstable
namespace will be preserved for backward compatibility (#2022, #2043).
Support for Qiskit v1.3.0
Changes made to the Qiskit target class in v1.3.0 that broke interoperability with the qsharp Python package are now handled dynamically allowing use of both v1.2 and v1.3 versions of Qiskit (#2050).
Other Notable Changes
- Add three qubit repetition sample to playground by @swernli in #2003
- Add eval and cell events by @idavis in #2004
- Avoid flooding iPython display by @swernli in #2006
- Fix to RCA panic when mapping a tuple input pattern to a non-tuple expression by @cesarzc in #2011
- Fix RCA panic by @orpuente-MS in #2017
- Add class constraints for built-in classes by @sezna in #2007
- Track qubit live-ness during simulation by @swernli in #2020
- Add
Qtest
library that uses class constraints by @sezna in #2013 - Include samples in completions when the document is empty by @minestarks in #2009
- Remove Refs to Microsoft.Quantum in Libraries by @ScottCarda-MS in #2041
- Add custom operations sample by @orpuente-MS in #1995
- VS Code extension throws on launch if Q# notebook cell is open by @minestarks in #2044
- Library for rotation operations by @msoeken in #2040
- Remove Refs to Microsoft.Quantum in Samples and Katas by @ScottCarda-MS in #2030
New Contributors
- @prkbuilds made their first contribution in #2024
Full Changelog: v1.10.1...v1.11.1
v1.10.1
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:
-
Namespace member (#1947) completion lists are now provided when drilling into namespaces:
-
User Defined Type (#1954) member completions are now populated
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

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.

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

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.
- Added DoubleAsStringWithPrecision function - Multiple Katas by @devikamehra in #1897
- bump @vscode/test-web by @minestarks in #1945
- Refactor physical resource estimation by @msoeken in #1943
- Update yarn dependencies by @billti in #1948
- Update filtering for targets by @cesarzc in #1949
- Add summary lines back into stdlib readmes by @sezna in #1952
- add Q# package registry document by @sezna in #1932
- Error budget pruning strategy in resource estimator core by @msoeken in #1951
- Use all github dependencies in published libraries by @sezna in #1956
- Set the markdown renderer on load by @billti in #1957
- Bump pyo3 from 0.22.2 to 0.22.4 by @dependabot in #1964
- Minor lint fix for Rust 1.81 by @swernli in #1965
- Fix to partial evaluation generating branch instructions on constant conditions by @cesarzc in #1963
- Show no quantum state when debugging code with no qubits by @swernli in #1953
- More precise completions and namespace member completions by @minestarks in #1947
- allow needless raw string hashes and unnecessary wraps by @sezna in #1969
- UDT field completions by @minestarks in #1954
- Rust 1.82 by @idavis in #1970
- Added Pauli noise support to sparse simulator by @DmitryVasilevsky in #1971
- Add custom measurement operations to Q# by @orpuente-MS in #1967
- Expose pauli noise settings in VS Code by @billti in #1975
- Python clients can now run simulation with Pauli noise by @DmitryVasilevsky in #1974
- Add .qs file icons by @billti in #1976
- Fix py38 types by @billti in #1977
- Python: Result should implement comparison operators by @minestarks in #1979
- Improve the built-in API docs UX by @billti in #1978
- Added sample notebook with noise by @DmitryVasilevsky in #1980
- Add support for custom resets using the
@Reset()
attribute by @orpuente-MS in #1981 - Telementry event for noisy simulation by @DmitryVasilevsky in #1982
- Unify implementations of custom measurements and custom resets by @orpuente-MS in #1985
- Initial Python telemetry by @billti in #1972
- Fix Py3.8 type error by @billti in #1988
- More parser error recovery, unlocking completions in more locations by @minestarks in #1987
DumpMachine
output in Python and console should be empty with no qubits allocated by @swernli in #1984DumpMachine
in playground should display message when no qubits are allocated by @swernli in #1989- Disable completions in attribute arguments by @minestarks in #1986
- Allow
Default::default()
pattern by @sezna in #1991 - Add telemetry events for interop by @idavis in #1990
- Bump version to 1.10 by @billti in #1992
- Revert "Set min python version to 3.9 and add 3.12 to list" by @idavis in #1996
- No completions in comments by @minestarks in #1999
Full Changelog: v1.9.0...v1.10.1
v1.9.0
The 1.9.0 release of the QDK includes interoperability with Qiskit circuits built upon the core Q# compiler infrastructure.
The Qiskit interop provided by the QDK includes:
- Resource estimation for their Qiskit circuits locally
- Q# Simulation of Qiskit circuits using Q#'s simulation capabilities
- QIR generation from Qiskit circuits leveraging the modern QDKs advanced code generation capabilities.
The Qiskit interop wiki page provides a brief overview of the integration while detailed examples, potential errors, and usage with parameterized circuits are demonstrated in the sample Qiskit interop notebook.
In addition to the Qiskit interop feature, the language service for Q# will now auto-suggest the new standard library API instead of the legacy Microsoft.Quantum
-prefixed standard library API. For example, when typing DumpMachine
, you'll now get a suggested import for Std.Diagnostics.DumpMachine
instead of Microsoft.Quantum.Diagnostics.DumpMachine
.
What's Changed
- Remove benchmarking comment bot; Run benches weekly and save results as an artifact by @sezna in #1870
- Port signed integer math to modern QDK by @sezna in #1841
- Add samples of testing Q# code that prepares a quantum state by @tcNickolas in #1873
- Simplify display of evaluation results in VS Code by @swernli in #1882
- Bump rust dependency versions (except
pyo3
,rustc_hash
, andmiette
) by @sezna in #1876 - Update samples to reflect latest 1.7 changes; Update katas and stdlib to use structs by @sezna in #1797
- Remove profile selection for Katas by @JPark1023 in #1881
- Include CompareGTSI in the Signed math API by @sezna in #1888
- Update Placeholder.qs by @HopeAnnihilator in #1890
- Fix GetLink-Tutorial-Playground-state issue 1558 by @ggridin in #1855
- update miette to v7.2.0 by @sezna in #1889
- Update Node packages by @billti in #1894
- Implements serialization for physical resource estimation by @msoeken in #1892
- Update pyo3 from v0.20 to v0.22 by @sezna in #1893
- Added DoubleAsStringWithPrecision function - Complex Arithmetics by @devikamehra in #1883
- Added DoubleAsStringWithPrecision function - Single Qubit Gate by @devikamehra in #1884
- Port fixed point library to modern QDK by @sezna in #1838
- Katas UI review - Preparing states by @SoniaLopezBravo in #1847
- Fix to RCA panic when original tuple binding is dynamic by @cesarzc in #1900
- Generic code with code distance and threshold by @msoeken in #1896
- Basic interop with Qiskit by @idavis in #1899
- Use T gate time for physical factories by @msoeken in #1906
- Add more items to RE system API by @msoeken in #1907
- Configure ESRP@7 by @idavis in #1913
- Basic samples for RE API by @msoeken in #1915
- Introduce
Relabel
API by @swernli in #1905 - Serialize logical post-layout overhead in resource estimation result by @msoeken in #1914
- Support Adjoint of
Relabel
by @swernli in #1920 - Migrate the standard library to the project system by @sezna in #1912
- Bug fixes found during bash by @idavis in #1916
- Fix typo in vscode extension's package.json by @m1c0l in #1917
- Re-enable simulatable intrinsics for Qiskit/OpenQASM interop by @idavis in #1927
- Add str value for TargetProfile by @idavis in #1930
- Completions: existing glob import will prevent an exact import with t… by @minestarks in #1909
- Playground: Fix error squiggle updates getting dropped by @minestarks in #1908
- Add ProtocolSpecification to API by @msoeken in #1931
- Migrate core library to the new Stdlib API/projects system by @sezna in #1919
- Add
from_str
toTargetProfile
by @idavis in #1937 - Optimize RIR reindexing, QIR qubit use by @swernli in #1938
- Update circuits widget sizing behavior by @swernli in #1921
- Fix bug preventing display of circuits where same qubit measured more than once by @swernli in #1939
- Fix python version compat signature by @idavis in #1941
- Add DumpOperation support in Q# by @billti in #1885
- Control how physical qubits are computed in factories by @msoeken in #1940
- Update version to 1.9 by @idavis in #1942
New Contributors
- @HopeAnnihilator made their first contribution in #1890
- @m1c0l made their first contribution in #1917
Full Changelog: v1.8.0...v1.9.0
v1.8.0
The 1.8.0 release of the QDK includes a number of improvements and fixes, with a focus on refining the project references and editor completions experience.
The full list of changes is below.
What's Changed
- Fix bug for max_t_factories constraint by @msoeken in #1792
- Create Graph Coloring kata, part 1: vertex coloring problem by @tcNickolas in #1789
- Katas UI string review - QRNG by @SoniaLopezBravo in #1759
- Katas UI string review - Single-qubit gates by @SoniaLopezBravo in #1758
- [Samples] Add samples for testing operations in Q# by @Manvi-Agrawal in #1732
- Fix accumulating perf impact of
qsharp.run
with may shots in Python by @swernli in #1769 - Avoid errors in read-only GitHub sources by @swernli in #1787
- Support themes in kata previews by @billti in #1798
- Fix unit tests on test_interperter doing
startswith(...) != -1
by @orpuente-MS in #1733 - Migrate Graph Coloring kata, part 2 by @tcNickolas in #1804
- Katas UI review - Complex arithmetic by @SoniaLopezBravo in #1803
- Improve ApplyQFT API docs by @tcNickolas in #1810
- Migrate QFT kata, part 1 by @tcNickolas in #1809
- Migrate nonlocal games 1596 task1 - quantum by @ggridin in #1745
- Implicit Namespace Parsing Recovery by @ScottCarda-MS in #1808
- Organize standard library code; add
files
; add author and license by @sezna in #1801 - Finish migration of QFT kata and publish it by @tcNickolas in #1814
- Update rust version to 1.80 by @orpuente-MS in #1805
- Move
Unstable
into its own library by @sezna in #1802 - Update rust version to 1.80 second step by @orpuente-MS in #1806
- QFT kata: fix formula formatting in square wave prep exercise by @tcNickolas in #1819
- Migrate nonlocal games: GHZ game classical by @ggridin in #1783
- Fixed some broken latex in the Measure doc by @ScottCarda-MS in #1825
- Fix test for multi_qubit_measurements/state_modification by @tcNickolas in #1830
- Allow the parser to add contextual help text to errors; Add contextual help text for parenthesized for loops by @sezna in #1828
- Make entry sample more minimal by @Manvi-Agrawal in #1684
- Enforce globally unique names for callables declared as
SimulatableIntrinsic
by @swernli in #1831 - Start migration of Phase Estimation kata by @tcNickolas in #1824
- Fix
noisy_simulator
panic when initializing with non-square Kraus matrices by @orpuente-MS in #1826 - Fix type inference for nested generics by @swernli in #1818
- Export Stdlib AND by @sezna in #1834
- Added a sample function with an implicit return by @filipw in #1811
- Katas UI review - Multiqubit systems by @SoniaLopezBravo in #1813
- Simplify targets logic and prepare exclusion list for next release by @cesarzc in #1815
- Fix code example in
RFrac
doc comment by @swernli in #1839 - Fix missing docs for diagnostic callables by @swernli in #1833
- Add API to convert StateDump to a dense array of amplitudes by @swernli in #1836
- Fix R1Frac doc comments by @swernli in #1851
- Finish migration of QPE kata and publish it by @tcNickolas in #1837
- Noisy simulator: return 2d python lists instead of 1d python lists by @orpuente-MS in #1786
- Fix duplicate imports being generated when using completions by @sezna in #1820
- Support call tracking within Q# code by @swernli in #1791
- Support qubit count tracking within Q# by @swernli in #1800
- Update
qsharp.json.schema
to include latest lints by @sezna in #1853 - Fix spans for lifted lambda idents by @swernli in #1854
- Blocks in while-expr should enforce
Unit
type by @swernli in #1852 - Katas UI review - QKD by @SoniaLopezBravo in #1846
- Include completions for items from the same file; Clean up completions generation for callables by @sezna in #1863
- Katas UI review - Multiqubit measurements by @SoniaLopezBravo in #1844
- Added summary section in chemistry.py by @devikamehra in #1700
- Fix type hints in python wrapper for noisy simulator. by @orpuente-MS in #1857
- Add samples of testing Q# code with classical return values by @tcNickolas in #1858
- Add edit/run for kata examples - issue 591 by @ggridin in #1829
- generate auto imports for core callables by @sezna in #1861
- VSCode shows documentation by package by @DmitryVasilevsky in #1740
- Skip errors on files with
pr
URI scheme by @swernli in #1867 - Katas UI review - Multiqubit gates by @SoniaLopezBravo in #1845
- Bump version to 1.8 by @billti in #1868
Full Changelog: v1.7.0...v1.8.0