qiskit/releasenotes/notes/0.16/add-v2-interface-a993d673fd...

23 lines
1.2 KiB
YAML

---
features:
- |
A new version of the providers interface has been added. This new interface,
which can be found in :mod:`qiskit.providers`, provides a new versioning
mechanism that will enable changes to the interface to happen in a
compatible manner over time. The new interface should be simple to migrate
existing providers, as it is mostly identical except for the explicit
versioning.
Besides having explicitly versioned abstract classes the key changes for
the new interface are that the :class:`~qiskit.providers.BackendV1`
method :meth:`~qiskit.providers.BackendV1.run` can now
take a :class:`~qiskit.circuits.QuantumCircuit` or
:class:`~qiskit.pulse.Schedule` object as inputs instead of ``Qobj``
objects. To go along with that options are now part of a backend class
so that users can configure run time options when running with a circuit.
The final change is that :class:`qiskit.providers.JobV1` can now be
synchronous or asynchronous, the exact configuration and method for
configuring this is up to the provider, but there are interface hook
points to make it explicit which execution model a job is running under
in the ``JobV1`` abstract class.