Releases: Qiskit/qiskit
Releases · Qiskit/qiskit
Qiskit 2.2.3
Qiskit 2.2.2
Changelog
Fixed
- Fix qpy.dump failure with gzip write streams in QPY v16 (backward seek unsupported) (#15158) (#15226)
- Raise exception not panic on bad
ConsolidateBlocksinput (#15110) (#15218) - Fix schedule analysis passes with empty circuits (#15147) (#15216)
- Fix qubit mapping in
ConsolidateBlockscontrol-flow blocks (#15083) (#15214) - Fixing inverse methods for MCPhase and MCU1 gates (#15181) (#15211)
- Deepcopy BoxOp bodies when copying circuits (#14918) (#15153)
- Fix textdrawer for controlflow with different regs (#15155) (#15163)
- Fix incorrect mapping of ControlFlow block qargs in
BasisTranslator(#15143) (#15150) - Check target gates are parameterized in optimize1qgatesdecomposition (backport #15131) (#15140)
- Avoid panics in
Optimize1qGatesDecomposition(#15117) (#15119)
Qiskit 1.4.5
Changelog
Fixed
Qiskit 2.2.1
Qiskit 2.2.0
Changelog
Deprecated
- Deprecate Remaining Legacy Circuit Library Classes and Update References (#14511)
Added
- added num_physical_qubits to qasm3_load (#14470)
- Add
qk_obs_apply_layoutto apply layouts toQkObs(#14106) - Improving default HLS synthesis methods for Clifford+T compilation (#14902)
- Add to_pauli and to_pauli_list conversion methods to qubit-sparse pauli classes (#14846)
- Adding PhasedQubitSparsePauli and PhasedQubitSparsePauliList (#14759)
- Allow to specify implicit
defcalsymbols in OpenQASM 3 export (#14800) - Add
QubitSparsePauliList.to_dense_array(#14791) - Create option for measures without arrows in mpl and text circuit drawers (#14601)
- C API: Burn
BasisTranslator(#14874) - Add
QuantumCircuit.ensure_physical(#14779) - C API: Burn
ConsolidateBlocks(#14751) - Add angle bound support to target constraints (#14406)
- Add custom
DAGCircuit.__deepcopy__implementation (#14965) - Add CommutativeCancellation standalone transpiler pass to C API (#14831)
- Add fast-path parameter binding (#14782)
- Transpile C API (#14760)
- C API: Burn
Optimize1qGatesDecomposition. (#14710) - Add UnitarySynthesis transpiler pass to C API (#14740)
- Burn inverse cancellation (#14840)
- Port
ApplyLayoutto Rust (#14904) - Add Split2qUnitaries to C API (#14720)
- Add interoperation between
TranspileLayoutandPropertySet(#14826) - Add SabreLayout to the C API (#14711)
- Add GateDirection and CheckGateDirection to C API (#14768)
- Litinski transform (based on Rustiq) (#14753)
- Add TranspileLayout to the C API (#14780)
- Add C release level + versioning docs (#14576)
- Add Van rentergem modular adder (better CX counts) (#14816)
- Add a new 'ps' variant to
Durationfor picoseconds. (#14588) - Add
RemoveDiagonalGatesBeforeMeasureto the C API (#14731) - Add structural equality check for
DAGCircuit(#14762) - Add
drop_qubitsmethod toPauliLindbladMap(#14868) - Add Python free path to inverse_cancellation (#14803)
- Add support for parameterized gates to the Target C API (#14832)
- Add the MCX synthesis algorithm by Huang and Palsberg (#14666)
- Set base-circuit properties on entry to
PassManager.run(#14825) - Add RemoveIdentityEquiv to the C API (#14717)
- improved QSD synthesis algorithm (#14721)
- Add ElidePermutations standalone function to the C API (#14708)
- Improve MCMT synthesis for
XGatebase gate (#14754) - Add VF2Layout standalone function to the C API (#14668)
- Added circuit start table to the QPY file header (#14571)
- Add minimum QPY version to user config (#14505)
- Add
DAGCircuit.make_physical(#14587)
Changed
- Updated
SparsePauliOp.assign_parametersto cast coefficients to complex once all parameters are bound (#14611) - Bump Faer to latest version and increase MSRV to 1.85 (#14873)
- Make cbindgen map usize to size_t (#14944)
- Set base-circuit properties on entry to
PassManager.run(#14825)
Fixed
- Preserve registers in output TranspileLayout (#15024) (#15025)
- Fix variable remapping of
Delayexpressions inQuantumCircuit.compose(#15020) (#15023) - Fix
VF2PostLayoutwith uncoupled qubits instrict_direction=True(#14998) (#15001) - Fix calls to
VF2PostLayoutafter optimization loop at O3 (#14869) - Un-provide
standard_operationforPyGate(#14978) - Fix global phase handling in
CommutativeCancellation(#14956) - Fix: Memory leakage in
QkCountOpscreation. (#14930) - Fix PauliEvolutionGate.to_matrix to return exact matrix (#14934)
- Fix
TranspileLayout.initial_index_layoutwith unordered virtuals (#14939) - Fix VF2 layout allocation with idle qubits (#14938)
- Compute dense-layout Sabre trial only over virtual qubits (#14604)
- Fix composition of
final_layout(#14919) - Fix non-determinism in
CommutativeCancellation(#14763) - Fix memory leaks in
qk_circuit_get_instruction. (#14884) - Fix QASM3 export of Delay with 'ps' units. (#14895)
- Fix/improve
controlmethod for the gates in the MCX family (#14728) - Read timing constraints from target when no backend is provided (#14405)
- Multi circui new (#14654)
- ObservablesArray fixes: stop over-identification as non-Hermitian, raise for empty observables (#14714)
- Clarify error message in
qpy.dump(#14795) - Fix a bug in
Target::py_instruction_supportedand remove thepytoken parameter (#14765) - Fix IQFT drawing (#14767)
- Fix simplify to sum duplicates before applying tolerance (#14194) (#14425)
- Fix non-determinism VF2Layout with only 1q gates (#14730)
- Fixed a bug where nonequal boxes were considered equal (#14716)
- Fixing problems in
CommutativeInverseCancellationtranspiler pass (#14655) - Restore correct max_trials behaviour for VF2Layout pass (#14667)
- fixing MCXSynthesis1DirtyKG24 and MCXSynthesis2DirtyKG24 plugins (#14670)
- Use Arc instead of Box for internal expression nodes in SymbolExpr (#14660)
- Add missing stacklevel to deprecation warning for 3.9 (#14651)
- Fix sympify() for expressions with vector element .subs() (#14641) (#14642)
- Fixes for dimacs-related boolean expression code (#14636)
- Fix sympify() for expressions with vector element .subs() (#14641)
- Extending rustiq synthesis plugin to work SparseObservables (#14582) (#14628)
- Extending rustiq synthesis plugin to work SparseObservables (#14582)
- Fix classical bit mapping in HLS pass (#14597) (#14625)
- Fix
ElidePermutationspass in the presence ofPermutationGates (#14603) (#14623) - Fix classical bit mapping in HLS pass (#14597)
- Fix
ElidePermutationspass in the presence ofPermutationGates (#14603) - Fix
ApplyLayoutwith empty layout (#14606) (#14613) - Raising an error when an invalid PauliEvolutionGate is constructed (#14585)
- Fix
ApplyLayoutwith empty layout (#14606) - Fix random number generator seed argument for quantum_volume (#14586) (#14592)
- Fix random number generator seed argument for quantum_volume (#14586)
- allows string values in assign_parameters with strict=False (#14365) (#14554)
- allows string values in assign_parameters with strict=False (#14365)
Qiskit 2.2.0rc1
Changelog
Deprecated
- Deprecate Remaining Legacy Circuit Library Classes and Update References (#14511)
Added
- added num_physical_qubits to qasm3_load (#14470)
- Add
qk_obs_apply_layoutto apply layouts toQkObs(#14106) - Add to_pauli and to_pauli_list conversion methods to qubit-sparse pauli classes (#14846)
- Adding PhasedQubitSparsePauli and PhasedQubitSparsePauliList (#14759)
- Allow to specify implicit
defcalsymbols in OpenQASM 3 export (#14800) - Add
QubitSparsePauliList.to_dense_array(#14791) - Create option for measures without arrows in mpl and text circuit drawers (#14601)
- C API: Burn
BasisTranslator(#14874) - Add
QuantumCircuit.ensure_physical(#14779) - C API: Burn
ConsolidateBlocks(#14751) - Add angle bound support to target constraints (#14406)
- Add custom
DAGCircuit.__deepcopy__implementation (#14965) - Add CommutativeCancellation standalone transpiler pass to C API (#14831)
- Add fast-path parameter binding (#14782)
- Transpile C API (#14760)
- C API: Burn
Optimize1qGatesDecomposition. (#14710) - Add UnitarySynthesis transpiler pass to C API (#14740)
- Burn inverse cancellation (#14840)
- Port
ApplyLayoutto Rust (#14904) - Add Split2qUnitaries to C API (#14720)
- Add interoperation between
TranspileLayoutandPropertySet(#14826) - Add SabreLayout to the C API (#14711)
- Add GateDirection and CheckGateDirection to C API (#14768)
- Litinski transform (based on Rustiq) (#14753)
- Add TranspileLayout to the C API (#14780)
- Add C release level + versioning docs (#14576)
- Add Van rentergem modular adder (better CX counts) (#14816)
- Add a new 'ps' variant to
Durationfor picoseconds. (#14588) - Add
RemoveDiagonalGatesBeforeMeasureto the C API (#14731) - Add structural equality check for
DAGCircuit(#14762) - Add
drop_qubitsmethod toPauliLindbladMap(#14868) - Add Python free path to inverse_cancellation (#14803)
- Add support for parameterized gates to the Target C API (#14832)
- Add the MCX synthesis algorithm by Huang and Palsberg (#14666)
- Set base-circuit properties on entry to
PassManager.run(#14825) - Add RemoveIdentityEquiv to the C API (#14717)
- improved QSD synthesis algorithm (#14721)
- Add ElidePermutations standalone function to the C API (#14708)
- Improve MCMT synthesis for
XGatebase gate (#14754) - Add VF2Layout standalone function to the C API (#14668)
- Added circuit start table to the QPY file header (#14571)
- Add minimum QPY version to user config (#14505)
- Add
DAGCircuit.make_physical(#14587)
Changed
- Updated
SparsePauliOp.assign_parametersto cast coefficients to complex once all parameters are bound (#14611) - Bump Faer to latest version and increase MSRV to 1.85 (#14873)
- Make cbindgen map usize to size_t (#14944)
- Set base-circuit properties on entry to
PassManager.run(#14825)
Fixed
- Fix calls to
VF2PostLayoutafter optimization loop at O3 (#14869) - Un-provide
standard_operationforPyGate(#14978) - Fix global phase handling in
CommutativeCancellation(#14956) - Fix: Memory leakage in
QkCountOpscreation. (#14930) - Fix PauliEvolutionGate.to_matrix to return exact matrix (#14934)
- Fix
TranspileLayout.initial_index_layoutwith unordered virtuals (#14939) - Fix VF2 layout allocation with idle qubits (#14938)
- Compute dense-layout Sabre trial only over virtual qubits (#14604)
- Fix composition of
final_layout(#14919) - Fix non-determinism in
CommutativeCancellation(#14763) - Fix memory leaks in
qk_circuit_get_instruction. (#14884) - Fix QASM3 export of Delay with 'ps' units. (#14895)
- Fix/improve
controlmethod for the gates in the MCX family (#14728) - Read timing constraints from target when no backend is provided (#14405)
- Multi circui new (#14654)
- ObservablesArray fixes: stop over-identification as non-Hermitian, raise for empty observables (#14714)
- Clarify error message in
qpy.dump(#14795) - Fix a bug in
Target::py_instruction_supportedand remove thepytoken parameter (#14765) - Fix IQFT drawing (#14767)
- Fix simplify to sum duplicates before applying tolerance (#14194) (#14425)
- Fix non-determinism VF2Layout with only 1q gates (#14730)
- Fixed a bug where nonequal boxes were considered equal (#14716)
- Fixing problems in
CommutativeInverseCancellationtranspiler pass (#14655) - Restore correct max_trials behaviour for VF2Layout pass (#14667)
- fixing MCXSynthesis1DirtyKG24 and MCXSynthesis2DirtyKG24 plugins (#14670)
- Use Arc instead of Box for internal expression nodes in SymbolExpr (#14660)
- Add missing stacklevel to deprecation warning for 3.9 (#14651)
- Fix sympify() for expressions with vector element .subs() (#14641) (#14642)
- Fixes for dimacs-related boolean expression code (#14636)
- Fix sympify() for expressions with vector element .subs() (#14641)
- Extending rustiq synthesis plugin to work SparseObservables (#14582) (#14628)
- Extending rustiq synthesis plugin to work SparseObservables (#14582)
- Fix classical bit mapping in HLS pass (#14597) (#14625)
- Fix
ElidePermutationspass in the presence ofPermutationGates (#14603) (#14623) - Fix classical bit mapping in HLS pass (#14597)
- Fix
ElidePermutationspass in the presence ofPermutationGates (#14603) - Fix
ApplyLayoutwith empty layout (#14606) (#14613) - Raising an error when an invalid PauliEvolutionGate is constructed (#14585)
- Fix
ApplyLayoutwith empty layout (#14606) - Fix random number generator seed argument for quantum_volume (#14586) (#14592)
- Fix random number generator seed argument for quantum_volume (#14586)
- allows string values in assign_parameters with strict=False (#14365) (#14554)
- allows string values in assign_parameters with strict=False (#14365)
Qiskit 2.2.0b1
Changelog
Deprecated
- Deprecate Remaining Legacy Circuit Library Classes and Update References (#14511)
Added
- Transpile C API (#14760)
- C API: Burn
Optimize1qGatesDecomposition. (#14710) - Add UnitarySynthesis transpiler pass to C API (#14740)
- Burn inverse cancellation (#14840)
- Port
ApplyLayoutto Rust (#14904) - Add Split2qUnitaries to C API (#14720)
- Add interoperation between
TranspileLayoutandPropertySet(#14826) - Add SabreLayout to the C API (#14711)
- Add GateDirection and CheckGateDirection to C API (#14768)
- Litinski transform (based on Rustiq) (#14753)
- Add TranspileLayout to the C API (#14780)
- Add C release level + versioning docs (#14576)
- Add a new 'ps' variant to
Durationfor picoseconds. (#14588) - Add
RemoveDiagonalGatesBeforeMeasureto the C API (#14731) - Add structural equality check for
DAGCircuit(#14762) - Add
drop_qubitsmethod toPauliLindbladMap(#14868) - Add Python free path to inverse_cancellation (#14803)
- Add support for parameterized gates to the Target C API (#14832)
- Add the MCX synthesis algorithm by Huang and Palsberg (#14666)
- Set base-circuit properties on entry to
PassManager.run(#14825) - Add RemoveIdentityEquiv to the C API (#14717)
- improved QSD synthesis algorithm (#14721)
- Add ElidePermutations standalone function to the C API (#14708)
- Improve MCMT synthesis for
XGatebase gate (#14754) - Add VF2Layout standalone function to the C API (#14668)
- Added circuit start table to the QPY file header (#14571)
- Add minimum QPY version to user config (#14505)
- Add
DAGCircuit.make_physical(#14587)
Changed
- Bump Faer to latest version and increase MSRV to 1.85 (#14873)
- Make cbindgen map usize to size_t (#14944)
- Set base-circuit properties on entry to
PassManager.run(#14825)
Fixed
- Fix global phase handling in
CommutativeCancellation(#14956) - Fix: Memory leakage in
QkCountOpscreation. (#14930) - Fix PauliEvolutionGate.to_matrix to return exact matrix (#14934)
- Fix
TranspileLayout.initial_index_layoutwith unordered virtuals (#14939) - Fix VF2 layout allocation with idle qubits (#14938)
- Compute dense-layout Sabre trial only over virtual qubits (#14604)
- Fix composition of
final_layout(#14919) - Fix non-determinism in
CommutativeCancellation(#14763) - Fix memory leaks in
qk_circuit_get_instruction. (#14884) - Fix QASM3 export of Delay with 'ps' units. (#14895)
- Fix/improve
controlmethod for the gates in the MCX family (#14728) - Read timing constraints from target when no backend is provided (#14405)
- Multi circui new (#14654)
- ObservablesArray fixes: stop over-identification as non-Hermitian, raise for empty observables (#14714)
- Clarify error message in
qpy.dump(#14795) - Fix a bug in
Target::py_instruction_supportedand remove thepytoken parameter (#14765) - Fix IQFT drawing (#14767)
- Fix simplify to sum duplicates before applying tolerance (#14194) (#14425)
- Fix non-determinism VF2Layout with only 1q gates (#14730)
- Fixed a bug where nonequal boxes were considered equal (#14716)
- Fixing problems in
CommutativeInverseCancellationtranspiler pass (#14655) - Restore correct max_trials behaviour for VF2Layout pass (#14667)
- fixing MCXSynthesis1DirtyKG24 and MCXSynthesis2DirtyKG24 plugins (#14670)
- Use Arc instead of Box for internal expression nodes in SymbolExpr (#14660)
- Add missing stacklevel to deprecation warning for 3.9 (#14651)
- Fix sympify() for expressions with vector element .subs() (#14641) (#14642)
- Fixes for dimacs-related boolean expression code (#14636)
- Fix sympify() for expressions with vector element .subs() (#14641)
- Extending rustiq synthesis plugin to work SparseObservables (#14582) (#14628)
- Extending rustiq synthesis plugin to work SparseObservables (#14582)
- Fix classical bit mapping in HLS pass (#14597) (#14625)
- Fix
ElidePermutationspass in the presence ofPermutationGates (#14603) (#14623) - Fix classical bit mapping in HLS pass (#14597)
- Fix
ElidePermutationspass in the presence ofPermutationGates (#14603) - Fix
ApplyLayoutwith empty layout (#14606) (#14613) - Raising an error when an invalid PauliEvolutionGate is constructed (#14585)
- Fix
ApplyLayoutwith empty layout (#14606) - Fix random number generator seed argument for quantum_volume (#14586) (#14592)
- Fix random number generator seed argument for quantum_volume (#14586)
- allows string values in assign_parameters with strict=False (#14365) (#14554)
- allows string values in assign_parameters with strict=False (#14365)
Qiskit 2.1.2
Changelog
Fixed
- Fix composition of
final_layout(#14919) (#14920) - Read timing constraints from target when no backend is provided (#14405) (#14882)
- Multi circui new (#14654) (#14821)
- Revert "Added VF2PostLayout at the end of optimization stage for level 3 (#14120)" (#14905)
- Fix memory leaks in
qk_circuit_get_instruction. (#14884) (#14906) - Fix QASM3 export of Delay with 'ps' units. (#14895) (#14896)
- Clarify error message in
qpy.dump(#14795) (#14796) - Fix a bug in
Target::py_instruction_supportedand remove thepytoken parameter (#14765) (#14773) - Fix IQFT drawing (#14767) (#14772)
- Fix simplify to sum duplicates before applying tolerance (#14194) (#14425) (#14764)
- Fix non-determinism VF2Layout with only 1q gates (#14730) (#14734)
Qiskit 1.4.4
Changelog
Fixed
- Fix
ApplyLayoutwith empty layout (backport #14606) (#14615) - Fix QASM3 export of Delay with 'ps' units. (backport #14895) (#14897)
- Fix
ElidePermutationspass in the presence ofPermutationGates (#14603) (#14622) - Fix random number generator seed argument for quantum_volume (#14586) (#14590)
- Avoid using rustworkx 0.16.0 methods in vf2_utils (backport #14513) (#14533)
- Fix behavior of HLS plugins after
preserve_order=False(backport #14539) (#14547) - allows string values in assign_parameters with strict=False (#14365) (#14553)
- Fix Sabre rebuild with nested
VarandStretch(backport #14488) (#14493) - Fixed AND terms for OR in
quantum_or.py(backport #14436) (#14477) - Fix more spurious complex parts in circuit functions (#14431) (#14438)
Qiskit 2.1.1
Changelog
Fixed
- Fixed a bug where nonequal boxes were considered equal (#14716) (#14722)
- Restore correct max_trials behaviour for VF2Layout pass (#14667) (#14692)
- Add missing stacklevel to deprecation warning for 3.9 (#14651) (#14658)
- fixing MCXSynthesis1DirtyKG24 and MCXSynthesis2DirtyKG24 plugins (#14670) (#14671)
- Use Arc instead of Box for internal expression nodes in SymbolExpr (#14660) (#14665)