Releases: Qiskit/qiskit
Releases · Qiskit/qiskit
Release list
Qiskit 2.5.2
Changelog
Fixed
- Sum VF2Layout average errors in a deterministic order (#16732) (#16761)
- Fix add/sub optimizations including the same symbols (backport #16752) (#16759)
- Reimplement SymbolExpr::eval to be iterative (backport #16756) (#16758)
- dagcircuit: transfer DAG-level variables in
substitute_node_with_dag(#15542) (#16744) - Fix memory leak in Suzuki-Trotter synthesis (#16687) (#16739)
- Fix OptimizeCliffordT producing non-unitarily-equivalent output when basis excludes sx/sxdg (#16729) (#16735)
- Parameter expression bugfixes (backport #16283) (#16714)
- Update to
rsgridsynth0.2.2 (backport #16685) (#16711) - Fix potential panic in DAGCircuit.depth by bumping rustworkx-core to 0.18.1 (#16686) (#16715)
- Preserve StatePreparation width in inverse (#16431) (#16681)
- Fix circuit drawing layer overlaps inside of ControlFlowOps (#16639) (#16659)
- Fix non-determinism in
DAGCircuit::remove_qubits(#16656) (#16658)
Qiskit 2.5.1
Changelog
Fixed
- Fix serial_layers global phase copying (#16362) (#16647)
- Fix transpiler error message with routing_pass when layout_trials or swap_trials is set (#16637) (#16644)
- Fix deadlock in Optimize1qGatesDecomposition (#16592) (#16645)
- Clarify error message about gate missing from WrapAngleRegistry (#16633) (#16635)
- Fix
sxresynthesis of negative angles inCommutativeCancellation(#16599) (#16615) - Fix tautological boolean oracle synthesis (#16530) (#16543)
Qiskit 2.5.0
Changelog
Added
- A multi-IR staged pass manager (#16418)
- Allow 32-bit registers in
classical.exprsystem (#16449) - Add C API for inspecting control flow instructions (#16179)
- Add register query functions to the C API (#16177)
- Var-based measurement experiments (#16273)
- Add C API for inspecting classical expressions (#16178)
- Use
GateCountoverDepthin Clifford+T pipeline (#16218) - Add QuantumCircuit method to compute estimated fidelity (#16292)
- Add C API for two qubit unitary peephole optimization pass (#16088)
- Extend litinski transformation for all Pauli rotations (#15974)
- Add additional Z and X rotation gate handling to CommutativeCancellation (#16191)
- Add PBC transpilation pipeline (#16270)
- Add Custom Gates/Instructions in Rust (#15684)
- Add
QubitSparsePauliList.commutes(#16194) - extend ConvertToPauliProductRotations to PPRs and PPMs (#16306)
- Expose
qk_{circuit, dag}_global_phasein the C API (#16278) - Add
generate_clifford_t_pass_manager(#15918) - Make
uuidpublic onParameterVector(#16216) - Add DAG-based variant of BasisTranslator transpiler pass in C API (#15783)
- Add new multithreaded TwoQubitPeepholeOptimization pass (#13419)
- Improve single-qubit gate count in
TwoQubitControlledUDecomposer(#16123) - Track
PauliLindbladMapgenerators duringparity_sample(#16072) - Add auto-generated
ctypesbindings to C API (#16067) - make plot_bloch_vector accept tuple input (#16103)
- Improve commutation checking of Pauli product rotations and measurements (#15815)
- Add option to set the seed_transpiler from environment (#16001)
- Enable
try_matrix& friends for PPR and PPM (#16011) - Add control flow support to ConvertToPauliRotations (#15941)
- Convert Sabre's
lookaheadto layer-based tracking (#14911) - Support commutation check between Pauli-based gates and standard gates (After reverting #15488) (#15925)
- Extend
RemoveIdentityEquivalentandCommutativeOptimizationwithPauliProductRotations(#15810) - Support commutation check between Pauli-based gates and standard gates (#15488)
- Support phase gates in
LitinskiTransformation(#15773)
Fixed
- Fix OverflowError in QuantumCircuit.for_loop for negative integers in list indexset (#16432) (#16525)
- Fix
Initialize.gates_to_uncomputefor integer inputs (#16492) (#16519) - Fix qasm3 experimental exporter delay units for ms and ps (#16233) (#16477)
- Fix incorrect global phase shift for P and U1 gates in CommutativeCancellation (#16402) (#16509)
- Add duration for reset to GenericBackendV2 (#16442)
- Fixes #16166: Preserve global_phase in dagdependency_to_circuit (#16323)
- Have
SynthesizeRZRotationsclearrsgridsynthglobal caches (#16392) - Correctly combining control modifiers in OptimizeAnnotated (#16428)
- Fix stack-overflow segfault in OpenQASM 2 expression parsers (#16421)
- Fix MultiplierGate truncated result decomposition (#16394)
- Fix
CommutationCheckerfor controlled rotation gates (#16337) - Fix BitArray bitcount padding handling (#16309)
- Fix determinism in
ConsolidateBlocks(#16237) - Fix redundant unit numerator in pi_check pi fractions (#16175)
- Remove QPY warning on deserialising incomplete
ParameterVectors (#16222) - Fix composing virtual permutation layouts for
ElidePermutationsandStarPreRouting(#13945) - QPY: Pauli Product Measurement/Rotation parameter fix (#16294)
- Reject loopback edges in
CouplingMap(#16310) - fix: Ensure there is no subtraction panic via underflow (#16249)
- Fix panic on
1.0error inVF2Layout(#16285) - Fix ConstrainedReschedule barrier handling (#16151)
- Initialize ConstrainedReschedule.target unconditionally (#16246)
- Sorts gate array to have deterministic gate selection (#16139)
- Fix UnrollForLoops global phase accumulation (#16201)
- Fix Statevector.evolve modifying input state in-place (Fixes 15750) (#15905)
- Fix Commuting2qGateRouter global phase handling (#16215)
- Fix
InverseCancellationfor symmetric pairs (#16153) - Adding LinearFunction.inverse (#16203)
- Fix invalid simplification of XXPlusYY gates in CommutativeOptimization (#16163)
- Add safe shape checking to
synth_cz_depth_line_mr(#16154) - fix(library): clifford_6_4 template missing global_phase causes silent rejection (#15944)
- make plot_bloch_vector accept tuple input (#16103)
- Fix QPY loading delay integers durations incorrectly (#16076)
- Fix forced block consolidation for incomplete basis sets (#16075)
- Add option to set the seed_transpiler from environment (#16001)
- Fix panic in
RemoveIdentityEquivalentwithParameterVectorglobal phase (#16054) - Fixed commutation checking between two Pauli product measurements (backport #16023) (#16040)
- Fixed commutation checking between two Pauli product measurements (#16023)
- Avoid triggering register/layout warning in
remove_final_measurements(#16026) (#16037) - Avoid triggering register/layout warning in
remove_final_measurements(#16026) - Fix C transpiler level 3 optimisation loop (#15967) (#16008)
- Fix C transpiler level 3 optimisation loop (#15967)
- Producing correct QFT circuits over linear connectivity with 32 or more qubits (#16004) (#16007)
- Producing correct QFT circuits over linear connectivity with 32 or more qubits (#16004)
- Fix
TemplateOptimizationdropping theglobal_phaseon substitution (#15943) - Reimplementing QSD using faer instead of nalgebra. (#15874)
- Rewrite QPY
ParameterExpressionhandling in pure Polish form (#15934) (#15961) - Rewrite QPY
ParameterExpressionhandling in pure Polish form (#15934) - Support commutation check between Pauli-based gates and standard gates (After reverting #15488) (#15925)
- Correctly enforce matrix size check in
CommutationChecker(#15933) (#15936) - Correctly enforce matrix size check in
CommutationChecker(#15933) - Support commutation check between Pauli-based gates and standard gates (#15488)
- QPY Rust and Python compatibility fixes (#15847) (#15887)
- QPY Rust and Python compatibility fixes (#15847)
- Remove unwanted remapping (#15872) (#15885)
- Remove unwanted remapping (#15872)
- Fix:
BasisTranslatorprocessing of nestedControlFlowOp(#15875) (#15884) - Fix:
BasisTranslatorprocessing of nestedControlFlowOp(#15875) - Fix: Initialize.inverse() now raises CircuitError immediately (#15782) (#15848)
- Fix: Initialize.inverse() now raises CircuitError immediately (#15782)
Changed
Deprecated
- Deprecations in qs_decomposition: opt_a* are not needed and decomposer_*q restrictions (#16158)
- Remove the commutation cache from the commutation checker (#15988)
Build System
- Bump setuptools-rust to 1.13 (#16500) (#16516)
- Use stestr to prune its own history in CI jobs (#16364)
- Add C-API slot-assignment compatibility check (#16301)
- Add slot-listing command to
bindgen-cli(#16289) - Rename
bindgen-ctobindgen-cli(#16096) - Add option to use mimalloc as global allocator (#16024)
- Bump MSRV to 1.87 and nalgebra to the 0.34 release (#16045)
Performance
- Fix cache and prediction misses in
Target::qargs(#16476) (#16479) - Update Sabre extended set on-the-fly (#14912)
- Use
GateCountoverDepthin Clifford+T pipeline (#16218) - Move
ParameterVectorto Rust (#16228) - Parallelize unitary synthesis (#16275)
- Use toposort instead of topological_op_nodes for DAG reconstruction (#15987)
- Perform ConsolidateBlocks analysis in parallel (#16230)
- Make Optimize1qGatesDecomposition multithreaded (#15567)
- Use
np.bitwise_countinBitArray.bitcount(#15836) - Use TwoQubitPeepholeOptimization in preset pass managers (#16136)
- Speedup
SubstitutePi4Rotations(#16217) - Parallelize the CommutationAnalysis pass (#16014)
- Pivot to foldhash for hash implementation in IndexMap (#15920)
- Update
PauliProductRotationGate.to_matrix()fromscipytonumpy(#16016) - Add option to use mimalloc as global allocator (#16024)
Qiskit 2.5.0rc1
Changelog
Added
- A multi-IR staged pass manager (#16418)
- Allow 32-bit registers in
classical.exprsystem (#16449) - Add C API for inspecting control flow instructions (#16179)
- Add register query functions to the C API (#16177)
- Var-based measurement experiments (#16273)
- Add C API for inspecting classical expressions (#16178)
- Use
GateCountoverDepthin Clifford+T pipeline (#16218) - Add QuantumCircuit method to compute estimated fidelity (#16292)
- Add C API for two qubit unitary peephole optimization pass (#16088)
- Extend litinski transformation for all Pauli rotations (#15974)
- Add additional Z and X rotation gate handling to CommutativeCancellation (#16191)
- Add PBC transpilation pipeline (#16270)
- Add Custom Gates/Instructions in Rust (#15684)
- Add
QubitSparsePauliList.commutes(#16194) - extend ConvertToPauliProductRotations to PPRs and PPMs (#16306)
- Expose
qk_{circuit, dag}_global_phasein the C API (#16278) - Add
generate_clifford_t_pass_manager(#15918) - Make
uuidpublic onParameterVector(#16216) - Add DAG-based variant of BasisTranslator transpiler pass in C API (#15783)
- Add new multithreaded TwoQubitPeepholeOptimization pass (#13419)
- Improve single-qubit gate count in
TwoQubitControlledUDecomposer(#16123) - Track
PauliLindbladMapgenerators duringparity_sample(#16072) - Add auto-generated
ctypesbindings to C API (#16067) - make plot_bloch_vector accept tuple input (#16103)
- Improve commutation checking of Pauli product rotations and measurements (#15815)
- Add option to set the seed_transpiler from environment (#16001)
- Enable
try_matrix& friends for PPR and PPM (#16011) - Add control flow support to ConvertToPauliRotations (#15941)
- Convert Sabre's
lookaheadto layer-based tracking (#14911) - Support commutation check between Pauli-based gates and standard gates (After reverting #15488) (#15925)
- Extend
RemoveIdentityEquivalentandCommutativeOptimizationwithPauliProductRotations(#15810) - Support commutation check between Pauli-based gates and standard gates (#15488)
- Support phase gates in
LitinskiTransformation(#15773)
Fixed
- Add duration for reset to GenericBackendV2 (#16442)
- Fixes #16166: Preserve global_phase in dagdependency_to_circuit (#16323)
- Have
SynthesizeRZRotationsclearrsgridsynthglobal caches (#16392) - Correctly combining control modifiers in OptimizeAnnotated (#16428)
- Fix stack-overflow segfault in OpenQASM 2 expression parsers (#16421)
- Fix MultiplierGate truncated result decomposition (#16394)
- Fix
CommutationCheckerfor controlled rotation gates (#16337) - Fix BitArray bitcount padding handling (#16309)
- Fix determinism in
ConsolidateBlocks(#16237) - Fix redundant unit numerator in pi_check pi fractions (#16175)
- Remove QPY warning on deserialising incomplete
ParameterVectors (#16222) - Fix composing virtual permutation layouts for
ElidePermutationsandStarPreRouting(#13945) - QPY: Pauli Product Measurement/Rotation parameter fix (#16294)
- Reject loopback edges in
CouplingMap(#16310) - fix: Ensure there is no subtraction panic via underflow (#16249)
- Fix panic on
1.0error inVF2Layout(#16285) - Fix ConstrainedReschedule barrier handling (#16151)
- Initialize ConstrainedReschedule.target unconditionally (#16246)
- Sorts gate array to have deterministic gate selection (#16139)
- Fix UnrollForLoops global phase accumulation (#16201)
- Fix Statevector.evolve modifying input state in-place (Fixes 15750) (#15905)
- Fix Commuting2qGateRouter global phase handling (#16215)
- Fix
InverseCancellationfor symmetric pairs (#16153) - Adding LinearFunction.inverse (#16203)
- Fix invalid simplification of XXPlusYY gates in CommutativeOptimization (#16163)
- Add safe shape checking to
synth_cz_depth_line_mr(#16154) - fix(library): clifford_6_4 template missing global_phase causes silent rejection (#15944)
- make plot_bloch_vector accept tuple input (#16103)
- Fix QPY loading delay integers durations incorrectly (#16076)
- Fix forced block consolidation for incomplete basis sets (#16075)
- Add option to set the seed_transpiler from environment (#16001)
- Fix panic in
RemoveIdentityEquivalentwithParameterVectorglobal phase (#16054) - Fixed commutation checking between two Pauli product measurements (backport #16023) (#16040)
- Fixed commutation checking between two Pauli product measurements (#16023)
- Avoid triggering register/layout warning in
remove_final_measurements(#16026) (#16037) - Avoid triggering register/layout warning in
remove_final_measurements(#16026) - Fix C transpiler level 3 optimisation loop (#15967) (#16008)
- Fix C transpiler level 3 optimisation loop (#15967)
- Producing correct QFT circuits over linear connectivity with 32 or more qubits (#16004) (#16007)
- Producing correct QFT circuits over linear connectivity with 32 or more qubits (#16004)
- Fix
TemplateOptimizationdropping theglobal_phaseon substitution (#15943) - Reimplementing QSD using faer instead of nalgebra. (#15874)
- Rewrite QPY
ParameterExpressionhandling in pure Polish form (#15934) (#15961) - Rewrite QPY
ParameterExpressionhandling in pure Polish form (#15934) - Support commutation check between Pauli-based gates and standard gates (After reverting #15488) (#15925)
- Correctly enforce matrix size check in
CommutationChecker(#15933) (#15936) - Correctly enforce matrix size check in
CommutationChecker(#15933) - Support commutation check between Pauli-based gates and standard gates (#15488)
- QPY Rust and Python compatibility fixes (#15847) (#15887)
- QPY Rust and Python compatibility fixes (#15847)
- Remove unwanted remapping (#15872) (#15885)
- Remove unwanted remapping (#15872)
- Fix:
BasisTranslatorprocessing of nestedControlFlowOp(#15875) (#15884) - Fix:
BasisTranslatorprocessing of nestedControlFlowOp(#15875) - Fix: Initialize.inverse() now raises CircuitError immediately (#15782) (#15848)
- Fix: Initialize.inverse() now raises CircuitError immediately (#15782)
Changed
Deprecated
- Deprecations in qs_decomposition: opt_a* are not needed and decomposer_*q restrictions (#16158)
- Remove the commutation cache from the commutation checker (#15988)
Build System
- Use stestr to prune its own history in CI jobs (#16364)
- Add C-API slot-assignment compatibility check (#16301)
- Add slot-listing command to
bindgen-cli(#16289) - Rename
bindgen-ctobindgen-cli(#16096) - Add option to use mimalloc as global allocator (#16024)
- Bump MSRV to 1.87 and nalgebra to the 0.34 release (#16045)
Performance
- Update Sabre extended set on-the-fly (#14912)
- Use
GateCountoverDepthin Clifford+T pipeline (#16218) - Move
ParameterVectorto Rust (#16228) - Parallelize unitary synthesis (#16275)
- Use toposort instead of topological_op_nodes for DAG reconstruction (#15987)
- Perform ConsolidateBlocks analysis in parallel (#16230)
- Make Optimize1qGatesDecomposition multithreaded (#15567)
- Use
np.bitwise_countinBitArray.bitcount(#15836) - Use TwoQubitPeepholeOptimization in preset pass managers (#16136)
- Speedup
SubstitutePi4Rotations(#16217) - Parallelize the CommutationAnalysis pass (#16014)
- Pivot to foldhash for hash implementation in IndexMap (#15920)
- Update
PauliProductRotationGate.to_matrix()fromscipytonumpy(#16016) - Add option to use mimalloc as global allocator (#16024)
Qiskit 2.4.2
Changelog
Fixed
- Fix stack-overflow segfault in OpenQASM 2 expression parsers (#16422)
- Fix MultiplierGate truncated result decomposition (#16394) (#16399)
- Fix
CommutationCheckerfor controlled rotation gates (backport #16337) (#16395) - Fix redundant unit numerator in pi_check pi fractions (#16175) (#16358)
- Fix composing virtual permutation layouts for
ElidePermutationsandStarPreRouting(#13945) (#16355) - fix: Ensure there is no subtraction panic via underflow (#16249) (#16319)
- Fix panic on
1.0error inVF2Layout(#16285) (#16287) - Fix Statevector.evolve modifying input state in-place (Fixes 15750) (#15905) (#16227)
- Fix ConstrainedReschedule barrier handling (#16151) (#16284)
- Initialize ConstrainedReschedule.target unconditionally (#16246) (#16280)
- Fix UnrollForLoops global phase accumulation (#16201) (#16238)
- Fix
InverseCancellationfor symmetric pairs (#16153) (#16211) - Add safe shape checking to
synth_cz_depth_line_mr(#16154) (#16155)
Qiskit 1.4.6
Qiskit 2.4.1
Qiskit 2.4.0
Release notes: https://quantum.cloud.ibm.com/docs/en/api/qiskit/release-notes/2.4
Changelog
Added
- Add safe Python-extension module C API headers (#15762)
- Add
qk_circuit_drawfunction to the C API (#15361) - New function to negate expressions (#15447)
- Add runtime-version checking
qk_api_version(#15831) - Add barrier_label_len option to circuit drawers (#15776)
- Enable parameterized gates in C (#15106)
- Implement
SparseObservable.evolve(#15561) - Add C API vtable to
pyext(#15761) - Introduce
QkTranspileStatein C transpile stages. (#15486) - Add C/Python interop for
QuantumRegisterandClassicalRegister(#15768) - Add Python conversion to
QkObs(#15821) - PBC transformations for C (#15756)
- SynthesizeRZRotations pass (#15641)
- Add
QkCircuitC/Python interoperation viaQuantumCircuit._data(#15767) - Separate type/constant declarations from functions in C headers (#15760)
- Rust QPY version 13 compatibility (#15663)
- Add C/Python interop for
TargetandDAGCircuit(#15337) - Expose Pauli-based computation gates to C (#15754)
- Add
qiskit.capimodule (#15711) - Add qk_dag_substitute_node_with_unitary to the C API (#15757)
- Transpiler pass that converts a generic circuit to PBC (#15502)
- Use
PauliProductRotationGateinLitinskiTransformation(#15753) - Add
PauliProductRotationGate(#15720) - C API function for replacing a block of nodes with a unitary gate (#15682)
- Add DAG-based variants of transpiler pass functions in C API (#15614)
- Support adding a barrier in
LitinskiTransformation(#15639) - Add Suzuki-Trotter to C API (#15459)
- Fix linear dependency on base bit count in
QuantumCircuit.compose(#15696) RCCXGateis self-inverse (#15686)- feat:
SparseObservableaddition with scalar multiplication (#15599) - feat: in-place arithmetic for QkObs (#15598)
- Extend
SubstitutePi4Rotationsto 2q gates (#15483) - Reducing the number of Clifford gates in
OptimizeCliffordT(#15634) - Add PauliLindbladMap.generators() method (#15544)
- Add RXX/RYY-based equivalence for XXMinusYYGate (#15604)
- Rewrite default
UnitarySynthesisto cache decomposers (#15492) - Add method to draw coupling map (#15114)
- Allow null pointers for zero-length slices in
QkObs(#15540) - Add SparseObservable support to evolved_operator_ansatz (#15442)
- Add pauli() accessor to PauliProductMeasurement (#15469)
- Add Clifford circuit optimization to BasicSimulator (#15159)
- Expose IQP circuit generator via C bindings (#15396)
Fixed
- Fixed commutation checking between two Pauli product measurements (backport #16023) (#16040)
- Avoid triggering register/layout warning in
remove_final_measurements(#16026) (#16037) - Fix C transpiler level 3 optimisation loop (#15967) (#16008)
- Producing correct QFT circuits over linear connectivity with 32 or more qubits (#16004) (#16007)
- Rewrite QPY
ParameterExpressionhandling in pure Polish form (#15934) (#15961) - Correctly enforce matrix size check in
CommutationChecker(#15933) (#15936) - QPY Rust and Python compatibility fixes (#15847) (#15887)
- Remove unwanted remapping (#15872) (#15885)
- Fix:
BasisTranslatorprocessing of nestedControlFlowOp(#15875) (#15884) - Fix: Initialize.inverse() now raises CircuitError immediately (#15782) (#15848)
- Fix annotation-handling in Rust-space QPY (#15649)
- Don't track loop_param (#15814)
- Fix
PauliEvolutionGatetrace and dim calculation (#15816) - Avoid panics in Quantum Shannon Decomposition Rust code (#15635)
- Fix QPY bug with user-defined register named 'ancilla' (#15623)
- Forbid duplicate
cargsinQuantumCircuit.append(#15789) - Fix synth_clifford_depth_lnn for single-qubit Cliffords (#15781)
- Fix linear dependency on base bit count in
QuantumCircuit.compose(#15696) - Typed iterator in QASM3 export of for loops (#15290)
- Bump minimal NumPy Version to 1.21 (#15705)
- Fix HighLevelSynthesis qubit tracking mechanism (#15685)
- Fix ParameterExpression.sympify() for RPOW operations (#15642)
- Fix MCX synthesis methods when the number of control qubits is 0 (#15672)
- Fix defining and appending multi-controlled gates with 0 control qubits. (#15673)
- Fixing
QuantumCircuit.repeatwith parameterized gates (#15646) - Fix digit escaping in OpenQASM 3 identifier (#15305)
- Add check excluding BreakLoop and ContinueLoop from control flow identification (#15626)
- Fix "`BreakLoopOp' object has no attribute 'blocks" bug (#15581)
- Make docstring for Counts more precise and validate input (#8653)
- Handle zero-length permutation synthesis (#15556)
- Automatically determine
coeffstype inSparsePauliOp.from_sparse_list(#15427) - Check length of bit_terms before accessing during qk_obs_term (#15537)
- Fix plot_state_qsphere phase anchor bias due to solver noise (#15494)
- Represent non-fixed params as
NaNforQkTargetOp(#15463) (#15525) - Represent non-fixed params as
NaNforQkTargetOp(#15463) - Fix param extraction for arrays with a single element (backport #15436) (#15522)
- Fix param extraction for arrays with a single element (#15436)
- Add SparseObservable support to evolved_operator_ansatz (#15442)
Changed
- Enable parameterized gates in C (#15106)
- Add Python conversion to
QkObs(#15821) - Add
QkCircuitC/Python interoperation viaQuantumCircuit._data(#15767) - Update Linux build image to
manylinux_2_28(#15791) - Use
PauliProductRotationGateinLitinskiTransformation(#15753) - Replace
bincodewithbinrwinbasic_approximations serialization(#15693) - Pivot to using ruff for all linting (#15603)
- Use
QkParamas parameters forQkTargetOp. (#15538) - Remove deprecated
QISKIT_VERSION_NUMERICsymbol (#15518)
Deprecated
- Deprecate
qk_transpiler_standalone_optimize_1q_sequences(#15627)
Removed
- Follow through on MCMT deprecations (#15606)
Build System
- Update Linux build image to
manylinux_2_28(#15791) - Add
qiskit.capimodule (#15711) - Move
cbindgenlogic into separate crate (#15679) - Replace
requirements-*.txtwith PEP 735 dependency groups (#15619) - Relax required version of CMake (#15653)
- Expose default build profile as
QISKIT_BUILD_PROFILE(#15242)