Skip to content

Releases: Qiskit/qiskit

Qiskit Terra 0.25.0

27 Jul 21:41
0.25.0
fa0491b
Compare
Choose a tag to compare

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

Changelog

Deprecated

  • Add deprecation warning to algs module (#10406)
  • qiskit_version deprecation (#10242)
  • Remove method qasm from Instruction and all of its subclasses (#10399)
  • Deprecate namespace packaging hooks (#10322)
  • Deprecate pulse Call instruction (#10247)
  • Deprecate get_vf2_call_limit in preset_passmanagers (#10065)
  • Deprecate circuit-library Jupyter magic (#9940)

Added

  • Add full Expr support to StochasticSwap (#10506) (#10510)
  • Allow circuits w/ control flow in O2 and O3 (#10372)
  • Optimize ConsolidateBlocks pass (#10365)
  • Add Expr support to OpenQASM 3 exporter (#10408)
  • Support control flow in ConsolidateBlocks (#10355)
  • Add display of internal circuits for ControlFlowOps to mpl circuit drawer (#10207)
  • Add flatten option to the NLocal family (#10269)
  • Improve parameter-binding performance of large instructions (#10284)
  • Add block collection options split_layers and collect_from_back (#10254)
  • Add in qpy the support for Discriminator and Kernel (#10327)
  • Add Expr support to DAGCircuit.substitute_node_with_dag (#10381)
  • Add Expr support in DAGCircuit.substitute_node (#10382)
  • Add a new argument concurrent_measurements to target class (#10258)
  • Add Expr support to DAGCircuit.replace_block_with_node (#10383)
  • Add find_bit method to DAGCircuit to get mapping of bits to positional index (#10128)
  • Add Expr support to QPY for conditions and targets (#10392)
  • Add Expr support to the control-flow builders (#10400)
  • Add Expr support to DAGCircuit.compose (#10377)
  • Add Expr support to QuantumCircuit.compose (#10375)
  • Add separable_circuits method to DAGCircuit class (#9471)
  • Add support for semantic equality checking of Exprs in DAGCircuit (#10367)
  • Refactor output of OpenQASM 3 exporter to use fewer aliases (#10249)
  • DAGCircuit: Add get_causal_cone method (#10325)
  • Add get_dt_from_backend func to the builder command (#10253)
  • Add Expr supprt to DAGCircuit simple constructors (#10362)
  • Linear function usability improvements (#10053)
  • Add Expr support to ControlFlowOp representation (#10358)
  • Add initial representation of classical expressions (#10332)
  • Relax wire_order restrictions in circuit visualization (#9893)
  • Adding depth-5n synthesis algorithm for -CZ-CX- circuits (#9932)
  • Add schmidt_decomposition function to quantum_info (#10104)
  • Adding the feature of calculating entanglement measures negativity (#10134)
  • Add HAS_PYGMENTS lazy tester (#9944)
  • Allow multiplication of SparsePauliOp and ParameterExpression (#10264)
  • Pass manager refactoring: add passmanager module (#10124)
  • Added classical_predecessors method (#9980)
  • Allow to normalize inputs on StatePreparation and Initialize (#7189)
  • Add more 1q and 2q Pauli rotation equivalences (#7407)
  • Add standard 1q Pauli equivalences to standard library (#10300)
  • add abs method to ParameterExpression (#9309)

Changed

  • Enable Sabre for control flow circuits at O1 (#10371)
  • Refactor output of OpenQASM 3 exporter to use fewer aliases (#10249)
  • Remove cyclic-definition handling from Clifford.from_circuit (#10441)
  • Use rustworkx version of token_swapper (#10001)
  • Use stable Python C API for building Rust extension (#10120)
  • Assign values directly to fully bound parameters in quantum circuits (#10183)
  • Switch QuantumCircuit.from_qasm_str and from_qasm_file to new parser (#9955)
  • Drop support for Python 3.7 (#10009)
  • Set max_trials for VF2Layout in preset pass managers. (#10054)

Removed

  • Remove list argument broadcasting and simplify transpile() (#10291)
  • Remove deprecated InstructionSet circuit_cregs argument (#10302)
  • Remove deprecations from mpl circuit drawer (#10020)

Fixed

  • Fix final_layout when VF2PostLayout finds a better layout (#10466) (#10493)
  • Fix empty-barrier handling in OpenQASM 2 (#10469) (#10491)
  • raise an exception with a custom gate with clbits or no qubits (#10438) (#10485)
  • Fix Pulse channel index validation (#10476) (#10486)
  • Fix UnassignedDurationError of update_from_instruction_schedule_map (#10447)
  • Add Expr support to OpenQASM 3 exporter (#10408)
  • Improve parameter-binding performance of large instructions (#10284)
  • Add Expr support in DAGCircuit.substitute_node (#10382)
  • Add Expr support to the control-flow builders (#10400)
  • fix 1q matrix bug in Quantum Shannon Decomposer (#10126)
  • Add mid-circuit measurement before conditional operation in random_circuit (#10401)
  • Fix inner qubit mapping in UnitarySynthesis pass. (#10405)
  • Fix plot legend don't show up when dataset start with zero (#10176)
  • Fix deepcopy for new-style Bit (#10411)
  • Fix DiagonalGate QPY serialisation (#10376)
  • Add support for QuantumCircuit.layout to qpy (#10148)
  • Fix CheckMap with control-flow builder nested conditionals (#10395)
  • Fix VQD's optimal_values (#10279)
  • Fix qasm export for gates with same name (#10286)
  • Fix deprecation warnings emitted by import qiskit.primitives (#10287)
  • Fix BasicSwap FakeRun Typo (#10274)
  • Improve casting and error message for ParameterExpression (#10244)
  • FullAncillaAllocation for backends witout a coupling map (#10240)
  • Fix the output macros.measure with backendV2 (#10135)
  • Fix QuantumCircuit.draw() not outputting pdf in latex mode (#10212)
  • Fix output of DensityMatrix.partial_transpose to match input dimensions (#10163)
  • Assign values directly to fully bound parameters in quantum circuits (#10183)
  • Fix unitary synthesis for parameterized basis gates in Target (#10090)
  • Fix PassManagerConfig.from_backend with BackendV1 and no CouplingMap (#10172)
  • Fix top-level switch statements in QuantumCircuit.compose (#10164)
  • Fixing BlockCollapser with Clbits (#9823)
  • Fix initial_layout in transpile with loose qubits (#10153)
  • Remove undefined variable (#10117)
  • Fix wrong relative phase of MCRZ (#9836)
  • Fix tweedledum runtime detection in BooleanExpression.from_dimacs_file (#10132)
  • define getstate and setstate for OneQubitGateErrorMap (#10092)
  • Add the qubit_coordinates_map for ibm_seattle (#10089)
  • Switch QuantumCircuit.from_qasm_str and from_qasm_file to new parser (#9955)
  • Fix interaction graph vf2 scoring to include 1q component (#10084)
  • Set max_trials for VF2Layout in preset pass managers. (#10054) (#10061)
  • Set max_trials for VF2Layout in preset pass managers. (#10054)
  • Remove recursion from ConstrainedReschedule pass (#10051) (#10057)
  • Remove recursion from ConstrainedReschedule pass (#10051)
  • Fix for unintended rounding in 'state_to_latex' latex output (#9300) (#10048)
  • Fix for unintended rounding in 'state_to_latex' latex output (#9300)
  • Fix delay padding to respect target's constraints (#10007) (#10038)
  • FIx 0q operation handling in Statevector (#10031) (#10039)
  • circuit: narrow the return type of QuantumCircuit.assign_parameters (#10037)
  • FIx 0q operation handling in Statevector (#10031)
  • Allow decomposing composite gates by name (#9170)
  • Fix delay padding to respect target's constraints (#10007)
  • Use backend_compat module's convert to target (#10016)

Qiskit Terra 0.25.0rc1

21 Jul 15:53
0.25.0rc1
a8faffb
Compare
Choose a tag to compare
Pre-release

Changelog

Deprecated

  • Add deprecation warning to algs module (#10406)
  • qiskit_version deprecation (#10242)
  • Remove method qasm from Instruction and all of its subclasses (#10399)
  • Deprecate namespace packaging hooks (#10322)
  • Deprecate pulse Call instruction (#10247)
  • Deprecate get_vf2_call_limit in preset_passmanagers (#10065)
  • Deprecate circuit-library Jupyter magic (#9940)

Added

  • Allow circuits w/ control flow in O2 and O3 (#10372)
  • Optimize ConsolidateBlocks pass (#10365)
  • Add Expr support to OpenQASM 3 exporter (#10408)
  • Support control flow in ConsolidateBlocks (#10355)
  • Add display of internal circuits for ControlFlowOps to mpl circuit drawer (#10207)
  • Add flatten option to the NLocal family (#10269)
  • Improve parameter-binding performance of large instructions (#10284)
  • Add block collection options split_layers and collect_from_back (#10254)
  • Add in qpy the support for Discriminator and Kernel (#10327)
  • Add Expr support to DAGCircuit.substitute_node_with_dag (#10381)
  • Add Expr support in DAGCircuit.substitute_node (#10382)
  • Add a new argument concurrent_measurements to target class (#10258)
  • Add Expr support to DAGCircuit.replace_block_with_node (#10383)
  • Add find_bit method to DAGCircuit to get mapping of bits to positional index (#10128)
  • Add Expr support to QPY for conditions and targets (#10392)
  • Add Expr support to the control-flow builders (#10400)
  • Add Expr support to DAGCircuit.compose (#10377)
  • Add Expr support to QuantumCircuit.compose (#10375)
  • Add separable_circuits method to DAGCircuit class (#9471)
  • Add support for semantic equality checking of Exprs in DAGCircuit (#10367)
  • Refactor output of OpenQASM 3 exporter to use fewer aliases (#10249)
  • DAGCircuit: Add get_causal_cone method (#10325)
  • Add get_dt_from_backend func to the builder command (#10253)
  • Add Expr supprt to DAGCircuit simple constructors (#10362)
  • Linear function usability improvements (#10053)
  • Add Expr support to ControlFlowOp representation (#10358)
  • Add initial representation of classical expressions (#10332)
  • Relax wire_order restrictions in circuit visualization (#9893)
  • Adding depth-5n synthesis algorithm for -CZ-CX- circuits (#9932)
  • Add schmidt_decomposition function to quantum_info (#10104)
  • Adding the feature of calculating entanglement measures negativity (#10134)
  • Add HAS_PYGMENTS lazy tester (#9944)
  • Allow multiplication of SparsePauliOp and ParameterExpression (#10264)
  • Pass manager refactoring: add passmanager module (#10124)
  • Added classical_predecessors method (#9980)
  • Allow to normalize inputs on StatePreparation and Initialize (#7189)
  • Add more 1q and 2q Pauli rotation equivalences (#7407)
  • Add standard 1q Pauli equivalences to standard library (#10300)
  • add abs method to ParameterExpression (#9309)

Changed

  • Enable Sabre for control flow circuits at O1 (#10371)
  • Refactor output of OpenQASM 3 exporter to use fewer aliases (#10249)
  • Remove cyclic-definition handling from Clifford.from_circuit (#10441)
  • Use rustworkx version of token_swapper (#10001)
  • Use stable Python C API for building Rust extension (#10120)
  • Assign values directly to fully bound parameters in quantum circuits (#10183)
  • Switch QuantumCircuit.from_qasm_str and from_qasm_file to new parser (#9955)
  • Drop support for Python 3.7 (#10009)
  • Set max_trials for VF2Layout in preset pass managers. (#10054)

Removed

  • Remove list argument broadcasting and simplify transpile() (#10291)
  • Remove deprecated InstructionSet circuit_cregs argument (#10302)
  • Remove deprecations from mpl circuit drawer (#10020)

Fixed

  • Fix UnassignedDurationError of update_from_instruction_schedule_map (#10447)
  • Add Expr support to OpenQASM 3 exporter (#10408)
  • Improve parameter-binding performance of large instructions (#10284)
  • Add Expr support in DAGCircuit.substitute_node (#10382)
  • Add Expr support to the control-flow builders (#10400)
  • fix 1q matrix bug in Quantum Shannon Decomposer (#10126)
  • Add mid-circuit measurement before conditional operation in random_circuit (#10401)
  • Fix inner qubit mapping in UnitarySynthesis pass. (#10405)
  • Fix plot legend don't show up when dataset start with zero (#10176)
  • Fix deepcopy for new-style Bit (#10411)
  • Fix DiagonalGate QPY serialisation (#10376)
  • Add support for QuantumCircuit.layout to qpy (#10148)
  • Fix CheckMap with control-flow builder nested conditionals (#10395)
  • Fix VQD's optimal_values (#10279)
  • Fix qasm export for gates with same name (#10286)
  • Fix deprecation warnings emitted by import qiskit.primitives (#10287)
  • Fix BasicSwap FakeRun Typo (#10274)
  • Improve casting and error message for ParameterExpression (#10244)
  • FullAncillaAllocation for backends witout a coupling map (#10240)
  • Fix the output macros.measure with backendV2 (#10135)
  • Fix QuantumCircuit.draw() not outputting pdf in latex mode (#10212)
  • Fix output of DensityMatrix.partial_transpose to match input dimensions (#10163)
  • Assign values directly to fully bound parameters in quantum circuits (#10183)
  • Fix unitary synthesis for parameterized basis gates in Target (#10090)
  • Fix PassManagerConfig.from_backend with BackendV1 and no CouplingMap (#10172)
  • Fix top-level switch statements in QuantumCircuit.compose (#10164)
  • Fixing BlockCollapser with Clbits (#9823)
  • Fix initial_layout in transpile with loose qubits (#10153)
  • Remove undefined variable (#10117)
  • Fix wrong relative phase of MCRZ (#9836)
  • Fix tweedledum runtime detection in BooleanExpression.from_dimacs_file (#10132)
  • define getstate and setstate for OneQubitGateErrorMap (#10092)
  • Add the qubit_coordinates_map for ibm_seattle (#10089)
  • Switch QuantumCircuit.from_qasm_str and from_qasm_file to new parser (#9955)
  • Fix interaction graph vf2 scoring to include 1q component (#10084)
  • Set max_trials for VF2Layout in preset pass managers. (#10054) (#10061)
  • Set max_trials for VF2Layout in preset pass managers. (#10054)
  • Remove recursion from ConstrainedReschedule pass (#10051) (#10057)
  • Remove recursion from ConstrainedReschedule pass (#10051)
  • Fix for unintended rounding in 'state_to_latex' latex output (#9300) (#10048)
  • Fix for unintended rounding in 'state_to_latex' latex output (#9300)
  • Fix delay padding to respect target's constraints (#10007) (#10038)
  • FIx 0q operation handling in Statevector (#10031) (#10039)
  • circuit: narrow the return type of QuantumCircuit.assign_parameters (#10037)
  • FIx 0q operation handling in Statevector (#10031)
  • Allow decomposing composite gates by name (#9170)
  • Fix delay padding to respect target's constraints (#10007)
  • Use backend_compat module's convert to target (#10016)

Qiskit Terra 0.24.2

19 Jul 17:26
0.24.2
163d1bd
Compare
Choose a tag to compare

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

Changelog

Fixed

  • fix 1q matrix bug in Quantum Shannon Decomposer (#10126) (#10446)
  • Fix inner qubit mapping in UnitarySynthesis pass. (#10405) (#10431)
  • Fix deepcopy for new-style Bit (#10411) (#10413)
  • Fix DiagonalGate QPY serialisation (#10376) (#10412)
  • Dispatch a builder with backendV1 and backendV2 (#10150) (#10265)
  • Add support for QuantumCircuit.layout to qpy (#10148) (#10410)
  • Fix CheckMap with control-flow builder nested conditionals (#10395) (#10397)
  • Fix VQD's optimal_values (#10279) (#10312)
  • Fix qasm export for gates with same name (#10286) (#10297)
  • Improve casting and error message for ParameterExpression (#10244) (#10268)
  • Fix deprecation warnings emitted by import qiskit.primitives (#10287) (#10290)
  • Fix BasicSwap FakeRun Typo (#10274) (#10278)
  • Fix the output macros.measure with backendV2 (#10135) (#10241)
  • Fix QuantumCircuit.draw() not outputting pdf in latex mode (#10212) (#10217)
  • Fix output of DensityMatrix.partial_transpose to match input dimensions (#10163) (#10215)

Qiskit Terra 0.24.1

02 Jun 01:53
e0c061d
Compare
Choose a tag to compare

Changelog

Changed

  • Assign values directly to fully bound parameters in quantum circuits (#10183) (#10192)

Fixed

  • Assign values directly to fully bound parameters in quantum circuits (#10183) (#10192)
  • Fix unitary synthesis for parameterized basis gates in Target (#10090) (#10190)
  • Fix PassManagerConfig.from_backend with BackendV1 and no CouplingMap (#10172) (#10181)
  • Fix top-level switch statements in QuantumCircuit.compose (#10164) (#10180)
  • Fixing BlockCollapser with Clbits (#9823) (#10173)
  • Remove undefined variable (#10117) (#10152)
  • Fix tweedledum runtime detection in BooleanExpression.from_dimacs_file (#10132) (#10137)
  • Improve performance of ConstrainedReschedule pass (#10077) (#10093)
  • Add the qubit_coordinates_map for ibm_seattle (#10089) (#10094)
  • define getstate and setstate for OneQubitGateErrorMap (#10092) (#10095)
  • Fix interaction graph vf2 scoring to include 1q component (#10084) (#10086)

Qiskit Terra 0.24.0

04 May 18:24
0.24.0
a259fd8
Compare
Choose a tag to compare

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)

Qiskit Terra 0.24.0rc1

20 Apr 20:25
0.24.0rc1
4152009
Compare
Choose a tag to compare
Pre-release

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

  • 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)

Qiskit Terra 0.23.3

21 Mar 18:06
0.23.3
7dc7a1c
Compare
Choose a tag to compare

Changelog

Fixed

  • Fix non-complex dtypes in OneQubitEulerDecomposer methods (#9828) (#9829)
  • fix qasm with reset (#9819) (#9826)
  • Clip probabilities in QuantumState (#9762) (#9812)
  • Improve error messages in Target-based GateDirection pass (#9787) (#9791)
  • Fix basis_gates and coupling_map backend override in transpile() (#9789) (#9792)
  • Fix explicitly calibrated gates in GateDirection (#9786) (#9788)
  • Qiskit gates not qelib1.inc are now defined when dumped (backport #9777) (#9778)
  • Fix bitstring padding in the BackendSampler (#9744) (#9745)
  • transpiler/1q_decomposition: fix circuit score for zero gate errors (#9701)
  • Add inverse method to ECRGate (#9733) (#9738)
  • Fix handling of BackendV1 simulators in PassManagerConfig.from_backend (#9719) (#9725)
  • Fix qpy import of circuit with StatePreparation (#9665) (#9711)
  • Fix wrong argument supplied to _identity_op() (#9201) (#9703)
  • Stop raising AttributeError when accessing missing calibration (#9681) (#9683)
  • Fix escaping of identifiers in OQ3 output (#9660) (#9673)
  • Fix typing error in random_circuit conditionals (#9651) (#9656)
  • Fix bug in backend primitives with bound_pass_manager (#9629) (#9652)

Qiskit Terra 0.23.2

23 Feb 13:27
09f904a
Compare
Choose a tag to compare

Changelog

Fixed

  • Fix inverse of SdgGate in Solovay Kitaev (#9635) (#9641)
  • Add the gates ECR, iSwap, CY, SX, SXdg, DCX to the Clifford class (#9623) (#9640)
  • Fix handling of simulator backends in BackendV2Converter (#9630) (#9632)
  • Fix VQD with SPSA optimizer (#9538) (#9613)
  • Update Target to use CalibrationEntry to create inst map (#9597) (#9610)
  • Retain all deprecated Bit properties in QPY roundtrip (#9525) (#9603)
  • Fix sparse matrix conversion for SciPy<Real/Imaginary>Evolver (#9598) (#9600)
  • Fix NumPy(Minimum)Eigensolver for sparse matrices (#9575) (#9577)
  • Remove deprecated arguments (#9542) (#9544)
  • Bug fix on QNSPSA (#9483) (#9520)
  • Bug fix property and methods of BackendV2Converter (#9502) (#9506)

Qiskit Terra 0.23.1

31 Jan 19:55
0.23.1
d4e7144
Compare
Choose a tag to compare

Changelog

Fixed

  • Fix bad deprecation of Register.name_format (#9494) (#9497)
  • Manage edge case of pickling instmap. (#9487) (#9495)
  • Fix performance of ReverseEstimatorGradient for partial gradients (#9491) (#9492)

Qiskit Terra 0.23.0

26 Jan 21:24
0.23.0
5d6ba50
Compare
Choose a tag to compare

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

Changelog

Deprecated

  • Add deprecation warning on use of qiskit.IBMQ (#8080)
  • Deprecate LinearFunctionsSynthesis transpiler pass (#9041)
  • Refactor state latex drawer (#8874)
  • Relax register-naming restrictions (#9100)
  • Deprecate old path to QPY (#9225)
  • Correct deprecation of old pulse visualization (#9146)
  • Transfer clifford and cnot-dihedral synthesis functions from quantum_info to synthesis (#9141)
  • Deprecate Python 3.7 support (#8942)
  • Deprecate lists for argument input on transpile() (#8835)
  • Fix pauli_basis deprecation (#8905)

Added

  • Constructing Cliffords from quantum circuits with other Cliffords (#9169)
  • Add importer for OpenQASM 3 (#9347)
  • High-level-synthesis for permutations (#9157)
  • Implements VarQTE algorithm with primitives. (#8746)
  • Add final layout to output quantum circuit from transpiler (#8597)
  • Primitives support the dynamic circuits with control flow (#9231)
  • Add option to user config to control reverse_bits in circuit drawer (#9211)
  • Efficient classical calculation of expectation gradients (#9287)
  • Split QFI into QFI and QGT (#9085)
  • Convert Equivalence Library to graph (#8790)
  • Add FakeSherbrooke backend (#9339)
  • Lazy pulse qobj loading for large backend (#8885)
  • Add FakePrague Egret R1 to fake backends (#9369)
  • Introducing ScalableSymbolicPulse to correctly compare pulses of amp,angle representation (#9314)
  • support gate powering with ** (#9030)
  • Add option to allow passing unknown parameters to ParameterExpression.bind (#9304)
  • Speed up Clifford.compose (#7483)
  • Synthesis of a Clifford circuit into layers (#9220)
  • add dtype parameter to PauliSumOp.from_list (#8896)
  • Add efficient gate power methods (#9318)
  • Translate parameterized gates only in gradient calculations (#9067)
  • Refactor z2symmetries (#9227)
  • Numerical Integration methods for real and imaginary time evolution. (#8399)
  • Refactor gradients for extensibility (#9084)
  • Add the Solovay-Kitaev algorithm to the transpiler passes (#5657)
  • Various improvements to AdaptVQE (#9215)
  • Oxidize SabreLayout pass (#9116)
  • Add DAGCircuit output option to OneQubitEulerDecomposer (#9188)
  • Adding linear synthesis algorithm for LNN (#9098)
  • Adding CollectAndCollapse transpiler pass (#8907)
  • Fully QPY compatible pulse builder for V2 and runtime backend (#8949)
  • Improve performance of VF2 scoring and add support for scoring passes (#9026)
  • Increase Accuracy of OpenQASM 2.0 Dump (#8250)
  • Update Optimize1qGatesDecomposition to be Target aware (#8917)
  • Adding permutation synthesis algorithm for LNN (#9082)
  • Add gradient methods to FinDiffGradients (#9104)
  • Calculate relative, not absolute, scores in SabreSwap (#9012)
  • Add support for Python 3.11 (#9028)
  • Improve LinearFunction synthesis (#8568)
  • Add implicit iteration to CouplingMap (#9051)
  • QFI with the primitives (#8688)
  • add QuantumCircuit.from_instructions (#9006)
  • Speed up random_circuit (#8983)
  • Add missing equivalences for XX{Plus,Minus}YYGate (#9017)
  • Make UnrollCustomDefinitions pass target aware (#8784)
  • Return DAGOpNode from dagcircuit.replace_block_with_op (#8799)

Changed

  • Refactor state latex drawer (#8874)
  • Convert Equivalence Library to graph (#8790)
  • Relax register-naming restrictions (#9100)
  • Introducing ScalableSymbolicPulse to correctly compare pulses of amp,angle representation (#9314)
  • Oxidize SabreLayout pass (#9116)
  • Converting the pulse library from complex amp to amp+angle (#9002)
  • Adding CollectAndCollapse transpiler pass (#8907)
  • Fully QPY compatible pulse builder for V2 and runtime backend (#8949)
  • Switch from retworkx to rustworkx package (#9162)
  • Improve LinearFunction synthesis (#8568)
  • Use TOQM routing staged pass manager. (#9042)
  • Speed up random_circuit (#8983)
  • Remove tweedledum as a core dependency (#8947)
  • Add singledispatchmethod to dependency (#8944)
  • Fix transpile() for control flow operations with a Target/BackendV2 (#8852) (#8889)

Removed

  • Remove label argument from MCMTVChain and MCMT (#9324)
  • Remove gate argument from qiskit.transpiler.passes.Decompose (#9325)
  • Remove deprecated MSBasisDecomposer transpiler pass (#9342)
  • Remove deprecated measure and reset circuit operations (#9278)
  • Remove deprecated functions from ParameterView (#9184)
  • Remove deprecated redirects from visualization (#9131)
  • Removed NLocal inital_state that is not a QuantumCircuit (#9081)
  • Remove deprecated networkx dag converter functions (#9035)
  • Remove deprecated methods from QuantumCircuit (#8980)

Fixed

  • Fix add_calibration bug (#9223) (#9451)
  • Fix PauliOp.adjoint() (#9434) (#9443)
  • Fix qpy for MCX gates (#9391) (#9412)
  • Fix TensoredOp.to_matrix with global coefficients (#9404) (#9408)
  • Fix the AmplitudeEstimator algorithms for primitive usage (#9394) (#9407)
  • Constructing Cliffords from quantum circuits with other Cliffords (#9169)
  • Make BackendSampler set shots and stddev_upper_bound of returned QuasiDistribution (#9312)
  • Barrier support for visualize_transition and refactor (#8834)
  • Fix PauliOp matmul with iI & add PauliOp test (#9321)
  • Relax register-naming restrictions (#9100)
  • Fix: AQC returns a wrong circuit when the unitary has a determinant −1 (#9331)
  • Fix PVQD loss function (#9371)
  • Fix QuantumCircuit.compose on unusual types and registers (#9206)
  • Update qiskit.utils.wrap_method for Python 3.11 (#9310)
  • Fix ComposedOp.to_matrix (#9316)
  • Fix NumPyEigensolver with SparsePauliOp (#9101)
  • Fix PulseQobj converter name collision (#8839)
  • Feature/trivial gate inversions (#9262)
  • Fix primitives metadata (#9285)
  • Refactor gradients for extensibility (#9084)
  • Fix LinCombSamplerGradient to leverage AerSampler (#9258)
  • Fix betas calculation on VQD and async. cost evaluation (#9245)
  • Fix a transpile issue of BackendSampler (#9236)
  • Performance improvement of _DiagonalEstimator (#9229)
  • Fix the aggregation argument of SamplingVQE (#9221)
  • Fix ordering of dims in QuantumState.probabilities_dict (#9214)
  • Enable simplifying 1q runs and 2q blocks in transpile() without target (#9222)
  • Fix shots argument of local_readout_mitigator (#9155)
  • Infer cregbundle for all drawers (#9133)
  • Fully QPY compatible pulse builder for V2 and runtime backend (#8949)
  • fix: overwrite AdaptVQE.supports_aux_operators (#9142)
  • Fix serialization of primitives (#9076)
  • fix #9102 (#9103)
  • Reinstate pulse.Instruction.draw (#9144)
  • Fix random seed initialization between runs in SabreSwap (#9127)
  • Use float-epsilon calculation in Sabre best scores (#9117)
  • Fixed sign bug in docs in LinCombEstimatorGradient. (#9113)
  • 🐛 fix deprecated Loader.load_module() (#9078)
  • Fix QPY handling of registers (#9095)
  • Fix Backend primitive classes for BackendV1 with no max_experiments (#9069)
  • Improve LinearFunction synthesis (#8568)
  • Avoid deepcopy in pulse parser (#9063)
  • Fix incorrect graph construction in VF2PostLayout (#9058)
  • Make TwoQubitWeylDecomposition pickle-able (#7333)
  • Fix default batching in variational algorithms (#9038)
  • Fix handling of global ideal gates for target build_coupling_map() (#8977)
  • Fix backend primitives on backends with job size limit (#8955)
  • Fix zero-operand gates and instructions (#8272)
  • Fix transpile() with a Target containing an ideal Measure (#8995)
  • Fix VQD for k>2 (#8989)
  • Fix manifest entry for mpl styles (#9004)
  • fix #8992 (#8998)
  • Fix VF2Layout and VF2PostLayout handling of instructions without error (#8978)
  • Cast ParameterExpression to float in RZXBuilder and RZXCalibrationBuilderNoEcho (#8965)
  • Avoid skipping channels in pulse visualizer (#8974)
  • Fix parallel dispatch with target argument in transpile() (#8952)
  • Fix Statevector.evolve and DensityMatrix.evolve for mixed dimension subsystems (#8900)
  • Fix classical-bit handling in control-flow StochasticSwap (#8906)
  • Fix single-bit-condition equality in QuantumCircuit and DAGCircuit (#8930)
  • Fix BarrierBeforeFinalMeasurements with loose bits (#8924)
  • Fix handling of globally defined operations in Target (#8925)
  • Fix qpy custom ControlledGate with overloaded _define() (#8927)
  • Fix loose-bit handling in QPY (#8928)
  • Fix pauli_basis deprecation (#8905)
  • Fix transpile() for control flow operations with a Target/BackendV2 (#8852) (#8889)
  • Fix pauli.evolve dtype casting error (#8877) (#8884)
  • Fix pauli.evolve dtype casting error (#8877)