-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Description
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 being 1.(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.
Important
If you add newly-deprecated functionality to the tracker, please do so twice - once for tracking what we did for the upcoming release (whether following up on old doc-only deprecation or completely new deprecations), and once for tracking when that deprecation is scheduled to be executed (generally two releases later).
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
- 1.5 (announced removal for 1.7)
- 1.9 (announced removal for 1.11)
In progress for upcoming release
Note
For removals and new or sharpened deprecations, please keep the release notes up-to-date.
Old deprecations, warning sharpened for removal in 1.17/1.18
None so far.
New deprecations
- DEP: deprecate positional arguments for signatures being changed in 1.17 cycle #18703
- DEP/MAINT: sparse: change default dtype behavior of 'diags_array' and 'diags'. #23340
Removal announced for 1.17
- 1.15
- DEP: linalg.interpolative: remove seed and rand #23034 (follow-up to this)
- DEP: spatial: raise error for complex input to cosine and correlation #23202 (follow-up to this)
- DEP: stats: remove find_repeats #23023 (follow-up to this)
- DEP: signal: remove support for object arrays and longdoubles in
{correlate,convolve,lfilter,sosfilter}
#23212 (follow-up to this and this) - ENH/DEP: linalg: support batching for toeplitz and related functions #23089 (follow-up to this and this). At the same time, add batch support (ENH: linalg: N-D array (batch) support #21466).
- DEP: spatial.distance: remove kulczynski1 and sokalmichener metrics #23210 (follow-up to this)
- DEP: linalg: remove kron #23043 (follow-up to this)
- DEP: interpolate.interpnd: remove incidental imports from private but present module #23045 (follow-up to this)
- DEP: stats.ttest_ind: remove random_state and permutation #23088 (follow-up to this)
- DEP: special: remove deprecated functions #23243 (follow-up to this and this )
Scheduled removals in future versions
Removal announced for 1.18
Open issues for these once 1.17 branches off of main
.
-
1.15
- The
disp
andiprint
args of the L-BFGS-B are announced to be removed in 1.17 but the warnings were forgotten in ENH: optimize: Rewrite LBFGSB in C #21314 . Hence the deprecation period is extended to 1.18 in DEP: optimize: Add deprecation warnings to L-BFGS-Bdisp
,iprint
#23197
- The
-
1.16
Removal announced for 1.19
Open issues for these once 1.18 branches off of main
.
- 1.17
- Remove old
dtype
handling fromsparse.diags{,_array}
(follow-up to this)
- Remove old
Removal announced/planned for 2.0
- all private modules affected by Making clearer what namespaces are public by use of underscores #14360 / DEP: extend deprecation of private namespaces also to fortran-generated modules #19907
- remove
scipy.misc
(follow-up to this)
Other
Outstanding deprecations
List most likely incomplete
- Deprecation of scipy.spatial.kdtree distance functions #10419
- Deprecate sparse.spmatrix.todense #14494
- DEP: stats: deprecate support for
_rvs
using_random_state
. #15924 - ENH/DEP:
stats.find_repeats/tiecorrect/etc.
: add array API support or deprecate? #21077
Outstanding 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).
- Filter design functions should accept other input than TF. #3259
- Sparse: document and test handling of explicit zeros #3343
- Support binary operators on binary sparse matrices #3590
- scipy.sparse Unexpected behaviour for numpy.dot(sparse,dense) and no support for output array #4063 / wishlist: sparse in-place AXPY/GEMM instead of deprecated sparsetools.csc_matvecs #5348
- numpy and scipy qr have different mode names. #4818
- scipy.signal needs a unified filter API #6137
- remove KDTree Python implementation #8923
- API: Inconsistent naming of arguments in svd / svds / eig / eigs #11334
- Hamming distance returns unexpected value for string comparisons #11991
- ENH: add more aka for cdist/pdist #14039
- ENH: refactor RNG usage to use np.random.Generator #14322
- Tolerance arguments for
scipy.sparse.linalg.{lsmr,lsqr}
do not match related functions #19704
Reference
Closed but relevant for continued maintenance