Releases: Qiskit/qiskit
Releases · Qiskit/qiskit
Qiskit 0.45.2
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
BlueprintCircuit
s (#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
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 internCircuitInstruction
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
andReset
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 withqiskit-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 relatedutils
(#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
inAQC
(#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
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
Release notes: https://qiskit.org/documentation/release_notes.html#relnotes-0-45-0
Changelog
Deprecated
- Pass manager refactoring: cleanup internals (#10127)
- Deprecate passing
None
toDAGCircuit
appenders (#10752) - Deprecate Unroller pass (#10607)
- Fix deprecation warning of unscheduled circuits in timeline drawer (#10851)
- Deprecation of algorithm utils (
algorithm_globals
andvalidation
) (#10905) - Deprecate
bind_parameters
in favor ofassign_parameters
(#10792) - Move OpenQASM 2 exporter to
qiskit.qasm2
(#10533) - Deprecate
qiskit.extensions
(#10725) - Deprecate duplicate circuit gate method (#10797)
Added
- Merging
UnrollCustomDefinitions
intoHighLevelSynthesis
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 toSparsePauliOp
(#10947) - Fix hash of
Parameter
andParameterExpression
(#10875) - Fix deprecated behaviour in timeline drawer (#10846)
- Improve the ergonomics of the TranspileLayout class (#10835)
- Add
check_input
option toUnitaryGate
(#10660) - Fix
MergeAdjacentBarriers
to scale with number of barriers (#10900) - Add
use_symengine
option toqpy.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
andtarget
toHighLevelSynthesis
(#10477) - Add
draw
method toOperator
class (#10271) - Add tests of
Expr
support throughSabreSwap
(#10511) - Add full
Expr
support toStochasticSwap
(#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
andz
arguments toPauli
(#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
andParameterExpression
(#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
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
Changelog
Deprecated
- Pass manager refactoring: cleanup internals (#10127)
- Deprecate passing
None
toDAGCircuit
appenders (#10752) - Deprecate Unroller pass (#10607)
- Fix deprecation warning of unscheduled circuits in timeline drawer (#10851)
- Deprecation of algorithm utils (
algorithm_globals
andvalidation
) (#10905) - Deprecate
bind_parameters
in favor ofassign_parameters
(#10792) - Move OpenQASM 2 exporter to
qiskit.qasm2
(#10533) - Deprecate
qiskit.extensions
(#10725) - Deprecate duplicate circuit gate method (#10797)
Added
- Merging
UnrollCustomDefinitions
intoHighLevelSynthesis
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 toSparsePauliOp
(#10947) - Fix hash of
Parameter
andParameterExpression
(#10875) - Fix deprecated behaviour in timeline drawer (#10846)
- Improve the ergonomics of the TranspileLayout class (#10835)
- Add
check_input
option toUnitaryGate
(#10660) - Fix
MergeAdjacentBarriers
to scale with number of barriers (#10900) - Add
use_symengine
option toqpy.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
andtarget
toHighLevelSynthesis
(#10477) - Add
draw
method toOperator
class (#10271) - Add tests of
Expr
support throughSabreSwap
(#10511) - Add full
Expr
support toStochasticSwap
(#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
andz
arguments toPauli
(#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
andParameterExpression
(#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.2.1
Changelog
This is a post release of 0.25.2 the library source code is identical
between this release and 0.25.2, it fixes some packaging issues that
occurred during the 0.25.2 release.
Qiskit 0.25.2
Changelog
Fixed
- Fix issues with ControlFlowOp displays (#10842) (#10917)
- Fix Clifford.from_operator to fail with non-Clifford diagonal operators (#10904) (#10910)
- Support passing empty lists to Pauli delete method (#10849) (#10896)
- Allow dynamical decoupling pass to work on circuits with pulse gates (#10834) (#10848)
- qreg_creg_descending calls deprecated Bit.index (#10843) (#10845)
- Fix GateDirection pass (#10825) (#10840)
- Fix
qpy
for multiple controlled parametrized gates (#10758) (#10795) - Handle final comments with no terminating newline in OpenQASM 2 (#10773) (#10778)
- Support new-style Bit in Pauli convertor from QuantumCircuit (#10757) (#10760)
- Add validation to Sampler if there are no measurements (#10642) (#10722)
Qiskit Terra 0.25.1
Release notes: https://qiskit.org/documentation/release_notes.html#terra-0-25-1
Changelog
Fixed
- Fix performance of Sabre rust<->Python boundary (#10652) (#10659)
- Fix classical-synthesis label ordering with
registerless=False
(#9536) (#10647) - Reject bad values in
SparsePauliOp.paulis
setter (#10437) (#10643) - Fixing the tools for plotting Pauli vec (#10619) (#10637)
- Fix open circles and visual circuit tests to .9999 (#10580) (#10609)
- Force decimal points in OpenQASM 2 floats (#10532) (#10536)
Qiskit Terra 0.25.0
Release notes: https://qiskit.org/documentation/release_notes.html#terra-0-25-0
Changelog
Deprecated
- Add deprecation warning to algs module (#10406)
- qiskit_version deprecation (#10242)
- Remove method
qasm
fromInstruction
and all of its subclasses (#10399) - Deprecate namespace packaging hooks (#10322)
- Deprecate pulse Call instruction (#10247)
- Deprecate get_vf2_call_limit in preset_passmanagers (#10065)
- Deprecate circuit-library Jupyter magic (#9940)
Added
- Add full
Expr
support toStochasticSwap
(#10506) (#10510) - Allow circuits w/ control flow in O2 and O3 (#10372)
- Optimize
ConsolidateBlocks
pass (#10365) - Add
Expr
support to OpenQASM 3 exporter (#10408) - Support control flow in ConsolidateBlocks (#10355)
- Add display of internal circuits for ControlFlowOps to mpl circuit drawer (#10207)
- Add flatten option to the NLocal family (#10269)
- Improve parameter-binding performance of large instructions (#10284)
- Add block collection options
split_layers
andcollect_from_back
(#10254) - Add in qpy the support for Discriminator and Kernel (#10327)
- Add
Expr
support toDAGCircuit.substitute_node_with_dag
(#10381) - Add
Expr
support inDAGCircuit.substitute_node
(#10382) - Add a new argument concurrent_measurements to target class (#10258)
- Add
Expr
support toDAGCircuit.replace_block_with_node
(#10383) - Add find_bit method to DAGCircuit to get mapping of bits to positional index (#10128)
- Add
Expr
support to QPY for conditions and targets (#10392) - Add
Expr
support to the control-flow builders (#10400) - Add
Expr
support toDAGCircuit.compose
(#10377) - Add
Expr
support toQuantumCircuit.compose
(#10375) - Add separable_circuits method to DAGCircuit class (#9471)
- Add support for semantic equality checking of
Expr
s inDAGCircuit
(#10367) - Refactor output of OpenQASM 3 exporter to use fewer aliases (#10249)
- DAGCircuit: Add get_causal_cone method (#10325)
- Add get_dt_from_backend func to the builder command (#10253)
- Add
Expr
supprt toDAGCircuit
simple constructors (#10362) - Linear function usability improvements (#10053)
- Add
Expr
support toControlFlowOp
representation (#10358) - Add initial representation of classical expressions (#10332)
- Relax wire_order restrictions in circuit visualization (#9893)
- Adding depth-5n synthesis algorithm for -CZ-CX- circuits (#9932)
- Add
schmidt_decomposition
function toquantum_info
(#10104) - Adding the feature of calculating entanglement measures negativity (#10134)
- Add
HAS_PYGMENTS
lazy tester (#9944) - Allow multiplication of SparsePauliOp and ParameterExpression (#10264)
- Pass manager refactoring: add passmanager module (#10124)
- Added classical_predecessors method (#9980)
- Allow to normalize inputs on
StatePreparation
andInitialize
(#7189) - Add more 1q and 2q Pauli rotation equivalences (#7407)
- Add standard 1q Pauli equivalences to standard library (#10300)
- add abs method to ParameterExpression (#9309)
Changed
- Enable Sabre for control flow circuits at O1 (#10371)
- Refactor output of OpenQASM 3 exporter to use fewer aliases (#10249)
- Remove cyclic-definition handling from
Clifford.from_circuit
(#10441) - Use rustworkx version of token_swapper (#10001)
- Use stable Python C API for building Rust extension (#10120)
- Assign values directly to fully bound parameters in quantum circuits (#10183)
- Switch
QuantumCircuit.from_qasm_str
andfrom_qasm_file
to new parser (#9955) - Drop support for Python 3.7 (#10009)
- Set
max_trials
forVF2Layout
in preset pass managers. (#10054)
Removed
- Remove list argument broadcasting and simplify transpile() (#10291)
- Remove deprecated InstructionSet circuit_cregs argument (#10302)
- Remove deprecations from mpl circuit drawer (#10020)
Fixed
- Fix final_layout when VF2PostLayout finds a better layout (#10466) (#10493)
- Fix empty-barrier handling in OpenQASM 2 (#10469) (#10491)
- raise an exception with a custom gate with clbits or no qubits (#10438) (#10485)
- Fix Pulse channel index validation (#10476) (#10486)
- Fix UnassignedDurationError of update_from_instruction_schedule_map (#10447)
- Add
Expr
support to OpenQASM 3 exporter (#10408) - Improve parameter-binding performance of large instructions (#10284)
- Add
Expr
support inDAGCircuit.substitute_node
(#10382) - Add
Expr
support to the control-flow builders (#10400) - fix 1q matrix bug in Quantum Shannon Decomposer (#10126)
- Add mid-circuit measurement before conditional operation in random_circuit (#10401)
- Fix inner qubit mapping in UnitarySynthesis pass. (#10405)
- Fix plot legend don't show up when dataset start with zero (#10176)
- Fix
deepcopy
for new-styleBit
(#10411) - Fix
DiagonalGate
QPY serialisation (#10376) - Add support for QuantumCircuit.layout to qpy (#10148)
- Fix
CheckMap
with control-flow builder nested conditionals (#10395) - Fix VQD's
optimal_values
(#10279) - Fix qasm export for gates with same name (#10286)
- Fix deprecation warnings emitted by
import qiskit.primitives
(#10287) - Fix BasicSwap FakeRun Typo (#10274)
- Improve casting and error message for
ParameterExpression
(#10244) - FullAncillaAllocation for backends witout a coupling map (#10240)
- Fix the output macros.measure with backendV2 (#10135)
- Fix QuantumCircuit.draw() not outputting pdf in latex mode (#10212)
- Fix output of
DensityMatrix.partial_transpose
to match input dimensions (#10163) - Assign values directly to fully bound parameters in quantum circuits (#10183)
- Fix unitary synthesis for parameterized basis gates in Target (#10090)
- Fix PassManagerConfig.from_backend with BackendV1 and no CouplingMap (#10172)
- Fix top-level
switch
statements inQuantumCircuit.compose
(#10164) - Fixing BlockCollapser with Clbits (#9823)
- Fix
initial_layout
intranspile
with loose qubits (#10153) - Remove undefined variable (#10117)
- Fix wrong relative phase of MCRZ (#9836)
- Fix tweedledum runtime detection in BooleanExpression.from_dimacs_file (#10132)
- define getstate and setstate for OneQubitGateErrorMap (#10092)
- Add the
qubit_coordinates_map
foribm_seattle
(#10089) - Switch
QuantumCircuit.from_qasm_str
andfrom_qasm_file
to new parser (#9955) - Fix interaction graph vf2 scoring to include 1q component (#10084)
- Set
max_trials
forVF2Layout
in preset pass managers. (#10054) (#10061) - Set
max_trials
forVF2Layout
in preset pass managers. (#10054) - Remove recursion from ConstrainedReschedule pass (#10051) (#10057)
- Remove recursion from ConstrainedReschedule pass (#10051)
- Fix for unintended rounding in 'state_to_latex' latex output (#9300) (#10048)
- Fix for unintended rounding in 'state_to_latex' latex output (#9300)
- Fix delay padding to respect target's constraints (#10007) (#10038)
- FIx 0q operation handling in
Statevector
(#10031) (#10039) - circuit: narrow the return type of QuantumCircuit.assign_parameters (#10037)
- FIx 0q operation handling in
Statevector
(#10031) - Allow decomposing composite gates by name (#9170)
- Fix delay padding to respect target's constraints (#10007)
- Use backend_compat module's convert to target (#10016)