Skip to content

Qiskit Terra 0.21.0

Compare
Choose a tag to compare
@qiskit-bot qiskit-bot released this 30 Jun 16:42
· 2803 commits to main since this release
0.21.0
0f377f7

Release notes: https://qiskit.org/documentation/release_notes.html#terra-0-21-0

Changelog

Deprecated

  • Move qiskit.test.mock to qiskit.providers.fake_provider and deprecate (#8121)
  • QPY schedule serialization (#7300)
  • Remove deprecated optimize from Optimizer (and small other fixes) (#8123)
  • Add namespace redirect hook for qiskit-aer (#5089)
  • Cleanup timeline drawer with schedule analysis pass. (#7935)
  • Deprecate old paths for module-availability testers (#7954)
  • Remove legacy providers interface (#7886)
  • Deprecate networkx converter methods for DAGCircuit (#7927)

Added

  • Adding variational Quantum Deflation Algorithm for computing higher energy states (#7747)
  • QPY schedule serialization (#7300)
  • Add grouping by full-operator commutation relations to PauliList (#7874)
  • Expand instruction_supported() to optionally check parameters (#7807)
  • Add dedicated functions for memory marginalization (#8051)
  • Add StagedPassManager class for pass manager with defined stages (#6403)
  • Speedup constant factors in LookaheadSwap (#8068)
  • Add .clear() and .copy_empty_like() functionality to QuantumCircuit. (#8134)
  • decompose(reps=1) repeating decompose (#8142)
  • Cleanup timeline drawer with schedule analysis pass. (#7935)
  • Serializable parametric pulse (#7821)
  • Add label assigned check in SparsePauliOp (#8101)
  • Use ParameterReferences type for ParameterTable values (#7408)
  • Parallelizing scheduling of multiple circuits via parallel_map. (#8110)
  • Add Qiskit Textbook circuit drawer style (#8147)
  • Add function to easily generate preset pass managers (#8125)
  • Enhance Primitives' interface (#8065)
  • Add a marginal_distribution function (#8026)
  • Alias BaseOperator.mul to BaseOperator._multiply in quantum_info (#8007)
  • Support target and basis gates in Unroll3qOrMore transpiler pass (#7997)
  • Trotterization-based Quantum Real Time Evolution (#7411)
  • Add VF2PostLayout pass (#7862)
  • add Quantum Shannon Decomposition (#7907)
  • Alias BaseOperator.matmul to BaseOperator.dot (#7919)
  • Add delay handling to QASM 3 exporter (#7942)
  • Add swap strategies transpiler pass (#7813)
  • Add support for non-hermitian operators in AerPauliExpectation (#7857)
  • Add interfaces for a general Quantum Time Evolution Framework (#7858)

Changed

  • Leverage Python SharedMemory for common transpile args (#7789)
  • Change data type of QuantumCircuit.data elements (#8093)
  • Edit Result to always contain date, status, header (#8216)
  • Fix handling of ControlledGates in QPY (#8055)
  • Explicitly set MSRV for rust extension (#8196)
  • Make python-constraint optional (#7733)
  • Change XXPlusYYGate convention (#7949)
  • Remove hard time limit from vf2 passes in preset passmanagers (#8021)
  • Remove BasicAer shot limit (#7801)
  • Ensuring instruction labels are strings when provided to the Instruction constructor. (#7671)

Removed

  • Remove deprecated classes and methods in quantum_info (#8070)
  • Remove deprecated optimize from Optimizer (and small other fixes) (#8123)
  • Remove DAGNode deprecations (#7902)
  • Remove legacy providers interface (#7886)

Fixed

  • Fix UnitaryGate.qasm() with unused qubits (#8234) (#8243)
  • Leverage Python SharedMemory for common transpile args (#7789)
  • Remove deprecated optimize from Optimizer (and small other fixes) (#8123)
  • Fix BackendV2 support for PassManagerConfig.from_backend() (#8109)
  • Edit Result to always contain date, status, header (#8216)
  • Pass max_size to Statevector LaTeX drawer (#8197)
  • Fix handling of ControlledGates in QPY (#8055)
  • Fix QASM 3 exporter not respecting unknown basis_gates (#8160)
  • Update GaussianPulse for consistent parameter validation results whether validation occurs during or after construction. (#8151)
  • Fixed error in plot_histogram when number_to_keep is smaller that the number of keys (#7481)
  • fix marginal_counts (which failed on pulse backend) (issue #6430) (#8099)
  • set T2 with the correct value in ConfigurableFakeBackend (#8117)
  • Checks if DiagonalGate has modulus 1 (#8098)
  • Improve reverse_bits to support registerless bits (#7423)
  • Enable proper iteration over Statevector (#8062)
  • Fix SabreSwap with classically conditioned gates (#8041)
  • Fix RZX builder rescaled amplitude (#8031)
  • Fix marginal_counts on memory with non-zero indices (#8047)
  • Use round instead of ceil for GaussianSquare pulse duration in RZXCalibrationBuilder (#7995)
  • Fix fake backend v2 dtm unit (#8019)
  • Remove hard time limit from vf2 passes in preset passmanagers (#8021)
  • Add missing delay instruction to fake backends (#8003)
  • Fix instruction durations in transpile() with BackendV2 (#8001)
  • Fix dt units in test util function convert_to_target (#8000)
  • Fix order of input and gate declarations in QASM 3 exporter (#7972)
  • Fix potential infinite loop in SabreSwap (#7970)
  • Make SabreSwap account for clbits in predecessors (#7952)
  • Fix QPY deserialization of UCRX, UCRY, and UCRZ gates (#7933)
  • Fix dag visualization for DAGCircuits without registers (#7923)
  • Allow shots to be a numpy.int64 (#7824)
  • Bug fix for DRAG pulse beta validation (#7925)
  • Fix init_observable for Pauli (#7898)
  • Fix return type from schedule() with a list of one entry (#7885)
  • Fix plot_error_map with BackendProperties set or BackendV2 (#7880)
  • Fix of eval_observables() when quantum_circuit is a StateFn. (#7863)
  • Fix hard-coded sleep in run_circuits (#7793)
  • Fixes Clifford, Pauli, CNOTDihedral to handle Delay (#7850)