Qiskit Terra Versions Save

Qiskit is an open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.

0.45.1

5 months ago

Changelog

Added

  • Add support for Python 3.12 (#11262) (#11311)

Fixed

  • Update Instruction.condition_bits for runtime classical expressions (#11325) (#11328)
  • Fix backend_util.py and test cases to support Aer 0.13 (#11172) (#11283)
  • Fix issue with ScheduleBlock qpy serialization and use_symengine (#11261) (#11275)
  • Allow correct retrieval of circuit with initialize instruction from qpy file (#11206) (#11274)
  • Fix QuantumCircuit.barrier argument conversion (#11272) (#11273)
  • Fix pickling of conditioned custom gates from OpenQASM 2 import (#11175) (#11258)
  • Fix Channel.__hash__ in multiprocessing contexts (#11251) (#11255)
  • Allow barriers in overlap circuit inputs (#11179) (#11216)
  • Fix circuit drawer returning qubit[register] names for input (#11096) (#11199)

0.45.0

6 months ago

Release notes: https://qiskit.org/documentation/release_notes.html#relnotes-0-45-0

Changelog

Deprecated

  • Pass manager refactoring: cleanup internals (#10127)
  • Deprecate passing None to DAGCircuit appenders (#10752)
  • Deprecate Unroller pass (#10607)
  • Fix deprecation warning of unscheduled circuits in timeline drawer (#10851)
  • Deprecation of algorithm utils (algorithm_globals and validation) (#10905)
  • Deprecate bind_parameters in favor of assign_parameters (#10792)
  • Move OpenQASM 2 exporter to qiskit.qasm2 (#10533)
  • Deprecate qiskit.extensions (#10725)
  • Deprecate duplicate circuit gate method (#10797)

Added

  • Merging UnrollCustomDefinitions into HighLevelSynthesis as a single pass (#10965)
  • Add UnitaryOverlap to the circuit library (#10734)
  • schedule() considers instruction map (#10988)
  • Pass manager refactoring: cleanup internals (#10127)
  • Add display of expressions to circuit drawers (#10869)
  • Singleton parameterless controlled gates (#10898)
  • Starting layout analysis pass for sabre (#10829)
  • Rewrite singleton handling including SingletonInstruction (#11014)
  • Annotated operations (#9846)
  • Add apply_layout method to SparsePauliOp (#10947)
  • Fix hash of Parameter and ParameterExpression (#10875)
  • Fix deprecated behaviour in timeline drawer (#10846)
  • Improve the ergonomics of the TranspileLayout class (#10835)
  • Add check_input option to UnitaryGate (#10660)
  • Fix MergeAdjacentBarriers to scale with number of barriers (#10900)
  • Add use_symengine option to qpy.dump (#10820)
  • Update plot_gate_map() family to leverage graphviz for visualization (#10208)
  • #10360 New sign feature in parameterexpression.py (#10571)
  • adding an option to CouplingMap.reduce to allow disconnected coupling maps (#10863)
  • Use singletons for standard library unparameterized, non-controlled gates (#10314)
  • Optimise QuantumCircuit.assign_parameters for single-parameter binding (#10548)
  • Add fast path to Parameter.assign (#10549)
  • Add option to SabreLayout to specify starting layouts (#10721)
  • Allow empty list default initialization for SparsePauliOp (#10765)
  • Add fast-path construction to DAGCircuit methods (#10753)
  • Use BasisTranslator for unroll 3q or more (#10776)
  • Move OpenQASM 2 exporter to qiskit.qasm2 (#10533)
  • Add display of internal circuits for ControlFlowOps to text drawer (#10414)
  • Optimization stage as a plugin. (#10581)
  • constructing cliffords from linear functions and permutation gates (#10423)
  • Adding coupling-map and target to HighLevelSynthesis (#10477)
  • Add draw method to Operator class (#10271)
  • Add tests of Expr support through SabreSwap (#10511)
  • Add full Expr support to StochasticSwap (#10506)
  • limiting matrix-based commutativity check (#10495)
  • Revert "Revert "Pass manager refactoring: add passmanager module (#10124)" (#10454)" (#10474)
  • Add IGate rules to standard equivalence library (#7146)
  • Add NormalizeRXAngle and RXCalibrationBuilder passes (#10634)
  • Preparations to update the default MPL drawer style to "iqx" (#10950)

Changed

  • Pass manager refactoring: cleanup internals (#10127)
  • Deprecate Unroller pass (#10607)
  • Singleton parameterless controlled gates (#10898)
  • Pin Numpy < 2 in requirements (#10893)
  • Update plot_gate_map() family to leverage graphviz for visualization (#10208)
  • Use singletons for standard library unparameterized, non-controlled gates (#10314)
  • Adding h, p and u to basic aer (#10673)
  • qiskit-terra == qiskit, in version libraries (#10425)
  • Keep resets at beginning of circuits (#10591)
  • Migrate init stage to plugins (#10689)
  • Migrate layout stage to plugins (#10622)
  • Cleaning up U3 in the unitary extension (#10597)
  • Update minimum Rust version to 1.64 (#10541)
  • Revert "Revert "Pass manager refactoring: add passmanager module (#10124)" (#10454)" (#10474)

Removed

  • Removed code deprecated in 0.22 [transpiler and providers] (#10872)
  • Removed code deprecated in qiskit-terra 0.21, released on June 2022 (#10754)
  • removed deprecated PauliTable, StabilizerTable and tests (#10815)
  • Remove code deprecated in 0.15 (#10779)
  • Remove deprecated x and z arguments to Pauli (#10717)
  • Removed deprecated functions in qiskit.scheduler.utils (#10879)
  • remove qiskit.utils.deprecation.deprecate_function, deprecated in terra 0.22 (#10881)
  • Remove quantum_info deprecated code in 0.22 (#10861)
  • Remove deprecated code in 0.19 (#10791)
  • Removed code deprecated in 0.20 (#10767)
  • Remove deprecated BIPMapping pass (#10526)
  • Removal of deprecated property num_ancilla_qubits (#10793)

Fixed

  • Fix input normalisation of transpile(initial_layout=...) (#11031)
  • Add base-gate callback to CUGate.params return (#11032)
  • Fix build filter coupling map with mix ideal/physical targets (#11009)
  • schedule() considers instruction map (#10988)
  • Fix commutation analysis to group gates into blocks of pairwise commuting gates (#10618)
  • NoiseAdaptiveLayout to consider inconsistencies in backend (#10859)
  • Use only discrete-basis translations in GateDirection (#10786)
  • Fix qpy for controlled UnitaryGate (#10809)
  • Add global-phase support to control-flow builders (#10800)
  • BackendEstimator support BackendV2 without coupling_map (#10956)
  • Fix hash of Parameter and ParameterExpression (#10875)
  • Fix IQX color schemes (#10941)
  • Support dynamic circuit in BackendEstimator (#9700)
  • Avoid useless deepcopy of target with custom pulse gates in transpile (#10973)
  • Fix bug in qs_decomposition (#10850)
  • Fix issues with ControlFlowOp displays (#10842)
  • Fix Clifford.from_operator to fail with non-Clifford diagonal operators (#10904)
  • Support passing empty lists to Pauli delete method (#10849)
  • fix random statevector distribution (#10866)
  • Allow dynamical decoupling pass to work on circuits with pulse gates (#10834)
  • Fix GateDirection pass (#10825)
  • Fix qpy for multiple controlled parametrized gates (#10758)
  • Track Sabre decay heuristic on physical qubits (#10756)
  • Handle final comments with no terminating newline in OpenQASM 2 (#10773)
  • Support new-style Bit in Pauli convertor from QuantumCircuit (#10757)
  • Add validation to Sampler if there are no measurements (#10642)
  • Fix performance of Sabre rust<->Python boundary (#10652)
  • Fix classical-synthesis label ordering with registerless=False (#9536)
  • Reject bad values in SparsePauliOp.paulis setter (#10437)
  • Fixing the tools for plotting Pauli vec (#10619)
  • Fix open circles and visual circuit tests to .9999 (#10580)
  • Fix multiple nested custom controlled gates in QPY (#10537)
  • Implemented a type check in copy method of QuantumCircuit class (#10521)
  • Force decimal points in OpenQASM 2 floats (#10532)
  • limiting matrix-based commutativity check (#10495)
  • Fix final_layout when VF2PostLayout finds a better layout (#10466)
  • Fix empty-barrier handling in OpenQASM 2 (#10469)
  • Fix Pulse channel index validation (#10476)
  • raise an exception with a custom gate with clbits or no qubits (#10438)

0.25.3

6 months ago

Release notes: https://qiskit.org/documentation/release_notes.html#qiskit-0-44-3

Changelog

Fixed

  • Fix input normalisation of transpile(initial_layout=...) (backport #11031) (#11058)
  • Fix calling backend.name() for backendV2 (#11065) (#11076) (#11092)
  • Fix build filter coupling map with mix ideal/physical targets (#11009) (#11049)
  • Emit a descriptive error when the QPY version is too new (#11094)
  • BackendEstimator support BackendV2 without coupling_map (#10956) (#11006)
  • Support dynamic circuit in BackendEstimator (#9700) (#10984)
  • Avoid useless deepcopy of target with custom pulse gates in transpile (#10973) (#10978)
  • Fix bug in qs_decomposition (#10850) (#10957)

0.45.0rc1

7 months ago

Changelog

Deprecated

  • Pass manager refactoring: cleanup internals (#10127)
  • Deprecate passing None to DAGCircuit appenders (#10752)
  • Deprecate Unroller pass (#10607)
  • Fix deprecation warning of unscheduled circuits in timeline drawer (#10851)
  • Deprecation of algorithm utils (algorithm_globals and validation) (#10905)
  • Deprecate bind_parameters in favor of assign_parameters (#10792)
  • Move OpenQASM 2 exporter to qiskit.qasm2 (#10533)
  • Deprecate qiskit.extensions (#10725)
  • Deprecate duplicate circuit gate method (#10797)

Added

  • Merging UnrollCustomDefinitions into HighLevelSynthesis as a single pass (#10965)
  • Add UnitaryOverlap to the circuit library (#10734)
  • schedule() considers instruction map (#10988)
  • Pass manager refactoring: cleanup internals (#10127)
  • Add display of expressions to circuit drawers (#10869)
  • Singleton parameterless controlled gates (#10898)
  • Starting layout analysis pass for sabre (#10829)
  • Rewrite singleton handling including SingletonInstruction (#11014)
  • Annotated operations (#9846)
  • Add apply_layout method to SparsePauliOp (#10947)
  • Fix hash of Parameter and ParameterExpression (#10875)
  • Fix deprecated behaviour in timeline drawer (#10846)
  • Improve the ergonomics of the TranspileLayout class (#10835)
  • Add check_input option to UnitaryGate (#10660)
  • Fix MergeAdjacentBarriers to scale with number of barriers (#10900)
  • Add use_symengine option to qpy.dump (#10820)
  • Update plot_gate_map() family to leverage graphviz for visualization (#10208)
  • #10360 New sign feature in parameterexpression.py (#10571)
  • adding an option to CouplingMap.reduce to allow disconnected coupling maps (#10863)
  • Use singletons for standard library unparameterized, non-controlled gates (#10314)
  • Optimise QuantumCircuit.assign_parameters for single-parameter binding (#10548)
  • Add fast path to Parameter.assign (#10549)
  • Add option to SabreLayout to specify starting layouts (#10721)
  • Allow empty list default initialization for SparsePauliOp (#10765)
  • Add fast-path construction to DAGCircuit methods (#10753)
  • Use BasisTranslator for unroll 3q or more (#10776)
  • Move OpenQASM 2 exporter to qiskit.qasm2 (#10533)
  • Add display of internal circuits for ControlFlowOps to text drawer (#10414)
  • Optimization stage as a plugin. (#10581)
  • constructing cliffords from linear functions and permutation gates (#10423)
  • Adding coupling-map and target to HighLevelSynthesis (#10477)
  • Add draw method to Operator class (#10271)
  • Add tests of Expr support through SabreSwap (#10511)
  • Add full Expr support to StochasticSwap (#10506)
  • limiting matrix-based commutativity check (#10495)
  • Revert "Revert "Pass manager refactoring: add passmanager module (#10124)" (#10454)" (#10474)
  • Add IGate rules to standard equivalence library (#7146)
  • Add NormalizeRXAngle and RXCalibrationBuilder passes (#10634)
  • Preparations to update the default MPL drawer style to "iqx" (#10950)

Changed

  • Pass manager refactoring: cleanup internals (#10127)
  • Deprecate Unroller pass (#10607)
  • Singleton parameterless controlled gates (#10898)
  • Pin Numpy < 2 in requirements (#10893)
  • Update plot_gate_map() family to leverage graphviz for visualization (#10208)
  • Use singletons for standard library unparameterized, non-controlled gates (#10314)
  • Adding h, p and u to basic aer (#10673)
  • qiskit-terra == qiskit, in version libraries (#10425)
  • Keep resets at beginning of circuits (#10591)
  • Migrate init stage to plugins (#10689)
  • Migrate layout stage to plugins (#10622)
  • Cleaning up U3 in the unitary extension (#10597)
  • Update minimum Rust version to 1.64 (#10541)
  • Revert "Revert "Pass manager refactoring: add passmanager module (#10124)" (#10454)" (#10474)

Removed

  • Removed code deprecated in 0.22 [transpiler and providers] (#10872)
  • Removed code deprecated in qiskit-terra 0.21, released on June 2022 (#10754)
  • removed deprecated PauliTable, StabilizerTable and tests (#10815)
  • Remove code deprecated in 0.15 (#10779)
  • Remove deprecated x and z arguments to Pauli (#10717)
  • Removed deprecated functions in qiskit.scheduler.utils (#10879)
  • remove qiskit.utils.deprecation.deprecate_function, deprecated in terra 0.22 (#10881)
  • Remove quantum_info deprecated code in 0.22 (#10861)
  • Remove deprecated code in 0.19 (#10791)
  • Removed code deprecated in 0.20 (#10767)
  • Remove deprecated BIPMapping pass (#10526)
  • Removal of deprecated property num_ancilla_qubits (#10793)

Fixed

  • Fix input normalisation of transpile(initial_layout=...) (#11031)
  • Add base-gate callback to CUGate.params return (#11032)
  • Fix build filter coupling map with mix ideal/physical targets (#11009)
  • schedule() considers instruction map (#10988)
  • Fix commutation analysis to group gates into blocks of pairwise commuting gates (#10618)
  • NoiseAdaptiveLayout to consider inconsistencies in backend (#10859)
  • Use only discrete-basis translations in GateDirection (#10786)
  • Fix qpy for controlled UnitaryGate (#10809)
  • Add global-phase support to control-flow builders (#10800)
  • BackendEstimator support BackendV2 without coupling_map (#10956)
  • Fix hash of Parameter and ParameterExpression (#10875)
  • Fix IQX color schemes (#10941)
  • Support dynamic circuit in BackendEstimator (#9700)
  • Avoid useless deepcopy of target with custom pulse gates in transpile (#10973)
  • Fix bug in qs_decomposition (#10850)
  • Fix issues with ControlFlowOp displays (#10842)
  • Fix Clifford.from_operator to fail with non-Clifford diagonal operators (#10904)
  • Support passing empty lists to Pauli delete method (#10849)
  • fix random statevector distribution (#10866)
  • Allow dynamical decoupling pass to work on circuits with pulse gates (#10834)
  • Fix GateDirection pass (#10825)
  • Fix qpy for multiple controlled parametrized gates (#10758)
  • Track Sabre decay heuristic on physical qubits (#10756)
  • Handle final comments with no terminating newline in OpenQASM 2 (#10773)
  • Support new-style Bit in Pauli convertor from QuantumCircuit (#10757)
  • Add validation to Sampler if there are no measurements (#10642)
  • Fix performance of Sabre rust<->Python boundary (#10652)
  • Fix classical-synthesis label ordering with registerless=False (#9536)
  • Reject bad values in SparsePauliOp.paulis setter (#10437)
  • Fixing the tools for plotting Pauli vec (#10619)
  • Fix open circles and visual circuit tests to .9999 (#10580)
  • Fix multiple nested custom controlled gates in QPY (#10537)
  • Implemented a type check in copy method of QuantumCircuit class (#10521)
  • Force decimal points in OpenQASM 2 floats (#10532)
  • limiting matrix-based commutativity check (#10495)
  • Fix final_layout when VF2PostLayout finds a better layout (#10466)
  • Fix empty-barrier handling in OpenQASM 2 (#10469)
  • Fix Pulse channel index validation (#10476)
  • raise an exception with a custom gate with clbits or no qubits (#10438)

0.25.2.1

7 months ago

Changelog

This is a post release of 0.25.2 the library source code is identical between this release and 0.25.2, it fixes some packaging issues that occurred during the 0.25.2 release.

0.25.2

7 months ago

Changelog

Fixed

  • Fix issues with ControlFlowOp displays (#10842) (#10917)
  • Fix Clifford.from_operator to fail with non-Clifford diagonal operators (#10904) (#10910)
  • Support passing empty lists to Pauli delete method (#10849) (#10896)
  • Allow dynamical decoupling pass to work on circuits with pulse gates (#10834) (#10848)
  • qreg_creg_descending calls deprecated Bit.index (#10843) (#10845)
  • Fix GateDirection pass (#10825) (#10840)
  • Fix qpy for multiple controlled parametrized gates (#10758) (#10795)
  • Handle final comments with no terminating newline in OpenQASM 2 (#10773) (#10778)
  • Support new-style Bit in Pauli convertor from QuantumCircuit (#10757) (#10760)
  • Add validation to Sampler if there are no measurements (#10642) (#10722)

0.25.1

9 months ago

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

Changelog

Fixed

  • Fix performance of Sabre rust<->Python boundary (#10652) (#10659)
  • Fix classical-synthesis label ordering with registerless=False (#9536) (#10647)
  • Reject bad values in SparsePauliOp.paulis setter (#10437) (#10643)
  • Fixing the tools for plotting Pauli vec (#10619) (#10637)
  • Fix open circles and visual circuit tests to .9999 (#10580) (#10609)
  • Force decimal points in OpenQASM 2 floats (#10532) (#10536)

0.25.0

9 months ago

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)

0.25.0rc1

9 months ago

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)

0.24.2

10 months ago

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)