Skip to content

Qiskit Terra 0.24.0

Compare
Choose a tag to compare
@qiskit-bot qiskit-bot released this 04 May 18:24
· 2032 commits to main since this release
0.24.0
a259fd8

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

Changelog

Deprecated

  • Deprecate QuantumInstance and Opflow (#9176)
  • Deprecate PauliTable and StabilizerTable (#9547)
  • Deprecate the BIPMapping transpiler pass in favor of external plugin (#9924)

Added

  • Operator apply permutation (#9403)
  • Add support to switch in transpile (#9928)
  • plugin convenience function for getting the entry point object (#9275)
  • Improve error messages on failed control-flow transpilation (#9049)
  • add function to swap connected nodes in DAGCircuit (#9160)
  • Adding global_phase gate in qiskit-terra (#9251)
  • Add experimental OpenQASM 3 support for switch (#9916)
  • Add partial transpose function in quantum_info (#9566)
  • Add full path transpile() support for disjoint backends (#9840)
  • providers/options: implement Mapping (#9704)
  • Allow list of optimizers+initial points in VQD (#9151)
  • AdaptVQE threshold improvements (#9921)
  • Add max_trials parameter to VF2PostLayout. (#9963)
  • new unroll for-loops transpilation pass (#9670)
  • Add support for disjoint coupling maps to SabreLayout (#9802)
  • Add constructor to build target from legacy transpiler model (#9255)
  • Add Rust-based OpenQASM 2 converter (#9784)
  • Add Clifford.from_matrix (#9475)
  • Add support for pulse reference to QPY (#9890)
  • Ensure we run VF2PostLayout when needed in optimization level 1 (#9941)
  • Make all Layout and Routing passes target aware (#9263)
  • Fix AmplitudeEstimation is silently ignoring is_good_state in the estimation problem (#9906)
  • Add flag to filter faulty qubits and gates to BackendV2Converter (#9911)
  • Add equivlences of ECR, SX and SXdg gates to the equivalence library (#9913)
  • Adding HLS plugins for linear functions and cliffords (#9399)
  • Add representation of "switch" (#9833)
  • Synthesis of a stabilizer state for LNN connectivity (#9734)
  • Add commutator functions to quantum_info (#9546)
  • Add option to skip deepcopy on circuit_to_dag (#9848)
  • Add MinimumPoint transpiler pass (#9612)
  • Add public layout attribute to QuantumCircuit (#9486)
  • Update pulse gate transpiler pass to use target. (#9587)
  • Rearrange the gradient result based on the order of the input parameters (#9503)
  • Add @deprecate_func and @deprecate_arg decorators (#9676)
  • Add support to CouplingMap for disjoint qubits (#9710)
  • Add option to skip deepcopy on dag_to_circuit (#9825)
  • Improve Parameter handling in SparsePauliOp (#9796)
  • new parameters in plot_bloch_multivector: figsize, font_size, and title_font_size (#7264)
  • Alternative construction mechanism for HLS config (#9413)
  • Add add_deprecation_to_docstring for docsite deprecation support (#9685)
  • Oxidize the internals of Optimize1qGatesDecomposition (#9578)
  • Synthesis of CZ and Clifford circuits for linear nearest neighbor connectivity (#9450)
  • Added pulses to the SymbolicPulse library (#9625)
  • Remove Sabre's manual insertion-order iteration and unnecessary sorts (#9560)
  • Support for time-dependent Hamiltonians and observable evaluation in TrotterQRTE (#9565)
  • Add flipping of swap to GateDirection pass (#9561)
  • Add an equiv method to the StabilizerState class (#9543)
  • two-qubit unitary synthesis adapted to errors and over-complete gatesets (#9175)
  • Local fidelity (#9504)
  • ensure equivalences work to RZX (#9507)
  • Adds support to PassManager drawer to display stages (#9128)
  • Add target support to basis, optimization, scheduling, and util passes (#9343)

Changed

  • fixed issue 9453 by removing "_v2" from name in BackendV2 class (#9465)
  • Update pulse gate transpiler pass to use target. (#9587)
  • Implementing CouplingMap.eq (#9766)
  • Remove Sabre's manual insertion-order iteration and unnecessary sorts (#9560)
  • two-qubit unitary synthesis adapted to errors and over-complete gatesets (#9175)
  • PhaseOracle and BooleanExpression allow setting the expression variable order (#6658)
  • Bump MSRV to 1.61 and all rust dependencies to latest releases (#9393)

Removed

  • Remove argument max_credits from execute and assemble (#9322)
  • Remove faulty qubits and gates sections from transpile() (#9900)
  • Remove deprecated methods and args in Primitives (#9480)
  • Remove factorizers and linear solvers from algorithms (#9832)
  • Remove TextDrawing arguments layout, global_phase, qregs, and cregs (#9323)
  • Remove DagDepNode.condition (deprecated in #6110) (#9406)

Fixed

  • Set max_trials for VF2Layout in preset pass managers. (#10054) (#10061)
  • Remove recursion from ConstrainedReschedule pass (#10051) (#10057)
  • Fix for unintended rounding in 'state_to_latex' latex output (#9300) (#10048)
  • Fix delay padding to respect target's constraints (#10007) (#10038)
  • FIx 0q operation handling in Statevector (#10031) (#10039)
  • Bug fix macros.measure with backendv2 (#9987)
  • Fix circuit drawer for instructions with circuit parameters (#9942)
  • Refactor OpenQASM 2 exporter (#9953)
  • Prepare qiskit/transpiler/graysynth.py for deprecation in next release (#9795)
  • Fix handling of numpy integers in marginal_distribution() (#9976)
  • Correctly error on incorrect clbits in QuantumCircuit.append (#9386)
  • Bug fix in template optimization, and minor cleanup (#9541)
  • Ensure we run VF2PostLayout when needed in optimization level 1 (#9941)
  • Fix AmplitudeEstimation is silently ignoring is_good_state in the estimation problem (#9906)
  • Fixed IQAE bug mentioned in issue 9280 (#9887)
  • Fix QuantumCircuitData handling of Operation (#9881)
  • Fixed handling of a list of coupling_maps passed to transpile() (#9886)
  • Fix UnrollCustomDefinitions handling of empty definitions (#9899)
  • Fix a bug in QuantumCircuit.draw related to vertical_compression (#9855)
  • Fix string formatting (#9540)
  • Fix mypy errors (circuit) (#8267)
  • Fix non-complex dtypes in OneQubitEulerDecomposer methods (#9828)
  • transpile: narrow the return type depending on the circuits argument (#9799)
  • fix qasm with reset (#9819)
  • Clip probabilities in QuantumState (#9762)
  • Remove implicit broadcasting from Pauli/label construction of PauliList (#9779)
  • Fix basis_gates and coupling_map backend override in transpile() (#9789)
  • Fix explicitly calibrated gates in GateDirection (#9786)
  • Fix Parameter.is_real() (#9664)
  • Qiskit gates not qelib1.inc are now defined when dumped (#9777)
  • Fix zero-qubit Pauli label strings (#9726)
  • Fix bitstring padding in the BackendSampler (#9744)
  • Add inverse method to ECRGate (#9733)
  • Fix handling of BackendV1 simulators in PassManagerConfig.from_backend (#9719)
  • Fix qpy import of circuit with StatePreparation (#9665)
  • Fix wrong argument supplied to _identity_op() (#9201)
  • Stop raising AttributeError when accessing missing calibration (#9681)
  • Fix escaping of identifiers in OQ3 output (#9660)
  • Fix typing error in random_circuit conditionals (#9651)
  • Fix bug in backend primitives with bound_pass_manager (#9629)
  • Fix inverse of SdgGate in Solovay Kitaev (#9635)
  • Add the gates ECR, iSwap, CY, SX, SXdg, DCX to the Clifford class (#9623)
  • Fix handling of simulator backends in BackendV2Converter (#9630)
  • Add TranspileErrors to routing passes for coupling_map=None (#7141)
  • Fix VQD with SPSA optimizer (#9538)
  • Update Target to use CalibrationEntry to create inst map (#9597)
  • Retain all deprecated Bit properties in QPY roundtrip (#9525)
  • Fix sparse matrix conversion for SciPy<Real/Imaginary>Evolver (#9598)
  • Fix NumPy(Minimum)Eigensolver for sparse matrices (#9575)
  • Make BarrierBeforeFinalMeasurements deterministic (#9568)
  • Fix C3SXGate roundtrip in OpenQASM 2 (#9183)
  • Remove deprecated arguments (#9542)
  • Fix typo in Target (#9473)
  • Bug fix on QNSPSA (#9483)
  • Bug fix property and methods of BackendV2Converter (#9502)
  • Fix bad deprecation of Register.name_format (#9494)
  • Manage edge case of pickling instmap. (#9487)
  • Fix performance of ReverseEstimatorGradient for partial gradients (#9491)
  • Fix add_calibration bug (#9223) (#9451)
  • Fix add_calibration bug (#9223)
  • Fix PauliOp.adjoint() (#9434) (#9443)
  • Fix PauliOp.adjoint() (#9434)
  • Fix qpy for MCX gates (#9391) (#9412)
  • Fix qpy for MCX gates (#9391)
  • Fix TensoredOp.to_matrix with global coefficients (#9404) (#9408)
  • Fix the AmplitudeEstimator algorithms for primitive usage (#9394) (#9407)
  • Fix TensoredOp.to_matrix with global coefficients (#9404)
  • Fix the AmplitudeEstimator algorithms for primitive usage (#9394)