Skip to content

Releases: PennyLaneAI/pennylane-qiskit

Release 0.39.1

04 Dec 20:02
Compare
Choose a tag to compare

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

06 Nov 14:49
02da9fe
Compare
Choose a tag to compare

Improvements 🛠

  • Make qiskit_session available top-level. Users can now import it as pennylane_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

08 Oct 20:31
Compare
Choose a tag to compare

Bug fixes 🐛

  • Due to the removal of the Session and Backend keywords in the 0.30 release of qiskit-ibm-runtime, the PennyLane-Qiskit
    plugin now pins to qiskit-ibm-runtime<=0.29. (#587)

Contributors ✍️

This release contains contributions from (in alphabetical order):

Austin Huang
Mudit Pandey

Release 0.38.0

04 Sep 00:36
92a5c1c
Compare
Choose a tag to compare

New features since last release

  • Added support for converting Qiskit noise models to PennyLane NoiseModels using load_noise_model. (#577) (#578)

  • Qiskit Sessions can now be used for the qiskit.remote device with the qiskit_session context manager. (#551)

Improvements 🛠

  • Qiskit Runtime Primitives are supported by the qiskit.remote device. Circuits ran using the qiskit.remote device will automatically call the SamplerV2 and EstimatorV2 primitives appropriately. Additionally, runtime options can be passed as keyword arguments directly to the qiskit.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 and qiskit.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

09 Jul 13:35
52489f4
Compare
Choose a tag to compare

Improvements 🛠

  • Updated load_qasm to take the optional kwarg measurements which get performed at the end of the loaded circuit and load_qasm can now detect mid-circuit measurements from qasm. (#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

06 May 23:16
3b50fc5
Compare
Choose a tag to compare

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 and qiskit-ibm-runtime, and well as with 'qiskit==0.45' and qiskit-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

07 Mar 21:19
Compare
Choose a tag to compare

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 prevents pip install pennylane-qiskit from installing Qiskit 1.0 (via the requirements of qiskit-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

04 Mar 21:14
b111814
Compare
Choose a tag to compare

Improvements 🛠

  • The UI for passing parameters to a qfunc generated when loading a Qiskit QuantumCircuit 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 using load. Additionally, one can override any existing terminal measurements by providing a list of PennyLane measurements <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 and SwitchCaseOp when converting a QuantumCircuit using load. (#417) (#465)

  • Qiskit's classical Expr conditionals can also be used with the supported ControlFlowOp operations. (#432)

  • Added conversion support for more Qiskit gates to native PennyLane operations - Barrier, CYGate, CHGate, CPhase, CCZGate, ECRGate, and GlobalPhaseGate. (#449)

  • Added the ability to convert a Qiskit SparsePauliOp instance into a PennyLane Operator. (#401) (#453)

  • Added a pennylane.io entry point for converting Qiskit operators. (#453)

  • Unused parameters are now ignored when a QuantumCircuit is converted using load. (#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

21 Feb 19:49
Compare
Choose a tag to compare

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

08 Jan 21:04
b3eb72e
Compare
Choose a tag to compare

Bug fixes 🐛

  • The kwargs job_tags and session_id are passed to the correct arguments in the circuit_runner device so that they will be used in the Qiskit backend; these were previously ignored. (#358)

  • The generate_samples method for the IBMQSamplerDevice 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 the IBMQSamplerDevice 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