Releases: Qiskit/qiskit
Releases · Qiskit/qiskit
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)
Qiskit Terra 0.25.0rc1
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
- 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 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)
Qiskit Terra 0.24.2
Release notes: https://qiskit.org/documentation/release_notes.html#terra-0-24-2
Changelog
Fixed
- fix 1q matrix bug in Quantum Shannon Decomposer (#10126) (#10446)
- Fix inner qubit mapping in UnitarySynthesis pass. (#10405) (#10431)
- Fix
deepcopy
for new-styleBit
(#10411) (#10413) - Fix
DiagonalGate
QPY serialisation (#10376) (#10412) - Dispatch a builder with backendV1 and backendV2 (#10150) (#10265)
- Add support for QuantumCircuit.layout to qpy (#10148) (#10410)
- Fix
CheckMap
with control-flow builder nested conditionals (#10395) (#10397) - Fix VQD's
optimal_values
(#10279) (#10312) - Fix qasm export for gates with same name (#10286) (#10297)
- Improve casting and error message for
ParameterExpression
(#10244) (#10268) - Fix deprecation warnings emitted by
import qiskit.primitives
(#10287) (#10290) - Fix BasicSwap FakeRun Typo (#10274) (#10278)
- Fix the output macros.measure with backendV2 (#10135) (#10241)
- Fix QuantumCircuit.draw() not outputting pdf in latex mode (#10212) (#10217)
- Fix output of
DensityMatrix.partial_transpose
to match input dimensions (#10163) (#10215)
Qiskit Terra 0.24.1
Changelog
Changed
Fixed
- Assign values directly to fully bound parameters in quantum circuits (#10183) (#10192)
- Fix unitary synthesis for parameterized basis gates in Target (#10090) (#10190)
- Fix PassManagerConfig.from_backend with BackendV1 and no CouplingMap (#10172) (#10181)
- Fix top-level
switch
statements inQuantumCircuit.compose
(#10164) (#10180) - Fixing BlockCollapser with Clbits (#9823) (#10173)
- Remove undefined variable (#10117) (#10152)
- Fix tweedledum runtime detection in BooleanExpression.from_dimacs_file (#10132) (#10137)
- Improve performance of
ConstrainedReschedule
pass (#10077) (#10093) - Add the
qubit_coordinates_map
foribm_seattle
(#10089) (#10094) - define getstate and setstate for OneQubitGateErrorMap (#10092) (#10095)
- Fix interaction graph vf2 scoring to include 1q component (#10084) (#10086)
Qiskit Terra 0.24.0
Release notes: https://qiskit.org/documentation/release_notes.html#terra-0-24-0
Changelog
Deprecated
- Deprecate QuantumInstance and Opflow (#9176)
- Deprecate PauliTable and StabilizerTable (#9547)
- Deprecate the BIPMapping transpiler pass in favor of external plugin (#9924)
Added
- Operator apply permutation (#9403)
- Add support to
switch
intranspile
(#9928) - plugin convenience function for getting the entry point object (#9275)
- Improve error messages on failed control-flow transpilation (#9049)
- add function to swap connected nodes in DAGCircuit (#9160)
- Adding global_phase gate in qiskit-terra (#9251)
- Add experimental OpenQASM 3 support for switch (#9916)
- Add partial transpose function in quantum_info (#9566)
- Add full path transpile() support for disjoint backends (#9840)
- providers/options: implement Mapping (#9704)
- Allow list of optimizers+initial points in
VQD
(#9151) AdaptVQE
threshold improvements (#9921)- Add
max_trials
parameter toVF2PostLayout
. (#9963) - new unroll for-loops transpilation pass (#9670)
- Add support for disjoint coupling maps to SabreLayout (#9802)
- Add constructor to build target from legacy transpiler model (#9255)
- Add Rust-based OpenQASM 2 converter (#9784)
- Add Clifford.from_matrix (#9475)
- Add support for pulse reference to QPY (#9890)
- Ensure we run VF2PostLayout when needed in optimization level 1 (#9941)
- Make all Layout and Routing passes target aware (#9263)
- Fix
AmplitudeEstimation
is silently ignoringis_good_state
in the estimation problem (#9906) - Add flag to filter faulty qubits and gates to BackendV2Converter (#9911)
- Add equivlences of ECR, SX and SXdg gates to the equivalence library (#9913)
- Adding HLS plugins for linear functions and cliffords (#9399)
- Add representation of "switch" (#9833)
- Synthesis of a stabilizer state for LNN connectivity (#9734)
- Add commutator functions to quantum_info (#9546)
- Add option to skip deepcopy on circuit_to_dag (#9848)
- Add MinimumPoint transpiler pass (#9612)
- Add public layout attribute to QuantumCircuit (#9486)
- Update pulse gate transpiler pass to use target. (#9587)
- Rearrange the gradient result based on the order of the input parameters (#9503)
- Add
@deprecate_func
and@deprecate_arg
decorators (#9676) - Add support to CouplingMap for disjoint qubits (#9710)
- Add option to skip deepcopy on dag_to_circuit (#9825)
- Improve
Parameter
handling inSparsePauliOp
(#9796) - new parameters in
plot_bloch_multivector
:figsize
,font_size
, andtitle_font_size
(#7264) - Alternative construction mechanism for HLS config (#9413)
- Add
add_deprecation_to_docstring
for docsite deprecation support (#9685) - Oxidize the internals of Optimize1qGatesDecomposition (#9578)
- Synthesis of CZ and Clifford circuits for linear nearest neighbor connectivity (#9450)
- Added pulses to the
SymbolicPulse
library (#9625) - Remove Sabre's manual insertion-order iteration and unnecessary sorts (#9560)
- Support for time-dependent Hamiltonians and observable evaluation in
TrotterQRTE
(#9565) - Add flipping of
swap
toGateDirection
pass (#9561) - Add an equiv method to the StabilizerState class (#9543)
- two-qubit unitary synthesis adapted to errors and over-complete gatesets (#9175)
- Local fidelity (#9504)
- ensure equivalences work to RZX (#9507)
- Adds support to PassManager drawer to display stages (#9128)
- Add target support to basis, optimization, scheduling, and util passes (#9343)
Changed
- fixed issue 9453 by removing "_v2" from name in BackendV2 class (#9465)
- Update pulse gate transpiler pass to use target. (#9587)
- Implementing CouplingMap.eq (#9766)
- Remove Sabre's manual insertion-order iteration and unnecessary sorts (#9560)
- two-qubit unitary synthesis adapted to errors and over-complete gatesets (#9175)
- PhaseOracle and BooleanExpression allow setting the expression variable order (#6658)
- Bump MSRV to 1.61 and all rust dependencies to latest releases (#9393)
Removed
- Remove argument max_credits from execute and assemble (#9322)
- Remove faulty qubits and gates sections from transpile() (#9900)
- Remove deprecated methods and args in Primitives (#9480)
- Remove factorizers and linear solvers from
algorithms
(#9832) - Remove TextDrawing arguments layout, global_phase, qregs, and cregs (#9323)
- Remove DagDepNode.condition (deprecated in #6110) (#9406)
Fixed
- Set
max_trials
forVF2Layout
in preset pass managers. (#10054) (#10061) - Remove recursion from ConstrainedReschedule pass (#10051) (#10057)
- Fix for unintended rounding in 'state_to_latex' latex output (#9300) (#10048)
- Fix delay padding to respect target's constraints (#10007) (#10038)
- FIx 0q operation handling in
Statevector
(#10031) (#10039) - Bug fix macros.measure with backendv2 (#9987)
- Fix circuit drawer for instructions with circuit parameters (#9942)
- Refactor OpenQASM 2 exporter (#9953)
- Prepare qiskit/transpiler/graysynth.py for deprecation in next release (#9795)
- Fix handling of numpy integers in marginal_distribution() (#9976)
- Correctly error on incorrect clbits in
QuantumCircuit.append
(#9386) - Bug fix in template optimization, and minor cleanup (#9541)
- Ensure we run VF2PostLayout when needed in optimization level 1 (#9941)
- Fix
AmplitudeEstimation
is silently ignoringis_good_state
in the estimation problem (#9906) - Fixed IQAE bug mentioned in issue 9280 (#9887)
- Fix
QuantumCircuitData
handling ofOperation
(#9881) - Fixed handling of a list of coupling_maps passed to transpile() (#9886)
- Fix
UnrollCustomDefinitions
handling of empty definitions (#9899) - Fix a bug in QuantumCircuit.draw related to vertical_compression (#9855)
- Fix string formatting (#9540)
- Fix mypy errors (circuit) (#8267)
- Fix non-complex dtypes in OneQubitEulerDecomposer methods (#9828)
- transpile: narrow the return type depending on the circuits argument (#9799)
- fix qasm with reset (#9819)
- Clip probabilities in
QuantumState
(#9762) - Remove implicit broadcasting from
Pauli
/label construction ofPauliList
(#9779) - Fix basis_gates and coupling_map backend override in transpile() (#9789)
- Fix explicitly calibrated gates in
GateDirection
(#9786) - Fix
Parameter.is_real()
(#9664) - Qiskit gates not
qelib1.inc
are now defined when dumped (#9777) - Fix zero-qubit
Pauli
label strings (#9726) - Fix bitstring padding in the
BackendSampler
(#9744) - Add inverse method to ECRGate (#9733)
- Fix handling of BackendV1 simulators in PassManagerConfig.from_backend (#9719)
- Fix qpy import of circuit with StatePreparation (#9665)
- Fix wrong argument supplied to _identity_op() (#9201)
- Stop raising AttributeError when accessing missing calibration (#9681)
- Fix escaping of identifiers in OQ3 output (#9660)
- Fix typing error in
random_circuit
conditionals (#9651) - Fix bug in backend primitives with
bound_pass_manager
(#9629) - Fix inverse of
SdgGate
in Solovay Kitaev (#9635) - Add the gates ECR, iSwap, CY, SX, SXdg, DCX to the Clifford class (#9623)
- Fix handling of simulator backends in BackendV2Converter (#9630)
- Add TranspileErrors to routing passes for coupling_map=None (#7141)
- Fix
VQD
withSPSA
optimizer (#9538) - Update Target to use CalibrationEntry to create inst map (#9597)
- Retain all deprecated
Bit
properties in QPY roundtrip (#9525) - Fix sparse matrix conversion for
SciPy<Real/Imaginary>Evolver
(#9598) - Fix
NumPy(Minimum)Eigensolver
for sparse matrices (#9575) - Make
BarrierBeforeFinalMeasurements
deterministic (#9568) - Fix C3SXGate roundtrip in OpenQASM 2 (#9183)
- Remove deprecated arguments (#9542)
- Fix typo in Target (#9473)
- Bug fix on QNSPSA (#9483)
- Bug fix property and methods of BackendV2Converter (#9502)
- Fix bad deprecation of Register.name_format (#9494)
- Manage edge case of pickling instmap. (#9487)
- Fix performance of
ReverseEstimatorGradient
for partial gradients (#9491) - Fix add_calibration bug (#9223) (#9451)
- Fix add_calibration bug (#9223)
- Fix
PauliOp.adjoint()
(#9434) (#9443) - Fix
PauliOp.adjoint()
(#9434) - Fix qpy for
MCX
gates (#9391) (#9412) - Fix qpy for
MCX
gates (#9391) - Fix
TensoredOp.to_matrix
with global coefficients (#9404) (#9408) - Fix the
AmplitudeEstimator
algorithms for primitive usage (#9394) (#9407) - Fix
TensoredOp.to_matrix
with global coefficients (#9404) - Fix the
AmplitudeEstimator
algorithms for primitive usage (#9394)
Qiskit Terra 0.24.0rc1
Changelog
Deprecated
- Deprecate QuantumInstance and Opflow (#9176)
- Deprecate PauliTable and StabilizerTable (#9547)
- Deprecate the BIPMapping transpiler pass in favor of external plugin (#9924)
Added
- Operator apply permutation (#9403)
- Add support to
switch
intranspile
(#9928) - plugin convenience function for getting the entry point object (#9275)
- Improve error messages on failed control-flow transpilation (#9049)
- add function to swap connected nodes in DAGCircuit (#9160)
- Adding global_phase gate in qiskit-terra (#9251)
- Add experimental OpenQASM 3 support for switch (#9916)
- Add partial transpose function in quantum_info (#9566)
- Add full path transpile() support for disjoint backends (#9840)
- providers/options: implement Mapping (#9704)
- Allow list of optimizers+initial points in
VQD
(#9151) AdaptVQE
threshold improvements (#9921)- Add
max_trials
parameter toVF2PostLayout
. (#9963) - new unroll for-loops transpilation pass (#9670)
- Add support for disjoint coupling maps to SabreLayout (#9802)
- Add constructor to build target from legacy transpiler model (#9255)
- Add Rust-based OpenQASM 2 converter (#9784)
- Add Clifford.from_matrix (#9475)
- Add support for pulse reference to QPY (#9890)
- Ensure we run VF2PostLayout when needed in optimization level 1 (#9941)
- Make all Layout and Routing passes target aware (#9263)
- Fix
AmplitudeEstimation
is silently ignoringis_good_state
in the estimation problem (#9906) - Add flag to filter faulty qubits and gates to BackendV2Converter (#9911)
- Add equivlences of ECR, SX and SXdg gates to the equivalence library (#9913)
- Adding HLS plugins for linear functions and cliffords (#9399)
- Add representation of "switch" (#9833)
- Synthesis of a stabilizer state for LNN connectivity (#9734)
- Add commutator functions to quantum_info (#9546)
- Add option to skip deepcopy on circuit_to_dag (#9848)
- Add MinimumPoint transpiler pass (#9612)
- Add public layout attribute to QuantumCircuit (#9486)
- Update pulse gate transpiler pass to use target. (#9587)
- Rearrange the gradient result based on the order of the input parameters (#9503)
- Add
@deprecate_func
and@deprecate_arg
decorators (#9676) - Add support to CouplingMap for disjoint qubits (#9710)
- Add option to skip deepcopy on dag_to_circuit (#9825)
- Improve
Parameter
handling inSparsePauliOp
(#9796) - new parameters in
plot_bloch_multivector
:figsize
,font_size
, andtitle_font_size
(#7264) - Alternative construction mechanism for HLS config (#9413)
- Add
add_deprecation_to_docstring
for docsite deprecation support (#9685) - Oxidize the internals of Optimize1qGatesDecomposition (#9578)
- Synthesis of CZ and Clifford circuits for linear nearest neighbor connectivity (#9450)
- Added pulses to the
SymbolicPulse
library (#9625) - Remove Sabre's manual insertion-order iteration and unnecessary sorts (#9560)
- Support for time-dependent Hamiltonians and observable evaluation in
TrotterQRTE
(#9565) - Add flipping of
swap
toGateDirection
pass (#9561) - Add an equiv method to the StabilizerState class (#9543)
- two-qubit unitary synthesis adapted to errors and over-complete gatesets (#9175)
- Local fidelity (#9504)
- ensure equivalences work to RZX (#9507)
- Adds support to PassManager drawer to display stages (#9128)
- Add target support to basis, optimization, scheduling, and util passes (#9343)
Changed
- fixed issue 9453 by removing "_v2" from name in BackendV2 class (#9465)
- Update pulse gate transpiler pass to use target. (#9587)
- Implementing CouplingMap.eq (#9766)
- Remove Sabre's manual insertion-order iteration and unnecessary sorts (#9560)
- two-qubit unitary synthesis adapted to errors and over-complete gatesets (#9175)
- PhaseOracle and BooleanExpression allow setting the expression variable order (#6658)
- Bump MSRV to 1.61 and all rust dependencies to latest releases (#9393)
Removed
- Remove argument max_credits from execute and assemble (#9322)
- Remove faulty qubits and gates sections from transpile() (#9900)
- Remove deprecated methods and args in Primitives (#9480)
- Remove factorizers and linear solvers from
algorithms
(#9832) - Remove TextDrawing arguments layout, global_phase, qregs, and cregs (#9323)
- Remove DagDepNode.condition (deprecated in #6110) (#9406)
Fixed
- Bug fix macros.measure with backendv2 (#9987)
- Fix circuit drawer for instructions with circuit parameters (#9942)
- Refactor OpenQASM 2 exporter (#9953)
- Prepare qiskit/transpiler/graysynth.py for deprecation in next release (#9795)
- Fix handling of numpy integers in marginal_distribution() (#9976)
- Correctly error on incorrect clbits in
QuantumCircuit.append
(#9386) - Bug fix in template optimization, and minor cleanup (#9541)
- Ensure we run VF2PostLayout when needed in optimization level 1 (#9941)
- Fix
AmplitudeEstimation
is silently ignoringis_good_state
in the estimation problem (#9906) - Fixed IQAE bug mentioned in issue 9280 (#9887)
- Fix
QuantumCircuitData
handling ofOperation
(#9881) - Fixed handling of a list of coupling_maps passed to transpile() (#9886)
- Fix
UnrollCustomDefinitions
handling of empty definitions (#9899) - Fix a bug in QuantumCircuit.draw related to vertical_compression (#9855)
- Fix string formatting (#9540)
- Fix mypy errors (circuit) (#8267)
- Fix non-complex dtypes in OneQubitEulerDecomposer methods (#9828)
- transpile: narrow the return type depending on the circuits argument (#9799)
- fix qasm with reset (#9819)
- Clip probabilities in
QuantumState
(#9762) - Remove implicit broadcasting from
Pauli
/label construction ofPauliList
(#9779) - Fix basis_gates and coupling_map backend override in transpile() (#9789)
- Fix explicitly calibrated gates in
GateDirection
(#9786) - Fix
Parameter.is_real()
(#9664) - Qiskit gates not
qelib1.inc
are now defined when dumped (#9777) - Fix zero-qubit
Pauli
label strings (#9726) - Fix bitstring padding in the
BackendSampler
(#9744) - Add inverse method to ECRGate (#9733)
- Fix handling of BackendV1 simulators in PassManagerConfig.from_backend (#9719)
- Fix qpy import of circuit with StatePreparation (#9665)
- Fix wrong argument supplied to _identity_op() (#9201)
- Stop raising AttributeError when accessing missing calibration (#9681)
- Fix escaping of identifiers in OQ3 output (#9660)
- Fix typing error in
random_circuit
conditionals (#9651) - Fix bug in backend primitives with
bound_pass_manager
(#9629) - Fix inverse of
SdgGate
in Solovay Kitaev (#9635) - Add the gates ECR, iSwap, CY, SX, SXdg, DCX to the Clifford class (#9623)
- Fix handling of simulator backends in BackendV2Converter (#9630)
- Add TranspileErrors to routing passes for coupling_map=None (#7141)
- Fix
VQD
withSPSA
optimizer (#9538) - Update Target to use CalibrationEntry to create inst map (#9597)
- Retain all deprecated
Bit
properties in QPY roundtrip (#9525) - Fix sparse matrix conversion for
SciPy<Real/Imaginary>Evolver
(#9598) - Fix
NumPy(Minimum)Eigensolver
for sparse matrices (#9575) - Make
BarrierBeforeFinalMeasurements
deterministic (#9568) - Fix C3SXGate roundtrip in OpenQASM 2 (#9183)
- Remove deprecated arguments (#9542)
- Fix typo in Target (#9473)
- Bug fix on QNSPSA (#9483)
- Bug fix property and methods of BackendV2Converter (#9502)
- Fix bad deprecation of Register.name_format (#9494)
- Manage edge case of pickling instmap. (#9487)
- Fix performance of
ReverseEstimatorGradient
for partial gradients (#9491) - Fix add_calibration bug (#9223) (#9451)
- Fix add_calibration bug (#9223)
- Fix
PauliOp.adjoint()
(#9434) (#9443) - Fix
PauliOp.adjoint()
(#9434) - Fix qpy for
MCX
gates (#9391) (#9412) - Fix qpy for
MCX
gates (#9391) - Fix
TensoredOp.to_matrix
with global coefficients (#9404) (#9408) - Fix the
AmplitudeEstimator
algorithms for primitive usage (#9394) (#9407) - Fix
TensoredOp.to_matrix
with global coefficients (#9404) - Fix the
AmplitudeEstimator
algorithms for primitive usage (#9394)
Qiskit Terra 0.23.3
Changelog
Fixed
- Fix non-complex dtypes in OneQubitEulerDecomposer methods (#9828) (#9829)
- fix qasm with reset (#9819) (#9826)
- Clip probabilities in
QuantumState
(#9762) (#9812) - Improve error messages in
Target
-basedGateDirection
pass (#9787) (#9791) - Fix basis_gates and coupling_map backend override in transpile() (#9789) (#9792)
- Fix explicitly calibrated gates in
GateDirection
(#9786) (#9788) - Qiskit gates not
qelib1.inc
are now defined when dumped (backport #9777) (#9778) - Fix bitstring padding in the
BackendSampler
(#9744) (#9745) - transpiler/1q_decomposition: fix circuit score for zero gate errors (#9701)
- Add inverse method to ECRGate (#9733) (#9738)
- Fix handling of BackendV1 simulators in PassManagerConfig.from_backend (#9719) (#9725)
- Fix qpy import of circuit with StatePreparation (#9665) (#9711)
- Fix wrong argument supplied to _identity_op() (#9201) (#9703)
- Stop raising AttributeError when accessing missing calibration (#9681) (#9683)
- Fix escaping of identifiers in OQ3 output (#9660) (#9673)
- Fix typing error in
random_circuit
conditionals (#9651) (#9656) - Fix bug in backend primitives with
bound_pass_manager
(#9629) (#9652)
Qiskit Terra 0.23.2
Changelog
Fixed
- Fix inverse of
SdgGate
in Solovay Kitaev (#9635) (#9641) - Add the gates ECR, iSwap, CY, SX, SXdg, DCX to the Clifford class (#9623) (#9640)
- Fix handling of simulator backends in BackendV2Converter (#9630) (#9632)
- Fix
VQD
withSPSA
optimizer (#9538) (#9613) - Update Target to use CalibrationEntry to create inst map (#9597) (#9610)
- Retain all deprecated
Bit
properties in QPY roundtrip (#9525) (#9603) - Fix sparse matrix conversion for
SciPy<Real/Imaginary>Evolver
(#9598) (#9600) - Fix
NumPy(Minimum)Eigensolver
for sparse matrices (#9575) (#9577) - Remove deprecated arguments (#9542) (#9544)
- Bug fix on QNSPSA (#9483) (#9520)
- Bug fix property and methods of BackendV2Converter (#9502) (#9506)
Qiskit Terra 0.23.1
Qiskit Terra 0.23.0
Release notes: https://qiskit.org/documentation/release_notes.html#terra-0-23-0
Changelog
Deprecated
- Add deprecation warning on use of qiskit.IBMQ (#8080)
- Deprecate LinearFunctionsSynthesis transpiler pass (#9041)
- Refactor state latex drawer (#8874)
- Relax register-naming restrictions (#9100)
- Deprecate old path to QPY (#9225)
- Correct deprecation of old pulse visualization (#9146)
- Transfer clifford and cnot-dihedral synthesis functions from quantum_info to synthesis (#9141)
- Deprecate Python 3.7 support (#8942)
- Deprecate lists for argument input on transpile() (#8835)
- Fix pauli_basis deprecation (#8905)
Added
- Constructing Cliffords from quantum circuits with other Cliffords (#9169)
- Add importer for OpenQASM 3 (#9347)
- High-level-synthesis for permutations (#9157)
- Implements VarQTE algorithm with primitives. (#8746)
- Add final layout to output quantum circuit from transpiler (#8597)
- Primitives support the dynamic circuits with control flow (#9231)
- Add option to user config to control reverse_bits in circuit drawer (#9211)
- Efficient classical calculation of expectation gradients (#9287)
- Split
QFI
intoQFI
andQGT
(#9085) - Convert Equivalence Library to graph (#8790)
- Add FakeSherbrooke backend (#9339)
- Lazy pulse qobj loading for large backend (#8885)
- Add FakePrague Egret R1 to fake backends (#9369)
- Introducing ScalableSymbolicPulse to correctly compare pulses of amp,angle representation (#9314)
- support gate powering with ** (#9030)
- Add option to allow passing unknown parameters to ParameterExpression.bind (#9304)
- Speed up
Clifford.compose
(#7483) - Synthesis of a Clifford circuit into layers (#9220)
- add dtype parameter to PauliSumOp.from_list (#8896)
- Add efficient gate power methods (#9318)
- Translate parameterized gates only in gradient calculations (#9067)
- Refactor z2symmetries (#9227)
- Numerical Integration methods for real and imaginary time evolution. (#8399)
- Refactor gradients for extensibility (#9084)
- Add the Solovay-Kitaev algorithm to the transpiler passes (#5657)
- Various improvements to AdaptVQE (#9215)
- Oxidize SabreLayout pass (#9116)
- Add DAGCircuit output option to OneQubitEulerDecomposer (#9188)
- Adding linear synthesis algorithm for LNN (#9098)
- Adding CollectAndCollapse transpiler pass (#8907)
- Fully QPY compatible pulse builder for V2 and runtime backend (#8949)
- Improve performance of VF2 scoring and add support for scoring passes (#9026)
- Increase Accuracy of OpenQASM 2.0 Dump (#8250)
- Update Optimize1qGatesDecomposition to be Target aware (#8917)
- Adding permutation synthesis algorithm for LNN (#9082)
- Add gradient methods to FinDiffGradients (#9104)
- Calculate relative, not absolute, scores in SabreSwap (#9012)
- Add support for Python 3.11 (#9028)
- Improve LinearFunction synthesis (#8568)
- Add implicit iteration to CouplingMap (#9051)
- QFI with the primitives (#8688)
- add QuantumCircuit.from_instructions (#9006)
- Speed up
random_circuit
(#8983) - Add missing equivalences for XX{Plus,Minus}YYGate (#9017)
- Make UnrollCustomDefinitions pass target aware (#8784)
- Return
DAGOpNode
fromdagcircuit.replace_block_with_op
(#8799)
Changed
- Refactor state latex drawer (#8874)
- Convert Equivalence Library to graph (#8790)
- Relax register-naming restrictions (#9100)
- Introducing ScalableSymbolicPulse to correctly compare pulses of amp,angle representation (#9314)
- Oxidize SabreLayout pass (#9116)
- Converting the pulse library from complex amp to amp+angle (#9002)
- Adding CollectAndCollapse transpiler pass (#8907)
- Fully QPY compatible pulse builder for V2 and runtime backend (#8949)
- Switch from retworkx to rustworkx package (#9162)
- Improve LinearFunction synthesis (#8568)
- Use TOQM routing staged pass manager. (#9042)
- Speed up
random_circuit
(#8983) - Remove tweedledum as a core dependency (#8947)
- Add singledispatchmethod to dependency (#8944)
- Fix transpile() for control flow operations with a Target/BackendV2 (#8852) (#8889)
Removed
- Remove
label
argument from MCMTVChain and MCMT (#9324) - Remove
gate
argument from qiskit.transpiler.passes.Decompose (#9325) - Remove deprecated MSBasisDecomposer transpiler pass (#9342)
- Remove deprecated
measure
andreset
circuit operations (#9278) - Remove deprecated functions from
ParameterView
(#9184) - Remove deprecated redirects from visualization (#9131)
- Removed NLocal inital_state that is not a QuantumCircuit (#9081)
- Remove deprecated networkx dag converter functions (#9035)
- Remove deprecated methods from QuantumCircuit (#8980)
Fixed
- Fix add_calibration bug (#9223) (#9451)
- Fix
PauliOp.adjoint()
(#9434) (#9443) - Fix qpy for
MCX
gates (#9391) (#9412) - Fix
TensoredOp.to_matrix
with global coefficients (#9404) (#9408) - Fix the
AmplitudeEstimator
algorithms for primitive usage (#9394) (#9407) - Constructing Cliffords from quantum circuits with other Cliffords (#9169)
- Make BackendSampler set shots and stddev_upper_bound of returned QuasiDistribution (#9312)
- Barrier support for
visualize_transition
and refactor (#8834) - Fix PauliOp matmul with iI & add PauliOp test (#9321)
- Relax register-naming restrictions (#9100)
- Fix: AQC returns a wrong circuit when the unitary has a determinant −1 (#9331)
- Fix PVQD loss function (#9371)
- Fix
QuantumCircuit.compose
on unusual types and registers (#9206) - Update
qiskit.utils.wrap_method
for Python 3.11 (#9310) - Fix
ComposedOp.to_matrix
(#9316) - Fix
NumPyEigensolver
withSparsePauliOp
(#9101) - Fix PulseQobj converter name collision (#8839)
- Feature/trivial gate inversions (#9262)
- Fix primitives metadata (#9285)
- Refactor gradients for extensibility (#9084)
- Fix
LinCombSamplerGradient
to leverageAerSampler
(#9258) - Fix
betas
calculation onVQD
and async. cost evaluation (#9245) - Fix a transpile issue of BackendSampler (#9236)
- Performance improvement of
_DiagonalEstimator
(#9229) - Fix the
aggregation
argument ofSamplingVQE
(#9221) - Fix ordering of dims in QuantumState.probabilities_dict (#9214)
- Enable simplifying 1q runs and 2q blocks in transpile() without target (#9222)
- Fix shots argument of local_readout_mitigator (#9155)
- Infer
cregbundle
for all drawers (#9133) - Fully QPY compatible pulse builder for V2 and runtime backend (#8949)
- fix: overwrite AdaptVQE.supports_aux_operators (#9142)
- Fix serialization of primitives (#9076)
- fix #9102 (#9103)
- Reinstate
pulse.Instruction.draw
(#9144) - Fix random seed initialization between runs in SabreSwap (#9127)
- Use float-epsilon calculation in Sabre best scores (#9117)
- Fixed sign bug in docs in LinCombEstimatorGradient. (#9113)
- 🐛 fix deprecated
Loader.load_module()
(#9078) - Fix QPY handling of registers (#9095)
- Fix Backend primitive classes for BackendV1 with no max_experiments (#9069)
- Improve LinearFunction synthesis (#8568)
- Avoid deepcopy in pulse parser (#9063)
- Fix incorrect graph construction in VF2PostLayout (#9058)
- Make TwoQubitWeylDecomposition pickle-able (#7333)
- Fix default batching in variational algorithms (#9038)
- Fix handling of global ideal gates for target build_coupling_map() (#8977)
- Fix backend primitives on backends with job size limit (#8955)
- Fix zero-operand gates and instructions (#8272)
- Fix transpile() with a Target containing an ideal Measure (#8995)
- Fix
VQD
fork>2
(#8989) - Fix manifest entry for mpl styles (#9004)
- fix #8992 (#8998)
- Fix VF2Layout and VF2PostLayout handling of instructions without error (#8978)
- Cast ParameterExpression to float in RZXBuilder and RZXCalibrationBuilderNoEcho (#8965)
- Avoid skipping channels in pulse visualizer (#8974)
- Fix parallel dispatch with target argument in transpile() (#8952)
- Fix Statevector.evolve and DensityMatrix.evolve for mixed dimension subsystems (#8900)
- Fix classical-bit handling in control-flow StochasticSwap (#8906)
- Fix single-bit-condition equality in QuantumCircuit and DAGCircuit (#8930)
- Fix
BarrierBeforeFinalMeasurements
with loose bits (#8924) - Fix handling of globally defined operations in Target (#8925)
- Fix qpy custom ControlledGate with overloaded _define() (#8927)
- Fix loose-bit handling in QPY (#8928)
- Fix pauli_basis deprecation (#8905)
- Fix transpile() for control flow operations with a Target/BackendV2 (#8852) (#8889)
- Fix pauli.evolve dtype casting error (#8877) (#8884)
- Fix pauli.evolve dtype casting error (#8877)