Skip to content

Releases: Qiskit/qiskit

Qiskit 1.0.0

15 Feb 20:42
1.0.0
21b11b9
Compare
Choose a tag to compare

Release notes: https://docs.quantum.ibm.com/api/qiskit/release-notes/1.0

Changelog

Added

  • Add generic V1 Fake Backends, replace use in tests (#10952)
  • Native OpenQASM 3 importer (#11584)
  • Support stabilised syntax for OpenQASM 3 switch (#11417)
  • Library of Unparameterizable Standard Gates Commutations (#11192)
  • Add version flag to qpy dump (#11644)
  • Rename BasicAer to BasicProvider and refactor interface to follow BackendV2 (#11422)
  • Token swapper permutation synthesis plugin (#10657)
  • Add reference implementation of EstimatorV2 (#11227)
  • Add fake generic and modify tests (#10266)
  • Add uuid property to Parameter (#11647)
  • Extend CommutativeInverseCancellation to cancel pairs of gates up-to-phase (#11248)
  • Add circuit generation from set of stabilizers (#11483)
  • Use "tensorised-Pauli decomposition" in SparsePauliOp.from_operator (#11133)
  • Warn on import failures within optional dependencies (#11522)
  • Allow string keys in QuantumCircuit.assign_parameters (#11432)
  • Add QuantumCircuit.get_parameter to retrieve by name (#11431)
  • use faster aqc objective function evaluation by default (#11479)
  • Add qpy deprecation warning class (#11260)
  • Add ParameterExpression.numeric to cast to number (#11109)
  • Document how to use high level synthesis plugins (#11389)
  • QFT circuit synthesis for linear nearest neighbor connectivity (#11236)
  • 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)
  • Update gate.inverse() to return AnnotatedOperation (#11593)
  • Fix qpy support for Annotated Operations (#11505)
  • Update gate.control() to return AnnotatedOperation (#11433)
  • Introduction of ExperimentalWarning (#11326)
  • New OptimizeAnnotated transpiler pass (#11476)
  • Reimplement two_qubit_decompose.num_basis_gates in rust (#11019)
  • Add a kwarg for num_processes in the transpiler (#11554)
  • Supporting floating-point exponents in Operator.power (#11534)
  • Add Statevector-based SamplerV2 (#11566)
  • Add BaseEstimatorV2 (#11527)
  • Add BaseSamplerV2 (#11529)
  • List support for coupling map in pass manager (#11063)
  • Add disable_validation option to SymbolicPulse (#11029)

Changed

  • Fix approximation_degree default in generate_preset_pass_maanger (#11695)
  • Handle custom operations with overlapping names in QPY (#11646)
  • Legacy code removal in pass manager (#11448)
  • Bump MSRV to 1.70 (#11493)
  • Replace qiskit metapackage with qiskit-terra (#11271)
  • Update platform support and require symengine (#10902)

Removed

  • Remove provider-specific fake backends,FakeProvider class and related tools in 1.0 (#11376)
  • Effect final removals from Qiskit 1.0 (#11711)
  • Remove deprecated features in 0.46 in primitives (#11576)
  • Remove pulse scoped_parameters and search_parameters (#11692)
  • Rename BasicAer to BasicProvider and refactor interface to follow BackendV2 (#11422)
  • Remove deprecated functions in pulse qobj converter (#11410)
  • Remove deprecated feature in 0.45 in unroller (#11581)
  • Remove visualization code deprecated in 0.22 (released on October 13, 2022) (#10989)
  • Remove qiskit.quantum_info.synthesis for Qiskit 1.0 release (#11592)
  • Remove qiskit.transpiler.synthesis for Qiskit 1.0 release (#11570)
  • Remove execute() function (#11565)
  • Remove deprecated features in 0.45 in quantumcircuit (#11577)
  • Deprecate qiskit/quantum_info/synthesis and move to qiskit/synthesis (#11460)
  • Remove psutil as a dependency (#11336)
  • Remove Aer and imports from qiskit.providers.aer (#11442)
  • Remove qiskit.extensions (#11488)
  • remove PauliList support as observable type for Estimator.run (#11521)
  • Remove ConfigurableFakeBackend (#11568)
  • Removed Deprecated Pulse Call Instruction (#11537)
  • remove deprecated clifford get/set item (#11555)
  • Remove most of qiskit.test (#11445)
  • Make iqp the matplotlib default style (#11536)
  • remove deprecated aquire alignment (#11553)
  • Removed Deprecated Instruction.qasm Function (#11538)
  • Remove qiskit.tools module (#11515)
  • Removed Deprecated VF2 Call Limit (#11540)
  • Remove deprecated IBMQ dependent functionality (#11513)
  • Legacy code removal in pass manager (#11448)
  • Remove deprecated top-level classicalfunction imports (#11486)
  • Remove QuantumCircuit.bind_parameters (#11434)
  • Remove Bit.register and Bit.index (#10996)
  • add release note (#11395)
  • Remove NoiseAdaptiveLayout and CrosstalkAdaptiveSchedule (#11400)
  • Remove deprecated legacy pulse builder commands (#11191)
  • Remove deprecated ParametricPulse classes (#11024)
  • 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)
  • Remove qiskit.test (#10998)
  • Remove complex amp support for ScalableSymbolicPulse (#11403)
  • Remove validation methods from primitive base classes (#11052)

Fixed

  • bug loading MPL style from the configuration (#11750)
  • Fix qpy.dump()'s use_symengine when passed a truthy object (#11730)
  • use pulse_alignment from Target in PadDynamicalDecoupling (#11660)
  • Handle custom operations with overlapping names in QPY (#11646)
  • Fix split barriers leaking during disjoint layout processing (#11655)
  • Fix SetLayout to error with invalid int list input (#11653)
  • Backend converter bugfix (edge case) (#11609)
  • Followup of #11095 (#11404)
  • Restrict version-number output of OpenQASM 3 exporter (#11418)
  • Fix qpy support for Cliffords (#11495)
  • Fix a bug of missing pulse library entry in PulseQobj parsing (#11397)
  • Fix broadcasting of QuantumCircuit.delay (#11447)
  • Detect duplicates in QuantumCircuit.compose (#11451)
  • Construct subclasses of InstructionDurations from backend (#11501)
  • Fix global-phase of copied BlueprintCircuits (#11456)
  • Fix text overwriting end of box for empty default case in mpl drawer (#11366)
  • Add drawer support for AnnotatedOperations (#11202)
  • Ensure TemplateOptimization returns native-symbolic objects (#11107)
  • Add missing parameter in standard-gate mapping (#11411)
  • Fix a bug is StabilizerState repr (#11368)
  • Fixed bug in OptimizeSwapBeforeMeasure (#11413)
  • Raise error eagerly on bad unitary synthesis method (#11367)
  • 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 text drawer AnnotatedOperations (#11466)
  • Fix Sabre extended set population order (#10651)

Qiskit 1.0.0rc1

02 Feb 00:45
1.0.0rc1
84f0d9b
Compare
Choose a tag to compare
Qiskit 1.0.0rc1 Pre-release
Pre-release

Changelog

Added

  • Add generic V1 Fake Backends, replace use in tests (#10952)
  • Native OpenQASM 3 importer (#11584)
  • Support stabilised syntax for OpenQASM 3 switch (#11417)
  • Library of Unparameterizable Standard Gates Commutations (#11192)
  • Add version flag to qpy dump (#11644)
  • Rename BasicAer to BasicProvider and refactor interface to follow BackendV2 (#11422)
  • Token swapper permutation synthesis plugin (#10657)
  • Add reference implementation of EstimatorV2 (#11227)
  • Add fake generic and modify tests (#10266)
  • Add uuid property to Parameter (#11647)
  • Extend CommutativeInverseCancellation to cancel pairs of gates up-to-phase (#11248)
  • Add circuit generation from set of stabilizers (#11483)
  • Use "tensorised-Pauli decomposition" in SparsePauliOp.from_operator (#11133)
  • Warn on import failures within optional dependencies (#11522)
  • Allow string keys in QuantumCircuit.assign_parameters (#11432)
  • Add QuantumCircuit.get_parameter to retrieve by name (#11431)
  • use faster aqc objective function evaluation by default (#11479)
  • Add qpy deprecation warning class (#11260)
  • Add ParameterExpression.numeric to cast to number (#11109)
  • Document how to use high level synthesis plugins (#11389)
  • QFT circuit synthesis for linear nearest neighbor connectivity (#11236)
  • 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 Statevector-based SamplerV2 (#11566)
  • Add BaseEstimatorV2 (#11527)
  • Add BaseSamplerV2 (#11529)
  • Add BasePrimitiveJob class and deprecate PrimitiveJob.submit method (#11552)
  • Add V2 primitive container classes (#11524)
  • Add primitives.containers.BitArray container class (#11542)
  • Add disable_validation option to SymbolicPulse (#11029)
  • Supporting floating-point exponents in Operator.power (#11534)
  • Update gate.inverse() to return AnnotatedOperation (#11593)
  • Add a kwarg for num_processes in the transpiler (#11554)
  • Introduction of ExperimentalWarning (#11326)
  • New OptimizeAnnotated transpiler pass (#11476)
  • Reimplement two_qubit_decompose.num_basis_gates in rust (#11019)
  • Update gate.control() to return AnnotatedOperation (#11433)

Changed

  • Fix approximation_degree default in generate_preset_pass_maanger (#11695)
  • Handle custom operations with overlapping names in QPY (#11646)
  • Legacy code removal in pass manager (#11448)
  • Bump MSRV to 1.70 (#11493)
  • Replace qiskit metapackage with qiskit-terra (#11271)
  • Update platform support and require symengine (#10902)

Removed

  • Remove provider-specific fake backends,FakeProvider class and related tools in 1.0 (#11376)
  • Effect final removals from Qiskit 1.0 (#11711)
  • Remove deprecated features in 0.46 in primitives (#11576)
  • Remove pulse scoped_parameters and search_parameters (#11692)
  • Rename BasicAer to BasicProvider and refactor interface to follow BackendV2 (#11422)
  • Remove deprecated functions in pulse qobj converter (#11410)
  • Remove deprecated feature in 0.45 in unroller (#11581)
  • Remove visualization code deprecated in 0.22 (released on October 13, 2022) (#10989)
  • Remove qiskit.quantum_info.synthesis for Qiskit 1.0 release (#11592)
  • Remove qiskit.transpiler.synthesis for Qiskit 1.0 release (#11570)
  • Remove execute() function (#11565)
  • Remove deprecated features in 0.45 in quantumcircuit (#11577)
  • Deprecate qiskit/quantum_info/synthesis and move to qiskit/synthesis (#11460)
  • Remove psutil as a dependency (#11336)
  • Remove Aer and imports from qiskit.providers.aer (#11442)
  • Remove qiskit.extensions (#11488)
  • remove PauliList support as observable type for Estimator.run (#11521)
  • Remove ConfigurableFakeBackend (#11568)
  • Removed Deprecated Pulse Call Instruction (#11537)
  • remove deprecated clifford get/set item (#11555)
  • Remove most of qiskit.test (#11445)
  • Make iqp the matplotlib default style (#11536)
  • remove deprecated aquire alignment (#11553)
  • Removed Deprecated Instruction.qasm Function (#11538)
  • Remove qiskit.tools module (#11515)
  • Removed Deprecated VF2 Call Limit (#11540)
  • Remove deprecated IBMQ dependent functionality (#11513)
  • Legacy code removal in pass manager (#11448)
  • Remove deprecated top-level classicalfunction imports (#11486)
  • Remove QuantumCircuit.bind_parameters (#11434)
  • Remove Bit.register and Bit.index (#10996)
  • add release note (#11395)
  • Remove NoiseAdaptiveLayout and CrosstalkAdaptiveSchedule (#11400)
  • Remove deprecated legacy pulse builder commands (#11191)
  • Remove deprecated ParametricPulse classes (#11024)
  • 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)
  • Remove complex amp support for ScalableSymbolicPulse (#11403)
  • Remove qiskit.test (#10998)

Fixed

  • use pulse_alignment from Target in PadDynamicalDecoupling (#11660)
  • Handle custom operations with overlapping names in QPY (#11646)
  • Fix split barriers leaking during disjoint layout processing (#11655)
  • Fix SetLayout to error with invalid int list input (#11653)
  • Backend converter bugfix (edge case) (#11609)
  • Followup of #11095 (#11404)
  • Restrict version-number output of OpenQASM 3 exporter (#11418)
  • Fix qpy support for Cliffords (#11495)
  • Fix a bug of missing pulse library entry in PulseQobj parsing (#11397)
  • Fix broadcasting of QuantumCircuit.delay (#11447)
  • Detect duplicates in QuantumCircuit.compose (#11451)
  • Construct subclasses of InstructionDurations from backend (#11501)
  • Fix global-phase of copied BlueprintCircuits (#11456)
  • Fix text overwriting end of box for empty default case in mpl drawer (#11366)
  • Add drawer support for AnnotatedOperations (#11202)
  • Ensure TemplateOptimization returns native-symbolic objects (#11107)
  • Add missing parameter in standard-gate mapping (#11411)
  • Fix a bug is StabilizerState repr (#11368)
  • Fixed bug in OptimizeSwapBeforeMeasure (#11413)
  • Raise error eagerly on bad unitary synthesis method (#11367)
  • 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 text drawer AnnotatedOperations (#11466)
  • Fix qpy support for Annotated Operations (#11505)
  • Fix mypy errors (pulse) (#8268)
  • Fix Sabre extended set population order (#10651)

Qiskit 0.46.0

01 Feb 20:26
0.46.0
9aa4888
Compare
Choose a tag to compare

Release notes: https://docs.quantum.ibm.com/api/qiskit/release-notes/0.46

Changelog

Deprecated

  • Remove validation methods from primitive base classes (backport #11052) (#11532)
  • Deprecate visualization code (#11636)
  • Deprecate pulse parameter scoping (#11691)
  • Legacy code deprecation in pass manager (#11449)
  • Deprecate NoiseAdaptiveLayout and CrosstalkAdaptiveSchedule (#11402)
  • Deprecate qiskit.tools (#11514)
  • Deprecate provider-specific fake backends,FakeProvider class and related tools in 0.46 (#11381)
  • Add warning when qiskit package not installed (#11230)
  • Deprecate BasicAer and introduce BasicProvider (#11583)
  • Deprecate qiskit/quantum_info/synthesis and move to qiskit/synthesis (backport #11460) (#11635)
  • Deprecate qiskit/transpiler/synthesis and move to qiskit/synthesis (backport #11426) (#11624)
  • Deprecate PauliList estimator observables (#11520)
  • Deprecate ConfigurableFakeBackend (#11567)
  • Deprecate execute() (#11044)
  • deprecate qiskit.test (#11001)
  • Deprecate qiskit.Aer and qiskit.providers.aer (#11439)
  • Deprecate implicit Estimator conversion to SparsePauliOp (#11535)
  • Deprecate legacy qcstyle (#11545)
  • Deprecate BasePrimitiveResult (#11054)
  • Deprecate extensions on stable/0.46 (#11498)
  • Deprecate legacy qasm2 parser for 0.46 (#11347)
  • Deprecate Qobj input to UnitarySimulatorPy.run (#11394)
  • deprecate legacy pulse builder command (#11249)
  • Deprecate leftover algorithm/opflow utils (#11323)
  • Deprecate ParametricPulse (#11279)
  • Deprecate the discrete pulse library (#11110) (#11265)

Added

  • Add fake generic and modify tests (backport #10266) (#11670)
  • Deprecate BasicAer and introduce BasicProvider (#11583)
  • Deprecate qiskit/quantum_info/synthesis and move to qiskit/synthesis (backport #11460) (#11635)
  • Add support for Python 3.12 (#11262) (#11311)

Changed

  • Poison import if Qiskit 1.0+ is detected (#11617)
  • Add warning when qiskit package not installed (#11230)

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