Releases: PennyLaneAI/pennylane-qiskit
Release 0.39.1
In this release, we pin the version of qiskit
to <1.3
in the dependencies.
The reason is that the pennylane-qiskit
plugin is currently incompatible with qiskit 1.3
.
We are currently working to enable compatibility with the latest qiskit
version.
In the meantime, this release will prevent users from running into incompatibilities between the two versions.
Thank you for your attention.
Release 0.39.0
Improvements 🛠
- Make
qiskit_session
available top-level. Users can now import it aspennylane_qiskit.qiskit_session
. (#593)
Breaking changes 💔
-
Remove support for Python 3.9. (#597)
-
Upgrade minimum supported version of PennyLane to 0.38.0. (#599)
Documentation 📝
- Added warning in the documentation of
qiskit_session
due to recent reports of unexpected behavior. (#594)
Bug fixes 🐛
- Fix deprecated import path for
QubitDevice
. (#584)
Contributors ✍️
This release contains contributions from (in alphabetical order):
Astral Cai, Lillian M. A. Frederiksen, Austin Huang, Mudit Pandey
Release 0.38.1
Bug fixes 🐛
- Due to the removal of the
Session
andBackend
keywords in the 0.30 release ofqiskit-ibm-runtime
, the PennyLane-Qiskit
plugin now pins toqiskit-ibm-runtime<=0.29
. (#587)
Contributors ✍️
This release contains contributions from (in alphabetical order):
Austin Huang
Mudit Pandey
Release 0.38.0
New features since last release
-
Added support for converting Qiskit noise models to PennyLane
NoiseModels
usingload_noise_model
. (#577) (#578) -
Qiskit Sessions can now be used for the
qiskit.remote
device with theqiskit_session
context manager. (#551)
Improvements 🛠
- Qiskit Runtime Primitives are supported by the
qiskit.remote
device. Circuits ran using theqiskit.remote
device will automatically call the SamplerV2 and EstimatorV2 primitives appropriately. Additionally, runtime options can be passed as keyword arguments directly to theqiskit.remote
device. (#513)
Breaking changes 💔
-
Support has been removed for Qiskit versions below 0.46. The minimum required version for Qiskit is now 1.0. If you want to continue to use older versions of Qiskit with the plugin, please use version 0.36 of the Pennylane-Qiskit plugin. (#536)
-
The test suite no longer runs for Qiskit versions below 0.46. (#536)
-
The
qiskit.basicaer
device has been removed because it is not supported for versions of Qiskit above 0.46. (#546) -
The IBM quantum devices,
qiskit.ibmq
,qiskit.ibmq.circuit_runner
andqiskit.ibmq.sampler
, have been removed due to deprecations of the IBMProvider and the cloud simulator "ibmq_qasm_simulator". (#550)
Documentation 📝
- The Pennylane-Qiskit plugin page has been updated to reflect the changes in both the plugin's capabilities and Qiskit. #563
Contributors ✍️
This release contains contributions from (in alphabetical order):
Utkarsh Azad, Lillian M. A. Frederiksen, Austin Huang
Release 0.37.0
Improvements 🛠
-
Updated
load_qasm
to take the optional kwargmeasurements
which get performed at the end of the loaded circuit andload_qasm
can now detect mid-circuit measurements fromqasm
. (#555) -
Improvements have been made to load circuits with
SwitchCaseOp
gates with default case. (#514)
Contributors ✍️
This release contains contributions from (in alphabetical order):
Utkarsh Azad,
Mashhood Khan
Release 0.36.0
Release 0.36.0
New features since last release
-
Support is added for using the plugin devices with Qiskit 1.0. As the backend provider
qiskit.BasicAer
is no longer supported by Qiskit in 1.0, this added support does not extend to the"qiskit.aer"
device. Instead, a"qiskit.basicsim"
device is added, with the new Qiskit implementation of a Python simulator device,BasicSimulator
, as the backend. (#493) -
Backwards compatibility with Qiskit BackendV2 has now been implemented. Previously, only backends of type BackendV1 were supported but now users can choose to use BackendV2 as well. (#514)
Improvements 🛠
-
Following updates to allow device compatibility with Qiskit 1.0, the version of
qiskit-ibm-runtime
is no longer capped. (#508) -
The test suite now runs with the most recent
qiskit
andqiskit-ibm-runtime
, and well as with'qiskit==0.45'
andqiskit-ibm-runtime<0.21
to monitor backward-compatibility. (#508)
Contributors ✍️
This release contains contributions from (in alphabetical order): Lillian M. A. Frederiksen, Austin Huang
Release 0.35.1
Release 0.35.1
Bug fixes 🐛
- Following the 0.21 release of
qiskit-ibm-runtime
, which requires Qiskit 1.0, the PennyLane-Qiskit plugin pins to"qiskit-ibm-runtime<0.21"
. This preventspip install pennylane-qiskit
from installing Qiskit 1.0 (via the requirements ofqiskit-ibm-runtime
), which will break any environments that already have a 0.X.X version of Qiskit installed. (#486)
Contributors ✍️
Lillian Frederiksen
Release 0.35.0
Improvements 🛠
-
The UI for passing parameters to a
qfunc
generated when loading a QiskitQuantumCircuit
into PennyLane is updated to allow passing parameters as args or kwargs, rather than as a dictionary. The old dictionary UI continues to be supported. (#406) (#428) -
Measurement operations are now added to the PennyLane template when a
QuantumCircuit
is converted usingload
. Additionally, one can override any existing terminal measurements by providing a list of PennyLanemeasurements <https://docs.pennylane.ai/en/stable/introduction/measurements.html>
_ themselves. (#405) (#466) (#467) -
Added the support for converting conditional operations based on mid-circuit measurements and two of the
ControlFlowOp
operations -IfElseOp
andSwitchCaseOp
when converting aQuantumCircuit
usingload
. (#417) (#465) -
Qiskit's classical
Expr
conditionals can also be used with the supportedControlFlowOp
operations. (#432) -
Added conversion support for more Qiskit gates to native PennyLane operations -
Barrier
,CYGate
,CHGate
,CPhase
,CCZGate
,ECRGate
, andGlobalPhaseGate
. (#449) -
Added the ability to convert a Qiskit
SparsePauliOp
instance into a PennyLaneOperator
. (#401) (#453) -
Added a
pennylane.io
entry point for converting Qiskit operators. (#453) -
Unused parameters are now ignored when a
QuantumCircuit
is converted usingload
. (#454)
Bug fixes 🐛
-
QiskitDevice.batch_execute()
now gracefully handles empty lists of circuits. (#459) -
It is now possible to compute the gradient of a circuit with
ParameterVector
elements. (#458)
Contributors ✍️
This release contains contributions from (in alphabetical order):
Mikhail Andrenkov, Utkarsh Azad, Lillian Frederiksen.
Release 0.34.1
This bug fix release pins the version of Qiskit in setup.py
to be lower than Qiskit 0.46.0. Upcoming releases of the plugin will be compatible with the new release of Qiskit, but the 0.34 release is not.
Release 0.34.0
Bug fixes 🐛
-
The kwargs
job_tags
andsession_id
are passed to the correct arguments in thecircuit_runner
device so that they will be used in the Qiskit backend; these were previously ignored. (#358) -
The
generate_samples
method for theIBMQSamplerDevice
is updated to get counts from the nearest probability distribution rather than the quasi-distribution (which may contain negative probabilities and therefore raise errors). (#357) -
The
generate_samples
method for theIBMQSamplerDevice
now avoids raising an indexing error when some states are not populated, and labels states according to the Pennylane convention instead of Qiskit convention. (#357)
Contributors ✍️
This release contains contributions from (in alphabetical order):
Lillian Frederiksen, Francesco Scala