Skip to content

Releases: Qiskit/qiskit

Qiskit 0.45.3

01 Feb 00:42
0.45.3
9354807
Compare
Choose a tag to compare

Changelog

Changed

  • Poison import if Qiskit 1.0+ is detected (#11617)

Qiskit 0.45.2

18 Jan 21:07
0ab44e3
Compare
Choose a tag to compare

Changelog

Fixed

  • Fix qpy support for Cliffords (#11495) (#11582)
  • Fix a bug of missing pulse library entry in PulseQobj parsing (backport #11397) (#11573)
  • Fix broadcasting of QuantumCircuit.delay (#11447) (#11523)
  • Fix global-phase of copied BlueprintCircuits (#11456) (#11485)
  • Fix text overwriting end of box for empty default case in mpl drawer (#11366) (#11482)
  • Fix a bug is StabilizerState repr (#11368) (#11416)
  • Fixed bug in OptimizeSwapBeforeMeasure (#11413) (#11415)
  • Don't substitute ideal gates in target with Optimize1qGatesDecomposition (#11351) (#11359)

Qiskit 1.0.0b1

01 Dec 21:44
1.0.0b1
fa31085
Compare
Choose a tag to compare
Qiskit 1.0.0b1 Pre-release
Pre-release

Changelog

Deprecated

  • Deprecate PauliList estimator observables (#11055)
  • Remove validation methods from primitive base classes (#11052)
  • Deprecate legacy primitive attributes in base classes (#11051)
  • Deprecate the discrete pulse library (#11110)

Added

  • Ensure QuantumCircuit.append validates captures in control-flow (#10974)
  • Decomposition of single R gate in RR basis should be one R gate, not two (#11304)
  • Add pow as supported operation for ParameterExpression (#11235)
  • Add representation of storage-owning Var nodes (#10944)
  • Add support for Python 3.12 (#11262)
  • Add pass to filter ops and label inserted barriers (#10323)
  • Oxidize QuantumCircuit._data and intern CircuitInstruction args (#10827)
  • Fixed Issue 11026: SparsePauliOp.apply_layout should do nothing if given None (#11041)
  • Add new transpiler exception class for too many qubits (#11241)
  • Singletonized Measure and Reset instructions (#11170)
  • Improved Documentation and Error-Signaling of VF2PostLayout (#11090)
  • Update and expand DAGDependency drawer (#11103)
  • List support for coupling map in pass manager (#11063)
  • Add disable_validation option to SymbolicPulse (#11029)
  • Track runtime variables in control-flow builders (#10977)

Changed

  • Replace qiskit metapackage with qiskit-terra (#11271)
  • Update platform support and require symengine (#10902)

Removed

  • Remove legacy qasm2 parser (#11308)
  • Remove leftover algorithm/opflow utils (#11324)
  • Remove alg_globals and validation (#11252)
  • Remove deprecated opflow module, QuantumInstance and related utils (#11111)
  • Remove qiskit_version (deprecated in Qiskit Terra 0.25) (#11305)
  • Remove deprecated IntegerComparator.num_ancilla_qubits (#11306)
  • Fixed issue 11143 by removing deprecated code (#11159)
  • removed the deprecated code since 0.23 (qiskit.visualization.pulse) (#11213)
  • Remove the discrete pulse library (#11277)
  • Remove deprecated qiskit.algorithms module (#11086)
  • Remove namespace packaging hooks (#11223)
  • Expire deprecation on qargs=None in DAG appends (#11190)

Fixed

  • Don't substitute ideal gates in target with Optimize1qGatesDecomposition (#11351)
  • Update Instruction.condition_bits for runtime classical expressions (#11325)
  • Avoid routing 2q barriers in SabreSwap (#11295)
  • Fix backend_util.py and test cases to support Aer 0.13 (#11172)
  • Fix issue with ScheduleBlock qpy serialization and use_symengine (#11261)
  • Allow correct retrieval of circuit with initialize instruction from qpy file (#11206)
  • Fix QuantumCircuit.barrier argument conversion (#11272)
  • Do not ignore global phases when comparing unitary gates (#11247)
  • Fix pickling of conditioned custom gates from OpenQASM 2 import (#11175)
  • Fix Channel.__hash__ in multiprocessing contexts (#11251)
  • Speed up InverseCancellation when there's nothing to cancel (#11211)
  • Allow barriers in overlap circuit inputs (#11179)
  • Removed 2pi wrapping for global phase parameter (#10631)
  • Fix circuit drawer returning qubit[register] names for input (#11096)
  • Fix build ordering of BlueprintCircuit._append (#11181)
  • Collect classical registers using a set (#10496) (#10505)
  • Fix lack of alternative for Optimizer in AQC (#11099)
  • Emit a descriptive error when the QPY version is too new (#11074)
  • Plot State City Visualization Fixes (#10590)
  • Fix Barrier broadcast arguments (#11113)
  • Fix calling backend.name() for backendV2 (#11065)
  • Fix Sabre extended set population order (#10651)

Qiskit 0.45.1

29 Nov 17:00
0.45.1
58f8d24
Compare
Choose a tag to compare

Changelog

Added

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)

Qiskit 0.45.0

03 Nov 13:08
0.45.0
33ed163
Compare
Choose a tag to compare

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)

Qiskit 0.25.3

25 Oct 19:17
0.25.3
8fe47fb
Compare
Choose a tag to compare

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)

Qiskit 0.45.0rc1

19 Oct 21:38
0.45.0rc1
fd5399b
Compare
Choose a tag to compare
Qiskit 0.45.0rc1 Pre-release
Pre-release

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)

Qiskit 0.25.2.1

04 Oct 13:07
0.25.2.1
10e00c9
Compare
Choose a tag to compare

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.

Qiskit 0.25.2

02 Oct 19:06
cfc697b
Compare
Choose a tag to compare

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)

Qiskit Terra 0.25.1

17 Aug 21:27
0.25.1
39b0cb8
Compare
Choose a tag to compare

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)