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