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
META: deprecation tracker #15765
Comments
Hi @h-vetinari, thanks for compiling this list! I would not have created issues for all of them, but kept a list and use GH's features to then create/link PRs when something is on the way. This to prevent spamming people following the repo. |
Understood, though I think text in an issue somewhere quickly gets forgotten (and discussing individual cases in a meta/mega-tracker quickly gets impossible to follow). OTOH, if it's an issue in a milestone, many more people will look at it, with a much higher chance that it gets done (also, we can set "good first issue" labels!). I'm sorry about the spam; at least it should be (have been) a one-time thing; even if we continued to raise individual issues, it'd be incremental from now on. |
This is very useful, and will help going through and cleaning this up, thanks @h-vetinari. One minor comment: the abbreviation we use is |
Sorry about that. My first instinct when choosing such acronyms is to avoid ambiguity (such as "dep" for depencency management), but I didn't know that this was standardized already (is there a list somewhere?). In any case, I can change this in the issue titles (of those I raised). If we're consistent with the |
Yes the list is here https://scipy.github.io/devdocs/dev/contributor/development_workflow.html#writing-the-commit-message |
Great thanks! (I was looking through the templates and the wiki here...) |
@h-vetinari another warning that doesn't state version to be removed in https://github.com/scipy/scipy/blame/main/scipy/io/harwell_boeing.py |
I did another search for "deprecated" and found some more things that somehow did not show up in the github code search the last time. I added respective issues to the tracker. |
Now that 1.9 has branched, I removed the work done for that release from the tracker. Here it is for the purpose of record-keeping: Deprecations that were executed for 1.9
Old deprecations, warning sharpened for removal in 1.10/1.11
|
Thank you again @h-vetinari, this is great work and very useful 👏 |
Edited in the interp2d deprecation plan from gh-17180 and the related mailing list discussion. Please let me know and/or adjust the landing page if what I added is not right. |
Maybe this would be a nice issue to pin for better visibility? |
Since 1.10 just branched, here's the things we did for 1.10 (now removed from the tracker) Removed in 1.10
Deprecated in 1.10, removal announced for 2.0Old deprecations, warning sharpened for removal in 1.11/1.12
|
Since 1.11 just branched, here's the things we did for that release (now removed from the tracker) Removed in 1.11
Old deprecations, warning sharpened for removal in 1.12/1.13
New deprecations |
Since you took care of most of the tracking this cycle, could you open a PR that ensures the release notes (already on the 1.12 branch) are up-to-date? For example, I see that not all expired deprecations are listed. |
I was planning to do it all at once, I think it should be a case of just tweaking the helper and removing things until the tests are happy. |
In #19880, there was some discussion around deprecations, as the "out-of-band" release of 1.13 throws a bit of a wrench into the deprecations as they've been laid out (on the basis of a 6 month release cadence). @rgommers noted:
We do follow that pretty much to a tee, with the exception that we started putting version numbers for scheduled removal in the warnings (that aspect does not seem mandated either way by NEP23), and that we don't have "is deprecated since" bit. I do think the removal date is user-relevant (despite the fact that we don't know the future); by seeing the warning, they're obviously already on an affected version, so when it was introduced is less relevant. That said, it's IMO fine to switch to a "deprecated as of" formulation, as that avoids the need for a crystal ball. That way we can always wait for a year before removal - though in turn, we shouldn't revert back to the bad old days of letting these deprecation warnings linger indefinitely. For the here and now (and especially given that 1.12 hasn't been released yet), we should double-check current deprecations that we don't remove things too early/eagerly. Looking at the list above, a lot of them had been deprecated previously already (or we even extended the deprecation period due to also deprecating positional use), so the only ones where I think it makes sense to push the announced deprecation date from 1.14 to 1.15 (or reformulate the warning completely) are the following:
For things deprecated in 1.11 and already removed on I'll try to prepare a PR for the 1.12 backport. |
Work completed for the 1.13 release: New deprecationsRemoval announced for 1.13
|
@h-vetinari I proposed the SciPy |
Please edit this tracker as necessary
Below a list of deprecations by kind and scipy release. Ideally all deprecations should come with an announced behaviour change, and with an announced timeframe (i.e. SciPy version where things will be changed/removed), and other items migrated there as appropriate.
In most cases, we aim for removal/behaviour change one year after a given deprecation is introduced in
1.N
(not just in documentation, but in a way that the user cannot miss, i.e. raise DeprecationWarning upon use). Due to the 6 month release cadence this often ends up being1.(N+2)
, but exceptional out-of-band releases can occur, so try to avoid promising exact versions. For more disruptive cases, adaptations (e.g. longer timeframes) can be made as necessary.Cleaning up the past
Deprecations in documentation only
None currently tracked, if you find one, let us know!
Deprecated without announced removal
None currently tracked, if you find one, let us know!
Removal announced, missed
In progress for upcoming release
Old deprecations, warning sharpened for removal in 1.14/1.15
None so far
New deprecations
exact=True
for non-integers #15722Removal announced for 1.14
Open issues for these once 1.13 branches off of
main
.scipy.interpolate.interp2d
by a stub #18583)Scheduled removals in future versions
Removal announced for 1.15
Open issues for these once 1.14 branches off of
main
.initial not in (0, None)
incumulative_trapezoid
(follow-up to this)scipy.signal.cmplx_sort
(follow-up to this)scipy.stats.rvs_ratio_uniforms
(follow up to this)quadrature
andromberg
functions (follow-up to this)factorial(<non-integer-scalar>, exact=True)
(follow-up to this)PchipInterpolator
andAkima1DInterpolator
(follow up of DEP: deprecate complex dtypes inPchipInterpolator
andAkima1DInterpolator
#19752)Removal announced for 1.16
Open issues for these once 1.15 branches off of
main
.conjtransp()
from dok_array/matrix classes (follow up of DEP: sparse: deprecate conjtransp() method for dok_array/matrix classes #20283)Removal announced/planned for 2.0
scipy.misc
(follow-up of this)Other
Outstanding deprecations
List most likely incomplete
_rvs
using_random_state
. #15924Outstanding behaviour changes
List incomplete (and intentionally so; not every tiny planned change needs to be here from the get go; but do add it if desired, ideally already above with a direct action item).
scipy.sparse.linalg.{lsmr,lsqr}
do not match related functions #19704Reference
Closed but relevant for continued maintenance
The text was updated successfully, but these errors were encountered: