---
title: Qiskit 0.31 release notes
description: Changes made in Qiskit 0.31
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/release-notes/0.31
---

# Qiskit 0.31 release notes

## 0.31.0

### Terra 0.18.3

No change

### Aer 0.9.1

#### Upgrade Notes

- `optimize_ideal_threshold` and `optimize_noisy_threshold` have been removed from the lists of simulator defaults and the documentation. These have had no effect since Aer 0.5.1, but these references to them had remained accidentally.

#### Bug Fixes

- Fixes [#1351](https://github.com/Qiskit/qiskit-aer/issues/1351) where running an empty [`QuantumCircuit`](/docs/api/qiskit/0.46/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") with a noise model set would cause the simulator to crash.
- Fixes [#1347](https://github.com/Qiskit/qiskit-aer/issues/1347) where the behaviour of using the `set_options()` and `set_option()` methods of simulator backends could lead to different behavior for some options.
- Fixes an bug where using a Dask Client executor would cause an error at job submission due to the executor Client not being pickleable.
- Fixed an issue with the matrix\_product\_state simulation method where the accumulation of small rounding errors during measurement of many quits could sometimes cause a segmentation fault.
- Fixes an unintended change between qiskit-aer 0.8.0 and 0.9.0 where when running a list of circuits with an invalid circuit using the `automatic` simulation method of the `AerSimulator` or `QasmSimulator` would raise an exception for an invalid input qobj rather than return partial results for the circuits that were valid.
- Fixes an issue with the standalone simulator where it would return a [IBM Quantum API schema](https://github.com/Qiskit/ibm-quantum-schemas) invalid response in the case of an error that prevented the simulation from running.
- Fixes [#1346](https://github.com/Qiskit/qiskit-aer/issues/1346) which was a bug in the handling of the `parameter_binds` kwarg of the backend `run()` method that would result in an error if the parameterized circuit was transpiled to a different set of basis gates than the original parameterizations.

### Ignis 0.6.0

No change

### Aqua 0.9.5

No change

### IBM Q Provider 0.17.0

#### New Features

- A runtime program’s visibility can now be specified on upload using `is_public` parameter in `qiskit.providers.ibmq.runtime.IBMRuntimeService.upload_program()`.
- You can now specify a parent experiment ID when creating an experiment with `qiskit.providers.ibmq.experiment.IBMExperimentService.create_experiment()`. Experiments can also be filtered by their parent experiment ID in `qiskit.providers.ibmq.experiment.IBMExperimentService.experiments()`.
- Runtime image can now be specified using the image parameter in `qiskit.providers.ibmq.runtime.IBMRuntimeService.run()`. Note that not all accounts are authorized to select a different image.

#### Upgrade Notes

- `qiskit.providers.ibmq.runtime.RuntimeEncoder` and `qiskit.providers.ibmq.runtime.RuntimeDecoder` are updated to support Python `datetime`, which is not JSON serializable by default.

#### Bug Fixes

- Fixes the issue where `qiskit.providers.ibmq.managed.IBMQJobManager.retrieve_job_set()` only retrieves the first 10 jobs in a `qiskit.providers.ibmq.managed.ManagedJobSet`.
- `qiskit.providers.ibmq.runtime.RuntimeDecoder` can now restore dictionary integer keys in optimizer settings from a JSON string representation dumped by the `qiskit.providers.ibmq.runtime.RuntimeEncoder`.
