From adae0c720ea0414ea005e43de37f915739bbdb6c Mon Sep 17 00:00:00 2001 From: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com> Date: Fri, 8 Mar 2024 12:29:36 -0500 Subject: [PATCH 01/18] Switch release notes from Reno to Towncrier --- CHANGES.rst | 5 +++++ docs/release_notes.rst | 17 +---------------- pyproject.toml | 31 +++++++++++++++++++++++++++++++ releasenotes/config.yaml | 3 --- 4 files changed, 37 insertions(+), 19 deletions(-) create mode 100644 CHANGES.rst delete mode 100644 releasenotes/config.yaml diff --git a/CHANGES.rst b/CHANGES.rst new file mode 100644 index 000000000..ae1d2cf68 --- /dev/null +++ b/CHANGES.rst @@ -0,0 +1,5 @@ +======================================= +Qiskit Runtime IBM Client release notes +======================================= + +.. towncrier release notes start diff --git a/docs/release_notes.rst b/docs/release_notes.rst index 6088a388c..d9e113ec6 100644 --- a/docs/release_notes.rst +++ b/docs/release_notes.rst @@ -1,16 +1 @@ -.. - For some reason, Reno stopped including release notes - for 0.16+ starting on the stable/0.21 branch. We can get - things working by using two release-note entries. Refer to - https://github.com/Qiskit/documentation/issues/978 - -============= -Release Notes -============= - -.. release-notes:: - :earliest-version: 0.16.0 - -.. release-notes:: - :branch: stable/0.15 - :earliest-version: 0.1.0rc1 +.. include:: ../CHANGES.rst diff --git a/pyproject.toml b/pyproject.toml index ebb26241a..5546b9508 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,3 +5,34 @@ build-backend = "setuptools.build_meta" [tool.black] line-length = 100 target-versions = ['py38', 'py39', 'py310', 'py311', 'py312'] + +[tool.towncrier] +filename = "CHANGES.rst" +directory = "releasenotes" +title_format = "{version} ({project_date})" +issue_format = "`{issue} `__" + + [[tool.towncrier.type]] + directory = "upgrade" + name = "Upgrade Notes" + showcontent = true + + [[tool.towncrier.type]] + directory = "deprecation" + name = "Deprecation Notes" + showcontent = true + + [[tool.towncrier.type]] + directory = "feat" + name = "New Features" + showcontent = true + + [[tool.towncrier.type]] + directory = "bug" + name = "Bug Fixes" + showcontent = true + + [[tool.towncrier.type]] + directory = "other" + name = "Other Notes" + showcontent = true diff --git a/releasenotes/config.yaml b/releasenotes/config.yaml deleted file mode 100644 index 68addb37d..000000000 --- a/releasenotes/config.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -encoding: utf8 -default_branch: main \ No newline at end of file From 818aaeb1de677a5d4369d78195954c4501623eb0 Mon Sep 17 00:00:00 2001 From: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com> Date: Fri, 8 Mar 2024 13:10:17 -0500 Subject: [PATCH 02/18] Remove release notes --- releasenotes/.gitkeep | 1 + .../account-management-b9908e0b62dc1d81.yaml | 9 -- .../0.1/authentication-79b90822d430688f.yaml | 15 --- .../0.1/backend-v2-15bbe03ff572b6da.yaml | 18 ---- ...ckend-vs-get-backend-18b2dcf4b8434e00.yaml | 9 -- ...vert-runtime-methods-5d5d76f4d20332f1.yaml | 6 -- ...encoder-instructions-f99e128a02a10714.yaml | 6 -- ...ter-jobs-by-provider-dead04faaf223840.yaml | 6 -- ...qpy-v3-serialisation-20ddba46e7c6ba09.yaml | 8 -- .../0.1/interim-results-b5a18a3784063d56.yaml | 7 -- .../0.1/least-busy-4a7040c00f605635.yaml | 5 - .../legacy-optional-hgp-299a0fd8ee029734.yaml | 14 --- ...umpy-ndarray-encoder-919d6a344e131fee.yaml | 8 -- ...ptional-backend-name-4d120e2645b5831e.yaml | 6 -- ...-program-description-f6e3aceca8223af7.yaml | 5 - .../notes/0.1/prelude-96ed7aae53f9932a.yaml | 13 --- ...backend-requirements-a682e98ded7977d7.yaml | 6 -- .../0.1/remove-logout-207163e4d4a6adf8.yaml | 5 - .../remove-python-3.6-f7ff43b6d84e4e7c.yaml | 5 - .../remove-run-circuits-6d43cf46e509d55e.yaml | 5 - .../0.1/resolve-crn-b2cc1c35f5306bea.yaml | 7 -- .../0.1/runtime-options-175692ee0417ff30.yaml | 7 -- .../0.1/stream-results-6ff5f240bbe21fc0.yaml | 6 -- ...-for-final-state-bug-02ebbe8df7a252d0.yaml | 8 -- ...zation_of_job_params-79abdfebac8fa6f6.yaml | 7 -- ...g_max_execution_time-e401d353ae2a7d86.yaml | 6 -- .../python-3.11-support-edb6c144032bf483.yaml | 4 - ...e-backends-no-config-5d51fdf5fe9af648.yaml | 5 - .../backend_deepcopy-965f6a19a6d17cb2.yaml | 6 -- ...eprecate-bss-seconds-565fc01de679084f.yaml | 5 - .../0.11/error_message-a93bc462baa0cb8a.yaml | 6 -- ...eption_cancelled_job-9104b4e513590548.yaml | 5 - .../exclude-job-params-397b0b918aa4f6f9.yaml | 6 -- .../job-cost-estimation-d0ba83dbc95c3f67.yaml | 6 -- .../0.11/max_circuits-b773c860f8df1cf4.yaml | 7 -- ...ta-serialization-bug-dfd7fd86702b6ce7.yaml | 5 - .../non_active_backend-2fcdbbc3d902f2a3.yaml | 5 - ...move-default-session-ba05e48362567d5b.yaml | 21 ---- ...-options-set-backend-796e2ae4517be689.yaml | 20 ---- .../support-update-tags-43eb9478a315c2b3.yaml | 5 - ...support_coupling_map-3695cd8c7e5ad848.yaml | 12 --- ...-properties-datetime-0fe6a364c0a291d2.yaml | 6 -- ...ategy-backend-filter-a4fe5248d9aea9c1.yaml | 6 -- ...ata-tracking-updates-97327c62c51b5891.yaml | 7 -- ...ult-channel-strategy-6899049ad4a7321b.yaml | 6 -- ...t-resilience-options-7929458af000314f.yaml | 10 -- .../default_account-13d86d50f5b1d972.yaml | 6 -- ...cate_noise_amplifier-e656cc98a962a81b.yaml | 7 -- ...store-circuit-params-9d87ffefc2a7d257.yaml | 5 - .../0.12/error-codes-82a392efad5963da.yaml | 5 - .../error-message-case-31b4b2b7a5a2f624.yaml | 4 - .../filter_instance-a7203041b5ab85d9.yaml | 8 -- .../fix_job_backend-2760075856605bf0.yaml | 10 -- ...t_cancel_job_running-771511870d82d4e4.yaml | 6 -- .../notes/0.12/from_id-23fc85f3fbf01e0b.yaml | 6 -- .../0.12/global_service-ad56a0209e7b9891.yaml | 11 --- .../instances-method-02fda1de98638e59.yaml | 6 -- .../job-quota-warning-0512f30571897f53.yaml | 7 -- ...tion-time-definition-196cb6297693c0f2.yaml | 7 -- .../option_validation-79d26018ab770519.yaml | 8 -- .../0.12/q-ctrl-support-157170386477dfbd.yaml | 9 -- .../q-ctrl-validation-08d249f1e84a43a5.yaml | 7 -- ...ckend-circuits-limit-b804b58dc97ed276.yaml | 6 -- ...pose-session-details-c4a44316d30dad33.yaml | 10 -- .../0.13/fix_np_int64-864b605a88f57419.yaml | 5 - ...og-instance-selected-a18c4791418b5e0d.yaml | 7 -- ...ssion-accepting-jobs-d7ef6b60c0f5527b.yaml | 13 --- ...get-history-date-bug-7d6dad84fc5b3d2e.yaml | 6 -- .../0.14/batch-class-b7a3befcfce8860e.yaml | 6 -- ...cate-custom-programs-274e6ea20d1027a1.yaml | 9 -- ...emove_kwargs_options-9024d3ec6572a53e.yaml | 4 - ...rovider-and-backends-ae20e788b45433ba.yaml | 32 ------ .../0.15/backend_run-d5a92a4d677da6c1.yaml | 5 - .../byte-result-bug-7afb5abe813f5b1b.yaml | 6 -- ...gy-instance-validate-639b18b8c5d44678.yaml | 5 - .../0.15/de-warning-6cf474f11578339c.yaml | 6 -- .../deprecate_qiskitrc-1fd8afc6d599fc0e.yaml | 5 - .../0.15/from-id-params-659a2adb727b9d18.yaml | 6 -- .../migrate_backend_run-06c4b0579f28061a.yaml | 4 - .../no_cached_results-54d063390b9b0ae6.yaml | 5 - ...ove-circuit-indicies-e8af9da213e463e9.yaml | 6 -- .../0.15/revert-from-id-9b87ea2d948251d6.yaml | 6 -- ...-ctrl-instance-check-46181d51f16d18bc.yaml | 5 - ...move-custom-programs-aea76f4dd19cd481.yaml | 4 - ...thread-safe-sessions-d08c8367e98447e7.yaml | 6 -- ...kend-instance-filter-20d69b3951437f19.yaml | 16 --- ...ty-qubits-name-error-f03b90f21cd2d9bf.yaml | 6 -- .../0.17/job-properties-2b5c2f66c50d7d2d.yaml | 6 -- ...ession-details-field-48311b4d3313ad94.yaml | 6 -- ...cate-service-runtime-1138cb5ec43fc4ff.yaml | 4 - ...amic-circuits-filter-59f771a9b43c00cd.yaml | 5 - ...e-job-params-default-00133498a5c5c15d.yaml | 6 -- .../max_session_time-0bd8665656bf439c.yaml | 4 - .../0.18/queueinfo-5e1bb815228425bb.yaml | 5 - ...lidate-provider-code-b07fea8644aa8f43.yaml | 5 - ...ix-duration-patching-b80d45d77481dfa6.yaml | 11 --- .../0.19/fix-qpy-bug-739cefc2c9018d0b.yaml | 8 -- ...iskit-1.0-compatible-6fbf17d2dd28cb48.yaml | 7 -- ...es-sampler-estimator-93c361d72a4f28de.yaml | 7 -- .../dd-named-barrier-4f32f6fcb92e20f2.yaml | 8 -- ...te-abstract-circuits-d9bdc94b2be7ea21.yaml | 7 -- ...ns-with-control-flow-0cf6b5c48c387ca8.yaml | 10 -- .../python-3-12-support-a0390cacfe596e5b.yaml | 4 - .../0.20/session-modes-5c22b68620f8d690.yaml | 13 --- .../sessions-endpoint-e617b028fe4a68c4.yaml | 9 -- .../fix-control-flow-d5a61dd5647acb42.yaml | 6 -- ...isa-circuit-required-ed361bd65cef5ed8.yaml | 10 -- ...equire-cloud-backend-38a74144347c735d.yaml | 10 -- ...etrieve-fake-backend-13fd3088aaac69e5.yaml | 5 - ...te-isa-circuit-check-493b6e95d969abdb.yaml | 5 - .../0.21/v2-primitives-ada671f4df7caa39.yaml | 14 --- ...annel-deprecate-auth-4e021efeb527818c.yaml | 17 ---- ...error-single-circuit-89a0e7b64deedbaa.yaml | 6 -- .../deprecate-classes-ef077e50db9718bc.yaml | 85 ---------------- ...add-service-property-d6a076214c131d7a.yaml | 11 --- ...reation-date-filters-871a1ca3c0d96fda.yaml | 6 -- ...te-indices-estimator-b5a2228d91431b91.yaml | 20 ---- ...cate-indices-sampler-13a0b76158ad1392.yaml | 19 ---- ...lter-jobs-session-id-e8296c55ad75f789.yaml | 6 -- .../job-tags-support-465d3be18b20b306.yaml | 6 -- .../max-execution-time-ecdb69210afe3d89.yaml | 8 -- ...ion-aware-scheduling-00a294cc67b7d13e.yaml | 6 -- .../sort-jobs-by-date-7df02bb34fec3055.yaml | 7 -- ...me-job-timeout-error-3e01617412bbc37f.yaml | 6 -- .../load-qiskitrc-creds-4aac54737333e248.yaml | 13 --- ...not-authorized-error-31241cd68d8a26d7.yaml | 5 - ...remove-ibm-estimator-7f0b4da07c23e859.yaml | 5 - .../remove-ibm-runtime-aa92d6051b8dcf53.yaml | 5 - .../remove-ibm-sampler-7779165095fd2a5f.yaml | 5 - ...ade-qubit-properties-b5ff4a168ed0cc07.yaml | 8 -- ...-sampler-error-check-20e5672c7ff17004.yaml | 7 -- .../deprecated-programs-53fa730f52792bce.yaml | 6 -- ...rogram-runs-too-long-cf80743eda83d601.yaml | 4 - ...x-howto-retrieve-job-ef991e8d6b444096.yaml | 4 - .../fix-sampler-result-509548c466fa3139.yaml | 7 -- ...ix-terra-min-version-613f427851adfab0.yaml | 6 -- .../flexible-options-d3f7ea8b9cd5c5c3.yaml | 7 -- .../flexible-session-16ee0d1cba4863cd.yaml | 98 ------------------- ...job-metrics-endpoint-82d61cf269c27933.yaml | 6 -- .../job_id_backend_attr-20dffa6335e508f4.yaml | 10 -- .../0.7/options_kwargs-70805bc4464691a4.yaml | 7 -- ...rize-service-channel-d14de7391dfb5ee1.yaml | 8 -- .../primitives-callback-80a7c2dcda960f4d.yaml | 7 -- ...tor-caching-programs-c49b517df7d2f702.yaml | 9 -- .../0.7/runtime-options-38915f0a5cee60cb.yaml | 5 - .../0.7/tags-max-time-dc170df8d1bc8c25.yaml | 13 --- .../0.7/upgrade-terra-80a543c559e259ce.yaml | 5 - ...ult-resilience-level-8122033dd1369bc8.yaml | 10 -- .../python-3.10-support-904322454d2d504e.yaml | 4 - .../resilience_settings-80eb23a095f0381c.yaml | 6 -- .../separate-decoders-dde5bf7d051038e6.yaml | 7 -- .../use-backend-service-020daf6e4a4d044e.yaml | 7 -- ...cept_level_1_options-06c09a67a9c23feb.yaml | 6 -- ...l-options-validation-999888470cbd206e.yaml | 4 - .../0.9/closing-session-a64edf80ee35fee2.yaml | 7 -- ...m-gate-transpile-bug-61b64e4937269f28.yaml | 6 -- ...t-optimization-level-3197ff933dfcfa4f.yaml | 7 -- ...or-level-default-bug-64335ef05f1547fa.yaml | 6 -- ...-defaults-no-backend-95fba0e99884314a.yaml | 5 - ...filter-faulty-qubits-caacabd23a7bd0d4.yaml | 5 - ...fix_resilience_input-0a7497265109794e.yaml | 6 -- ...honor-instance-param-37b14111489364b0.yaml | 6 -- .../input_validation-53a3d9a3a860a323.yaml | 10 -- .../jobs-backend-filter-05c55c56a7ebaa05.yaml | 5 - ...ding-backend-configs-0b82bdc374ed962c.yaml | 7 -- .../0.9/post-timeout-a0928a23941f503b.yaml | 5 - .../refresh-job-backend-1c4f9cbfa30edad4.yaml | 9 -- ...-blueprint-decompose-e40327f8a1d7fc7a.yaml | 7 -- .../remove-depreacted-f9abe2c7a47c3062.yaml | 16 --- ...retrieve-options-bug-edaed4cd5286f915.yaml | 6 -- ...ntime-job-properties-4b85f754bc84d56f.yaml | 5 - ...ssion-backend-option-26ad05fcb7c96dc6.yaml | 8 -- .../session-time-param-b02d1513d9754b52.yaml | 7 -- ...orten-error-messages-8f955bf26ad17f96.yaml | 5 - .../0.9/target-history-93e8eca3abf49230.yaml | 7 -- ...filename-for-account-710cb32e812b3bd8.yaml | 17 ---- ..._unsupported_options-9a96d7f32a487d00.yaml | 5 - 177 files changed, 1 insertion(+), 1490 deletions(-) create mode 100644 releasenotes/.gitkeep delete mode 100644 releasenotes/notes/0.1/account-management-b9908e0b62dc1d81.yaml delete mode 100644 releasenotes/notes/0.1/authentication-79b90822d430688f.yaml delete mode 100644 releasenotes/notes/0.1/backend-v2-15bbe03ff572b6da.yaml delete mode 100644 releasenotes/notes/0.1/backend-vs-get-backend-18b2dcf4b8434e00.yaml delete mode 100644 releasenotes/notes/0.1/convert-runtime-methods-5d5d76f4d20332f1.yaml delete mode 100644 releasenotes/notes/0.1/encoder-instructions-f99e128a02a10714.yaml delete mode 100644 releasenotes/notes/0.1/filter-jobs-by-provider-dead04faaf223840.yaml delete mode 100644 releasenotes/notes/0.1/fix-qpy-v3-serialisation-20ddba46e7c6ba09.yaml delete mode 100644 releasenotes/notes/0.1/interim-results-b5a18a3784063d56.yaml delete mode 100644 releasenotes/notes/0.1/least-busy-4a7040c00f605635.yaml delete mode 100644 releasenotes/notes/0.1/legacy-optional-hgp-299a0fd8ee029734.yaml delete mode 100644 releasenotes/notes/0.1/numpy-ndarray-encoder-919d6a344e131fee.yaml delete mode 100644 releasenotes/notes/0.1/optional-backend-name-4d120e2645b5831e.yaml delete mode 100644 releasenotes/notes/0.1/optional-program-description-f6e3aceca8223af7.yaml delete mode 100644 releasenotes/notes/0.1/prelude-96ed7aae53f9932a.yaml delete mode 100644 releasenotes/notes/0.1/print-backend-requirements-a682e98ded7977d7.yaml delete mode 100644 releasenotes/notes/0.1/remove-logout-207163e4d4a6adf8.yaml delete mode 100644 releasenotes/notes/0.1/remove-python-3.6-f7ff43b6d84e4e7c.yaml delete mode 100644 releasenotes/notes/0.1/remove-run-circuits-6d43cf46e509d55e.yaml delete mode 100644 releasenotes/notes/0.1/resolve-crn-b2cc1c35f5306bea.yaml delete mode 100644 releasenotes/notes/0.1/runtime-options-175692ee0417ff30.yaml delete mode 100644 releasenotes/notes/0.1/stream-results-6ff5f240bbe21fc0.yaml delete mode 100644 releasenotes/notes/0.1/wait-for-final-state-bug-02ebbe8df7a252d0.yaml delete mode 100644 releasenotes/notes/0.10/deserialization_of_job_params-79abdfebac8fa6f6.yaml delete mode 100644 releasenotes/notes/0.10/error_msg_max_execution_time-e401d353ae2a7d86.yaml delete mode 100644 releasenotes/notes/0.10/python-3.11-support-edb6c144032bf483.yaml delete mode 100644 releasenotes/notes/0.10/retrieve-backends-no-config-5d51fdf5fe9af648.yaml delete mode 100644 releasenotes/notes/0.11/backend_deepcopy-965f6a19a6d17cb2.yaml delete mode 100644 releasenotes/notes/0.11/deprecate-bss-seconds-565fc01de679084f.yaml delete mode 100644 releasenotes/notes/0.11/error_message-a93bc462baa0cb8a.yaml delete mode 100644 releasenotes/notes/0.11/exception_cancelled_job-9104b4e513590548.yaml delete mode 100644 releasenotes/notes/0.11/exclude-job-params-397b0b918aa4f6f9.yaml delete mode 100644 releasenotes/notes/0.11/job-cost-estimation-d0ba83dbc95c3f67.yaml delete mode 100644 releasenotes/notes/0.11/max_circuits-b773c860f8df1cf4.yaml delete mode 100644 releasenotes/notes/0.11/metadata-serialization-bug-dfd7fd86702b6ce7.yaml delete mode 100644 releasenotes/notes/0.11/non_active_backend-2fcdbbc3d902f2a3.yaml delete mode 100644 releasenotes/notes/0.11/remove-default-session-ba05e48362567d5b.yaml delete mode 100644 releasenotes/notes/0.11/simulator-options-set-backend-796e2ae4517be689.yaml delete mode 100644 releasenotes/notes/0.11/support-update-tags-43eb9478a315c2b3.yaml delete mode 100644 releasenotes/notes/0.11/support_coupling_map-3695cd8c7e5ad848.yaml delete mode 100644 releasenotes/notes/0.12/backend-properties-datetime-0fe6a364c0a291d2.yaml delete mode 100644 releasenotes/notes/0.12/channel-strategy-backend-filter-a4fe5248d9aea9c1.yaml delete mode 100644 releasenotes/notes/0.12/data-tracking-updates-97327c62c51b5891.yaml delete mode 100644 releasenotes/notes/0.12/default-channel-strategy-6899049ad4a7321b.yaml delete mode 100644 releasenotes/notes/0.12/default-resilience-options-7929458af000314f.yaml delete mode 100644 releasenotes/notes/0.12/default_account-13d86d50f5b1d972.yaml delete mode 100644 releasenotes/notes/0.12/deprecate_noise_amplifier-e656cc98a962a81b.yaml delete mode 100644 releasenotes/notes/0.12/dont-store-circuit-params-9d87ffefc2a7d257.yaml delete mode 100644 releasenotes/notes/0.12/error-codes-82a392efad5963da.yaml delete mode 100644 releasenotes/notes/0.12/error-message-case-31b4b2b7a5a2f624.yaml delete mode 100644 releasenotes/notes/0.12/filter_instance-a7203041b5ab85d9.yaml delete mode 100644 releasenotes/notes/0.12/fix_job_backend-2760075856605bf0.yaml delete mode 100644 releasenotes/notes/0.12/fix_test_cancel_job_running-771511870d82d4e4.yaml delete mode 100644 releasenotes/notes/0.12/from_id-23fc85f3fbf01e0b.yaml delete mode 100644 releasenotes/notes/0.12/global_service-ad56a0209e7b9891.yaml delete mode 100644 releasenotes/notes/0.12/instances-method-02fda1de98638e59.yaml delete mode 100644 releasenotes/notes/0.12/job-quota-warning-0512f30571897f53.yaml delete mode 100644 releasenotes/notes/0.12/max-execution-time-definition-196cb6297693c0f2.yaml delete mode 100644 releasenotes/notes/0.12/option_validation-79d26018ab770519.yaml delete mode 100644 releasenotes/notes/0.12/q-ctrl-support-157170386477dfbd.yaml delete mode 100644 releasenotes/notes/0.12/q-ctrl-validation-08d249f1e84a43a5.yaml delete mode 100644 releasenotes/notes/0.12/remove-backend-circuits-limit-b804b58dc97ed276.yaml delete mode 100644 releasenotes/notes/0.13/expose-session-details-c4a44316d30dad33.yaml delete mode 100644 releasenotes/notes/0.13/fix_np_int64-864b605a88f57419.yaml delete mode 100644 releasenotes/notes/0.13/log-instance-selected-a18c4791418b5e0d.yaml delete mode 100644 releasenotes/notes/0.13/session-accepting-jobs-d7ef6b60c0f5527b.yaml delete mode 100644 releasenotes/notes/0.13/target-history-date-bug-7d6dad84fc5b3d2e.yaml delete mode 100644 releasenotes/notes/0.14/batch-class-b7a3befcfce8860e.yaml delete mode 100644 releasenotes/notes/0.14/deprecate-custom-programs-274e6ea20d1027a1.yaml delete mode 100644 releasenotes/notes/0.14/remove_kwargs_options-9024d3ec6572a53e.yaml delete mode 100644 releasenotes/notes/0.15/add-fake-provider-and-backends-ae20e788b45433ba.yaml delete mode 100644 releasenotes/notes/0.15/backend_run-d5a92a4d677da6c1.yaml delete mode 100644 releasenotes/notes/0.15/byte-result-bug-7afb5abe813f5b1b.yaml delete mode 100644 releasenotes/notes/0.15/channel-strategy-instance-validate-639b18b8c5d44678.yaml delete mode 100644 releasenotes/notes/0.15/de-warning-6cf474f11578339c.yaml delete mode 100644 releasenotes/notes/0.15/deprecate_qiskitrc-1fd8afc6d599fc0e.yaml delete mode 100644 releasenotes/notes/0.15/from-id-params-659a2adb727b9d18.yaml delete mode 100644 releasenotes/notes/0.15/migrate_backend_run-06c4b0579f28061a.yaml delete mode 100644 releasenotes/notes/0.15/no_cached_results-54d063390b9b0ae6.yaml delete mode 100644 releasenotes/notes/0.15/remove-circuit-indicies-e8af9da213e463e9.yaml delete mode 100644 releasenotes/notes/0.15/revert-from-id-9b87ea2d948251d6.yaml delete mode 100644 releasenotes/notes/0.16/q-ctrl-instance-check-46181d51f16d18bc.yaml delete mode 100644 releasenotes/notes/0.16/remove-custom-programs-aea76f4dd19cd481.yaml delete mode 100644 releasenotes/notes/0.16/thread-safe-sessions-d08c8367e98447e7.yaml delete mode 100644 releasenotes/notes/0.17/backend-instance-filter-20d69b3951437f19.yaml delete mode 100644 releasenotes/notes/0.17/faulity-qubits-name-error-f03b90f21cd2d9bf.yaml delete mode 100644 releasenotes/notes/0.17/job-properties-2b5c2f66c50d7d2d.yaml delete mode 100644 releasenotes/notes/0.17/new-session-details-field-48311b4d3313ad94.yaml delete mode 100644 releasenotes/notes/0.18/deprecate-service-runtime-1138cb5ec43fc4ff.yaml delete mode 100644 releasenotes/notes/0.18/dynamic-circuits-filter-59f771a9b43c00cd.yaml delete mode 100644 releasenotes/notes/0.18/exclude-job-params-default-00133498a5c5c15d.yaml delete mode 100644 releasenotes/notes/0.18/max_session_time-0bd8665656bf439c.yaml delete mode 100644 releasenotes/notes/0.18/queueinfo-5e1bb815228425bb.yaml delete mode 100644 releasenotes/notes/0.19/consolidate-provider-code-b07fea8644aa8f43.yaml delete mode 100644 releasenotes/notes/0.19/fix-duration-patching-b80d45d77481dfa6.yaml delete mode 100644 releasenotes/notes/0.19/fix-qpy-bug-739cefc2c9018d0b.yaml delete mode 100644 releasenotes/notes/0.19/qiskit-1.0-compatible-6fbf17d2dd28cb48.yaml delete mode 100644 releasenotes/notes/0.2/primitives-sampler-estimator-93c361d72a4f28de.yaml delete mode 100644 releasenotes/notes/0.20/dd-named-barrier-4f32f6fcb92e20f2.yaml delete mode 100644 releasenotes/notes/0.20/deprecate-abstract-circuits-d9bdc94b2be7ea21.yaml delete mode 100644 releasenotes/notes/0.20/fix-durations-with-control-flow-0cf6b5c48c387ca8.yaml delete mode 100644 releasenotes/notes/0.20/python-3-12-support-a0390cacfe596e5b.yaml delete mode 100644 releasenotes/notes/0.20/session-modes-5c22b68620f8d690.yaml delete mode 100644 releasenotes/notes/0.20/sessions-endpoint-e617b028fe4a68c4.yaml delete mode 100644 releasenotes/notes/0.21/fix-control-flow-d5a61dd5647acb42.yaml delete mode 100644 releasenotes/notes/0.21/isa-circuit-required-ed361bd65cef5ed8.yaml delete mode 100644 releasenotes/notes/0.21/require-cloud-backend-38a74144347c735d.yaml delete mode 100644 releasenotes/notes/0.21/retrieve-fake-backend-13fd3088aaac69e5.yaml delete mode 100644 releasenotes/notes/0.21/update-isa-circuit-check-493b6e95d969abdb.yaml delete mode 100644 releasenotes/notes/0.21/v2-primitives-ada671f4df7caa39.yaml delete mode 100644 releasenotes/notes/0.3/add-channel-deprecate-auth-4e021efeb527818c.yaml delete mode 100644 releasenotes/notes/0.3/fix-error-single-circuit-89a0e7b64deedbaa.yaml delete mode 100644 releasenotes/notes/0.4/deprecate-classes-ef077e50db9718bc.yaml delete mode 100644 releasenotes/notes/0.5/add-service-property-d6a076214c131d7a.yaml delete mode 100644 releasenotes/notes/0.5/creation-date-filters-871a1ca3c0d96fda.yaml delete mode 100644 releasenotes/notes/0.5/deprecate-indices-estimator-b5a2228d91431b91.yaml delete mode 100644 releasenotes/notes/0.5/deprecate-indices-sampler-13a0b76158ad1392.yaml delete mode 100644 releasenotes/notes/0.5/filter-jobs-session-id-e8296c55ad75f789.yaml delete mode 100644 releasenotes/notes/0.5/job-tags-support-465d3be18b20b306.yaml delete mode 100644 releasenotes/notes/0.5/max-execution-time-ecdb69210afe3d89.yaml delete mode 100644 releasenotes/notes/0.5/session-aware-scheduling-00a294cc67b7d13e.yaml delete mode 100644 releasenotes/notes/0.5/sort-jobs-by-date-7df02bb34fec3055.yaml delete mode 100644 releasenotes/notes/0.5/upgrade-runtime-job-timeout-error-3e01617412bbc37f.yaml delete mode 100644 releasenotes/notes/0.6/load-qiskitrc-creds-4aac54737333e248.yaml delete mode 100644 releasenotes/notes/0.6/not-authorized-error-31241cd68d8a26d7.yaml delete mode 100644 releasenotes/notes/0.6/remove-ibm-estimator-7f0b4da07c23e859.yaml delete mode 100644 releasenotes/notes/0.6/remove-ibm-runtime-aa92d6051b8dcf53.yaml delete mode 100644 releasenotes/notes/0.6/remove-ibm-sampler-7779165095fd2a5f.yaml delete mode 100644 releasenotes/notes/0.6/upgrade-qubit-properties-b5ff4a168ed0cc07.yaml delete mode 100644 releasenotes/notes/0.7/add-sampler-error-check-20e5672c7ff17004.yaml delete mode 100644 releasenotes/notes/0.7/deprecated-programs-53fa730f52792bce.yaml delete mode 100644 releasenotes/notes/0.7/exception-when-program-runs-too-long-cf80743eda83d601.yaml delete mode 100644 releasenotes/notes/0.7/fix-howto-retrieve-job-ef991e8d6b444096.yaml delete mode 100644 releasenotes/notes/0.7/fix-sampler-result-509548c466fa3139.yaml delete mode 100644 releasenotes/notes/0.7/fix-terra-min-version-613f427851adfab0.yaml delete mode 100644 releasenotes/notes/0.7/flexible-options-d3f7ea8b9cd5c5c3.yaml delete mode 100644 releasenotes/notes/0.7/flexible-session-16ee0d1cba4863cd.yaml delete mode 100644 releasenotes/notes/0.7/job-metrics-endpoint-82d61cf269c27933.yaml delete mode 100644 releasenotes/notes/0.7/job_id_backend_attr-20dffa6335e508f4.yaml delete mode 100644 releasenotes/notes/0.7/options_kwargs-70805bc4464691a4.yaml delete mode 100644 releasenotes/notes/0.7/parameterize-service-channel-d14de7391dfb5ee1.yaml delete mode 100644 releasenotes/notes/0.7/primitives-callback-80a7c2dcda960f4d.yaml delete mode 100644 releasenotes/notes/0.7/refactor-caching-programs-c49b517df7d2f702.yaml delete mode 100644 releasenotes/notes/0.7/runtime-options-38915f0a5cee60cb.yaml delete mode 100644 releasenotes/notes/0.7/tags-max-time-dc170df8d1bc8c25.yaml delete mode 100644 releasenotes/notes/0.7/upgrade-terra-80a543c559e259ce.yaml delete mode 100644 releasenotes/notes/0.8/default-resilience-level-8122033dd1369bc8.yaml delete mode 100644 releasenotes/notes/0.8/python-3.10-support-904322454d2d504e.yaml delete mode 100644 releasenotes/notes/0.8/resilience_settings-80eb23a095f0381c.yaml delete mode 100644 releasenotes/notes/0.8/separate-decoders-dde5bf7d051038e6.yaml delete mode 100644 releasenotes/notes/0.8/use-backend-service-020daf6e4a4d044e.yaml delete mode 100644 releasenotes/notes/0.9/accept_level_1_options-06c09a67a9c23feb.yaml delete mode 100644 releasenotes/notes/0.9/additional-options-validation-999888470cbd206e.yaml delete mode 100644 releasenotes/notes/0.9/closing-session-a64edf80ee35fee2.yaml delete mode 100644 releasenotes/notes/0.9/custom-gate-transpile-bug-61b64e4937269f28.yaml delete mode 100644 releasenotes/notes/0.9/default-optimization-level-3197ff933dfcfa4f.yaml delete mode 100644 releasenotes/notes/0.9/error-level-default-bug-64335ef05f1547fa.yaml delete mode 100644 releasenotes/notes/0.9/error-lvl-defaults-no-backend-95fba0e99884314a.yaml delete mode 100644 releasenotes/notes/0.9/filter-faulty-qubits-caacabd23a7bd0d4.yaml delete mode 100644 releasenotes/notes/0.9/fix_resilience_input-0a7497265109794e.yaml delete mode 100644 releasenotes/notes/0.9/honor-instance-param-37b14111489364b0.yaml delete mode 100644 releasenotes/notes/0.9/input_validation-53a3d9a3a860a323.yaml delete mode 100644 releasenotes/notes/0.9/jobs-backend-filter-05c55c56a7ebaa05.yaml delete mode 100644 releasenotes/notes/0.9/lazy-loading-backend-configs-0b82bdc374ed962c.yaml delete mode 100644 releasenotes/notes/0.9/post-timeout-a0928a23941f503b.yaml delete mode 100644 releasenotes/notes/0.9/refresh-job-backend-1c4f9cbfa30edad4.yaml delete mode 100644 releasenotes/notes/0.9/remove-blueprint-decompose-e40327f8a1d7fc7a.yaml delete mode 100644 releasenotes/notes/0.9/remove-depreacted-f9abe2c7a47c3062.yaml delete mode 100644 releasenotes/notes/0.9/retrieve-options-bug-edaed4cd5286f915.yaml delete mode 100644 releasenotes/notes/0.9/runtime-job-properties-4b85f754bc84d56f.yaml delete mode 100644 releasenotes/notes/0.9/session-backend-option-26ad05fcb7c96dc6.yaml delete mode 100644 releasenotes/notes/0.9/session-time-param-b02d1513d9754b52.yaml delete mode 100644 releasenotes/notes/0.9/shorten-error-messages-8f955bf26ad17f96.yaml delete mode 100644 releasenotes/notes/0.9/target-history-93e8eca3abf49230.yaml delete mode 100644 releasenotes/notes/0.9/user-defined-filename-for-account-710cb32e812b3bd8.yaml delete mode 100644 releasenotes/notes/0.9/warning_on_unsupported_options-9a96d7f32a487d00.yaml diff --git a/releasenotes/.gitkeep b/releasenotes/.gitkeep new file mode 100644 index 000000000..e37bedb0b --- /dev/null +++ b/releasenotes/.gitkeep @@ -0,0 +1 @@ +# Empty file so Git preserves the folder. \ No newline at end of file diff --git a/releasenotes/notes/0.1/account-management-b9908e0b62dc1d81.yaml b/releasenotes/notes/0.1/account-management-b9908e0b62dc1d81.yaml deleted file mode 100644 index 27459c39f..000000000 --- a/releasenotes/notes/0.1/account-management-b9908e0b62dc1d81.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -upgrade: - - | - `qiskit-ibm-runtime` package no longer uses the `$HOME/.qiskit/qiskitrc` file used by - `qiskit-ibmq-provider` to save credentials. Credentials are now stored in a - JSON format in `$HOME/.qiskit/qiskit-ibm.json` file when you use - :meth:`qiskit_ibm_runtime.IBMRuntimeService.save_account` method. - - You can now save multiple credentials and give an optional `name` for each credential. diff --git a/releasenotes/notes/0.1/authentication-79b90822d430688f.yaml b/releasenotes/notes/0.1/authentication-79b90822d430688f.yaml deleted file mode 100644 index 5f1bdbfc5..000000000 --- a/releasenotes/notes/0.1/authentication-79b90822d430688f.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -upgrade: - - | - Qiskit Runtime service is accessible using an IBM Quantum (`legacy`) account - or an IBM Cloud (`cloud`) account. - `qiskit-ibm-runtime` enables you to connect to either of these accounts:: - - # Legacy - from qiskit_ibm_runtime import IBMRuntimeService - service = IBMRuntimeService(auth="legacy", token="abc") - - # Cloud - from qiskit_ibm_runtime import IBMRuntimeService - service = IBMRuntimeService(auth="cloud", token="abc", instance="IBM Cloud CRN or Service instance name") - diff --git a/releasenotes/notes/0.1/backend-v2-15bbe03ff572b6da.yaml b/releasenotes/notes/0.1/backend-v2-15bbe03ff572b6da.yaml deleted file mode 100644 index 63304edeb..000000000 --- a/releasenotes/notes/0.1/backend-v2-15bbe03ff572b6da.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -upgrade: - - | - :class:`qiskit_ibm_runtime.IBMBackend` class now implements the - :class:`qiskit.providers.BackendV2` interface and provides flatter access to the configuration - of a backend, for example:: - - # BackendV1: - backend.configuration().n_qubits - - # BackendV2: - backend.num_qubits - - Only breaking change when compared to `BackendV1` is backend.name is now an attribute - instead of a method. - - Refer to the :class:`qiskit_ibm_runtime.IBMBackend` class doc string for a list of all - available attributes. diff --git a/releasenotes/notes/0.1/backend-vs-get-backend-18b2dcf4b8434e00.yaml b/releasenotes/notes/0.1/backend-vs-get-backend-18b2dcf4b8434e00.yaml deleted file mode 100644 index 3d3b3fb75..000000000 --- a/releasenotes/notes/0.1/backend-vs-get-backend-18b2dcf4b8434e00.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -upgrade: - - | - If you used `qiskit.providers.ibmq.AccountProvider.get_backend` method (for example, - ``provider.get_backend("ibmq_qasm_simulator")``) in the `qiskit-ibmq-provider` package, it's - equivalent method in this new package is :meth:`qiskit_ibm_runtime.IBMRuntimeService.backend`:: - - service = IBMRuntimeService() - backend = service.backend("ibmq_qasm_simulator") diff --git a/releasenotes/notes/0.1/convert-runtime-methods-5d5d76f4d20332f1.yaml b/releasenotes/notes/0.1/convert-runtime-methods-5d5d76f4d20332f1.yaml deleted file mode 100644 index 1451cc154..000000000 --- a/releasenotes/notes/0.1/convert-runtime-methods-5d5d76f4d20332f1.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -upgrade: - - | - In order to be consistent with other properties in - :class:`qiskit_ibm_runtime.RuntimeJob` class - the `job_id` and `backend` methods have been converted to properties. diff --git a/releasenotes/notes/0.1/encoder-instructions-f99e128a02a10714.yaml b/releasenotes/notes/0.1/encoder-instructions-f99e128a02a10714.yaml deleted file mode 100644 index 8b57e9285..000000000 --- a/releasenotes/notes/0.1/encoder-instructions-f99e128a02a10714.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - :class:`qiskit_ibm_runtime.utils.json.RuntimeEncoder` and - :class:`qiskit_ibm_runtime.utils.json.RuntimeDecoder` have been updated to handle - instances of the `Instruction` class. diff --git a/releasenotes/notes/0.1/filter-jobs-by-provider-dead04faaf223840.yaml b/releasenotes/notes/0.1/filter-jobs-by-provider-dead04faaf223840.yaml deleted file mode 100644 index 5604b28de..000000000 --- a/releasenotes/notes/0.1/filter-jobs-by-provider-dead04faaf223840.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - | - You can now pass ``instance`` parameter in the hub/group/project format to - :meth:`qiskit_ibm_runtime.IBMRuntimeService.jobs` to filter jobs. Currently - only supported for legacy authentication. \ No newline at end of file diff --git a/releasenotes/notes/0.1/fix-qpy-v3-serialisation-20ddba46e7c6ba09.yaml b/releasenotes/notes/0.1/fix-qpy-v3-serialisation-20ddba46e7c6ba09.yaml deleted file mode 100644 index b0f88357d..000000000 --- a/releasenotes/notes/0.1/fix-qpy-v3-serialisation-20ddba46e7c6ba09.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -fixes: - - | - Fixed an issue with JSON encoding and decoding when using - ``ParameterExpression``\ s in conjunction with Qiskit Terra 0.19.1 and - above. Previously, the ``Parameter`` instances reconstructed from the JSON - output would have different unique identifiers, causing them to seem unequal - to the input. They will now have the correct backing identities. diff --git a/releasenotes/notes/0.1/interim-results-b5a18a3784063d56.yaml b/releasenotes/notes/0.1/interim-results-b5a18a3784063d56.yaml deleted file mode 100644 index b6c3c9f18..000000000 --- a/releasenotes/notes/0.1/interim-results-b5a18a3784063d56.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -features: - - | - You can now use the :meth:`qiskit_ibm_runtime.RuntimeJob.interim_results` - method to retrieve runtime program interim results. - Note that interim results will only be available for - up to two days. \ No newline at end of file diff --git a/releasenotes/notes/0.1/least-busy-4a7040c00f605635.yaml b/releasenotes/notes/0.1/least-busy-4a7040c00f605635.yaml deleted file mode 100644 index 9639f5f57..000000000 --- a/releasenotes/notes/0.1/least-busy-4a7040c00f605635.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -features: - - | - :meth:`qiskit_ibm_runtime.IBMRuntimeService.least_busy` will now allow you find - the least busy backend. diff --git a/releasenotes/notes/0.1/legacy-optional-hgp-299a0fd8ee029734.yaml b/releasenotes/notes/0.1/legacy-optional-hgp-299a0fd8ee029734.yaml deleted file mode 100644 index 030a6a7fb..000000000 --- a/releasenotes/notes/0.1/legacy-optional-hgp-299a0fd8ee029734.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -upgrade: - - | - It is now optional to specify a hub/group/project upfront when connecting to the `legacy` IBM - Quantum account. The hub/group/project is selected in the following order. - - - hub/group/project if passed via ``instance`` parameter when initializing - :class:`qiskit_ibm_runtime.IBMRuntimeService` - - the specific hub/group/project required by the backend specified when - calling :meth:`qiskit_ibm_runtime.IBMRuntimeService.run` - - the default set previously via :meth:`qiskit_ibm_runtime.IBMRuntimeService.save_account` - - a premium hub/group/project in your account - - open access hub/group/project - diff --git a/releasenotes/notes/0.1/numpy-ndarray-encoder-919d6a344e131fee.yaml b/releasenotes/notes/0.1/numpy-ndarray-encoder-919d6a344e131fee.yaml deleted file mode 100644 index ed390208c..000000000 --- a/releasenotes/notes/0.1/numpy-ndarray-encoder-919d6a344e131fee.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -fixes: - - | - Fixed an issue where numpy ndarrays with object types could not be - serialized. :class:`qiskit_ibm_runtime.utils.json.RuntimeEncoder` and - :class:`qiskit_ibm_runtime.utils.json.RuntimeDecoder` have been updated - to handle these ndarrays. - diff --git a/releasenotes/notes/0.1/optional-backend-name-4d120e2645b5831e.yaml b/releasenotes/notes/0.1/optional-backend-name-4d120e2645b5831e.yaml deleted file mode 100644 index 608d7474d..000000000 --- a/releasenotes/notes/0.1/optional-backend-name-4d120e2645b5831e.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -upgrade: - - | - It is now optional to specify `backend_name` in `options` when executing - :meth:`qiskit_ibm_runtime.IBMRuntimeService.run` method when using `cloud` runtime - (IBM Cloud only). The server will automatically pick a backend and return the name. diff --git a/releasenotes/notes/0.1/optional-program-description-f6e3aceca8223af7.yaml b/releasenotes/notes/0.1/optional-program-description-f6e3aceca8223af7.yaml deleted file mode 100644 index 900810157..000000000 --- a/releasenotes/notes/0.1/optional-program-description-f6e3aceca8223af7.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -upgrade: - - | - When uploading a program with :meth:`qiskit_ibm_runtime.IBMRuntimeService.upload_program`, - the program description is now optional. \ No newline at end of file diff --git a/releasenotes/notes/0.1/prelude-96ed7aae53f9932a.yaml b/releasenotes/notes/0.1/prelude-96ed7aae53f9932a.yaml deleted file mode 100644 index 30c049018..000000000 --- a/releasenotes/notes/0.1/prelude-96ed7aae53f9932a.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -prelude: > - `qiskit-ibm-runtime` is a new Python API client for accessing the quantum programs, - systems and simulators at IBM Quantum via the Qiskit Runtime Service. - - - This new package is built upon the work already done in `qiskit.providers.ibmq.runtime` - module in the `qiskit-ibmq-provider` package and replaces it going forward. The `runtime` - module in `qiskit-ibmq-provider` package is now deprecated. - - - `qiskit-ibm-runtime` is not included as part of `Qiskit` meta package and thereby you have to - install it separately using ``pip install qiskit-ibm-runtime``. diff --git a/releasenotes/notes/0.1/print-backend-requirements-a682e98ded7977d7.yaml b/releasenotes/notes/0.1/print-backend-requirements-a682e98ded7977d7.yaml deleted file mode 100644 index 93cbfa760..000000000 --- a/releasenotes/notes/0.1/print-backend-requirements-a682e98ded7977d7.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -upgrade: - - | - When printing programs with :meth:`qiskit_ibm_runtime.IBMRuntimeService.pprint_programs`, - ``backend_requirements`` will now be listed. - diff --git a/releasenotes/notes/0.1/remove-logout-207163e4d4a6adf8.yaml b/releasenotes/notes/0.1/remove-logout-207163e4d4a6adf8.yaml deleted file mode 100644 index 9d83f4f8a..000000000 --- a/releasenotes/notes/0.1/remove-logout-207163e4d4a6adf8.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -upgrade: - - | - `qiskit.providers.ibmq.runtime.IBMRuntimeService.logout` method in `qiskit-ibmq-provider` - which was used to clear authorization cache on the server has been removed. diff --git a/releasenotes/notes/0.1/remove-python-3.6-f7ff43b6d84e4e7c.yaml b/releasenotes/notes/0.1/remove-python-3.6-f7ff43b6d84e4e7c.yaml deleted file mode 100644 index f682b7d37..000000000 --- a/releasenotes/notes/0.1/remove-python-3.6-f7ff43b6d84e4e7c.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -upgrade: - - | - Python 3.6 has reached end of life and will no longer be supported in the new - `qiskit-ibm-runtime` package. diff --git a/releasenotes/notes/0.1/remove-run-circuits-6d43cf46e509d55e.yaml b/releasenotes/notes/0.1/remove-run-circuits-6d43cf46e509d55e.yaml deleted file mode 100644 index 1c807a205..000000000 --- a/releasenotes/notes/0.1/remove-run-circuits-6d43cf46e509d55e.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -upgrade: - - | - `qiskit.providers.ibmq.runtime.IBMRuntimeService.run_circuits` method in `qiskit-ibmq-provider` - has been removed and will be replaced by the ``Sampler`` primitive program. diff --git a/releasenotes/notes/0.1/resolve-crn-b2cc1c35f5306bea.yaml b/releasenotes/notes/0.1/resolve-crn-b2cc1c35f5306bea.yaml deleted file mode 100644 index 094498443..000000000 --- a/releasenotes/notes/0.1/resolve-crn-b2cc1c35f5306bea.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -features: - - | - For convenience, you can now set the ``IBM Cloud service name`` as a value for the account ``instance`` - parameter. If you choose to set the name instead of the ``CRN``, the initialization time of the - :class:`qiskit_ibm_runtime.IBMRuntimeService` class is slightly higher because the required ``CRN`` - value is internally resolved via IBM Cloud APIs. \ No newline at end of file diff --git a/releasenotes/notes/0.1/runtime-options-175692ee0417ff30.yaml b/releasenotes/notes/0.1/runtime-options-175692ee0417ff30.yaml deleted file mode 100644 index 172b1278b..000000000 --- a/releasenotes/notes/0.1/runtime-options-175692ee0417ff30.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -upgrade: - - | - :meth:`qiskit_ibm_runtime.IBMRuntimeService.run` method now accepts runtime - execution options as :class:`qiskit_ibm_runtime.RuntimeOptions` class in addition to - already supported Dict. `backend_name`, `image` and `log_level` are the - currently available options. diff --git a/releasenotes/notes/0.1/stream-results-6ff5f240bbe21fc0.yaml b/releasenotes/notes/0.1/stream-results-6ff5f240bbe21fc0.yaml deleted file mode 100644 index bf72e5225..000000000 --- a/releasenotes/notes/0.1/stream-results-6ff5f240bbe21fc0.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -upgrade: - - | - Final result is also streamed now after interim results when you specify a ``callback`` - to :meth:`qiskit_ibm_runtime.IBMRuntimeService.run` or - :meth:`qiskit_ibm_runtime.RuntimeJob.stream_results`. diff --git a/releasenotes/notes/0.1/wait-for-final-state-bug-02ebbe8df7a252d0.yaml b/releasenotes/notes/0.1/wait-for-final-state-bug-02ebbe8df7a252d0.yaml deleted file mode 100644 index 0dc3b888a..000000000 --- a/releasenotes/notes/0.1/wait-for-final-state-bug-02ebbe8df7a252d0.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -fixes: - - | - Fixed a bug where :meth:`qiskit_ibm_runtime.RuntimeJob.wait_for_final_state` - would result in a NoneType error if the job already completed and - :meth:`qiskit_ibm_runtime.RuntimeJob.status` was called beforehand. - - diff --git a/releasenotes/notes/0.10/deserialization_of_job_params-79abdfebac8fa6f6.yaml b/releasenotes/notes/0.10/deserialization_of_job_params-79abdfebac8fa6f6.yaml deleted file mode 100644 index c5dfed9bf..000000000 --- a/releasenotes/notes/0.10/deserialization_of_job_params-79abdfebac8fa6f6.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -fixes: - - | - Added deserialization of the params of RuntimeJob.inputs. Previously, - the circuits were returned in serialized format. Fixes issue - `#829 `_. - diff --git a/releasenotes/notes/0.10/error_msg_max_execution_time-e401d353ae2a7d86.yaml b/releasenotes/notes/0.10/error_msg_max_execution_time-e401d353ae2a7d86.yaml deleted file mode 100644 index 63423dd79..000000000 --- a/releasenotes/notes/0.10/error_msg_max_execution_time-e401d353ae2a7d86.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -upgrade: - - | - Added error messages in case the user defines unsupported values - for 'max_execution_time'. - Previously, this validation was done on the server side. diff --git a/releasenotes/notes/0.10/python-3.11-support-edb6c144032bf483.yaml b/releasenotes/notes/0.10/python-3.11-support-edb6c144032bf483.yaml deleted file mode 100644 index 861b20f2f..000000000 --- a/releasenotes/notes/0.10/python-3.11-support-edb6c144032bf483.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -features: - - | - Python 3.11 is now supported. diff --git a/releasenotes/notes/0.10/retrieve-backends-no-config-5d51fdf5fe9af648.yaml b/releasenotes/notes/0.10/retrieve-backends-no-config-5d51fdf5fe9af648.yaml deleted file mode 100644 index 13750d0ea..000000000 --- a/releasenotes/notes/0.10/retrieve-backends-no-config-5d51fdf5fe9af648.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -fixes: - - | - 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. diff --git a/releasenotes/notes/0.11/backend_deepcopy-965f6a19a6d17cb2.yaml b/releasenotes/notes/0.11/backend_deepcopy-965f6a19a6d17cb2.yaml deleted file mode 100644 index 733d556f6..000000000 --- a/releasenotes/notes/0.11/backend_deepcopy-965f6a19a6d17cb2.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Fixed infinite recursion when attempting to deepcopy an IBMBackend. Added - a method :meth:`qiskit_ibm_runtime.IBMBackend.deepcopy`. - diff --git a/releasenotes/notes/0.11/deprecate-bss-seconds-565fc01de679084f.yaml b/releasenotes/notes/0.11/deprecate-bss-seconds-565fc01de679084f.yaml deleted file mode 100644 index 0301693c1..000000000 --- a/releasenotes/notes/0.11/deprecate-bss-seconds-565fc01de679084f.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -deprecations: - - | - In :meth:`qiskit_ibm_runtime.RuntimeJob.metrics`, the `bss` field will be replaced - by `usage`. diff --git a/releasenotes/notes/0.11/error_message-a93bc462baa0cb8a.yaml b/releasenotes/notes/0.11/error_message-a93bc462baa0cb8a.yaml deleted file mode 100644 index cb8120e5f..000000000 --- a/releasenotes/notes/0.11/error_message-a93bc462baa0cb8a.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - | - Added reason for failure when invoking the method - :meth:`~qiskit_ibm_runtime.RuntimeJob.error_message`. - diff --git a/releasenotes/notes/0.11/exception_cancelled_job-9104b4e513590548.yaml b/releasenotes/notes/0.11/exception_cancelled_job-9104b4e513590548.yaml deleted file mode 100644 index bd1ce8838..000000000 --- a/releasenotes/notes/0.11/exception_cancelled_job-9104b4e513590548.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -features: - - | - If a job has been cancelled, and job.result() is requested, throw an exception - rather than returning None. diff --git a/releasenotes/notes/0.11/exclude-job-params-397b0b918aa4f6f9.yaml b/releasenotes/notes/0.11/exclude-job-params-397b0b918aa4f6f9.yaml deleted file mode 100644 index 7a85567ce..000000000 --- a/releasenotes/notes/0.11/exclude-job-params-397b0b918aa4f6f9.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - | - When retrieving a job with :meth:`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 :meth:`qiskit_ibm_runtime.RuntimeJob.inputs`. \ No newline at end of file diff --git a/releasenotes/notes/0.11/job-cost-estimation-d0ba83dbc95c3f67.yaml b/releasenotes/notes/0.11/job-cost-estimation-d0ba83dbc95c3f67.yaml deleted file mode 100644 index be82253c9..000000000 --- a/releasenotes/notes/0.11/job-cost-estimation-d0ba83dbc95c3f67.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - | - Added a new property, :meth:`~qiskit_ibm_runtime.RuntimeJob.usage_estimation` - that returns the estimated system execution time, ``quantum_seconds``. System execution time - represents the amount of time that the system is dedicated to processing your job. diff --git a/releasenotes/notes/0.11/max_circuits-b773c860f8df1cf4.yaml b/releasenotes/notes/0.11/max_circuits-b773c860f8df1cf4.yaml deleted file mode 100644 index 6e492d83e..000000000 --- a/releasenotes/notes/0.11/max_circuits-b773c860f8df1cf4.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -features: - - | - Raise an exception if the number of circuits passed to - :meth:`~qiskit_ibm_runtime.BasePrimitive._run_primitive` - exceeds the number of circuits supported on the backend. - diff --git a/releasenotes/notes/0.11/metadata-serialization-bug-dfd7fd86702b6ce7.yaml b/releasenotes/notes/0.11/metadata-serialization-bug-dfd7fd86702b6ce7.yaml deleted file mode 100644 index 77990c666..000000000 --- a/releasenotes/notes/0.11/metadata-serialization-bug-dfd7fd86702b6ce7.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -fixes: - - | - Fixed an issue where circuit metadata was not being serialized correctly - resulting in a type error. diff --git a/releasenotes/notes/0.11/non_active_backend-2fcdbbc3d902f2a3.yaml b/releasenotes/notes/0.11/non_active_backend-2fcdbbc3d902f2a3.yaml deleted file mode 100644 index c11895de7..000000000 --- a/releasenotes/notes/0.11/non_active_backend-2fcdbbc3d902f2a3.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -features: - - | - Added warning when the backend is not active in - QiskitRuntimeService.run. diff --git a/releasenotes/notes/0.11/remove-default-session-ba05e48362567d5b.yaml b/releasenotes/notes/0.11/remove-default-session-ba05e48362567d5b.yaml deleted file mode 100644 index 817c6093d..000000000 --- a/releasenotes/notes/0.11/remove-default-session-ba05e48362567d5b.yaml +++ /dev/null @@ -1,21 +0,0 @@ ---- -upgrade: - - | - A default session is no longer open for you if you pass a backend name or - backend instance to :class:`qiskit_ibm_runtime.Sampler` or - :class:`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 :class:`qiskit_ibm_runtime.Sampler` and - :class:`qiskit_ibm_runtime.Estimator` constructors is now ``backend`` - instead of ``session``. -deprecations: - - | - Passing a backend name or backend instance to the ``session`` parameter - when initializing a :class:`qiskit_ibm_runtime.Sampler` or - :class:`qiskit_ibm_runtime.Estimator` has been deprecated. Please use - the ``backend`` parameter instead. You can continue to pass a session - using the ``session`` parameter. diff --git a/releasenotes/notes/0.11/simulator-options-set-backend-796e2ae4517be689.yaml b/releasenotes/notes/0.11/simulator-options-set-backend-796e2ae4517be689.yaml deleted file mode 100644 index e1dd29d22..000000000 --- a/releasenotes/notes/0.11/simulator-options-set-backend-796e2ae4517be689.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- -features: - - | - A new method, :meth:`qiskit_ibm_runtime.options.SimulatorOptions.set_backend`, allows users - to more easily set simulator options for a backend. - - .. code-block:: - - from qiskit.providers.fake_provider import FakeManila - from qiskit_aer.noise import NoiseModel - - # Make a noise model - fake_backend = FakeManila() - - # Set options to include the noise model - options = Options() - options.simulator.set_backend(fake_backend) - options.simulator.seed_simulator = 42 - - diff --git a/releasenotes/notes/0.11/support-update-tags-43eb9478a315c2b3.yaml b/releasenotes/notes/0.11/support-update-tags-43eb9478a315c2b3.yaml deleted file mode 100644 index 589b65bdb..000000000 --- a/releasenotes/notes/0.11/support-update-tags-43eb9478a315c2b3.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -features: - - | - There is a new method :meth:`~qiskit_ibm_runtime.RuntimeJob.update_tags` that can be used - to update the ``job_tags`` of a job. diff --git a/releasenotes/notes/0.11/support_coupling_map-3695cd8c7e5ad848.yaml b/releasenotes/notes/0.11/support_coupling_map-3695cd8c7e5ad848.yaml deleted file mode 100644 index 4ca8a5c01..000000000 --- a/releasenotes/notes/0.11/support_coupling_map-3695cd8c7e5ad848.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -features: - - | - 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)} - diff --git a/releasenotes/notes/0.12/backend-properties-datetime-0fe6a364c0a291d2.yaml b/releasenotes/notes/0.12/backend-properties-datetime-0fe6a364c0a291d2.yaml deleted file mode 100644 index 72c922864..000000000 --- a/releasenotes/notes/0.12/backend-properties-datetime-0fe6a364c0a291d2.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Retrieving backend properties with :meth:`~qiskit_ibm_runtime.IBMBackend.properties` - now supports passing a ``datetime`` parameter to retrieve properties from a past date. - diff --git a/releasenotes/notes/0.12/channel-strategy-backend-filter-a4fe5248d9aea9c1.yaml b/releasenotes/notes/0.12/channel-strategy-backend-filter-a4fe5248d9aea9c1.yaml deleted file mode 100644 index 58c7cf712..000000000 --- a/releasenotes/notes/0.12/channel-strategy-backend-filter-a4fe5248d9aea9c1.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - | - If using a ``channel_strategy``, only backends that support that ``channel_strategy`` - will be accessible to the user. - diff --git a/releasenotes/notes/0.12/data-tracking-updates-97327c62c51b5891.yaml b/releasenotes/notes/0.12/data-tracking-updates-97327c62c51b5891.yaml deleted file mode 100644 index fa1a8c5ba..000000000 --- a/releasenotes/notes/0.12/data-tracking-updates-97327c62c51b5891.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -features: - - | - Users can use a new environment variable, ``USAGE_DATA_OPT_OUT`` to - opt out of user module usage tracking by setting this value to ``True``. - Additionally, only certain qiskit modules will be tracked instead of - all modules that begin with `qiskit` or `qiskit_`. diff --git a/releasenotes/notes/0.12/default-channel-strategy-6899049ad4a7321b.yaml b/releasenotes/notes/0.12/default-channel-strategy-6899049ad4a7321b.yaml deleted file mode 100644 index 32aa93f6e..000000000 --- a/releasenotes/notes/0.12/default-channel-strategy-6899049ad4a7321b.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - | - Users can now pass in a value of ``default`` to the ``channel_strategy`` parameter - in :class:`qiskit_ibm_runtime.QiskitRuntimeService`. Now, if an account is configured - with a certain channel strategy, the user can override it by passing in ``default``. diff --git a/releasenotes/notes/0.12/default-resilience-options-7929458af000314f.yaml b/releasenotes/notes/0.12/default-resilience-options-7929458af000314f.yaml deleted file mode 100644 index 74c9e9dc9..000000000 --- a/releasenotes/notes/0.12/default-resilience-options-7929458af000314f.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -fixes: - - | - The ``noise_factors`` and ``extrapolator`` options in :class:`qiskit_ibm_runtime.options.ResilienceOptions` - will now default to ``None`` unless ``resilience_level`` is set to 2. - Only options relevant to the resilience level will be set, so when using ``resilience_level`` - 2, ``noise_factors`` will still default to ``(1, 3, 5)`` and ``extrapolator`` will default to - ``LinearExtrapolator``. Additionally, options with a value of ``None`` will no longer be sent to - the server. - diff --git a/releasenotes/notes/0.12/default_account-13d86d50f5b1d972.yaml b/releasenotes/notes/0.12/default_account-13d86d50f5b1d972.yaml deleted file mode 100644 index b84f81d21..000000000 --- a/releasenotes/notes/0.12/default_account-13d86d50f5b1d972.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - | - Added the option to define a default account in the account json file. - To select an account as default, define ``set_as_default=True`` in - ``QiskitRuntimeService.save_account()``. diff --git a/releasenotes/notes/0.12/deprecate_noise_amplifier-e656cc98a962a81b.yaml b/releasenotes/notes/0.12/deprecate_noise_amplifier-e656cc98a962a81b.yaml deleted file mode 100644 index 35e6f626a..000000000 --- a/releasenotes/notes/0.12/deprecate_noise_amplifier-e656cc98a962a81b.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -deprecations: - - | - The ``noise_amplifier`` resilience options is deprecated. - After the deprecation period, only local folding amplification will be supported. - Refer to https://github.com/qiskit-community/prototype-zne for global folding - amplification. diff --git a/releasenotes/notes/0.12/dont-store-circuit-params-9d87ffefc2a7d257.yaml b/releasenotes/notes/0.12/dont-store-circuit-params-9d87ffefc2a7d257.yaml deleted file mode 100644 index b15bc7ec4..000000000 --- a/releasenotes/notes/0.12/dont-store-circuit-params-9d87ffefc2a7d257.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -upgrade: - - | - Circuits and other input parameters will no longer be automatically stored in runtime jobs. - They can still be retrieved with :meth:`qiskit_ibm_runtime.RuntimeJob.inputs`. diff --git a/releasenotes/notes/0.12/error-codes-82a392efad5963da.yaml b/releasenotes/notes/0.12/error-codes-82a392efad5963da.yaml deleted file mode 100644 index 5f95903a0..000000000 --- a/releasenotes/notes/0.12/error-codes-82a392efad5963da.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -upgrade: - - | - Job error messages now include the error code. Error codes can be found in - https://docs.quantum-computing.ibm.com/errors. \ No newline at end of file diff --git a/releasenotes/notes/0.12/error-message-case-31b4b2b7a5a2f624.yaml b/releasenotes/notes/0.12/error-message-case-31b4b2b7a5a2f624.yaml deleted file mode 100644 index 696ce5db0..000000000 --- a/releasenotes/notes/0.12/error-message-case-31b4b2b7a5a2f624.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -fixes: - - | - Job error messages will no longer be returned in all uppercase. diff --git a/releasenotes/notes/0.12/filter_instance-a7203041b5ab85d9.yaml b/releasenotes/notes/0.12/filter_instance-a7203041b5ab85d9.yaml deleted file mode 100644 index da0cd3732..000000000 --- a/releasenotes/notes/0.12/filter_instance-a7203041b5ab85d9.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -features: - - | - If ``instance`` is provided as parameter to - :class:`qiskit_ibm_runtime.QiskitRuntimeService`, - then this is used as a filter in :meth:`QiskitRuntimeService.backends()`. - If ``instance`` is not recognized as one of the provider instances, - an exception will be raised. Previously, we only issued a warning. diff --git a/releasenotes/notes/0.12/fix_job_backend-2760075856605bf0.yaml b/releasenotes/notes/0.12/fix_job_backend-2760075856605bf0.yaml deleted file mode 100644 index 9260c71cf..000000000 --- a/releasenotes/notes/0.12/fix_job_backend-2760075856605bf0.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -fixes: - - | - When running on channel "ibm_cloud", it is possible not to specify - the backend. In this case, the system selects one of the available - backends for this service. Issue - `#625 https://github.com/Qiskit/qiskit-ibm-runtime/issues/625` - reported that the the backend returned by ``job.backend()`` was not - always the actual backend on which the job was run. This PR fixes - this bug. diff --git a/releasenotes/notes/0.12/fix_test_cancel_job_running-771511870d82d4e4.yaml b/releasenotes/notes/0.12/fix_test_cancel_job_running-771511870d82d4e4.yaml deleted file mode 100644 index 92c4ccf03..000000000 --- a/releasenotes/notes/0.12/fix_test_cancel_job_running-771511870d82d4e4.yaml +++ /dev/null @@ -1,6 +0,0 @@ -fixes: - - | - Fixes a race condition in the test `test_cancel_running_job()` in `test_job.py` - where job cancellation could not be performed. - Refer to #1019 _ for - more details. diff --git a/releasenotes/notes/0.12/from_id-23fc85f3fbf01e0b.yaml b/releasenotes/notes/0.12/from_id-23fc85f3fbf01e0b.yaml deleted file mode 100644 index 7e61ea5a5..000000000 --- a/releasenotes/notes/0.12/from_id-23fc85f3fbf01e0b.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - | - Added new method ``Session.from_id`` which creates a new session with a given id. - - diff --git a/releasenotes/notes/0.12/global_service-ad56a0209e7b9891.yaml b/releasenotes/notes/0.12/global_service-ad56a0209e7b9891.yaml deleted file mode 100644 index c0f657edc..000000000 --- a/releasenotes/notes/0.12/global_service-ad56a0209e7b9891.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -features: - - | - Added a ``global_service``, so that if the user defines a `QiskitRuntimeService`, it will - be used by the primitives, even if the service is not passed to them explicitly. - For example:: - - from qiskit_ibm_runtime import QiskitRuntimeService, Sampler - service = QiskitRuntimeService(channel="ibm_quantum") - # Sampler._service field will be initialized to ``service`` - sampler = Sampler(backend="ibmq_qasm_simulator") diff --git a/releasenotes/notes/0.12/instances-method-02fda1de98638e59.yaml b/releasenotes/notes/0.12/instances-method-02fda1de98638e59.yaml deleted file mode 100644 index c35846b36..000000000 --- a/releasenotes/notes/0.12/instances-method-02fda1de98638e59.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - | - Added a new method, :meth:`qiskit_ibm_runtime.QiskitRuntimeService.instances` that returns - all instances(hub/group/project) the user is in. This is only for the ``ibm_quantum`` channel - since the ``ibm_cloud`` channel does not have multiple instances. diff --git a/releasenotes/notes/0.12/job-quota-warning-0512f30571897f53.yaml b/releasenotes/notes/0.12/job-quota-warning-0512f30571897f53.yaml deleted file mode 100644 index a484c733b..000000000 --- a/releasenotes/notes/0.12/job-quota-warning-0512f30571897f53.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -features: - - | - There will now be a warning if a user submits a job that is predicted to - exceed their system execution time monthly quota of 10 minutes. - This only applies to jobs run on real hardware in the instance ``ibm-q/open/main``. - If the job does end up exceeding the quota, it will be canceled. diff --git a/releasenotes/notes/0.12/max-execution-time-definition-196cb6297693c0f2.yaml b/releasenotes/notes/0.12/max-execution-time-definition-196cb6297693c0f2.yaml deleted file mode 100644 index 70f55273e..000000000 --- a/releasenotes/notes/0.12/max-execution-time-definition-196cb6297693c0f2.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -fixes: - - | - The `max_execution_time` option is now based on system execution time instead of wall clock time. - System execution time is the amount of time that the system is dedicated to processing your job. - If a job exceeds this time limit, it is forcibly cancelled. - Simulator jobs continue to use wall clock time. diff --git a/releasenotes/notes/0.12/option_validation-79d26018ab770519.yaml b/releasenotes/notes/0.12/option_validation-79d26018ab770519.yaml deleted file mode 100644 index d2fd97b48..000000000 --- a/releasenotes/notes/0.12/option_validation-79d26018ab770519.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -features: - - | - Added validations for options on the second level of the dict, - i.e., for each of resilience, simulator, execution, and - transpilation, check that their options are supported. - Otherwise throw an exception. - diff --git a/releasenotes/notes/0.12/q-ctrl-support-157170386477dfbd.yaml b/releasenotes/notes/0.12/q-ctrl-support-157170386477dfbd.yaml deleted file mode 100644 index 7adf9eb74..000000000 --- a/releasenotes/notes/0.12/q-ctrl-support-157170386477dfbd.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -features: - - | - There is a new parameter, ``channel_strategy`` that can be set in the initialization of - :class:`qiskit_ibm_runtime.QiskitRuntimeService` or saved in - :meth:`qiskit_ibm_runtime.QiskitRuntimeService.save_account`. If ``channel_strategy`` - is set to ``q-ctrl``, all jobs within the service will use - the Q-CTRL error mitigation strategy. - diff --git a/releasenotes/notes/0.12/q-ctrl-validation-08d249f1e84a43a5.yaml b/releasenotes/notes/0.12/q-ctrl-validation-08d249f1e84a43a5.yaml deleted file mode 100644 index 897bb1614..000000000 --- a/releasenotes/notes/0.12/q-ctrl-validation-08d249f1e84a43a5.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -features: - - | - The Sampler and Estimator primitives have been enhanced to incorporate custom validation procedures when - the channel_strategy property within the :class:qiskit_ibm_runtime.QiskitRuntimeService is configured as "q-ctrl." - This customized validation logic effectively rectifies incorrect input options and safeguards users against - inadvertently disabling Q-CTRL's performance enhancements. diff --git a/releasenotes/notes/0.12/remove-backend-circuits-limit-b804b58dc97ed276.yaml b/releasenotes/notes/0.12/remove-backend-circuits-limit-b804b58dc97ed276.yaml deleted file mode 100644 index 538fcb9b7..000000000 --- a/releasenotes/notes/0.12/remove-backend-circuits-limit-b804b58dc97ed276.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Previously we added validation when jobs were run to make sure the number - of circuits was not greater than the maximum for that backend, ``backend.max_circuits``. - This limit isn't actually necessary for primtives run from within a session. diff --git a/releasenotes/notes/0.13/expose-session-details-c4a44316d30dad33.yaml b/releasenotes/notes/0.13/expose-session-details-c4a44316d30dad33.yaml deleted file mode 100644 index 6e525c509..000000000 --- a/releasenotes/notes/0.13/expose-session-details-c4a44316d30dad33.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -features: - - | - Added a new method, :meth:`~qiskit_ibm_runtime.Session.details` that returns information - about a session, including: maximum session time, active time remaining, the current state, - and whether or not the session is accepting jobs. - - Also added :meth:`~qiskit_ibm_runtime.Session.status`, which returns the current status of - the session. - diff --git a/releasenotes/notes/0.13/fix_np_int64-864b605a88f57419.yaml b/releasenotes/notes/0.13/fix_np_int64-864b605a88f57419.yaml deleted file mode 100644 index 106c68469..000000000 --- a/releasenotes/notes/0.13/fix_np_int64-864b605a88f57419.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -fixes: - - | - Fixed a bug where ``shots`` passed in as a numpy type were not being - serialized correctly. diff --git a/releasenotes/notes/0.13/log-instance-selected-a18c4791418b5e0d.yaml b/releasenotes/notes/0.13/log-instance-selected-a18c4791418b5e0d.yaml deleted file mode 100644 index 3d78f85d1..000000000 --- a/releasenotes/notes/0.13/log-instance-selected-a18c4791418b5e0d.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -features: - - | - At initialization, if not passed in directly, the default ``instance`` selected by the provider - will be logged at the "INFO" level. When running a job, if the backend selected is not in - the default instance but in a different instance the user also has access to, that instance - will also be logged. diff --git a/releasenotes/notes/0.13/session-accepting-jobs-d7ef6b60c0f5527b.yaml b/releasenotes/notes/0.13/session-accepting-jobs-d7ef6b60c0f5527b.yaml deleted file mode 100644 index 1a3421a49..000000000 --- a/releasenotes/notes/0.13/session-accepting-jobs-d7ef6b60c0f5527b.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -upgrade: - - | - :meth:`qiskit_ibm_runtime.Session.close` has been updated to mark a ``Session`` as no longer - accepting new jobs. The session won't accept more jobs but it will continue to run any - queued jobs until they are done or the max time expires. This will also happen - automatically when the session context manager is exited. When a session that is not accepting - jobs has run out of jobs to run, it's immediately closed, freeing up the backend to run more jobs rather - than wait for the interactive timeout. - - The old close method behavior has been moved to a new method, - :meth:`qiskit_ibm_runtime.Session.cancel`, where all queued jobs within a session are - cancelled and terminated. diff --git a/releasenotes/notes/0.13/target-history-date-bug-7d6dad84fc5b3d2e.yaml b/releasenotes/notes/0.13/target-history-date-bug-7d6dad84fc5b3d2e.yaml deleted file mode 100644 index 5c26b3065..000000000 --- a/releasenotes/notes/0.13/target-history-date-bug-7d6dad84fc5b3d2e.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Fixed a bug in :meth:`~qiskit_ibm_runtime.IBMBackend.target_history` where - the datetime parameter was not being used to retrieve backend properties from the - specified date. diff --git a/releasenotes/notes/0.14/batch-class-b7a3befcfce8860e.yaml b/releasenotes/notes/0.14/batch-class-b7a3befcfce8860e.yaml deleted file mode 100644 index 8e2bf7e06..000000000 --- a/releasenotes/notes/0.14/batch-class-b7a3befcfce8860e.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - | - There is a new class, :class:`qiskit_ibm_runtime.Batch` that currently works - the same way as :class:`qiskit_ibm_runtime.Session` but will later be updated - to better support submitting multiple jobs at once. diff --git a/releasenotes/notes/0.14/deprecate-custom-programs-274e6ea20d1027a1.yaml b/releasenotes/notes/0.14/deprecate-custom-programs-274e6ea20d1027a1.yaml deleted file mode 100644 index dd8ec9d4e..000000000 --- a/releasenotes/notes/0.14/deprecate-custom-programs-274e6ea20d1027a1.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -deprecations: - - | - Custom programs are being deprecated as of qiskit-ibm-runtime 0.14.0 and will be - removed on November 27, 2023. Users can instead convert their custom programs to use - Qiskit Runtime primitives with Quantum Serverless. Refer to the migration guide for - instructions: - https://qiskit-extensions.github.io/quantum-serverless/migration/migration_from_qiskit_runtime_programs.html - diff --git a/releasenotes/notes/0.14/remove_kwargs_options-9024d3ec6572a53e.yaml b/releasenotes/notes/0.14/remove_kwargs_options-9024d3ec6572a53e.yaml deleted file mode 100644 index e40a4f40c..000000000 --- a/releasenotes/notes/0.14/remove_kwargs_options-9024d3ec6572a53e.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -features: - - | - Arbitrary keys and values are no longer allowed in ``Options``. diff --git a/releasenotes/notes/0.15/add-fake-provider-and-backends-ae20e788b45433ba.yaml b/releasenotes/notes/0.15/add-fake-provider-and-backends-ae20e788b45433ba.yaml deleted file mode 100644 index 6014d50fb..000000000 --- a/releasenotes/notes/0.15/add-fake-provider-and-backends-ae20e788b45433ba.yaml +++ /dev/null @@ -1,32 +0,0 @@ ---- -features: - - | - A new module :mod:`qiskit_ibm_runtime.fake_provider`, has been added to provide access - to a series of fake backends derived from snapshots of IBM Quantum devices. This - functionality was originally provided by the :mod:`qiskit.providers.fake_provider` - module, but will soon be deprecated in favor of :mod:`qiskit_ibm_runtime.fake_provider`. - - The snapshots provided by the fake backends are useful for local testing of the transpiler - and performing local noisy simulations of the system before running on real devices. - Here is an example of using a fake backend for transpilation and simulation:: - - from qiskit import QuantumCircuit - from qiskit import transpile - from qiskit_ibm_runtime.fake_provider import FakeManilaV2 - - # Get a fake backend from the fake provider - backend = FakeManilaV2() - - # Create a simple circuit - circuit = QuantumCircuit(3) - circuit.h(0) - circuit.cx(0,1) - circuit.cx(0,2) - circuit.measure_all() - - # Transpile the ideal circuit to a circuit that can be directly executed by the backend - transpiled_circuit = transpile(circuit, backend) - - # Run the transpiled circuit using the simulated fake backend - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() diff --git a/releasenotes/notes/0.15/backend_run-d5a92a4d677da6c1.yaml b/releasenotes/notes/0.15/backend_run-d5a92a4d677da6c1.yaml deleted file mode 100644 index 4391ff74f..000000000 --- a/releasenotes/notes/0.15/backend_run-d5a92a4d677da6c1.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -features: - - | - Added support for ``backend.run()``. The functionality is similar to that in ``qiskit-ibm-provider``. - diff --git a/releasenotes/notes/0.15/byte-result-bug-7afb5abe813f5b1b.yaml b/releasenotes/notes/0.15/byte-result-bug-7afb5abe813f5b1b.yaml deleted file mode 100644 index 66e9d3c31..000000000 --- a/releasenotes/notes/0.15/byte-result-bug-7afb5abe813f5b1b.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Fixed an issue where canceled and failed jobs would return an invalid result that - resulted in a type error, preventing the actual error from being returned - to the user. \ No newline at end of file diff --git a/releasenotes/notes/0.15/channel-strategy-instance-validate-639b18b8c5d44678.yaml b/releasenotes/notes/0.15/channel-strategy-instance-validate-639b18b8c5d44678.yaml deleted file mode 100644 index 6c74e2fb6..000000000 --- a/releasenotes/notes/0.15/channel-strategy-instance-validate-639b18b8c5d44678.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -features: - - | - An error will be raised during initialization if ``q-ctrl`` is passed in as the ``channel_strategy`` and - the account instance does not have ``q-ctrl`` enabled. diff --git a/releasenotes/notes/0.15/de-warning-6cf474f11578339c.yaml b/releasenotes/notes/0.15/de-warning-6cf474f11578339c.yaml deleted file mode 100644 index 6248078b0..000000000 --- a/releasenotes/notes/0.15/de-warning-6cf474f11578339c.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - A warning will be raised at initialization if the DE environment is being used since not all - features are supported there. - diff --git a/releasenotes/notes/0.15/deprecate_qiskitrc-1fd8afc6d599fc0e.yaml b/releasenotes/notes/0.15/deprecate_qiskitrc-1fd8afc6d599fc0e.yaml deleted file mode 100644 index 12d59babd..000000000 --- a/releasenotes/notes/0.15/deprecate_qiskitrc-1fd8afc6d599fc0e.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -deprecations: - - | - Usage of the ``~/.qiskit/qiskitrc.json`` file for account information has been - deprecated. Use ``~/.qiskit/qiskit-ibm.json`` instead. diff --git a/releasenotes/notes/0.15/from-id-params-659a2adb727b9d18.yaml b/releasenotes/notes/0.15/from-id-params-659a2adb727b9d18.yaml deleted file mode 100644 index 2d16c3895..000000000 --- a/releasenotes/notes/0.15/from-id-params-659a2adb727b9d18.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - The ``backend`` parameter in :meth:`~qiskit_ibm_runtime.Session.from_id` is being deprecated because - sessions do not support multiple backends. Additionally, the ``service`` parameter is no longer optional. - diff --git a/releasenotes/notes/0.15/migrate_backend_run-06c4b0579f28061a.yaml b/releasenotes/notes/0.15/migrate_backend_run-06c4b0579f28061a.yaml deleted file mode 100644 index fc290de6e..000000000 --- a/releasenotes/notes/0.15/migrate_backend_run-06c4b0579f28061a.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -other: - - | - Added migration code for running ``backend.run`` in `qiskit_ibm_runtime` instead of in `qiskit_ibm_provider`. diff --git a/releasenotes/notes/0.15/no_cached_results-54d063390b9b0ae6.yaml b/releasenotes/notes/0.15/no_cached_results-54d063390b9b0ae6.yaml deleted file mode 100644 index 5740d00b6..000000000 --- a/releasenotes/notes/0.15/no_cached_results-54d063390b9b0ae6.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -features: - - | - Removed storing result in ``RuntimeJob._results``. Instead retrieve results every time the - ``results()`` method is called. diff --git a/releasenotes/notes/0.15/remove-circuit-indicies-e8af9da213e463e9.yaml b/releasenotes/notes/0.15/remove-circuit-indicies-e8af9da213e463e9.yaml deleted file mode 100644 index ca2d327fd..000000000 --- a/releasenotes/notes/0.15/remove-circuit-indicies-e8af9da213e463e9.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - The ``circuit_indices`` and ``observable_indices`` run inputs for - :class:`~qiskit_ibm_runtime.Estimator` and :class:`~qiskit_ibm_runtime.Sampler` - have been completely removed. \ No newline at end of file diff --git a/releasenotes/notes/0.15/revert-from-id-9b87ea2d948251d6.yaml b/releasenotes/notes/0.15/revert-from-id-9b87ea2d948251d6.yaml deleted file mode 100644 index 02a46f518..000000000 --- a/releasenotes/notes/0.15/revert-from-id-9b87ea2d948251d6.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Reverting `0.15.0` changes to :meth:`~qiskit_ibm_runtime.Session.from_id` because it was - a breaking change without proper deprecation. - diff --git a/releasenotes/notes/0.16/q-ctrl-instance-check-46181d51f16d18bc.yaml b/releasenotes/notes/0.16/q-ctrl-instance-check-46181d51f16d18bc.yaml deleted file mode 100644 index a48934c7f..000000000 --- a/releasenotes/notes/0.16/q-ctrl-instance-check-46181d51f16d18bc.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -fixes: - - | - If a cloud instance that is ``q-ctrl`` enabled is used while ``q-ctrl`` is not - passed in as the ``channel_strategy``, an error will be raised. diff --git a/releasenotes/notes/0.16/remove-custom-programs-aea76f4dd19cd481.yaml b/releasenotes/notes/0.16/remove-custom-programs-aea76f4dd19cd481.yaml deleted file mode 100644 index 8823cfb37..000000000 --- a/releasenotes/notes/0.16/remove-custom-programs-aea76f4dd19cd481.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -upgrade: - - | - Methods related to using custom programs are removed. diff --git a/releasenotes/notes/0.16/thread-safe-sessions-d08c8367e98447e7.yaml b/releasenotes/notes/0.16/thread-safe-sessions-d08c8367e98447e7.yaml deleted file mode 100644 index 4880e2d53..000000000 --- a/releasenotes/notes/0.16/thread-safe-sessions-d08c8367e98447e7.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -prelude: > - Sessions are now thread-safe and allow for multiple concurrent interactive - experiments. -features: - - Sessions are now thread-safe. diff --git a/releasenotes/notes/0.17/backend-instance-filter-20d69b3951437f19.yaml b/releasenotes/notes/0.17/backend-instance-filter-20d69b3951437f19.yaml deleted file mode 100644 index b23198477..000000000 --- a/releasenotes/notes/0.17/backend-instance-filter-20d69b3951437f19.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- -fixes: - - | - When a single backend is retrieved with the ``instance`` parameter, - - .. code-block:: - - service.backend('ibm_torino', instance='ibm-q/open/main') - # raises error if torino is not in ibm-q/open/main but in a different instance - # the user has access to - service = QiskitRuntimeService(channel="ibm_quantum", instance="ibm-q/open/main") - service.backend('ibm_torino') # raises the same error - - if the backend is not in the instance but in a different one the user has access to, an error - will be raised. The same error will now be raised if an instance is passed in at initialization - and then a backend not in that instance is retrieved. diff --git a/releasenotes/notes/0.17/faulity-qubits-name-error-f03b90f21cd2d9bf.yaml b/releasenotes/notes/0.17/faulity-qubits-name-error-f03b90f21cd2d9bf.yaml deleted file mode 100644 index 9765774a2..000000000 --- a/releasenotes/notes/0.17/faulity-qubits-name-error-f03b90f21cd2d9bf.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Fixed an issue where retrieving the `coupling_map` of some backends would result - in a `NameError`. - diff --git a/releasenotes/notes/0.17/job-properties-2b5c2f66c50d7d2d.yaml b/releasenotes/notes/0.17/job-properties-2b5c2f66c50d7d2d.yaml deleted file mode 100644 index cd9bfcad4..000000000 --- a/releasenotes/notes/0.17/job-properties-2b5c2f66c50d7d2d.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - | - Added a new method :meth:`~qiskit_ibm_runtime.RuntimeJob.properties` which returns the - backend properties of the job at the time the job was run. - diff --git a/releasenotes/notes/0.17/new-session-details-field-48311b4d3313ad94.yaml b/releasenotes/notes/0.17/new-session-details-field-48311b4d3313ad94.yaml deleted file mode 100644 index ef6b210dc..000000000 --- a/releasenotes/notes/0.17/new-session-details-field-48311b4d3313ad94.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - | - :meth:`~qiskit_ibm_runtime.Session.details` has a new field, `activated_at`, which - is the timestamp of when the session was changed to active. - diff --git a/releasenotes/notes/0.18/deprecate-service-runtime-1138cb5ec43fc4ff.yaml b/releasenotes/notes/0.18/deprecate-service-runtime-1138cb5ec43fc4ff.yaml deleted file mode 100644 index 7e7f786b1..000000000 --- a/releasenotes/notes/0.18/deprecate-service-runtime-1138cb5ec43fc4ff.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -deprecations: - - | - :meth:`~qiskit_ibm_runtime.QiskitRuntimeService.runtime` has been deprecated. diff --git a/releasenotes/notes/0.18/dynamic-circuits-filter-59f771a9b43c00cd.yaml b/releasenotes/notes/0.18/dynamic-circuits-filter-59f771a9b43c00cd.yaml deleted file mode 100644 index ede5247f3..000000000 --- a/releasenotes/notes/0.18/dynamic-circuits-filter-59f771a9b43c00cd.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -features: - - | - Added a new parameter, `dynamic_circuits` to :meth:`~qiskit_ibm_runtime.QiskitRuntimeService.backends` - to allow filtering of backends that support dynamic circuits. diff --git a/releasenotes/notes/0.18/exclude-job-params-default-00133498a5c5c15d.yaml b/releasenotes/notes/0.18/exclude-job-params-default-00133498a5c5c15d.yaml deleted file mode 100644 index 6d500c8e1..000000000 --- a/releasenotes/notes/0.18/exclude-job-params-default-00133498a5c5c15d.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Many methods in :class:`~qiskit_ibm_runtime.RuntimeJob` require retrieving the job data from the API with - ``job_get()``. This API call will now exclude the ``params`` field by default because they are only necessary in - :meth:`qiskit_ibm_runtime.RuntimeJob.inputs`. diff --git a/releasenotes/notes/0.18/max_session_time-0bd8665656bf439c.yaml b/releasenotes/notes/0.18/max_session_time-0bd8665656bf439c.yaml deleted file mode 100644 index f5e0cf933..000000000 --- a/releasenotes/notes/0.18/max_session_time-0bd8665656bf439c.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -features: - - | - Added ``max_time`` parameter to ``IBMBackend.open_session()``. diff --git a/releasenotes/notes/0.18/queueinfo-5e1bb815228425bb.yaml b/releasenotes/notes/0.18/queueinfo-5e1bb815228425bb.yaml deleted file mode 100644 index 4ac119346..000000000 --- a/releasenotes/notes/0.18/queueinfo-5e1bb815228425bb.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -features: - - | - Added a method ``RuntimeJob.queue_info()`` to get the queue information - from the backend. This feature was transferred from ``qiskit_ibm_provider``. diff --git a/releasenotes/notes/0.19/consolidate-provider-code-b07fea8644aa8f43.yaml b/releasenotes/notes/0.19/consolidate-provider-code-b07fea8644aa8f43.yaml deleted file mode 100644 index 5edb74f18..000000000 --- a/releasenotes/notes/0.19/consolidate-provider-code-b07fea8644aa8f43.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -upgrade: - - | - `qiskit-ibm-provider` is pending deprecation, and therefore will no longer be a - dependency for `qiskit-ibm-runtime`. diff --git a/releasenotes/notes/0.19/fix-duration-patching-b80d45d77481dfa6.yaml b/releasenotes/notes/0.19/fix-duration-patching-b80d45d77481dfa6.yaml deleted file mode 100644 index bfe9cf25e..000000000 --- a/releasenotes/notes/0.19/fix-duration-patching-b80d45d77481dfa6.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -fixes: - - | - Fix the patching of :class:`.DynamicCircuitInstructions` for instructions - with durations that are not in units of ``dt``. -upgrade: - - | - Extend :meth:`.DynamicCircuitInstructions.from_backend` to extract and - patch durations from both :class:`.BackendV1` and :class:`.BackendV2` - objects. Also add :meth:`.DynamicCircuitInstructions.from_target` to use a - :class:`.Target` object instead. diff --git a/releasenotes/notes/0.19/fix-qpy-bug-739cefc2c9018d0b.yaml b/releasenotes/notes/0.19/fix-qpy-bug-739cefc2c9018d0b.yaml deleted file mode 100644 index 8969fba28..000000000 --- a/releasenotes/notes/0.19/fix-qpy-bug-739cefc2c9018d0b.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -fixes: - - | - Fixed an issue with the :func:`.qpy.dump` function, when the - ``use_symengine`` flag was set to a truthy object that evaluated to - ``True`` but was not actually the boolean ``True`` the generated QPY - payload would be corrupt. - diff --git a/releasenotes/notes/0.19/qiskit-1.0-compatible-6fbf17d2dd28cb48.yaml b/releasenotes/notes/0.19/qiskit-1.0-compatible-6fbf17d2dd28cb48.yaml deleted file mode 100644 index 53deecd60..000000000 --- a/releasenotes/notes/0.19/qiskit-1.0-compatible-6fbf17d2dd28cb48.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -upgrade: - - | - `qiskit-ibm-runtime` is now compatible with Qiskit versions `>= 0.45`, - including `1.0.0`. - - diff --git a/releasenotes/notes/0.2/primitives-sampler-estimator-93c361d72a4f28de.yaml b/releasenotes/notes/0.2/primitives-sampler-estimator-93c361d72a4f28de.yaml deleted file mode 100644 index 93d2f9e72..000000000 --- a/releasenotes/notes/0.2/primitives-sampler-estimator-93c361d72a4f28de.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -features: - - | - :class:`qiskit_ibm_runtime.IBMEstimator` and :class:`qiskit_ibm_runtime.IBMSampler` - classes now allow you to easily interact with the ``estimator`` and ``sampler`` - primitive programs. Refer to the examples in the respective class doc strings to learn - more about how to use them. \ No newline at end of file diff --git a/releasenotes/notes/0.20/dd-named-barrier-4f32f6fcb92e20f2.yaml b/releasenotes/notes/0.20/dd-named-barrier-4f32f6fcb92e20f2.yaml deleted file mode 100644 index 8f4a734db..000000000 --- a/releasenotes/notes/0.20/dd-named-barrier-4f32f6fcb92e20f2.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -features: - - | - Add ``dd_barrier`` optional input to :class:`.PadDynamicalDecoupling` - constructor to identify portions of the circuit to apply dynamical - decoupling (dd) on selectively. If this string is contained in the label of - a barrier in the circuit, dd is applied on the delays ending with it (on - the same qubits); otherwise, it is not applied. \ No newline at end of file diff --git a/releasenotes/notes/0.20/deprecate-abstract-circuits-d9bdc94b2be7ea21.yaml b/releasenotes/notes/0.20/deprecate-abstract-circuits-d9bdc94b2be7ea21.yaml deleted file mode 100644 index 666ce3e4b..000000000 --- a/releasenotes/notes/0.20/deprecate-abstract-circuits-d9bdc94b2be7ea21.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -deprecations: - - | - Circuits that do not match the target hardware definition will no longer be supported after March 1, 2024. - See the transpilation documentation (https://docs.quantum.ibm.com/transpile) for instructions to - transform circuits and the primitive examples (https://docs.quantum.ibm.com/run/primitives-examples) - to see this coupled with operator transformations. \ No newline at end of file diff --git a/releasenotes/notes/0.20/fix-durations-with-control-flow-0cf6b5c48c387ca8.yaml b/releasenotes/notes/0.20/fix-durations-with-control-flow-0cf6b5c48c387ca8.yaml deleted file mode 100644 index 5a3905e35..000000000 --- a/releasenotes/notes/0.20/fix-durations-with-control-flow-0cf6b5c48c387ca8.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -fixes: - - | - Fix assignment of instruction durations when scheduling circuits with - control flow. Prior to this fix, the indices for instructions on inner - blocks were not mapped to the physical indices in the outer dag. -other: - - | - The :class:`~InstructionDurations` `durations` input is now also required - for the constructor of :class:`~PadDelay`. diff --git a/releasenotes/notes/0.20/python-3-12-support-a0390cacfe596e5b.yaml b/releasenotes/notes/0.20/python-3-12-support-a0390cacfe596e5b.yaml deleted file mode 100644 index 9ff247953..000000000 --- a/releasenotes/notes/0.20/python-3-12-support-a0390cacfe596e5b.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -features: - - | - Python 3.12 is now supported. diff --git a/releasenotes/notes/0.20/session-modes-5c22b68620f8d690.yaml b/releasenotes/notes/0.20/session-modes-5c22b68620f8d690.yaml deleted file mode 100644 index f885fca4c..000000000 --- a/releasenotes/notes/0.20/session-modes-5c22b68620f8d690.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -features: - - | - Sessions will now be started with a new ``/sessions`` endpoint that allows for different - execution modes. Batch mode is now supported through :class:`~qiskit_ibm_runtime.Batch`, and - :class:`~qiskit_ibm_runtime.Session` will work the same as way as before. - Please see https://docs.quantum.ibm.com/run/sessions for more information. - - Note that ``Session`` and ``Batch`` created from ``qiskit-ibm-runtime`` prior to this release will no longer be - supported after March 31, 2024. Please update your ``qiskit-ibm-runtime`` version as soon as possible before this date. - - Also note that using simulators with sessions is no longer supported. Users can still start - sessions with simulators without any issues but a session will not actually be created. There will be no session ID. diff --git a/releasenotes/notes/0.20/sessions-endpoint-e617b028fe4a68c4.yaml b/releasenotes/notes/0.20/sessions-endpoint-e617b028fe4a68c4.yaml deleted file mode 100644 index 72012e5c4..000000000 --- a/releasenotes/notes/0.20/sessions-endpoint-e617b028fe4a68c4.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -features: - - | - Sessions started with :meth:`qiskit_ibm_runtime.IBMBackend.open_session` will use the - new ``/sessions`` endpoint. - - The sessions functionality will not change but note that ``backend.run()`` sessions - prior to this release will no longer be supported after March 31, 2024. - Please update your ``qiskit-ibm-runtime`` version as soon as possible before this date. \ No newline at end of file diff --git a/releasenotes/notes/0.21/fix-control-flow-d5a61dd5647acb42.yaml b/releasenotes/notes/0.21/fix-control-flow-d5a61dd5647acb42.yaml deleted file mode 100644 index 0031db5cc..000000000 --- a/releasenotes/notes/0.21/fix-control-flow-d5a61dd5647acb42.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Fixed an issue with the :attr:`.IBMBackend.target` where it would - incorrectly exclude supported control flow operations (:class:`.IfElseOp`, - :class:`.WhileLoop`, etc.) if a given backend supported them. diff --git a/releasenotes/notes/0.21/isa-circuit-required-ed361bd65cef5ed8.yaml b/releasenotes/notes/0.21/isa-circuit-required-ed361bd65cef5ed8.yaml deleted file mode 100644 index 64301c557..000000000 --- a/releasenotes/notes/0.21/isa-circuit-required-ed361bd65cef5ed8.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -upgrade: - - | - Circuits that do not match the target hardware definition are no longer - supported by Qiskit Runtime primitives, unless ``channel_strategy="q-ctrl"`` - is used. See the transpilation documentation - (https://docs.quantum.ibm.com/transpile) for instructions to transform - circuits and the primitive examples - (https://docs.quantum.ibm.com/run/primitives-examples) to see - this coupled with operator transformations. diff --git a/releasenotes/notes/0.21/require-cloud-backend-38a74144347c735d.yaml b/releasenotes/notes/0.21/require-cloud-backend-38a74144347c735d.yaml deleted file mode 100644 index 9326e4323..000000000 --- a/releasenotes/notes/0.21/require-cloud-backend-38a74144347c735d.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -deprecations: - - | - In a future release, ``backend`` will be a required parameter for :class:`qiskit_ibm_runtime.Sampler`, and - :class:`qiskit_ibm_runtime.Estimator` if ``session`` is not specified, - even when using the ``ibm_cloud`` channel. - - It will also be a required parameter for - :class:`qiskit_ibm_runtime.Session` and - :class:`qiskit_ibm_runtime.Batch`. diff --git a/releasenotes/notes/0.21/retrieve-fake-backend-13fd3088aaac69e5.yaml b/releasenotes/notes/0.21/retrieve-fake-backend-13fd3088aaac69e5.yaml deleted file mode 100644 index e008a7b54..000000000 --- a/releasenotes/notes/0.21/retrieve-fake-backend-13fd3088aaac69e5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -fixes: - - | - Fixed a bug where retrieving a fake backend through ``FakeProviderForBackendV2.backend()`` - would result in a type error. diff --git a/releasenotes/notes/0.21/update-isa-circuit-check-493b6e95d969abdb.yaml b/releasenotes/notes/0.21/update-isa-circuit-check-493b6e95d969abdb.yaml deleted file mode 100644 index eb522ffb1..000000000 --- a/releasenotes/notes/0.21/update-isa-circuit-check-493b6e95d969abdb.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -fixes: - - | - Fixes the check for ISA circuits to allow pulse gates and circuits that - don't have layout. diff --git a/releasenotes/notes/0.21/v2-primitives-ada671f4df7caa39.yaml b/releasenotes/notes/0.21/v2-primitives-ada671f4df7caa39.yaml deleted file mode 100644 index 9c64c8891..000000000 --- a/releasenotes/notes/0.21/v2-primitives-ada671f4df7caa39.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -features: - - | - This release add a version 2 of the primitives - - :class:`~qiskit_ibm_runtime.SamplerV2` and - :class:`~qiskit_ibm_runtime.EstimatorV2`. - The emphasis of this new version is on performing vectorized calls to the - primitive ``run()`` methods, so that sweeps over parameter value sets and - observables can be efficiently specified. The sampler has also been - changed to return the outputs (e.g. bitstrings) from every shot, - rather than providing a counts-like return. - See the - `Migration Guide `_ - for more details on the changes and migration steps. diff --git a/releasenotes/notes/0.3/add-channel-deprecate-auth-4e021efeb527818c.yaml b/releasenotes/notes/0.3/add-channel-deprecate-auth-4e021efeb527818c.yaml deleted file mode 100644 index 089b27b2d..000000000 --- a/releasenotes/notes/0.3/add-channel-deprecate-auth-4e021efeb527818c.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -upgrade: - - | - A new parameter ``channel`` has now been added to :class:`qiskit_ibm_runtime.IBMRuntimeService` - class and also to methods like :meth:`~qiskit_ibm_runtime.IBMRuntimeService.save_account`, - :meth:`~qiskit_ibm_runtime.IBMRuntimeService.saved_accounts` and - :meth:`~qiskit_ibm_runtime.IBMRuntimeService.delete_account`. It can be set to ``ibm_quantum`` - or ``ibm_cloud`` to authenticate to either of the two different channels through which - Qiskit Runtime service is currently offered. ``channel`` replaces the ``auth`` parameter which - has now been deprecated. -deprecations: - - | - The ``auth`` parameter to :class:`qiskit_ibm_runtime.IBMRuntimeService` class - and also to methods like :meth:`~qiskit_ibm_runtime.IBMRuntimeService.save_account`, - :meth:`~qiskit_ibm_runtime.IBMRuntimeService.saved_accounts` and - :meth:`~qiskit_ibm_runtime.IBMRuntimeService.delete_account` has now been deprecated - and will be removed in a future release. Please use the new ``channel`` parameter instead. diff --git a/releasenotes/notes/0.3/fix-error-single-circuit-89a0e7b64deedbaa.yaml b/releasenotes/notes/0.3/fix-error-single-circuit-89a0e7b64deedbaa.yaml deleted file mode 100644 index 184a4f2de..000000000 --- a/releasenotes/notes/0.3/fix-error-single-circuit-89a0e7b64deedbaa.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Fixed `#291 `__ - where passing a single ``QuantumCircuit`` to sampler or estimator primitives - was throwing an error. diff --git a/releasenotes/notes/0.4/deprecate-classes-ef077e50db9718bc.yaml b/releasenotes/notes/0.4/deprecate-classes-ef077e50db9718bc.yaml deleted file mode 100644 index 59826d1d4..000000000 --- a/releasenotes/notes/0.4/deprecate-classes-ef077e50db9718bc.yaml +++ /dev/null @@ -1,85 +0,0 @@ ---- -upgrade: - - | - :class:`~qiskit_ibm_runtime.IBMRuntimeService` has been renamed to - :class:`~qiskit_ibm_runtime.QiskitRuntimeSerice`. - :class:`~qiskit_ibm_runtime.IBMRuntimeService` class is now deprecated - and will be removed in a future release. - - Example: - - Before:: - - from qiskit_ibm_runtime import IBMRuntimeService - service = IBMRuntimeService(channel="ibm_cloud", token="...", instance="...") - - After:: - - from qiskit_ibm_runtime import QiskitRuntimeService - service = QiskitRuntimeService(channel="ibm_cloud", token="...", instance="...") - - | - :class:`~qiskit_ibm_runtime.IBMEstimator` class is now deprecated and will - be removed in a future release. Use - :class:`~qiskit_ibm_runtime.Estimator` class going forward. - - Example: - - Before:: - - from qiskit_ibm_runtime import IBMRuntimeService, IBMEstimator - service = IBMRuntimeService(channel="ibm_cloud", token="...", instance="...") - - estimator_factory = IBMEstimator(service=service, backend="ibmq_qasm_simulator") - - with estimator_factory(circuits=[qc], observables="...", parameters="...") as estimator: - result = estimator(circuit_indices=[0], ...) - - After:: - - from qiskit_ibm_runtime import QiskitRuntimeService, Estimator - service = QiskitRuntimeService(channel="ibm_cloud", token="...", instance="...") - - with Estimator( - circuits=[qc], - observables="...", - parameters="...", - service=service, - options={ "backend": "ibmq_qasm_simulator" }, # or IBMBackend<"ibmq_qasm_simulator"> - ) as estimator: - result = estimator(circuit_indices=[0], ...) - - | - :class:`~qiskit_ibm_runtime.IBMSampler` class is now deprecated and will - be removed in a future release. Use - :class:`~qiskit_ibm_runtime.Sampler` class going forward. - - Example: - - Before:: - - from qiskit_ibm_runtime import IBMRuntimeService, IBMSampler - service = IBMRuntimeService(channel="ibm_cloud", token="...", instance="...") - - sampler_factory = IBMSampler(service=service, backend="ibmq_qasm_simulator") - - with sampler_factory(circuits=[qc], parameters="...") as sampler: - result = sampler(circuit_indices=[0], ...) - - After:: - - from qiskit_ibm_runtime import QiskitRuntimeService, Sampler - service = QiskitRuntimeService(channel="ibm_cloud", token="...", instance="...") - - with Sampler( - circuits=[qc], - parameters="...", - service=service, - options={ "backend": "ibmq_qasm_simulator" }, # or IBMBackend<"ibmq_qasm_simulator"> - ) as sampler: - result = sampler(circuit_indices=[0], ...) -deprecations: - - | - :class:`~qiskit_ibm_runtime.IBMRuntimeService`, :class:`~qiskit_ibm_runtime.IBMEstimator` - and :class:`~qiskit_ibm_runtime.IBMSampler` classes have been deprecated and will be removed - in a future release. Use :class:`~qiskit_ibm_runtime.QiskitRuntimeService`, - :class:`~qiskit_ibm_runtime.Estimator` and :class:`~qiskit_ibm_runtime.Sampler` classes - instead. See upgrade notes section for a detailed explanation with examples. \ No newline at end of file diff --git a/releasenotes/notes/0.5/add-service-property-d6a076214c131d7a.yaml b/releasenotes/notes/0.5/add-service-property-d6a076214c131d7a.yaml deleted file mode 100644 index 55e814148..000000000 --- a/releasenotes/notes/0.5/add-service-property-d6a076214c131d7a.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -features: - - | - The ``service`` object which is an instance of :class:`~qiskit_ibm_runtime.QiskitRuntimeService` - class can now be accessed from :class:`~qiskit_ibm_runtime.IBMBackend` class using the ``service`` - property. - - Ex:: - - backend = service.get_backend("ibmq_qasm_simulator") - backend.service # QiskitRuntimeService instance used to instantiate the backend diff --git a/releasenotes/notes/0.5/creation-date-filters-871a1ca3c0d96fda.yaml b/releasenotes/notes/0.5/creation-date-filters-871a1ca3c0d96fda.yaml deleted file mode 100644 index 5f00564ef..000000000 --- a/releasenotes/notes/0.5/creation-date-filters-871a1ca3c0d96fda.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -upgrade: - - | - :meth:`~qiskit_ibm_runtime.QiskitRuntimeService.jobs` has two new parameters, ``created_after`` - and ``created_before``. These can be used to filter jobs by creation date in local time. - diff --git a/releasenotes/notes/0.5/deprecate-indices-estimator-b5a2228d91431b91.yaml b/releasenotes/notes/0.5/deprecate-indices-estimator-b5a2228d91431b91.yaml deleted file mode 100644 index c8752b01d..000000000 --- a/releasenotes/notes/0.5/deprecate-indices-estimator-b5a2228d91431b91.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- -upgrade: - - | - The parameters ``circuit_indices`` and ``observable_indices`` when calling ``estimator`` - are now deprecated and will be removed in a future release. - You can now pass either indices or objects using the ``circuits`` and ``observables`` parameters. - - Ex:: - - with Estimator( - circuits=[qc1, qc2], - observables=[H1, H2, H3], - service=service, - options=options - ) as estimator: - # pass circuits and observables as indices - result = estimator(circuits=[0, 1], observables=[0, 1], parameter_values=[theta1, theta2]) - - # pass circuits and observables as objects - result = estimator(circuits=[qc1, qc2], observables=[H1, H3], parameter_values=[theta1, theta3]) diff --git a/releasenotes/notes/0.5/deprecate-indices-sampler-13a0b76158ad1392.yaml b/releasenotes/notes/0.5/deprecate-indices-sampler-13a0b76158ad1392.yaml deleted file mode 100644 index b999e4c6d..000000000 --- a/releasenotes/notes/0.5/deprecate-indices-sampler-13a0b76158ad1392.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- -upgrade: - - | - The parameters ``circuit_indices`` and ``observable_indices`` when calling ``estimator`` - are now deprecated and will be removed in a future release. - You can now pass either indices or objects using the ``circuits`` and ``observables`` parameters. - - Ex:: - - with Sampler( - circuits=[qc1, qc2], - service=service, - options=options - ) as sampler: - # pass circuits as indices - result = sampler(circuits=[0, 1], parameter_values=[theta1, theta2]) - - # pass circuit as objects - result = sampler(circuits=[qc1, qc2], parameter_values=[theta2, theta3]) diff --git a/releasenotes/notes/0.5/filter-jobs-session-id-e8296c55ad75f789.yaml b/releasenotes/notes/0.5/filter-jobs-session-id-e8296c55ad75f789.yaml deleted file mode 100644 index f763b9d2d..000000000 --- a/releasenotes/notes/0.5/filter-jobs-session-id-e8296c55ad75f789.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -upgrade: - - | - The ``session_id``, which is the Job ID of the first job in a runtime session can now be used - as a filter in :meth:`~qiskit_ibm_runtime.QiskitRuntimeService.jobs` with the parameter - ``session_id``. diff --git a/releasenotes/notes/0.5/job-tags-support-465d3be18b20b306.yaml b/releasenotes/notes/0.5/job-tags-support-465d3be18b20b306.yaml deleted file mode 100644 index fb1f3480f..000000000 --- a/releasenotes/notes/0.5/job-tags-support-465d3be18b20b306.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -upgrade: - - | - :meth:`~qiskit_ibm_runtime.QiskitRuntimeService.run` now supports a new parameter, - ``job_tags``. These tags can be used when filtering jobs with - :meth:`~qiskit_ibm_runtime.QiskitRuntimeService.jobs`. diff --git a/releasenotes/notes/0.5/max-execution-time-ecdb69210afe3d89.yaml b/releasenotes/notes/0.5/max-execution-time-ecdb69210afe3d89.yaml deleted file mode 100644 index 3cb9a8237..000000000 --- a/releasenotes/notes/0.5/max-execution-time-ecdb69210afe3d89.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -upgrade: - - | - :meth:`~qiskit_ibm_runtime.QiskitRuntimeService.run` now supports a new parameter, - ``max_execution_time``, which can be used to override the default - program maximum execution time. It should be less than or equal to the - program maximum execution time. - diff --git a/releasenotes/notes/0.5/session-aware-scheduling-00a294cc67b7d13e.yaml b/releasenotes/notes/0.5/session-aware-scheduling-00a294cc67b7d13e.yaml deleted file mode 100644 index 0de962c73..000000000 --- a/releasenotes/notes/0.5/session-aware-scheduling-00a294cc67b7d13e.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -prelude: > - This release leverages the API and Queue enhancements to become - more runtime session aware. As a result when using the primitives (sampler and estimator), - runtime jobs in the same session will skip to the front of the queue, - thereby speeding up the runtime session, once it has started. \ No newline at end of file diff --git a/releasenotes/notes/0.5/sort-jobs-by-date-7df02bb34fec3055.yaml b/releasenotes/notes/0.5/sort-jobs-by-date-7df02bb34fec3055.yaml deleted file mode 100644 index 7dc50d3d0..000000000 --- a/releasenotes/notes/0.5/sort-jobs-by-date-7df02bb34fec3055.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -upgrade: - - | - :meth:`~qiskit_ibm_runtime.QiskitRuntimeService.jobs` has a new parameter, ``descending``. - This parameter defaults to ``True``, where jobs will be returned in descending order based on - creation date. - diff --git a/releasenotes/notes/0.5/upgrade-runtime-job-timeout-error-3e01617412bbc37f.yaml b/releasenotes/notes/0.5/upgrade-runtime-job-timeout-error-3e01617412bbc37f.yaml deleted file mode 100644 index 5ebf4f81a..000000000 --- a/releasenotes/notes/0.5/upgrade-runtime-job-timeout-error-3e01617412bbc37f.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -upgrade: - - | - ``RuntimeJobTimeoutError`` is now raised when the ``timeout`` set in - :meth:`~qiskit_ibm_runtime.RuntimeJob.result` or - :meth:`~qiskit_ibm_runtime.RuntimeJob.wait_for_final_state` expires. diff --git a/releasenotes/notes/0.6/load-qiskitrc-creds-4aac54737333e248.yaml b/releasenotes/notes/0.6/load-qiskitrc-creds-4aac54737333e248.yaml deleted file mode 100644 index ad1132e91..000000000 --- a/releasenotes/notes/0.6/load-qiskitrc-creds-4aac54737333e248.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -upgrade: - - | - When migrating from ``qiskit-ibmq-provider`` your ``ibm_quantum`` channel credentials - will get automatically copied over from the qiskitrc file - and a qiskit-ibm.json file will get created if one doesn't exist. - You have to just initialize :class:`~qiskit_ibm_runtime.QiskitRuntimeService` class without - passing any parameters to use this copied over default ``ibm_quantum`` account. - - Ex:: - - from qiskit_ibm_runtime import QiskitRuntimeService - service = QiskitRuntimeService() diff --git a/releasenotes/notes/0.6/not-authorized-error-31241cd68d8a26d7.yaml b/releasenotes/notes/0.6/not-authorized-error-31241cd68d8a26d7.yaml deleted file mode 100644 index cb368acc5..000000000 --- a/releasenotes/notes/0.6/not-authorized-error-31241cd68d8a26d7.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -upgrade: - - | - When initializing :class:`~qiskit_ibm_runtime.QiskitRuntimeService` and an invalid - token is used, ``IBMNotAuthorizedError`` will be raised instead of ``RequestsApiError``. diff --git a/releasenotes/notes/0.6/remove-ibm-estimator-7f0b4da07c23e859.yaml b/releasenotes/notes/0.6/remove-ibm-estimator-7f0b4da07c23e859.yaml deleted file mode 100644 index f90a4fa54..000000000 --- a/releasenotes/notes/0.6/remove-ibm-estimator-7f0b4da07c23e859.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -upgrade: - - | - ``IBMEstimator`` class which was deprecated earlier is now removed. Use - :class:`~qiskit_ibm_runtime.Estimator` class going forward. diff --git a/releasenotes/notes/0.6/remove-ibm-runtime-aa92d6051b8dcf53.yaml b/releasenotes/notes/0.6/remove-ibm-runtime-aa92d6051b8dcf53.yaml deleted file mode 100644 index d887b423e..000000000 --- a/releasenotes/notes/0.6/remove-ibm-runtime-aa92d6051b8dcf53.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -upgrade: - - | - ``IBMRuntimeService`` class which was deprecated earlier is now removed. Use - :class:`~qiskit_ibm_runtime.QiskitRuntimeService` class going forward. diff --git a/releasenotes/notes/0.6/remove-ibm-sampler-7779165095fd2a5f.yaml b/releasenotes/notes/0.6/remove-ibm-sampler-7779165095fd2a5f.yaml deleted file mode 100644 index 0244b4cca..000000000 --- a/releasenotes/notes/0.6/remove-ibm-sampler-7779165095fd2a5f.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -upgrade: - - | - ``IBMSampler`` class which was deprecated earlier is now removed. Use - :class:`~qiskit_ibm_runtime.Sampler` class going forward. diff --git a/releasenotes/notes/0.6/upgrade-qubit-properties-b5ff4a168ed0cc07.yaml b/releasenotes/notes/0.6/upgrade-qubit-properties-b5ff4a168ed0cc07.yaml deleted file mode 100644 index 72b038b87..000000000 --- a/releasenotes/notes/0.6/upgrade-qubit-properties-b5ff4a168ed0cc07.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -upgrade: - - | - :meth:`~qiskit_ibm_runtime.IBMBackend.qubit_properties` will now return a sub class - of :class:`~qiskit.providers.backend.QubitProperties` called - :class:`~qiskit_ibm_runtime.ibm_qubit_properties.IBMQubitProperties` and - will expose `anharmonicity` in addition to the `t1`, `t2` and `frequency` already exposed - by the :class:`~qiskit.providers.backend.QubitProperties` class. diff --git a/releasenotes/notes/0.7/add-sampler-error-check-20e5672c7ff17004.yaml b/releasenotes/notes/0.7/add-sampler-error-check-20e5672c7ff17004.yaml deleted file mode 100644 index 881012228..000000000 --- a/releasenotes/notes/0.7/add-sampler-error-check-20e5672c7ff17004.yaml +++ /dev/null @@ -1,7 +0,0 @@ - ---- -upgrade: - - | - Added a validation check to :meth:`~qiskit_ibm_runtime.Sampler.run`. - It raises an error if there is no classical bit. - diff --git a/releasenotes/notes/0.7/deprecated-programs-53fa730f52792bce.yaml b/releasenotes/notes/0.7/deprecated-programs-53fa730f52792bce.yaml deleted file mode 100644 index 6b5de13e2..000000000 --- a/releasenotes/notes/0.7/deprecated-programs-53fa730f52792bce.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -deprecations: - - | - Qiskit Runtime programs ``torch-train``, ``torch-infer``, ``sample-expval``, - ``sample-program``, and ``quantum_kernal_alignment`` have been deprecated - due to low usage. diff --git a/releasenotes/notes/0.7/exception-when-program-runs-too-long-cf80743eda83d601.yaml b/releasenotes/notes/0.7/exception-when-program-runs-too-long-cf80743eda83d601.yaml deleted file mode 100644 index 20f62d65f..000000000 --- a/releasenotes/notes/0.7/exception-when-program-runs-too-long-cf80743eda83d601.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -upgrade: - - | - Raise ``RuntimeJobMaxTimeoutError`` when a job runs for too long so that it can be handled appropriately by programs. \ No newline at end of file diff --git a/releasenotes/notes/0.7/fix-howto-retrieve-job-ef991e8d6b444096.yaml b/releasenotes/notes/0.7/fix-howto-retrieve-job-ef991e8d6b444096.yaml deleted file mode 100644 index 40b77e0e2..000000000 --- a/releasenotes/notes/0.7/fix-howto-retrieve-job-ef991e8d6b444096.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -fixes: - - | - Fixes the missing section on retrieving jobs in the how-to guide. diff --git a/releasenotes/notes/0.7/fix-sampler-result-509548c466fa3139.yaml b/releasenotes/notes/0.7/fix-sampler-result-509548c466fa3139.yaml deleted file mode 100644 index 4a8fceaab..000000000 --- a/releasenotes/notes/0.7/fix-sampler-result-509548c466fa3139.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -upgrade: - - | - :class:`~qiskit_ibm_runtime.Sampler` is updated to return ``SamplerResult`` - with ``SamplerResult.quasi_dists`` as a list of ``QuasiDistrbution``. - It used to set a list of ``dict`` as ``SamplerResult.quasi_dists``, - but it did not follow the design of ``SamplerResult``. diff --git a/releasenotes/notes/0.7/fix-terra-min-version-613f427851adfab0.yaml b/releasenotes/notes/0.7/fix-terra-min-version-613f427851adfab0.yaml deleted file mode 100644 index e0f8b71ba..000000000 --- a/releasenotes/notes/0.7/fix-terra-min-version-613f427851adfab0.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Fixes issue `#428 `_ - by raising the minimum required ``qiskit-terra`` version to ``0.21.0``, since latest version - of ``qiskit-ibm-runtime`` is not compatible with ``0.20.0`` or earlier of ``qiskit-terra``. diff --git a/releasenotes/notes/0.7/flexible-options-d3f7ea8b9cd5c5c3.yaml b/releasenotes/notes/0.7/flexible-options-d3f7ea8b9cd5c5c3.yaml deleted file mode 100644 index 4ebd02c89..000000000 --- a/releasenotes/notes/0.7/flexible-options-d3f7ea8b9cd5c5c3.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -deprecations: - - | - Passing ``instance`` parameter to the - :meth:`qiskit_ibm_runtime.QiskitRuntimeService.run` has been deprecated. - Instead, you can pass the ``instance`` parameter inside the ``options`` - parameter. diff --git a/releasenotes/notes/0.7/flexible-session-16ee0d1cba4863cd.yaml b/releasenotes/notes/0.7/flexible-session-16ee0d1cba4863cd.yaml deleted file mode 100644 index ccd47c830..000000000 --- a/releasenotes/notes/0.7/flexible-session-16ee0d1cba4863cd.yaml +++ /dev/null @@ -1,98 +0,0 @@ ---- -prelude: > - There are significant changes to how primitives are invoked within a - session, and the options available to the primitives. Please review the - rest of the release notes and the tutorials for full information. -features: - - | - You can now invoke the same or different primitive programs multiple times - within a session. For example:: - - from qiskit_ibm_runtime import QiskitRuntimeService, Session, Sampler, Estimator, Options - from qiskit.test.reference_circuits import ReferenceCircuits - from qiskit.circuit.library import RealAmplitudes - from qiskit.quantum_info import SparsePauliOp - - # Initialize account. - service = QiskitRuntimeService() - - # Set options, which can be overwritten at job level. - options = Options(optimization_level=1) - - # Prepare inputs. - bell = ReferenceCircuits.bell() - psi = RealAmplitudes(num_qubits=2, reps=2) - H1 = SparsePauliOp.from_list([("II", 1), ("IZ", 2), ("XI", 3)]) - theta = [0, 1, 1, 2, 3, 5] - - with Session(service=service, backend="ibmq_qasm_simulator") as session: - # Submit a request to the Sampler primitive within the session. - sampler = Sampler(session=session, options=options) - job = sampler.run(circuits=bell) - print(f"Sampler results: {job.result()}") - - # Submit a request to the Estimator primitive within the session. - estimator = Estimator(session=session, options=options) - job = estimator.run( - circuits=[psi], observables=[H1], parameter_values=[theta] - ) - print(f"Estimator results: {job.result()}") - - | - A new :class:`qiskit_ibm_runtime.Options` class is introduced. This class - allows you to auto-complete options related to primitive programs. For example:: - - from qiskit_ibm_runtime import Session, Sampler, Options - from qiskit.test.reference_circuits import ReferenceCircuits - - options = Options() - options.optimization_level = 3 # This can be done using auto-complete. - - with Session(backend="ibmq_qasm_simulator") as session: - # Pass the options to Sampler. - sampler = Sampler(session=session, options=options) - - # Or at job level. - job = sampler.run(circuits=ReferenceCircuits.bell(), shots=4000) -upgrade: - - | - The experimental parameters ``transpilation_settings``, ``resilience_settings``, - and ``max_time`` to the `:class:`qiskit_ibm_runtime.Sampler` and - :class:`qiskit_ibm_runtime.Estimator` constructors have been removed. - You can instead use the :class:`qiskit_ibm_runtime.Options` class to specify - the settings, and ``max_time`` can be specified when starting a new session. - For example:: - - from qiskit_ibm_runtime import Session, Sampler, Options - - options = Options() - # This can be done using auto-complete. - option.optimization_level = 3 - options.resilience_level = 1 - - with Session(max_time="2h") as session: - # Pass the options to Sampler. - sampler = Sampler(session=session, options=options) -deprecations: - - | - Invoking :class:`qiskit_ibm_runtime.Sampler` and - :class:`qiskit_ibm_runtime.Estimator` as context managers has been deprecated. - You can instead use the `qiskit_ibm_runtime.Session` class to create a new - session and invoke one or more primitives within the session. - - As a result, passing input parameters, such as ``circuits``, ``observables``, - and ``parameter_values``, as well as ``service`` - to the constructors of ``Sampler`` and - ``Estimator`` has also been deprecated. The inputs can now be passed to the - ``run()`` method of the primitive classes, and ``service`` can be passed - to :class:`qiskit_ibm_runtime.Session` when starting a new session. - - | - Passing ``skip_transpilation`` to the `:class:`qiskit_ibm_runtime.Sampler` and - :class:`qiskit_ibm_runtime.Estimator` constructors - has been deprecated. You can instead use the :class:`qiskit_ibm_runtime.Options` - class to specify this option. For example:: - - from qiskit_ibm_runtime import Options - - options = Options() - # This can be done using auto-complete. - options.transpilation.skip_transpilation = True diff --git a/releasenotes/notes/0.7/job-metrics-endpoint-82d61cf269c27933.yaml b/releasenotes/notes/0.7/job-metrics-endpoint-82d61cf269c27933.yaml deleted file mode 100644 index d38270829..000000000 --- a/releasenotes/notes/0.7/job-metrics-endpoint-82d61cf269c27933.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - | - :class:`qiskit_ibm_runtime.RuntimeJob` has a new method - :meth:`~qiskit_ibm_runtime.RuntimeJob.metrics`. This method returns - the metrics of a job, which includes timestamp information. diff --git a/releasenotes/notes/0.7/job_id_backend_attr-20dffa6335e508f4.yaml b/releasenotes/notes/0.7/job_id_backend_attr-20dffa6335e508f4.yaml deleted file mode 100644 index 0c3f9f6bb..000000000 --- a/releasenotes/notes/0.7/job_id_backend_attr-20dffa6335e508f4.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -deprecations: - - | - ``job_id`` and ``backend`` attributes of :class:`qiskit_ibm_runtime.RuntimeJob` - have been deprecated. Please use :meth:`qiskit_ibm_runtime.RuntimeJob.job_id` - and :meth:`qiskit_ibm_runtime.RuntimeJob.backend` methods instead. -upgrade: - - | - The :class:`~qiskit_ibm_runtime.RuntimeJob` class is now a subclass of - :class:`qiskit.providers.Job`. diff --git a/releasenotes/notes/0.7/options_kwargs-70805bc4464691a4.yaml b/releasenotes/notes/0.7/options_kwargs-70805bc4464691a4.yaml deleted file mode 100644 index 27b499d6f..000000000 --- a/releasenotes/notes/0.7/options_kwargs-70805bc4464691a4.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -features: - - | - :class:`qiskit_ibm_runtime.Options` class now accepts arbitrary - keyword arguments. This allows users to specify new options to the - primitive programs without upgrading ``qiskit_ibm_runtime``. These - arbitrary keyword arguments, however, are not validated. diff --git a/releasenotes/notes/0.7/parameterize-service-channel-d14de7391dfb5ee1.yaml b/releasenotes/notes/0.7/parameterize-service-channel-d14de7391dfb5ee1.yaml deleted file mode 100644 index 20888ad56..000000000 --- a/releasenotes/notes/0.7/parameterize-service-channel-d14de7391dfb5ee1.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -features: - - | - The :class:`qiskit_ibm_runtime.QiskitRuntimeService` ``channel`` can now be stored - as an environment variable, ``QISKIT_IBM_CHANNEL``. This way, when using Runtime - Primitives, the service does not have to be instantiated manually and can instead - be created directly from environment variables. - diff --git a/releasenotes/notes/0.7/primitives-callback-80a7c2dcda960f4d.yaml b/releasenotes/notes/0.7/primitives-callback-80a7c2dcda960f4d.yaml deleted file mode 100644 index 393b8562b..000000000 --- a/releasenotes/notes/0.7/primitives-callback-80a7c2dcda960f4d.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -features: - - | - The :class:`qiskit_ibm_runtime.options.EnvironmentOptions` class now - accepts a ``callback`` parameter. - This parameter can be used to stream the interim and final results of the - primitives. diff --git a/releasenotes/notes/0.7/refactor-caching-programs-c49b517df7d2f702.yaml b/releasenotes/notes/0.7/refactor-caching-programs-c49b517df7d2f702.yaml deleted file mode 100644 index 743643b96..000000000 --- a/releasenotes/notes/0.7/refactor-caching-programs-c49b517df7d2f702.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -upgrade: - - | - Since some accounts have many runtime programs, caching a list of all programs - on the first call of :meth:`~qiskit_ibm_runtime.QiskitRuntimeService.programs` - has been removed. Instead, programs will only be cached up to the ``limit`` given, - which has a default value of 20. - - diff --git a/releasenotes/notes/0.7/runtime-options-38915f0a5cee60cb.yaml b/releasenotes/notes/0.7/runtime-options-38915f0a5cee60cb.yaml deleted file mode 100644 index 695e3f3c8..000000000 --- a/releasenotes/notes/0.7/runtime-options-38915f0a5cee60cb.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -deprecations: - - | - The ``backend_name`` attribute in :class:`qiskit_ibm_runtime.RuntimeOptions` - is deprecated and replaced by ``backend``. diff --git a/releasenotes/notes/0.7/tags-max-time-dc170df8d1bc8c25.yaml b/releasenotes/notes/0.7/tags-max-time-dc170df8d1bc8c25.yaml deleted file mode 100644 index ea612f540..000000000 --- a/releasenotes/notes/0.7/tags-max-time-dc170df8d1bc8c25.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -features: - - | - The :class:`qiskit_ibm_runtime.Options` class now accepts - ``max_execution_time`` as a first level option and ``job_tags`` - as an option under ``environment``. - :class:`qiskit_ibm_runtime.RuntimeOptions` has also been updated - to include these two parameters. -deprecations: - - | - Passing ``job_tags`` and ``max_execution_time`` as parameters to - :class:`qiskit_ibm_runtime.QiskitRuntimeService` has been deprecated. Please - pass them inside ``options``. diff --git a/releasenotes/notes/0.7/upgrade-terra-80a543c559e259ce.yaml b/releasenotes/notes/0.7/upgrade-terra-80a543c559e259ce.yaml deleted file mode 100644 index bbefa523d..000000000 --- a/releasenotes/notes/0.7/upgrade-terra-80a543c559e259ce.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -upgrade: - - | - This version of qiskit-ibm-runtime requires qiskit-terra version 0.22 or - higher. The ``requirements.txt`` file has been updated accordingly. diff --git a/releasenotes/notes/0.8/default-resilience-level-8122033dd1369bc8.yaml b/releasenotes/notes/0.8/default-resilience-level-8122033dd1369bc8.yaml deleted file mode 100644 index eab412dfb..000000000 --- a/releasenotes/notes/0.8/default-resilience-level-8122033dd1369bc8.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -upgrade: - - | - The default ``resilience_level`` option for has been changed from 0 to 1. - In addition, the default ``optimization_level`` option has been changed - from 1 to 3. -deprecations: - - | - The transpilation options ``translation_method`` and ``timing_constraints`` - have been deprecated. diff --git a/releasenotes/notes/0.8/python-3.10-support-904322454d2d504e.yaml b/releasenotes/notes/0.8/python-3.10-support-904322454d2d504e.yaml deleted file mode 100644 index b64cf8f84..000000000 --- a/releasenotes/notes/0.8/python-3.10-support-904322454d2d504e.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -features: - - | - Python 3.10 is now supported. diff --git a/releasenotes/notes/0.8/resilience_settings-80eb23a095f0381c.yaml b/releasenotes/notes/0.8/resilience_settings-80eb23a095f0381c.yaml deleted file mode 100644 index 41ce7a26b..000000000 --- a/releasenotes/notes/0.8/resilience_settings-80eb23a095f0381c.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - | - Advanced resilience options can now be set under ``options.resilience``. - See :class:`qiskit_ibm_runtime.options.ResilienceOptions` for all - available options. diff --git a/releasenotes/notes/0.8/separate-decoders-dde5bf7d051038e6.yaml b/releasenotes/notes/0.8/separate-decoders-dde5bf7d051038e6.yaml deleted file mode 100644 index 201a14c37..000000000 --- a/releasenotes/notes/0.8/separate-decoders-dde5bf7d051038e6.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -features: - - | - You can now specify a pair of result decoders for the ``result_decoder`` - parameter of :meth:`qiskit_ibm_runtime.QiskitRuntimeService.run` method. - If a pair is specified, the first one is used to decode interim results - and the second the final results. diff --git a/releasenotes/notes/0.8/use-backend-service-020daf6e4a4d044e.yaml b/releasenotes/notes/0.8/use-backend-service-020daf6e4a4d044e.yaml deleted file mode 100644 index 8fd174637..000000000 --- a/releasenotes/notes/0.8/use-backend-service-020daf6e4a4d044e.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -fixes: - - | - If a :class:`qiskit_ibm_runtime.IBMBackend` instance is passed to - the :class:`qiskit_ibm_runtime.Session` constructor, the service used - to initialize the ``IBMBackend`` instance is used for the session - instead of the default account service. diff --git a/releasenotes/notes/0.9/accept_level_1_options-06c09a67a9c23feb.yaml b/releasenotes/notes/0.9/accept_level_1_options-06c09a67a9c23feb.yaml deleted file mode 100644 index 1384093ec..000000000 --- a/releasenotes/notes/0.9/accept_level_1_options-06c09a67a9c23feb.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -upgrade: - - | - 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}}``. diff --git a/releasenotes/notes/0.9/additional-options-validation-999888470cbd206e.yaml b/releasenotes/notes/0.9/additional-options-validation-999888470cbd206e.yaml deleted file mode 100644 index df609f671..000000000 --- a/releasenotes/notes/0.9/additional-options-validation-999888470cbd206e.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -features: - - | - Added methods to validate input options to ``transpilation`` and ``environment`` options. diff --git a/releasenotes/notes/0.9/closing-session-a64edf80ee35fee2.yaml b/releasenotes/notes/0.9/closing-session-a64edf80ee35fee2.yaml deleted file mode 100644 index ee6f368fa..000000000 --- a/releasenotes/notes/0.9/closing-session-a64edf80ee35fee2.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -fixes: - - | - Fixed a bug where jobs that did not run before a session closes - are not actually run as a part of that session. Jobs should run as a part - of a session even if that session is closed by the exit of the - context manager. diff --git a/releasenotes/notes/0.9/custom-gate-transpile-bug-61b64e4937269f28.yaml b/releasenotes/notes/0.9/custom-gate-transpile-bug-61b64e4937269f28.yaml deleted file mode 100644 index aae4a3a8f..000000000 --- a/releasenotes/notes/0.9/custom-gate-transpile-bug-61b64e4937269f28.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - ``ECRGate`` and ``CZGate`` mappings have been added to the ``Target`` - constructor to fix a tranpile bug. - diff --git a/releasenotes/notes/0.9/default-optimization-level-3197ff933dfcfa4f.yaml b/releasenotes/notes/0.9/default-optimization-level-3197ff933dfcfa4f.yaml deleted file mode 100644 index fe2612fbe..000000000 --- a/releasenotes/notes/0.9/default-optimization-level-3197ff933dfcfa4f.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -upgrade: - - | - Changed the default values for ``optimization_level`` and for ``resilience_level`` - in :class:`qiskit_ibm_runtime.Options`. If their values are defined by the user, they are not modified. - If not set, if the backend is a noiseless simulator then ``optimization_level`` is set to 1 and - ``resilience_level`` is set to 0; Otherwise, they are be set to 3 and 1 respectively. diff --git a/releasenotes/notes/0.9/error-level-default-bug-64335ef05f1547fa.yaml b/releasenotes/notes/0.9/error-level-default-bug-64335ef05f1547fa.yaml deleted file mode 100644 index 743d8e4ca..000000000 --- a/releasenotes/notes/0.9/error-level-default-bug-64335ef05f1547fa.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Fixed a bug where the default values for ``optimization_level`` and for ``resilience_level`` - were not being set correctly. - diff --git a/releasenotes/notes/0.9/error-lvl-defaults-no-backend-95fba0e99884314a.yaml b/releasenotes/notes/0.9/error-lvl-defaults-no-backend-95fba0e99884314a.yaml deleted file mode 100644 index ef2f4f33f..000000000 --- a/releasenotes/notes/0.9/error-lvl-defaults-no-backend-95fba0e99884314a.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -fixes: - - | - Fixed an issue where if no backend was selected, ``optimization_level`` and ``resilience_level`` - would default to ``None``, causing the job to fail. diff --git a/releasenotes/notes/0.9/filter-faulty-qubits-caacabd23a7bd0d4.yaml b/releasenotes/notes/0.9/filter-faulty-qubits-caacabd23a7bd0d4.yaml deleted file mode 100644 index c497c043a..000000000 --- a/releasenotes/notes/0.9/filter-faulty-qubits-caacabd23a7bd0d4.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -upgrade: - - | - When constructing a backend :class:`qiskit.transpiler.Target`, faulty qubits and gates from the backend - configuration will be filtered out. \ No newline at end of file diff --git a/releasenotes/notes/0.9/fix_resilience_input-0a7497265109794e.yaml b/releasenotes/notes/0.9/fix_resilience_input-0a7497265109794e.yaml deleted file mode 100644 index 586247978..000000000 --- a/releasenotes/notes/0.9/fix_resilience_input-0a7497265109794e.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -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. diff --git a/releasenotes/notes/0.9/honor-instance-param-37b14111489364b0.yaml b/releasenotes/notes/0.9/honor-instance-param-37b14111489364b0.yaml deleted file mode 100644 index cfa57acdd..000000000 --- a/releasenotes/notes/0.9/honor-instance-param-37b14111489364b0.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - If an instance is passed in to :meth:`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. diff --git a/releasenotes/notes/0.9/input_validation-53a3d9a3a860a323.yaml b/releasenotes/notes/0.9/input_validation-53a3d9a3a860a323.yaml deleted file mode 100644 index cc2c72ed4..000000000 --- a/releasenotes/notes/0.9/input_validation-53a3d9a3a860a323.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -upgrade: - - | - 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. diff --git a/releasenotes/notes/0.9/jobs-backend-filter-05c55c56a7ebaa05.yaml b/releasenotes/notes/0.9/jobs-backend-filter-05c55c56a7ebaa05.yaml deleted file mode 100644 index 956950b9a..000000000 --- a/releasenotes/notes/0.9/jobs-backend-filter-05c55c56a7ebaa05.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -upgrade: - - | - :meth:`qiskit_ibm_runtime.QiskitRuntimeService.jobs` now has a ``backend_name`` parameter - that can be used to only return jobs run with the specified backend. diff --git a/releasenotes/notes/0.9/lazy-loading-backend-configs-0b82bdc374ed962c.yaml b/releasenotes/notes/0.9/lazy-loading-backend-configs-0b82bdc374ed962c.yaml deleted file mode 100644 index 6bcb937fc..000000000 --- a/releasenotes/notes/0.9/lazy-loading-backend-configs-0b82bdc374ed962c.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -upgrade: - - | - Backend configurations are no longer loaded when :class:`~qiskit_ibm_runtime.QiskitRuntimeService` - is initialized. Instead, the configuration is only loaded and cached during - :meth:`~qiskit_ibm_runtime.QiskitRuntimeService.get_backend` and - :meth:`~qiskit_ibm_runtime.QiskitRuntimeService.backends`. \ No newline at end of file diff --git a/releasenotes/notes/0.9/post-timeout-a0928a23941f503b.yaml b/releasenotes/notes/0.9/post-timeout-a0928a23941f503b.yaml deleted file mode 100644 index 70ab4137d..000000000 --- a/releasenotes/notes/0.9/post-timeout-a0928a23941f503b.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -fixes: - - | - Fixes the issue wherein submitting a large job fails due to write operation - timeout. diff --git a/releasenotes/notes/0.9/refresh-job-backend-1c4f9cbfa30edad4.yaml b/releasenotes/notes/0.9/refresh-job-backend-1c4f9cbfa30edad4.yaml deleted file mode 100644 index 537f65ac1..000000000 --- a/releasenotes/notes/0.9/refresh-job-backend-1c4f9cbfa30edad4.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -upgrade: - - | - If a job is returned without a backend, retrieving the backend through - :meth:`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 :class:`qiskit_ibm_runtime.RuntimeJob` have now - been removed. - diff --git a/releasenotes/notes/0.9/remove-blueprint-decompose-e40327f8a1d7fc7a.yaml b/releasenotes/notes/0.9/remove-blueprint-decompose-e40327f8a1d7fc7a.yaml deleted file mode 100644 index 2f597f1ab..000000000 --- a/releasenotes/notes/0.9/remove-blueprint-decompose-e40327f8a1d7fc7a.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -fixes: - - | - Removed additional decomposition of ``BlueprintCircuit``\s 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. diff --git a/releasenotes/notes/0.9/remove-depreacted-f9abe2c7a47c3062.yaml b/releasenotes/notes/0.9/remove-depreacted-f9abe2c7a47c3062.yaml deleted file mode 100644 index 335b040d9..000000000 --- a/releasenotes/notes/0.9/remove-depreacted-f9abe2c7a47c3062.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- -deprecations: - - | - The deprecated arguments ``circuits``, ``parameters``, ``service``, and - ``skip_transpilation`` have been removed from :class:`~qiskit_ibm_runtime.Sampler`. - - Similarly, the deprecated arguments ``circuits``, ``observables``, ``parameters``, ``service``, and - ``skip_transpilation`` have been removed from :class:`~qiskit_ibm_runtime.Estimator`. - - In :class:`~qiskit_ibm_runtime.QiskitRuntimeService`, the ``auth`` parameter has been removed. Additionally, - the ``instance``, ``job_tags``, and ``max_execution_time`` paramters have been removed from - :meth:`qiskit_ibm_runtime.QiskitRuntimeService.run`. They can be passed in through - :class:`~qiskit_ibm_runtime.RuntimeOptions` instead. - - Within :class:`~qiskit_ibm_runtime.RuntimeOptions`, ``backend_name`` is no longer supported. Please use - ``backend`` instead. diff --git a/releasenotes/notes/0.9/retrieve-options-bug-edaed4cd5286f915.yaml b/releasenotes/notes/0.9/retrieve-options-bug-edaed4cd5286f915.yaml deleted file mode 100644 index 536774893..000000000 --- a/releasenotes/notes/0.9/retrieve-options-bug-edaed4cd5286f915.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Fixed a bug where retrieving a job from a backend without ``noise_model`` - or ``seed_simulator`` options would result in a key error. - diff --git a/releasenotes/notes/0.9/runtime-job-properties-4b85f754bc84d56f.yaml b/releasenotes/notes/0.9/runtime-job-properties-4b85f754bc84d56f.yaml deleted file mode 100644 index de6184a85..000000000 --- a/releasenotes/notes/0.9/runtime-job-properties-4b85f754bc84d56f.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -upgrade: - - | - :meth:`~qiskit_ibm_runtime.RuntimeJob.session_id` and :meth:`~qiskit_ibm_runtime.RuntimeJob.tags` - were added for an easy way to return the session_id and job_tags of a job. diff --git a/releasenotes/notes/0.9/session-backend-option-26ad05fcb7c96dc6.yaml b/releasenotes/notes/0.9/session-backend-option-26ad05fcb7c96dc6.yaml deleted file mode 100644 index 7cced4225..000000000 --- a/releasenotes/notes/0.9/session-backend-option-26ad05fcb7c96dc6.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -deprecations: - - | - ``backend`` is no longer a supported option when using :meth:`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. - diff --git a/releasenotes/notes/0.9/session-time-param-b02d1513d9754b52.yaml b/releasenotes/notes/0.9/session-time-param-b02d1513d9754b52.yaml deleted file mode 100644 index db923b514..000000000 --- a/releasenotes/notes/0.9/session-time-param-b02d1513d9754b52.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -features: - - | - Added a new argument called ``session_time`` to the program_run method and - :class:`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``. \ No newline at end of file diff --git a/releasenotes/notes/0.9/shorten-error-messages-8f955bf26ad17f96.yaml b/releasenotes/notes/0.9/shorten-error-messages-8f955bf26ad17f96.yaml deleted file mode 100644 index 496f6972c..000000000 --- a/releasenotes/notes/0.9/shorten-error-messages-8f955bf26ad17f96.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -other: - - | - Since error messages from a failing job may be long, we shortened them so that they begin from the last - ``Traceback`` in the message. diff --git a/releasenotes/notes/0.9/target-history-93e8eca3abf49230.yaml b/releasenotes/notes/0.9/target-history-93e8eca3abf49230.yaml deleted file mode 100644 index 880cd306a..000000000 --- a/releasenotes/notes/0.9/target-history-93e8eca3abf49230.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -features: - - | - Added the method :meth:`~qiskit_ibm_runtime.IBMBackend.target_history`. - This method is similar to :meth:`~qiskit_ibm_runtime.IBMBackend.target`. - The difference is that the new method enables the user to pass a `datetime` parameter, - to retrieve historical data from the backend. diff --git a/releasenotes/notes/0.9/user-defined-filename-for-account-710cb32e812b3bd8.yaml b/releasenotes/notes/0.9/user-defined-filename-for-account-710cb32e812b3bd8.yaml deleted file mode 100644 index e3b61a698..000000000 --- a/releasenotes/notes/0.9/user-defined-filename-for-account-710cb32e812b3bd8.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -upgrade: - - | - 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:: - - QiskitRuntimeService.save_account(channel="ibm_quantum", - filename="~/my_account_file.json", - name = "my_account", - token="my_token") - service = QiskitRuntimeService(channel="ibm_quantum", - filename="~/my_account_file.json", - name = "my_account",) - - - diff --git a/releasenotes/notes/0.9/warning_on_unsupported_options-9a96d7f32a487d00.yaml b/releasenotes/notes/0.9/warning_on_unsupported_options-9a96d7f32a487d00.yaml deleted file mode 100644 index 013cc6ea6..000000000 --- a/releasenotes/notes/0.9/warning_on_unsupported_options-9a96d7f32a487d00.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -upgrade: - - | - Added a user warning when the user passes an option that is not supported - in Options. From 493fd91b54783f08a195c485aacca9a6e0d23b3c Mon Sep 17 00:00:00 2001 From: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com> Date: Fri, 8 Mar 2024 13:09:16 -0500 Subject: [PATCH 03/18] Raw copy over release-notes.md from qiskit/documentation --- CHANGES.rst | 1940 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1940 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index ae1d2cf68..0f74872c9 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -3,3 +3,1943 @@ Qiskit Runtime IBM Client release notes ======================================= .. towncrier release notes start + +0.21.1 +------ + +Bug Fixes +~~~~~~~~~ + +- Fixed a bug where ``SamplerV1`` and ``EstimatorV1`` could not be + imported because of an issue with how the aliases were defined. + +.. _section-1: + +0.21.0 +------ + +Upgrade Notes +~~~~~~~~~~~~~ + +- Circuits that do not match the target hardware definition are no + longer supported by Qiskit Runtime primitives, unless + ``channel_strategy="q-ctrl"`` is used. See the transpilation + documentation (`transpile `__) for instructions to + transform circuits and the primitive examples + (`run/primitives-examples `__) to see this + coupled with operator transformations. + +Deprecation Notes +~~~~~~~~~~~~~~~~~ + +- In a future release, ``backend`` will be a required parameter for + ``qiskit_ibm_runtime.Sampler``, and ``qiskit_ibm_runtime.Estimator`` + if ``session`` is not specified, even when using the ``ibm_cloud`` + channel. + + It will also be a required parameter for + ``qiskit_ibm_runtime.Session`` and ``qiskit_ibm_runtime.Batch``. + +.. _bug-fixes-1: + +Bug Fixes +~~~~~~~~~ + +- Fixed an issue with the ``IBMBackend.target`` where it would + incorrectly exclude supported control flow operations (``IfElseOp``, + ``WhileLoop``, etc.) if a given backend supported them. + +- Fixed a bug where retrieving a fake backend through + ``FakeProviderForBackendV2.backend()`` would result in a type error. + +- Fixes the check for ISA circuits to allow pulse gates and circuits + that don’t have layout. + +.. _section-2: + +0.20.0 +------ + +New Features +~~~~~~~~~~~~ + +- Add ``dd_barrier`` optional input to + ```PadDynamicalDecoupling`` `__ + constructor to identify portions of the circuit to apply dynamical + decoupling (dd) on selectively. If this string is contained in the + label of a barrier in the circuit, dd is applied on the delays ending + with it (on the same qubits); otherwise, it is not applied. + +- Python 3.12 is now supported. + +- Sessions will now be started with a new ``/sessions`` endpoint that + allows for different execution modes. Batch mode is now supported + through ``Batch``, and ```Session`` `__ + will work the same as way as before. Please see + `run/sessions `__ for more information. + + Note that ``Session`` and ``Batch`` created from + ``qiskit-ibm-runtime`` prior to this release will no longer be + supported after March 31, 2024. Please update your + ``qiskit-ibm-runtime`` version as soon as possible before this date. + + Also note that using simulators with sessions is no longer supported. + Users can still start sessions with simulators without any issues but + a session will not actually be created. There will be no session ID. + +- Sessions started with + ```qiskit_ibm_runtime.IBMBackend.open_session()`` `__ + will use the new ``/sessions`` endpoint. + + The sessions functionality will not change but note that + ``backend.run()`` sessions prior to this release will no longer be + supported after March 31, 2024. Please update your + ``qiskit-ibm-runtime`` version as soon as possible before this date. + +.. _deprecation-notes-1: + +Deprecation Notes +~~~~~~~~~~~~~~~~~ + +- Circuits that do not match the target hardware definition will no + longer be supported after March 1, 2024. See the transpilation + documentation (`transpile `__) for instructions to + transform circuits and the primitive examples + (`run/primitives-examples `__) to see this + coupled with operator transformations. + +.. _bug-fixes-2: + +Bug Fixes +~~~~~~~~~ + +- Fix assignment of instruction durations when scheduling circuits with + control flow. Prior to this fix, the indices for instructions on + inner blocks were not mapped to the physical indices in the outer + dag. + +Other Notes +~~~~~~~~~~~ + +- The ``InstructionDurations`` durations input is now also required for + the constructor of ``PadDelay``. + +.. _section-3: + +0.19.1 +------ + +.. _upgrade-notes-1: + +Upgrade Notes +~~~~~~~~~~~~~ + +- Extend ``DynamicCircuitInstructions.from_backend()`` to extract and + patch durations from both ``BackendV1`` and ``BackendV2`` objects. + Also add ``DynamicCircuitInstructions.from_target()`` to use a + ``Target`` object instead. + +.. _bug-fixes-3: + +Bug Fixes +~~~~~~~~~ + +- Fix the patching of ``DynamicCircuitInstructions`` for instructions + with durations that are not in units of ``dt``. + +- Fixed an issue with the ``qpy.dump()`` function, when the + ``use_symengine`` flag was set to a truthy object that evaluated to + ``True`` but was not actually the boolean ``True`` the generated QPY + payload would be corrupt. + +.. _section-4: + +0.19.0 +------ + +.. _upgrade-notes-2: + +Upgrade Notes +~~~~~~~~~~~~~ + +- qiskit-ibm-provider is pending deprecation, and therefore will no + longer be a dependency for qiskit-ibm-runtime. + +- qiskit-ibm-runtime is now compatible with Qiskit versions >= 0.45, + including 1.0.0. + +.. _section-5: + +0.18.0 +------ + +.. _new-features-1: + +New Features +~~~~~~~~~~~~ + +- Added a new parameter, dynamic_circuits to + ```backends()`` `__ + to allow filtering of backends that support dynamic circuits. + +- Added ``max_time`` parameter to ``IBMBackend.open_session()``. + +- Added a method ``RuntimeJob.queue_info()`` to get the queue + information from the backend. This feature was transferred from + ``qiskit_ibm_provider``. + +.. _deprecation-notes-2: + +Deprecation Notes +~~~~~~~~~~~~~~~~~ + +- ```runtime()`` `__ + has been deprecated. + +.. _bug-fixes-4: + +Bug Fixes +~~~~~~~~~ + +- Many methods in ```RuntimeJob`` `__ + require retrieving the job data from the API with ``job_get()``. This + API call will now exclude the ``params`` field by default because + they are only necessary in + ```qiskit_ibm_runtime.RuntimeJob.inputs()`` `__. + +.. _section-6: + +0.17.0 +------ + +.. _new-features-2: + +New Features +~~~~~~~~~~~~ + +- Added a new method + ```properties()`` `__ which + returns the backend properties of the job at the time the job was + run. + +- ```details()`` `__ has a new + field, activated_at, which is the timestamp of when the session was + changed to active. + +.. _bug-fixes-5: + +Bug Fixes +~~~~~~~~~ + +- When a single backend is retrieved with the ``instance`` parameter, + + .. code:: python + + service.backend('ibm_torino', instance='ibm-q/open/main') + # raises error if torino is not in ibm-q/open/main but in a different instance + # the user has access to + service = QiskitRuntimeService(channel="ibm_quantum", instance="ibm-q/open/main") + service.backend('ibm_torino') # raises the same error + + if the backend is not in the instance but in a different one the user + has access to, an error will be raised. The same error will now be + raised if an instance is passed in at initialization and then a + backend not in that instance is retrieved. + +- Fixed an issue where retrieving the coupling_map of some backends + would result in a NameError. + +.. _section-7: + +0.16.0 +------ + +Prelude +~~~~~~~ + +Sessions are now thread-safe and allow for multiple concurrent +interactive experiments. + +.. _new-features-3: + +New Features +~~~~~~~~~~~~ + +- Sessions are now thread-safe. + +.. _upgrade-notes-3: + +Upgrade Notes +~~~~~~~~~~~~~ + +- Methods related to using custom programs are removed. + +.. _bug-fixes-6: + +Bug Fixes +~~~~~~~~~ + +- If a cloud instance that is ``q-ctrl`` enabled is used while + ``q-ctrl`` is not passed in as the ``channel_strategy``, an error + will be raised. + +.. _section-8: + +0.15.1 +------ + +.. _bug-fixes-7: + +Bug Fixes +~~~~~~~~~ + +- Reverting 0.15.0 changes to + ```from_id()`` `__ because it was + a breaking change without proper deprecation. + +.. _section-9: + +0.15.0 +------ + +.. _new-features-4: + +New Features +~~~~~~~~~~~~ + +- A new module + ```qiskit_ibm_runtime.fake_provider`` `__, + has been added to provide access to a series of fake backends derived + from snapshots of IBM Quantum devices. This functionality was + originally provided by the ``qiskit.providers.fake_provider`` module, + but will soon be deprecated in favor of + ```qiskit_ibm_runtime.fake_provider`` `__. + + The snapshots provided by the fake backends are useful for local + testing of the transpiler and performing local noisy simulations of + the system before running on real devices. Here is an example of + using a fake backend for transpilation and simulation: + + .. code:: python + + from qiskit import QuantumCircuit + from qiskit import transpile + from qiskit_ibm_runtime.fake_provider import FakeManilaV2 + + # Get a fake backend from the fake provider + backend = FakeManilaV2() + + # Create a simple circuit + circuit = QuantumCircuit(3) + circuit.h(0) + circuit.cx(0,1) + circuit.cx(0,2) + circuit.measure_all() + + # Transpile the ideal circuit to a circuit that can be directly executed by the backend + transpiled_circuit = transpile(circuit, backend) + + # Run the transpiled circuit using the simulated fake backend + job = backend.run(transpiled_circuit) + counts = job.result().get_counts() + +- Added support for ``backend.run()``. The functionality is similar to + that in ``qiskit-ibm-provider``. + +- An error will be raised during initialization if ``q-ctrl`` is passed + in as the ``channel_strategy`` and the account instance does not have + ``q-ctrl`` enabled. + +- Removed storing result in ``RuntimeJob._results``. Instead retrieve + results every time the ``results()`` method is called. + +.. _deprecation-notes-3: + +Deprecation Notes +~~~~~~~~~~~~~~~~~ + +- Usage of the ``~/.qiskit/qiskitrc.json`` file for account information + has been deprecated. Use ``~/.qiskit/qiskit-ibm.json`` instead. + +.. _bug-fixes-8: + +Bug Fixes +~~~~~~~~~ + +- Fixed an issue where canceled and failed jobs would return an invalid + result that resulted in a type error, preventing the actual error + from being returned to the user. + +- A warning will be raised at initialization if the DE environment is + being used since not all features are supported there. + +- The ``backend`` parameter in + ```from_id()`` `__ is being + deprecated because sessions do not support multiple backends. + Additionally, the ``service`` parameter is no longer optional. + +- The ``circuit_indices`` and ``observable_indices`` run inputs for + ```Estimator`` `__ and + ```Sampler`` `__ have been completely + removed. + +.. _other-notes-1: + +Other Notes +~~~~~~~~~~~ + +- Added migration code for running ``backend.run`` in + qiskit_ibm_runtime instead of in qiskit_ibm_provider. + +.. _section-10: + +0.14.0 +------ + +.. _new-features-5: + +New Features +~~~~~~~~~~~~ + +- There is a new class, ``qiskit_ibm_runtime.Batch`` that currently + works the same way as + ```qiskit_ibm_runtime.Session`` `__ but + will later be updated to better support submitting multiple jobs at + once. + +- Arbitrary keys and values are no longer allowed in ``Options``. + +.. _deprecation-notes-4: + +Deprecation Notes +~~~~~~~~~~~~~~~~~ + +- Custom programs are being deprecated as of qiskit-ibm-runtime 0.14.0 + and will be removed on November 27, 2023. Users can instead convert + their custom programs to use Qiskit Runtime primitives with Quantum + Serverless. Refer to the migration guide for instructions: + https://qiskit-extensions.github.io/quantum-serverless/migration/migration_from_qiskit_runtime_programs.html + +.. _section-11: + +0.13.0 +------ + +.. _new-features-6: + +New Features +~~~~~~~~~~~~ + +- Added a new method, + ```details()`` `__ that returns + information about a session, including: maximum session time, active + time remaining, the current state, and whether or not the session is + accepting jobs. + + Also added ```status()`` `__, + which returns the current status of the session. + +- At initialization, if not passed in directly, the default + ``instance`` selected by the provider will be logged at the “INFO” + level. When running a job, if the backend selected is not in the + default instance but in a different instance the user also has access + to, that instance will also be logged. + +.. _upgrade-notes-4: + +Upgrade Notes +~~~~~~~~~~~~~ + +- ```qiskit_ibm_runtime.Session.close()`` `__ + has been updated to mark a ``Session`` as no longer accepting new + jobs. The session won’t accept more jobs but it will continue to run + any queued jobs until they are done or the max time expires. This + will also happen automatically when the session context manager is + exited. When a session that is not accepting jobs has run out of jobs + to run, it’s immediately closed, freeing up the backend to run more + jobs rather than wait for the interactive timeout. + + The old close method behavior has been moved to a new method, + ```qiskit_ibm_runtime.Session.cancel()`` `__, + where all queued jobs within a session are cancelled and terminated. + +.. _bug-fixes-9: + +Bug Fixes +~~~~~~~~~ + +- Fixed a bug where ``shots`` passed in as a numpy type were not being + serialized correctly. + +- Fixed a bug in + ```target_history()`` `__ + where the datetime parameter was not being used to retrieve backend + properties from the specified date. + +.. _section-12: + +0.12.2 +------ + +.. _new-features-7: + +New Features +~~~~~~~~~~~~ + +- If using a ``channel_strategy``, only backends that support that + ``channel_strategy`` will be accessible to the user. + +- Added the option to define a default account in the account json + file. To select an account as default, define ``set_as_default=True`` + in ``QiskitRuntimeService.save_account()``. + +- Added new method ``Session.from_id`` which creates a new session with + a given id. + +- There will now be a warning if a user submits a job that is predicted + to exceed their system execution time monthly quota of 10 minutes. + This only applies to jobs run on real hardware in the instance + ``ibm-q/open/main``. If the job does end up exceeding the quota, it + will be canceled. + +.. _upgrade-notes-5: + +Upgrade Notes +~~~~~~~~~~~~~ + +- Job error messages now include the error code. Error codes can be + found in `errors `__. + +.. _section-13: + +0.12.1 +------ + +.. _new-features-8: + +New Features +~~~~~~~~~~~~ + +- Users can use a new environment variable, ``USAGE_DATA_OPT_OUT`` to + opt out of user module usage tracking by setting this value to + ``True``. Additionally, only certain qiskit modules will be tracked + instead of all modules that begin with qiskit or qiskit\_. + +- Users can now pass in a value of ``default`` to the + ``channel_strategy`` parameter in + ```qiskit_ibm_runtime.QiskitRuntimeService`` `__. + Now, if an account is configured with a certain channel strategy, the + user can override it by passing in ``default``. + +- The Sampler and Estimator primitives have been enhanced to + incorporate custom validation procedures when the channel_strategy + property within the :class:qiskit_ibm_runtime.QiskitRuntimeService is + configured as “q-ctrl.” This customized validation logic effectively + rectifies incorrect input options and safeguards users against + inadvertently disabling Q-CTRL’s performance enhancements. + +.. _bug-fixes-10: + +Bug Fixes +~~~~~~~~~ + +- Retrieving backend properties with + ```properties()`` `__ now + supports passing a ``datetime`` parameter to retrieve properties from + a past date. + +- The ``noise_factors`` and ``extrapolator`` options in + ```qiskit_ibm_runtime.options.ResilienceOptions`` `__ + will now default to ``None`` unless ``resilience_level`` is set to 2. + Only options relevant to the resilience level will be set, so when + using ``resilience_level`` 2, ``noise_factors`` will still default to + ``(1, 3, 5)`` and ``extrapolator`` will default to + ``LinearExtrapolator``. Additionally, options with a value of + ``None`` will no longer be sent to the server. + +- Job error messages will no longer be returned in all uppercase. + +- The max_execution_time option is now based on system execution time + instead of wall clock time. System execution time is the amount of + time that the system is dedicated to processing your job. If a job + exceeds this time limit, it is forcibly cancelled. Simulator jobs + continue to use wall clock time. + +.. _section-14: + +0.12.0 +------ + +.. _new-features-9: + +New Features +~~~~~~~~~~~~ + +- Added a ``global_service``, so that if the user defines a + QiskitRuntimeService, it will be used by the primitives, even if the + service is not passed to them explicitly. For example: + + .. code:: python + + from qiskit_ibm_runtime import QiskitRuntimeService, Sampler + service = QiskitRuntimeService(channel="ibm_quantum") + # Sampler._service field will be initialized to ``service`` + sampler = Sampler(backend="ibmq_qasm_simulator") + +- Added a new method, + ```qiskit_ibm_runtime.QiskitRuntimeService.instances()`` `__ + that returns all instances(hub/group/project) the user is in. This is + only for the ``ibm_quantum`` channel since the ``ibm_cloud`` channel + does not have multiple instances. + +- Added validations for options on the second level of the dict, i.e., + for each of resilience, simulator, execution, and transpilation, + check that their options are supported. Otherwise throw an exception. + +- There is a new parameter, ``channel_strategy`` that can be set in the + initialization of + ```qiskit_ibm_runtime.QiskitRuntimeService`` `__ + or saved in + ```qiskit_ibm_runtime.QiskitRuntimeService.save_account()`` `__. + If ``channel_strategy`` is set to ``q-ctrl``, all jobs within the + service will use the Q-CTRL error mitigation strategy. + +.. _upgrade-notes-6: + +Upgrade Notes +~~~~~~~~~~~~~ + +- Circuits and other input parameters will no longer be automatically + stored in runtime jobs. They can still be retrieved with + ```qiskit_ibm_runtime.RuntimeJob.inputs()`` `__. + +.. _deprecation-notes-5: + +Deprecation Notes +~~~~~~~~~~~~~~~~~ + +- The ``noise_amplifier`` resilience options is deprecated. After the + deprecation period, only local folding amplification will be + supported. Refer to https://github.com/qiskit-community/prototype-zne + for global folding amplification. + +.. _bug-fixes-11: + +Bug Fixes +~~~~~~~~~ + +- When running on channel “ibm_cloud”, it is possible not to specify + the backend. In this case, the system selects one of the available + backends for this service. Issue #625 + https://github.com/Qiskit/qiskit-ibm-runtime/issues/625 reported that + the the backend returned by ``job.backend()`` was not always the + actual backend on which the job was run. This PR fixes this bug. + +- Fixes a race condition in the test test_cancel_running_job() in + test_job.py where job cancellation could not be performed. Refer to + #1019 \_ + for more details. + +- Previously we added validation when jobs were run to make sure the + number of circuits was not greater than the maximum for that backend, + ``backend.max_circuits``. This limit isn’t actually necessary for + primtives run from within a session. + +.. _section-15: + +0.11.3 +------ + +.. _new-features-10: + +New Features +~~~~~~~~~~~~ + +- Added reason for failure when invoking the method + ```error_message()`` `__. + +- Added a new property, + ```usage_estimation()`` `__ + that returns the estimated system execution time, + ``quantum_seconds``. System execution time represents the amount of + time that the system is dedicated to processing your job. + +- Raise an exception if the number of circuits passed to + ``_run_primitive()`` exceeds the number of circuits supported on the + backend. + +- There is a new method + ```update_tags()`` `__ + that can be used to update the ``job_tags`` of a job. + +- If ``instance`` is provided as parameter to + ```qiskit_ibm_runtime.QiskitRuntimeService`` `__, + then this is used as a filter in ``QiskitRuntimeService.backends()``. + If ``instance`` is not recognized as one of the provider instances, + an exception will be raised. Previously, we only issued a warning. + +.. _section-16: + +0.11.2 +------ + +.. _new-features-11: + +New Features +~~~~~~~~~~~~ + +- If a job has been cancelled, and job.result() is requested, throw an + exception rather than returning None. + +- A new method, + ```qiskit_ibm_runtime.options.SimulatorOptions.set_backend()`` `__, + allows users to more easily set simulator options for a backend. + + .. code:: python + + from qiskit.providers.fake_provider import FakeManila + from qiskit_aer.noise import NoiseModel + + # Make a noise model + fake_backend = FakeManila() + + # Set options to include the noise model + options = Options() + options.simulator.set_backend(fake_backend) + options.simulator.seed_simulator = 42 + +.. _bug-fixes-12: + +Bug Fixes +~~~~~~~~~ + +- Fixed infinite recursion when attempting to deepcopy an IBMBackend. + Added a method ``qiskit_ibm_runtime.IBMBackend.deepcopy()``. + +- Fixed an issue where circuit metadata was not being serialized + correctly resulting in a type error. + +.. _section-17: + +0.11.1 +------ + +.. _deprecation-notes-6: + +Deprecation Notes +~~~~~~~~~~~~~~~~~ + +- In + ```qiskit_ibm_runtime.RuntimeJob.metrics()`` `__, + the bss field will be replaced by usage. + +.. _section-18: + +0.11.0 +------ + +.. _new-features-12: + +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: + + .. code:: python + + options.simulator = {"coupling_map": [[0, 1], [1, 0]]} + + Now we also support the following: + + .. code:: python + + options.simulator = {"coupling_map": CouplingMap.from_line(10)} + +.. _upgrade-notes-7: + +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-7: + +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. + +.. _section-19: + +0.10.0 +------ + +.. _new-features-13: + +New Features +~~~~~~~~~~~~ + +- Python 3.11 is now supported. + +.. _upgrade-notes-8: + +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-13: + +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. + +.. _section-20: + +0.9.4 +----- + +.. _new-features-14: + +New Features +~~~~~~~~~~~~ + +- Added methods to validate input options to ``transpilation`` and + ``environment`` options. + +.. _upgrade-notes-9: + +Upgrade Notes +~~~~~~~~~~~~~ + +- When constructing a backend ``qiskit.transpiler.Target``, faulty + qubits and gates from the backend configuration will be filtered out. + +.. _deprecation-notes-8: + +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-14: + +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. + +.. _section-21: + +0.9.3 +----- + +.. _upgrade-notes-10: + +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-15: + +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. + +.. _section-22: + +0.9.2 +----- + +.. _new-features-15: + +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-11: + +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-16: + +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 ``BlueprintCircuit``\ s 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. + +.. _section-23: + +0.9.1 +----- + +.. _upgrade-notes-12: + +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: + + .. code:: python + + QiskitRuntimeService.save_account(channel="ibm_quantum", + filename="~/my_account_file.json", + name = "my_account", + token="my_token") + service = QiskitRuntimeService(channel="ibm_quantum", + filename="~/my_account_file.json", + name = "my_account",) + +.. _deprecation-notes-9: + +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-17: + +Bug Fixes +~~~~~~~~~ + +- ``ECRGate`` and ``CZGate`` mappings have been added to the ``Target`` + constructor to fix a tranpile bug. + +.. _other-notes-2: + +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. + +.. _section-24: + +0.9.0 +----- + +.. _upgrade-notes-13: + +Upgrade Notes +~~~~~~~~~~~~~ + +- Changed the default values for ``optimization_level`` and for + ``resilience_level`` in ``qiskit_ibm_runtime.Options``. If their + values are defined by the user, they are not modified. If not set, if + the backend is a noiseless simulator then ``optimization_level`` is + set to 1 and ``resilience_level`` is set to 0; Otherwise, they are be + set to 3 and 1 respectively. + +- ```session_id()`` `__ and + ```tags()`` `__ were added for an + easy way to return the session_id and job_tags of a job. + +.. _bug-fixes-18: + +Bug Fixes +~~~~~~~~~ + +- Fixed a bug where jobs that did not run before a session closes are + not actually run as a part of that session. Jobs should run as a part + of a session even if that session is closed by the exit of the + context manager. + +- Fixes the issue wherein submitting a large job fails due to write + operation timeout. + +.. _section-25: + +0.8.0 +----- + +.. _new-features-16: + +New Features +~~~~~~~~~~~~ + +- Python 3.10 is now supported. + +- Advanced resilience options can now be set under + ``options.resilience``. See + ```qiskit_ibm_runtime.options.ResilienceOptions`` `__ + for all available options. + +- You can now specify a pair of result decoders for the + ``result_decoder`` parameter of + ```qiskit_ibm_runtime.QiskitRuntimeService.run()`` `__ + method. If a pair is specified, the first one is used to decode + interim results and the second the final results. + +.. _upgrade-notes-14: + +Upgrade Notes +~~~~~~~~~~~~~ + +- The default ``resilience_level`` option for has been changed from 0 + to 1. In addition, the default ``optimization_level`` option has been + changed from 1 to 3. + +.. _deprecation-notes-10: + +Deprecation Notes +~~~~~~~~~~~~~~~~~ + +- The transpilation options ``translation_method`` and + ``timing_constraints`` have been deprecated. + +.. _bug-fixes-19: + +Bug Fixes +~~~~~~~~~ + +- If a + ```qiskit_ibm_runtime.IBMBackend`` `__ + instance is passed to the + ```qiskit_ibm_runtime.Session`` `__ + constructor, the service used to initialize the ``IBMBackend`` + instance is used for the session instead of the default account + service. + +.. _section-26: + +0.7.0 +----- + +.. _new-features-17: + +New Features +~~~~~~~~~~~~ + +- ``qiskit_ibm_runtime.Options`` class now accepts arbitrary keyword + arguments. This allows users to specify new options to the primitive + programs without upgrading ``qiskit_ibm_runtime``. These arbitrary + keyword arguments, however, are not validated. + +- The + ```qiskit_ibm_runtime.options.EnvironmentOptions`` `__ + class now accepts a ``callback`` parameter. This parameter can be + used to stream the interim and final results of the primitives. + +- The ``qiskit_ibm_runtime.Options`` class now accepts + ``max_execution_time`` as a first level option and ``job_tags`` as an + option under ``environment``. + ```qiskit_ibm_runtime.RuntimeOptions`` `__ + has also been updated to include these two parameters. + +.. _upgrade-notes-15: + +Upgrade Notes +~~~~~~~~~~~~~ + +- This version of qiskit-ibm-runtime requires qiskit-terra version 0.22 + or higher. The ``requirements.txt`` file has been updated + accordingly. + +.. _deprecation-notes-11: + +Deprecation Notes +~~~~~~~~~~~~~~~~~ + +- Qiskit Runtime programs ``torch-train``, ``torch-infer``, + ``sample-expval``, ``sample-program``, and + ``quantum_kernal_alignment`` have been deprecated due to low usage. + +- Passing ``instance`` parameter to the + ```qiskit_ibm_runtime.QiskitRuntimeService.run()`` `__ + has been deprecated. Instead, you can pass the ``instance`` parameter + inside the ``options`` parameter. + +- Passing ``job_tags`` and ``max_execution_time`` as parameters to + ```qiskit_ibm_runtime.QiskitRuntimeService`` `__ + has been deprecated. Please pass them inside ``options``. + +.. _bug-fixes-20: + +Bug Fixes +~~~~~~~~~ + +- Fixes the missing section on retrieving jobs in the how-to guide. + +0.7.0rc2 +-------- + +.. _upgrade-notes-16: + +Upgrade Notes +~~~~~~~~~~~~~ + +- Added a validation check to + ```run()`` `__. It raises an error if + there is no classical bit. + +- ```Sampler`` `__ is updated to return + ``SamplerResult`` with ``SamplerResult.quasi_dists`` as a list of + ``QuasiDistrbution``. It used to set a list of ``dict`` as + ``SamplerResult.quasi_dists``, but it did not follow the design of + ``SamplerResult``. + +- The ```RuntimeJob`` `__ class is now a + subclass of ``qiskit.providers.Job``. + +.. _deprecation-notes-12: + +Deprecation Notes +~~~~~~~~~~~~~~~~~ + +- ``job_id`` and ``backend`` attributes of + ```qiskit_ibm_runtime.RuntimeJob`` `__ + have been deprecated. Please use + ```qiskit_ibm_runtime.RuntimeJob.job_id()`` `__ + and + ```qiskit_ibm_runtime.RuntimeJob.backend()`` `__ + methods instead. + +- The ``backend_name`` attribute in + ```qiskit_ibm_runtime.RuntimeOptions`` `__ + is deprecated and replaced by ``backend``. + +0.7.0rc1 +-------- + +.. _prelude-1: + +Prelude +~~~~~~~ + +There are significant changes to how primitives are invoked within a +session, and the options available to the primitives. Please review the +rest of the release notes and the tutorials for full information. + +.. _new-features-18: + +New Features +~~~~~~~~~~~~ + +- You can now invoke the same or different primitive programs multiple + times within a session. For example: + + .. code:: python + + from qiskit_ibm_runtime import QiskitRuntimeService, Session, Sampler, Estimator, Options + from qiskit.test.reference_circuits import ReferenceCircuits + from qiskit.circuit.library import RealAmplitudes + from qiskit.quantum_info import SparsePauliOp + + # Initialize account. + service = QiskitRuntimeService() + + # Set options, which can be overwritten at job level. + options = Options(optimization_level=1) + + # Prepare inputs. + bell = ReferenceCircuits.bell() + psi = RealAmplitudes(num_qubits=2, reps=2) + H1 = SparsePauliOp.from_list([("II", 1), ("IZ", 2), ("XI", 3)]) + theta = [0, 1, 1, 2, 3, 5] + + with Session(service=service, backend="ibmq_qasm_simulator") as session: + # Submit a request to the Sampler primitive within the session. + sampler = Sampler(session=session, options=options) + job = sampler.run(circuits=bell) + print(f"Sampler results: {job.result()}") + + # Submit a request to the Estimator primitive within the session. + estimator = Estimator(session=session, options=options) + job = estimator.run( + circuits=[psi], observables=[H1], parameter_values=[theta] + ) + print(f"Estimator results: {job.result()}") + +- A new ``qiskit_ibm_runtime.Options`` class is introduced. This class + allows you to auto-complete options related to primitive programs. + For example: + + .. code:: python + + from qiskit_ibm_runtime import Session, Sampler, Options + from qiskit.test.reference_circuits import ReferenceCircuits + + options = Options() + options.optimization_level = 3 # This can be done using auto-complete. + + with Session(backend="ibmq_qasm_simulator") as session: + # Pass the options to Sampler. + sampler = Sampler(session=session, options=options) + + # Or at job level. + job = sampler.run(circuits=ReferenceCircuits.bell(), shots=4000) + +- ```qiskit_ibm_runtime.RuntimeJob`` `__ + has a new method + ```metrics()`` `__. This + method returns the metrics of a job, which includes timestamp + information. + +- The + ```qiskit_ibm_runtime.QiskitRuntimeService`` `__ + ``channel`` can now be stored as an environment variable, + ``QISKIT_IBM_CHANNEL``. This way, when using Runtime Primitives, the + service does not have to be instantiated manually and can instead be + created directly from environment variables. + +.. _upgrade-notes-17: + +Upgrade Notes +~~~~~~~~~~~~~ + +- Raise ``RuntimeJobMaxTimeoutError`` when a job runs for too long so + that it can be handled appropriately by programs. + +- The experimental parameters ``transpilation_settings``, + ``resilience_settings``, and ``max_time`` to the + :class:\`qiskit_ibm_runtime.Sampler and + ```qiskit_ibm_runtime.Estimator`` `__ + constructors have been removed. You can instead use the + ``qiskit_ibm_runtime.Options`` class to specify the settings, and + ``max_time`` can be specified when starting a new session. For + example: + + .. code:: python + + from qiskit_ibm_runtime import Session, Sampler, Options + + options = Options() + # This can be done using auto-complete. + option.optimization_level = 3 + options.resilience_level = 1 + + with Session(max_time="2h") as session: + # Pass the options to Sampler. + sampler = Sampler(session=session, options=options) + +- Since some accounts have many runtime programs, caching a list of all + programs on the first call of ``programs()`` has been removed. + Instead, programs will only be cached up to the ``limit`` given, + which has a default value of 20. + +.. _deprecation-notes-13: + +Deprecation Notes +~~~~~~~~~~~~~~~~~ + +- Invoking + ```qiskit_ibm_runtime.Sampler`` `__ and + ```qiskit_ibm_runtime.Estimator`` `__ + as context managers has been deprecated. You can instead use the + qiskit_ibm_runtime.Session class to create a new session and invoke + one or more primitives within the session. + + As a result, passing input parameters, such as ``circuits``, + ``observables``, and ``parameter_values``, as well as ``service`` to + the constructors of ``Sampler`` and ``Estimator`` has also been + deprecated. The inputs can now be passed to the ``run()`` method of + the primitive classes, and ``service`` can be passed to + ```qiskit_ibm_runtime.Session`` `__ when + starting a new session. + +- Passing ``skip_transpilation`` to the + :class:\`qiskit_ibm_runtime.Sampler and + ```qiskit_ibm_runtime.Estimator`` `__ + constructors has been deprecated. You can instead use the + ``qiskit_ibm_runtime.Options`` class to specify this option. For + example: + + .. code:: python + + from qiskit_ibm_runtime import Options + + options = Options() + # This can be done using auto-complete. + options.transpilation.skip_transpilation = True + +.. _bug-fixes-21: + +Bug Fixes +~~~~~~~~~ + +- Fixes issue + `#428 `__ by + raising the minimum required ``qiskit-terra`` version to ``0.21.0``, + since latest version of ``qiskit-ibm-runtime`` is not compatible with + ``0.20.0`` or earlier of ``qiskit-terra``. + +.. _section-27: + +0.6.0 +----- + +.. _upgrade-notes-18: + +Upgrade Notes +~~~~~~~~~~~~~ + +- When migrating from ``qiskit-ibmq-provider`` your ``ibm_quantum`` + channel credentials will get automatically copied over from the + qiskitrc file and a qiskit-ibm.json file will get created if one + doesn’t exist. You have to just initialize + ```QiskitRuntimeService`` `__ + class without passing any parameters to use this copied over default + ``ibm_quantum`` account. + + Ex: + + .. code:: python + + from qiskit_ibm_runtime import QiskitRuntimeService + service = QiskitRuntimeService() + +- ``IBMEstimator`` class which was deprecated earlier is now removed. + Use ```Estimator`` `__ class going + forward. + +- ``IBMRuntimeService`` class which was deprecated earlier is now + removed. Use + ```QiskitRuntimeService`` `__ + class going forward. + +.. _section-28: + +0.5.0 +----- + +.. _prelude-2: + +Prelude +~~~~~~~ + +This release leverages the API and Queue enhancements to become more +runtime session aware. As a result when using the primitives (sampler +and estimator), runtime jobs in the same session will skip to the front +of the queue, thereby speeding up the runtime session, once it has +started. + +.. _new-features-19: + +New Features +~~~~~~~~~~~~ + +- The ``service`` object which is an instance of + ```QiskitRuntimeService`` `__ + class can now be accessed from + ```IBMBackend`` `__ class using the + ``service`` property. + + Ex: + + .. code:: python + + backend = service.get_backend("ibmq_qasm_simulator") + backend.service # QiskitRuntimeService instance used to instantiate the backend + +.. _upgrade-notes-19: + +Upgrade Notes +~~~~~~~~~~~~~ + +- ```jobs()`` `__ has two + new parameters, ``created_after`` and ``created_before``. These can + be used to filter jobs by creation date in local time. + +- The parameters ``circuit_indices`` and ``observable_indices`` when + calling ``estimator`` are now deprecated and will be removed in a + future release. You can now pass either indices or objects using the + ``circuits`` and ``observables`` parameters. + + Ex: + + .. code:: python + + with Estimator( + circuits=[qc1, qc2], + observables=[H1, H2, H3], + service=service, + options=options + ) as estimator: + # pass circuits and observables as indices + result = estimator(circuits=[0, 1], observables=[0, 1], parameter_values=[theta1, theta2]) + + # pass circuits and observables as objects + result = estimator(circuits=[qc1, qc2], observables=[H1, H3], parameter_values=[theta1, theta3]) + +- The parameters ``circuit_indices`` and ``observable_indices`` when + calling ``estimator`` are now deprecated and will be removed in a + future release. You can now pass either indices or objects using the + ``circuits`` and ``observables`` parameters. + + Ex: + + .. code:: python + + with Sampler( + circuits=[qc1, qc2], + service=service, + options=options + ) as sampler: + # pass circuits as indices + result = sampler(circuits=[0, 1], parameter_values=[theta1, theta2]) + + # pass circuit as objects + result = sampler(circuits=[qc1, qc2], parameter_values=[theta2, theta3]) + +- The ``session_id``, which is the Job ID of the first job in a runtime + session can now be used as a filter in + ```jobs()`` `__ with + the parameter ``session_id``. + +- ```run()`` `__ now + supports a new parameter, ``job_tags``. These tags can be used when + filtering jobs with + ```jobs()`` `__. + +- ```run()`` `__ now + supports a new parameter, ``max_execution_time``, which can be used + to override the default program maximum execution time. It should be + less than or equal to the program maximum execution time. + +- ```jobs()`` `__ has a + new parameter, ``descending``. This parameter defaults to ``True``, + where jobs will be returned in descending order based on creation + date. + +- ``RuntimeJobTimeoutError`` is now raised when the ``timeout`` set in + ```result()`` `__ or + ```wait_for_final_state()`` `__ + expires. + +- When initializing + ```QiskitRuntimeService`` `__ + and an invalid token is used, ``IBMNotAuthorizedError`` will be + raised instead of ``RequestsApiError``. + +- ``IBMSampler`` class which was deprecated earlier is now removed. Use + ```Sampler`` `__ class going forward. + +- ```qubit_properties()`` `__ + will now return a sub class of ``QubitProperties`` called + ``IBMQubitProperties`` and will expose anharmonicity in addition to + the t1, t2 and frequency already exposed by the ``QubitProperties`` + class. + +.. _section-29: + +0.4.0 +----- + +.. _upgrade-notes-20: + +Upgrade Notes +~~~~~~~~~~~~~ + +- ``IBMRuntimeService`` has been renamed to ``QiskitRuntimeSerice``. + ``IBMRuntimeService`` class is now deprecated and will be removed in + a future release. + + Example: + + Before: + + .. code:: python + + from qiskit_ibm_runtime import IBMRuntimeService + service = IBMRuntimeService(channel="ibm_cloud", token="...", instance="...") + + After: + + .. code:: python + + from qiskit_ibm_runtime import QiskitRuntimeService + service = QiskitRuntimeService(channel="ibm_cloud", token="...", instance="...") + +- ``IBMEstimator`` class is now deprecated and will be removed in a + future release. Use ```Estimator`` `__ + class going forward. + + Example: + + Before: + + .. code:: python + + from qiskit_ibm_runtime import IBMRuntimeService, IBMEstimator + service = IBMRuntimeService(channel="ibm_cloud", token="...", instance="...") + + estimator_factory = IBMEstimator(service=service, backend="ibmq_qasm_simulator") + + with estimator_factory(circuits=[qc], observables="...", parameters="...") as estimator: + result = estimator(circuit_indices=[0], ...) + + After: + + .. code:: python + + from qiskit_ibm_runtime import QiskitRuntimeService, Estimator + service = QiskitRuntimeService(channel="ibm_cloud", token="...", instance="...") + + with Estimator( + circuits=[qc], + observables="...", + parameters="...", + service=service, + options={ "backend": "ibmq_qasm_simulator" }, # or IBMBackend<"ibmq_qasm_simulator"> + ) as estimator: + result = estimator(circuit_indices=[0], ...) + +- ``IBMSampler`` class is now deprecated and will be removed in a + future release. Use ```Sampler`` `__ + class going forward. + + Example: + + Before: + + .. code:: python + + from qiskit_ibm_runtime import IBMRuntimeService, IBMSampler + service = IBMRuntimeService(channel="ibm_cloud", token="...", instance="...") + + sampler_factory = IBMSampler(service=service, backend="ibmq_qasm_simulator") + + with sampler_factory(circuits=[qc], parameters="...") as sampler: + result = sampler(circuit_indices=[0], ...) + + After: + + .. code:: python + + from qiskit_ibm_runtime import QiskitRuntimeService, Sampler + service = QiskitRuntimeService(channel="ibm_cloud", token="...", instance="...") + + with Sampler( + circuits=[qc], + parameters="...", + service=service, + options={ "backend": "ibmq_qasm_simulator" }, # or IBMBackend<"ibmq_qasm_simulator"> + ) as sampler: + result = sampler(circuit_indices=[0], ...) + +.. _deprecation-notes-14: + +Deprecation Notes +~~~~~~~~~~~~~~~~~ + +- ``IBMRuntimeService``, ``IBMEstimator`` and ``IBMSampler`` classes + have been deprecated and will be removed in a future release. Use + ```QiskitRuntimeService`` `__, + ```Estimator`` `__ and + ```Sampler`` `__ classes instead. See + upgrade notes section for a detailed explanation with examples. + +.. _section-30: + +0.3.0 +----- + +.. _upgrade-notes-21: + +Upgrade Notes +~~~~~~~~~~~~~ + +- A new parameter ``channel`` has now been added to + ``qiskit_ibm_runtime.IBMRuntimeService`` class and also to methods + like ``save_account()``, ``saved_accounts()`` and + ``delete_account()``. It can be set to ``ibm_quantum`` or + ``ibm_cloud`` to authenticate to either of the two different channels + through which Qiskit Runtime service is currently offered. + ``channel`` replaces the ``auth`` parameter which has now been + deprecated. + +.. _deprecation-notes-15: + +Deprecation Notes +~~~~~~~~~~~~~~~~~ + +- The ``auth`` parameter to ``qiskit_ibm_runtime.IBMRuntimeService`` + class and also to methods like ``save_account()``, + ``saved_accounts()`` and ``delete_account()`` has now been deprecated + and will be removed in a future release. Please use the new + ``channel`` parameter instead. + +.. _bug-fixes-22: + +Bug Fixes +~~~~~~~~~ + +- Fixed + `#291 `__ + where passing a single ``QuantumCircuit`` to sampler or estimator + primitives was throwing an error. + +.. _section-31: + +0.2.0 +----- + +.. _new-features-20: + +New Features +~~~~~~~~~~~~ + +- ``qiskit_ibm_runtime.IBMEstimator`` and + ``qiskit_ibm_runtime.IBMSampler`` classes now allow you to easily + interact with the ``estimator`` and ``sampler`` primitive programs. + Refer to the examples in the respective class doc strings to learn + more about how to use them. + +.. _bug-fixes-23: + +Bug Fixes +~~~~~~~~~ + +- Fixed a bug where + ```qiskit_ibm_runtime.RuntimeJob.wait_for_final_state()`` `__ + would result in a NoneType error if the job already completed and + ```qiskit_ibm_runtime.RuntimeJob.status()`` `__ + was called beforehand. + +.. _section-32: + +0.1.0 +----- + +.. _prelude-3: + +Prelude +~~~~~~~ + +qiskit-ibm-runtime is a new Python API client for accessing the quantum +programs, systems and simulators at IBM Quantum via the Qiskit Runtime +Service. + +This new package is built upon the work already done in +qiskit.providers.ibmq.runtime module in the qiskit-ibmq-provider package +and replaces it going forward. The runtime module in +qiskit-ibmq-provider package is now deprecated. + +qiskit-ibm-runtime is not included as part of Qiskit meta package and +thereby you have to install it separately using +``pip install qiskit-ibm-runtime``. + +.. _new-features-21: + +New Features +~~~~~~~~~~~~ + +- ``qiskit_ibm_runtime.IBMRuntimeService.least_busy()`` will now allow + you find the least busy backend. + +.. _upgrade-notes-22: + +Upgrade Notes +~~~~~~~~~~~~~ + +- qiskit-ibm-runtime package no longer uses the $HOME/.qiskit/qiskitrc + file used by qiskit-ibmq-provider to save credentials. Credentials + are now stored in a JSON format in $HOME/.qiskit/qiskit-ibm.json file + when you use ``qiskit_ibm_runtime.IBMRuntimeService.save_account()`` + method. + + You can now save multiple credentials and give an optional name for + each credential. + +- Qiskit Runtime service is accessible using an IBM Quantum (legacy) + account or an IBM Cloud (cloud) account. qiskit-ibm-runtime enables + you to connect to either of these accounts: + + .. code:: python + + # Legacy + from qiskit_ibm_runtime import IBMRuntimeService + service = IBMRuntimeService(auth="legacy", token="abc") + + # Cloud + from qiskit_ibm_runtime import IBMRuntimeService + service = IBMRuntimeService(auth="cloud", token="abc", instance="IBM Cloud CRN or Service instance name") + +- ```qiskit_ibm_runtime.IBMBackend`` `__ + class now implements the ``qiskit.providers.BackendV2`` interface and + provides flatter access to the configuration of a backend, for + example: + + .. code:: python + + # BackendV1: + backend.configuration().n_qubits + + # BackendV2: + backend.num_qubits + + Only breaking change when compared to BackendV1 is backend.name is + now an attribute instead of a method. + + Refer to the + ```qiskit_ibm_runtime.IBMBackend`` `__ + class doc string for a list of all available attributes. + +- If you used qiskit.providers.ibmq.AccountProvider.get_backend method + (for example, ``provider.get_backend("ibmq_qasm_simulator")``) in the + qiskit-ibmq-provider package, it’s equivalent method in this new + package is ``qiskit_ibm_runtime.IBMRuntimeService.backend()``: + + .. code:: python + + service = IBMRuntimeService() + backend = service.backend("ibmq_qasm_simulator") + +- It is now optional to specify a hub/group/project upfront when + connecting to the legacy IBM Quantum account. The hub/group/project + is selected in the following order. + + - hub/group/project if passed via ``instance`` parameter when + initializing ``qiskit_ibm_runtime.IBMRuntimeService`` + - the specific hub/group/project required by the backend + specified when calling + ``qiskit_ibm_runtime.IBMRuntimeService.run()`` + - the default set previously via + ``qiskit_ibm_runtime.IBMRuntimeService.save_account()`` + - a premium hub/group/project in your account + - open access hub/group/project + +- It is now optional to specify backend_name in options when executing + ``qiskit_ibm_runtime.IBMRuntimeService.run()`` method when using + cloud runtime (IBM Cloud only). The server will automatically pick a + backend and return the name. + +- qiskit.providers.ibmq.runtime.IBMRuntimeService.logout method in + qiskit-ibmq-provider which was used to clear authorization cache on + the server has been removed. + +- Python 3.6 has reached end of life and will no longer be supported in + the new qiskit-ibm-runtime package. + +- qiskit.providers.ibmq.runtime.IBMRuntimeService.run_circuits method + in qiskit-ibmq-provider has been removed and will be replaced by the + ``Sampler`` primitive program. + +- ``qiskit_ibm_runtime.IBMRuntimeService.run()`` method now accepts + runtime execution options as + ```qiskit_ibm_runtime.RuntimeOptions`` `__ + class in addition to already supported Dict. backend_name, image and + log_level are the currently available options. + +- Final result is also streamed now after interim results when you + specify a ``callback`` to + ``qiskit_ibm_runtime.IBMRuntimeService.run()`` or + ```qiskit_ibm_runtime.RuntimeJob.stream_results()`` `__. + +.. _rc2-1: + +0.1.0rc2 +-------- + +.. _new-features-22: + +New Features +~~~~~~~~~~~~ + +- For convenience, you can now set the ``IBM Cloud service name`` as a + value for the account ``instance`` parameter. If you choose to set + the name instead of the ``CRN``, the initialization time of the + ``qiskit_ibm_runtime.IBMRuntimeService`` class is slightly higher + because the required ``CRN`` value is internally resolved via IBM + Cloud APIs. + +.. _bug-fixes-24: + +Bug Fixes +~~~~~~~~~ + +- ```qiskit_ibm_runtime.utils.json.RuntimeEncoder`` `__ + and + ```qiskit_ibm_runtime.utils.json.RuntimeDecoder`` `__ + have been updated to handle instances of the Instruction class. + +- Fixed an issue where numpy ndarrays with object types could not be + serialized. + ```qiskit_ibm_runtime.utils.json.RuntimeEncoder`` `__ + and + ```qiskit_ibm_runtime.utils.json.RuntimeDecoder`` `__ + have been updated to handle these ndarrays. + +.. _rc1-1: + +0.1.0rc1 +-------- + +.. _new-features-23: + +New Features +~~~~~~~~~~~~ + +- You can now pass ``instance`` parameter in the hub/group/project + format to ``qiskit_ibm_runtime.IBMRuntimeService.jobs()`` to filter + jobs. Currently only supported for legacy authentication. + +- You can now use the + ```qiskit_ibm_runtime.RuntimeJob.interim_results()`` `__ + method to retrieve runtime program interim results. Note that interim + results will only be available for up to two days. + +.. _upgrade-notes-23: + +Upgrade Notes +~~~~~~~~~~~~~ + +- In order to be consistent with other properties in + ```qiskit_ibm_runtime.RuntimeJob`` `__ + class the job_id and backend methods have been converted to + properties. + +- When uploading a program with + ``qiskit_ibm_runtime.IBMRuntimeService.upload_program()``, the + program description is now optional. + +- When printing programs with + ``qiskit_ibm_runtime.IBMRuntimeService.pprint_programs()``, + ``backend_requirements`` will now be listed. + +.. _bug-fixes-25: + +Bug Fixes +~~~~~~~~~ + +- Fixed an issue with JSON encoding and decoding when using + ``ParameterExpression``\ s in conjunction with Qiskit Terra 0.19.1 + and above. Previously, the ``Parameter`` instances reconstructed from + the JSON output would have different unique identifiers, causing them + to seem unequal to the input. They will now have the correct backing + identities. From 2e5450fd961b1fd859d7f1a368d0bd2a7ee047a8 Mon Sep 17 00:00:00 2001 From: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com> Date: Mon, 11 Mar 2024 10:17:51 -0400 Subject: [PATCH 04/18] Manually fix headers --- CHANGES.rst | 242 ++++++++++++++++++++++++++-------------------------- 1 file changed, 121 insertions(+), 121 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 0f74872c9..f3b6fd64f 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,10 +5,10 @@ Qiskit Runtime IBM Client release notes .. towncrier release notes start 0.21.1 ------- +====== Bug Fixes -~~~~~~~~~ +--------- - Fixed a bug where ``SamplerV1`` and ``EstimatorV1`` could not be imported because of an issue with how the aliases were defined. @@ -16,10 +16,10 @@ Bug Fixes .. _section-1: 0.21.0 ------- +====== Upgrade Notes -~~~~~~~~~~~~~ +------------- - Circuits that do not match the target hardware definition are no longer supported by Qiskit Runtime primitives, unless @@ -30,7 +30,7 @@ Upgrade Notes coupled with operator transformations. Deprecation Notes -~~~~~~~~~~~~~~~~~ +----------------- - In a future release, ``backend`` will be a required parameter for ``qiskit_ibm_runtime.Sampler``, and ``qiskit_ibm_runtime.Estimator`` @@ -43,7 +43,7 @@ Deprecation Notes .. _bug-fixes-1: Bug Fixes -~~~~~~~~~ +--------- - Fixed an issue with the ``IBMBackend.target`` where it would incorrectly exclude supported control flow operations (``IfElseOp``, @@ -58,10 +58,10 @@ Bug Fixes .. _section-2: 0.20.0 ------- +====== New Features -~~~~~~~~~~~~ +------------ - Add ``dd_barrier`` optional input to ```PadDynamicalDecoupling`` `__ @@ -99,7 +99,7 @@ New Features .. _deprecation-notes-1: Deprecation Notes -~~~~~~~~~~~~~~~~~ +----------------- - Circuits that do not match the target hardware definition will no longer be supported after March 1, 2024. See the transpilation @@ -111,7 +111,7 @@ Deprecation Notes .. _bug-fixes-2: Bug Fixes -~~~~~~~~~ +--------- - Fix assignment of instruction durations when scheduling circuits with control flow. Prior to this fix, the indices for instructions on @@ -119,7 +119,7 @@ Bug Fixes dag. Other Notes -~~~~~~~~~~~ +----------- - The ``InstructionDurations`` durations input is now also required for the constructor of ``PadDelay``. @@ -127,12 +127,12 @@ Other Notes .. _section-3: 0.19.1 ------- +====== .. _upgrade-notes-1: Upgrade Notes -~~~~~~~~~~~~~ +------------- - Extend ``DynamicCircuitInstructions.from_backend()`` to extract and patch durations from both ``BackendV1`` and ``BackendV2`` objects. @@ -142,7 +142,7 @@ Upgrade Notes .. _bug-fixes-3: Bug Fixes -~~~~~~~~~ +--------- - Fix the patching of ``DynamicCircuitInstructions`` for instructions with durations that are not in units of ``dt``. @@ -155,12 +155,12 @@ Bug Fixes .. _section-4: 0.19.0 ------- +====== .. _upgrade-notes-2: Upgrade Notes -~~~~~~~~~~~~~ +------------- - qiskit-ibm-provider is pending deprecation, and therefore will no longer be a dependency for qiskit-ibm-runtime. @@ -171,12 +171,12 @@ Upgrade Notes .. _section-5: 0.18.0 ------- +====== .. _new-features-1: New Features -~~~~~~~~~~~~ +------------ - Added a new parameter, dynamic_circuits to ```backends()`` `__ @@ -191,7 +191,7 @@ New Features .. _deprecation-notes-2: Deprecation Notes -~~~~~~~~~~~~~~~~~ +----------------- - ```runtime()`` `__ has been deprecated. @@ -199,7 +199,7 @@ Deprecation Notes .. _bug-fixes-4: Bug Fixes -~~~~~~~~~ +--------- - Many methods in ```RuntimeJob`` `__ require retrieving the job data from the API with ``job_get()``. This @@ -210,12 +210,12 @@ Bug Fixes .. _section-6: 0.17.0 ------- +====== .. _new-features-2: New Features -~~~~~~~~~~~~ +------------ - Added a new method ```properties()`` `__ which @@ -229,7 +229,7 @@ New Features .. _bug-fixes-5: Bug Fixes -~~~~~~~~~ +--------- - When a single backend is retrieved with the ``instance`` parameter, @@ -252,10 +252,10 @@ Bug Fixes .. _section-7: 0.16.0 ------- +====== Prelude -~~~~~~~ +------- Sessions are now thread-safe and allow for multiple concurrent interactive experiments. @@ -263,21 +263,21 @@ interactive experiments. .. _new-features-3: New Features -~~~~~~~~~~~~ +------------ - Sessions are now thread-safe. .. _upgrade-notes-3: Upgrade Notes -~~~~~~~~~~~~~ +------------- - Methods related to using custom programs are removed. .. _bug-fixes-6: Bug Fixes -~~~~~~~~~ +--------- - If a cloud instance that is ``q-ctrl`` enabled is used while ``q-ctrl`` is not passed in as the ``channel_strategy``, an error @@ -286,12 +286,12 @@ Bug Fixes .. _section-8: 0.15.1 ------- +====== .. _bug-fixes-7: Bug Fixes -~~~~~~~~~ +--------- - Reverting 0.15.0 changes to ```from_id()`` `__ because it was @@ -300,12 +300,12 @@ Bug Fixes .. _section-9: 0.15.0 ------- +====== .. _new-features-4: New Features -~~~~~~~~~~~~ +------------ - A new module ```qiskit_ibm_runtime.fake_provider`` `__, @@ -356,7 +356,7 @@ New Features .. _deprecation-notes-3: Deprecation Notes -~~~~~~~~~~~~~~~~~ +----------------- - Usage of the ``~/.qiskit/qiskitrc.json`` file for account information has been deprecated. Use ``~/.qiskit/qiskit-ibm.json`` instead. @@ -364,7 +364,7 @@ Deprecation Notes .. _bug-fixes-8: Bug Fixes -~~~~~~~~~ +--------- - Fixed an issue where canceled and failed jobs would return an invalid result that resulted in a type error, preventing the actual error @@ -386,7 +386,7 @@ Bug Fixes .. _other-notes-1: Other Notes -~~~~~~~~~~~ +----------- - Added migration code for running ``backend.run`` in qiskit_ibm_runtime instead of in qiskit_ibm_provider. @@ -394,12 +394,12 @@ Other Notes .. _section-10: 0.14.0 ------- +====== .. _new-features-5: New Features -~~~~~~~~~~~~ +------------ - There is a new class, ``qiskit_ibm_runtime.Batch`` that currently works the same way as @@ -412,7 +412,7 @@ New Features .. _deprecation-notes-4: Deprecation Notes -~~~~~~~~~~~~~~~~~ +----------------- - Custom programs are being deprecated as of qiskit-ibm-runtime 0.14.0 and will be removed on November 27, 2023. Users can instead convert @@ -423,12 +423,12 @@ Deprecation Notes .. _section-11: 0.13.0 ------- +====== .. _new-features-6: New Features -~~~~~~~~~~~~ +------------ - Added a new method, ```details()`` `__ that returns @@ -448,7 +448,7 @@ New Features .. _upgrade-notes-4: Upgrade Notes -~~~~~~~~~~~~~ +------------- - ```qiskit_ibm_runtime.Session.close()`` `__ has been updated to mark a ``Session`` as no longer accepting new @@ -466,7 +466,7 @@ Upgrade Notes .. _bug-fixes-9: Bug Fixes -~~~~~~~~~ +--------- - Fixed a bug where ``shots`` passed in as a numpy type were not being serialized correctly. @@ -479,12 +479,12 @@ Bug Fixes .. _section-12: 0.12.2 ------- +====== .. _new-features-7: New Features -~~~~~~~~~~~~ +------------ - If using a ``channel_strategy``, only backends that support that ``channel_strategy`` will be accessible to the user. @@ -505,7 +505,7 @@ New Features .. _upgrade-notes-5: Upgrade Notes -~~~~~~~~~~~~~ +------------- - Job error messages now include the error code. Error codes can be found in `errors `__. @@ -513,12 +513,12 @@ Upgrade Notes .. _section-13: 0.12.1 ------- +====== .. _new-features-8: New Features -~~~~~~~~~~~~ +------------ - Users can use a new environment variable, ``USAGE_DATA_OPT_OUT`` to opt out of user module usage tracking by setting this value to @@ -541,7 +541,7 @@ New Features .. _bug-fixes-10: Bug Fixes -~~~~~~~~~ +--------- - Retrieving backend properties with ```properties()`` `__ now @@ -568,12 +568,12 @@ Bug Fixes .. _section-14: 0.12.0 ------- +====== .. _new-features-9: New Features -~~~~~~~~~~~~ +------------ - Added a ``global_service``, so that if the user defines a QiskitRuntimeService, it will be used by the primitives, even if the @@ -607,7 +607,7 @@ New Features .. _upgrade-notes-6: Upgrade Notes -~~~~~~~~~~~~~ +------------- - Circuits and other input parameters will no longer be automatically stored in runtime jobs. They can still be retrieved with @@ -616,7 +616,7 @@ Upgrade Notes .. _deprecation-notes-5: Deprecation Notes -~~~~~~~~~~~~~~~~~ +----------------- - The ``noise_amplifier`` resilience options is deprecated. After the deprecation period, only local folding amplification will be @@ -626,7 +626,7 @@ Deprecation Notes .. _bug-fixes-11: Bug Fixes -~~~~~~~~~ +--------- - When running on channel “ibm_cloud”, it is possible not to specify the backend. In this case, the system selects one of the available @@ -648,12 +648,12 @@ Bug Fixes .. _section-15: 0.11.3 ------- +====== .. _new-features-10: New Features -~~~~~~~~~~~~ +------------ - Added reason for failure when invoking the method ```error_message()`` `__. @@ -681,12 +681,12 @@ New Features .. _section-16: 0.11.2 ------- +====== .. _new-features-11: New Features -~~~~~~~~~~~~ +------------ - If a job has been cancelled, and job.result() is requested, throw an exception rather than returning None. @@ -711,7 +711,7 @@ New Features .. _bug-fixes-12: Bug Fixes -~~~~~~~~~ +--------- - Fixed infinite recursion when attempting to deepcopy an IBMBackend. Added a method ``qiskit_ibm_runtime.IBMBackend.deepcopy()``. @@ -722,12 +722,12 @@ Bug Fixes .. _section-17: 0.11.1 ------- +====== .. _deprecation-notes-6: Deprecation Notes -~~~~~~~~~~~~~~~~~ +----------------- - In ```qiskit_ibm_runtime.RuntimeJob.metrics()`` `__, @@ -736,12 +736,12 @@ Deprecation Notes .. _section-18: 0.11.0 ------- +====== .. _new-features-12: New Features -~~~~~~~~~~~~ +------------ - When retrieving a job with ``qiskit_ibm_runtime.IBMRuntimeService.job()`` the ``params`` will no @@ -768,7 +768,7 @@ New Features .. _upgrade-notes-7: Upgrade Notes -~~~~~~~~~~~~~ +------------- - A default session is no longer open for you if you pass a backend name or backend instance to @@ -787,7 +787,7 @@ Upgrade Notes .. _deprecation-notes-7: Deprecation Notes -~~~~~~~~~~~~~~~~~ +----------------- - Passing a backend name or backend instance to the ``session`` parameter when initializing a @@ -799,19 +799,19 @@ Deprecation Notes .. _section-19: 0.10.0 ------- +====== .. _new-features-13: New Features -~~~~~~~~~~~~ +------------ - Python 3.11 is now supported. .. _upgrade-notes-8: Upgrade Notes -~~~~~~~~~~~~~ +------------- - Added error messages in case the user defines unsupported values for ‘max_execution_time’. Previously, this validation was done on the @@ -820,7 +820,7 @@ Upgrade Notes .. _bug-fixes-13: Bug Fixes -~~~~~~~~~ +--------- - Added deserialization of the params of RuntimeJob.inputs. Previously, the circuits were returned in serialized format. Fixes issue @@ -838,7 +838,7 @@ Bug Fixes .. _new-features-14: New Features -~~~~~~~~~~~~ +------------ - Added methods to validate input options to ``transpilation`` and ``environment`` options. @@ -846,7 +846,7 @@ New Features .. _upgrade-notes-9: Upgrade Notes -~~~~~~~~~~~~~ +------------- - When constructing a backend ``qiskit.transpiler.Target``, faulty qubits and gates from the backend configuration will be filtered out. @@ -854,7 +854,7 @@ Upgrade Notes .. _deprecation-notes-8: Deprecation Notes -~~~~~~~~~~~~~~~~~ +----------------- - The deprecated arguments ``circuits``, ``parameters``, ``service``, and ``skip_transpilation`` have been removed from @@ -880,7 +880,7 @@ Deprecation Notes .. _bug-fixes-14: Bug Fixes -~~~~~~~~~ +--------- - Fixed a bug where retrieving a job from a backend without ``noise_model`` or ``seed_simulator`` options would result in a key @@ -894,7 +894,7 @@ Bug Fixes .. _upgrade-notes-10: Upgrade Notes -~~~~~~~~~~~~~ +------------- - Added error messages in case the user defines unsupported values for ‘optimization_level’ or for ‘resilience_level’. Added validation @@ -915,7 +915,7 @@ Upgrade Notes .. _bug-fixes-15: Bug Fixes -~~~~~~~~~ +--------- - When creating an Option object and passing an input option to ``resilience_options``, this option was included in @@ -931,7 +931,7 @@ Bug Fixes .. _new-features-15: New Features -~~~~~~~~~~~~ +------------ - Added a new argument called ``session_time`` to the program_run method and @@ -950,7 +950,7 @@ New Features .. _upgrade-notes-11: Upgrade Notes -~~~~~~~~~~~~~ +------------- - Accept all options on given on level 1 and assign them to the appropriate hierarchical option type. For example, if the user @@ -973,7 +973,7 @@ Upgrade Notes .. _bug-fixes-16: Bug Fixes -~~~~~~~~~ +--------- - Fixed a bug where the default values for ``optimization_level`` and for ``resilience_level`` were not being set correctly. @@ -1001,7 +1001,7 @@ Bug Fixes .. _upgrade-notes-12: Upgrade Notes -~~~~~~~~~~~~~ +------------- - ```qiskit_ibm_runtime.QiskitRuntimeService.jobs()`` `__ now has a ``backend_name`` parameter that can be used to only return @@ -1024,7 +1024,7 @@ Upgrade Notes .. _deprecation-notes-9: Deprecation Notes -~~~~~~~~~~~~~~~~~ +----------------- - ``backend`` is no longer a supported option when using ```qiskit_ibm_runtime.Session.run()`` `__. @@ -1035,7 +1035,7 @@ Deprecation Notes .. _bug-fixes-17: Bug Fixes -~~~~~~~~~ +--------- - ``ECRGate`` and ``CZGate`` mappings have been added to the ``Target`` constructor to fix a tranpile bug. @@ -1043,7 +1043,7 @@ Bug Fixes .. _other-notes-2: 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. @@ -1056,7 +1056,7 @@ Other Notes .. _upgrade-notes-13: Upgrade Notes -~~~~~~~~~~~~~ +------------- - Changed the default values for ``optimization_level`` and for ``resilience_level`` in ``qiskit_ibm_runtime.Options``. If their @@ -1072,7 +1072,7 @@ Upgrade Notes .. _bug-fixes-18: Bug Fixes -~~~~~~~~~ +--------- - Fixed a bug where jobs that did not run before a session closes are not actually run as a part of that session. Jobs should run as a part @@ -1090,7 +1090,7 @@ Bug Fixes .. _new-features-16: New Features -~~~~~~~~~~~~ +------------ - Python 3.10 is now supported. @@ -1108,7 +1108,7 @@ New Features .. _upgrade-notes-14: Upgrade Notes -~~~~~~~~~~~~~ +------------- - The default ``resilience_level`` option for has been changed from 0 to 1. In addition, the default ``optimization_level`` option has been @@ -1117,7 +1117,7 @@ Upgrade Notes .. _deprecation-notes-10: Deprecation Notes -~~~~~~~~~~~~~~~~~ +----------------- - The transpilation options ``translation_method`` and ``timing_constraints`` have been deprecated. @@ -1125,7 +1125,7 @@ Deprecation Notes .. _bug-fixes-19: Bug Fixes -~~~~~~~~~ +--------- - If a ```qiskit_ibm_runtime.IBMBackend`` `__ @@ -1143,7 +1143,7 @@ Bug Fixes .. _new-features-17: New Features -~~~~~~~~~~~~ +------------ - ``qiskit_ibm_runtime.Options`` class now accepts arbitrary keyword arguments. This allows users to specify new options to the primitive @@ -1164,7 +1164,7 @@ New Features .. _upgrade-notes-15: Upgrade Notes -~~~~~~~~~~~~~ +------------- - This version of qiskit-ibm-runtime requires qiskit-terra version 0.22 or higher. The ``requirements.txt`` file has been updated @@ -1173,7 +1173,7 @@ Upgrade Notes .. _deprecation-notes-11: Deprecation Notes -~~~~~~~~~~~~~~~~~ +----------------- - Qiskit Runtime programs ``torch-train``, ``torch-infer``, ``sample-expval``, ``sample-program``, and @@ -1191,17 +1191,17 @@ Deprecation Notes .. _bug-fixes-20: Bug Fixes -~~~~~~~~~ +--------- - Fixes the missing section on retrieving jobs in the how-to guide. 0.7.0rc2 --------- +======== .. _upgrade-notes-16: Upgrade Notes -~~~~~~~~~~~~~ +------------- - Added a validation check to ```run()`` `__. It raises an error if @@ -1219,7 +1219,7 @@ Upgrade Notes .. _deprecation-notes-12: Deprecation Notes -~~~~~~~~~~~~~~~~~ +----------------- - ``job_id`` and ``backend`` attributes of ```qiskit_ibm_runtime.RuntimeJob`` `__ @@ -1234,12 +1234,12 @@ Deprecation Notes is deprecated and replaced by ``backend``. 0.7.0rc1 --------- +======== .. _prelude-1: Prelude -~~~~~~~ +------- There are significant changes to how primitives are invoked within a session, and the options available to the primitives. Please review the @@ -1248,7 +1248,7 @@ rest of the release notes and the tutorials for full information. .. _new-features-18: New Features -~~~~~~~~~~~~ +------------ - You can now invoke the same or different primitive programs multiple times within a session. For example: @@ -1320,7 +1320,7 @@ New Features .. _upgrade-notes-17: Upgrade Notes -~~~~~~~~~~~~~ +------------- - Raise ``RuntimeJobMaxTimeoutError`` when a job runs for too long so that it can be handled appropriately by programs. @@ -1355,7 +1355,7 @@ Upgrade Notes .. _deprecation-notes-13: Deprecation Notes -~~~~~~~~~~~~~~~~~ +----------------- - Invoking ```qiskit_ibm_runtime.Sampler`` `__ and @@ -1390,7 +1390,7 @@ Deprecation Notes .. _bug-fixes-21: Bug Fixes -~~~~~~~~~ +--------- - Fixes issue `#428 `__ by @@ -1406,7 +1406,7 @@ Bug Fixes .. _upgrade-notes-18: Upgrade Notes -~~~~~~~~~~~~~ +------------- - When migrating from ``qiskit-ibmq-provider`` your ``ibm_quantum`` channel credentials will get automatically copied over from the @@ -1440,7 +1440,7 @@ Upgrade Notes .. _prelude-2: Prelude -~~~~~~~ +------- This release leverages the API and Queue enhancements to become more runtime session aware. As a result when using the primitives (sampler @@ -1451,7 +1451,7 @@ started. .. _new-features-19: New Features -~~~~~~~~~~~~ +------------ - The ``service`` object which is an instance of ```QiskitRuntimeService`` `__ @@ -1469,7 +1469,7 @@ New Features .. _upgrade-notes-19: Upgrade Notes -~~~~~~~~~~~~~ +------------- - ```jobs()`` `__ has two new parameters, ``created_after`` and ``created_before``. These can @@ -1563,7 +1563,7 @@ Upgrade Notes .. _upgrade-notes-20: Upgrade Notes -~~~~~~~~~~~~~ +------------- - ``IBMRuntimeService`` has been renamed to ``QiskitRuntimeSerice``. ``IBMRuntimeService`` class is now deprecated and will be removed in @@ -1655,7 +1655,7 @@ Upgrade Notes .. _deprecation-notes-14: Deprecation Notes -~~~~~~~~~~~~~~~~~ +----------------- - ``IBMRuntimeService``, ``IBMEstimator`` and ``IBMSampler`` classes have been deprecated and will be removed in a future release. Use @@ -1672,7 +1672,7 @@ Deprecation Notes .. _upgrade-notes-21: Upgrade Notes -~~~~~~~~~~~~~ +------------- - A new parameter ``channel`` has now been added to ``qiskit_ibm_runtime.IBMRuntimeService`` class and also to methods @@ -1686,7 +1686,7 @@ Upgrade Notes .. _deprecation-notes-15: Deprecation Notes -~~~~~~~~~~~~~~~~~ +----------------- - The ``auth`` parameter to ``qiskit_ibm_runtime.IBMRuntimeService`` class and also to methods like ``save_account()``, @@ -1697,7 +1697,7 @@ Deprecation Notes .. _bug-fixes-22: Bug Fixes -~~~~~~~~~ +--------- - Fixed `#291 `__ @@ -1712,7 +1712,7 @@ Bug Fixes .. _new-features-20: New Features -~~~~~~~~~~~~ +------------ - ``qiskit_ibm_runtime.IBMEstimator`` and ``qiskit_ibm_runtime.IBMSampler`` classes now allow you to easily @@ -1723,7 +1723,7 @@ New Features .. _bug-fixes-23: Bug Fixes -~~~~~~~~~ +--------- - Fixed a bug where ```qiskit_ibm_runtime.RuntimeJob.wait_for_final_state()`` `__ @@ -1739,7 +1739,7 @@ Bug Fixes .. _prelude-3: Prelude -~~~~~~~ +------- qiskit-ibm-runtime is a new Python API client for accessing the quantum programs, systems and simulators at IBM Quantum via the Qiskit Runtime @@ -1757,7 +1757,7 @@ thereby you have to install it separately using .. _new-features-21: New Features -~~~~~~~~~~~~ +------------ - ``qiskit_ibm_runtime.IBMRuntimeService.least_busy()`` will now allow you find the least busy backend. @@ -1765,7 +1765,7 @@ New Features .. _upgrade-notes-22: Upgrade Notes -~~~~~~~~~~~~~ +------------- - qiskit-ibm-runtime package no longer uses the $HOME/.qiskit/qiskitrc file used by qiskit-ibmq-provider to save credentials. Credentials @@ -1864,12 +1864,12 @@ Upgrade Notes .. _rc2-1: 0.1.0rc2 --------- +======== .. _new-features-22: New Features -~~~~~~~~~~~~ +------------ - For convenience, you can now set the ``IBM Cloud service name`` as a value for the account ``instance`` parameter. If you choose to set @@ -1881,7 +1881,7 @@ New Features .. _bug-fixes-24: Bug Fixes -~~~~~~~~~ +--------- - ```qiskit_ibm_runtime.utils.json.RuntimeEncoder`` `__ and @@ -1898,12 +1898,12 @@ Bug Fixes .. _rc1-1: 0.1.0rc1 --------- +======== .. _new-features-23: New Features -~~~~~~~~~~~~ +------------ - You can now pass ``instance`` parameter in the hub/group/project format to ``qiskit_ibm_runtime.IBMRuntimeService.jobs()`` to filter @@ -1917,7 +1917,7 @@ New Features .. _upgrade-notes-23: Upgrade Notes -~~~~~~~~~~~~~ +------------- - In order to be consistent with other properties in ```qiskit_ibm_runtime.RuntimeJob`` `__ @@ -1935,7 +1935,7 @@ Upgrade Notes .. _bug-fixes-25: Bug Fixes -~~~~~~~~~ +--------- - Fixed an issue with JSON encoding and decoding when using ``ParameterExpression``\ s in conjunction with Qiskit Terra 0.19.1 From 356f82cac05d8b979ffa626abee4d712937f1fe5 Mon Sep 17 00:00:00 2001 From: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com> Date: Mon, 11 Mar 2024 10:28:30 -0400 Subject: [PATCH 05/18] Remove span sections --- CHANGES.rst | 249 ---------------------------------------------------- 1 file changed, 249 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index f3b6fd64f..f9fa37c3c 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -13,8 +13,6 @@ Bug Fixes - Fixed a bug where ``SamplerV1`` and ``EstimatorV1`` could not be imported because of an issue with how the aliases were defined. -.. _section-1: - 0.21.0 ====== @@ -40,8 +38,6 @@ Deprecation Notes It will also be a required parameter for ``qiskit_ibm_runtime.Session`` and ``qiskit_ibm_runtime.Batch``. -.. _bug-fixes-1: - Bug Fixes --------- @@ -55,8 +51,6 @@ Bug Fixes - Fixes the check for ISA circuits to allow pulse gates and circuits that don’t have layout. -.. _section-2: - 0.20.0 ====== @@ -96,8 +90,6 @@ New Features supported after March 31, 2024. Please update your ``qiskit-ibm-runtime`` version as soon as possible before this date. -.. _deprecation-notes-1: - Deprecation Notes ----------------- @@ -108,8 +100,6 @@ Deprecation Notes (`run/primitives-examples `__) to see this coupled with operator transformations. -.. _bug-fixes-2: - Bug Fixes --------- @@ -124,13 +114,9 @@ Other Notes - The ``InstructionDurations`` durations input is now also required for the constructor of ``PadDelay``. -.. _section-3: - 0.19.1 ====== -.. _upgrade-notes-1: - Upgrade Notes ------------- @@ -139,8 +125,6 @@ Upgrade Notes Also add ``DynamicCircuitInstructions.from_target()`` to use a ``Target`` object instead. -.. _bug-fixes-3: - Bug Fixes --------- @@ -152,13 +136,9 @@ Bug Fixes ``True`` but was not actually the boolean ``True`` the generated QPY payload would be corrupt. -.. _section-4: - 0.19.0 ====== -.. _upgrade-notes-2: - Upgrade Notes ------------- @@ -168,13 +148,9 @@ Upgrade Notes - qiskit-ibm-runtime is now compatible with Qiskit versions >= 0.45, including 1.0.0. -.. _section-5: - 0.18.0 ====== -.. _new-features-1: - New Features ------------ @@ -188,16 +164,12 @@ New Features information from the backend. This feature was transferred from ``qiskit_ibm_provider``. -.. _deprecation-notes-2: - Deprecation Notes ----------------- - ```runtime()`` `__ has been deprecated. -.. _bug-fixes-4: - Bug Fixes --------- @@ -207,13 +179,9 @@ Bug Fixes they are only necessary in ```qiskit_ibm_runtime.RuntimeJob.inputs()`` `__. -.. _section-6: - 0.17.0 ====== -.. _new-features-2: - New Features ------------ @@ -226,8 +194,6 @@ New Features field, activated_at, which is the timestamp of when the session was changed to active. -.. _bug-fixes-5: - Bug Fixes --------- @@ -249,8 +215,6 @@ Bug Fixes - Fixed an issue where retrieving the coupling_map of some backends would result in a NameError. -.. _section-7: - 0.16.0 ====== @@ -260,22 +224,16 @@ Prelude Sessions are now thread-safe and allow for multiple concurrent interactive experiments. -.. _new-features-3: - New Features ------------ - Sessions are now thread-safe. -.. _upgrade-notes-3: - Upgrade Notes ------------- - Methods related to using custom programs are removed. -.. _bug-fixes-6: - Bug Fixes --------- @@ -283,13 +241,9 @@ Bug Fixes ``q-ctrl`` is not passed in as the ``channel_strategy``, an error will be raised. -.. _section-8: - 0.15.1 ====== -.. _bug-fixes-7: - Bug Fixes --------- @@ -297,13 +251,9 @@ Bug Fixes ```from_id()`` `__ because it was a breaking change without proper deprecation. -.. _section-9: - 0.15.0 ====== -.. _new-features-4: - New Features ------------ @@ -353,16 +303,12 @@ New Features - Removed storing result in ``RuntimeJob._results``. Instead retrieve results every time the ``results()`` method is called. -.. _deprecation-notes-3: - Deprecation Notes ----------------- - Usage of the ``~/.qiskit/qiskitrc.json`` file for account information has been deprecated. Use ``~/.qiskit/qiskit-ibm.json`` instead. -.. _bug-fixes-8: - Bug Fixes --------- @@ -383,21 +329,15 @@ Bug Fixes ```Sampler`` `__ have been completely removed. -.. _other-notes-1: - Other Notes ----------- - Added migration code for running ``backend.run`` in qiskit_ibm_runtime instead of in qiskit_ibm_provider. -.. _section-10: - 0.14.0 ====== -.. _new-features-5: - New Features ------------ @@ -409,8 +349,6 @@ New Features - Arbitrary keys and values are no longer allowed in ``Options``. -.. _deprecation-notes-4: - Deprecation Notes ----------------- @@ -420,13 +358,9 @@ Deprecation Notes Serverless. Refer to the migration guide for instructions: https://qiskit-extensions.github.io/quantum-serverless/migration/migration_from_qiskit_runtime_programs.html -.. _section-11: - 0.13.0 ====== -.. _new-features-6: - New Features ------------ @@ -445,8 +379,6 @@ New Features default instance but in a different instance the user also has access to, that instance will also be logged. -.. _upgrade-notes-4: - Upgrade Notes ------------- @@ -463,8 +395,6 @@ Upgrade Notes ```qiskit_ibm_runtime.Session.cancel()`` `__, where all queued jobs within a session are cancelled and terminated. -.. _bug-fixes-9: - Bug Fixes --------- @@ -476,13 +406,9 @@ Bug Fixes where the datetime parameter was not being used to retrieve backend properties from the specified date. -.. _section-12: - 0.12.2 ====== -.. _new-features-7: - New Features ------------ @@ -502,21 +428,15 @@ New Features ``ibm-q/open/main``. If the job does end up exceeding the quota, it will be canceled. -.. _upgrade-notes-5: - Upgrade Notes ------------- - Job error messages now include the error code. Error codes can be found in `errors `__. -.. _section-13: - 0.12.1 ====== -.. _new-features-8: - New Features ------------ @@ -538,8 +458,6 @@ New Features rectifies incorrect input options and safeguards users against inadvertently disabling Q-CTRL’s performance enhancements. -.. _bug-fixes-10: - Bug Fixes --------- @@ -565,13 +483,9 @@ Bug Fixes exceeds this time limit, it is forcibly cancelled. Simulator jobs continue to use wall clock time. -.. _section-14: - 0.12.0 ====== -.. _new-features-9: - New Features ------------ @@ -604,8 +518,6 @@ New Features If ``channel_strategy`` is set to ``q-ctrl``, all jobs within the service will use the Q-CTRL error mitigation strategy. -.. _upgrade-notes-6: - Upgrade Notes ------------- @@ -613,7 +525,6 @@ Upgrade Notes stored in runtime jobs. They can still be retrieved with ```qiskit_ibm_runtime.RuntimeJob.inputs()`` `__. -.. _deprecation-notes-5: Deprecation Notes ----------------- @@ -623,8 +534,6 @@ Deprecation Notes supported. Refer to https://github.com/qiskit-community/prototype-zne for global folding amplification. -.. _bug-fixes-11: - Bug Fixes --------- @@ -645,13 +554,9 @@ Bug Fixes ``backend.max_circuits``. This limit isn’t actually necessary for primtives run from within a session. -.. _section-15: - 0.11.3 ====== -.. _new-features-10: - New Features ------------ @@ -678,13 +583,9 @@ New Features If ``instance`` is not recognized as one of the provider instances, an exception will be raised. Previously, we only issued a warning. -.. _section-16: - 0.11.2 ====== -.. _new-features-11: - New Features ------------ @@ -708,8 +609,6 @@ New Features options.simulator.set_backend(fake_backend) options.simulator.seed_simulator = 42 -.. _bug-fixes-12: - Bug Fixes --------- @@ -719,13 +618,9 @@ Bug Fixes - Fixed an issue where circuit metadata was not being serialized correctly resulting in a type error. -.. _section-17: - 0.11.1 ====== -.. _deprecation-notes-6: - Deprecation Notes ----------------- @@ -733,13 +628,9 @@ Deprecation Notes ```qiskit_ibm_runtime.RuntimeJob.metrics()`` `__, the bss field will be replaced by usage. -.. _section-18: - 0.11.0 ====== -.. _new-features-12: - New Features ------------ @@ -765,8 +656,6 @@ New Features options.simulator = {"coupling_map": CouplingMap.from_line(10)} -.. _upgrade-notes-7: - Upgrade Notes ------------- @@ -784,8 +673,6 @@ Upgrade Notes ```qiskit_ibm_runtime.Estimator`` `__ constructors is now ``backend`` instead of ``session``. -.. _deprecation-notes-7: - Deprecation Notes ----------------- @@ -796,20 +683,14 @@ Deprecation Notes has been deprecated. Please use the ``backend`` parameter instead. You can continue to pass a session using the ``session`` parameter. -.. _section-19: - 0.10.0 ====== -.. _new-features-13: - New Features ------------ - Python 3.11 is now supported. -.. _upgrade-notes-8: - Upgrade Notes ------------- @@ -817,8 +698,6 @@ Upgrade Notes ‘max_execution_time’. Previously, this validation was done on the server side. -.. _bug-fixes-13: - Bug Fixes --------- @@ -830,29 +709,21 @@ Bug Fixes has a missing configuration. The backend without a configuration will not be returned. -.. _section-20: - 0.9.4 ----- -.. _new-features-14: - New Features ------------ - Added methods to validate input options to ``transpilation`` and ``environment`` options. -.. _upgrade-notes-9: - Upgrade Notes ------------- - When constructing a backend ``qiskit.transpiler.Target``, faulty qubits and gates from the backend configuration will be filtered out. -.. _deprecation-notes-8: - Deprecation Notes ----------------- @@ -877,8 +748,6 @@ Deprecation Notes ``backend_name`` is no longer supported. Please use ``backend`` instead. -.. _bug-fixes-14: - Bug Fixes --------- @@ -886,13 +755,9 @@ Bug Fixes ``noise_model`` or ``seed_simulator`` options would result in a key error. -.. _section-21: - 0.9.3 ----- -.. _upgrade-notes-10: - Upgrade Notes ------------- @@ -912,8 +777,6 @@ Upgrade Notes and ```backends()`` `__. -.. _bug-fixes-15: - Bug Fixes --------- @@ -923,13 +786,9 @@ Bug Fixes This was fixed, so now inputs are handled correctly, like other option types. -.. _section-22: - 0.9.2 ----- -.. _new-features-15: - New Features ------------ @@ -947,8 +806,6 @@ New Features difference is that the new method enables the user to pass a datetime parameter, to retrieve historical data from the backend. -.. _upgrade-notes-11: - Upgrade Notes ------------- @@ -970,8 +827,6 @@ Upgrade Notes - Added a user warning when the user passes an option that is not supported in Options. -.. _bug-fixes-16: - Bug Fixes --------- @@ -993,13 +848,9 @@ Bug Fixes decomposed circuit was not in the correct basis set of the backend anymore. -.. _section-23: - 0.9.1 ----- -.. _upgrade-notes-12: - Upgrade Notes ------------- @@ -1021,8 +872,6 @@ Upgrade Notes filename="~/my_account_file.json", name = "my_account",) -.. _deprecation-notes-9: - Deprecation Notes ----------------- @@ -1032,29 +881,21 @@ Deprecation Notes exception will be raised if a backend passed in through options does not match the original session backend in an active session. -.. _bug-fixes-17: - Bug Fixes --------- - ``ECRGate`` and ``CZGate`` mappings have been added to the ``Target`` constructor to fix a tranpile bug. -.. _other-notes-2: - 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. -.. _section-24: - 0.9.0 ----- -.. _upgrade-notes-13: - Upgrade Notes ------------- @@ -1069,8 +910,6 @@ Upgrade Notes ```tags()`` `__ were added for an easy way to return the session_id and job_tags of a job. -.. _bug-fixes-18: - Bug Fixes --------- @@ -1082,13 +921,9 @@ Bug Fixes - Fixes the issue wherein submitting a large job fails due to write operation timeout. -.. _section-25: - 0.8.0 ----- -.. _new-features-16: - New Features ------------ @@ -1105,8 +940,6 @@ New Features method. If a pair is specified, the first one is used to decode interim results and the second the final results. -.. _upgrade-notes-14: - Upgrade Notes ------------- @@ -1114,16 +947,12 @@ Upgrade Notes to 1. In addition, the default ``optimization_level`` option has been changed from 1 to 3. -.. _deprecation-notes-10: - Deprecation Notes ----------------- - The transpilation options ``translation_method`` and ``timing_constraints`` have been deprecated. -.. _bug-fixes-19: - Bug Fixes --------- @@ -1135,13 +964,9 @@ Bug Fixes instance is used for the session instead of the default account service. -.. _section-26: - 0.7.0 ----- -.. _new-features-17: - New Features ------------ @@ -1161,8 +986,6 @@ New Features ```qiskit_ibm_runtime.RuntimeOptions`` `__ has also been updated to include these two parameters. -.. _upgrade-notes-15: - Upgrade Notes ------------- @@ -1170,8 +993,6 @@ Upgrade Notes or higher. The ``requirements.txt`` file has been updated accordingly. -.. _deprecation-notes-11: - Deprecation Notes ----------------- @@ -1188,8 +1009,6 @@ Deprecation Notes ```qiskit_ibm_runtime.QiskitRuntimeService`` `__ has been deprecated. Please pass them inside ``options``. -.. _bug-fixes-20: - Bug Fixes --------- @@ -1198,8 +1017,6 @@ Bug Fixes 0.7.0rc2 ======== -.. _upgrade-notes-16: - Upgrade Notes ------------- @@ -1216,8 +1033,6 @@ Upgrade Notes - The ```RuntimeJob`` `__ class is now a subclass of ``qiskit.providers.Job``. -.. _deprecation-notes-12: - Deprecation Notes ----------------- @@ -1236,8 +1051,6 @@ Deprecation Notes 0.7.0rc1 ======== -.. _prelude-1: - Prelude ------- @@ -1245,8 +1058,6 @@ There are significant changes to how primitives are invoked within a session, and the options available to the primitives. Please review the rest of the release notes and the tutorials for full information. -.. _new-features-18: - New Features ------------ @@ -1317,8 +1128,6 @@ New Features service does not have to be instantiated manually and can instead be created directly from environment variables. -.. _upgrade-notes-17: - Upgrade Notes ------------- @@ -1352,8 +1161,6 @@ Upgrade Notes Instead, programs will only be cached up to the ``limit`` given, which has a default value of 20. -.. _deprecation-notes-13: - Deprecation Notes ----------------- @@ -1387,8 +1194,6 @@ Deprecation Notes # This can be done using auto-complete. options.transpilation.skip_transpilation = True -.. _bug-fixes-21: - Bug Fixes --------- @@ -1398,13 +1203,9 @@ Bug Fixes since latest version of ``qiskit-ibm-runtime`` is not compatible with ``0.20.0`` or earlier of ``qiskit-terra``. -.. _section-27: - 0.6.0 ----- -.. _upgrade-notes-18: - Upgrade Notes ------------- @@ -1432,13 +1233,9 @@ Upgrade Notes ```QiskitRuntimeService`` `__ class going forward. -.. _section-28: - 0.5.0 ----- -.. _prelude-2: - Prelude ------- @@ -1448,8 +1245,6 @@ and estimator), runtime jobs in the same session will skip to the front of the queue, thereby speeding up the runtime session, once it has started. -.. _new-features-19: - New Features ------------ @@ -1466,8 +1261,6 @@ New Features backend = service.get_backend("ibmq_qasm_simulator") backend.service # QiskitRuntimeService instance used to instantiate the backend -.. _upgrade-notes-19: - Upgrade Notes ------------- @@ -1555,13 +1348,9 @@ Upgrade Notes the t1, t2 and frequency already exposed by the ``QubitProperties`` class. -.. _section-29: - 0.4.0 ----- -.. _upgrade-notes-20: - Upgrade Notes ------------- @@ -1652,8 +1441,6 @@ Upgrade Notes ) as sampler: result = sampler(circuit_indices=[0], ...) -.. _deprecation-notes-14: - Deprecation Notes ----------------- @@ -1664,13 +1451,9 @@ Deprecation Notes ```Sampler`` `__ classes instead. See upgrade notes section for a detailed explanation with examples. -.. _section-30: - 0.3.0 ----- -.. _upgrade-notes-21: - Upgrade Notes ------------- @@ -1683,8 +1466,6 @@ Upgrade Notes ``channel`` replaces the ``auth`` parameter which has now been deprecated. -.. _deprecation-notes-15: - Deprecation Notes ----------------- @@ -1694,8 +1475,6 @@ Deprecation Notes and will be removed in a future release. Please use the new ``channel`` parameter instead. -.. _bug-fixes-22: - Bug Fixes --------- @@ -1704,13 +1483,9 @@ Bug Fixes where passing a single ``QuantumCircuit`` to sampler or estimator primitives was throwing an error. -.. _section-31: - 0.2.0 ----- -.. _new-features-20: - New Features ------------ @@ -1720,8 +1495,6 @@ New Features Refer to the examples in the respective class doc strings to learn more about how to use them. -.. _bug-fixes-23: - Bug Fixes --------- @@ -1731,13 +1504,9 @@ Bug Fixes ```qiskit_ibm_runtime.RuntimeJob.status()`` `__ was called beforehand. -.. _section-32: - 0.1.0 ----- -.. _prelude-3: - Prelude ------- @@ -1754,16 +1523,12 @@ qiskit-ibm-runtime is not included as part of Qiskit meta package and thereby you have to install it separately using ``pip install qiskit-ibm-runtime``. -.. _new-features-21: - New Features ------------ - ``qiskit_ibm_runtime.IBMRuntimeService.least_busy()`` will now allow you find the least busy backend. -.. _upgrade-notes-22: - Upgrade Notes ------------- @@ -1861,13 +1626,9 @@ Upgrade Notes ``qiskit_ibm_runtime.IBMRuntimeService.run()`` or ```qiskit_ibm_runtime.RuntimeJob.stream_results()`` `__. -.. _rc2-1: - 0.1.0rc2 ======== -.. _new-features-22: - New Features ------------ @@ -1878,8 +1639,6 @@ New Features because the required ``CRN`` value is internally resolved via IBM Cloud APIs. -.. _bug-fixes-24: - Bug Fixes --------- @@ -1895,13 +1654,9 @@ Bug Fixes ```qiskit_ibm_runtime.utils.json.RuntimeDecoder`` `__ have been updated to handle these ndarrays. -.. _rc1-1: - 0.1.0rc1 ======== -.. _new-features-23: - New Features ------------ @@ -1914,8 +1669,6 @@ New Features method to retrieve runtime program interim results. Note that interim results will only be available for up to two days. -.. _upgrade-notes-23: - Upgrade Notes ------------- @@ -1932,8 +1685,6 @@ Upgrade Notes ``qiskit_ibm_runtime.IBMRuntimeService.pprint_programs()``, ``backend_requirements`` will now be listed. -.. _bug-fixes-25: - Bug Fixes --------- From 27926c241facc416b3e1d75631da5cf5e9e4a3c8 Mon Sep 17 00:00:00 2001 From: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com> Date: Mon, 11 Mar 2024 10:34:01 -0400 Subject: [PATCH 06/18] Change manual links to absolute links --- CHANGES.rst | 240 ++++++++++++++++++++++++++-------------------------- 1 file changed, 120 insertions(+), 120 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index f9fa37c3c..1ba9363cc 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -22,9 +22,9 @@ Upgrade Notes - Circuits that do not match the target hardware definition are no longer supported by Qiskit Runtime primitives, unless ``channel_strategy="q-ctrl"`` is used. See the transpilation - documentation (`transpile `__) for instructions to + documentation (`transpile `__) for instructions to transform circuits and the primitive examples - (`run/primitives-examples `__) to see this + (`run/primitives-examples `__) to see this coupled with operator transformations. Deprecation Notes @@ -58,7 +58,7 @@ New Features ------------ - Add ``dd_barrier`` optional input to - ```PadDynamicalDecoupling`` `__ + ```PadDynamicalDecoupling`` `__ constructor to identify portions of the circuit to apply dynamical decoupling (dd) on selectively. If this string is contained in the label of a barrier in the circuit, dd is applied on the delays ending @@ -68,9 +68,9 @@ New Features - Sessions will now be started with a new ``/sessions`` endpoint that allows for different execution modes. Batch mode is now supported - through ``Batch``, and ```Session`` `__ + through ``Batch``, and ```Session`` `__ will work the same as way as before. Please see - `run/sessions `__ for more information. + `run/sessions `__ for more information. Note that ``Session`` and ``Batch`` created from ``qiskit-ibm-runtime`` prior to this release will no longer be @@ -82,7 +82,7 @@ New Features a session will not actually be created. There will be no session ID. - Sessions started with - ```qiskit_ibm_runtime.IBMBackend.open_session()`` `__ + ```qiskit_ibm_runtime.IBMBackend.open_session()`` `__ will use the new ``/sessions`` endpoint. The sessions functionality will not change but note that @@ -95,9 +95,9 @@ Deprecation Notes - Circuits that do not match the target hardware definition will no longer be supported after March 1, 2024. See the transpilation - documentation (`transpile `__) for instructions to + documentation (`transpile `__) for instructions to transform circuits and the primitive examples - (`run/primitives-examples `__) to see this + (`run/primitives-examples `__) to see this coupled with operator transformations. Bug Fixes @@ -155,7 +155,7 @@ New Features ------------ - Added a new parameter, dynamic_circuits to - ```backends()`` `__ + ```backends()`` `__ to allow filtering of backends that support dynamic circuits. - Added ``max_time`` parameter to ``IBMBackend.open_session()``. @@ -167,17 +167,17 @@ New Features Deprecation Notes ----------------- -- ```runtime()`` `__ +- ```runtime()`` `__ has been deprecated. Bug Fixes --------- -- Many methods in ```RuntimeJob`` `__ +- Many methods in ```RuntimeJob`` `__ require retrieving the job data from the API with ``job_get()``. This API call will now exclude the ``params`` field by default because they are only necessary in - ```qiskit_ibm_runtime.RuntimeJob.inputs()`` `__. + ```qiskit_ibm_runtime.RuntimeJob.inputs()`` `__. 0.17.0 ====== @@ -186,11 +186,11 @@ New Features ------------ - Added a new method - ```properties()`` `__ which + ```properties()`` `__ which returns the backend properties of the job at the time the job was run. -- ```details()`` `__ has a new +- ```details()`` `__ has a new field, activated_at, which is the timestamp of when the session was changed to active. @@ -248,7 +248,7 @@ Bug Fixes --------- - Reverting 0.15.0 changes to - ```from_id()`` `__ because it was + ```from_id()`` `__ because it was a breaking change without proper deprecation. 0.15.0 @@ -320,13 +320,13 @@ Bug Fixes being used since not all features are supported there. - The ``backend`` parameter in - ```from_id()`` `__ is being + ```from_id()`` `__ is being deprecated because sessions do not support multiple backends. Additionally, the ``service`` parameter is no longer optional. - The ``circuit_indices`` and ``observable_indices`` run inputs for - ```Estimator`` `__ and - ```Sampler`` `__ have been completely + ```Estimator`` `__ and + ```Sampler`` `__ have been completely removed. Other Notes @@ -343,7 +343,7 @@ New Features - There is a new class, ``qiskit_ibm_runtime.Batch`` that currently works the same way as - ```qiskit_ibm_runtime.Session`` `__ but + ```qiskit_ibm_runtime.Session`` `__ but will later be updated to better support submitting multiple jobs at once. @@ -365,12 +365,12 @@ New Features ------------ - Added a new method, - ```details()`` `__ that returns + ```details()`` `__ that returns information about a session, including: maximum session time, active time remaining, the current state, and whether or not the session is accepting jobs. - Also added ```status()`` `__, + Also added ```status()`` `__, which returns the current status of the session. - At initialization, if not passed in directly, the default @@ -382,7 +382,7 @@ New Features Upgrade Notes ------------- -- ```qiskit_ibm_runtime.Session.close()`` `__ +- ```qiskit_ibm_runtime.Session.close()`` `__ has been updated to mark a ``Session`` as no longer accepting new jobs. The session won’t accept more jobs but it will continue to run any queued jobs until they are done or the max time expires. This @@ -392,7 +392,7 @@ Upgrade Notes jobs rather than wait for the interactive timeout. The old close method behavior has been moved to a new method, - ```qiskit_ibm_runtime.Session.cancel()`` `__, + ```qiskit_ibm_runtime.Session.cancel()`` `__, where all queued jobs within a session are cancelled and terminated. Bug Fixes @@ -402,7 +402,7 @@ Bug Fixes serialized correctly. - Fixed a bug in - ```target_history()`` `__ + ```target_history()`` `__ where the datetime parameter was not being used to retrieve backend properties from the specified date. @@ -432,7 +432,7 @@ Upgrade Notes ------------- - Job error messages now include the error code. Error codes can be - found in `errors `__. + found in `errors `__. 0.12.1 ====== @@ -447,7 +447,7 @@ New Features - Users can now pass in a value of ``default`` to the ``channel_strategy`` parameter in - ```qiskit_ibm_runtime.QiskitRuntimeService`` `__. + ```qiskit_ibm_runtime.QiskitRuntimeService`` `__. Now, if an account is configured with a certain channel strategy, the user can override it by passing in ``default``. @@ -462,12 +462,12 @@ Bug Fixes --------- - Retrieving backend properties with - ```properties()`` `__ now + ```properties()`` `__ now supports passing a ``datetime`` parameter to retrieve properties from a past date. - The ``noise_factors`` and ``extrapolator`` options in - ```qiskit_ibm_runtime.options.ResilienceOptions`` `__ + ```qiskit_ibm_runtime.options.ResilienceOptions`` `__ will now default to ``None`` unless ``resilience_level`` is set to 2. Only options relevant to the resilience level will be set, so when using ``resilience_level`` 2, ``noise_factors`` will still default to @@ -501,7 +501,7 @@ New Features sampler = Sampler(backend="ibmq_qasm_simulator") - Added a new method, - ```qiskit_ibm_runtime.QiskitRuntimeService.instances()`` `__ + ```qiskit_ibm_runtime.QiskitRuntimeService.instances()`` `__ that returns all instances(hub/group/project) the user is in. This is only for the ``ibm_quantum`` channel since the ``ibm_cloud`` channel does not have multiple instances. @@ -512,9 +512,9 @@ New Features - There is a new parameter, ``channel_strategy`` that can be set in the initialization of - ```qiskit_ibm_runtime.QiskitRuntimeService`` `__ + ```qiskit_ibm_runtime.QiskitRuntimeService`` `__ or saved in - ```qiskit_ibm_runtime.QiskitRuntimeService.save_account()`` `__. + ```qiskit_ibm_runtime.QiskitRuntimeService.save_account()`` `__. If ``channel_strategy`` is set to ``q-ctrl``, all jobs within the service will use the Q-CTRL error mitigation strategy. @@ -523,7 +523,7 @@ Upgrade Notes - Circuits and other input parameters will no longer be automatically stored in runtime jobs. They can still be retrieved with - ```qiskit_ibm_runtime.RuntimeJob.inputs()`` `__. + ```qiskit_ibm_runtime.RuntimeJob.inputs()`` `__. Deprecation Notes @@ -561,10 +561,10 @@ New Features ------------ - Added reason for failure when invoking the method - ```error_message()`` `__. + ```error_message()`` `__. - Added a new property, - ```usage_estimation()`` `__ + ```usage_estimation()`` `__ that returns the estimated system execution time, ``quantum_seconds``. System execution time represents the amount of time that the system is dedicated to processing your job. @@ -574,11 +574,11 @@ New Features backend. - There is a new method - ```update_tags()`` `__ + ```update_tags()`` `__ that can be used to update the ``job_tags`` of a job. - If ``instance`` is provided as parameter to - ```qiskit_ibm_runtime.QiskitRuntimeService`` `__, + ```qiskit_ibm_runtime.QiskitRuntimeService`` `__, then this is used as a filter in ``QiskitRuntimeService.backends()``. If ``instance`` is not recognized as one of the provider instances, an exception will be raised. Previously, we only issued a warning. @@ -593,7 +593,7 @@ New Features exception rather than returning None. - A new method, - ```qiskit_ibm_runtime.options.SimulatorOptions.set_backend()`` `__, + ```qiskit_ibm_runtime.options.SimulatorOptions.set_backend()`` `__, allows users to more easily set simulator options for a backend. .. code:: python @@ -625,7 +625,7 @@ Deprecation Notes ----------------- - In - ```qiskit_ibm_runtime.RuntimeJob.metrics()`` `__, + ```qiskit_ibm_runtime.RuntimeJob.metrics()`` `__, the bss field will be replaced by usage. 0.11.0 @@ -638,7 +638,7 @@ New Features ``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()`` `__. + ```qiskit_ibm_runtime.RuntimeJob.inputs()`` `__. - Added warning when the backend is not active in QiskitRuntimeService.run. @@ -661,16 +661,16 @@ 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`` `__ + ```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`` `__ + ```qiskit_ibm_runtime.Sampler`` `__ and + ```qiskit_ibm_runtime.Estimator`` `__ constructors is now ``backend`` instead of ``session``. Deprecation Notes @@ -678,8 +678,8 @@ 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`` `__ + ```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. @@ -729,22 +729,22 @@ Deprecation Notes - The deprecated arguments ``circuits``, ``parameters``, ``service``, and ``skip_transpilation`` have been removed from - ```Sampler`` `__. + ```Sampler`` `__. Similarly, the deprecated arguments ``circuits``, ``observables``, ``parameters``, ``service``, and ``skip_transpilation`` have been - removed from ```Estimator`` `__. + removed from ```Estimator`` `__. In - ```QiskitRuntimeService`` `__, + ```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()`` `__. + ```qiskit_ibm_runtime.QiskitRuntimeService.run()`` `__. They can be passed in through - ```RuntimeOptions`` `__ instead. + ```RuntimeOptions`` `__ instead. - Within ```RuntimeOptions`` `__, + Within ```RuntimeOptions`` `__, ``backend_name`` is no longer supported. Please use ``backend`` instead. @@ -770,12 +770,12 @@ Upgrade Notes used to control validation. If set, validation will be skipped. - Backend configurations are no longer loaded when - ```QiskitRuntimeService`` `__ + ```QiskitRuntimeService`` `__ is initialized. Instead, the configuration is only loaded and cached during - ```get_backend()`` `__ + ```get_backend()`` `__ and - ```backends()`` `__. + ```backends()`` `__. Bug Fixes --------- @@ -794,15 +794,15 @@ New Features - Added a new argument called ``session_time`` to the program_run method and - ```qiskit_ibm_runtime.RuntimeOptions`` `__. + ```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()`` `__. + ```target_history()`` `__. This method is similar to - ```target()`` `__. The + ```target()`` `__. The difference is that the new method enables the user to pass a datetime parameter, to retrieve historical data from the backend. @@ -817,11 +817,11 @@ Upgrade Notes - If a job is returned without a backend, retrieving the backend through - ```qiskit_ibm_runtime.RuntimeJob.backend()`` `__ + ```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`` `__ + ```qiskit_ibm_runtime.RuntimeJob`` `__ have now been removed. - Added a user warning when the user passes an option that is not @@ -838,7 +838,7 @@ Bug Fixes ``None``, causing the job to fail. - If an instance is passed in to - ```qiskit_ibm_runtime.QiskitRuntimeService.get_backend()`` `__ + ```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. @@ -854,7 +854,7 @@ Bug Fixes Upgrade Notes ------------- -- ```qiskit_ibm_runtime.QiskitRuntimeService.jobs()`` `__ +- ```qiskit_ibm_runtime.QiskitRuntimeService.jobs()`` `__ now has a ``backend_name`` parameter that can be used to only return jobs run with the specified backend. @@ -876,7 +876,7 @@ Deprecation Notes ----------------- - ``backend`` is no longer a supported option when using - ```qiskit_ibm_runtime.Session.run()`` `__. + ```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. @@ -906,8 +906,8 @@ Upgrade Notes set to 1 and ``resilience_level`` is set to 0; Otherwise, they are be set to 3 and 1 respectively. -- ```session_id()`` `__ and - ```tags()`` `__ were added for an +- ```session_id()`` `__ and + ```tags()`` `__ were added for an easy way to return the session_id and job_tags of a job. Bug Fixes @@ -931,12 +931,12 @@ New Features - Advanced resilience options can now be set under ``options.resilience``. See - ```qiskit_ibm_runtime.options.ResilienceOptions`` `__ + ```qiskit_ibm_runtime.options.ResilienceOptions`` `__ for all available options. - You can now specify a pair of result decoders for the ``result_decoder`` parameter of - ```qiskit_ibm_runtime.QiskitRuntimeService.run()`` `__ + ```qiskit_ibm_runtime.QiskitRuntimeService.run()`` `__ method. If a pair is specified, the first one is used to decode interim results and the second the final results. @@ -957,9 +957,9 @@ Bug Fixes --------- - If a - ```qiskit_ibm_runtime.IBMBackend`` `__ + ```qiskit_ibm_runtime.IBMBackend`` `__ instance is passed to the - ```qiskit_ibm_runtime.Session`` `__ + ```qiskit_ibm_runtime.Session`` `__ constructor, the service used to initialize the ``IBMBackend`` instance is used for the session instead of the default account service. @@ -976,14 +976,14 @@ New Features keyword arguments, however, are not validated. - The - ```qiskit_ibm_runtime.options.EnvironmentOptions`` `__ + ```qiskit_ibm_runtime.options.EnvironmentOptions`` `__ class now accepts a ``callback`` parameter. This parameter can be used to stream the interim and final results of the primitives. - The ``qiskit_ibm_runtime.Options`` class now accepts ``max_execution_time`` as a first level option and ``job_tags`` as an option under ``environment``. - ```qiskit_ibm_runtime.RuntimeOptions`` `__ + ```qiskit_ibm_runtime.RuntimeOptions`` `__ has also been updated to include these two parameters. Upgrade Notes @@ -1001,12 +1001,12 @@ Deprecation Notes ``quantum_kernal_alignment`` have been deprecated due to low usage. - Passing ``instance`` parameter to the - ```qiskit_ibm_runtime.QiskitRuntimeService.run()`` `__ + ```qiskit_ibm_runtime.QiskitRuntimeService.run()`` `__ has been deprecated. Instead, you can pass the ``instance`` parameter inside the ``options`` parameter. - Passing ``job_tags`` and ``max_execution_time`` as parameters to - ```qiskit_ibm_runtime.QiskitRuntimeService`` `__ + ```qiskit_ibm_runtime.QiskitRuntimeService`` `__ has been deprecated. Please pass them inside ``options``. Bug Fixes @@ -1021,31 +1021,31 @@ Upgrade Notes ------------- - Added a validation check to - ```run()`` `__. It raises an error if + ```run()`` `__. It raises an error if there is no classical bit. -- ```Sampler`` `__ is updated to return +- ```Sampler`` `__ is updated to return ``SamplerResult`` with ``SamplerResult.quasi_dists`` as a list of ``QuasiDistrbution``. It used to set a list of ``dict`` as ``SamplerResult.quasi_dists``, but it did not follow the design of ``SamplerResult``. -- The ```RuntimeJob`` `__ class is now a +- The ```RuntimeJob`` `__ class is now a subclass of ``qiskit.providers.Job``. Deprecation Notes ----------------- - ``job_id`` and ``backend`` attributes of - ```qiskit_ibm_runtime.RuntimeJob`` `__ + ```qiskit_ibm_runtime.RuntimeJob`` `__ have been deprecated. Please use - ```qiskit_ibm_runtime.RuntimeJob.job_id()`` `__ + ```qiskit_ibm_runtime.RuntimeJob.job_id()`` `__ and - ```qiskit_ibm_runtime.RuntimeJob.backend()`` `__ + ```qiskit_ibm_runtime.RuntimeJob.backend()`` `__ methods instead. - The ``backend_name`` attribute in - ```qiskit_ibm_runtime.RuntimeOptions`` `__ + ```qiskit_ibm_runtime.RuntimeOptions`` `__ is deprecated and replaced by ``backend``. 0.7.0rc1 @@ -1115,14 +1115,14 @@ New Features # Or at job level. job = sampler.run(circuits=ReferenceCircuits.bell(), shots=4000) -- ```qiskit_ibm_runtime.RuntimeJob`` `__ +- ```qiskit_ibm_runtime.RuntimeJob`` `__ has a new method - ```metrics()`` `__. This + ```metrics()`` `__. This method returns the metrics of a job, which includes timestamp information. - The - ```qiskit_ibm_runtime.QiskitRuntimeService`` `__ + ```qiskit_ibm_runtime.QiskitRuntimeService`` `__ ``channel`` can now be stored as an environment variable, ``QISKIT_IBM_CHANNEL``. This way, when using Runtime Primitives, the service does not have to be instantiated manually and can instead be @@ -1137,7 +1137,7 @@ Upgrade Notes - The experimental parameters ``transpilation_settings``, ``resilience_settings``, and ``max_time`` to the :class:\`qiskit_ibm_runtime.Sampler and - ```qiskit_ibm_runtime.Estimator`` `__ + ```qiskit_ibm_runtime.Estimator`` `__ constructors have been removed. You can instead use the ``qiskit_ibm_runtime.Options`` class to specify the settings, and ``max_time`` can be specified when starting a new session. For @@ -1165,8 +1165,8 @@ Deprecation Notes ----------------- - Invoking - ```qiskit_ibm_runtime.Sampler`` `__ and - ```qiskit_ibm_runtime.Estimator`` `__ + ```qiskit_ibm_runtime.Sampler`` `__ and + ```qiskit_ibm_runtime.Estimator`` `__ as context managers has been deprecated. You can instead use the qiskit_ibm_runtime.Session class to create a new session and invoke one or more primitives within the session. @@ -1176,12 +1176,12 @@ Deprecation Notes the constructors of ``Sampler`` and ``Estimator`` has also been deprecated. The inputs can now be passed to the ``run()`` method of the primitive classes, and ``service`` can be passed to - ```qiskit_ibm_runtime.Session`` `__ when + ```qiskit_ibm_runtime.Session`` `__ when starting a new session. - Passing ``skip_transpilation`` to the :class:\`qiskit_ibm_runtime.Sampler and - ```qiskit_ibm_runtime.Estimator`` `__ + ```qiskit_ibm_runtime.Estimator`` `__ constructors has been deprecated. You can instead use the ``qiskit_ibm_runtime.Options`` class to specify this option. For example: @@ -1213,7 +1213,7 @@ Upgrade Notes channel credentials will get automatically copied over from the qiskitrc file and a qiskit-ibm.json file will get created if one doesn’t exist. You have to just initialize - ```QiskitRuntimeService`` `__ + ```QiskitRuntimeService`` `__ class without passing any parameters to use this copied over default ``ibm_quantum`` account. @@ -1225,12 +1225,12 @@ Upgrade Notes service = QiskitRuntimeService() - ``IBMEstimator`` class which was deprecated earlier is now removed. - Use ```Estimator`` `__ class going + Use ```Estimator`` `__ class going forward. - ``IBMRuntimeService`` class which was deprecated earlier is now removed. Use - ```QiskitRuntimeService`` `__ + ```QiskitRuntimeService`` `__ class going forward. 0.5.0 @@ -1249,9 +1249,9 @@ New Features ------------ - The ``service`` object which is an instance of - ```QiskitRuntimeService`` `__ + ```QiskitRuntimeService`` `__ class can now be accessed from - ```IBMBackend`` `__ class using the + ```IBMBackend`` `__ class using the ``service`` property. Ex: @@ -1264,7 +1264,7 @@ New Features Upgrade Notes ------------- -- ```jobs()`` `__ has two +- ```jobs()`` `__ has two new parameters, ``created_after`` and ``created_before``. These can be used to filter jobs by creation date in local time. @@ -1311,38 +1311,38 @@ Upgrade Notes - The ``session_id``, which is the Job ID of the first job in a runtime session can now be used as a filter in - ```jobs()`` `__ with + ```jobs()`` `__ with the parameter ``session_id``. -- ```run()`` `__ now +- ```run()`` `__ now supports a new parameter, ``job_tags``. These tags can be used when filtering jobs with - ```jobs()`` `__. + ```jobs()`` `__. -- ```run()`` `__ now +- ```run()`` `__ now supports a new parameter, ``max_execution_time``, which can be used to override the default program maximum execution time. It should be less than or equal to the program maximum execution time. -- ```jobs()`` `__ has a +- ```jobs()`` `__ has a new parameter, ``descending``. This parameter defaults to ``True``, where jobs will be returned in descending order based on creation date. - ``RuntimeJobTimeoutError`` is now raised when the ``timeout`` set in - ```result()`` `__ or - ```wait_for_final_state()`` `__ + ```result()`` `__ or + ```wait_for_final_state()`` `__ expires. - When initializing - ```QiskitRuntimeService`` `__ + ```QiskitRuntimeService`` `__ and an invalid token is used, ``IBMNotAuthorizedError`` will be raised instead of ``RequestsApiError``. - ``IBMSampler`` class which was deprecated earlier is now removed. Use - ```Sampler`` `__ class going forward. + ```Sampler`` `__ class going forward. -- ```qubit_properties()`` `__ +- ```qubit_properties()`` `__ will now return a sub class of ``QubitProperties`` called ``IBMQubitProperties`` and will expose anharmonicity in addition to the t1, t2 and frequency already exposed by the ``QubitProperties`` @@ -1375,7 +1375,7 @@ Upgrade Notes service = QiskitRuntimeService(channel="ibm_cloud", token="...", instance="...") - ``IBMEstimator`` class is now deprecated and will be removed in a - future release. Use ```Estimator`` `__ + future release. Use ```Estimator`` `__ class going forward. Example: @@ -1409,7 +1409,7 @@ Upgrade Notes result = estimator(circuit_indices=[0], ...) - ``IBMSampler`` class is now deprecated and will be removed in a - future release. Use ```Sampler`` `__ + future release. Use ```Sampler`` `__ class going forward. Example: @@ -1446,9 +1446,9 @@ Deprecation Notes - ``IBMRuntimeService``, ``IBMEstimator`` and ``IBMSampler`` classes have been deprecated and will be removed in a future release. Use - ```QiskitRuntimeService`` `__, - ```Estimator`` `__ and - ```Sampler`` `__ classes instead. See + ```QiskitRuntimeService`` `__, + ```Estimator`` `__ and + ```Sampler`` `__ classes instead. See upgrade notes section for a detailed explanation with examples. 0.3.0 @@ -1499,9 +1499,9 @@ Bug Fixes --------- - Fixed a bug where - ```qiskit_ibm_runtime.RuntimeJob.wait_for_final_state()`` `__ + ```qiskit_ibm_runtime.RuntimeJob.wait_for_final_state()`` `__ would result in a NoneType error if the job already completed and - ```qiskit_ibm_runtime.RuntimeJob.status()`` `__ + ```qiskit_ibm_runtime.RuntimeJob.status()`` `__ was called beforehand. 0.1.0 @@ -1555,7 +1555,7 @@ Upgrade Notes from qiskit_ibm_runtime import IBMRuntimeService service = IBMRuntimeService(auth="cloud", token="abc", instance="IBM Cloud CRN or Service instance name") -- ```qiskit_ibm_runtime.IBMBackend`` `__ +- ```qiskit_ibm_runtime.IBMBackend`` `__ class now implements the ``qiskit.providers.BackendV2`` interface and provides flatter access to the configuration of a backend, for example: @@ -1572,7 +1572,7 @@ Upgrade Notes now an attribute instead of a method. Refer to the - ```qiskit_ibm_runtime.IBMBackend`` `__ + ```qiskit_ibm_runtime.IBMBackend`` `__ class doc string for a list of all available attributes. - If you used qiskit.providers.ibmq.AccountProvider.get_backend method @@ -1617,14 +1617,14 @@ Upgrade Notes - ``qiskit_ibm_runtime.IBMRuntimeService.run()`` method now accepts runtime execution options as - ```qiskit_ibm_runtime.RuntimeOptions`` `__ + ```qiskit_ibm_runtime.RuntimeOptions`` `__ class in addition to already supported Dict. backend_name, image and log_level are the currently available options. - Final result is also streamed now after interim results when you specify a ``callback`` to ``qiskit_ibm_runtime.IBMRuntimeService.run()`` or - ```qiskit_ibm_runtime.RuntimeJob.stream_results()`` `__. + ```qiskit_ibm_runtime.RuntimeJob.stream_results()`` `__. 0.1.0rc2 ======== @@ -1642,16 +1642,16 @@ New Features Bug Fixes --------- -- ```qiskit_ibm_runtime.utils.json.RuntimeEncoder`` `__ +- ```qiskit_ibm_runtime.utils.json.RuntimeEncoder`` `__ and - ```qiskit_ibm_runtime.utils.json.RuntimeDecoder`` `__ + ```qiskit_ibm_runtime.utils.json.RuntimeDecoder`` `__ have been updated to handle instances of the Instruction class. - Fixed an issue where numpy ndarrays with object types could not be serialized. - ```qiskit_ibm_runtime.utils.json.RuntimeEncoder`` `__ + ```qiskit_ibm_runtime.utils.json.RuntimeEncoder`` `__ and - ```qiskit_ibm_runtime.utils.json.RuntimeDecoder`` `__ + ```qiskit_ibm_runtime.utils.json.RuntimeDecoder`` `__ have been updated to handle these ndarrays. 0.1.0rc1 @@ -1665,7 +1665,7 @@ New Features jobs. Currently only supported for legacy authentication. - You can now use the - ```qiskit_ibm_runtime.RuntimeJob.interim_results()`` `__ + ```qiskit_ibm_runtime.RuntimeJob.interim_results()`` `__ method to retrieve runtime program interim results. Note that interim results will only be available for up to two days. @@ -1673,7 +1673,7 @@ Upgrade Notes ------------- - In order to be consistent with other properties in - ```qiskit_ibm_runtime.RuntimeJob`` `__ + ```qiskit_ibm_runtime.RuntimeJob`` `__ class the job_id and backend methods have been converted to properties. From 6786061c70f8240d8b903fc612ad54eca2f505fb Mon Sep 17 00:00:00 2001 From: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com> Date: Mon, 11 Mar 2024 12:58:18 -0400 Subject: [PATCH 07/18] Update contributor guide --- CONTRIBUTING.md | 214 ++++++++++++++++++++++-------------------------- 1 file changed, 98 insertions(+), 116 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b04de6418..7dbbf7036 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -61,140 +61,106 @@ The current categories for each label are as follows: ### Release Notes -When making any end user facing changes in a contribution we have to make sure -we document that when we release a new version of qiskit-ibm. The -expectation is that if your code contribution has user facing changes that you +When making any end user facing changes in a contribution, we have to make sure +we document that when we release a new version of qiskit-ibm-runtime. The +expectation is that if your code contribution has user facing changes, then you will write the release documentation for these changes. This documentation must explain what was changed, why it was changed, and how users can either use or adapt to the change. The idea behind release documentation is that when a naive user with limited internal knowledge of the project is upgrading from the previous release to the new one, they should be able to read the release notes, -understand if they need to update their program which uses qiskit, and how they -would go about doing that. It ideally should explain why they need to make -this change too, to provide the necessary context. +understand if they need to update their program which uses qiskit-ibm-runtime, +and how they would go about doing that. It ideally should explain why +they need to make this change too, to provide the necessary context. To make sure we don't forget a release note or if the details of user facing changes over a release cycle we require that all user facing changes include -documentation at the same time as the code. To accomplish this we use the -[reno](https://docs.openstack.org/reno/latest/) tool which enables a git based -workflow for writing and compiling release notes. +documentation at the same time as the code. To accomplish this, we use the +[Towncrier](https://towncrier.readthedocs.io/en/stable/) tool. #### Adding a new release note -Making a new release note is quite straightforward. Ensure that you have reno -installed with:: - - pip install -U reno - -Once you have reno installed you can make a new release note by running in -your local repository checkout's root:: - - reno new short-description-string - -where short-description-string is a brief string (with no spaces) that describes -what's in the release note. This will become the prefix for the release note -file. Once that is run it will create a new yaml file in releasenotes/notes. -Then open that yaml file in a text editor and write the release note. The basic -structure of a release note is restructured text in yaml lists under category -keys. You add individual items under each category and they will be grouped -automatically by release when the release notes are compiled. A single file -can have as many entries in it as needed, but to avoid potential conflicts -you'll want to create a new file for each pull request that has user facing -changes. When you open the newly created file it will be a full template of -the different categories with a description of a category as a single entry -in each category. You'll want to delete all the sections you aren't using and -update the contents for those you are. For example, the end result should -look something like:: - -```yaml -features: - - | - Introduced a new feature foo, that adds support for doing something to - ``QuantumCircuit`` objects. It can be used by using the foo function, - for example:: - - from qiskit import foo - from qiskit import QuantumCircuit - foo(QuantumCircuit()) - - - | - The ``qiskit.QuantumCircuit`` module has a new method ``foo()``. This is - the equivalent of calling the ``qiskit.foo()`` to do something to your - QuantumCircuit. This is the equivalent of running ``qiskit.foo()`` on - your circuit, but provides the convenience of running it natively on - an object. For example:: - - from qiskit import QuantumCircuit - - circ = QuantumCircuit() - circ.foo() - -deprecations: - - | - The ``qiskit.bar`` module has been deprecated and will be removed in a - future release. Its sole function, ``foobar()`` has been superseded by the - ``qiskit.foo()`` function which provides similar functionality but with - more accurate results and better performance. You should update your calls - ``qiskit.bar.foobar()`` calls to ``qiskit.foo()``. +To create a new release note, first find either the issue or PR number associated with +your change from GitHub because Towncrier links every release note to a GitHub issue +or PR. If there is no associated issue and you haven't yet opened up the PR so you don't +yet have a PR number, you can use the value `todo` at first, then go back and rename the +file once you open up the PR and have its number. + +Then, identify which type of change your release note is: + +- `feat` (new feature) +- `upgrade` (upgrade note) +- `deprecation` (deprecation) +- `bug` (bug fix) +- `other` (other note) + +Now, create a new file in the `releasenotes` folder in the format `..rst`, +such as `156.bug.rst` or `231.feat.rst`. + +Open up the new release note file and provide a description of the change, such as what users need +to do. The files use RST syntax and you can use mechanisms like code blocks. However, Sphinx +cross-references will not work and you should use full links to +https://docs.quantum.ibm.com when linking to documentation. + +Example notes: + +```rst +Add ``dd_barrier`` optional input to +```PadDynamicalDecoupling`` `__ +constructor to identify portions of the circuit to apply dynamical +decoupling (dd) on selectively. If this string is contained in the +label of a barrier in the circuit, dd is applied on the delays ending +with it (on the same qubits); otherwise, it is not applied. ``` -You can also look at other release notes for other examples. - -You can use any restructured text feature in them (code sections, tables, -enumerated lists, bulleted list, etc) to express what is being changed as -needed. In general you want the release notes to include as much detail as -needed so that users will understand what has changed, why it changed, and how -they'll have to update their code. - -After you've finished writing your release notes you'll want to add the note -file to your commit with `git add` and commit them to your PR branch to make -sure they're included with the code in your PR. +``` +When a single backend is retrieved with the ``instance`` parameter, -#### Linking to issues +.. code:: python -If you need to link to an issue or other github artifact as part of the release -note this should be done using an inline link with the text being the issue -number. For example you would write a release note with a link to issue 12345 -as: + service.backend('ibm_torino', instance='ibm-q/open/main') + # raises error if torino is not in ibm-q/open/main but in a different instance + # the user has access to + service = QiskitRuntimeService(channel="ibm_quantum", instance="ibm-q/open/main") + service.backend('ibm_torino') # raises the same error -```yaml -fixes: - - | - Fixes a race condition in the function ``foo()``. Refer to - `#12345 `_ for - more details. +if the backend is not in the instance, but in a different one the user +has access to, an error will be raised. The same error will now be +raised if an instance is passed in at initialization and then a +backend not in that instance is retrieved. ``` -#### Generating the release notes +In general, you want the release notes to include as much detail as +needed so that users will understand what has changed, why it changed, and how +they'll have to update their code. + +Towncrier will automatically add a link to the PR or Issue number you used in +the file name once we build the relesae notes during the release. -After release notes have been added if you want to see what the full output of -the release notes. In general the output from reno that we'll get is a rst -(ReStructuredText) file that can be compiled by -[sphinx](https://www.sphinx-doc.org/en/master/). To generate the rst file you -use the ``reno report`` command. If you want to generate the full Qiskit IBM provider -release notes for all releases (since we started using reno during 0.9) you just -run:: +After you've finished writing your release note, you need to add the note +file to your commit with `git add` and commit them to your PR branch to make +sure they're included with the code in your PR. - reno report +#### Preview the release notes -but you can also use the ``--version`` argument to view a single release (after -it has been tagged:: +You can preview how the release notes look with the Sphinx docs build by +using Towncrier. First, install Towncrier with [`pipx`](https://pipx.pypa.io/stable/) by +running `pipx install tonwcrier`. - reno report --version 0.9.0 +Then, run `towncrier build --version=unreleased --keep`. Be careful to not save the changes +to CHANGES.rst to Git! -At release time ``reno report`` is used to generate the release notes for the -release and the output will be submitted as a pull request to the documentation -repository's [release notes file]( -https://github.com/Qiskit/qiskit/blob/master/docs/release_notes.rst) +Finally, preview the docs build by following the instructions in +[Building documentation locally](#building-documentation-locally). ### Building documentation locally -Building The release notes are part of the standard qiskit-ibm +Building The release notes are part of the standard qiskit-ibm-runtime documentation builds. To check what the rendered html output of the release notes will look like for the current state of the repo you can run: `tox -edocs` which will build all the documentation into `docs/_build/html` and the release notes in particular will be located at -`docs/_build/html/release_notes.html` +`docs/_build/html/release_notes.html`. ### Test @@ -314,19 +280,35 @@ merged to it are bugfixes. ### Release cycle -When it is time to release a new minor version of qiskit-ibm we will: +When it is time to release a new minor version of qiskit-ibm-runtime, first open a PR +to prepare the release notes. Install the tool `towncrier` with `pipx install towncrier`. +Then, in a new branch, run `towncrier build --version= --yes`, and replace +`` with the version like `0.22.0`. Add all the changes to Git and +open a PR. + +After landing the release notes preparation, checkout `main` and make sure that the last +commit is the release notes prep. Then, create a new Git tag from `main` for the full +version number, like `git tag 0.22.0`. Push the tag to GitHub. Also create a new branch like +`stable/0.22` and push it to GitHub. + +GitHub Actions will automatically build and upload the wheels to PyPI. The +qiskit-bot should also automatically create the GitHub Release for you. + +#### Patch releases -1. Create a new tag with the version number and push it to github -2. Change the `main` version to the next release version. +The `stable/*` branches should only receive changes in the form of bug fixes. +These bug fixes should first land on `main`, then be `git cherry-pick`ed to +the stable branch. Include the Towncrier release note in these cherry-picks. -The release automation processes will be triggered by the new tag and perform -the following steps: +When preparing a patch release, you also need to first land a PR against +the `stable/*` branch to prepare the release notes with +`towncrier build --version= --yes`, where `` is +the patch release like `0.21.1`. Then, from the `stable/*` branch, create a new +Git tag for the full version number, like `git tag 0.21.1`, and +push the tag to GitHub. -1. Create a stable branch for the new minor version from the release tag - on the `main` branch -2. Build and upload binary wheels to pypi -3. Create a github release page with a generated changelog -4. Generate a PR on the meta-repository to bump the Qiskit IBM Provider version - and meta-package version. +GitHub Actions will automatically build and upload the wheels to PyPI. The +qiskit-bot should also automatically create the GitHub Release for you. -The `stable/*` branches should only receive changes in the form of bug fixes. \ No newline at end of file +Finally, you need to cherry-pick the release notes prep from `stable/*` to +the `main` branch, such as from `stable/0.21` to `main`. From 4f46f075227090a2af94d77ce4ede6a43a2d2d81 Mon Sep 17 00:00:00 2001 From: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com> Date: Mon, 11 Mar 2024 13:22:19 -0400 Subject: [PATCH 08/18] Simplify GitHub action --- .github/workflows/docs.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 065c00804..3e506d765 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -11,8 +11,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - name: Set up Python uses: actions/setup-python@v5 with: From d27a56c7760759e385dcf005d4835de99c752b15 Mon Sep 17 00:00:00 2001 From: Arnau Casau Date: Wed, 13 Mar 2024 11:16:55 +0100 Subject: [PATCH 09/18] separate release notes per patch --- .gitignore | 3 + CHANGES.rst | 1696 ------------------------------- docs/Makefile | 1 + pyproject.toml | 3 +- releasenotes/.gitkeep | 1 - releasenotes/notes/0.1.0.rst | 121 +++ releasenotes/notes/0.1.0rc1.rst | 40 + releasenotes/notes/0.1.0rc2.rst | 27 + releasenotes/notes/0.10.0.rst | 25 + releasenotes/notes/0.11.0.rst | 54 + releasenotes/notes/0.11.1.rst | 9 + releasenotes/notes/0.11.2.rst | 34 + releasenotes/notes/0.11.3.rst | 28 + releasenotes/notes/0.12.0.rst | 70 ++ releasenotes/notes/0.12.1.rst | 48 + releasenotes/notes/0.12.2.rst | 27 + releasenotes/notes/0.13.0.rst | 47 + releasenotes/notes/0.14.0.rst | 22 + releasenotes/notes/0.15.0.rst | 83 ++ releasenotes/notes/0.15.1.rst | 9 + releasenotes/notes/0.16.0.rst | 25 + releasenotes/notes/0.17.0.rst | 35 + releasenotes/notes/0.18.0.rst | 30 + releasenotes/notes/0.19.0.rst | 11 + releasenotes/notes/0.19.1.rst | 21 + releasenotes/notes/0.2.0.rst | 20 + releasenotes/notes/0.20.0.rst | 62 ++ releasenotes/notes/0.21.0.rst | 37 + releasenotes/notes/0.21.1.rst | 8 + releasenotes/notes/0.3.0.rst | 31 + releasenotes/notes/0.4.0.rst | 102 ++ releasenotes/notes/0.5.0.rst | 114 +++ releasenotes/notes/0.6.0.rst | 29 + releasenotes/notes/0.7.0.rst | 49 + releasenotes/notes/0.7.0rc1.rst | 154 +++ releasenotes/notes/0.7.0rc2.rst | 33 + releasenotes/notes/0.8.0.rst | 42 + releasenotes/notes/0.9.0.rst | 27 + releasenotes/notes/0.9.1.rst | 44 + releasenotes/notes/0.9.2.rst | 61 ++ releasenotes/notes/0.9.3.rst | 30 + releasenotes/notes/0.9.4.rst | 45 + tools/concat_release_notes.py | 51 + tox.ini | 1 + 44 files changed, 1712 insertions(+), 1698 deletions(-) delete mode 100644 CHANGES.rst delete mode 100644 releasenotes/.gitkeep create mode 100644 releasenotes/notes/0.1.0.rst create mode 100644 releasenotes/notes/0.1.0rc1.rst create mode 100644 releasenotes/notes/0.1.0rc2.rst create mode 100644 releasenotes/notes/0.10.0.rst create mode 100644 releasenotes/notes/0.11.0.rst create mode 100644 releasenotes/notes/0.11.1.rst create mode 100644 releasenotes/notes/0.11.2.rst create mode 100644 releasenotes/notes/0.11.3.rst create mode 100644 releasenotes/notes/0.12.0.rst create mode 100644 releasenotes/notes/0.12.1.rst create mode 100644 releasenotes/notes/0.12.2.rst create mode 100644 releasenotes/notes/0.13.0.rst create mode 100644 releasenotes/notes/0.14.0.rst create mode 100644 releasenotes/notes/0.15.0.rst create mode 100644 releasenotes/notes/0.15.1.rst create mode 100644 releasenotes/notes/0.16.0.rst create mode 100644 releasenotes/notes/0.17.0.rst create mode 100644 releasenotes/notes/0.18.0.rst create mode 100644 releasenotes/notes/0.19.0.rst create mode 100644 releasenotes/notes/0.19.1.rst create mode 100644 releasenotes/notes/0.2.0.rst create mode 100644 releasenotes/notes/0.20.0.rst create mode 100644 releasenotes/notes/0.21.0.rst create mode 100644 releasenotes/notes/0.21.1.rst create mode 100644 releasenotes/notes/0.3.0.rst create mode 100644 releasenotes/notes/0.4.0.rst create mode 100644 releasenotes/notes/0.5.0.rst create mode 100644 releasenotes/notes/0.6.0.rst create mode 100644 releasenotes/notes/0.7.0.rst create mode 100644 releasenotes/notes/0.7.0rc1.rst create mode 100644 releasenotes/notes/0.7.0rc2.rst create mode 100644 releasenotes/notes/0.8.0.rst create mode 100644 releasenotes/notes/0.9.0.rst create mode 100644 releasenotes/notes/0.9.1.rst create mode 100644 releasenotes/notes/0.9.2.rst create mode 100644 releasenotes/notes/0.9.3.rst create mode 100644 releasenotes/notes/0.9.4.rst create mode 100644 tools/concat_release_notes.py diff --git a/.gitignore b/.gitignore index 3eae17842..d2d75f10f 100644 --- a/.gitignore +++ b/.gitignore @@ -110,3 +110,6 @@ Qconfig.py # Pycharm .idea + +# Generated release notes file +CHANGES.rst diff --git a/CHANGES.rst b/CHANGES.rst deleted file mode 100644 index 1ba9363cc..000000000 --- a/CHANGES.rst +++ /dev/null @@ -1,1696 +0,0 @@ -======================================= -Qiskit Runtime IBM Client release notes -======================================= - -.. towncrier release notes start - -0.21.1 -====== - -Bug Fixes ---------- - -- Fixed a bug where ``SamplerV1`` and ``EstimatorV1`` could not be - imported because of an issue with how the aliases were defined. - -0.21.0 -====== - -Upgrade Notes -------------- - -- Circuits that do not match the target hardware definition are no - longer supported by Qiskit Runtime primitives, unless - ``channel_strategy="q-ctrl"`` is used. See the transpilation - documentation (`transpile `__) for instructions to - transform circuits and the primitive examples - (`run/primitives-examples `__) to see this - coupled with operator transformations. - -Deprecation Notes ------------------ - -- In a future release, ``backend`` will be a required parameter for - ``qiskit_ibm_runtime.Sampler``, and ``qiskit_ibm_runtime.Estimator`` - if ``session`` is not specified, even when using the ``ibm_cloud`` - channel. - - It will also be a required parameter for - ``qiskit_ibm_runtime.Session`` and ``qiskit_ibm_runtime.Batch``. - -Bug Fixes ---------- - -- Fixed an issue with the ``IBMBackend.target`` where it would - incorrectly exclude supported control flow operations (``IfElseOp``, - ``WhileLoop``, etc.) if a given backend supported them. - -- Fixed a bug where retrieving a fake backend through - ``FakeProviderForBackendV2.backend()`` would result in a type error. - -- Fixes the check for ISA circuits to allow pulse gates and circuits - that don’t have layout. - -0.20.0 -====== - -New Features ------------- - -- Add ``dd_barrier`` optional input to - ```PadDynamicalDecoupling`` `__ - constructor to identify portions of the circuit to apply dynamical - decoupling (dd) on selectively. If this string is contained in the - label of a barrier in the circuit, dd is applied on the delays ending - with it (on the same qubits); otherwise, it is not applied. - -- Python 3.12 is now supported. - -- Sessions will now be started with a new ``/sessions`` endpoint that - allows for different execution modes. Batch mode is now supported - through ``Batch``, and ```Session`` `__ - will work the same as way as before. Please see - `run/sessions `__ for more information. - - Note that ``Session`` and ``Batch`` created from - ``qiskit-ibm-runtime`` prior to this release will no longer be - supported after March 31, 2024. Please update your - ``qiskit-ibm-runtime`` version as soon as possible before this date. - - Also note that using simulators with sessions is no longer supported. - Users can still start sessions with simulators without any issues but - a session will not actually be created. There will be no session ID. - -- Sessions started with - ```qiskit_ibm_runtime.IBMBackend.open_session()`` `__ - will use the new ``/sessions`` endpoint. - - The sessions functionality will not change but note that - ``backend.run()`` sessions prior to this release will no longer be - supported after March 31, 2024. Please update your - ``qiskit-ibm-runtime`` version as soon as possible before this date. - -Deprecation Notes ------------------ - -- Circuits that do not match the target hardware definition will no - longer be supported after March 1, 2024. See the transpilation - documentation (`transpile `__) for instructions to - transform circuits and the primitive examples - (`run/primitives-examples `__) to see this - coupled with operator transformations. - -Bug Fixes ---------- - -- Fix assignment of instruction durations when scheduling circuits with - control flow. Prior to this fix, the indices for instructions on - inner blocks were not mapped to the physical indices in the outer - dag. - -Other Notes ------------ - -- The ``InstructionDurations`` durations input is now also required for - the constructor of ``PadDelay``. - -0.19.1 -====== - -Upgrade Notes -------------- - -- Extend ``DynamicCircuitInstructions.from_backend()`` to extract and - patch durations from both ``BackendV1`` and ``BackendV2`` objects. - Also add ``DynamicCircuitInstructions.from_target()`` to use a - ``Target`` object instead. - -Bug Fixes ---------- - -- Fix the patching of ``DynamicCircuitInstructions`` for instructions - with durations that are not in units of ``dt``. - -- Fixed an issue with the ``qpy.dump()`` function, when the - ``use_symengine`` flag was set to a truthy object that evaluated to - ``True`` but was not actually the boolean ``True`` the generated QPY - payload would be corrupt. - -0.19.0 -====== - -Upgrade Notes -------------- - -- qiskit-ibm-provider is pending deprecation, and therefore will no - longer be a dependency for qiskit-ibm-runtime. - -- qiskit-ibm-runtime is now compatible with Qiskit versions >= 0.45, - including 1.0.0. - -0.18.0 -====== - -New Features ------------- - -- Added a new parameter, dynamic_circuits to - ```backends()`` `__ - to allow filtering of backends that support dynamic circuits. - -- Added ``max_time`` parameter to ``IBMBackend.open_session()``. - -- Added a method ``RuntimeJob.queue_info()`` to get the queue - information from the backend. This feature was transferred from - ``qiskit_ibm_provider``. - -Deprecation Notes ------------------ - -- ```runtime()`` `__ - has been deprecated. - -Bug Fixes ---------- - -- Many methods in ```RuntimeJob`` `__ - require retrieving the job data from the API with ``job_get()``. This - API call will now exclude the ``params`` field by default because - they are only necessary in - ```qiskit_ibm_runtime.RuntimeJob.inputs()`` `__. - -0.17.0 -====== - -New Features ------------- - -- Added a new method - ```properties()`` `__ which - returns the backend properties of the job at the time the job was - run. - -- ```details()`` `__ has a new - field, activated_at, which is the timestamp of when the session was - changed to active. - -Bug Fixes ---------- - -- When a single backend is retrieved with the ``instance`` parameter, - - .. code:: python - - service.backend('ibm_torino', instance='ibm-q/open/main') - # raises error if torino is not in ibm-q/open/main but in a different instance - # the user has access to - service = QiskitRuntimeService(channel="ibm_quantum", instance="ibm-q/open/main") - service.backend('ibm_torino') # raises the same error - - if the backend is not in the instance but in a different one the user - has access to, an error will be raised. The same error will now be - raised if an instance is passed in at initialization and then a - backend not in that instance is retrieved. - -- Fixed an issue where retrieving the coupling_map of some backends - would result in a NameError. - -0.16.0 -====== - -Prelude -------- - -Sessions are now thread-safe and allow for multiple concurrent -interactive experiments. - -New Features ------------- - -- Sessions are now thread-safe. - -Upgrade Notes -------------- - -- Methods related to using custom programs are removed. - -Bug Fixes ---------- - -- If a cloud instance that is ``q-ctrl`` enabled is used while - ``q-ctrl`` is not passed in as the ``channel_strategy``, an error - will be raised. - -0.15.1 -====== - -Bug Fixes ---------- - -- Reverting 0.15.0 changes to - ```from_id()`` `__ because it was - a breaking change without proper deprecation. - -0.15.0 -====== - -New Features ------------- - -- A new module - ```qiskit_ibm_runtime.fake_provider`` `__, - has been added to provide access to a series of fake backends derived - from snapshots of IBM Quantum devices. This functionality was - originally provided by the ``qiskit.providers.fake_provider`` module, - but will soon be deprecated in favor of - ```qiskit_ibm_runtime.fake_provider`` `__. - - The snapshots provided by the fake backends are useful for local - testing of the transpiler and performing local noisy simulations of - the system before running on real devices. Here is an example of - using a fake backend for transpilation and simulation: - - .. code:: python - - from qiskit import QuantumCircuit - from qiskit import transpile - from qiskit_ibm_runtime.fake_provider import FakeManilaV2 - - # Get a fake backend from the fake provider - backend = FakeManilaV2() - - # Create a simple circuit - circuit = QuantumCircuit(3) - circuit.h(0) - circuit.cx(0,1) - circuit.cx(0,2) - circuit.measure_all() - - # Transpile the ideal circuit to a circuit that can be directly executed by the backend - transpiled_circuit = transpile(circuit, backend) - - # Run the transpiled circuit using the simulated fake backend - job = backend.run(transpiled_circuit) - counts = job.result().get_counts() - -- Added support for ``backend.run()``. The functionality is similar to - that in ``qiskit-ibm-provider``. - -- An error will be raised during initialization if ``q-ctrl`` is passed - in as the ``channel_strategy`` and the account instance does not have - ``q-ctrl`` enabled. - -- Removed storing result in ``RuntimeJob._results``. Instead retrieve - results every time the ``results()`` method is called. - -Deprecation Notes ------------------ - -- Usage of the ``~/.qiskit/qiskitrc.json`` file for account information - has been deprecated. Use ``~/.qiskit/qiskit-ibm.json`` instead. - -Bug Fixes ---------- - -- Fixed an issue where canceled and failed jobs would return an invalid - result that resulted in a type error, preventing the actual error - from being returned to the user. - -- A warning will be raised at initialization if the DE environment is - being used since not all features are supported there. - -- The ``backend`` parameter in - ```from_id()`` `__ is being - deprecated because sessions do not support multiple backends. - Additionally, the ``service`` parameter is no longer optional. - -- The ``circuit_indices`` and ``observable_indices`` run inputs for - ```Estimator`` `__ and - ```Sampler`` `__ have been completely - removed. - -Other Notes ------------ - -- Added migration code for running ``backend.run`` in - qiskit_ibm_runtime instead of in qiskit_ibm_provider. - -0.14.0 -====== - -New Features ------------- - -- There is a new class, ``qiskit_ibm_runtime.Batch`` that currently - works the same way as - ```qiskit_ibm_runtime.Session`` `__ but - will later be updated to better support submitting multiple jobs at - once. - -- Arbitrary keys and values are no longer allowed in ``Options``. - -Deprecation Notes ------------------ - -- Custom programs are being deprecated as of qiskit-ibm-runtime 0.14.0 - and will be removed on November 27, 2023. Users can instead convert - their custom programs to use Qiskit Runtime primitives with Quantum - Serverless. Refer to the migration guide for instructions: - https://qiskit-extensions.github.io/quantum-serverless/migration/migration_from_qiskit_runtime_programs.html - -0.13.0 -====== - -New Features ------------- - -- Added a new method, - ```details()`` `__ that returns - information about a session, including: maximum session time, active - time remaining, the current state, and whether or not the session is - accepting jobs. - - Also added ```status()`` `__, - which returns the current status of the session. - -- At initialization, if not passed in directly, the default - ``instance`` selected by the provider will be logged at the “INFO” - level. When running a job, if the backend selected is not in the - default instance but in a different instance the user also has access - to, that instance will also be logged. - -Upgrade Notes -------------- - -- ```qiskit_ibm_runtime.Session.close()`` `__ - has been updated to mark a ``Session`` as no longer accepting new - jobs. The session won’t accept more jobs but it will continue to run - any queued jobs until they are done or the max time expires. This - will also happen automatically when the session context manager is - exited. When a session that is not accepting jobs has run out of jobs - to run, it’s immediately closed, freeing up the backend to run more - jobs rather than wait for the interactive timeout. - - The old close method behavior has been moved to a new method, - ```qiskit_ibm_runtime.Session.cancel()`` `__, - where all queued jobs within a session are cancelled and terminated. - -Bug Fixes ---------- - -- Fixed a bug where ``shots`` passed in as a numpy type were not being - serialized correctly. - -- Fixed a bug in - ```target_history()`` `__ - where the datetime parameter was not being used to retrieve backend - properties from the specified date. - -0.12.2 -====== - -New Features ------------- - -- If using a ``channel_strategy``, only backends that support that - ``channel_strategy`` will be accessible to the user. - -- Added the option to define a default account in the account json - file. To select an account as default, define ``set_as_default=True`` - in ``QiskitRuntimeService.save_account()``. - -- Added new method ``Session.from_id`` which creates a new session with - a given id. - -- There will now be a warning if a user submits a job that is predicted - to exceed their system execution time monthly quota of 10 minutes. - This only applies to jobs run on real hardware in the instance - ``ibm-q/open/main``. If the job does end up exceeding the quota, it - will be canceled. - -Upgrade Notes -------------- - -- Job error messages now include the error code. Error codes can be - found in `errors `__. - -0.12.1 -====== - -New Features ------------- - -- Users can use a new environment variable, ``USAGE_DATA_OPT_OUT`` to - opt out of user module usage tracking by setting this value to - ``True``. Additionally, only certain qiskit modules will be tracked - instead of all modules that begin with qiskit or qiskit\_. - -- Users can now pass in a value of ``default`` to the - ``channel_strategy`` parameter in - ```qiskit_ibm_runtime.QiskitRuntimeService`` `__. - Now, if an account is configured with a certain channel strategy, the - user can override it by passing in ``default``. - -- The Sampler and Estimator primitives have been enhanced to - incorporate custom validation procedures when the channel_strategy - property within the :class:qiskit_ibm_runtime.QiskitRuntimeService is - configured as “q-ctrl.” This customized validation logic effectively - rectifies incorrect input options and safeguards users against - inadvertently disabling Q-CTRL’s performance enhancements. - -Bug Fixes ---------- - -- Retrieving backend properties with - ```properties()`` `__ now - supports passing a ``datetime`` parameter to retrieve properties from - a past date. - -- The ``noise_factors`` and ``extrapolator`` options in - ```qiskit_ibm_runtime.options.ResilienceOptions`` `__ - will now default to ``None`` unless ``resilience_level`` is set to 2. - Only options relevant to the resilience level will be set, so when - using ``resilience_level`` 2, ``noise_factors`` will still default to - ``(1, 3, 5)`` and ``extrapolator`` will default to - ``LinearExtrapolator``. Additionally, options with a value of - ``None`` will no longer be sent to the server. - -- Job error messages will no longer be returned in all uppercase. - -- The max_execution_time option is now based on system execution time - instead of wall clock time. System execution time is the amount of - time that the system is dedicated to processing your job. If a job - exceeds this time limit, it is forcibly cancelled. Simulator jobs - continue to use wall clock time. - -0.12.0 -====== - -New Features ------------- - -- Added a ``global_service``, so that if the user defines a - QiskitRuntimeService, it will be used by the primitives, even if the - service is not passed to them explicitly. For example: - - .. code:: python - - from qiskit_ibm_runtime import QiskitRuntimeService, Sampler - service = QiskitRuntimeService(channel="ibm_quantum") - # Sampler._service field will be initialized to ``service`` - sampler = Sampler(backend="ibmq_qasm_simulator") - -- Added a new method, - ```qiskit_ibm_runtime.QiskitRuntimeService.instances()`` `__ - that returns all instances(hub/group/project) the user is in. This is - only for the ``ibm_quantum`` channel since the ``ibm_cloud`` channel - does not have multiple instances. - -- Added validations for options on the second level of the dict, i.e., - for each of resilience, simulator, execution, and transpilation, - check that their options are supported. Otherwise throw an exception. - -- There is a new parameter, ``channel_strategy`` that can be set in the - initialization of - ```qiskit_ibm_runtime.QiskitRuntimeService`` `__ - or saved in - ```qiskit_ibm_runtime.QiskitRuntimeService.save_account()`` `__. - If ``channel_strategy`` is set to ``q-ctrl``, all jobs within the - service will use the Q-CTRL error mitigation strategy. - -Upgrade Notes -------------- - -- Circuits and other input parameters will no longer be automatically - stored in runtime jobs. They can still be retrieved with - ```qiskit_ibm_runtime.RuntimeJob.inputs()`` `__. - - -Deprecation Notes ------------------ - -- The ``noise_amplifier`` resilience options is deprecated. After the - deprecation period, only local folding amplification will be - supported. Refer to https://github.com/qiskit-community/prototype-zne - for global folding amplification. - -Bug Fixes ---------- - -- When running on channel “ibm_cloud”, it is possible not to specify - the backend. In this case, the system selects one of the available - backends for this service. Issue #625 - https://github.com/Qiskit/qiskit-ibm-runtime/issues/625 reported that - the the backend returned by ``job.backend()`` was not always the - actual backend on which the job was run. This PR fixes this bug. - -- Fixes a race condition in the test test_cancel_running_job() in - test_job.py where job cancellation could not be performed. Refer to - #1019 \_ - for more details. - -- Previously we added validation when jobs were run to make sure the - number of circuits was not greater than the maximum for that backend, - ``backend.max_circuits``. This limit isn’t actually necessary for - primtives run from within a session. - -0.11.3 -====== - -New Features ------------- - -- Added reason for failure when invoking the method - ```error_message()`` `__. - -- Added a new property, - ```usage_estimation()`` `__ - that returns the estimated system execution time, - ``quantum_seconds``. System execution time represents the amount of - time that the system is dedicated to processing your job. - -- Raise an exception if the number of circuits passed to - ``_run_primitive()`` exceeds the number of circuits supported on the - backend. - -- There is a new method - ```update_tags()`` `__ - that can be used to update the ``job_tags`` of a job. - -- If ``instance`` is provided as parameter to - ```qiskit_ibm_runtime.QiskitRuntimeService`` `__, - then this is used as a filter in ``QiskitRuntimeService.backends()``. - If ``instance`` is not recognized as one of the provider instances, - an exception will be raised. Previously, we only issued a warning. - -0.11.2 -====== - -New Features ------------- - -- If a job has been cancelled, and job.result() is requested, throw an - exception rather than returning None. - -- A new method, - ```qiskit_ibm_runtime.options.SimulatorOptions.set_backend()`` `__, - allows users to more easily set simulator options for a backend. - - .. code:: python - - from qiskit.providers.fake_provider import FakeManila - from qiskit_aer.noise import NoiseModel - - # Make a noise model - fake_backend = FakeManila() - - # Set options to include the noise model - options = Options() - options.simulator.set_backend(fake_backend) - options.simulator.seed_simulator = 42 - -Bug Fixes ---------- - -- Fixed infinite recursion when attempting to deepcopy an IBMBackend. - Added a method ``qiskit_ibm_runtime.IBMBackend.deepcopy()``. - -- Fixed an issue where circuit metadata was not being serialized - correctly resulting in a type error. - -0.11.1 -====== - -Deprecation Notes ------------------ - -- In - ```qiskit_ibm_runtime.RuntimeJob.metrics()`` `__, - the bss field will be replaced by usage. - -0.11.0 -====== - -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: - - .. code:: python - - options.simulator = {"coupling_map": [[0, 1], [1, 0]]} - - Now we also support the following: - - .. code:: python - - 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. - -0.10.0 -====== - -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. - -0.9.4 ------ - -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. - -0.9.3 ------ - -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. - -0.9.2 ------ - -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 ``BlueprintCircuit``\ s 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. - -0.9.1 ------ - -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: - - .. code:: python - - QiskitRuntimeService.save_account(channel="ibm_quantum", - filename="~/my_account_file.json", - name = "my_account", - token="my_token") - service = QiskitRuntimeService(channel="ibm_quantum", - filename="~/my_account_file.json", - 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. - -0.9.0 ------ - -Upgrade Notes -------------- - -- Changed the default values for ``optimization_level`` and for - ``resilience_level`` in ``qiskit_ibm_runtime.Options``. If their - values are defined by the user, they are not modified. If not set, if - the backend is a noiseless simulator then ``optimization_level`` is - set to 1 and ``resilience_level`` is set to 0; Otherwise, they are be - set to 3 and 1 respectively. - -- ```session_id()`` `__ and - ```tags()`` `__ were added for an - easy way to return the session_id and job_tags of a job. - -Bug Fixes ---------- - -- Fixed a bug where jobs that did not run before a session closes are - not actually run as a part of that session. Jobs should run as a part - of a session even if that session is closed by the exit of the - context manager. - -- Fixes the issue wherein submitting a large job fails due to write - operation timeout. - -0.8.0 ------ - -New Features ------------- - -- Python 3.10 is now supported. - -- Advanced resilience options can now be set under - ``options.resilience``. See - ```qiskit_ibm_runtime.options.ResilienceOptions`` `__ - for all available options. - -- You can now specify a pair of result decoders for the - ``result_decoder`` parameter of - ```qiskit_ibm_runtime.QiskitRuntimeService.run()`` `__ - method. If a pair is specified, the first one is used to decode - interim results and the second the final results. - -Upgrade Notes -------------- - -- The default ``resilience_level`` option for has been changed from 0 - to 1. In addition, the default ``optimization_level`` option has been - changed from 1 to 3. - -Deprecation Notes ------------------ - -- The transpilation options ``translation_method`` and - ``timing_constraints`` have been deprecated. - -Bug Fixes ---------- - -- If a - ```qiskit_ibm_runtime.IBMBackend`` `__ - instance is passed to the - ```qiskit_ibm_runtime.Session`` `__ - constructor, the service used to initialize the ``IBMBackend`` - instance is used for the session instead of the default account - service. - -0.7.0 ------ - -New Features ------------- - -- ``qiskit_ibm_runtime.Options`` class now accepts arbitrary keyword - arguments. This allows users to specify new options to the primitive - programs without upgrading ``qiskit_ibm_runtime``. These arbitrary - keyword arguments, however, are not validated. - -- The - ```qiskit_ibm_runtime.options.EnvironmentOptions`` `__ - class now accepts a ``callback`` parameter. This parameter can be - used to stream the interim and final results of the primitives. - -- The ``qiskit_ibm_runtime.Options`` class now accepts - ``max_execution_time`` as a first level option and ``job_tags`` as an - option under ``environment``. - ```qiskit_ibm_runtime.RuntimeOptions`` `__ - has also been updated to include these two parameters. - -Upgrade Notes -------------- - -- This version of qiskit-ibm-runtime requires qiskit-terra version 0.22 - or higher. The ``requirements.txt`` file has been updated - accordingly. - -Deprecation Notes ------------------ - -- Qiskit Runtime programs ``torch-train``, ``torch-infer``, - ``sample-expval``, ``sample-program``, and - ``quantum_kernal_alignment`` have been deprecated due to low usage. - -- Passing ``instance`` parameter to the - ```qiskit_ibm_runtime.QiskitRuntimeService.run()`` `__ - has been deprecated. Instead, you can pass the ``instance`` parameter - inside the ``options`` parameter. - -- Passing ``job_tags`` and ``max_execution_time`` as parameters to - ```qiskit_ibm_runtime.QiskitRuntimeService`` `__ - has been deprecated. Please pass them inside ``options``. - -Bug Fixes ---------- - -- Fixes the missing section on retrieving jobs in the how-to guide. - -0.7.0rc2 -======== - -Upgrade Notes -------------- - -- Added a validation check to - ```run()`` `__. It raises an error if - there is no classical bit. - -- ```Sampler`` `__ is updated to return - ``SamplerResult`` with ``SamplerResult.quasi_dists`` as a list of - ``QuasiDistrbution``. It used to set a list of ``dict`` as - ``SamplerResult.quasi_dists``, but it did not follow the design of - ``SamplerResult``. - -- The ```RuntimeJob`` `__ class is now a - subclass of ``qiskit.providers.Job``. - -Deprecation Notes ------------------ - -- ``job_id`` and ``backend`` attributes of - ```qiskit_ibm_runtime.RuntimeJob`` `__ - have been deprecated. Please use - ```qiskit_ibm_runtime.RuntimeJob.job_id()`` `__ - and - ```qiskit_ibm_runtime.RuntimeJob.backend()`` `__ - methods instead. - -- The ``backend_name`` attribute in - ```qiskit_ibm_runtime.RuntimeOptions`` `__ - is deprecated and replaced by ``backend``. - -0.7.0rc1 -======== - -Prelude -------- - -There are significant changes to how primitives are invoked within a -session, and the options available to the primitives. Please review the -rest of the release notes and the tutorials for full information. - -New Features ------------- - -- You can now invoke the same or different primitive programs multiple - times within a session. For example: - - .. code:: python - - from qiskit_ibm_runtime import QiskitRuntimeService, Session, Sampler, Estimator, Options - from qiskit.test.reference_circuits import ReferenceCircuits - from qiskit.circuit.library import RealAmplitudes - from qiskit.quantum_info import SparsePauliOp - - # Initialize account. - service = QiskitRuntimeService() - - # Set options, which can be overwritten at job level. - options = Options(optimization_level=1) - - # Prepare inputs. - bell = ReferenceCircuits.bell() - psi = RealAmplitudes(num_qubits=2, reps=2) - H1 = SparsePauliOp.from_list([("II", 1), ("IZ", 2), ("XI", 3)]) - theta = [0, 1, 1, 2, 3, 5] - - with Session(service=service, backend="ibmq_qasm_simulator") as session: - # Submit a request to the Sampler primitive within the session. - sampler = Sampler(session=session, options=options) - job = sampler.run(circuits=bell) - print(f"Sampler results: {job.result()}") - - # Submit a request to the Estimator primitive within the session. - estimator = Estimator(session=session, options=options) - job = estimator.run( - circuits=[psi], observables=[H1], parameter_values=[theta] - ) - print(f"Estimator results: {job.result()}") - -- A new ``qiskit_ibm_runtime.Options`` class is introduced. This class - allows you to auto-complete options related to primitive programs. - For example: - - .. code:: python - - from qiskit_ibm_runtime import Session, Sampler, Options - from qiskit.test.reference_circuits import ReferenceCircuits - - options = Options() - options.optimization_level = 3 # This can be done using auto-complete. - - with Session(backend="ibmq_qasm_simulator") as session: - # Pass the options to Sampler. - sampler = Sampler(session=session, options=options) - - # Or at job level. - job = sampler.run(circuits=ReferenceCircuits.bell(), shots=4000) - -- ```qiskit_ibm_runtime.RuntimeJob`` `__ - has a new method - ```metrics()`` `__. This - method returns the metrics of a job, which includes timestamp - information. - -- The - ```qiskit_ibm_runtime.QiskitRuntimeService`` `__ - ``channel`` can now be stored as an environment variable, - ``QISKIT_IBM_CHANNEL``. This way, when using Runtime Primitives, the - service does not have to be instantiated manually and can instead be - created directly from environment variables. - -Upgrade Notes -------------- - -- Raise ``RuntimeJobMaxTimeoutError`` when a job runs for too long so - that it can be handled appropriately by programs. - -- The experimental parameters ``transpilation_settings``, - ``resilience_settings``, and ``max_time`` to the - :class:\`qiskit_ibm_runtime.Sampler and - ```qiskit_ibm_runtime.Estimator`` `__ - constructors have been removed. You can instead use the - ``qiskit_ibm_runtime.Options`` class to specify the settings, and - ``max_time`` can be specified when starting a new session. For - example: - - .. code:: python - - from qiskit_ibm_runtime import Session, Sampler, Options - - options = Options() - # This can be done using auto-complete. - option.optimization_level = 3 - options.resilience_level = 1 - - with Session(max_time="2h") as session: - # Pass the options to Sampler. - sampler = Sampler(session=session, options=options) - -- Since some accounts have many runtime programs, caching a list of all - programs on the first call of ``programs()`` has been removed. - Instead, programs will only be cached up to the ``limit`` given, - which has a default value of 20. - -Deprecation Notes ------------------ - -- Invoking - ```qiskit_ibm_runtime.Sampler`` `__ and - ```qiskit_ibm_runtime.Estimator`` `__ - as context managers has been deprecated. You can instead use the - qiskit_ibm_runtime.Session class to create a new session and invoke - one or more primitives within the session. - - As a result, passing input parameters, such as ``circuits``, - ``observables``, and ``parameter_values``, as well as ``service`` to - the constructors of ``Sampler`` and ``Estimator`` has also been - deprecated. The inputs can now be passed to the ``run()`` method of - the primitive classes, and ``service`` can be passed to - ```qiskit_ibm_runtime.Session`` `__ when - starting a new session. - -- Passing ``skip_transpilation`` to the - :class:\`qiskit_ibm_runtime.Sampler and - ```qiskit_ibm_runtime.Estimator`` `__ - constructors has been deprecated. You can instead use the - ``qiskit_ibm_runtime.Options`` class to specify this option. For - example: - - .. code:: python - - from qiskit_ibm_runtime import Options - - options = Options() - # This can be done using auto-complete. - options.transpilation.skip_transpilation = True - -Bug Fixes ---------- - -- Fixes issue - `#428 `__ by - raising the minimum required ``qiskit-terra`` version to ``0.21.0``, - since latest version of ``qiskit-ibm-runtime`` is not compatible with - ``0.20.0`` or earlier of ``qiskit-terra``. - -0.6.0 ------ - -Upgrade Notes -------------- - -- When migrating from ``qiskit-ibmq-provider`` your ``ibm_quantum`` - channel credentials will get automatically copied over from the - qiskitrc file and a qiskit-ibm.json file will get created if one - doesn’t exist. You have to just initialize - ```QiskitRuntimeService`` `__ - class without passing any parameters to use this copied over default - ``ibm_quantum`` account. - - Ex: - - .. code:: python - - from qiskit_ibm_runtime import QiskitRuntimeService - service = QiskitRuntimeService() - -- ``IBMEstimator`` class which was deprecated earlier is now removed. - Use ```Estimator`` `__ class going - forward. - -- ``IBMRuntimeService`` class which was deprecated earlier is now - removed. Use - ```QiskitRuntimeService`` `__ - class going forward. - -0.5.0 ------ - -Prelude -------- - -This release leverages the API and Queue enhancements to become more -runtime session aware. As a result when using the primitives (sampler -and estimator), runtime jobs in the same session will skip to the front -of the queue, thereby speeding up the runtime session, once it has -started. - -New Features ------------- - -- The ``service`` object which is an instance of - ```QiskitRuntimeService`` `__ - class can now be accessed from - ```IBMBackend`` `__ class using the - ``service`` property. - - Ex: - - .. code:: python - - backend = service.get_backend("ibmq_qasm_simulator") - backend.service # QiskitRuntimeService instance used to instantiate the backend - -Upgrade Notes -------------- - -- ```jobs()`` `__ has two - new parameters, ``created_after`` and ``created_before``. These can - be used to filter jobs by creation date in local time. - -- The parameters ``circuit_indices`` and ``observable_indices`` when - calling ``estimator`` are now deprecated and will be removed in a - future release. You can now pass either indices or objects using the - ``circuits`` and ``observables`` parameters. - - Ex: - - .. code:: python - - with Estimator( - circuits=[qc1, qc2], - observables=[H1, H2, H3], - service=service, - options=options - ) as estimator: - # pass circuits and observables as indices - result = estimator(circuits=[0, 1], observables=[0, 1], parameter_values=[theta1, theta2]) - - # pass circuits and observables as objects - result = estimator(circuits=[qc1, qc2], observables=[H1, H3], parameter_values=[theta1, theta3]) - -- The parameters ``circuit_indices`` and ``observable_indices`` when - calling ``estimator`` are now deprecated and will be removed in a - future release. You can now pass either indices or objects using the - ``circuits`` and ``observables`` parameters. - - Ex: - - .. code:: python - - with Sampler( - circuits=[qc1, qc2], - service=service, - options=options - ) as sampler: - # pass circuits as indices - result = sampler(circuits=[0, 1], parameter_values=[theta1, theta2]) - - # pass circuit as objects - result = sampler(circuits=[qc1, qc2], parameter_values=[theta2, theta3]) - -- The ``session_id``, which is the Job ID of the first job in a runtime - session can now be used as a filter in - ```jobs()`` `__ with - the parameter ``session_id``. - -- ```run()`` `__ now - supports a new parameter, ``job_tags``. These tags can be used when - filtering jobs with - ```jobs()`` `__. - -- ```run()`` `__ now - supports a new parameter, ``max_execution_time``, which can be used - to override the default program maximum execution time. It should be - less than or equal to the program maximum execution time. - -- ```jobs()`` `__ has a - new parameter, ``descending``. This parameter defaults to ``True``, - where jobs will be returned in descending order based on creation - date. - -- ``RuntimeJobTimeoutError`` is now raised when the ``timeout`` set in - ```result()`` `__ or - ```wait_for_final_state()`` `__ - expires. - -- When initializing - ```QiskitRuntimeService`` `__ - and an invalid token is used, ``IBMNotAuthorizedError`` will be - raised instead of ``RequestsApiError``. - -- ``IBMSampler`` class which was deprecated earlier is now removed. Use - ```Sampler`` `__ class going forward. - -- ```qubit_properties()`` `__ - will now return a sub class of ``QubitProperties`` called - ``IBMQubitProperties`` and will expose anharmonicity in addition to - the t1, t2 and frequency already exposed by the ``QubitProperties`` - class. - -0.4.0 ------ - -Upgrade Notes -------------- - -- ``IBMRuntimeService`` has been renamed to ``QiskitRuntimeSerice``. - ``IBMRuntimeService`` class is now deprecated and will be removed in - a future release. - - Example: - - Before: - - .. code:: python - - from qiskit_ibm_runtime import IBMRuntimeService - service = IBMRuntimeService(channel="ibm_cloud", token="...", instance="...") - - After: - - .. code:: python - - from qiskit_ibm_runtime import QiskitRuntimeService - service = QiskitRuntimeService(channel="ibm_cloud", token="...", instance="...") - -- ``IBMEstimator`` class is now deprecated and will be removed in a - future release. Use ```Estimator`` `__ - class going forward. - - Example: - - Before: - - .. code:: python - - from qiskit_ibm_runtime import IBMRuntimeService, IBMEstimator - service = IBMRuntimeService(channel="ibm_cloud", token="...", instance="...") - - estimator_factory = IBMEstimator(service=service, backend="ibmq_qasm_simulator") - - with estimator_factory(circuits=[qc], observables="...", parameters="...") as estimator: - result = estimator(circuit_indices=[0], ...) - - After: - - .. code:: python - - from qiskit_ibm_runtime import QiskitRuntimeService, Estimator - service = QiskitRuntimeService(channel="ibm_cloud", token="...", instance="...") - - with Estimator( - circuits=[qc], - observables="...", - parameters="...", - service=service, - options={ "backend": "ibmq_qasm_simulator" }, # or IBMBackend<"ibmq_qasm_simulator"> - ) as estimator: - result = estimator(circuit_indices=[0], ...) - -- ``IBMSampler`` class is now deprecated and will be removed in a - future release. Use ```Sampler`` `__ - class going forward. - - Example: - - Before: - - .. code:: python - - from qiskit_ibm_runtime import IBMRuntimeService, IBMSampler - service = IBMRuntimeService(channel="ibm_cloud", token="...", instance="...") - - sampler_factory = IBMSampler(service=service, backend="ibmq_qasm_simulator") - - with sampler_factory(circuits=[qc], parameters="...") as sampler: - result = sampler(circuit_indices=[0], ...) - - After: - - .. code:: python - - from qiskit_ibm_runtime import QiskitRuntimeService, Sampler - service = QiskitRuntimeService(channel="ibm_cloud", token="...", instance="...") - - with Sampler( - circuits=[qc], - parameters="...", - service=service, - options={ "backend": "ibmq_qasm_simulator" }, # or IBMBackend<"ibmq_qasm_simulator"> - ) as sampler: - result = sampler(circuit_indices=[0], ...) - -Deprecation Notes ------------------ - -- ``IBMRuntimeService``, ``IBMEstimator`` and ``IBMSampler`` classes - have been deprecated and will be removed in a future release. Use - ```QiskitRuntimeService`` `__, - ```Estimator`` `__ and - ```Sampler`` `__ classes instead. See - upgrade notes section for a detailed explanation with examples. - -0.3.0 ------ - -Upgrade Notes -------------- - -- A new parameter ``channel`` has now been added to - ``qiskit_ibm_runtime.IBMRuntimeService`` class and also to methods - like ``save_account()``, ``saved_accounts()`` and - ``delete_account()``. It can be set to ``ibm_quantum`` or - ``ibm_cloud`` to authenticate to either of the two different channels - through which Qiskit Runtime service is currently offered. - ``channel`` replaces the ``auth`` parameter which has now been - deprecated. - -Deprecation Notes ------------------ - -- The ``auth`` parameter to ``qiskit_ibm_runtime.IBMRuntimeService`` - class and also to methods like ``save_account()``, - ``saved_accounts()`` and ``delete_account()`` has now been deprecated - and will be removed in a future release. Please use the new - ``channel`` parameter instead. - -Bug Fixes ---------- - -- Fixed - `#291 `__ - where passing a single ``QuantumCircuit`` to sampler or estimator - primitives was throwing an error. - -0.2.0 ------ - -New Features ------------- - -- ``qiskit_ibm_runtime.IBMEstimator`` and - ``qiskit_ibm_runtime.IBMSampler`` classes now allow you to easily - interact with the ``estimator`` and ``sampler`` primitive programs. - Refer to the examples in the respective class doc strings to learn - more about how to use them. - -Bug Fixes ---------- - -- Fixed a bug where - ```qiskit_ibm_runtime.RuntimeJob.wait_for_final_state()`` `__ - would result in a NoneType error if the job already completed and - ```qiskit_ibm_runtime.RuntimeJob.status()`` `__ - was called beforehand. - -0.1.0 ------ - -Prelude -------- - -qiskit-ibm-runtime is a new Python API client for accessing the quantum -programs, systems and simulators at IBM Quantum via the Qiskit Runtime -Service. - -This new package is built upon the work already done in -qiskit.providers.ibmq.runtime module in the qiskit-ibmq-provider package -and replaces it going forward. The runtime module in -qiskit-ibmq-provider package is now deprecated. - -qiskit-ibm-runtime is not included as part of Qiskit meta package and -thereby you have to install it separately using -``pip install qiskit-ibm-runtime``. - -New Features ------------- - -- ``qiskit_ibm_runtime.IBMRuntimeService.least_busy()`` will now allow - you find the least busy backend. - -Upgrade Notes -------------- - -- qiskit-ibm-runtime package no longer uses the $HOME/.qiskit/qiskitrc - file used by qiskit-ibmq-provider to save credentials. Credentials - are now stored in a JSON format in $HOME/.qiskit/qiskit-ibm.json file - when you use ``qiskit_ibm_runtime.IBMRuntimeService.save_account()`` - method. - - You can now save multiple credentials and give an optional name for - each credential. - -- Qiskit Runtime service is accessible using an IBM Quantum (legacy) - account or an IBM Cloud (cloud) account. qiskit-ibm-runtime enables - you to connect to either of these accounts: - - .. code:: python - - # Legacy - from qiskit_ibm_runtime import IBMRuntimeService - service = IBMRuntimeService(auth="legacy", token="abc") - - # Cloud - from qiskit_ibm_runtime import IBMRuntimeService - service = IBMRuntimeService(auth="cloud", token="abc", instance="IBM Cloud CRN or Service instance name") - -- ```qiskit_ibm_runtime.IBMBackend`` `__ - class now implements the ``qiskit.providers.BackendV2`` interface and - provides flatter access to the configuration of a backend, for - example: - - .. code:: python - - # BackendV1: - backend.configuration().n_qubits - - # BackendV2: - backend.num_qubits - - Only breaking change when compared to BackendV1 is backend.name is - now an attribute instead of a method. - - Refer to the - ```qiskit_ibm_runtime.IBMBackend`` `__ - class doc string for a list of all available attributes. - -- If you used qiskit.providers.ibmq.AccountProvider.get_backend method - (for example, ``provider.get_backend("ibmq_qasm_simulator")``) in the - qiskit-ibmq-provider package, it’s equivalent method in this new - package is ``qiskit_ibm_runtime.IBMRuntimeService.backend()``: - - .. code:: python - - service = IBMRuntimeService() - backend = service.backend("ibmq_qasm_simulator") - -- It is now optional to specify a hub/group/project upfront when - connecting to the legacy IBM Quantum account. The hub/group/project - is selected in the following order. - - - hub/group/project if passed via ``instance`` parameter when - initializing ``qiskit_ibm_runtime.IBMRuntimeService`` - - the specific hub/group/project required by the backend - specified when calling - ``qiskit_ibm_runtime.IBMRuntimeService.run()`` - - the default set previously via - ``qiskit_ibm_runtime.IBMRuntimeService.save_account()`` - - a premium hub/group/project in your account - - open access hub/group/project - -- It is now optional to specify backend_name in options when executing - ``qiskit_ibm_runtime.IBMRuntimeService.run()`` method when using - cloud runtime (IBM Cloud only). The server will automatically pick a - backend and return the name. - -- qiskit.providers.ibmq.runtime.IBMRuntimeService.logout method in - qiskit-ibmq-provider which was used to clear authorization cache on - the server has been removed. - -- Python 3.6 has reached end of life and will no longer be supported in - the new qiskit-ibm-runtime package. - -- qiskit.providers.ibmq.runtime.IBMRuntimeService.run_circuits method - in qiskit-ibmq-provider has been removed and will be replaced by the - ``Sampler`` primitive program. - -- ``qiskit_ibm_runtime.IBMRuntimeService.run()`` method now accepts - runtime execution options as - ```qiskit_ibm_runtime.RuntimeOptions`` `__ - class in addition to already supported Dict. backend_name, image and - log_level are the currently available options. - -- Final result is also streamed now after interim results when you - specify a ``callback`` to - ``qiskit_ibm_runtime.IBMRuntimeService.run()`` or - ```qiskit_ibm_runtime.RuntimeJob.stream_results()`` `__. - -0.1.0rc2 -======== - -New Features ------------- - -- For convenience, you can now set the ``IBM Cloud service name`` as a - value for the account ``instance`` parameter. If you choose to set - the name instead of the ``CRN``, the initialization time of the - ``qiskit_ibm_runtime.IBMRuntimeService`` class is slightly higher - because the required ``CRN`` value is internally resolved via IBM - Cloud APIs. - -Bug Fixes ---------- - -- ```qiskit_ibm_runtime.utils.json.RuntimeEncoder`` `__ - and - ```qiskit_ibm_runtime.utils.json.RuntimeDecoder`` `__ - have been updated to handle instances of the Instruction class. - -- Fixed an issue where numpy ndarrays with object types could not be - serialized. - ```qiskit_ibm_runtime.utils.json.RuntimeEncoder`` `__ - and - ```qiskit_ibm_runtime.utils.json.RuntimeDecoder`` `__ - have been updated to handle these ndarrays. - -0.1.0rc1 -======== - -New Features ------------- - -- You can now pass ``instance`` parameter in the hub/group/project - format to ``qiskit_ibm_runtime.IBMRuntimeService.jobs()`` to filter - jobs. Currently only supported for legacy authentication. - -- You can now use the - ```qiskit_ibm_runtime.RuntimeJob.interim_results()`` `__ - method to retrieve runtime program interim results. Note that interim - results will only be available for up to two days. - -Upgrade Notes -------------- - -- In order to be consistent with other properties in - ```qiskit_ibm_runtime.RuntimeJob`` `__ - class the job_id and backend methods have been converted to - properties. - -- When uploading a program with - ``qiskit_ibm_runtime.IBMRuntimeService.upload_program()``, the - program description is now optional. - -- When printing programs with - ``qiskit_ibm_runtime.IBMRuntimeService.pprint_programs()``, - ``backend_requirements`` will now be listed. - -Bug Fixes ---------- - -- Fixed an issue with JSON encoding and decoding when using - ``ParameterExpression``\ s in conjunction with Qiskit Terra 0.19.1 - and above. Previously, the ``Parameter`` instances reconstructed from - the JSON output would have different unique identifiers, causing them - to seem unequal to the input. They will now have the correct backing - identities. diff --git a/docs/Makefile b/docs/Makefile index 8a08ac7a1..2caf79320 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -25,4 +25,5 @@ help: # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile + python ../tools/concat_release_notes.py @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/pyproject.toml b/pyproject.toml index 5546b9508..f195c6232 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,8 @@ line-length = 100 target-versions = ['py38', 'py39', 'py310', 'py311', 'py312'] [tool.towncrier] -filename = "CHANGES.rst" +single_file = false +filename = "releasenotes/notes/{version}.rst" directory = "releasenotes" title_format = "{version} ({project_date})" issue_format = "`{issue} `__" diff --git a/releasenotes/.gitkeep b/releasenotes/.gitkeep deleted file mode 100644 index e37bedb0b..000000000 --- a/releasenotes/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# Empty file so Git preserves the folder. \ No newline at end of file diff --git a/releasenotes/notes/0.1.0.rst b/releasenotes/notes/0.1.0.rst new file mode 100644 index 000000000..6bda79256 --- /dev/null +++ b/releasenotes/notes/0.1.0.rst @@ -0,0 +1,121 @@ +0.1.0 +===== + +Prelude +------- + +qiskit-ibm-runtime is a new Python API client for accessing the quantum +programs, systems and simulators at IBM Quantum via the Qiskit Runtime +Service. + +This new package is built upon the work already done in +qiskit.providers.ibmq.runtime module in the qiskit-ibmq-provider package +and replaces it going forward. The runtime module in +qiskit-ibmq-provider package is now deprecated. + +qiskit-ibm-runtime is not included as part of Qiskit meta package and +thereby you have to install it separately using +``pip install qiskit-ibm-runtime``. + +New Features +------------ + +- ``qiskit_ibm_runtime.IBMRuntimeService.least_busy()`` will now allow + you find the least busy backend. + +Upgrade Notes +------------- + +- qiskit-ibm-runtime package no longer uses the $HOME/.qiskit/qiskitrc + file used by qiskit-ibmq-provider to save credentials. Credentials + are now stored in a JSON format in $HOME/.qiskit/qiskit-ibm.json file + when you use ``qiskit_ibm_runtime.IBMRuntimeService.save_account()`` + method. + + You can now save multiple credentials and give an optional name for + each credential. + +- Qiskit Runtime service is accessible using an IBM Quantum (legacy) + account or an IBM Cloud (cloud) account. qiskit-ibm-runtime enables + you to connect to either of these accounts: + + .. code:: python + + # Legacy + from qiskit_ibm_runtime import IBMRuntimeService + service = IBMRuntimeService(auth="legacy", token="abc") + + # Cloud + from qiskit_ibm_runtime import IBMRuntimeService + service = IBMRuntimeService(auth="cloud", token="abc", instance="IBM Cloud CRN or Service instance name") + +- ```qiskit_ibm_runtime.IBMBackend`` `__ + class now implements the ``qiskit.providers.BackendV2`` interface and + provides flatter access to the configuration of a backend, for + example: + + .. code:: python + + # BackendV1: + backend.configuration().n_qubits + + # BackendV2: + backend.num_qubits + + Only breaking change when compared to BackendV1 is backend.name is + now an attribute instead of a method. + + Refer to the + ```qiskit_ibm_runtime.IBMBackend`` `__ + class doc string for a list of all available attributes. + +- If you used qiskit.providers.ibmq.AccountProvider.get_backend method + (for example, ``provider.get_backend("ibmq_qasm_simulator")``) in the + qiskit-ibmq-provider package, it’s equivalent method in this new + package is ``qiskit_ibm_runtime.IBMRuntimeService.backend()``: + + .. code:: python + + service = IBMRuntimeService() + backend = service.backend("ibmq_qasm_simulator") + +- It is now optional to specify a hub/group/project upfront when + connecting to the legacy IBM Quantum account. The hub/group/project + is selected in the following order. + + - hub/group/project if passed via ``instance`` parameter when + initializing ``qiskit_ibm_runtime.IBMRuntimeService`` + - the specific hub/group/project required by the backend + specified when calling + ``qiskit_ibm_runtime.IBMRuntimeService.run()`` + - the default set previously via + ``qiskit_ibm_runtime.IBMRuntimeService.save_account()`` + - a premium hub/group/project in your account + - open access hub/group/project + +- It is now optional to specify backend_name in options when executing + ``qiskit_ibm_runtime.IBMRuntimeService.run()`` method when using + cloud runtime (IBM Cloud only). The server will automatically pick a + backend and return the name. + +- qiskit.providers.ibmq.runtime.IBMRuntimeService.logout method in + qiskit-ibmq-provider which was used to clear authorization cache on + the server has been removed. + +- Python 3.6 has reached end of life and will no longer be supported in + the new qiskit-ibm-runtime package. + +- qiskit.providers.ibmq.runtime.IBMRuntimeService.run_circuits method + in qiskit-ibmq-provider has been removed and will be replaced by the + ``Sampler`` primitive program. + +- ``qiskit_ibm_runtime.IBMRuntimeService.run()`` method now accepts + runtime execution options as + ```qiskit_ibm_runtime.RuntimeOptions`` `__ + class in addition to already supported Dict. backend_name, image and + log_level are the currently available options. + +- Final result is also streamed now after interim results when you + specify a ``callback`` to + ``qiskit_ibm_runtime.IBMRuntimeService.run()`` or + ```qiskit_ibm_runtime.RuntimeJob.stream_results()`` `__. diff --git a/releasenotes/notes/0.1.0rc1.rst b/releasenotes/notes/0.1.0rc1.rst new file mode 100644 index 000000000..93da05dee --- /dev/null +++ b/releasenotes/notes/0.1.0rc1.rst @@ -0,0 +1,40 @@ +0.1.0rc1 +======== + +New Features +------------ + +- You can now pass ``instance`` parameter in the hub/group/project + format to ``qiskit_ibm_runtime.IBMRuntimeService.jobs()`` to filter + jobs. Currently only supported for legacy authentication. + +- You can now use the + ```qiskit_ibm_runtime.RuntimeJob.interim_results()`` `__ + method to retrieve runtime program interim results. Note that interim + results will only be available for up to two days. + +Upgrade Notes +------------- + +- In order to be consistent with other properties in + ```qiskit_ibm_runtime.RuntimeJob`` `__ + class the job_id and backend methods have been converted to + properties. + +- When uploading a program with + ``qiskit_ibm_runtime.IBMRuntimeService.upload_program()``, the + program description is now optional. + +- When printing programs with + ``qiskit_ibm_runtime.IBMRuntimeService.pprint_programs()``, + ``backend_requirements`` will now be listed. + +Bug Fixes +--------- + +- Fixed an issue with JSON encoding and decoding when using + ``ParameterExpression``\ s in conjunction with Qiskit Terra 0.19.1 + and above. Previously, the ``Parameter`` instances reconstructed from + the JSON output would have different unique identifiers, causing them + to seem unequal to the input. They will now have the correct backing + identities. diff --git a/releasenotes/notes/0.1.0rc2.rst b/releasenotes/notes/0.1.0rc2.rst new file mode 100644 index 000000000..86c6c8489 --- /dev/null +++ b/releasenotes/notes/0.1.0rc2.rst @@ -0,0 +1,27 @@ +0.1.0rc2 +======== + +New Features +------------ + +- For convenience, you can now set the ``IBM Cloud service name`` as a + value for the account ``instance`` parameter. If you choose to set + the name instead of the ``CRN``, the initialization time of the + ``qiskit_ibm_runtime.IBMRuntimeService`` class is slightly higher + because the required ``CRN`` value is internally resolved via IBM + Cloud APIs. + +Bug Fixes +--------- + +- ```qiskit_ibm_runtime.utils.json.RuntimeEncoder`` `__ + and + ```qiskit_ibm_runtime.utils.json.RuntimeDecoder`` `__ + have been updated to handle instances of the Instruction class. + +- Fixed an issue where numpy ndarrays with object types could not be + serialized. + ```qiskit_ibm_runtime.utils.json.RuntimeEncoder`` `__ + and + ```qiskit_ibm_runtime.utils.json.RuntimeDecoder`` `__ + have been updated to handle these ndarrays. diff --git a/releasenotes/notes/0.10.0.rst b/releasenotes/notes/0.10.0.rst new file mode 100644 index 000000000..a39b4c23f --- /dev/null +++ b/releasenotes/notes/0.10.0.rst @@ -0,0 +1,25 @@ +0.10.0 +====== + +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. diff --git a/releasenotes/notes/0.11.0.rst b/releasenotes/notes/0.11.0.rst new file mode 100644 index 000000000..eb9157380 --- /dev/null +++ b/releasenotes/notes/0.11.0.rst @@ -0,0 +1,54 @@ +0.11.0 +====== + +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: + + .. code:: python + + options.simulator = {"coupling_map": [[0, 1], [1, 0]]} + + Now we also support the following: + + .. code:: python + + 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. diff --git a/releasenotes/notes/0.11.1.rst b/releasenotes/notes/0.11.1.rst new file mode 100644 index 000000000..864bf1e0a --- /dev/null +++ b/releasenotes/notes/0.11.1.rst @@ -0,0 +1,9 @@ +0.11.1 +====== + +Deprecation Notes +----------------- + +- In + ```qiskit_ibm_runtime.RuntimeJob.metrics()`` `__, + the bss field will be replaced by usage. diff --git a/releasenotes/notes/0.11.2.rst b/releasenotes/notes/0.11.2.rst new file mode 100644 index 000000000..1eb2f79ba --- /dev/null +++ b/releasenotes/notes/0.11.2.rst @@ -0,0 +1,34 @@ +0.11.2 +====== + +New Features +------------ + +- If a job has been cancelled, and job.result() is requested, throw an + exception rather than returning None. + +- A new method, + ```qiskit_ibm_runtime.options.SimulatorOptions.set_backend()`` `__, + allows users to more easily set simulator options for a backend. + + .. code:: python + + from qiskit.providers.fake_provider import FakeManila + from qiskit_aer.noise import NoiseModel + + # Make a noise model + fake_backend = FakeManila() + + # Set options to include the noise model + options = Options() + options.simulator.set_backend(fake_backend) + options.simulator.seed_simulator = 42 + +Bug Fixes +--------- + +- Fixed infinite recursion when attempting to deepcopy an IBMBackend. + Added a method ``qiskit_ibm_runtime.IBMBackend.deepcopy()``. + +- Fixed an issue where circuit metadata was not being serialized + correctly resulting in a type error. diff --git a/releasenotes/notes/0.11.3.rst b/releasenotes/notes/0.11.3.rst new file mode 100644 index 000000000..f0d24cc66 --- /dev/null +++ b/releasenotes/notes/0.11.3.rst @@ -0,0 +1,28 @@ +0.11.3 +====== + +New Features +------------ + +- Added reason for failure when invoking the method + ```error_message()`` `__. + +- Added a new property, + ```usage_estimation()`` `__ + that returns the estimated system execution time, + ``quantum_seconds``. System execution time represents the amount of + time that the system is dedicated to processing your job. + +- Raise an exception if the number of circuits passed to + ``_run_primitive()`` exceeds the number of circuits supported on the + backend. + +- There is a new method + ```update_tags()`` `__ + that can be used to update the ``job_tags`` of a job. + +- If ``instance`` is provided as parameter to + ```qiskit_ibm_runtime.QiskitRuntimeService`` `__, + then this is used as a filter in ``QiskitRuntimeService.backends()``. + If ``instance`` is not recognized as one of the provider instances, + an exception will be raised. Previously, we only issued a warning. diff --git a/releasenotes/notes/0.12.0.rst b/releasenotes/notes/0.12.0.rst new file mode 100644 index 000000000..b982d4050 --- /dev/null +++ b/releasenotes/notes/0.12.0.rst @@ -0,0 +1,70 @@ +0.12.0 +====== + +New Features +------------ + +- Added a ``global_service``, so that if the user defines a + QiskitRuntimeService, it will be used by the primitives, even if the + service is not passed to them explicitly. For example: + + .. code:: python + + from qiskit_ibm_runtime import QiskitRuntimeService, Sampler + service = QiskitRuntimeService(channel="ibm_quantum") + # Sampler._service field will be initialized to ``service`` + sampler = Sampler(backend="ibmq_qasm_simulator") + +- Added a new method, + ```qiskit_ibm_runtime.QiskitRuntimeService.instances()`` `__ + that returns all instances(hub/group/project) the user is in. This is + only for the ``ibm_quantum`` channel since the ``ibm_cloud`` channel + does not have multiple instances. + +- Added validations for options on the second level of the dict, i.e., + for each of resilience, simulator, execution, and transpilation, + check that their options are supported. Otherwise throw an exception. + +- There is a new parameter, ``channel_strategy`` that can be set in the + initialization of + ```qiskit_ibm_runtime.QiskitRuntimeService`` `__ + or saved in + ```qiskit_ibm_runtime.QiskitRuntimeService.save_account()`` `__. + If ``channel_strategy`` is set to ``q-ctrl``, all jobs within the + service will use the Q-CTRL error mitigation strategy. + +Upgrade Notes +------------- + +- Circuits and other input parameters will no longer be automatically + stored in runtime jobs. They can still be retrieved with + ```qiskit_ibm_runtime.RuntimeJob.inputs()`` `__. + + +Deprecation Notes +----------------- + +- The ``noise_amplifier`` resilience options is deprecated. After the + deprecation period, only local folding amplification will be + supported. Refer to https://github.com/qiskit-community/prototype-zne + for global folding amplification. + +Bug Fixes +--------- + +- When running on channel “ibm_cloud”, it is possible not to specify + the backend. In this case, the system selects one of the available + backends for this service. Issue #625 + https://github.com/Qiskit/qiskit-ibm-runtime/issues/625 reported that + the the backend returned by ``job.backend()`` was not always the + actual backend on which the job was run. This PR fixes this bug. + +- Fixes a race condition in the test test_cancel_running_job() in + test_job.py where job cancellation could not be performed. Refer to + #1019 \_ + for more details. + +- Previously we added validation when jobs were run to make sure the + number of circuits was not greater than the maximum for that backend, + ``backend.max_circuits``. This limit isn’t actually necessary for + primtives run from within a session. diff --git a/releasenotes/notes/0.12.1.rst b/releasenotes/notes/0.12.1.rst new file mode 100644 index 000000000..fd5ae6387 --- /dev/null +++ b/releasenotes/notes/0.12.1.rst @@ -0,0 +1,48 @@ +0.12.1 +====== + +New Features +------------ + +- Users can use a new environment variable, ``USAGE_DATA_OPT_OUT`` to + opt out of user module usage tracking by setting this value to + ``True``. Additionally, only certain qiskit modules will be tracked + instead of all modules that begin with qiskit or qiskit\_. + +- Users can now pass in a value of ``default`` to the + ``channel_strategy`` parameter in + ```qiskit_ibm_runtime.QiskitRuntimeService`` `__. + Now, if an account is configured with a certain channel strategy, the + user can override it by passing in ``default``. + +- The Sampler and Estimator primitives have been enhanced to + incorporate custom validation procedures when the channel_strategy + property within the :class:qiskit_ibm_runtime.QiskitRuntimeService is + configured as “q-ctrl.” This customized validation logic effectively + rectifies incorrect input options and safeguards users against + inadvertently disabling Q-CTRL’s performance enhancements. + +Bug Fixes +--------- + +- Retrieving backend properties with + ```properties()`` `__ now + supports passing a ``datetime`` parameter to retrieve properties from + a past date. + +- The ``noise_factors`` and ``extrapolator`` options in + ```qiskit_ibm_runtime.options.ResilienceOptions`` `__ + will now default to ``None`` unless ``resilience_level`` is set to 2. + Only options relevant to the resilience level will be set, so when + using ``resilience_level`` 2, ``noise_factors`` will still default to + ``(1, 3, 5)`` and ``extrapolator`` will default to + ``LinearExtrapolator``. Additionally, options with a value of + ``None`` will no longer be sent to the server. + +- Job error messages will no longer be returned in all uppercase. + +- The max_execution_time option is now based on system execution time + instead of wall clock time. System execution time is the amount of + time that the system is dedicated to processing your job. If a job + exceeds this time limit, it is forcibly cancelled. Simulator jobs + continue to use wall clock time. diff --git a/releasenotes/notes/0.12.2.rst b/releasenotes/notes/0.12.2.rst new file mode 100644 index 000000000..c181632e7 --- /dev/null +++ b/releasenotes/notes/0.12.2.rst @@ -0,0 +1,27 @@ +0.12.2 +====== + +New Features +------------ + +- If using a ``channel_strategy``, only backends that support that + ``channel_strategy`` will be accessible to the user. + +- Added the option to define a default account in the account json + file. To select an account as default, define ``set_as_default=True`` + in ``QiskitRuntimeService.save_account()``. + +- Added new method ``Session.from_id`` which creates a new session with + a given id. + +- There will now be a warning if a user submits a job that is predicted + to exceed their system execution time monthly quota of 10 minutes. + This only applies to jobs run on real hardware in the instance + ``ibm-q/open/main``. If the job does end up exceeding the quota, it + will be canceled. + +Upgrade Notes +------------- + +- Job error messages now include the error code. Error codes can be + found in `errors `__. diff --git a/releasenotes/notes/0.13.0.rst b/releasenotes/notes/0.13.0.rst new file mode 100644 index 000000000..97ded54ae --- /dev/null +++ b/releasenotes/notes/0.13.0.rst @@ -0,0 +1,47 @@ +0.13.0 +====== + +New Features +------------ + +- Added a new method, + ```details()`` `__ that returns + information about a session, including: maximum session time, active + time remaining, the current state, and whether or not the session is + accepting jobs. + + Also added ```status()`` `__, + which returns the current status of the session. + +- At initialization, if not passed in directly, the default + ``instance`` selected by the provider will be logged at the “INFO” + level. When running a job, if the backend selected is not in the + default instance but in a different instance the user also has access + to, that instance will also be logged. + +Upgrade Notes +------------- + +- ```qiskit_ibm_runtime.Session.close()`` `__ + has been updated to mark a ``Session`` as no longer accepting new + jobs. The session won’t accept more jobs but it will continue to run + any queued jobs until they are done or the max time expires. This + will also happen automatically when the session context manager is + exited. When a session that is not accepting jobs has run out of jobs + to run, it’s immediately closed, freeing up the backend to run more + jobs rather than wait for the interactive timeout. + + The old close method behavior has been moved to a new method, + ```qiskit_ibm_runtime.Session.cancel()`` `__, + where all queued jobs within a session are cancelled and terminated. + +Bug Fixes +--------- + +- Fixed a bug where ``shots`` passed in as a numpy type were not being + serialized correctly. + +- Fixed a bug in + ```target_history()`` `__ + where the datetime parameter was not being used to retrieve backend + properties from the specified date. diff --git a/releasenotes/notes/0.14.0.rst b/releasenotes/notes/0.14.0.rst new file mode 100644 index 000000000..93d247b88 --- /dev/null +++ b/releasenotes/notes/0.14.0.rst @@ -0,0 +1,22 @@ +0.14.0 +====== + +New Features +------------ + +- There is a new class, ``qiskit_ibm_runtime.Batch`` that currently + works the same way as + ```qiskit_ibm_runtime.Session`` `__ but + will later be updated to better support submitting multiple jobs at + once. + +- Arbitrary keys and values are no longer allowed in ``Options``. + +Deprecation Notes +----------------- + +- Custom programs are being deprecated as of qiskit-ibm-runtime 0.14.0 + and will be removed on November 27, 2023. Users can instead convert + their custom programs to use Qiskit Runtime primitives with Quantum + Serverless. Refer to the migration guide for instructions: + https://qiskit-extensions.github.io/quantum-serverless/migration/migration_from_qiskit_runtime_programs.html diff --git a/releasenotes/notes/0.15.0.rst b/releasenotes/notes/0.15.0.rst new file mode 100644 index 000000000..1c134f649 --- /dev/null +++ b/releasenotes/notes/0.15.0.rst @@ -0,0 +1,83 @@ +0.15.0 +====== + +New Features +------------ + +- A new module + ```qiskit_ibm_runtime.fake_provider`` `__, + has been added to provide access to a series of fake backends derived + from snapshots of IBM Quantum devices. This functionality was + originally provided by the ``qiskit.providers.fake_provider`` module, + but will soon be deprecated in favor of + ```qiskit_ibm_runtime.fake_provider`` `__. + + The snapshots provided by the fake backends are useful for local + testing of the transpiler and performing local noisy simulations of + the system before running on real devices. Here is an example of + using a fake backend for transpilation and simulation: + + .. code:: python + + from qiskit import QuantumCircuit + from qiskit import transpile + from qiskit_ibm_runtime.fake_provider import FakeManilaV2 + + # Get a fake backend from the fake provider + backend = FakeManilaV2() + + # Create a simple circuit + circuit = QuantumCircuit(3) + circuit.h(0) + circuit.cx(0,1) + circuit.cx(0,2) + circuit.measure_all() + + # Transpile the ideal circuit to a circuit that can be directly executed by the backend + transpiled_circuit = transpile(circuit, backend) + + # Run the transpiled circuit using the simulated fake backend + job = backend.run(transpiled_circuit) + counts = job.result().get_counts() + +- Added support for ``backend.run()``. The functionality is similar to + that in ``qiskit-ibm-provider``. + +- An error will be raised during initialization if ``q-ctrl`` is passed + in as the ``channel_strategy`` and the account instance does not have + ``q-ctrl`` enabled. + +- Removed storing result in ``RuntimeJob._results``. Instead retrieve + results every time the ``results()`` method is called. + +Deprecation Notes +----------------- + +- Usage of the ``~/.qiskit/qiskitrc.json`` file for account information + has been deprecated. Use ``~/.qiskit/qiskit-ibm.json`` instead. + +Bug Fixes +--------- + +- Fixed an issue where canceled and failed jobs would return an invalid + result that resulted in a type error, preventing the actual error + from being returned to the user. + +- A warning will be raised at initialization if the DE environment is + being used since not all features are supported there. + +- The ``backend`` parameter in + ```from_id()`` `__ is being + deprecated because sessions do not support multiple backends. + Additionally, the ``service`` parameter is no longer optional. + +- The ``circuit_indices`` and ``observable_indices`` run inputs for + ```Estimator`` `__ and + ```Sampler`` `__ have been completely + removed. + +Other Notes +----------- + +- Added migration code for running ``backend.run`` in + qiskit_ibm_runtime instead of in qiskit_ibm_provider. diff --git a/releasenotes/notes/0.15.1.rst b/releasenotes/notes/0.15.1.rst new file mode 100644 index 000000000..0c206e3a5 --- /dev/null +++ b/releasenotes/notes/0.15.1.rst @@ -0,0 +1,9 @@ +0.15.1 +====== + +Bug Fixes +--------- + +- Reverting 0.15.0 changes to + ```from_id()`` `__ because it was + a breaking change without proper deprecation. diff --git a/releasenotes/notes/0.16.0.rst b/releasenotes/notes/0.16.0.rst new file mode 100644 index 000000000..d5f0ae097 --- /dev/null +++ b/releasenotes/notes/0.16.0.rst @@ -0,0 +1,25 @@ +0.16.0 +====== + +Prelude +------- + +Sessions are now thread-safe and allow for multiple concurrent +interactive experiments. + +New Features +------------ + +- Sessions are now thread-safe. + +Upgrade Notes +------------- + +- Methods related to using custom programs are removed. + +Bug Fixes +--------- + +- If a cloud instance that is ``q-ctrl`` enabled is used while + ``q-ctrl`` is not passed in as the ``channel_strategy``, an error + will be raised. diff --git a/releasenotes/notes/0.17.0.rst b/releasenotes/notes/0.17.0.rst new file mode 100644 index 000000000..e888f5c29 --- /dev/null +++ b/releasenotes/notes/0.17.0.rst @@ -0,0 +1,35 @@ +0.17.0 +====== + +New Features +------------ + +- Added a new method + ```properties()`` `__ which + returns the backend properties of the job at the time the job was + run. + +- ```details()`` `__ has a new + field, activated_at, which is the timestamp of when the session was + changed to active. + +Bug Fixes +--------- + +- When a single backend is retrieved with the ``instance`` parameter, + + .. code:: python + + service.backend('ibm_torino', instance='ibm-q/open/main') + # raises error if torino is not in ibm-q/open/main but in a different instance + # the user has access to + service = QiskitRuntimeService(channel="ibm_quantum", instance="ibm-q/open/main") + service.backend('ibm_torino') # raises the same error + + if the backend is not in the instance but in a different one the user + has access to, an error will be raised. The same error will now be + raised if an instance is passed in at initialization and then a + backend not in that instance is retrieved. + +- Fixed an issue where retrieving the coupling_map of some backends + would result in a NameError. diff --git a/releasenotes/notes/0.18.0.rst b/releasenotes/notes/0.18.0.rst new file mode 100644 index 000000000..6bb613f01 --- /dev/null +++ b/releasenotes/notes/0.18.0.rst @@ -0,0 +1,30 @@ +0.18.0 +====== + +New Features +------------ + +- Added a new parameter, dynamic_circuits to + ```backends()`` `__ + to allow filtering of backends that support dynamic circuits. + +- Added ``max_time`` parameter to ``IBMBackend.open_session()``. + +- Added a method ``RuntimeJob.queue_info()`` to get the queue + information from the backend. This feature was transferred from + ``qiskit_ibm_provider``. + +Deprecation Notes +----------------- + +- ```runtime()`` `__ + has been deprecated. + +Bug Fixes +--------- + +- Many methods in ```RuntimeJob`` `__ + require retrieving the job data from the API with ``job_get()``. This + API call will now exclude the ``params`` field by default because + they are only necessary in + ```qiskit_ibm_runtime.RuntimeJob.inputs()`` `__. diff --git a/releasenotes/notes/0.19.0.rst b/releasenotes/notes/0.19.0.rst new file mode 100644 index 000000000..08b61ca91 --- /dev/null +++ b/releasenotes/notes/0.19.0.rst @@ -0,0 +1,11 @@ +0.19.0 +====== + +Upgrade Notes +------------- + +- qiskit-ibm-provider is pending deprecation, and therefore will no + longer be a dependency for qiskit-ibm-runtime. + +- qiskit-ibm-runtime is now compatible with Qiskit versions >= 0.45, + including 1.0.0. diff --git a/releasenotes/notes/0.19.1.rst b/releasenotes/notes/0.19.1.rst new file mode 100644 index 000000000..be116f22e --- /dev/null +++ b/releasenotes/notes/0.19.1.rst @@ -0,0 +1,21 @@ +0.19.1 +====== + +Upgrade Notes +------------- + +- Extend ``DynamicCircuitInstructions.from_backend()`` to extract and + patch durations from both ``BackendV1`` and ``BackendV2`` objects. + Also add ``DynamicCircuitInstructions.from_target()`` to use a + ``Target`` object instead. + +Bug Fixes +--------- + +- Fix the patching of ``DynamicCircuitInstructions`` for instructions + with durations that are not in units of ``dt``. + +- Fixed an issue with the ``qpy.dump()`` function, when the + ``use_symengine`` flag was set to a truthy object that evaluated to + ``True`` but was not actually the boolean ``True`` the generated QPY + payload would be corrupt. diff --git a/releasenotes/notes/0.2.0.rst b/releasenotes/notes/0.2.0.rst new file mode 100644 index 000000000..0716d8d06 --- /dev/null +++ b/releasenotes/notes/0.2.0.rst @@ -0,0 +1,20 @@ +0.2.0 +===== + +New Features +------------ + +- ``qiskit_ibm_runtime.IBMEstimator`` and + ``qiskit_ibm_runtime.IBMSampler`` classes now allow you to easily + interact with the ``estimator`` and ``sampler`` primitive programs. + Refer to the examples in the respective class doc strings to learn + more about how to use them. + +Bug Fixes +--------- + +- Fixed a bug where + ```qiskit_ibm_runtime.RuntimeJob.wait_for_final_state()`` `__ + would result in a NoneType error if the job already completed and + ```qiskit_ibm_runtime.RuntimeJob.status()`` `__ + was called beforehand. diff --git a/releasenotes/notes/0.20.0.rst b/releasenotes/notes/0.20.0.rst new file mode 100644 index 000000000..ad0eb5563 --- /dev/null +++ b/releasenotes/notes/0.20.0.rst @@ -0,0 +1,62 @@ +0.20.0 +====== + +New Features +------------ + +- Add ``dd_barrier`` optional input to + ```PadDynamicalDecoupling`` `__ + constructor to identify portions of the circuit to apply dynamical + decoupling (dd) on selectively. If this string is contained in the + label of a barrier in the circuit, dd is applied on the delays ending + with it (on the same qubits); otherwise, it is not applied. + +- Python 3.12 is now supported. + +- Sessions will now be started with a new ``/sessions`` endpoint that + allows for different execution modes. Batch mode is now supported + through ``Batch``, and ```Session`` `__ + will work the same as way as before. Please see + `run/sessions `__ for more information. + + Note that ``Session`` and ``Batch`` created from + ``qiskit-ibm-runtime`` prior to this release will no longer be + supported after March 31, 2024. Please update your + ``qiskit-ibm-runtime`` version as soon as possible before this date. + + Also note that using simulators with sessions is no longer supported. + Users can still start sessions with simulators without any issues but + a session will not actually be created. There will be no session ID. + +- Sessions started with + ```qiskit_ibm_runtime.IBMBackend.open_session()`` `__ + will use the new ``/sessions`` endpoint. + + The sessions functionality will not change but note that + ``backend.run()`` sessions prior to this release will no longer be + supported after March 31, 2024. Please update your + ``qiskit-ibm-runtime`` version as soon as possible before this date. + +Deprecation Notes +----------------- + +- Circuits that do not match the target hardware definition will no + longer be supported after March 1, 2024. See the transpilation + documentation (`transpile `__) for instructions to + transform circuits and the primitive examples + (`run/primitives-examples `__) to see this + coupled with operator transformations. + +Bug Fixes +--------- + +- Fix assignment of instruction durations when scheduling circuits with + control flow. Prior to this fix, the indices for instructions on + inner blocks were not mapped to the physical indices in the outer + dag. + +Other Notes +----------- + +- The ``InstructionDurations`` durations input is now also required for + the constructor of ``PadDelay``. diff --git a/releasenotes/notes/0.21.0.rst b/releasenotes/notes/0.21.0.rst new file mode 100644 index 000000000..f859dc996 --- /dev/null +++ b/releasenotes/notes/0.21.0.rst @@ -0,0 +1,37 @@ +0.21.0 +====== + +Upgrade Notes +------------- + +- Circuits that do not match the target hardware definition are no + longer supported by Qiskit Runtime primitives, unless + ``channel_strategy="q-ctrl"`` is used. See the transpilation + documentation (`transpile `__) for instructions to + transform circuits and the primitive examples + (`run/primitives-examples `__) to see this + coupled with operator transformations. + +Deprecation Notes +----------------- + +- In a future release, ``backend`` will be a required parameter for + ``qiskit_ibm_runtime.Sampler``, and ``qiskit_ibm_runtime.Estimator`` + if ``session`` is not specified, even when using the ``ibm_cloud`` + channel. + + It will also be a required parameter for + ``qiskit_ibm_runtime.Session`` and ``qiskit_ibm_runtime.Batch``. + +Bug Fixes +--------- + +- Fixed an issue with the ``IBMBackend.target`` where it would + incorrectly exclude supported control flow operations (``IfElseOp``, + ``WhileLoop``, etc.) if a given backend supported them. + +- Fixed a bug where retrieving a fake backend through + ``FakeProviderForBackendV2.backend()`` would result in a type error. + +- Fixes the check for ISA circuits to allow pulse gates and circuits + that don’t have layout. diff --git a/releasenotes/notes/0.21.1.rst b/releasenotes/notes/0.21.1.rst new file mode 100644 index 000000000..2709e35e1 --- /dev/null +++ b/releasenotes/notes/0.21.1.rst @@ -0,0 +1,8 @@ +0.21.1 +====== + +Bug Fixes +--------- + +- Fixed a bug where ``SamplerV1`` and ``EstimatorV1`` could not be + imported because of an issue with how the aliases were defined. diff --git a/releasenotes/notes/0.3.0.rst b/releasenotes/notes/0.3.0.rst new file mode 100644 index 000000000..fdcc5896a --- /dev/null +++ b/releasenotes/notes/0.3.0.rst @@ -0,0 +1,31 @@ +0.3.0 +===== + +Upgrade Notes +------------- + +- A new parameter ``channel`` has now been added to + ``qiskit_ibm_runtime.IBMRuntimeService`` class and also to methods + like ``save_account()``, ``saved_accounts()`` and + ``delete_account()``. It can be set to ``ibm_quantum`` or + ``ibm_cloud`` to authenticate to either of the two different channels + through which Qiskit Runtime service is currently offered. + ``channel`` replaces the ``auth`` parameter which has now been + deprecated. + +Deprecation Notes +----------------- + +- The ``auth`` parameter to ``qiskit_ibm_runtime.IBMRuntimeService`` + class and also to methods like ``save_account()``, + ``saved_accounts()`` and ``delete_account()`` has now been deprecated + and will be removed in a future release. Please use the new + ``channel`` parameter instead. + +Bug Fixes +--------- + +- Fixed + `#291 `__ + where passing a single ``QuantumCircuit`` to sampler or estimator + primitives was throwing an error. diff --git a/releasenotes/notes/0.4.0.rst b/releasenotes/notes/0.4.0.rst new file mode 100644 index 000000000..72bcf9883 --- /dev/null +++ b/releasenotes/notes/0.4.0.rst @@ -0,0 +1,102 @@ +0.4.0 +===== + +Upgrade Notes +------------- + +- ``IBMRuntimeService`` has been renamed to ``QiskitRuntimeSerice``. + ``IBMRuntimeService`` class is now deprecated and will be removed in + a future release. + + Example: + + Before: + + .. code:: python + + from qiskit_ibm_runtime import IBMRuntimeService + service = IBMRuntimeService(channel="ibm_cloud", token="...", instance="...") + + After: + + .. code:: python + + from qiskit_ibm_runtime import QiskitRuntimeService + service = QiskitRuntimeService(channel="ibm_cloud", token="...", instance="...") + +- ``IBMEstimator`` class is now deprecated and will be removed in a + future release. Use ```Estimator`` `__ + class going forward. + + Example: + + Before: + + .. code:: python + + from qiskit_ibm_runtime import IBMRuntimeService, IBMEstimator + service = IBMRuntimeService(channel="ibm_cloud", token="...", instance="...") + + estimator_factory = IBMEstimator(service=service, backend="ibmq_qasm_simulator") + + with estimator_factory(circuits=[qc], observables="...", parameters="...") as estimator: + result = estimator(circuit_indices=[0], ...) + + After: + + .. code:: python + + from qiskit_ibm_runtime import QiskitRuntimeService, Estimator + service = QiskitRuntimeService(channel="ibm_cloud", token="...", instance="...") + + with Estimator( + circuits=[qc], + observables="...", + parameters="...", + service=service, + options={ "backend": "ibmq_qasm_simulator" }, # or IBMBackend<"ibmq_qasm_simulator"> + ) as estimator: + result = estimator(circuit_indices=[0], ...) + +- ``IBMSampler`` class is now deprecated and will be removed in a + future release. Use ```Sampler`` `__ + class going forward. + + Example: + + Before: + + .. code:: python + + from qiskit_ibm_runtime import IBMRuntimeService, IBMSampler + service = IBMRuntimeService(channel="ibm_cloud", token="...", instance="...") + + sampler_factory = IBMSampler(service=service, backend="ibmq_qasm_simulator") + + with sampler_factory(circuits=[qc], parameters="...") as sampler: + result = sampler(circuit_indices=[0], ...) + + After: + + .. code:: python + + from qiskit_ibm_runtime import QiskitRuntimeService, Sampler + service = QiskitRuntimeService(channel="ibm_cloud", token="...", instance="...") + + with Sampler( + circuits=[qc], + parameters="...", + service=service, + options={ "backend": "ibmq_qasm_simulator" }, # or IBMBackend<"ibmq_qasm_simulator"> + ) as sampler: + result = sampler(circuit_indices=[0], ...) + +Deprecation Notes +----------------- + +- ``IBMRuntimeService``, ``IBMEstimator`` and ``IBMSampler`` classes + have been deprecated and will be removed in a future release. Use + ```QiskitRuntimeService`` `__, + ```Estimator`` `__ and + ```Sampler`` `__ classes instead. See + upgrade notes section for a detailed explanation with examples. diff --git a/releasenotes/notes/0.5.0.rst b/releasenotes/notes/0.5.0.rst new file mode 100644 index 000000000..f3d8202ea --- /dev/null +++ b/releasenotes/notes/0.5.0.rst @@ -0,0 +1,114 @@ +0.5.0 +===== + +Prelude +------- + +This release leverages the API and Queue enhancements to become more +runtime session aware. As a result when using the primitives (sampler +and estimator), runtime jobs in the same session will skip to the front +of the queue, thereby speeding up the runtime session, once it has +started. + +New Features +------------ + +- The ``service`` object which is an instance of + ```QiskitRuntimeService`` `__ + class can now be accessed from + ```IBMBackend`` `__ class using the + ``service`` property. + + Ex: + + .. code:: python + + backend = service.get_backend("ibmq_qasm_simulator") + backend.service # QiskitRuntimeService instance used to instantiate the backend + +Upgrade Notes +------------- + +- ```jobs()`` `__ has two + new parameters, ``created_after`` and ``created_before``. These can + be used to filter jobs by creation date in local time. + +- The parameters ``circuit_indices`` and ``observable_indices`` when + calling ``estimator`` are now deprecated and will be removed in a + future release. You can now pass either indices or objects using the + ``circuits`` and ``observables`` parameters. + + Ex: + + .. code:: python + + with Estimator( + circuits=[qc1, qc2], + observables=[H1, H2, H3], + service=service, + options=options + ) as estimator: + # pass circuits and observables as indices + result = estimator(circuits=[0, 1], observables=[0, 1], parameter_values=[theta1, theta2]) + + # pass circuits and observables as objects + result = estimator(circuits=[qc1, qc2], observables=[H1, H3], parameter_values=[theta1, theta3]) + +- The parameters ``circuit_indices`` and ``observable_indices`` when + calling ``estimator`` are now deprecated and will be removed in a + future release. You can now pass either indices or objects using the + ``circuits`` and ``observables`` parameters. + + Ex: + + .. code:: python + + with Sampler( + circuits=[qc1, qc2], + service=service, + options=options + ) as sampler: + # pass circuits as indices + result = sampler(circuits=[0, 1], parameter_values=[theta1, theta2]) + + # pass circuit as objects + result = sampler(circuits=[qc1, qc2], parameter_values=[theta2, theta3]) + +- The ``session_id``, which is the Job ID of the first job in a runtime + session can now be used as a filter in + ```jobs()`` `__ with + the parameter ``session_id``. + +- ```run()`` `__ now + supports a new parameter, ``job_tags``. These tags can be used when + filtering jobs with + ```jobs()`` `__. + +- ```run()`` `__ now + supports a new parameter, ``max_execution_time``, which can be used + to override the default program maximum execution time. It should be + less than or equal to the program maximum execution time. + +- ```jobs()`` `__ has a + new parameter, ``descending``. This parameter defaults to ``True``, + where jobs will be returned in descending order based on creation + date. + +- ``RuntimeJobTimeoutError`` is now raised when the ``timeout`` set in + ```result()`` `__ or + ```wait_for_final_state()`` `__ + expires. + +- When initializing + ```QiskitRuntimeService`` `__ + and an invalid token is used, ``IBMNotAuthorizedError`` will be + raised instead of ``RequestsApiError``. + +- ``IBMSampler`` class which was deprecated earlier is now removed. Use + ```Sampler`` `__ class going forward. + +- ```qubit_properties()`` `__ + will now return a sub class of ``QubitProperties`` called + ``IBMQubitProperties`` and will expose anharmonicity in addition to + the t1, t2 and frequency already exposed by the ``QubitProperties`` + class. diff --git a/releasenotes/notes/0.6.0.rst b/releasenotes/notes/0.6.0.rst new file mode 100644 index 000000000..3f3c0bce3 --- /dev/null +++ b/releasenotes/notes/0.6.0.rst @@ -0,0 +1,29 @@ +0.6.0 +===== + +Upgrade Notes +------------- + +- When migrating from ``qiskit-ibmq-provider`` your ``ibm_quantum`` + channel credentials will get automatically copied over from the + qiskitrc file and a qiskit-ibm.json file will get created if one + doesn’t exist. You have to just initialize + ```QiskitRuntimeService`` `__ + class without passing any parameters to use this copied over default + ``ibm_quantum`` account. + + Ex: + + .. code:: python + + from qiskit_ibm_runtime import QiskitRuntimeService + service = QiskitRuntimeService() + +- ``IBMEstimator`` class which was deprecated earlier is now removed. + Use ```Estimator`` `__ class going + forward. + +- ``IBMRuntimeService`` class which was deprecated earlier is now + removed. Use + ```QiskitRuntimeService`` `__ + class going forward. diff --git a/releasenotes/notes/0.7.0.rst b/releasenotes/notes/0.7.0.rst new file mode 100644 index 000000000..c55cc6265 --- /dev/null +++ b/releasenotes/notes/0.7.0.rst @@ -0,0 +1,49 @@ +0.7.0 +===== + +New Features +------------ + +- ``qiskit_ibm_runtime.Options`` class now accepts arbitrary keyword + arguments. This allows users to specify new options to the primitive + programs without upgrading ``qiskit_ibm_runtime``. These arbitrary + keyword arguments, however, are not validated. + +- The + ```qiskit_ibm_runtime.options.EnvironmentOptions`` `__ + class now accepts a ``callback`` parameter. This parameter can be + used to stream the interim and final results of the primitives. + +- The ``qiskit_ibm_runtime.Options`` class now accepts + ``max_execution_time`` as a first level option and ``job_tags`` as an + option under ``environment``. + ```qiskit_ibm_runtime.RuntimeOptions`` `__ + has also been updated to include these two parameters. + +Upgrade Notes +------------- + +- This version of qiskit-ibm-runtime requires qiskit-terra version 0.22 + or higher. The ``requirements.txt`` file has been updated + accordingly. + +Deprecation Notes +----------------- + +- Qiskit Runtime programs ``torch-train``, ``torch-infer``, + ``sample-expval``, ``sample-program``, and + ``quantum_kernal_alignment`` have been deprecated due to low usage. + +- Passing ``instance`` parameter to the + ```qiskit_ibm_runtime.QiskitRuntimeService.run()`` `__ + has been deprecated. Instead, you can pass the ``instance`` parameter + inside the ``options`` parameter. + +- Passing ``job_tags`` and ``max_execution_time`` as parameters to + ```qiskit_ibm_runtime.QiskitRuntimeService`` `__ + has been deprecated. Please pass them inside ``options``. + +Bug Fixes +--------- + +- Fixes the missing section on retrieving jobs in the how-to guide. diff --git a/releasenotes/notes/0.7.0rc1.rst b/releasenotes/notes/0.7.0rc1.rst new file mode 100644 index 000000000..8ee779dd4 --- /dev/null +++ b/releasenotes/notes/0.7.0rc1.rst @@ -0,0 +1,154 @@ +0.7.0rc1 +======== + +Prelude +------- + +There are significant changes to how primitives are invoked within a +session, and the options available to the primitives. Please review the +rest of the release notes and the tutorials for full information. + +New Features +------------ + +- You can now invoke the same or different primitive programs multiple + times within a session. For example: + + .. code:: python + + from qiskit_ibm_runtime import QiskitRuntimeService, Session, Sampler, Estimator, Options + from qiskit.test.reference_circuits import ReferenceCircuits + from qiskit.circuit.library import RealAmplitudes + from qiskit.quantum_info import SparsePauliOp + + # Initialize account. + service = QiskitRuntimeService() + + # Set options, which can be overwritten at job level. + options = Options(optimization_level=1) + + # Prepare inputs. + bell = ReferenceCircuits.bell() + psi = RealAmplitudes(num_qubits=2, reps=2) + H1 = SparsePauliOp.from_list([("II", 1), ("IZ", 2), ("XI", 3)]) + theta = [0, 1, 1, 2, 3, 5] + + with Session(service=service, backend="ibmq_qasm_simulator") as session: + # Submit a request to the Sampler primitive within the session. + sampler = Sampler(session=session, options=options) + job = sampler.run(circuits=bell) + print(f"Sampler results: {job.result()}") + + # Submit a request to the Estimator primitive within the session. + estimator = Estimator(session=session, options=options) + job = estimator.run( + circuits=[psi], observables=[H1], parameter_values=[theta] + ) + print(f"Estimator results: {job.result()}") + +- A new ``qiskit_ibm_runtime.Options`` class is introduced. This class + allows you to auto-complete options related to primitive programs. + For example: + + .. code:: python + + from qiskit_ibm_runtime import Session, Sampler, Options + from qiskit.test.reference_circuits import ReferenceCircuits + + options = Options() + options.optimization_level = 3 # This can be done using auto-complete. + + with Session(backend="ibmq_qasm_simulator") as session: + # Pass the options to Sampler. + sampler = Sampler(session=session, options=options) + + # Or at job level. + job = sampler.run(circuits=ReferenceCircuits.bell(), shots=4000) + +- ```qiskit_ibm_runtime.RuntimeJob`` `__ + has a new method + ```metrics()`` `__. This + method returns the metrics of a job, which includes timestamp + information. + +- The + ```qiskit_ibm_runtime.QiskitRuntimeService`` `__ + ``channel`` can now be stored as an environment variable, + ``QISKIT_IBM_CHANNEL``. This way, when using Runtime Primitives, the + service does not have to be instantiated manually and can instead be + created directly from environment variables. + +Upgrade Notes +------------- + +- Raise ``RuntimeJobMaxTimeoutError`` when a job runs for too long so + that it can be handled appropriately by programs. + +- The experimental parameters ``transpilation_settings``, + ``resilience_settings``, and ``max_time`` to the + :class:\`qiskit_ibm_runtime.Sampler and + ```qiskit_ibm_runtime.Estimator`` `__ + constructors have been removed. You can instead use the + ``qiskit_ibm_runtime.Options`` class to specify the settings, and + ``max_time`` can be specified when starting a new session. For + example: + + .. code:: python + + from qiskit_ibm_runtime import Session, Sampler, Options + + options = Options() + # This can be done using auto-complete. + option.optimization_level = 3 + options.resilience_level = 1 + + with Session(max_time="2h") as session: + # Pass the options to Sampler. + sampler = Sampler(session=session, options=options) + +- Since some accounts have many runtime programs, caching a list of all + programs on the first call of ``programs()`` has been removed. + Instead, programs will only be cached up to the ``limit`` given, + which has a default value of 20. + +Deprecation Notes +----------------- + +- Invoking + ```qiskit_ibm_runtime.Sampler`` `__ and + ```qiskit_ibm_runtime.Estimator`` `__ + as context managers has been deprecated. You can instead use the + qiskit_ibm_runtime.Session class to create a new session and invoke + one or more primitives within the session. + + As a result, passing input parameters, such as ``circuits``, + ``observables``, and ``parameter_values``, as well as ``service`` to + the constructors of ``Sampler`` and ``Estimator`` has also been + deprecated. The inputs can now be passed to the ``run()`` method of + the primitive classes, and ``service`` can be passed to + ```qiskit_ibm_runtime.Session`` `__ when + starting a new session. + +- Passing ``skip_transpilation`` to the + :class:\`qiskit_ibm_runtime.Sampler and + ```qiskit_ibm_runtime.Estimator`` `__ + constructors has been deprecated. You can instead use the + ``qiskit_ibm_runtime.Options`` class to specify this option. For + example: + + .. code:: python + + from qiskit_ibm_runtime import Options + + options = Options() + # This can be done using auto-complete. + options.transpilation.skip_transpilation = True + +Bug Fixes +--------- + +- Fixes issue + `#428 `__ by + raising the minimum required ``qiskit-terra`` version to ``0.21.0``, + since latest version of ``qiskit-ibm-runtime`` is not compatible with + ``0.20.0`` or earlier of ``qiskit-terra``. diff --git a/releasenotes/notes/0.7.0rc2.rst b/releasenotes/notes/0.7.0rc2.rst new file mode 100644 index 000000000..9d229056a --- /dev/null +++ b/releasenotes/notes/0.7.0rc2.rst @@ -0,0 +1,33 @@ +0.7.0rc2 +======== + +Upgrade Notes +------------- + +- Added a validation check to + ```run()`` `__. It raises an error if + there is no classical bit. + +- ```Sampler`` `__ is updated to return + ``SamplerResult`` with ``SamplerResult.quasi_dists`` as a list of + ``QuasiDistrbution``. It used to set a list of ``dict`` as + ``SamplerResult.quasi_dists``, but it did not follow the design of + ``SamplerResult``. + +- The ```RuntimeJob`` `__ class is now a + subclass of ``qiskit.providers.Job``. + +Deprecation Notes +----------------- + +- ``job_id`` and ``backend`` attributes of + ```qiskit_ibm_runtime.RuntimeJob`` `__ + have been deprecated. Please use + ```qiskit_ibm_runtime.RuntimeJob.job_id()`` `__ + and + ```qiskit_ibm_runtime.RuntimeJob.backend()`` `__ + methods instead. + +- The ``backend_name`` attribute in + ```qiskit_ibm_runtime.RuntimeOptions`` `__ + is deprecated and replaced by ``backend``. diff --git a/releasenotes/notes/0.8.0.rst b/releasenotes/notes/0.8.0.rst new file mode 100644 index 000000000..5cfc6520b --- /dev/null +++ b/releasenotes/notes/0.8.0.rst @@ -0,0 +1,42 @@ +0.8.0 +===== + +New Features +------------ + +- Python 3.10 is now supported. + +- Advanced resilience options can now be set under + ``options.resilience``. See + ```qiskit_ibm_runtime.options.ResilienceOptions`` `__ + for all available options. + +- You can now specify a pair of result decoders for the + ``result_decoder`` parameter of + ```qiskit_ibm_runtime.QiskitRuntimeService.run()`` `__ + method. If a pair is specified, the first one is used to decode + interim results and the second the final results. + +Upgrade Notes +------------- + +- The default ``resilience_level`` option for has been changed from 0 + to 1. In addition, the default ``optimization_level`` option has been + changed from 1 to 3. + +Deprecation Notes +----------------- + +- The transpilation options ``translation_method`` and + ``timing_constraints`` have been deprecated. + +Bug Fixes +--------- + +- If a + ```qiskit_ibm_runtime.IBMBackend`` `__ + instance is passed to the + ```qiskit_ibm_runtime.Session`` `__ + constructor, the service used to initialize the ``IBMBackend`` + instance is used for the session instead of the default account + service. diff --git a/releasenotes/notes/0.9.0.rst b/releasenotes/notes/0.9.0.rst new file mode 100644 index 000000000..065944efb --- /dev/null +++ b/releasenotes/notes/0.9.0.rst @@ -0,0 +1,27 @@ +0.9.0 +===== + +Upgrade Notes +------------- + +- Changed the default values for ``optimization_level`` and for + ``resilience_level`` in ``qiskit_ibm_runtime.Options``. If their + values are defined by the user, they are not modified. If not set, if + the backend is a noiseless simulator then ``optimization_level`` is + set to 1 and ``resilience_level`` is set to 0; Otherwise, they are be + set to 3 and 1 respectively. + +- ```session_id()`` `__ and + ```tags()`` `__ were added for an + easy way to return the session_id and job_tags of a job. + +Bug Fixes +--------- + +- Fixed a bug where jobs that did not run before a session closes are + not actually run as a part of that session. Jobs should run as a part + of a session even if that session is closed by the exit of the + context manager. + +- Fixes the issue wherein submitting a large job fails due to write + operation timeout. diff --git a/releasenotes/notes/0.9.1.rst b/releasenotes/notes/0.9.1.rst new file mode 100644 index 000000000..6458bdd36 --- /dev/null +++ b/releasenotes/notes/0.9.1.rst @@ -0,0 +1,44 @@ +0.9.1 +===== + +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: + + .. code:: python + + QiskitRuntimeService.save_account(channel="ibm_quantum", + filename="~/my_account_file.json", + name = "my_account", + token="my_token") + service = QiskitRuntimeService(channel="ibm_quantum", + filename="~/my_account_file.json", + 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. diff --git a/releasenotes/notes/0.9.2.rst b/releasenotes/notes/0.9.2.rst new file mode 100644 index 000000000..78b16a151 --- /dev/null +++ b/releasenotes/notes/0.9.2.rst @@ -0,0 +1,61 @@ +0.9.2 +===== + +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 ``BlueprintCircuit``\ s 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. diff --git a/releasenotes/notes/0.9.3.rst b/releasenotes/notes/0.9.3.rst new file mode 100644 index 000000000..3c48c8528 --- /dev/null +++ b/releasenotes/notes/0.9.3.rst @@ -0,0 +1,30 @@ +0.9.3 +===== + +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. diff --git a/releasenotes/notes/0.9.4.rst b/releasenotes/notes/0.9.4.rst new file mode 100644 index 000000000..809272e29 --- /dev/null +++ b/releasenotes/notes/0.9.4.rst @@ -0,0 +1,45 @@ +0.9.4 +===== + +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. diff --git a/tools/concat_release_notes.py b/tools/concat_release_notes.py new file mode 100644 index 000000000..0238324cf --- /dev/null +++ b/tools/concat_release_notes.py @@ -0,0 +1,51 @@ +from packaging import version +from pathlib import Path +import os + + +def get_root_path(): + return os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +def get_version_from_path(path): + return str(path).split("/").pop().replace(".rst", "") + + +def sort_release_notes_paths(release_notes_paths): + return sorted( + release_notes_paths.iterdir(), + key=lambda x: version.parse(get_version_from_path(x)), + reverse=True, + ) + + +def generate_header(output_file): + file = open(output_file, "w") + file.write( + "=======================================\n\ +Qiskit Runtime IBM Client release notes\n\ +=======================================\n\ +\n\ +.. towncrier release notes start\n" + ) + file.close() + + +def concat_release_notes(output_file, release_notes_paths): + file = open(output_file, "a") + for release_note in release_notes_paths: + file.write(f"\n{release_note.read_text()}") + file.close() + + +def main(): + output_file = Path(f"{get_root_path()}/CHANGES.rst") + release_notes_paths = sort_release_notes_paths( + Path(f"{get_root_path()}/releasenotes/notes") + ) + generate_header(output_file) + concat_release_notes(output_file, release_notes_paths) + + +if __name__ == "__main__": + main() diff --git a/tox.ini b/tox.ini index 5280da0e9..391e0a413 100644 --- a/tox.ini +++ b/tox.ini @@ -40,6 +40,7 @@ envdir = .tox/docs deps = -r requirements-dev.txt commands = + python ../tools/concat_release_notes.py sphinx-build -j auto -W -b html {posargs} {toxinidir}/docs {toxinidir}/docs/_build/html [testenv:docs-clean] From b1ba272382e61049cc25fc8639dd030a583df4fb Mon Sep 17 00:00:00 2001 From: Arnau Casau Date: Wed, 13 Mar 2024 14:09:24 +0100 Subject: [PATCH 10/18] fix tox --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 391e0a413..35580b13c 100644 --- a/tox.ini +++ b/tox.ini @@ -40,7 +40,7 @@ envdir = .tox/docs deps = -r requirements-dev.txt commands = - python ../tools/concat_release_notes.py + python tools/concat_release_notes.py sphinx-build -j auto -W -b html {posargs} {toxinidir}/docs {toxinidir}/docs/_build/html [testenv:docs-clean] From e4e13535cdd0610838964b5d854fa059116c437e Mon Sep 17 00:00:00 2001 From: Arnau Casau Date: Wed, 13 Mar 2024 14:51:05 +0100 Subject: [PATCH 11/18] type hints, remove os import and change release notes file --- .gitignore | 2 +- docs/release_notes.rst | 1 - tools/concat_release_notes.py | 28 ++++++++++++---------------- 3 files changed, 13 insertions(+), 18 deletions(-) delete mode 100644 docs/release_notes.rst diff --git a/.gitignore b/.gitignore index d2d75f10f..125e6bad6 100644 --- a/.gitignore +++ b/.gitignore @@ -112,4 +112,4 @@ Qconfig.py .idea # Generated release notes file -CHANGES.rst +docs/release_notes.rst diff --git a/docs/release_notes.rst b/docs/release_notes.rst deleted file mode 100644 index d9e113ec6..000000000 --- a/docs/release_notes.rst +++ /dev/null @@ -1 +0,0 @@ -.. include:: ../CHANGES.rst diff --git a/tools/concat_release_notes.py b/tools/concat_release_notes.py index 0238324cf..2b7f33f6b 100644 --- a/tools/concat_release_notes.py +++ b/tools/concat_release_notes.py @@ -1,17 +1,16 @@ from packaging import version -from pathlib import Path -import os +from pathlib import Path, PurePosixPath -def get_root_path(): - return os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +def get_root_path() -> Path: + return PurePosixPath(Path(__file__).absolute()).parent.parent -def get_version_from_path(path): +def get_version_from_path(path: Path) -> str: return str(path).split("/").pop().replace(".rst", "") -def sort_release_notes_paths(release_notes_paths): +def sort_release_notes_paths(release_notes_paths: list[Path]) -> list[Path]: return sorted( release_notes_paths.iterdir(), key=lambda x: version.parse(get_version_from_path(x)), @@ -19,27 +18,24 @@ def sort_release_notes_paths(release_notes_paths): ) -def generate_header(output_file): - file = open(output_file, "w") - file.write( +def generate_header(output_file: Path) -> None: + output_file.write_text( "=======================================\n\ Qiskit Runtime IBM Client release notes\n\ =======================================\n\ \n\ .. towncrier release notes start\n" ) - file.close() -def concat_release_notes(output_file, release_notes_paths): - file = open(output_file, "a") - for release_note in release_notes_paths: - file.write(f"\n{release_note.read_text()}") - file.close() +def concat_release_notes(output_file: Path, release_notes_paths: list[Path]) -> None: + with output_file.open("a") as file: + for release_note in release_notes_paths: + file.write(f"\n{release_note.read_text()}") def main(): - output_file = Path(f"{get_root_path()}/CHANGES.rst") + output_file = Path(f"{get_root_path()}/docs/release_notes.rst") release_notes_paths = sort_release_notes_paths( Path(f"{get_root_path()}/releasenotes/notes") ) From 9598d789f778233a5a8a53718b09f398affa00cb Mon Sep 17 00:00:00 2001 From: Arnau Casau Date: Wed, 13 Mar 2024 14:52:19 +0100 Subject: [PATCH 12/18] use Path --- tools/concat_release_notes.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/concat_release_notes.py b/tools/concat_release_notes.py index 2b7f33f6b..50ceabffa 100644 --- a/tools/concat_release_notes.py +++ b/tools/concat_release_notes.py @@ -1,9 +1,9 @@ from packaging import version -from pathlib import Path, PurePosixPath +from pathlib import Path def get_root_path() -> Path: - return PurePosixPath(Path(__file__).absolute()).parent.parent + return Path(Path(__file__).absolute()).parent.parent def get_version_from_path(path: Path) -> str: From 4799beae39c336f89cf6a3fb8cea344d474779a2 Mon Sep 17 00:00:00 2001 From: Arnau Casau Date: Wed, 13 Mar 2024 14:59:11 +0100 Subject: [PATCH 13/18] move release note to parent folder --- .../{notes => }/dd-include-clean-qubits-710700437913509a.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename releasenotes/{notes => }/dd-include-clean-qubits-710700437913509a.yaml (100%) diff --git a/releasenotes/notes/dd-include-clean-qubits-710700437913509a.yaml b/releasenotes/dd-include-clean-qubits-710700437913509a.yaml similarity index 100% rename from releasenotes/notes/dd-include-clean-qubits-710700437913509a.yaml rename to releasenotes/dd-include-clean-qubits-710700437913509a.yaml From 4dcfc06d0708b1f41856c19d83e8dfd272d892e2 Mon Sep 17 00:00:00 2001 From: Arnau Casau <47946624+arnaucasau@users.noreply.github.com> Date: Wed, 13 Mar 2024 15:13:45 +0100 Subject: [PATCH 14/18] Update tools/concat_release_notes.py Co-authored-by: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com> --- tools/concat_release_notes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/concat_release_notes.py b/tools/concat_release_notes.py index 50ceabffa..6f57ad5a8 100644 --- a/tools/concat_release_notes.py +++ b/tools/concat_release_notes.py @@ -3,7 +3,7 @@ def get_root_path() -> Path: - return Path(Path(__file__).absolute()).parent.parent + return Path(__file__).resolve().parent.parent def get_version_from_path(path: Path) -> str: From da593bc8463aaf78ad94da096492833cbb0a6d99 Mon Sep 17 00:00:00 2001 From: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com> Date: Wed, 13 Mar 2024 10:42:05 -0400 Subject: [PATCH 15/18] Improvements to Arnau's changes - fix CONTRIBUTING.md to not talk about CHANGES.rst - use pathlib more - convert new release note to Towncrier - fix requirements.txt --- CONTRIBUTING.md | 3 +-- releasenotes/1409.upgrade.rst | 4 ++++ .../dd-include-clean-qubits-710700437913509a.yaml | 7 ------- requirements-dev.txt | 4 ++-- tools/concat_release_notes.py | 12 ++++++------ 5 files changed, 13 insertions(+), 17 deletions(-) create mode 100644 releasenotes/1409.upgrade.rst delete mode 100644 releasenotes/dd-include-clean-qubits-710700437913509a.yaml diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7dbbf7036..caaedcda6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -147,8 +147,7 @@ You can preview how the release notes look with the Sphinx docs build by using Towncrier. First, install Towncrier with [`pipx`](https://pipx.pypa.io/stable/) by running `pipx install tonwcrier`. -Then, run `towncrier build --version=unreleased --keep`. Be careful to not save the changes -to CHANGES.rst to Git! +Then, run `towncrier build --version=unreleased --keep`. Be careful to not save the file `unreleased.rst` to Git! Finally, preview the docs build by following the instructions in [Building documentation locally](#building-documentation-locally). diff --git a/releasenotes/1409.upgrade.rst b/releasenotes/1409.upgrade.rst new file mode 100644 index 000000000..899bd1bef --- /dev/null +++ b/releasenotes/1409.upgrade.rst @@ -0,0 +1,4 @@ +Modify ``skip_reset_qubits`` optional flag to the constructor for +```PadDynamicalDecoupling`` `__. If ``False``, dynamical decoupling is applied on +qubits regardless of their state, even on delays that are at the beginning +of a circuit. This option now matches the behavior in Qiskit. diff --git a/releasenotes/dd-include-clean-qubits-710700437913509a.yaml b/releasenotes/dd-include-clean-qubits-710700437913509a.yaml deleted file mode 100644 index d179075c2..000000000 --- a/releasenotes/dd-include-clean-qubits-710700437913509a.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -upgrade: - - | - Modify ``skip_reset_qubits`` optional flag to the constructor for :class:`. - PadDynamicalDecoupling`. If ``False``, dynamical decoupling is applied on - qubits regardless of their state, even on delays that are at the beginning - of a circuit. This option now matches the behavior in qiskit. diff --git a/requirements-dev.txt b/requirements-dev.txt index 7236cd015..9cc86ef00 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -22,5 +22,5 @@ Sphinx>=6 sphinx-automodapi sphinx-autodoc-typehints<=1.19.2 jupyter-sphinx -reno>=2.11.0 -sphinxcontrib-katex==0.9.9 \ No newline at end of file +sphinxcontrib-katex==0.9.9 +packaging diff --git a/tools/concat_release_notes.py b/tools/concat_release_notes.py index 6f57ad5a8..3cd9a8368 100644 --- a/tools/concat_release_notes.py +++ b/tools/concat_release_notes.py @@ -7,7 +7,9 @@ def get_root_path() -> Path: def get_version_from_path(path: Path) -> str: - return str(path).split("/").pop().replace(".rst", "") + # For unreleased.rst, use a high version number we'll never reach so that + # unreleased always shows up as the newest entry. + return "99.0.9" if path.stem == "unreleased" else path.stem def sort_release_notes_paths(release_notes_paths: list[Path]) -> list[Path]: @@ -34,11 +36,9 @@ def concat_release_notes(output_file: Path, release_notes_paths: list[Path]) -> file.write(f"\n{release_note.read_text()}") -def main(): - output_file = Path(f"{get_root_path()}/docs/release_notes.rst") - release_notes_paths = sort_release_notes_paths( - Path(f"{get_root_path()}/releasenotes/notes") - ) +def main() -> None: + output_file = get_root_path() / "docs/release_notes.rst" + release_notes_paths = sort_release_notes_paths(get_root_path() / "releasenotes/notes") generate_header(output_file) concat_release_notes(output_file, release_notes_paths) From 5529c6ccad75a70c9fc69381dc18c2c12a999d5f Mon Sep 17 00:00:00 2001 From: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com> Date: Wed, 13 Mar 2024 10:56:57 -0400 Subject: [PATCH 16/18] Change paths --- CONTRIBUTING.md | 2 +- pyproject.toml | 4 ++-- {releasenotes/notes => release-notes}/0.1.0.rst | 0 {releasenotes/notes => release-notes}/0.1.0rc1.rst | 0 {releasenotes/notes => release-notes}/0.1.0rc2.rst | 0 {releasenotes/notes => release-notes}/0.10.0.rst | 0 {releasenotes/notes => release-notes}/0.11.0.rst | 0 {releasenotes/notes => release-notes}/0.11.1.rst | 0 {releasenotes/notes => release-notes}/0.11.2.rst | 0 {releasenotes/notes => release-notes}/0.11.3.rst | 0 {releasenotes/notes => release-notes}/0.12.0.rst | 0 {releasenotes/notes => release-notes}/0.12.1.rst | 0 {releasenotes/notes => release-notes}/0.12.2.rst | 0 {releasenotes/notes => release-notes}/0.13.0.rst | 0 {releasenotes/notes => release-notes}/0.14.0.rst | 0 {releasenotes/notes => release-notes}/0.15.0.rst | 0 {releasenotes/notes => release-notes}/0.15.1.rst | 0 {releasenotes/notes => release-notes}/0.16.0.rst | 0 {releasenotes/notes => release-notes}/0.17.0.rst | 0 {releasenotes/notes => release-notes}/0.18.0.rst | 0 {releasenotes/notes => release-notes}/0.19.0.rst | 0 {releasenotes/notes => release-notes}/0.19.1.rst | 0 {releasenotes/notes => release-notes}/0.2.0.rst | 0 {releasenotes/notes => release-notes}/0.20.0.rst | 0 {releasenotes/notes => release-notes}/0.21.0.rst | 0 {releasenotes/notes => release-notes}/0.21.1.rst | 0 {releasenotes/notes => release-notes}/0.3.0.rst | 0 {releasenotes/notes => release-notes}/0.4.0.rst | 0 {releasenotes/notes => release-notes}/0.5.0.rst | 0 {releasenotes/notes => release-notes}/0.6.0.rst | 0 {releasenotes/notes => release-notes}/0.7.0.rst | 0 {releasenotes/notes => release-notes}/0.7.0rc1.rst | 0 {releasenotes/notes => release-notes}/0.7.0rc2.rst | 0 {releasenotes/notes => release-notes}/0.8.0.rst | 0 {releasenotes/notes => release-notes}/0.9.0.rst | 0 {releasenotes/notes => release-notes}/0.9.1.rst | 0 {releasenotes/notes => release-notes}/0.9.2.rst | 0 {releasenotes/notes => release-notes}/0.9.3.rst | 0 {releasenotes/notes => release-notes}/0.9.4.rst | 0 release-notes/unreleased/.gitkeep | 2 ++ {releasenotes => release-notes/unreleased}/1409.upgrade.rst | 0 tools/concat_release_notes.py | 6 +++--- 42 files changed, 8 insertions(+), 6 deletions(-) rename {releasenotes/notes => release-notes}/0.1.0.rst (100%) rename {releasenotes/notes => release-notes}/0.1.0rc1.rst (100%) rename {releasenotes/notes => release-notes}/0.1.0rc2.rst (100%) rename {releasenotes/notes => release-notes}/0.10.0.rst (100%) rename {releasenotes/notes => release-notes}/0.11.0.rst (100%) rename {releasenotes/notes => release-notes}/0.11.1.rst (100%) rename {releasenotes/notes => release-notes}/0.11.2.rst (100%) rename {releasenotes/notes => release-notes}/0.11.3.rst (100%) rename {releasenotes/notes => release-notes}/0.12.0.rst (100%) rename {releasenotes/notes => release-notes}/0.12.1.rst (100%) rename {releasenotes/notes => release-notes}/0.12.2.rst (100%) rename {releasenotes/notes => release-notes}/0.13.0.rst (100%) rename {releasenotes/notes => release-notes}/0.14.0.rst (100%) rename {releasenotes/notes => release-notes}/0.15.0.rst (100%) rename {releasenotes/notes => release-notes}/0.15.1.rst (100%) rename {releasenotes/notes => release-notes}/0.16.0.rst (100%) rename {releasenotes/notes => release-notes}/0.17.0.rst (100%) rename {releasenotes/notes => release-notes}/0.18.0.rst (100%) rename {releasenotes/notes => release-notes}/0.19.0.rst (100%) rename {releasenotes/notes => release-notes}/0.19.1.rst (100%) rename {releasenotes/notes => release-notes}/0.2.0.rst (100%) rename {releasenotes/notes => release-notes}/0.20.0.rst (100%) rename {releasenotes/notes => release-notes}/0.21.0.rst (100%) rename {releasenotes/notes => release-notes}/0.21.1.rst (100%) rename {releasenotes/notes => release-notes}/0.3.0.rst (100%) rename {releasenotes/notes => release-notes}/0.4.0.rst (100%) rename {releasenotes/notes => release-notes}/0.5.0.rst (100%) rename {releasenotes/notes => release-notes}/0.6.0.rst (100%) rename {releasenotes/notes => release-notes}/0.7.0.rst (100%) rename {releasenotes/notes => release-notes}/0.7.0rc1.rst (100%) rename {releasenotes/notes => release-notes}/0.7.0rc2.rst (100%) rename {releasenotes/notes => release-notes}/0.8.0.rst (100%) rename {releasenotes/notes => release-notes}/0.9.0.rst (100%) rename {releasenotes/notes => release-notes}/0.9.1.rst (100%) rename {releasenotes/notes => release-notes}/0.9.2.rst (100%) rename {releasenotes/notes => release-notes}/0.9.3.rst (100%) rename {releasenotes/notes => release-notes}/0.9.4.rst (100%) create mode 100644 release-notes/unreleased/.gitkeep rename {releasenotes => release-notes/unreleased}/1409.upgrade.rst (100%) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index caaedcda6..f78860ac0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -94,7 +94,7 @@ Then, identify which type of change your release note is: - `bug` (bug fix) - `other` (other note) -Now, create a new file in the `releasenotes` folder in the format `..rst`, +Now, create a new file in the `release-notes/unreleased` folder in the format `..rst`, such as `156.bug.rst` or `231.feat.rst`. Open up the new release note file and provide a description of the change, such as what users need diff --git a/pyproject.toml b/pyproject.toml index f195c6232..80ae81098 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,8 +8,8 @@ target-versions = ['py38', 'py39', 'py310', 'py311', 'py312'] [tool.towncrier] single_file = false -filename = "releasenotes/notes/{version}.rst" -directory = "releasenotes" +filename = "release-notes/{version}.rst" +directory = "release-notes/unreleased" title_format = "{version} ({project_date})" issue_format = "`{issue} `__" diff --git a/releasenotes/notes/0.1.0.rst b/release-notes/0.1.0.rst similarity index 100% rename from releasenotes/notes/0.1.0.rst rename to release-notes/0.1.0.rst diff --git a/releasenotes/notes/0.1.0rc1.rst b/release-notes/0.1.0rc1.rst similarity index 100% rename from releasenotes/notes/0.1.0rc1.rst rename to release-notes/0.1.0rc1.rst diff --git a/releasenotes/notes/0.1.0rc2.rst b/release-notes/0.1.0rc2.rst similarity index 100% rename from releasenotes/notes/0.1.0rc2.rst rename to release-notes/0.1.0rc2.rst diff --git a/releasenotes/notes/0.10.0.rst b/release-notes/0.10.0.rst similarity index 100% rename from releasenotes/notes/0.10.0.rst rename to release-notes/0.10.0.rst diff --git a/releasenotes/notes/0.11.0.rst b/release-notes/0.11.0.rst similarity index 100% rename from releasenotes/notes/0.11.0.rst rename to release-notes/0.11.0.rst diff --git a/releasenotes/notes/0.11.1.rst b/release-notes/0.11.1.rst similarity index 100% rename from releasenotes/notes/0.11.1.rst rename to release-notes/0.11.1.rst diff --git a/releasenotes/notes/0.11.2.rst b/release-notes/0.11.2.rst similarity index 100% rename from releasenotes/notes/0.11.2.rst rename to release-notes/0.11.2.rst diff --git a/releasenotes/notes/0.11.3.rst b/release-notes/0.11.3.rst similarity index 100% rename from releasenotes/notes/0.11.3.rst rename to release-notes/0.11.3.rst diff --git a/releasenotes/notes/0.12.0.rst b/release-notes/0.12.0.rst similarity index 100% rename from releasenotes/notes/0.12.0.rst rename to release-notes/0.12.0.rst diff --git a/releasenotes/notes/0.12.1.rst b/release-notes/0.12.1.rst similarity index 100% rename from releasenotes/notes/0.12.1.rst rename to release-notes/0.12.1.rst diff --git a/releasenotes/notes/0.12.2.rst b/release-notes/0.12.2.rst similarity index 100% rename from releasenotes/notes/0.12.2.rst rename to release-notes/0.12.2.rst diff --git a/releasenotes/notes/0.13.0.rst b/release-notes/0.13.0.rst similarity index 100% rename from releasenotes/notes/0.13.0.rst rename to release-notes/0.13.0.rst diff --git a/releasenotes/notes/0.14.0.rst b/release-notes/0.14.0.rst similarity index 100% rename from releasenotes/notes/0.14.0.rst rename to release-notes/0.14.0.rst diff --git a/releasenotes/notes/0.15.0.rst b/release-notes/0.15.0.rst similarity index 100% rename from releasenotes/notes/0.15.0.rst rename to release-notes/0.15.0.rst diff --git a/releasenotes/notes/0.15.1.rst b/release-notes/0.15.1.rst similarity index 100% rename from releasenotes/notes/0.15.1.rst rename to release-notes/0.15.1.rst diff --git a/releasenotes/notes/0.16.0.rst b/release-notes/0.16.0.rst similarity index 100% rename from releasenotes/notes/0.16.0.rst rename to release-notes/0.16.0.rst diff --git a/releasenotes/notes/0.17.0.rst b/release-notes/0.17.0.rst similarity index 100% rename from releasenotes/notes/0.17.0.rst rename to release-notes/0.17.0.rst diff --git a/releasenotes/notes/0.18.0.rst b/release-notes/0.18.0.rst similarity index 100% rename from releasenotes/notes/0.18.0.rst rename to release-notes/0.18.0.rst diff --git a/releasenotes/notes/0.19.0.rst b/release-notes/0.19.0.rst similarity index 100% rename from releasenotes/notes/0.19.0.rst rename to release-notes/0.19.0.rst diff --git a/releasenotes/notes/0.19.1.rst b/release-notes/0.19.1.rst similarity index 100% rename from releasenotes/notes/0.19.1.rst rename to release-notes/0.19.1.rst diff --git a/releasenotes/notes/0.2.0.rst b/release-notes/0.2.0.rst similarity index 100% rename from releasenotes/notes/0.2.0.rst rename to release-notes/0.2.0.rst diff --git a/releasenotes/notes/0.20.0.rst b/release-notes/0.20.0.rst similarity index 100% rename from releasenotes/notes/0.20.0.rst rename to release-notes/0.20.0.rst diff --git a/releasenotes/notes/0.21.0.rst b/release-notes/0.21.0.rst similarity index 100% rename from releasenotes/notes/0.21.0.rst rename to release-notes/0.21.0.rst diff --git a/releasenotes/notes/0.21.1.rst b/release-notes/0.21.1.rst similarity index 100% rename from releasenotes/notes/0.21.1.rst rename to release-notes/0.21.1.rst diff --git a/releasenotes/notes/0.3.0.rst b/release-notes/0.3.0.rst similarity index 100% rename from releasenotes/notes/0.3.0.rst rename to release-notes/0.3.0.rst diff --git a/releasenotes/notes/0.4.0.rst b/release-notes/0.4.0.rst similarity index 100% rename from releasenotes/notes/0.4.0.rst rename to release-notes/0.4.0.rst diff --git a/releasenotes/notes/0.5.0.rst b/release-notes/0.5.0.rst similarity index 100% rename from releasenotes/notes/0.5.0.rst rename to release-notes/0.5.0.rst diff --git a/releasenotes/notes/0.6.0.rst b/release-notes/0.6.0.rst similarity index 100% rename from releasenotes/notes/0.6.0.rst rename to release-notes/0.6.0.rst diff --git a/releasenotes/notes/0.7.0.rst b/release-notes/0.7.0.rst similarity index 100% rename from releasenotes/notes/0.7.0.rst rename to release-notes/0.7.0.rst diff --git a/releasenotes/notes/0.7.0rc1.rst b/release-notes/0.7.0rc1.rst similarity index 100% rename from releasenotes/notes/0.7.0rc1.rst rename to release-notes/0.7.0rc1.rst diff --git a/releasenotes/notes/0.7.0rc2.rst b/release-notes/0.7.0rc2.rst similarity index 100% rename from releasenotes/notes/0.7.0rc2.rst rename to release-notes/0.7.0rc2.rst diff --git a/releasenotes/notes/0.8.0.rst b/release-notes/0.8.0.rst similarity index 100% rename from releasenotes/notes/0.8.0.rst rename to release-notes/0.8.0.rst diff --git a/releasenotes/notes/0.9.0.rst b/release-notes/0.9.0.rst similarity index 100% rename from releasenotes/notes/0.9.0.rst rename to release-notes/0.9.0.rst diff --git a/releasenotes/notes/0.9.1.rst b/release-notes/0.9.1.rst similarity index 100% rename from releasenotes/notes/0.9.1.rst rename to release-notes/0.9.1.rst diff --git a/releasenotes/notes/0.9.2.rst b/release-notes/0.9.2.rst similarity index 100% rename from releasenotes/notes/0.9.2.rst rename to release-notes/0.9.2.rst diff --git a/releasenotes/notes/0.9.3.rst b/release-notes/0.9.3.rst similarity index 100% rename from releasenotes/notes/0.9.3.rst rename to release-notes/0.9.3.rst diff --git a/releasenotes/notes/0.9.4.rst b/release-notes/0.9.4.rst similarity index 100% rename from releasenotes/notes/0.9.4.rst rename to release-notes/0.9.4.rst diff --git a/release-notes/unreleased/.gitkeep b/release-notes/unreleased/.gitkeep new file mode 100644 index 000000000..701fee01e --- /dev/null +++ b/release-notes/unreleased/.gitkeep @@ -0,0 +1,2 @@ +Empty file to make sure Git preserves this folder even +when it's empty. diff --git a/releasenotes/1409.upgrade.rst b/release-notes/unreleased/1409.upgrade.rst similarity index 100% rename from releasenotes/1409.upgrade.rst rename to release-notes/unreleased/1409.upgrade.rst diff --git a/tools/concat_release_notes.py b/tools/concat_release_notes.py index 3cd9a8368..5e859619e 100644 --- a/tools/concat_release_notes.py +++ b/tools/concat_release_notes.py @@ -12,9 +12,9 @@ def get_version_from_path(path: Path) -> str: return "99.0.9" if path.stem == "unreleased" else path.stem -def sort_release_notes_paths(release_notes_paths: list[Path]) -> list[Path]: +def sort_release_notes_paths(release_notes_paths: Path) -> list[Path]: return sorted( - release_notes_paths.iterdir(), + (fp for fp in release_notes_paths.iterdir() if fp.is_file()), key=lambda x: version.parse(get_version_from_path(x)), reverse=True, ) @@ -38,7 +38,7 @@ def concat_release_notes(output_file: Path, release_notes_paths: list[Path]) -> def main() -> None: output_file = get_root_path() / "docs/release_notes.rst" - release_notes_paths = sort_release_notes_paths(get_root_path() / "releasenotes/notes") + release_notes_paths = sort_release_notes_paths(get_root_path() / "release-notes") generate_header(output_file) concat_release_notes(output_file, release_notes_paths) From e214bc64c48c2aa8ccffc36c84993173b279bac2 Mon Sep 17 00:00:00 2001 From: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com> Date: Wed, 13 Mar 2024 11:09:47 -0400 Subject: [PATCH 17/18] Fix issues to get it working on macOS --- docs/conf.py | 1 - tools/concat_release_notes.py | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index c1853155b..5bcb3bb77 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -39,7 +39,6 @@ "sphinx.ext.linkcode", 'jupyter_sphinx', 'sphinx_autodoc_typehints', - 'reno.sphinxext', 'nbsphinx', 'sphinxcontrib.katex', 'matplotlib.sphinxext.plot_directive', diff --git a/tools/concat_release_notes.py b/tools/concat_release_notes.py index 5e859619e..5692d4579 100644 --- a/tools/concat_release_notes.py +++ b/tools/concat_release_notes.py @@ -14,7 +14,7 @@ def get_version_from_path(path: Path) -> str: def sort_release_notes_paths(release_notes_paths: Path) -> list[Path]: return sorted( - (fp for fp in release_notes_paths.iterdir() if fp.is_file()), + (fp for fp in release_notes_paths.iterdir() if fp.suffix == ".rst"), key=lambda x: version.parse(get_version_from_path(x)), reverse=True, ) From 612611d0d0c10534d1498bec3920b4d594134f4d Mon Sep 17 00:00:00 2001 From: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com> Date: Thu, 14 Mar 2024 13:55:43 -0400 Subject: [PATCH 18/18] Cross-references work --- CONTRIBUTING.md | 6 ++---- release-notes/unreleased/1409.upgrade.rst | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f78860ac0..03a978113 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -98,15 +98,13 @@ Now, create a new file in the `release-notes/unreleased` folder in the format `< such as `156.bug.rst` or `231.feat.rst`. Open up the new release note file and provide a description of the change, such as what users need -to do. The files use RST syntax and you can use mechanisms like code blocks. However, Sphinx -cross-references will not work and you should use full links to -https://docs.quantum.ibm.com when linking to documentation. +to do. The files use RST syntax and you can use mechanisms like code blocks and cross-references. Example notes: ```rst Add ``dd_barrier`` optional input to -```PadDynamicalDecoupling`` `__ +:class:`.PadDynamicalDecoupling` constructor to identify portions of the circuit to apply dynamical decoupling (dd) on selectively. If this string is contained in the label of a barrier in the circuit, dd is applied on the delays ending diff --git a/release-notes/unreleased/1409.upgrade.rst b/release-notes/unreleased/1409.upgrade.rst index 899bd1bef..ca9d1dcc2 100644 --- a/release-notes/unreleased/1409.upgrade.rst +++ b/release-notes/unreleased/1409.upgrade.rst @@ -1,4 +1,4 @@ Modify ``skip_reset_qubits`` optional flag to the constructor for -```PadDynamicalDecoupling`` `__. If ``False``, dynamical decoupling is applied on +:class:`.PadDynamicalDecoupling`. If ``False``, dynamical decoupling is applied on qubits regardless of their state, even on delays that are at the beginning of a circuit. This option now matches the behavior in Qiskit.