Qiskit Terra 0.21.0
Release notes: https://qiskit.org/documentation/release_notes.html#terra-0-21-0
Changelog
Deprecated
- Move
qiskit.test.mock
toqiskit.providers.fake_provider
and deprecate (#8121) - QPY schedule serialization (#7300)
- Remove deprecated
optimize
fromOptimizer
(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 forParameterTable
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
fromOptimizer
(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
fromOptimizer
(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 functionconvert_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 anumpy.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)