Skip to content

⬆️🐍 Update dependency qiskit to v2 #542

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Apr 12, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
qiskit (changelog) <2 -> <3 age adoption passing confidence

Release Notes

Qiskit/qiskit (qiskit)

v2.0.0: Qiskit 2.0.0

Compare Source

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

Changelog

Deprecated

  • Extend deprecation of QuantumCircuit.duration and DAGCircuit.duration (#​13960)
  • Address BackendV1 deprecation warning oversights (#​13868)
  • The unused parameter dag in DAGNode constructor is deprecated (#​13862)
  • Deprecate convert_to_target (#​12915)
  • Deprecate qiskit.circuit.classicalfunction (#​13786)
  • Deprecate use of BackendProperties (BackendV1) in transpilation pipeline (#​13719)
  • Deprecate NormalizeRXAngle and rzx_templates (#​13883)
  • raise DeprecationWarning for a targetless timeline drawer (#​13601)
  • Deprecate atomic_evolution (#​13603)
  • Deprecation of MCMT in favor of MCMTGate (backport #​13584) (#​13810)
  • Deprecate subclassing of Register and Bit (#​13841)
  • Deprecate BackendV2Converter (#​12840)
  • Deprecation of MCMT in favor of MCMTGate (#​13584)
  • Ensure translation stage always outputs ISA circuits (#​13792)
  • Deprecate BasicSimulator.run_experiment (#​13750)
  • Deprecate DAGNode.sort_key attribute (#​13744)
  • Deprecate show_idle and show_barrier in favor of idle_wires and plot_barriers (#​13602)

Added

  • The parameter idle_wires default flipped to False in all circuit drawers (#​13865)
  • [Stretch] Add stretch variable support to QuantumCircuit. (#​13852)
  • Delegate BasePass.__call__ to PassManager.run (#​13820)
  • Add representation of box (#​13869)
  • Use average gate fidelity in the commutation checker (#​13874)
  • [Stretch] Add +, -, *, / operators for classical expressions. (#​13850)
  • SparseObservable evolution (#​13836)
  • Port HighLevelSynthesis pass to rust (#​13813)
  • Light Cone Transpiler Pass (#​12814)
  • Add SparseObservable.compose (#​13766)
  • [Stretch] Support Float type in classical expressions. (#​13832)
  • C API for SparseObservable (#​13694)
  • [Stretch] Support const classical expressions. (#​13811)
  • Refactor parallelism utilities for public API (#​12412)
  • Single-register arithmetic gates (#​13371)
  • Add ContractIdleWiresInControlFlow optimisation pass (#​13779)
  • Promote linux aarch64 to tier 1 support (#​13737)
  • Remove dependance of BooleanExpression on tweedledum (#​13769)
  • Add default routing stage plugin (#​13802)
  • Add method to compute estimated duration of scheduled circuit (backport #​13783) (#​13881)
  • Add method to compute estimated duration of scheduled circuit (#​13783)
  • Add dt to GenericBackendV2 (#​13830)
  • Better decomposition for multi-controlled 1-qubit gates (#​13801)
  • Add 2q fractional gates to the UnitarySynthesis transpiler pass (#​13568)
  • Add default translation stage plugin (#​13794)
  • Support SparseObservable to SparsePauliOp conversions (#​13758)
  • Add QuantumCircuit.noop for instructionless qubit use (#​13774)
  • Add new get_control_flow_name_mapping function (#​13472)
  • Add option max_block_width to CollectLinearFunctions and CollectClifford passes (#​13661)
  • feat: add method to convert BitArray into boolean array (#​13653)
  • Add option collect_from_back to CollectMultiQBlocks (#​13612)
  • StabilizerState.expectation_value can also accept SparsePauliOp (#​13539)
  • Quantum Multiplexer Simplification (#​13099)

Changed

  • The parameter idle_wires default flipped to False in all circuit drawers (#​13865)
  • Delegate BasePass.__call__ to PassManager.run (#​13820)
  • Use average gate fidelity in the commutation checker (#​13874)
  • Handle an optional symengine and sympy in qpy (#​13917)
  • Port HighLevelSynthesis pass to rust (#​13813)
  • New atomic_evolution signature in ProductFormula subclasses (#​13918)
  • Simplify return type of DAGCircuit::control_flow_op_nodes (#​13892)
  • Remove condition/c_if, duration, and unit from instructions (#​13506)
  • Add default routing stage plugin (#​13802)
  • Remove accidentally-public methods from QuantumCircuit (#​13893)
  • Ignoring unsupported gates for Solovay-Kitaev transpiler pass (#​13690)
  • Change the register name for measure_active to meas (#​13866)
  • Warn on use of property_set kwarg to BasePassManger.run (#​13821)
  • Ensure translation stage always outputs ISA circuits (#​13792)
  • Add default translation stage plugin (#​13794)
  • Add unitary gate representation to rust (#​13759)
  • Have BlueprintCircuit.copy_empty_like return an empty QuantumCircuit (#​13782)
  • Bump MSRV to 1.79 (#​13709)

Removed

  • Update transpiler pipeline to (only) use target internally (#​12850)
  • Remove pulse module files, pulse visualization and final cleanup (#​13872)
  • Remove deprecated BackendV1 elements, including base class, providers.models and qobj modules (#​13793)
  • Remove v1 primitive implementations (#​13877)
  • Remove calibrations APIs and related functionality (#​13861)
  • Remove fake backends based on BackendV1 and related tools (#​13805)
  • Remove Provider ABC (deprecated in 1.1) (#​13435)
  • Remove the classical_function module and all tweedledum-related code (#​13815)
  • Remove pulse support in QPY in 2.0 (#​13814)
  • Remove deprecated stochastic swap transpiler pass (#​13791)
  • The unused parameter dag in DAGNode constructor is removed (#​13863)
  • Remove condition/c_if, duration, and unit from instructions (#​13506)
  • Remove deprecated legacy scheduling passes (#​13876)
  • Remove use of BackendProperties (BackendV1) in transpiler pipeline (#​13722)
  • Remove pulse from GenericBackendV2 (#​13829)
  • Remove pulse-related passes (#​13798)
  • Remove assemble and assembler module (#​13748)
  • Remove use of deprecated objects in BasicSimulator (#​13743)
  • Remove sort_key attribute from DAGNode (#​13736)
  • Drop support for 32bit x86 linux and windows (#​13650)
  • Remove CXCancellation (deprecated in 1.1) (#​13426)
  • Remove deprecate_function and deprecate_arguments decorators (deprecated in 0.24) (#​13448)

Fixed

  • Fix qpy for MCMTGate (#​14096) (#​14118)
  • Consistent sparse list format in sparse operators (#​14067) (#​14110)
  • Fix ignored errors/durations in generate_preset_pass_manager if dt is set (#​14065) (#​14098)
  • Fix global phase update in BasisTranslator Pass (backport #​14078) (#​14092)
  • Fixes to various graphs in the docs (#​14055) (#​14076)
  • Fix deepcopy/pickle of DAGCircuit variable IO nodes (backport #​14041) (#​14044)
  • Introduce custom sympy srepr parser [stable/2.0] (#​14023)
  • Introduce custom sympy srepr parser [stable/1.4] (#​14022)
  • Preserve bit locations through pickle (backport #​13980) (#​14011)
  • Fix string and standard gate mismatch in commutation checker (backport #​13991) (#​14004)
  • Preserve bit locations through pickle (#​13981)
  • fix missing inverse definitions in generate_basis_approximations (#​13517) (#​13964)
  • fix missing inverse definitions in generate_basis_approximations (#​13517)
  • Delegate BasePass.__call__ to PassManager.run (#​13820)
  • Use average gate fidelity in the commutation checker (#​13874)
  • Add 2q fractional gates to the ConsolidateBlocks transpiler pass (#​13884)
  • Fix qpy serialization of substitution of type ParameterExpression (backport #​13890) (#​13943)
  • Fix qpy serialization of substitution of type ParameterExpression (#​13890)
  • Circuits with control flow now raise a proper error when circuit_to_instruction is called (#​13921)
  • Propagate DAGCircuit.name in ApplyLayout (#​13910) (#​13920)
  • Propagate DAGCircuit.name in ApplyLayout (#​13910)
  • Fixing definition method for PyGate and PyInstruction (#​13777)
  • Applying a slight perturbation for ill-conditioned matrices (#​13882) (#​13889)
  • Applying a slight perturbation for ill-conditioned matrices (#​13882)
  • Fix incorrect stop time bug #​8729 (#​11097) (#​13843)
  • Fix incorrect stop time bug #​8729 (#​11097)
  • Fix tracking of routing permutation in Sabre with disjoint backends (#​13833) (#​13835)
  • Fix tracking of routing permutation in Sabre with disjoint backends (#​13833)
  • Consider unit in Delay comparisons (#​13816) (#​13827)
  • Consider unit in Delay comparisons (#​13816)
  • Do not contract control-flow operations during SabreSwap (#​13790)
  • Correctly updating global phase when removing gates that are identity up to a global phase (backport #​13785) (#​13825)
  • Correctly updating global phase when removing gates that are identity up to a global phase (#​13785)
  • Fix CommutationChecker for 2q Pauli rotations (#​13762) (#​13804)
  • Fix CommutationChecker for 2q Pauli rotations (#​13762)
  • Fix barrier label position when bits are reversed (#​13780) (#​13789)
  • Fix barrier label position when bits are reversed (#​13780)
  • Fix random_clifford (#​13606) (#​13710)
  • Fix 4-pi periodicity of controlled rotations in the CommutationChecker (#​13670) (#​13676)
  • More conservative caching in the CommutationChecker (#​13600) (#​13677)
  • Fix 4-pi periodicity of controlled rotations in the CommutationChecker (#​13670)
  • Fix an error in qasm3 exporter when operating on unitary gates (#​13633) (#​13663)
  • Fix an error in qasm3 exporter when operating on unitary gates (#​13633)
  • Fix PauliEvolutionGate (using product formulas) for all-identity Pauli terms (#​13634) (#​13658)
  • Fix PauliEvolutionGate (using product formulas) for all-identity Pauli terms (#​13634)
  • Fix UnitarySynthesis pass bug when target contains global gates (#​13651) (#​13656)
  • Fix Target.instruction_supported when target.num_qubits == None (#​13655) (#​13657)
  • Fix Target.instruction_supported when target.num_qubits == None (#​13655)
  • Fix UnitarySynthesis pass bug when target contains global gates (#​13651)
  • fix the 0 complex part (#​13643) (#​13646)
  • fix the 0 complex part (#​13643)
  • Fix phase of pauli_list.insert(..., qubit=True) for length-1 pauli_list (#​13624) (#​13637)
  • Fix phase of pauli_list.insert(..., qubit=True) for length-1 pauli_list (#​13624)
  • Allow mcrx, mcry and mcrz gate methods to accept angles of ParameterValueType (#​13507)
  • More conservative caching in the CommutationChecker (#​13600)
  • Fix UnitarySynthesis for 3+ qubits when compiled for a backend (#​13591) (#​13619)
  • Only apply MCMT plugin on MCMTGate (#​13596) (#​13618)
  • Fix UnitarySynthesis for 3+ qubits when compiled for a backend (#​13591)
  • Only apply MCMT plugin on MCMTGate (#​13596)
  • Fix random_clifford (#​13606)
  • Fix SparsePauliOp initialization with dense Y labels (#​13580) (#​13611)
  • Fix SparsePauliOp initialization with dense Y labels (#​13580)
  • Fix behavior of n_local calling circuits for num_qubits=1 (#​13523) (#​13575)
  • Fix behavior of n_local calling circuits for num_qubits=1 (#​13523)
  • Check for gate parameter (#​12439)
  • Discard cache for standard gates in assign_parameters (#​13557) (#​13559)
  • Discard cache for standard gates in assign_parameters (#​13557)
  • Fix .decompose on control flow (#​13545) (#​13549)
  • Fix .decompose on control flow (#​13545)
  • Fix registering global_phase parameters when creating CircuitData (#​13538) (#​13541)
  • Fix registering global_phase parameters when creating CircuitData (#​13538)
  • Do not unroll gates in basis in add_control (#​13475) (#​13528)
  • Do not unroll gates in basis in add_control (#​13475)
  • Fix InverseCancellation to run in classical blocks (#​13454) (#​13496)
  • Fix InverseCancellation to run in classical blocks (#​13454)
  • Fix parameter handling for NLocal(..., flatten=True) and standard gates (#​13482) (#​13495)
  • Fix parameter handling for NLocal(..., flatten=True) and standard gates (#​13482)
  • HLS fix to not synthesize instructions already supported (#​13417) (#​13441)
  • Fix process-based non-determinism in SparsePauliOp.to_matrix (#​13439) (#​13440)
  • Fix the calculation for identity operator's expectation value (#​13345) (#​13436)
  • HLS fix to not synthesize instructions already supported (#​13417)
  • Fix process-based non-determinism in SparsePauliOp.to_matrix (#​13439)
  • Fix the calculation for identity operator's expectation value (#​13345)

Configuration

📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Apr 12, 2025
@github-project-automation github-project-automation bot moved this to In Progress in MQT Simulation Apr 12, 2025
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@renovate renovate bot force-pushed the renovate/qiskit-2.x branch from f1c802a to 8b56976 Compare April 28, 2025 07:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file python Pull requests that update Python code
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

0 participants