Qiskit 1.3.0rc1
Pre-release
Pre-release
Changelog
Deprecated
- Deprecate loose custom basis gates in preset pm pipieline (#13394)
- Add missing pulse-related deprecation (#13392)
- Deprecate the condition attribute and related functionality (#13223)
- Deprecate
qiskit.result.mitigation
(#13351) - Deprecate
BasicSimulator.configuration
(#13367) - Deprecate
instruction_durations
,timing_constraints
andbackend_properties
(#13338) - Add EchoRZXWeylDecomposition to Pulse deprecation (#13366)
- Deprecate Pulse package and dependencies (#13164)
- Improve deprecation of unit and duration (#13247)
- Deprecate the unit and duration attributes (#13224)
- deprecate BackendV1 in
PassManagerConfig.from_backend
(#12931) - Deprecates
StochasticSwap
and suggests the use ofSabreSwap
(#12983) - Deprecate BackendV1 and
qiskit.providers.models
(backport #12629) (#12864) - Deprecate BackendV1 and
qiskit.providers.models
(#12629) - Deprecate fake backends based on BackendV1 (backport #12660) (#12837)
- Deprecate fake backends based on BackendV1 (#12660)
- fixes #9355 deprecate visualize_transition (#12287) (#12822)
- fixes #9355 deprecate visualize_transition (#12287)
Added
- Reorder Pauli terms before Trotterization (#12925)
- Evolved operator functions (#13361)
- Add Rustiq-based synthesis for
PauliEvolutionGate
(#13301) - Oxidize
NLocal
& family (#13310) - Add pauli_twirl_2q_gates function (#13331)
- Add identity removal pass to presets (#13363)
- Binary arithmetic gates (#13354)
- Add Qiskit native QPY ParameterExpression serialization (#13356)
- Oxidize the ConsolidateBlocks pass (#13368)
- Add more default trials to sabre layout (#13360)
- Add
grover_operator
function (#13365) - Add iterator-access methods to
SparseObservable
(#13370) - Add meas_level, meas_return, and noise_model options to BackendSamplerV2 (#13357)
- Prepare
PauliEvolutionGate
for Rustiq & port it to Rust (#13295) - More quantum circuit library refactoring (#13353)
- Optimise
SparsePauliOp.from_operator
(#11557) - Boolean circuits as gates (#13333)
- Improve qubit tracking in HighLevelSynthesis (#13240)
- Parameterize Commutation Checker (#13302)
- IQP as circuit library function (and in Rust) (#13241)
- Implement
SparseObservable.apply_layout
(#13372) - Improve speed of
Pauli.to_label
(#13379) - Implement arithmetic on
SparseObservable
(#13298) - Add RemoveIdentityEquivalent transpiler pass (#12384)
- Add official support for Python 3.13 (#13309)
- Add base representation of
SparseObservable
(#12671) - Use Rust generator function for QuantumVolume class (#13283)
- Implement
__eq__
for remaining standard-library gates exceptmcx
(#13327) - Fix
QuantumCircuit.decompose
for high-level objects (#13311) - Improve deprecation of unit and duration (#13247)
MCMTGate
& plugins (#13150)- Port
ElidePermutations
transpiler pass to Rust (#13094) - Add Rust quantum volume function (#13238)
- Add some more gates to CollectCliffords pass (#13214)
- Make
qasm3.CustomGate
accessible from Python space (#13187) - Oxidize
PauliFeatureMap
(#13045) - Add equivalence-library rules between
rzz
andcp
(#13019) - Port RemoveDiagonalGatesBeforeMeasure to rust (#13065)
- Oxidize Commutation Analysis (#12995)
- Oxidize commutation checker (#12870)
- Oxidize random clifford (#12695)
- Fixed ZZFeatureMap not accepting a list of entanglement (#12767)
- Port the count_ops method in QuantumCircuit to Rust (#13050)
- Fully port Optimize1qGatesDecomposition to Rust (#12959)
- Promote
CONTROL_FLOW_OP_NAMES
to public API (#13057) - [DAGCircuit Oxidation] Port
DAGCircuit
to Rust (#12550) - Adding MCX synthesis plugins (#12961)
- Port
synth_cz_depth_line_mr
to Rust (#12949) - Auxiliary qubit tracking in
HighLevelSynthesis
(#12911) - Move mcx synthesis methods with ancillas to the synthesis library (#12904)
- 'Peephole' optimization - or: collecting and optimizing two-qubit blocks - before routing (#12727) (#12881)
- 'Peephole' optimization - or: collecting and optimizing two-qubit blocks - before routing (#12727)
- Avoid operator creation in transpiler (#12826) (#12875)
- Avoid operator creation in transpiler (#12826)
- Port
star_preroute
to rust (backport #12761) (#12846) - Add config option to leverage all cores for sabre (#12780) (#12841)
- Port
star_preroute
to rust (#12761) - Add config option to leverage all cores for sabre (#12780)
- Bitarray postselect (#12693) (#12836)
- Bitarray postselect (#12693)
- Add
AnnotatedOperation.params
and fix some control issues (#12752) (#12828) - Add a default optimization level to generate_preset_pass_manager (#12150)
- Add
AnnotatedOperation.params
and fix some control issues (#12752)
Changed
- Add Qiskit native QPY ParameterExpression serialization (#13356)
- Use Rust generator function for QuantumVolume class (#13283)
- Raise minimum python version to 3.9 (#12910)
- [DAGCircuit Oxidation] Port
DAGCircuit
to Rust (#12550) - Update metadata of Primitives V2 (#12784) (#12857)
- Update metadata of Primitives V2 (#12784)
- Change the default
routing_method
tosabre
(#12806) (#12847) - Change the default
routing_method
tosabre
(#12806)
Fixed
- Add argument
assume_unitary
toOperator.power
. (#13319) - Fix performance regression in looped
QuantumCircuit.assign_parameters
(#13337) - Fix type of
basis_gates
inBasicSimulator
configuration (#13385) - Fix compatibility issues with SciPy 1.14 (#13358)
- Fix OpenQASM 2
gate
definitions following a shadowed built-ingate
(#13340) - Fix
QuantumCircuit.decompose
for high-level objects (#13311) - Fix bug in QPY symengine payload version handling (#13259)
- Workaround symengine serialization payload incompatibility (#13251)
- Don't run ElidePermutation if routing is disabled (#13184)
- Bug fix in ElidePermutations (#13186)
- Make dense layout algorithm deterministic when run in parallel (#13133)
- Fix qft-plugins for custom 'qft' gates (#13181)
- Re-allow non-standard includes in OpenQASM 3 exporter (#13148)
- improved fast-path detection in HLS (#13070)
- Fix an edge case in Sabre's release valve (#13114)
- Fix the matrix representation of CUGate in Rust (#13121)
- Fix creation of registers in synthesis methods (#13086)
- Restrict
Split2QUnitaries
to run onUnitaryGate
(#13095) - Bug fix in
HoareOptimizer
(#13083) - Fix extraction of controlled parametric gates (#13067)
- Fixed ZZFeatureMap not accepting a list of entanglement (#12767)
- Fix use of
node.op
inSplit2QUnitaries
(#13015) - Fix
UnitaryGate.repeat()
method (#12986) - Move the circuit library's entanglement logic to Rust (#12950)
- [DAGCircuit Oxidation] Port
DAGCircuit
to Rust (#12550) - Fix Rust-space
TwoQubitBasisDecomposer
for non-standard KAK gate (#13014) - Extended the
from_backend
method ofInstructionDurations
to support bothBackendV1
andBackendV2
(#12941) - Fix Initialize.gates_to_uncompute method (#12976)
- Parsing of
seed_transpiler
ingenerate_preset_pass_manager
(#12980) - fix stateprep's normalize (#12988)
- adding copy argument to array (#12979)
- Fix setter so that
SparsePauliOp.paulis.phase
stays zero (#12884) - Fix error message upon misalignment in
PadDynamicalDecoupling
(#12952) (#12954) - Fix error message upon misalignment in
PadDynamicalDecoupling
(#12952) - Improve error message on bad OpenQASM 3
basis_gates
argument (#12945) (#12946) - Improve error message on bad OpenQASM 3
basis_gates
argument (#12945) - Expose seed in
Estimator
andStatevectorEstimator
(#12862) - Fix dag visualization with Var wires (#12848) (#12924)
- Remove init peephole optimization discrete basis check (#12898) (#12920)
- Fix dag visualization with Var wires (#12848)
- Remove init peephole optimization discrete basis check (#12898)
- Fix parsing of huge OpenQASM 2 conditionals (#12774) (#12854)
- Fix
StatevectorSampler
to raise an error if a circuit with c_if is passed (#12842) (#12851) - Fix parsing of huge OpenQASM 2 conditionals (#12774)
- Fix
StatevectorSampler
to raise an error if a circuit with c_if is passed (#12842) - Make
BitArray.{slice_bits,slice_shots,__getitem__}
raiseIndexError
when indices are not valid (#12755) (#12845) - Make
BitArray.{slice_bits,slice_shots,__getitem__}
raiseIndexError
when indices are not valid (#12755) - Add
AnnotatedOperation.params
and fix some control issues (#12752) (#12828) - Add
AnnotatedOperation.params
and fix some control issues (#12752) - Fix
BitArray.from_counts
/from_samples
to not fail for input with only0
outcome andnum_bits=None
(#12800) (#12820) - Fix
BitArray.from_counts
/from_samples
to not fail for input with only0
outcome andnum_bits=None
(#12800)