Release Notes


New Features

  • When retrieving a job with qiskit_ibm_runtime.IBMRuntimeService.job() the params will no longer be returned from the API. They will instead be loaded loazily when they are actually needed in qiskit_ibm_runtime.RuntimeJob.inputs().

  • Added warning when the backend is not active in QiskitRuntimeService.run.

  • Support input of type CouplingMap when given as simulator option. Previously we supported, for example:

    options.simulator = {"coupling_map": [[0, 1], [1, 0]]}

    Now we also support the following:

    options.simulator = {"coupling_map": CouplingMap.from_line(10)}

Upgrade Notes

  • A default session is no longer open for you if you pass a backend name or backend instance to qiskit_ibm_runtime.Sampler or qiskit_ibm_runtime.Estimator constructors. The primitive will instead run without a session. In addition, you should now use the backend parameter to pass a backend name or instance instead of the session parameter (which can continue to be used to pass a session).

  • The first parameter of the qiskit_ibm_runtime.Sampler and qiskit_ibm_runtime.Estimator constructors is now backend instead of session.

Deprecation Notes

  • Passing a backend name or backend instance to the session parameter when initializing a qiskit_ibm_runtime.Sampler or qiskit_ibm_runtime.Estimator has been deprecated. Please use the backend parameter instead. You can continue to pass a session using the session parameter.


New Features

  • Python 3.11 is now supported.

Upgrade Notes

  • Added error messages in case the user defines unsupported values for 『max_execution_time』. Previously, this validation was done on the server side.

Bug Fixes

  • Added deserialization of the params of RuntimeJob.inputs. Previously, the circuits were returned in serialized format. Fixes issue #829.

  • Allow for users to retrieve all backends even if one of the backends has a missing configuration. The backend without a configuration will not be returned.


New Features

  • Added methods to validate input options to transpilation and environment options.

Upgrade Notes

  • When constructing a backend qiskit.transpiler.Target, faulty qubits and gates from the backend configuration will be filtered out.

Deprecation Notes

  • The deprecated arguments circuits, parameters, service, and skip_transpilation have been removed from Sampler.

    Similarly, the deprecated arguments circuits, observables, parameters, service, and skip_transpilation have been removed from Estimator.

    In QiskitRuntimeService, the auth parameter has been removed. Additionally, the instance, job_tags, and max_execution_time paramters have been removed from qiskit_ibm_runtime.QiskitRuntimeService.run(). They can be passed in through RuntimeOptions instead.

    Within RuntimeOptions, backend_name is no longer supported. Please use backend instead.

Bug Fixes

  • Fixed a bug where retrieving a job from a backend without noise_model or seed_simulator options would result in a key error.


Upgrade Notes

  • Added error messages in case the user defines unsupported values for 『optimization_level』 or for 『resilience_level』. Added validation checking for options given as input to resilience. Previously, this validation was done on the server side. By adding them on the client side, response will be much faster upon failure. The environment variable QISKIT_RUNTIME_SKIP_OPTIONS_VALIDATION is used to control validation. If set, validation will be skipped.

  • Backend configurations are no longer loaded when QiskitRuntimeService is initialized. Instead, the configuration is only loaded and cached during get_backend() and backends().

Bug Fixes

  • When creating an Option object and passing an input option to resilience_options, this option was included in resilience_options, but the other, default options were removed. This was fixed, so now inputs are handled correctly, like other option types.


New Features

  • Added a new argument called session_time to the program_run method and qiskit_ibm_runtime.RuntimeOptions. Now values entered by the user for session max_time will be sent to the server side as session_time. This allows users to specify different values for session max_time and max_execution_time.

  • Added the method target_history(). This method is similar to target(). The difference is that the new method enables the user to pass a datetime parameter, to retrieve historical data from the backend.

Upgrade Notes

  • Accept all options on given on level 1 and assign them to the appropriate hierarchical option type. For example, if the user provides options = {"shots": 10} as input to Sampler/Estimator, this will be interpreted as options = {"execution: {"shots": 10}}.

  • If a job is returned without a backend, retrieving the backend through qiskit_ibm_runtime.RuntimeJob.backend() will re-retrieve data from the server and attempt to update the backend. Additionally, job_id and backend, which were deprecated attributes of qiskit_ibm_runtime.RuntimeJob have now been removed.

  • Added a user warning when the user passes an option that is not supported in Options.

Bug Fixes

  • Fixed a bug where the default values for optimization_level and for resilience_level were not being set correctly.

  • Fixed an issue where if no backend was selected, optimization_level and resilience_level would default to None, causing the job to fail.

  • If an instance is passed in to qiskit_ibm_runtime.QiskitRuntimeService.get_backend() and then the backend is used in a session, all jobs within the session will be run from the original instance passed in.

  • Removed additional decomposition of BlueprintCircuits in the JSON encoder. This was introduced as a bugfix, but has since been fixed. Still doing the decomposition led to possible problems if the decomposed circuit was not in the correct basis set of the backend anymore.


Upgrade Notes

  • qiskit_ibm_runtime.QiskitRuntimeService.jobs() now has a backend_name parameter that can be used to only return jobs run with the specified backend.

  • Allow the user to store account details in a file specified by the user in the parameter. filename. The default remains ~/.qiskit/qiskit-ibm.json. Example of usage: Ex:

                                      name = "my_account",
    service = QiskitRuntimeService(channel="ibm_quantum", 
                                   name = "my_account",)

Deprecation Notes

  • backend is no longer a supported option when using qiskit_ibm_runtime.Session.run(). Sessions do not support multiple cross backends. Additionally, an exception will be raised if a backend passed in through options does not match the original session backend in an active session.

Bug Fixes

  • ECRGate and CZGate mappings have been added to the Target constructor to fix a tranpile bug.

Other Notes

  • Since error messages from a failing job may be long, we shortened them so that they begin from the last Traceback in the message.