|
| 1 | +0.34.0 (2024-12-05) |
| 2 | +=================== |
| 3 | + |
| 4 | +New Features |
| 5 | +------------ |
| 6 | + |
| 7 | +- Added the ``draw_zne_evs`` and ``draw_zne_extrapolators`` functions to visualize data from |
| 8 | + experiments using ZNE. |
| 9 | + Added ``EstimatorPubResult`` with methods ``draw_zne_evs`` and |
| 10 | + ``draw_zne_extrapolators``, invoking the corresponding visualization functions. (`1820 <https://github.com/Qiskit/qiskit-ibm-runtime/pull/1820>`__) |
| 11 | +- Added support for noise model and level 1 data to local sampler |
| 12 | + |
| 13 | + The ``simulator.noise_model`` option of :class:`~.SamplerV2` is now passed |
| 14 | + through to the :class:`~qiskit.primitives.BackendSamplerV2` as a `noise_model` |
| 15 | + option under `run_options` if the primitive supports the `run_options` option |
| 16 | + (support was added in Qiskit v1.3). |
| 17 | + |
| 18 | + Similarly, the ``execution.meas_type`` option of :class:`~.SamplerV2` is now |
| 19 | + translated into ``meas_level`` and ``meas_return`` options under |
| 20 | + ``run_options`` of the :class:`~qiskit.primitives.BackendSamplerV2` if it |
| 21 | + supports ``run_options``. This change allows support for level 1 data in local |
| 22 | + testing mode, where previously only level 2 (classified) data was |
| 23 | + supported. (`1990 <https://github.com/Qiskit/qiskit-ibm-runtime/pull/1990>`__) |
| 24 | +- A new function ``validate_rzz_pubs`` was added. The function verifies that ``rzz`` parameters are in the range between ``0`` and ``pi/2``, for numeric parameters (e.g., ``rzz(np.pi/4, 0)``), and for unbounded parameters (``rzz(theta, 0)``) with values to substitute provided in the pub. Parameter expressions (e.g., ``rzz(theta + phi, 0)``) are still not validated. (`2021 <https://github.com/Qiskit/qiskit-ibm-runtime/pull/2021>`__) |
| 25 | +- Added a new transpiler translation plugin :class:`~.IBMFractionalTranslationPlugin` |
| 26 | + and a pass :class:`~.FoldRzzAngle`. |
| 27 | + This plugin is automatically applied for backends |
| 28 | + retrieved with the ``use_fractional_gates`` opt-in, |
| 29 | + and the folding pass is added when the backend target includes the ``RZZ`` gate. |
| 30 | + |
| 31 | + The new pass modifies the input quantum circuit, so that all ``RZZ`` gates in the |
| 32 | + circuit have an angle parameter within [0, pi/2] which is supported |
| 33 | + by IBM Quantum processors. (`2043 <https://github.com/Qiskit/qiskit-ibm-runtime/pull/2043>`__) |
| 34 | + |
| 35 | + |
| 36 | +Bug Fixes |
| 37 | +--------- |
| 38 | + |
| 39 | +- Fixed an issue where ``FakeBackendV2.refresh()`` wouldn't always |
| 40 | + refresh the backend properties, defaults, and configuration. (`2020 <https://github.com/Qiskit/qiskit-ibm-runtime/pull/2020>`__) |
| 41 | +- ``CouplingMap`` was added to :class:`~.RuntimeEncoder` so it can now be passed to |
| 42 | + the :class:`~.NoiseLearner` program. (`2026 <https://github.com/Qiskit/qiskit-ibm-runtime/pull/2026>`__) |
| 43 | +- The behavior of the ``use_fractional_gates`` argument of |
| 44 | + :meth:`.QiskitRuntimeService.backend` has been changed. When the option is set |
| 45 | + to ``False``, it now filters all references to fractional gates out of the |
| 46 | + configuration and properties data from the API. Likewise, when the option is |
| 47 | + set to ``True``, all dynamic circuit instructions are filtered from the |
| 48 | + configuration and properties data. Previously, this option only impacted the |
| 49 | + creation of the backend's target, which meant that the instructions in the |
| 50 | + target were not consistent with those in the configuration and properties data. |
| 51 | + For the most part, this change should be transparent to users, but if there is |
| 52 | + code relying on the configuration and properties data containing all |
| 53 | + instructions, it will need to be updated (note that setting |
| 54 | + ``use_fractional_gates`` to ``None`` will load all instructions without |
| 55 | + filtering). (`2031 <https://github.com/Qiskit/qiskit-ibm-runtime/pull/2031>`__) |
| 56 | +- Invalid or non-existing backend configurations on the server will no longer |
| 57 | + prevent all backends from being retrieved with ``service.backends()``. (`2048 <https://github.com/Qiskit/qiskit-ibm-runtime/pull/2048>`__) |
| 58 | +- Pin ``pydantic`` dependency version to ``<2.10`` to avoid a regression breaking |
| 59 | + the build process. (`2049 <https://github.com/Qiskit/qiskit-ibm-runtime/pull/2049>`__) |
| 60 | + |
| 61 | + |
| 62 | +Other Notes |
| 63 | +----------- |
| 64 | + |
| 65 | +- The deprecations from the ``0.26.0`` release have been removed. |
| 66 | + |
| 67 | + - Passing a backend as a string into ``Session``, ``Batch``, |
| 68 | + ``Sampler``, and ``Estimator`` is no longer valid. Use the actual backend |
| 69 | + object instead. |
| 70 | + - Previously, passing a backend as the mode into ``SamplerV2`` or ``EstimatorV2`` |
| 71 | + ran jobs in job mode, even if a session context manager was open. These jobs will now |
| 72 | + run inside of the open session. Additionally, if a backend that is different |
| 73 | + from the session backend is passed in as the mode, an error will be raised. |
| 74 | + - ``Service`` is no longer a valid parameter in ``Session`` and ``Batch``. (`2027 <https://github.com/Qiskit/qiskit-ibm-runtime/pull/2027>`__) |
| 75 | + |
| 76 | +- The ``requirements.txt`` and ``setup.py`` files have been removed in favor of a new dependency management |
| 77 | + approach using ``pyproject``. This transition simplifies the development workflow. Dependencies |
| 78 | + are now managed directly through the `pyproject.toml` file. |
| 79 | + |
| 80 | + - Use ``pip install -e .`` to install qiskit-ibm-runtime dependencies. |
| 81 | + - Use ``pip install -e ".[dev]"`` to install the development dependencies. |
| 82 | + - Use ``pip install -e ".[visualization]"`` to install the visualization dependencies. (`2053 <https://github.com/Qiskit/qiskit-ibm-runtime/pull/2053>`__) |
0 commit comments