With this change, we're migrating the main release train of the QDK to the most recent Long Time Support version of the .NET framework. For details about this change, refer to the original issue microsoft/qsharp-compiler#1224.
As part of this change, we're:
- Re-targeting all .NetCoreApp3.1 binaries to .NET6.0
- Updating Docker images, samples and templates.
- Libraries using .NetStandard2.1 are not affected by this change.
- The minimum supported .NET version in the QDK will also be updated from 3.1 to 6.0
- The Visual Studio extension will now target Visual Studio 2022.
With the feature work from https://github.com/microsoft/qsharp-runtime/issues/249 merged, the beta packages will now report measurement counts differently. This is expected, as `M` calls into `Measure`, so counting both operations will double-count measurements and fail validation of solutions. This change adjusts to only count `Measure` in order to ensure the right behavior in the pipeline and when the feature makes it into a public release.
This fixes Measurement counting mechanism should be updated for target package feature. #552
This change updates the katas and tutorials to the new syntax introduced in Q# 0.15:
* "use" keyword instead of "using"
* no round brackets in for loops
* [Measurements/RandomNumberGeneration] Replace CounterSimulator with QuantumSimulator when possible
* [GraphColoring/GroversAlgorithm] Add link to MS Learn module
* [ExploringDeutschJozsaAlgorithm] Update prompts to use foreach iteration instead of index-based for loop
* [MultiQubitSystems] Mention releasing measured qubits
Moved the hint about an extra qubit to the right task, "Task 2.3**. Peres/Wooters game". "Task 2.2**. |0⟩ , |+⟩ or inconclusive" doesn't need an extra qubit. Fixed a typo.
This change contains the following changes:
* Update QDK to version 0.12.20100504.
* Add the IQSharpLoadAutomatically property to each .csproj that will cause IQ# to load the listed packages at initialization time.
* Remove the %package Microsoft.Quantum.Katas and %workspace reload calls from each notebook, since those are no longer necessary with the above change.
M' is a unitary and hence the norm of its columns should be 1. It had been divided by sqrt(2) but actually should have been divided by sqrt(3). Moreover the 4th column should be -i sqrt(3) instead of -i.
This change allows us to drop TestSuiteRunner.cs which defined tests based on their names, and to switch to defining the tests based on the @Test attribute alone.