-
Notifications
You must be signed in to change notification settings - Fork 127
0.6 release notes and deprecation policy #1385
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 5 commits
f99b279
12f9d25
8de4e04
f12c50c
db331c6
112f1e9
22812bc
afeeb81
b9fb13e
b817048
d720f6d
6d993f6
79f9265
553f502
931d05d
b57deb0
2cf403c
280bc1a
6641efa
5544899
5df6090
8edbd46
0d62d21
bfce4f1
e1ed9fb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -361,11 +361,21 @@ There are a few other build options available: | |
|
||
### Deprecation policy | ||
|
||
Qiskit Experiments is part of Qiskit and, therefore, the [Qiskit Deprecation | ||
Policy](https://github.com/Qiskit/qiskit/blob/main/DEPRECATION.md) fully applies here. | ||
Public-facing changes must come with a deprecation warning for at least three months or | ||
two version cycles before the old feature is removed. Deprecations can only happen on | ||
minor releases and not on patch releases. | ||
Qiskit Experiments's deprecation policy is based on Qiskit's [Deprecation | ||
Policy](https://github.com/Qiskit/qiskit/blob/45e42525224e9e1857300e7e5529273fe619c9e4/DEPRECATION.md) | ||
prior to its 1.0 release. Public-facing changes must come with a deprecation warning | ||
for at least three months or two version cycles before the old feature is removed. | ||
Deprecations can only happen on minor releases and not on patch releases. | ||
|
||
The timeline for deprecating an existing feature is as follows: | ||
|
||
* Minor release 1: An alternative path is provided. A `PendingDeprecationWarning` should be issued | ||
when the old path is used, indicating to users how to switch to the new path and the release | ||
in which the old path will no longer be available. | ||
* Minor release 2: The `PendingDeprecationWarning` becomes a `DeprecationWarning`. The release note | ||
should indicate the feature has been deprecated and how to switch to the new path. | ||
* Minor release 3: The old feature is removed. The release note should indicate that the feature has | ||
been removed and how to switch to the new path. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @wshanks I'm linking to the commit where What do you think about this timeline? It's faster than the Qiskit policy, which says the old feature cannot be removed in the minor release immediately after the warnings, but that would be far too long for us. The other thing is we don't use There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That link seems okay. A cleaner link might be the rc1 tag: https://github.com/Qiskit/qiskit/blob/1.0.0rc1/DEPRECATION.md That's a little misleading if the file gets changed before 1.0.0, but the file isn't in the 0.46 release branch. It could probably be backported. Three cycles seems like too much for this package. I like the pending deprecation warnings, but they may be too much overhead for us to manage right now. Perhaps we could use deprecation helper functions that check the current version and automatically determine the warning type by comparing to the We have also discussed reducing the deprecation cycle to a single version for features outside of the framework. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks, updated the link. I broke the changes into three types in 553f502 and made specifying pending warnings optional. |
||
|
||
#### Adding deprecation warnings | ||
|
||
|
@@ -389,6 +399,15 @@ Utilities](https://docs.quantum.ibm.com/api/qiskit/utils) to add warnings: | |
pass | ||
``` | ||
|
||
Note that these pre-deprecation and deprecation warnings will cause the CI to fail, but features up | ||
for deprecation should continue to be tested until their removal. All such expected warnings | ||
should be caught in tests: | ||
coruscating marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
```python | ||
with self.assertWarns(DeprecationWarning): | ||
# Test something deprecated here | ||
``` | ||
|
||
### Development cycle | ||
|
||
The development cycle for Qiskit Experiments is all handled in the open using project | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
prelude: > | ||
Qiskit Experiments 0.6 adds numerous features and improvements. It is compatible with Qiskit 1.0. | ||
Notable changes include refactoring the analysis results to a Pandas dataframe, and refactoring | ||
curve fit data into a new :class:`ScatterTable` container based on dataframes that is stored | ||
by default as an artifact in :class:`ExperimentData` along with the summary of fit results. | ||
New experiments include :class:`StarkP1Spectroscopy`, :class:`StarkRamseyXY`, | ||
:class:`StarkRamseyXYScan`. The supported provider for running jobs on IBM backends has | ||
switched from ``qiskit-ibm-provider`` to ``qiskit-ibm-experiment``. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
--- | ||
feature: | ||
- | | ||
Figures in :class:`.ExperimentData` objects can now be accessed without the ``.svg`` extension. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
--- | ||
other: | ||
- | | ||
Display a warning when running an analysis on :class:`.ExperimentData` objects which do not contain data. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
--- | ||
features: | ||
- | | ||
Added a `broadcast` option to the :class:`.CompositeAnalysis`. When `broadcast=True` is passed, | ||
Added a ``broadcast`` option to :class:`.CompositeAnalysis`. When ``broadcast=True`` is passed, | ||
this option will be applied to child experiment analyses within the class. This means it will iterate | ||
through the child analysis classes and apply the given option to each of | ||
them. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--- | ||
fixes: | ||
- | | ||
The :meth:`.ExperimentData.copy` method under ExperimentData class now copies the provider. | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
--- | ||
upgrade: | ||
- | | ||
Dropped support for Python 3.7 and added support for Python 3.12. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
--- | ||
fixes: | ||
- | | ||
The :attr:`ExperimentData.auto_save` setter no longer saves sub-experiments twice. | ||
- | | ||
:meth:`ExperimentData.save` now handles correctly figures in sub-experiments when ``flatten_results=True``. |
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
Uh oh!
There was an error while loading. Please reload this page.