NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4403 most downloaded on PyPI
An open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.
Last release 2 days ago
02 Oct 2026
Ships fairly regularly
a new release about every 3 weeks
Most releases are documented
notes for 48 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
9 years old
209 releases · first in 2017
Nothing published for this version
Nothing published for this version
Fix non-complex dtypes in OneQubitEulerDecomposer methods
QuantumState (#9762) (#9812)Target-based GateDirection pass (#9787) (#9791)GateDirection (#9786) (#9788)qelib1.inc are now defined when dumped (backport #9777) (#9778)BackendSampler (#9744) (#9745)random_circuit conditionals (#9651) (#9656)bound_pass_manager (#9629) (#9652)One column per quarter.
Retain all deprecated Bit properties in QPY roundtrip
SdgGate in Solovay Kitaev (#9635) (#9641)VQD with SPSA optimizer (#9538) (#9613)Bit properties in QPY roundtrip (#9525) (#9603)SciPy<Real/Imaginary>Evolver (#9598) (#9600)NumPy(Minimum)Eigensolver for sparse matrices (#9575) (#9577)Fix bad deprecation of Register.name_format
ReverseEstimatorGradient for partial gradients (#9491) (#9492)Add deprecation warning on use of qiskit.IBMQ
Release notes: https://qiskit.org/documentation/release_notes.html#terra-0-23-0
QFI into QFI and QGT (#9085)Clifford.compose (#7483)random_circuit (#8983)DAGOpNode from dagcircuit.replace_block_with_op (#8799)random_circuit (#8983)label argument from MCMTVChain and MCMT (#9324)gate argument from qiskit.transpiler.passes.Decompose (#9325)measure and reset circuit operations (#9278)ParameterView (#9184)PauliOp.adjoint() (#9434) (#9443)MCX gates (#9391) (#9412)TensoredOp.to_matrix with global coefficients (#9404) (#9408)AmplitudeEstimator algorithms for primitive usage (#9394) (#9407)visualize_transition and refactor (#8834)QuantumCircuit.compose on unusual types and registers (#9206)qiskit.utils.wrap_method for Python 3.11 (#9310)ComposedOp.to_matrix (#9316)NumPyEigensolver with SparsePauliOp (#9101)LinCombSamplerGradient to leverage AerSampler (#9258)betas calculation on VQD and async. cost evaluation (#9245)_DiagonalEstimator (#9229)aggregation argument of SamplingVQE (#9221)cregbundle for all drawers (#9133)pulse.Instruction.draw (#9144)Loader.load_module() (#9078)VQD for k>2 (#8989)BarrierBeforeFinalMeasurements with loose bits (#8924)Pending deprecate algo eigen_solvers
Release notes: https://qiskit.org/documentation/release_notes.html#qiskit-0-39-0
Sampler in Grover (#8647)tweedledum as a requirement (#8738)GatesInBasis (#8823)DenseLayout (#8742)c_if to IfElseOp (#8764)Sampler in Grover (#8647)Sampler in Grover (#8647)ProbDistribution and QuasiDistribution to store the number of bits if bitstrings w/o prefix are given (#8464)tweedledum as a requirement (#8738)qiskit.visualization.circuit (#8306)maxfun default in L_BFGS (#8285)epsilon and factr of optimizers L_BFGS_B and factr of P_BFGS has been removed (#8210)QiskitIndexError removed (#8209)QuantumCircuit.while_loop (#8833)None in state_to_latex latex output (#8273)ParameterExpression.is_real if symengine is installed (#8456)idle_wires=False and there are barriers (#8321)EvolvedOp.to_instruction (#8384)Optimizer reconstruction from settings (#8381)StandardScaler from deprecated normalize in NaturalGradient (#8299)Move qiskit.test.mock to qiskit.providers.fake_provider and deprecate
Release notes: https://qiskit.org/documentation/release_notes.html#terra-0-21-0
qiskit.test.mock to qiskit.providers.fake_provider and deprecate (#8121)optimize from Optimizer (and small other fixes) (#8123)LookaheadSwap (#8068).clear() and .copy_empty_like() functionality to QuantumCircuit. (#8134)ParameterReferences type for ParameterTable values (#7408)QuantumCircuit.data elements (#8093)optimize from Optimizer (and small other fixes) (#8123)optimize from Optimizer (and small other fixes) (#8123)max_size to Statevector LaTeX drawer (#8197)basis_gates (#8160)Statevector (#8062)dt units in test util function convert_to_target (#8000)shots to be a numpy.int64 (#7824)Fix potential infinite loop in SabreSwap
shots to be a numpy.int64 (#7824) (#7934)Deprecate SuzukiTrotter odd order
Release Notes: https://qiskit.org/documentation/release_notes.html#terra-0-20-0
ParameterExpression values in TemplateOptimization pass (#6899)BasisTranslator for faster basis search. (#7211)size during transpiler optimization (#7542)vqe._eval_aux_ops method. (#7758)SparsePauliOp.simplify (#7656)SparsePauliOps from index lists (#7401)Z2Symmetries (#7598)import qiskit with lazy imports (#7525)parameter_prefix in Z(Z)FeatureMap (#7590)__repr__ to DAG nodes (#7559)CSPLayout (#7842)PauliEvolutionGates the same name-attribute for all instances (#7638)__slots__ for Bit subclasses (#7708)QuantumCircuit._append and bit resolver (#7618)contract_nodes from retworkx in DAGCircuit. (#7665)qiskit.algorithms (#7257)SparsePauliOp.simplify (#7656)partial_trace when not removing subsystems (#7613)StabilizerState.expectation_value (#7460)IGate from PauliGate and opflow.I (#7569)PauliSumOps for diagonality in CVaRMeasurement (#7574)PauliSumOp.permute to not change the original object (#7339)LieTrotter evolution synthesis (#7551)DAGCircuit.draw for invalid filenames (#7447)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Add support for Python 3.10 (backport #7102)
PauliSumOps for diagonality in CVaRMeasurement (#7574) (#7602)PauliSumOp.permute to not change the original object (#7339) (#7599)LieTrotter evolution synthesis (#7551) (#7591)DAGCircuit.draw for invalid filenames (#7447) (#7531)Reinstate and deprecate loose measure and reset functions
Add full deprecation warning to util.py
Full release notes: https://qiskit.org/documentation/release_notes.html#terra-0-19-0
InstructionSet.c_if (#7255)SparsePauliOp.sum (#7202)SparsePauliOp._add (#7138)from_heavy_hex() and from_heavy_square() generator methods to CouplingMap (#6959)__repr__ method for Instructions (#6932)CXCancellation optimization pass to generic gate-inverse pairs (#6855)Optimizer.optimize by Optimizer.minimize (#6866)QuantumCircuit.assign_parameters docstring (#6723)InstructionSet.c_if (#7255)PauliExpectation.compute_variance (#7169)SparsePauliOp._add (#7138)ScheduleBlock in execute (#7019)EvolvedOperatorAnsatz is a float (#6792)np.array_equal to np.allclose (#6473) (#6644)QuantumCircuit.assign_parameters docstring (#6723)Allow binding complex values to parameters in Opflow coefficients
Correctly handle parametric pulse assemble() kwarg if empty list
Exclude bip-mapper extra from all
EvolvedOperatorAnsatz is a float (#6792) (#6805)np.array_equal to np.allclose (#6473) (#6644) (#6739)Deprecate the QiskitIndexError exception class
most_likely_phase to phase in PhaseEstimator (#6238)QuantumCircuit.compose (#6659)qiskit.algorithms.optimizers (#6545)Gate.label to parent Instruction class (#6626)reps=0 in the n-local circuits (#6273)Optimize1qGatesDecomposition length heuristic (#6553)dag_drawer removes a temporary file that is still open (#6266)Pauli.evolve for CZ, CY, Swap (#6287)SparseVectorStateFn (#6272)Unroller (#6155)Deprecate Bit.index and Bit.register
PauliTwoDesign to the circuit library (#5552)reverse_qargs to Statevector and DensityMatrix (#5464)__array__ method to Gate and quantum_info classes (#5402)Quaternion from operators to synthesis (#5449)NLocal (#5884)Fix U2Gate decomposition in QuantumCircuit.u2 deprecation message.
Fix bug in quantum channel subtraction
Deprecate QuantumCircuit.u1/2/3
Remove deprecated multi-qubit acquire instructions
condition argument from apply_operation_back (#4135)shiftf to schema (#4359)condition argument from apply_operation_back (#4135)Fix import of deprecated gates from qiskit.extensions
Stop monkeypatching standard gates and move them to circuit/library/standard_gates
from_int method to Statevector and DensityMatrix (#4289)Deprecate some unneeded methods of QuantumState
OneQubitEulerDecomposer class and add RR basis decomposition. (#3703)SparsePauliOp operator class (#3932)Clifford operator class (#3938)sample_measure to Statevector and DensityMatrix (#3987)StabilizerTable class (#3931)PauliTable symplectic operator class (#3889)num_qubits attribute to QuantumState and BaseOperator (#3986)ScalarOp to quantum_info.operators (#3887)ScalarOp to quantum_info.operators (#3887)"ScalarOp to quantum_info.operators (#3887)qargs property, __call__, method to set qargs to BaseOperators (#3873)OneQubitEulerDecomposer class and add RR basis decomposition. (#3703)Nothing published for this version
Nothing published for this version
Rename and deprecate qubit keyword args on standard gates.
dot method to operator classes (#3740)partial_trace function to quantum_info (#3665)partial_trace function to quantum_info (#3665)average_gate_fidelity, gate_error, and modify process_fidelity functions (#3660)control of standard gates where possible (#3631)dot method to operator classes (#3740)Nothing published for this version
Fix bug where lo units were not being properly converted
TranspilerAccessError is deprecated in favor of TranspilerError
eigh instead of eigvals for possibly non-hermitian matrices (#3376)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Deprecate passing in an ast node as a instruction parameter
The gates U and CX are being deprecated in favor of u3 and cx. (\#2380)
U and CX are being deprecated in favor of u3 and
cx. (#2380)u0 is being deprecated in favor of using multiple id gates
to insert delays (#2664)requires_qe_access is being deprecated in favor of
online_test.as_dict method of Qobj is deprecated in favor of to_dict. (#2556)Delay. A Delay occupies a pulse channel for a
duration of time, blocking other instructions from being inserted in this time. (#2869)Schedule and Instruction. (#2873)gate_map and reference images for testing plot_gate_mapCountOpsLongest analysis pass to retrieve the number of operations
on the longest path of the DAGCircuit. (#2734)sech and sech_deriv pulses in qiskit.pulse.pulse_lib.vertical_compression was added to the text drawer and
to the QuantumCircuit.draw method. The option allows to control
how much room the text circuit drawing takes.idle_wires was added to the drawers to control
if wires without any operation should be included in the drawing. (#2692)Schedule.filter to filter by instruction
channel, time, and type. (#2597)random_circuit function under qiskit.circuit.random
(#2553)equiv method to Operator and Statevector classes for
testing if two objects are equivalent up to global phase (#2910)output_name as a transpiler parameter to set the name of
output circuits (#2745)ParmeterVector class has been added to ease the construction of circuits
requiring a large number of parameters. (#2379)Schedule.instructions now returns with time-ordering.qubit_lo_freq and
meas_lo_freq are not supplied to assemble_schedules. (#2833)pulse.samplers module has now been moved to pulse.pulse_lib.samplers. (#2881)memory_slots is not supplied.pylatexenc and pillow requirements are now optional. These
are only used by the latex and latex_source circuit
visualization backends. To continue using them ensure these are
installed. (#2451)Qubit and Clbit respectively. (#2414)CXDirection, Swap passes, CheckMap, CheckCnotDirection)
now operate on a register-less circuit corresponding to
an already embedded physical circuit. (#2672)LegacySwap by faster, more stable StochasticSwap pass (#2672)Snapshot signature to match simulator.snapshot (#2592)DAGCircuit.width() formerly returned number of qubits, now returns total
number of qubits + classical bits (#2564)DAGCircuit.width() now call
DAGCircuit.num_qubits() (#2564)DAGCircuit.num_cbits() renamed to DAGCircuit.num_clbits() (#2564)Cu3Gate to to equivalent to the canonical
definition of a controlled U3Gate (#2755)coupling_map now required to validate a backend.configuration() (#2836)QuantumCircuit.count_ops now returns an OrderedDict instead of a dict.with_layout=False in the method
QuantumCircuit.draw. (#2739)Timeslots for a pulse Instruction at initialization.qiskit.visualization.plot_state and
qiskit.visualization.iplot_state have been removed. Instead use
the specific functions for each plot type (#2325).execute, transpile, and assemble.
Removed deprecated compiler.qcvv in tools. Removed deprecated converters
qobj_to_circuits and circuits_to_qobj (#2301)qiskit._util module has been removed.
Use qiskit.util instead. (#2329)qiskit.tools.logging are removed. (#2387)qiskit.qiskiterror module has been removed. Please use
qiskit.exceptions instead. (#2399)DAGCircuit methods (#2542)CompositeGate class, in favor of adding Instruction
objects directly (#2543)ignore_requires and ignore_preserves options from
PassManager (#2565).CmdDef was getting built without buffers on channels.Pulse for multiple parameters being added (#2742)Pulse for CmdDef arguments (#2741)Operator and SuperOp for initializing from circuit
containing gates without an explicit matrix definition (#2723)TwoQubitDecomposerid gates from circuit. id gates are
like a wait command and will never be removed (#2663)CommutationAnalysis pass affecting conditional gates (#2669)BasicAer Qasm simulator if a qubit
was measured into more than one classical bit (#2735)BasicAer Qasm simulator if only a
subset of qubits are measured (#2790)Corrected the deprecation warning message for qiskit.converters.qobj_to_circuits
qiskit.converters.qobj_to_circuits (#2350)execute() and transpile() functions to enable setting
optimization level 0. (#2370)assemble_schedule were not actually optional, ensure
they're required (#2398)The previously deprecated default output of circuit_drawer() (using latex and falling back to mpl) is no longer present. Instead the default output is…
SamplePulse (#2042).meas_level to result schema (#2085).justify to the text, mpl and latex circuit drawers to say how the
circuit should be aligned. (#1725, #1797, #1977)qiskit.quantum_information
(#1733)__qiskit_version__ parameter to the qiskit namespace. This will
contain a dictionary of versions for all installed qiskit elements. (#1885).RunConfig object for configurations related to running an
experiment (e.g. shots, memory) (#1856)TranspileConfig object for configurations related to transforming
circuits (e.g. basis_gates, coupling_map, initial_layout) (#1856)qiskit.compiler namespace for all functions that transpile, schedule
and assemble circuits and pulses (#1856)basis_gates, coupling_map etc. to the
qiskit.compiler.transpile() function, each corresponding to one of the circuits (#2163)qiskit.compiler.assemble_circuits() function to generate qobj from some
circuits and a RunConfig (#1856)execute() and assemble() allow setting a qobj_header, of type
QobjHeader or dict, to add extra information to the qobj (and thus result).Depth, Width, Size, CountOps, and
NumTensorFactors, all grouped in the ResourceEstimation analysis pass.nodes_on_wire() to DAGCircuit which returns an iterator over all the
operations on the given wirenum_qubits, num_clbits (#1816).QuantumCircuit.append public method for appending arbitrary instructions
to some qubits and clbits in the circuit (#1816).Instruction.definition property that defines a composite instruction
in terms of other, simpler instructions (#1816).Instruction.mirror() method that mirrors a composite instruction
(reverses its sub-instructions) (#1816).PassManager.passes() method that returns a list of the passes that
have been added to the pass manager, including options and flow controllers.PassManager.run() that transforms a QuantumCircuit according to its
pass schedule and returns a QuantumCircuit.qiskit.quantum_info.random for generating random states, unitaries, etc (#2119).qiskit.quantum_info.synthesis for algorithms that synthesize circuits (#2119).NoiseAdaptiveLayout pass to compute a backend calibration-data aware initial
qubit layout. (#2089)OptimizeSwapBeforeMeasure pass that removes the swap gates when they
are followed by a measurement instruction, moving the latter to the proper wire. (#1890)RemoveDiagonalGatesBeforeMeasure pass that removes the diagonal gates when they
are followed by a measurement instruction. (#2208)CommutativeCancellation pass that cancels self-inverse gates and combines
rotations about the Z axis, leveraging previously-found gate commutation relations. (#2012)Collect2qBlocks pass that analyzes the circuit for uninterrupted sequences
of gates (blocks) acting on 2 qubits. (#2134)ConsolidateBlocks that turns previously-collected blocks of any size
into equivalent Unitary operators in the circuit. (#2134)scipy.stats.unitary_group.rvs for random_unitary().functional_pulse
that returns a SamplePulse when called. (#2043)average_data to accept observable input in matrix form (#1858)Exception subclasses have been moved to an .exceptions module
within each package (for example, qiskit.exceptions.QiskitError) (#1600).QiskitTestCase and testing utilities are now included as part of
qiskit.test and thus available for third-party implementations, with
convenience test cases for providers and backends. (#1616, #1844)label and snap_type instead of
slot (#1615).circuit_drawer() (using latex
and falling back to mpl) is no longer present. Instead the default output
is the ascii art text output backend.dag_drawer and plot_gate_map are available via importing
qiskit.tools.visualization. They will raise at the point of use, if
dependencies are not installed (#1669).qiskit.validation schemas are now strict and raise a more specific
ModelValidationError (#1695).qiskit.tools.qi.qi calls new version in
qiskit.quantum_information and issues deprecation warning (#1733)dag.node_counter to return the current number of nodes (#1763)basis_gates used in compile, execute, and transpile
is not longer a comma-separated string but a list of strings. For example,
this basis ['u1','u2','u3','cx'] should be used instead of 'u1,u2,u3,cx'
(#1333)DAGCircuit which previously returned node_ids and/or dicts now
return DAGNodesQobj classes have been reimplemented using models and schemas, as the
rest of spec-defined entities. (#1909).Qobj into PulseQobj and QasmQobj (#1969).circuit.s(qr).inverse() or circuit.s(qr).c_if(cr, 4)).
Instead, you must first modify the gate then attach it (#1816).QuantumCircuit.data now contains a list of tuples, where each tuple is a
(instruction, qarg, carg) (#1816).qiskit.tools.visualization to
qiskit.visualization. The public API (which was declared stable in
the 0.7 release) is still accessible off of qiskit.tools.visualization.
(#1878)transpile() accepts initial_layout in the form of dict, list or Layout (#2157).execute() or transpile() no longer defaults to unrolling
to the ['u1', 'u2', 'u3', 'cx'] basis. Instead the default behavior is to not unroll,
unless specifically requested (#2166)._get in the DAGCircuit object are being renamed
without that prefix (see #1346)couplinglist of CouplingMap from tuples to lists
(#1666).QiskitError (#1802).qiskit.tools.qcvv package is deprecated in favor of Qiskit Ignis (#1884).qiskit.compile() function is now deprecated in favor of explicitly
using the qiskit.compiler.transpile() function to transform a circuit followed
by qiskit.compiler.assemble() to make a qobj out of it.qiskit.converters.qobj_to_circuits() has been deprecated and will be
removed in a future release. Instead
qiskit.compiler.disassemble_circuits() should be used to extract
QuantumCircuit objects from a compiled qobj. (#2137)qiskit.transpiler.transpile() function is deprecated in favor of
qiskit.compiler.transpile() (#2166).seed_mapper argument in transpile() and execute() is deprecated in favor of
seed_transpile(), which sets the seed for all stochastic stages of the transpiler (#2166).seed argument is execute() is deprecated in favor of seed_simulator (#2166).pass_manager argument in transpile() is deprecated. Instead, the
pass_manager.run() methdod can be used directly to transform the circuit (#2166).qiskit._util module is deprecated and replaced by qiskit.util.
qiskit._util will be removed in the 0.9 release. (#2154)initial_layout could be changed even if it made the circuit
compatible with the device coupling_map (#2036).qobj_to_circuits for circuits that contain initialize instructions
(#2138)plot_circuit(),
latex_circuit_drawer(), generate_latex_source(), and
matplotlib_circuit_drawer() from qiskit.tools.visualization have
been removed. The circuit_drawer() function from the same module should
be used instead.plot_barriers and reverse_bits keys in
the style kwarg dict are deprecated, instead the
qiskit.tools.visualization.circuit_drawer() kwargs plot_barriers and
reverse_bits should be used instead.save, load, wait, noise
as unsupported in Aer (#1615).result methods (#1659)couplingdict kwarg from CouplingMap (#1666)transpile_dag() format kwarg (#1664)Pauli v, w, and pauli_group case arg as int (#1680)state_fidelity() function from tools.qi (#1681)QISKitError in favor of QiskitError. (#1684)qiskit.providers.ibmq) has been moved to its own
package (pip install qiskit-ibmq-provider). (#1700)compiled_circuit_qasm has been removed from the Qobj header, since it
was part of the pre-qobj specification (#1715).plot_wigner_function,
plot_wigner_curve, plot_wigner_plaquette, and plot_wigner_data
(#1860).Instruction.reapply() method (#1816).Nothing published for this version
A potential issue where the backend configuration schema validation would improperly reject valid responses from the API
Fixed a bug with measurement sampling optimization in BasicAer qasm_simulator (#1624).
The different unrollers are deprecated. The only unrolling happens from DAG to DAG (#1210).
Graphivz <https://www.graphviz.org/>_
(#1059)draw() method which behaves the same
as the qiskit.tools.visualization.circuit_drawer() function for visualizing
the quantum circuit (#911)hinton can be used on
qiskit.tools.visualization.plot_state() to draw a hinton diagram (#1246)from_qasm_str() and from_qasm_file(), to
create a QuantumCircuit object from OpenQASM were added to the
QuantumCircuit class. (#1172)size(), depth(), width(), count_ops(), num_tensor_factors() (#1285)backend_monitor and backend_overview Jupyter magics,
as well as plot_coupling_map (#1231)Layout object (#1313)plot_bloch_multivector() to plot Bloch vectors from a tensored state
vector or density matrix. (#1359)memory=True in compile()/execute(),
and retrieve them from result.get_memory() (#1385).qiskit.converters module for translation between commonly used
representations of a circuit: dag_to_circuits, circuits_to_dag,
qobj_to_circuits, circuits_to_qobj, ast_to_dag..qobj() method for IBMQ and local simulator Jobs (#1532)..retrieve_job() and .jobs() no longer returns results by default,
instead the result must be accessed by the result() method on the job
objects (#1082).backend.status() dictionary conform with schema.qiskit.tools.visualizations. (#1105, #1111)qiskit.tools.visualization.circuit_drawer() method now returns
a matplotlib.Figure object when the mpl output is used and a
TextDrawer object when text output is used. (#1224, #1181)IBMQ.save_account() now takes an overwrite option to replace an existing
account on disk. Default is False (#1295).backend.status() (#1301).backend.configuration() (and __init__) (#1323).backend.properties(), returning None for sims (#1331, #1401).qiskit.Result (#1360).backend.provider() is now a method instead of a property (#1312).qiskit.tools.visualization._counts_visualization.py,
qiskit.tools.visualization._state_visualization.py, and
qiskit.tools.visualization.interactive have been modified to make them
in-line with standard Matplotlib calling conventions (#1359).transpile() now takes QuantumCircuit(s) to QuantumCircuit(s), and DAG
processing is only done internally (#1397).qiskit.backends has been renamed to qiskit.providers (#1531).qiskit.backends.aer has been removed in favor of
qiskit.providers.builtinsimulators (Python simulators) and
qiskit.providers.legacysimulators (C++ simulators) (#1484)Aer in qiskit root module depends on having the
qiskit-aer package installed, by default it is not present. Instead there are
2 new provider instances in the root module BasicAer which provides the
Python simulators and LegacySimulators which provides the old C++
simulators in qiskit-terra. (#1484)plot_circuit(), latex_circuit_drawer(), generate_latex_source(),
and matplotlib_circuit_drawer() from qiskit.tools.visualization are
deprecated. Instead the circuit_drawer() function from the same module
should be used. (#1055)circuit_drawer() (using latex and falling
back on python) is deprecated and will be changed in the future. (#1055)qiskit.wrapper.load_qasm_string() and qiskit.wrapper.load_qasm_file()
functions are deprecated and the QuantumCircuit.from_qasm_str() and
QuantumCircuit.from_qasm_file() contstructor methods should be used instead
(#1172)plot_barriers and reverse_bits keys in the style kwarg dict
are deprecated, instead the qiskit.tools.visualization.circuit_drawer()
kwargs plot_barriers and reverse_bits should be used instead. (#1180)transpile_dag() function format kwarg for emitting different
output formats is deprecated (#1319).qiskit.Result have been deprecated (#1360).plot_state() and iplot_state() have been depreciated.
Instead the functions plot_state_*() and iplot_state_*() should be
called. (#1359)skip_transpiler arg has been deprecated from compile() and
execute() in favor of using the PassManager directly.random_state from returning nan (#1258)run() method now works correctly with the updated
AerJob usage (#1125)number_to_keep kwarg in plot_histgram() now functions correctly
(#1359).timeout parameter is now passed into the inner _wait_for_submission
function in IBMQJob from _wait_for_result (#1542).IBMQuantumExperience, as it is now included
in qiskit.backends.IBMQ (#1198).matplotlib is no longer in the package requirements and is now an
optional dependency. In order to use any matplotlib based visualizations
(which includes the qiskit.tools.visualization.circuit_drawer()
mpl output,
qiskit.tools.visualization.plot_state,
qiskit.tools.visualization.plot_histogram, and
qiskit.tools.visualization.plot_bloch_vector you will now need to ensure
you manually install and configure matplotlib independently.basis kwarg for the circuit_drawer() function to provide an
alternative list of basis gates has been removed. Instead users should adjust
the basis gates prior to visualizing the circuit. (#1151)backend.parameters() and backend.calibration() have been fully
deprecated, in favour of backend.properties() (#1305).qiskit.tools.file_io module has been removed. Conversion between
qiskit.Result and json can be achieved using .to_dict() and
.from_dict() directly (#1360).qiskit.Result class method for len() and indexing have been
removed, along with the functions that perform post-processing (#1351).get_snapshot() and get_snapshots() method from the Result
class has been removed. Instead you can access the snapshots in a Result
using Result.data()['snapshots'].job.backend_name(), job.id(), and the
backend_name parameter in its constructor.qiskit.Result class now does post-processing of results returned
from backends if they are called via the Result.get_xxx() methods
(i.e. get_counts(), get_memory(), get_statevector(),
get_unitary()). The raw data is accessible through Result.data()
(#1404).transpile() function kwarg format has been removed and will
always return a circuit object. Instead you'll need to manually convert the
output with the functions provided in qiskit.converters.Re-package Linux wheel to fix a problem with the native simulator
Breaking change: Jobs API simplification.
SchemaValidationError to be thrown when schema validation fails (#881)qiskit.IBMQ provider, with centralized handling of IBMQ
credentials (qiskitrc file, environment variables). (#547, #948, #1000)qobj_to_circuits to convert a Qobj object to
a list of QuantumCircuit objects (#877)IBMQ.load_accounts().tests/schemas/test_schemas.py replaced with proper
unit test (#834).QISKit to Qiskit in the documentation. (#634)Qobj as the formally defined schema for sending information to the devices:
qiskit.qobj module. (#589, #655)Qobj JSON schema. (#668, #677, #703, #709)Qobj as input. (#667)Result class. (#773)get_status_job() for checking IBMQJob status. (#641)Jobs API simplification. (#686)BaseBackend API changed, properties are now methods (#858)plot_histogram() or plot_state() are called from a jupyter
notebook if there is network connectivity the interactive plots will be used
by default (#862, #866)BaseJob API changed, any job constructor must be passed
the backend used to run them and a unique job id (#936).number_to_keep kwarg on the plot_histogram() function is now
deprecated. A field of the same name should be used in the option
dictionary kwarg instead. (#866)backend.properties() instead of backend.calibration()
and backend.parameters() (#870)get_ran_qasm methods on Result instances (#688).probabilities_ket computation in C++ simulator (#580).cswap gate and its test (#685).Add new backend names support, with aliasing for the old ones.
Rename repository to qiskit-terra (#606).
qiskit-terra (#606).Retrieve IBM Q jobs from server (#563, #585).
doc/de) (#592).unregister() for removing previously registered providers (#584).status['available'] is now status['operational'] (#609).register() (#602).Performance improvements: remove deepcopies from dagcircuit, and extra check on qasm()
Added
Performance improvements:
remove deepcopies from dagcircuit, and extra check on qasm() (#523)
Changed
Rename repository to qiskit-core (#530).
Repository improvements: new changelog format (#535), updated issue templates (#531).
Renamed the specification schemas (#464).
Convert LocalJob tests into unit-tests. (#526)
Move wrapper load_qasm_* methods to a submodule (#533).
Removed
Remove Sympy simulators for moving to new repository (#514)
Fixed
Fix erroneous density matrix and probabilities in C++ simulator (#518)
Fix hardcoded backend mapping tests (#521)
Removed _modifiers call from reapply (#534)
Fix circuit drawer issue with filename location on windows (#543)
Change initial qubit layout only if the backend coupling map is not satisfied (#527)
Fix incorrect unrolling of t to tdg in CircuitBackend (#557)
Fix issue with simulator extension commands not reapplying correctly (#556)
Added load_qasm_file / load_qasm_string methods
Deprecating ibmqx_hpc_qasm_simulator and ibmqx_qasm_simulator in favor of: ibmq_qasm_simulator.
There are no code changes. MacOS simulator has been rebuilt with external user libraries compiled statically, so there's no need for users to have a p
There are no code changes. MacOS simulator has been rebuilt with external user libraries compiled statically, so there's no need for users to have a preinstalled gcc environment. Pypi forces us to bump up the version number if we want to upload a new package, so this is basically what have changed.
Avoid relying on QuantumProgram (eventual deprecation).
local and ibmq.BaseProvider class.
BaseBackend class.
BaseJob class.wrapper (#376).
compile and execute functions).available_backends).qiskit.get_backend()).BaseJob class and asynchronous jobs (#403).
BaseJob after run().status and results, or to cancel a jobskip_transpiler flag for compile() (#411).tensor_index.hpp for multi-partite qubit vector indexing.qubit_vector.hpp for multi-partite qubit vector algebra.local_statevector_simulator_py and local_statevector_simulator_cpp.compact flag to query backend names only by unique function.get_statevector, get_unitarysnapshot command for caching a copy of the current simulator state.circuit_drawer() and plot_circuit() (#295, #414)test/performance) (#277)local_qasm_simulator_cpp (#318)local_clifford_simulator_cpp (#440)QuantumProgram are soon to be deprecated. Please use the
top-level functions instead.Register instantiation now expects size, name. Using
name, size is still supported but will be deprecated in the future.local_statevector_simulator, or explicitly ask for snapshot.job instance after run(), rather than result.PROVIDERNAME_SIMPLEALIAS_simulator_LANGUAGEORPROJECTqiskit/extensions/simulatorFixed an issue with legacy code that was affecting Developers Challenge
Fixed an issue about handling Basis Gates parameters on backend configurations
Your coding agent can read these notes before it upgrades. Set up the MCP server →