diff --git a/Cargo.lock b/Cargo.lock index 8b193da0f9f..7a9d37e1aa1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -33,9 +33,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "crossbeam-channel" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c02a4d71819009c192cf4872265391563fd6a84c81ff2c0f2a7026ca4c1d85c" +checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" dependencies = [ "cfg-if", "crossbeam-utils", @@ -43,9 +43,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" +checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" dependencies = [ "cfg-if", "crossbeam-epoch", @@ -54,9 +54,9 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07db9d94cbd326813772c968ccd25999e5f8ae22f4f8d1b11effa37ef6ce281d" +checksum = "045ebe27666471bb549370b4b0b3e51b07f56325befa4284db65fc89c02511b1" dependencies = [ "autocfg", "cfg-if", @@ -68,9 +68,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.9" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ff1f980957787286a554052d03c7aee98d99cc32e09f6d45f0a814133c87978" +checksum = "51887d4adc7b564537b15adcfb307936f8075dfcd5f00dde9a9f1d29383682bc" dependencies = [ "cfg-if", "once_cell", @@ -78,9 +78,9 @@ dependencies = [ [[package]] name = "either" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" +checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be" [[package]] name = "getrandom" @@ -247,9 +247,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225" +checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1" [[package]] name = "parking_lot" @@ -282,9 +282,9 @@ checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" [[package]] name = "proc-macro2" -version = "1.0.40" +version = "1.0.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7" +checksum = "cdcc2916cde080c1876ff40292a396541241fe0072ef928cd76582e9ea5d60d2" dependencies = [ "unicode-ident", ] @@ -353,7 +353,7 @@ dependencies = [ [[package]] name = "qiskit-terra" -version = "0.21.0" +version = "0.21.1" dependencies = [ "ahash", "hashbrown", @@ -459,9 +459,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.2.13" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" +checksum = "534cfe58d6a18cc17120fbf4635d53d14691c1fe4d951064df9bd326178d7d5a" dependencies = [ "bitflags", ] @@ -474,9 +474,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "smallvec" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" +checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" [[package]] name = "syn" @@ -497,9 +497,9 @@ checksum = "c02424087780c9b71cc96799eaeddff35af2bc513278cda5c99fc1f5d026d3c1" [[package]] name = "unicode-ident" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c" +checksum = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7" [[package]] name = "unindent" diff --git a/Cargo.toml b/Cargo.toml index d399ebe7403..058bfb9a278 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "qiskit-terra" -version = "0.21.0" +version = "0.21.1" edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/docs/conf.py b/docs/conf.py index c49a8675e72..a7bb7840f1f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -23,7 +23,7 @@ # The short X.Y version version = "0.21" # The full version, including alpha/beta/rc tags -release = "0.21.0" +release = "0.21.1" extensions = [ "sphinx.ext.napoleon", diff --git a/qiskit/VERSION.txt b/qiskit/VERSION.txt index 885415662ff..a67cebaf7ff 100644 --- a/qiskit/VERSION.txt +++ b/qiskit/VERSION.txt @@ -1 +1 @@ -0.21.0 +0.21.1 diff --git a/releasenotes/notes/0.21/release-0.21.0-4a6c079c6301bde6.yaml b/releasenotes/notes/0.21/release-0.21.0-4a6c079c6301bde6.yaml index 8f56ae4a492..94533676263 100644 --- a/releasenotes/notes/0.21/release-0.21.0-4a6c079c6301bde6.yaml +++ b/releasenotes/notes/0.21/release-0.21.0-4a6c079c6301bde6.yaml @@ -22,3 +22,27 @@ prelude: | Additionally, the transpiler has been improved to enable better quality outputs. This includes the introduction of new passes such as :class:`~.VF2PostLayout` and :class:`~.ToqmSwap`. +upgrade: + - | + The preset pass managers generated by :func:`~.level_1_pass_manager`, + :func:`~.level_2_pass_manager`, and :func:`~.level_3_pass_manager` and used + by the :func:`~.transpile` function's ``optimization_level`` argument at + 1, 2, and 3 respectively no longer set a hard time limit on the + :class:`~.VF2Layout` transpiler pass. This means that the pass will no + longer stop trying to find a better alternative perfect layout up until a + fixed time limit (100ms for level 1, 10 sec for level 2, and 60 sec for + level 3) as doing this limited the reproducibility of compilation when a + perfect layout was available. This means that the output when using the pass + might be different than before, although in all cases it would only change + if a lower noise set of qubits can be found over the previous output. If + you wish to retain the previous behavior you can create a custom + :class:`~.PassManager` that sets the ``time_limit`` argument on the + constructor for the :class:`~VF2Layout` pass. +fixes: + - | + Fixed an issue with reproducibility of the :func:`~.transpile` function + when running with ``optimization_level`` 1, 2, and 3. Previously, under + some conditions when there were multiple perfect layouts (a layout that + doesn't require any SWAP gates) available the selected layout and output + circuit could vary regardless of whether the ``seed_transpiler`` argument + was set. diff --git a/releasenotes/notes/0.21/remove-hard-time-limit-vf2-be83830ecc71f72c.yaml b/releasenotes/notes/0.21/remove-hard-time-limit-vf2-be83830ecc71f72c.yaml deleted file mode 100644 index 4b73a6832fa..00000000000 --- a/releasenotes/notes/0.21/remove-hard-time-limit-vf2-be83830ecc71f72c.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -upgrade: - - | - The preset pass managers generated by :func:`~.level_1_pass_manager`, - :func:`~.level_2_pass_manager`, and :func:`~.level_3_pass_manager` and used - by the :func:`~.transpile` function's ``optimization_level`` argument at - 1, 2, and 3 respectively no longer set a hard time limit on the - :class:`~.VF2Layout` transpiler pass. This means that the pass will no - longer stop trying to find a better alternative perfect layout up until a - fixed time limit (100ms for level 1, 10 sec for level 2, and 60 sec for - level 3) as doing this limited the reproducibility of compilation when a - perfect layout was available. This means that the output when using the pass - might be different than before, although in all cases it would only change - if a lower noise set of qubits can be found over the previous output. If - you wish to retain the previous behavior you can create a custom - :class:`~.PassManager` that sets the ``time_limit`` argument on the - constructor for the :class:`~VF2Layout` pass. -fixes: - - | - Fixed an issue with reproducibility of the :func:`~.transpile` function - when running with ``optimization_level`` 1, 2, and 3. Previously, under - some conditions when there were multiple perfect layouts (a layout that - doesn't require any SWAP gates) available the selected layout and output - circuit could vary regardless of whether the ``seed_transpiler`` argument - was set. diff --git a/releasenotes/notes/decompose-fix-993f7242eaa69407.yaml b/releasenotes/notes/decompose-fix-993f7242eaa69407.yaml index 93f259266ef..443ab27e1de 100644 --- a/releasenotes/notes/decompose-fix-993f7242eaa69407.yaml +++ b/releasenotes/notes/decompose-fix-993f7242eaa69407.yaml @@ -1,4 +1,7 @@ --- fixes: - - Fixed a bug in :meth:`.QuantumCircuit.decompose` that caused the - `gates_to_decompose` argument to be handled incorrectly. \ No newline at end of file + - Fixed an issue in :meth:`.QuantumCircuit.decompose` method when + passing in a list of ``Gate`` classes for the ``gates_to_decompose`` + argument. If any gates in the circuit had a label set this argument + wouldn't be handled correctly and caused the output decomposition to + incorrectly skip gates explicitly in the ``gates_to_decompose`` list. diff --git a/releasenotes/notes/fix-pulse-limit_amplitude-72b8b501710fe3aa.yaml b/releasenotes/notes/fix-pulse-limit_amplitude-72b8b501710fe3aa.yaml index c65b88a5e5b..d43642d336d 100644 --- a/releasenotes/notes/fix-pulse-limit_amplitude-72b8b501710fe3aa.yaml +++ b/releasenotes/notes/fix-pulse-limit_amplitude-72b8b501710fe3aa.yaml @@ -1,7 +1,9 @@ --- fixes: - | - A bug that ``limit_amplitude`` set to an individual symbolic pulse or waveform instance - is not properly reflected to the parameter validation has been fixed. - In addition, QPY schedule ``dump`` has been fixed to save ``limit_amplitude`` value - tied to the instance, rather than saving the global class variable. + Fixed an issue where the ``limit_amplitude`` argument on an individual + :class:`~.SymbolicPulse` or :class:`~.Waveform` instance + was not properly reflected by parameter validation. In addition, QPY + schedule :func:`~qiskit.qpy.dump` has been fixed to correctly + store the ``limit_amplitude`` value tied to the instance, rather than + saving the global class variable. diff --git a/releasenotes/notes/fix-zzmap-pairwise-5653395849fec454.yaml b/releasenotes/notes/fix-zzmap-pairwise-5653395849fec454.yaml index e5c600dd70e..24dc33875a6 100644 --- a/releasenotes/notes/fix-zzmap-pairwise-5653395849fec454.yaml +++ b/releasenotes/notes/fix-zzmap-pairwise-5653395849fec454.yaml @@ -2,14 +2,17 @@ fixes: - | Fix the pairwise entanglement structure for :class:`~.NLocal` circuits. - This led to a bug in the :class:`~.ZZFeatureMap`, where using `entanglement="pairwise"` - raised an error. Now it correctly produces the desired feature map:: + This led to a bug in the :class:`~.ZZFeatureMap`, where using + ``entanglement="pairwise"`` raised an error. Now it correctly produces the + desired feature map:: from qiskit.circuit.library import ZZFeatureMap encoding = ZZFeatureMap(4, entanglement="pairwise", reps=1) print(encoding.decompose().draw()) - The above prints:: + The above prints: + + .. parsed-literal:: ┌───┐┌─────────────┐ q_0: ┤ H ├┤ P(2.0*x[0]) ├──■────────────────────────────────────■──────────────────────────────────────────── diff --git a/releasenotes/notes/global-phase-ucgate-cd61355e314a3e64.yaml b/releasenotes/notes/global-phase-ucgate-cd61355e314a3e64.yaml index 536b66acfa6..30c240a3c6b 100644 --- a/releasenotes/notes/global-phase-ucgate-cd61355e314a3e64.yaml +++ b/releasenotes/notes/global-phase-ucgate-cd61355e314a3e64.yaml @@ -1,4 +1,4 @@ --- fixes: - | - Fixed a global phase bug in :class:`~.UCGate`. + Fixed an issue in handling the global phase of the :class:`~.UCGate` class. diff --git a/setup.py b/setup.py index a9616d5301c..a524db3fc75 100755 --- a/setup.py +++ b/setup.py @@ -51,7 +51,7 @@ setup( name="qiskit-terra", - version="0.21.0", + version="0.21.1", description="Software for developing quantum computing programs", long_description=README, long_description_content_type="text/markdown",