Releases: Qiskit/qiskit
Releases · Qiskit/qiskit
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)
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)