Changelog#

Version 15.5#

  • Fix compatibility with iqm-client V2 APIVariant. #132

Version 15.4#

  • Update user guide to incorporate IQM Resonance. #129

Version 15.3#

  • Multiplexed measurements explained in the user guide. #130

Version 15.2#

  • reset operation explained in the user guide. #127

Version 15.1#

  • Move a part of circuit serialization into iqm.qiskit_iqm.iqm_provider._serialize_instructions(). #126

Version 15.0#

  • Add support for classically controlled R, RX, RY, X, and Y gates. #123

  • Remove the deprecated native operation names phased_rx and measurement. #123

  • Add support for the Reset instruction. #123

Version 14.0#

  • Use dynamic quantum architecture as transpilation target for IQMBackend. #124

  • Require iqm-client >= 20.0. #124

  • Disable attestations on gh-action-pypi-publish to fix failing PyPI publishing. #124

Version 13.16#

  • Remove unnecessary build files when publishing documentation. #122

Version 13.15#

  • User guide updated. #120

Version 13.14#

  • User guide and API documentation updated. #117

Version 13.13#

  • Adjustments needed to support Qiskit V1 that are backwards compatible with qiskit < 1.0. #114

  • Updated Qiskit dependencies and testing to support qiskit >= 0.45.3 < 1.2 and qiskit-aer >= 0.13 < 0.15.

  • Adjusted documentation to recommend the use of qiskit.transpile() or transpile_to_IQM() in combination with backend.run() instead of using execute().

  • Added a DeprecationWarning for use of qiskit < 1.0. Users are encouraged to read the Qiskit migration guide to see how they need to change their code.

Version 13.12#

  • Add IQMFakeAphrodite backend #113

Version 13.11#

  • Added the option to change the timeout between waiting for results when a job is submitted. Github issue #108

  • Added support for optional MOVE gate validation bypassing for advanced users. #112

  • Require iqm-client >= 18.0. iqm-client PR #124

Version 13.10#

  • Allow inspecting a run request before submitting it for execution. #115

  • Require iqm-client >= 17.8. #115

Version 13.9#

  • Clarify the documentation on automatic transpilation. #104

  • Added a missing character to the docs. #110

  • Added IQMFakeDeneb backend for noisy simulation of the Deneb backend. #109

Version 13.8#

  • Require iqm-client >= 17.6. #106

Version 13.7#

  • Show full response error in all cases of receiving a HTTP 4xx error response. #103

  • Add new job states to support job delete operation in the backend.

Version 13.6#

  • Update the docstring of max_circuits property of IQMBackend. #95

Version 13.5#

  • Fix transpile_example so that it works also when less than 5 qubits are available. #102

Version 13.4#

  • Fix bug where Qiskit job monitoring could give an error when a job is queued. #99

Version 13.3#

  • Move examples inside the Python package. #100

Version 13.2#

  • Update code examples in user guide. #97

Version 13.1#

  • Computational resonator transpilation is now supported with transpile_to_IQM. #96

  • Require iqm-client >= 17.2. #96

  • Define move gate as swap. #96

Version 13.0#

  • Require iqm-client >= 17.0 #90

  • Add MoveGate to model the move operation between qubit and resonator.

  • Add IQMCircuit wrapper for QuantumCircuit to allow .move() operation to be used more easily.

  • Add a layout pass to ensure correct qubits are selected for transpilation based on quantum architecture.

Version 12.2#

  • Use GitHub Action as a Trusted Publisher to publish packages to PyPI. #94

Version 12.1#

  • Remove multiversion documentation. #92

Version 12.0#

  • Require iqm-client >= 16.0.

  • Remove circuit_duration_check from IQMBackend options.

  • Add max_circuit_duration_over_t2 to IQMBackend options.

Version 11.10#

  • Require iqm-client >= 15.2. Bump dependencies and dev tools. #89

Version 11.9#

  • Add name to backends. #88

Version 11.8#

  • Add IQMFakeApollo fake backend. #66

Version 11.7#

  • Update user guide with more information of execution timestamps. #85

Version 11.6#

  • Update example link in user guide. (Relates to #79.) #86

Version 11.5#

  • Use latest version of sphinx-multiversion-contrib to fix documentation version sorting. #84

Version 11.4#

  • Fix typo in how the job status is reported. #83

Version 11.3#

  • Add IQM specific circuit optimization. #81

Version 11.2#

  • Raise warning instead of error when unknown option is passed to IQMBackend.run. #82

Version 11.1#

  • Add circuit_callback option to IQMBackend. #80

  • Raise error when unknown option is passed to IQMBackend.run. Previously they were silently ignored. #80

  • Improve handling of options passed to IQMBackend.run. #80

  • Fix the type of date in result object. #80

  • IQMBackend.run can now accept circuits containing x, rx, y and ry gates. #80

Version 11.0#

  • Move qiskit_iqm package to iqm namespace. #79

Version 10.11#

  • Update user guide with information of execution timestamps. #78

Version 10.10#

  • Upgrade to qiskit ~= 0.44.1. #77

  • Make the max_circuits property of IQMBackend user-configurable. #77

  • Implement error_message method for IQMJob. #77

  • Explicitly specify symmetric CZ properties when building the transpilation target. #77

Version 10.9#

  • Upgrade to iqm-client >= 13.2. #76

Version 10.8#

  • Fix two-qubit gate error construction in IQMFakeBackend.

Version 10.7#

  • Capture execution timestamps in IQMJob.result().

Version 10.6#

  • More accurate mapping of job statuses in IQMJob.status().

  • Documentation fixes.

Version 10.5#

  • Clarify the documentation on backend options. #73

Version 10.4#

  • Support the identity gate. #71

Version 10.3#

  • Add support for Python 3.11. #70

Version 10.2#

  • Implement cancel method for IQMJob. #69

Version 10.1#

  • Update the script link for the Hello world example. #68

Version 10.0#

  • Fix a bug in the Hello world example. #67

Version 9.0#

  • Add readout errors to IQMErrorProfile. #50

Version 8.3#

  • Bugfixes for heralding run with zero shots returned. #65

  • Allow specifying calibration_set_id both as string and as UUID. #65

Version 8.2#

  • Add heralding option to IQMBackend. #63

  • Upgrade to IQMClient version 12.5. #63

Version 8.1#

  • Upgrade to IQMClient version 12.4 #61

  • Add parameter circuit_duration_check allowing to control server-side maximum circuit duration check #61

Version 8.0#

  • Update the README #58 and #60

  • Clarify the example script #62

Version 7.15#

  • Add info about custom calibration set to user guide #59

Version 7.14#

  • Generate license information for dependencies on every release #57

Version 7.13#

  • Upgrade to IQMClient version 12.2 #56

Version 7.12#

  • Upgrade to IQMClient version 12.0 #55

Version 7.11#

  • Bump Qiskit dependency to ~= 0.42.1 #54

Version 7.10#

  • Add facade backend for Adonis by introducing facade_adonis backend type #53

Version 7.9#

  • Add request into result metadata #51

Version 7.8#

  • Drop circuit metadata if it is not JSON serializable #49

  • Produce UserWarning if metadata is dropped #49

Version 7.7#

  • “Pin down” supported Python versions to 3.9 and 3.10. #40

  • Configure Tox to skip missing versions of Python interpreters when running tests. #40

  • Move project metadata and configuration to pyproject.toml. #40

Version 7.6#

  • Check that circuit metadata is JSON serializable #48

Version 7.5#

  • Adding noisy simulation by introducing IQMFakeAdonis and IQMFakeBackend #35

Version 7.4#

  • Provide version information to IQMClient. #45

Version 7.3#

  • Build and publish docs for older versions. #43

Version 7.2#

  • Make the Hello world example even easier to follow. #44

Version 7.1#

  • Add a simple example for getting started. #41

Version 7.0#

  • Use new opaque UUID for calibration_set_id. #37

Version 6.3#

  • Construct IQMJob.circuit_metadata from data retrieved from the server, if needed. #36

Version 6.2#

  • Upgrade to qiskit ~= 0.39.1 and remove the life hack of adding measurement gates to the target. #34

Version 6.1#

  • Add qubit_name_to_index and index_to_qubit_name methods to IQMBackend. #33

  • Fix the indexing order of qubits. #33

Version 6.0#

  • Implement transpiler target for IQMBackend. #32

Version 5.0#

  • Remove settings option from IQMBackend.run. #28

Version 4.6#

  • Enable mypy support. #27

Version 4.5#

  • Move calibration set ID from result’s metadata to the individual results’ metadata. #25

Version 4.4#

  • Upgrade to iqm-client 7.0. #24

  • Add calibration set ID to result’s metadata. #24

Version 4.3#

  • cortex-cli is now the preferred way of authentication.

Version 4.2#

  • Add optional calibration_set_id parameter to IQMBackend.run. #20

  • Update documentation regarding the use of Cortex CLI. #20

Version 4.1#

  • iqm-client 6.0 support. #21

Version 4.0#

  • Remove settings_path from IQMProvider and add settings option to IQMBackend.run. #17

Version 3.1#

  • Use metadata returned from iqm-client for minor improvements. #19

Version 3.0#

  • Experimental enabling of batch circuit exection. #18

Version 2.3#

  • Make settings_path optional parameter for IQMProvider. #14

  • Requires iqm-client 3.3 if settings_path is not specified.

Version 2.2#

  • Use IQM Client’s get_run_status instead of get_run to retrieve status. #13

  • Requires iqm-client 3.2

Version 2.1#

  • Allow serialization of barrier operations. #12

Version 2.0#

  • Update user authentication to use access token. #11

  • Upgrade IQMClient to version >= 2.0 #11

Version 1.1#

Version 1.0#

  • Updated documentation layout to use sphinx-book-theme. #6

Version 0.2#

  • Publish qiskit_iqm. #4

  • Implement functionality to serialize compatible circuits, send for execution and parse returned results. #3

Version 0.1#

  • Project skeleton created.