SciPy 1.16.0 Release Notes#
Note
SciPy 1.16.0 is not released yet!
SciPy 1.16.0 is the culmination of 6 months of hard work. It contains
many new features, numerous bug-fixes, improved test coverage and better
documentation. There have been a number of deprecations and API changes
in this release, which are documented below. All users are encouraged to
upgrade to this release, as there are a large number of bug-fixes and
optimizations. Before upgrading, we recommend that users check that
their own code does not use deprecated SciPy functionality (to do so,
run your code with python -Wd
and check for DeprecationWarning
s).
Our development attention will now shift to bug-fix releases on the
1.16.x branch, and on adding new features on the main branch.
This release requires Python 3.11-3.13 and NumPy 1.25.2 or greater.
Highlights of this release#
Improved experimental support for the Python array API standard, including new support in
scipy.signal
, and additional support inscipy.stats
andscipy.special
. Improved support for JAX and Dask backends has been added, with notable support inscipy.cluster.hierarchy
, many functions inscipy.special
, and many of the trimmedstats
functions.scipy.optimize
now uses the new Python implementation from the PRIMA package for COBYLA. The PRIMA implementation fixes many bugs in the old Fortran 77 implementation with a better performance on average.scipy.sparse.coo_array
now supports nD arrays with reshaping, arithmetic and reduction operations like sum/mean/min/max. No nD indexing orrandom_array
support yet.Updated guide and tools for migration from sparse matrices to sparse arrays.
All functions in the
scipy.linalg
namespace that accept array arguments now support N-dimensional arrays to be processed as a batch.Two new
scipy.signal
functions,firwin_2d
andclosest_STFT_dual_window
, for creation of a 2-D FIR filter andShortTimeFFT
dual window calculation, respectivly.A new class,
RigidTransform
, is available in thetransform
submodule. It provides functionality to convert between different representations of rigid transforms in 3D space.
New features#
scipy.io
improvements#
savemat
now provides informative warnings for invalid field names.scipy.io.mmread
now provides a clearer error message when provided with a source file path that does not exist.scipy.io.wavfile.read
can now read non-seekable files.
scipy.integrate
improvements#
Improved the error estimate of
scipy.integrate.tanhsinh
scipy.interpolate
improvements#
Added batch support to
scipy.interpolate.make_smoothing_spline
scipy.linalg
improvements#
All functions in the
scipy.linalg
namespace that accept array arguments now support N-dimensional arrays to be processed as a batch. See Batched Linear Operations for details.linalg.sqrtm
is rewritten in C and its performance is improved. It also tries harder to return real-valued results for real-valued inputs if possible. See the function docstring for more details. In this version the input argumentdisp
and the optional output argumenterrest
are deprecated and will be removed four versions later. Similarly, after changing the underlying algorithm to recursion, theblocksize
keyword argument has no effect and will be removed two versions later.Added wrappers for
?stevd
,?langb
,?sytri
,?hetri
and?gbcon
toscipy.linalg.lapack
.Improved default driver of
scipy.linalg.eigh_tridiagonal
.scipy.linalg.solve
can now estimate the reciprocal condition number and the matrix norm calculation is more efficient.
scipy.ndimage
improvements#
Added
scipy.ndimage.vectorized_filter
for generic filters that take advantage of a vectorized Python callable.scipy.ndimage.rotate
has improved performance, especially on ARM platforms.
scipy.optimize
improvements#
COBYLA was updated to use the new Python implementation from the PRIMA package. The PRIMA implementation fixes many bugs in the old Fortran 77 implementation. In addition, it results in fewer function evaluations on average, but it depends on the problem and for some problems it can result in more function evaluations or a less optimal result. For those cases the user can try modifying the initial and final trust region radii given by
rhobeg
andtol
respectively. A largerrhobeg
can help the algorithm take bigger steps initially, while a smallertol
can help it continue and find a better solution. For more information, see the PRIMA documentation.Several of the
minimize
methods, and theleast_squares
function, have been given aworkers
keyword. This allows parallelization of some calculations via a map-like callable, such asmultiprocessing.Pool
. These parallelization opportunities typically occur during numerical differentiation. This can greatly speed-up minimization when the objective function is expensive to calculate.The
lm
method ofleast_squares
can now accept3-point
andcs
for thejac
keyword.SLSQP Fortran77 code ported to C. When this method is used now the constraint multipliers are exposed to the user through the
multiplier
keyword of the returnedOptimizeResult
object.NNLS code has been corrected and rewritten in C to address the performance regression introduced in 1.15.x
optimize.root
now warns for invalid inner parameters when using thenewton_krylov
methodThe return value of minimization with
method='L-BFGS-B'
now has a fasterhess_inv.todense()
implementation. Time complexity has improved from cubic to quadratic.optimize.least_squares
has a newcallback
argument that is applicable totrf
anddogbox
methods.callback
may be used to track optimization results at each step or to provide custom conditions for stopping.
scipy.signal
improvements#
A new function
firwin_2d
for the creation of a 2-D FIR Filter using the 1-D window method was added.signal.cspline1d_eval
andsignal.qspline1d_eval
now provide an informative error on empty input rather than hitting the recursion limit.A new function
scipy.signal.closest_STFT_dual_window
to calculate theShortTimeFFT
dual window of a given window closest to a desired dual window.A new classmethod
scipy.signal.ShortTimeFFT.from_win_equals_dual
to create aShortTimeFFT
instance where the window and its dual are equal up to a scaling factor. It allows to create short-time Fourier transforms which are unitary mappings.The performance of
signal.convolve2d
has improved.
scipy.sparse
improvements#
coo_array
supports nD arrays using binary and reduction operations.Math is faster between two DIA arrays/matrices: add, sub, multiply, matmul.
csgraph.dijkstra
shortest_path is more efficient.csgraph.yen
has performance improvements.Import of
_lib.issparse
allows checking forscipy.sparse
object without full import ofscipy
.add lazy loading of
sparse.csgraph
andsparse.linalg
.
scipy.spatial
improvements#
A new class
RigidTransform
is available in thetransform
submodule. It provides functionality to convert between different representations of rigid transforms in 3D space, its application to vectors and transform composition. It follows the same design approach asscipy.spatial.transform.Rotation
.scipy.spatial.transform.Rotation
now has an appropriate__repr__
method.Rotation.apply
has improved performance.
scipy.stats
improvements#
Added
scipy.stats.quantile
, an array API compatible function for quantile estimation.Extended
scipy.stats.make_distribution
to:work with existing discrete distributions and
facilitate the creation of custom distributions
in the new random variable infrastructure.
Added
scipy.stats.Binomial
.Added
equal_var
keyword to:scipy.stats.tukey_hsd
(enables the Games-Howell test) andscipy.stats.f_oneway
(enables Welch ANOVA).
Improved moment calculation for
scipy.stats.gennorm
.Added native vectorization to
scipy.stats.mode
for faster batch calculation.Added
axis
,nan_policy
, andkeepdims
toscipy.stats.power_divergence
,scipy.stats.chisquare
,scipy.stats.pointbiserialr
,scipy.stats.kendalltau
,scipy.stats.weightedtau
,scipy.stats.theilslopes
,scipy.stats.siegelslopes
, andscipy.stats.boxcox_llf
.Improved speed of
scipy.stats.special_ortho_group
.Improved speed of
scipy.stats.pearsonr
.
Array API Standard Support#
Experimental support for array libraries other than NumPy has been added to
existing sub-packages in recent versions of SciPy. Please consider testing
these features by setting an environment variable SCIPY_ARRAY_API=1
and
providing PyTorch, JAX, or CuPy arrays as array arguments. Many functions
in scipy.stats
, scipy.special
, scipy.optimize
, and scipy.constants
now provide tables documenting compatible array and device types as well as
support for lazy arrays and JIT compilation. New features with support and
old features with support added for SciPy 1.16.0 include:
Most features of
scipy.signal
Features with extended array API support (generally, improved support for JAX and Dask) in SciPy 1.16.0 include:
many of the
scipy.cluster.hierarchy
functionsmany functions in
scipy.special
many of the trimmed stats functions
Deprecated features#
The unused
atol
argument ofscipy.optimize.nnls
is deprecated and will be removed in SciPy 1.18.0.The
disp
argument ofscipy.linalg.signm
,scipy.linalg.logm
, andscipy.linalg.sqrtm
will be removed in SciPy 1.18.0.scipy.stats.multinomial
now emits aFutureWarning
if the rows ofp
do not sum to1.0
. This condition will produce NaNs beginning in SciPy 1.18.0.
Expired Deprecations#
scipy.sparse.conjtransp
has been removed. Use.T.conj()
instead.The
quadrature='trapz'
option has been removed fromscipy.integrate.quad_vec
andscipy.stats.trapz
has been removed. Usetrapezoid
in both instances instead.scipy.special.comb
andscipy.special.perm
now raise whenexact=True
and arguments are non-integral.Support for inference of the two sets of measurements from the single argument
x
has been removed fromscipy.stats.linregress
. The data must be specified separately asx
andy
.Support for NumPy masked arrays has been removed from
scipy.stats.power_divergence
andscipy.stats.chisquare
.
Backwards incompatible changes#
Several of the
scipy.linalg
functions for solving a linear system (e.g.scipy.linalg.solve
) documented that the RHS argument must be either 1-D or 2-D but did not always raise an error when the RHS argument had more the two dimensions. Now, many-dimensional right hand sides are treated according to the rules specified in Batched Linear Operations.scipy.stats.bootstrap
now explicitly broadcasts elements ofdata
to the same shape (ignoringaxis
) before performing the calculation.
Other changes#
The
lm
method ofleast_squares
function now has a different behavior for the maximum number of function evaluations,max_nfev
. The default for thelm
method is changed to100 * n
, for both a callable and a numerically estimated jacobian. This limit on function evaluations excludes those used for any numerical estimation of the Jacobian. Previously the default when using an estimated jacobian was100 * n * (n + 1)
, because the method included evaluations used in the estimation. In addition, for thelm
method the number of function calls used in Jacobian approximation is no longer included inOptimizeResult.nfev
. This brings the behavior oflm
,trf
, anddogbox
into line.For
Cython>=3.1.0b1
, SciPy now uses the newcython --generate-shared
functionality, which reduces the total size of SciPy’s wheels and on-disk installations significantly.The output of
scipy.stats.wrapcauchy
rvs
is now mapped to the unit circle between 0 and2 * pi
.The vendored Qhull library was upgraded from version 2019.1 to 2020.2.
A new build option
-Duse-system-libraries
has been added. It allows opting in to using system libraries instead of using vendored sources. CurrentlyBoost.Math
andQhull
are supported as system build dependencies.The
namedtuple
-like bunch objects returned by some SciPy functions now have improved compatibility with thepolars
library.The testsuite thread safety with free-threaded CPython has improved.
Issues closed for 1.16.0#
#4800: ENH: ndimage.median_filter: behavior with NaNs
#4878: ENH: ndimage.median_filter: excessive memory usage
#5137: ENH: ndimage.generic_filter: function to return higher-dimensional…
#5435: savemat silently drops entries starting with “_”
#5451: ENH: linalg.solve: support broadcasting
#6052: savemat does not save keys starting with underscore
#6606: BUG: signal.bilinear: can’t handle leading zeros
#6689: ENH: optimize: consider using NLopt’s version of
slsqp
#6755: ENH: ndimage.percentile_filter: take multiple percentiles
#7518: DOC: optimize: meaning of accuracy in
fmin_slsqp
undocumented#7818: ENH: ndimage.uniform_filter: expands NaNs all the way to the…
#8140: sparse LU decomposition does not solve with complex right-hand…
#8367: ENH: stats.mvndst: make thread-safe
#8411: nan with betainc for a=0, b=3 and x=0.5
#8916: ENH: ndimage.generic_filter: slow on large images
#9077: maximum_filter is not symetrical with nans
#9841: ENH: linalg: 0-th dimension must be fixed to 1 but got 2 (real…
#9873: ENH: ndimage: majority voting filter
#10416: ENH: optimize.minimize: slsqp: give better error when work array…
#10793: BUG: integrate:
solve_ivp
andodeint
withlsoda
have…#11312: BUG: signal.cont2discrete not handling lti instances as documented
#11328: Scipy unable to read piped wav file
#12133: How to define new distributions?
#12544: signal.spectral._triage_segments doesn’t support window as tuple…
#12994: ENH: linalg.sqrtm: efficiently process upper triangular matrices
#13577: Split scipy.signal.spectral._spectral_helper into two to support…
#13666: ENH: invgauss.pdf should return correct output when mu=infinity
#13788: Documentation for scipy.signal.resample should say what to use…
#13789: Documentation for scipy.signal.decimate doesn’t say what to use…
#13823: BUG: signal.bilinear: doesn’t work for complex valued arrays
#13914: DOC: sparse.csgraph.shortest_path: predecessors array contains…
#13952: fmin_cobyla result violates constraint
#13982: ENH: linalg.eigh_tridiagonal: divide and conquer option
#14394: ENH: optmize.slsqp: return Lagrange multipliers
#14569: BUG: signal.resample: inconsistency across dtypes
#14915: BUG: optimize.minimize: corruption/segfault with constraints
#15153: BUG: signal.resample: incorrect with
datetime[ns]
fort
…#15527: BUG: optimize: COBYLA hangs on some CPUs
#16009: BUG:
act
fails for local GitHub Actions CI run#16142: ENH: Fix the random state in
scipy.stats.multivariate_normal.cdf()
#16203: BUG: scipy.io.savemat discards nested names with a leading digit
#16234: BUG: Memory leak in _superluobject.c when
ENUM_CHECK
is not…#16452: doit based dev interface garbles pdb command history (in some…
#17546: ENH: Adding ‘valid’ mode to ndimage.generic_filter
#17787: BUG: Erratic results from RectBivariateSpline when smoothing…
#17891: BUG: inconsistent checks for integrality in several distributions
#17968: ENH: creation of a 2-D FIR Filter using 1-D window method
#18046: BUG: dev.py does not work in a Windows CI environment on GHA…
#18105: ENH: optimize
LbfgsInvHessProduct.todense()
, 10x speed…#18118: ENH: The Fortran 77 implementation of COBYLA is buggy and challenging…
#18214: DOC: inconsistent definitions of “OP” and “OPinv” in eigsh
#18346: DOC: optimize: l_bfgs_b: sets
maxiter
andmaxfun
to the…#18437: ENH: ndimage.generic_filter: support complex input
#18740: BUG: scipy.optimize.bisect gives incorrect results for very small…
#18866: MAINT: follow-up actions for array API support in
cluster
#18951: ENH: improve
python dev.py test
experience caused by imp…#18998: BUG: dev.py has issues with site-packages and Python installed…
#19254: ENH: spatial.transform: cover proper rigid transformations with…
#19362: BUG: optimize: warning generated by SLSQP is useless
#19415: BUG: linalg.sqrtm results different between version 1.11.1 and…
#19459: BUG: optimize.least_squares giving poor result compared to optimize.leastsq…
#20219: BUG: failing
sqrtm
regression test#20366: ENH: Yens algorithm improvements and enhancements
#20608: BUG:
refguide-check
incorrectly flags references to equations…#20622: DOC: signal: add an example cross-spectrogram application
#20806: Failures for new
pytest-fail-slow
check in Windows CI jobs#20972: BUG: special.chdtrc: returns 1.0 when both degrees of freedom…
#20999: BUG: ndimage.zoom: wrong output with zoom factor of 1
#21020: DOC: signal: Use
where='post'
when plotting discrete response#21095: DOC:
RegularGridInterpolator
uses half down rounding instead…#21102: RFC/ENH?:
optimize.curve_fit
: option to use global optimization…#21293: DOC: stats.qmc.discrepancy: clarify deviation from reference
#21317: BUG:
special.gammainc
: returns finite results with NaN…#21323: DOC: build fails with Sphinx 8
#21341: DOC: signal.correlate: formula doesn’t match behavior when
x
…#21484: DEP: optimize.nnls: deprecate atol parameter which does nothing
#21531: MAINT:
stats.dirichlet_multinomial
: relaxn
to>=0
#21547: STY/DEV: fix and enable lint rule UP038
#21606: ENH: stats: generic power law with negative index
#21649: RFC: Splitting off special function scalar kernels into separate…
#21692: BUG: optimize.shgo: not working with
jac=True
#21717: DOC:
assert_allclose
instead ofxp_assert_close
is recommended…#21740: CI: adding a GPU-enabled CI job
#21764: ENH: linalg.lapack: add symmetric solvers
#21844: ENH: linalg: wrap ?gbcon/?langb and use in linalg.solve
#21879: BUG:
scipy.datasets
failing with Error 403 for readthedocs…#21971: ENH:
ndimage.median_filter
: extendeddtype
support?#21972: STY: fix and enable lint rule UP031
#21986: ENH: optimize.root: warn when inner parameters are ignored with…
#21995: BUG:
optimize.curve_fit
withmethod='lm'
fails to determine…#21999: ENH:
io.mmread
: Provide better error message when loading…#22000: DOC:
ndimage.median_filter
: document behaviour withnan
...#22011: BUG: interpolate.Akima1DInterpolator: different values on subsequent…
#22044: TST:
optimize.elementwise.bracket_minimum
: CuPy failure#22045: DOC: stats: clarify the support of a distribution is unaffected…
#22051: BUG: AttributeError: module ‘numpy’ has no attribute ‘AxisError’…
#22054: BUG: ndimage, array types:
minimum_position
andextrema
…#22055: DOC: ndimage.minimum and maximum: incorrect return type
#22057: DOC:
stats.order_statistic
: docstring missing the “Returns”…#22065: DOC: sparse: Several functions are missing the ‘Returns’ section…
#22072: DOC: PchipInterpolator: missing integrate function
#22086: MAINT: signal: build warning (
sprintf
) on macOS#22093: DOC: integrate.quad: uses Gauss-Kronrod not Curtis-Clenshaw?
#22136: DOC: linalg.matrix_balance: equation does not render
#22144: Query: optimize.minimize: trust_constr does not avoid Nonlinear…
#22163: DOC: update
scipy
module docstring for lazy loading#22164: MAINT: undo ignored errors in mypy
#22195: Query: optimize.basinhopping: lowest minimum not accepted if…
#22224: MAINT: remove end year from copyright
#22252: MAINT: Fix a dtype check in
scipy.signal._waveforms.py
#22258: BUG: Constructing sparse matrix with big-endian float32/64 raises…
#22263: BUG: linalg.solve doesn’t raise an error when A is a singular…
#22265: BUG: linalg:
hecon
returns NaN incorrectly with some lower…#22271: Query: empty
Rotation
is not allowed in scipy=1.15#22282: QUERY/DEV: test failure in IDE with
SCIPY_ARRAY_API
#22288: QUERY: Pyright raises error/warning in IDE
#22303: ENH: stats.special_ortho_group: improve and simplify
#22309: DOC: optimize.elementwise.find_minimum: harmonize documented/implemented…
#22328: QUERY: stats.beta.fit:
FitError
on reasonable data#22338: QUERY: Intellisense Autocomplete Not Working for
spatial.transform.Rotation
#22361: BUG: interpolation test TestSmoothingSpline.test_compare_with_GCVSPL…
#22363: BUG: special test TestHyp2f1.test_region3[hyp2f1_test_case23]…
#22367: QUERY/TYP: sparse: Pylance reports unreachable after
toarray()
#22378: DOC/TST: interpolate, signal:
smoke-docs
failures#22382: ENH: sparse.spmatrix: allow fast import
#22395: BUG: special: failure of TestSystematic.test_besselj_complex…
#22403: DOC:
gaussian_kde
‘sbw_method='silverman'
deviates…#22415: Two
TestBatch
failures in macOS x86-64 Accelerate wheel build…#22429: DOC: integrate: missing bold font for a vector in tutorial
#22437: DOC: The code of conduct link is dead
#22449: BUG: sparse.csgraph.construct_dist_matrix: buffer dtype mismatch
#22450: QUERY: difference between
namedtuple
s and objects produced…#22461: DOC: freqz_sos: claims that it was introduced in 0.19; no mention…
#22470: BUG:
lfiltic
‘s handling ofa[0] != 1
differs fromlfilter
...#22485: DOC: remove links to the reference guide in the tutorials page
#22488: DOC: interpolate.lagrange: the Lagrange function is using the…
#22495: BUG: special test TestHyp2f1.test_region4[hyp2f1_test_case42]…
#22501: BUG:
min_weight_full_bipartite_matching
fails forcoo_matrix
…#22508: DOC: Inconsistent notation in Linear algebra (scipy.linalg) page
#22534: CI: failures
*/tests/test_extending
due to a regression in…#22559: BUG:
ndimage
: Numerical regressions in Dask 2025.2.0#22565: BUG: stats.multinomial.pmf: inconsistent results?
#22581: DOC: stats.gaussian_kde: clarify the meaning of
factor
#22591: BUG: sparse.coo:
ImportError
forupcast
#22601: BUG: special.logsumexp: inconsistency in phase when one element…
#22626: BUG: scipy.stats: tmin/tmax: loss of precision for large integers
#22646: CI/DOC: CloughTocher2DInterpolator:
UserWarning
in docs build#22659: BUG: spatial:
RigidTransform
does not support zero-length…#22692: DOC: interpolate.make_smoothing_spline: example plot uses the…
#22700: CI: new failures: segfault in free-threaded,
linprog
invalid…#22703: DOC: integrate:
quad_vec
info return type is_Bunch
not…#22767: BUG: test_cython Failing on Windows on ARM64 with clang-cl
#22768: DOC/DEV: outdated references to Cirrus CI
#22769: ENH: optimize: Return bound multiplier for SLSQP
#22775: ENH: Use cython shared utility module
#22791: BUG: optimize.nnls: unstable on i686 (32-bit) machine
#22800: BUG:
signal.windows.kaiser_bessel_derived
usesarray
…#22881: DOC: Update minimum NumPy and Python in toolchain roadmap
#22904: BUG: Wrong use of
__builtin_prefetch()
#22912: BUG: optimize:
SyntaxWarning: 'break' in a 'finally' block
…#22920: BUG:
check_test_name
fails withUnicodeDecodeError
?#22921: DOC: clarify the status of Apple’s Accelerate Framework support
#22931: BUG: interpolate._dierckx:
check_array()
can crash if the…#22942: TST:
special
:test_compiles_in_cupy
is broken#22945: TST: Nested arrays failing in array-api-strict git tip
#22951: BUG: stats.wrapcauchy: output isn’t wrapped around the unit circle
#22956: BUG: special._ufuncs._ncx2_pdf: interpreter crash with extreme…
#22965: BUG: The attribute “nit” is not found when using the callback…
#22981: Bug with freqz when specifying worN after #22886
Pull requests for 1.16.0#
#18375: ENH: signal: Add
firwin_2d
filter#20610: ENH: signal.ShortTimeFFT: determine arbitrary dual windows
#20639: ENH: stats.rankdata: add array API standard support
#20717: ENH: Speed up sparse.csgraph.dijkstra 2.0
#20772: ENH: array types, signal: delegate to CuPy and JAX for correlations…
#20950: ENH: spatial: speed up
Rotation.apply
by replacingnp.einsum
…#21180: ENH: sparse: efficient arithmetic operations for DIA format
#21233: ENH:
stats.boxcox_llf
: vectorize for n-D arrays#21270: MAINT: make
boost_math
asubproject
#21462: ENH: linalg.eig: support batched input
#21482: MAINT/DEV: use Sphinx 8 for documentation builds
#21557: ENH:
stats._continued_fraction
: elementwise, Array API…#21628: BUG:signal: Fix passing lti as system to cont2discrete
#21674: DEV: use
spin
#21684: MAINT:
stats.dirichlet_multinomial
relaxn
to>= 0
#21713: ENH: signal: add array API support / delegation to lfilter et…
#21783: ENH: signal.windows: add array API support (take 2)
#21863: CI: use macos-15 for a macOS run
#21987: STY: fix lint rule UP031
#22008: ENH: signal.vectorstrength: add array API standard support
#22010: REL: set version to 1.16.0.dev0
#22012: MAINT: bump min NumPy to 1.25.2, min Python to 3.11
#22013: DEV:
gh_lists
: fix asterisk sanitisation#22015: DEV: lint: add option to lint all files
#22019: MAINT: signal: remove tempita templating
#22042: DOC, MAINT: Add a
"jupyterlite_sphinx_strip"
tag to thescipy.stats
…#22046: TST: optimize: fix CuPy failure for
bracket_minimum
#22052: DOC: sparse.linalg: add note about complex matrices to
splu
…#22056: MAINT: stats.wilcoxon: fix attempt to access np.AxisError
#22061: BUG: ndimage: convert array scalars on return
#22062: MAINT:
_lib
: co-vendor array-api-extra and array-api-compat#22064: MAINT:
sparse.linalg._isolve
: Remove postprocess function#22068: ENH: optimize: migrate to use sparray
#22070: ENH:
_lib
: JAX support (non-jitted)#22071: MAINT: Use
ENUM_CHECK_NAME
for avoiding memory leaks in_superluobject.c
#22073: DEP: sparse: remove conjtransp
#22074: DEP: remove remaining trapz references
#22075: DEP: stats.linregress: remove one arg use
#22076: BUG: datasets: add headers to fetchers to avoid 403 errors
#22079: DEP: stats: remove support for masked arrays from
power_divergence
…#22087: DEP: special: raise error for non-integer types with exact=True…
#22088: TST: optimize.elementwise.find_root: refactor tests to use
find_root
…#22089: TST: optimize: suppress incorrect sparray warning from scikit-sparse
#22090: ENH: optimize: migrate to sparray (docs)
#22092: MAINT: signal: fixed build warning (
sprintf
) on MacOS#22100: DEP: signal.spline: use standard submodule deprecation machinery
#22101: DOC: update
stats
,integrate
,optimize
, and…#22108: CI: Run ‘Checkout scipy’ and ‘Check for skips’ only on Github…
#22110: TST: linalg: use infinity norm of matrix when norm=’I’
#22115: DOC: release notes: ensure TOC links to headings below
#22116: DOC: update the interpolate roadmap
#22122: MAINT: signal.oaconvolve: avoid xp <-> numpy conversions
#22125: TST: stats: ensure tests are thread-safe
#22127: ENH: linalg: add batch support for matrix -> scalar funcs
#22130: TST: ndimage: array API-related cosmetic tweaks in tests
#22131: TST:
skip|xfail_xp_backends
disregardsreason=
#22132: TST: array types: enforce namespace in tests
#22133: ENH: linalg: add batch support for functions that accept a single…
#22140: DOC: linalg.matrix_balance: move math to notes; ensure that it…
#22142: ENH: signal: add CuPy/JAX delegation to scipy.signal
#22148: TST: ndimage: fix test skip typo
#22152: ENH: stats.f_oneway: add
equal_var
for Welch ANOVA#22154: ENH: linalg.clarkson_woodruff_transform: add batch support
#22155: ENH: stats: add axis/nan_policy/keepdims/etc. support to correlation…
#22157: ENH: linalg: add batch support for remaining cholesky functions
#22160: DEP: interpolate: remove incidental imports from private modules
#22161: DOC, MAINT: Add updates for interactive notebooks via
jupyterlite-sphinx
…#22165: ENH: linalg: add batch support to remaining eigenvalue functions
#22166: ENH: linalg.block_diag: add batch support
#22169: MAINT: sparse: refactor CSC to use CSR sparsetools
#22170: ENH: signal: convert
symiirorder
and related filters to work…#22172: MAINT: improve overflow handling in factorial functions
#22173: DOC: interpolate: add missing method
integrate
forPchipInterpolator
#22174: MAINT: optimize: switch suppress_warnings to catch_warnings
#22176: MAINT: special: Move Faddeeva into xsf
#22179: DOC/DEV: mention
scipy-stubs
in building from source guide#22182: TST: ndimage: cupy tweaks for inplace out=
#22185: ENH: stats.tukey_hsd:
equal_var=False
option to perform Games-Howell…#22186: DOC: interpolate: add a note about rounding rule of the
nearest
…#22190: MAINT: special: Migrate remaining exp and log functions to xsf
#22192: ENH: linalg: add batch support to linear system solvers
#22196: DOC: update scipy module docstring for lazy loading
#22197: ENH: linalg.cossin: add batch support
#22198: DOC: basinhopping, clarify when lowest_optimization_result is…
#22201: DOC: Clarify support behavior in rv_continuous documentation
#22208: ENH: io.wavfile: read unseekable files
#22211: DOC: interpolate: add missed
integrate
doc link forAkima1DInterpolator
#22212: ENH: linalg: wrap ?gbcon
#22213: BUG: zpk2tf works correctly with complex k, real p, z
#22214: TST: make torch default dtype configurable
#22215: ENH: io: throw
FileNotFoundError
exception when the source…#22216: TST: TestBracketMinimum MPS shims
#22217: ENH: linalg: wrap ?langb
#22219: ENH:
_lib
: deobfuscatejax.jit
crash in_asarray
#22220: MAINT: stats: replace nonstandard calls in (mostly) array API…
#22221: MAINT: linalg.leslie: use _apply_over_batch
#22222: ENH:
special
/stats
: implement xp-compatiblestdtrit
…#22226: ENH: signal.upfirdn: array API standard support
#22227: TST: linalg: add missing lower arguments in test_sy_hetrs
#22228: ENH: linalg.lapack: wrap ?sytri and ?hetri
#22229: MAINT: cluster: remove unnecessary namespace changes
#22231: ENH: add
callback
tooptimize.least_squares
#22234: MAINT: forward port 1.15.0 relnotes
#22237: BENCH: sparse.csgraph.dijkstra: add benchmark
#22240: ENH: array types: add dask.array support
#22242: MAINT: integrate.cubature: fix undefined
asarray
use#22243: DOC: sparse: docstring example of random_array with uint32 data_sampler
#22251: ENH: linalg.solve: use langb
#22255: EHN: cluster: JAX support (non-jitted)
#22256: ENH: special: JAX support (non-jitted)
#22259: TST: signal: fix symiir tests
#22260: TST: Make
@pytest.mark.usefixtures("skip_xp_backends")
redundant#22261: TST: dev.py quietly ignores user markers
#22262: TST: Mark with
xp
all tests in Array API-compatible modules#22264: MAINT: interpolate: make BSpline allocate out arrays in C
#22266: MAINT: linalg.solve: raise when diagonal matrix is exactly singular
#22267: ENH: spatial.transform: baseline implementation of
RigidTransform
#22268: TST: clean up obsolete Array API fixtures
#22269: DOC: optimize.curve_fit: add note about more advanced curve fitting
#22273: ENH: linalg.solve: use gbcon
#22274: ENH:
_contains_nan
for lazy arrays#22275: CI: add a GPU CI job
#22278: BUG: Fix
Akima1DInterpolator
by returning linear interpolant…#22279: TST: Add skips for GPU CI failures
#22280: TST:
_lib
: more idiomatic conditional skips#22281: TST: special: better skip message for stdtrit on JAX
#22283: BUG: Fix banded Jacobian for lsoda:
ode
andsolve_ivp
#22284: BUG: sparse: better error message for unsupported dtypes
#22289: CI: fix skip/trigger condition of GPU CI job
#22293: ENH: Add __repr__ method to scipy.spatial.transform.Rotation
#22295: DOC: signal.ShortTimeFFT.nearest_k_p: fix typo
#22298: MAINT: stats: remove
mvn
fortran calls frommultivariate_normal.cdf
#22300: MAINT: remove end year from copyright
#22302: MAINT: remove unused library import
#22304: ENH: stats.special_ortho_group: speed up, allow 1x1 and 0x0 ortho…
#22305: MAINT, DOC: forward port 1.15.1 relnotes
#22308: TST:
_lib
: run tests with@jax.jit
#22311: TST: replace
pytest.xfail
withskip/xfail_xp_backends
#22312: ENH: stats.Binomial: add binomial distribution with new infrastructure
#22313: BUG: signal.bilinear handles complex input, and strips leading…
#22320: TST: array types: wrap namespaces centrally
#22324: ENH: io: add invalid field name warning for
savemat
#22330: ENH: sparse.csgraph.yen: performance improvements
#22340: MAINT: linalg: reorganize tridiagonal eigenvalue routines
#22342: ENH: cluster:
linkage
support for jax.jit and dask#22343: ENH:
signal.{envelope,resample,resample_poly}
: array API…#22344: BUG: Fix bug with dpss degenerate case
#22348: DOC: Harmonize summary line of docstrings of iterative sparse…
#22350: ENH: Replace Fortran COBYLA with Python version from PRIMA
#22351: DOC: sparse.linalg.eigsh: fix inconsistent definitions of OP…
#22352: ENH: stats.quantile: add array API compatible quantile function
#22358: MAINT:
special.nctdtrit
: migrate to boost#22359: MAINT: remove temporary
# type: ignore
‘s from #22162#22364: TST: bump tolerance on TestHyp2f1.test_region3[hyp2f1_test_case23]
#22366: DOC: integrate: fix quad documentation to correctly describe…
#22371: ENH: stats.make_distribution: allow definition of custom distributions
#22375: DOC: sparse.linalg: fix doctest in scipy.sparse.linalg._norm.py
#22376: DOC: sparse.linalg: sparray updates in doc_strings and Sakurai…
#22379: DOC: interpolate.AAA: add may vary to example
#22380: DOC: Replace link to X in header with link to scientific python…
#22381: MAINT: special: A bit of clean up in stirling2.h
#22386: DEP: optimize.nnls: deprecate unused atol parameter
#22387: DOC: Add example to show usage of
predecessors
matrix returned…#22388: DOC: Fix documentation for
predecessors
matrix inshortest_path
...#22389: DOC: Add “Assert function selection guideline” doc in the new…
#22393: TST: stats: test support for array API compatible masked arrays
#22396: DOC: signal: Use where=’post’ when plotting discrete response…
#22397: DOC: spatial: Added mention of Davenport Angles to Rotation class…
#22398: MAINT: special: clean up os/warnings modules exposed in special…
#22399: TST: remove thread-unsafe skips for a now fixed Cython fused…
#22401: TYP: Runtime-subscriptable
sparray
andspmatrix
types#22406: ENH: linalg: Rewrite
sqrtm
in C with low-level nD support#22407: MAINT: remove
_lib
->``sparse`` dependency#22411: DOC: stats.gaussian_kde: clarify Silverman method
#22413: DOC: stats: Edited the NIST Handbook reference
#22416: TST: linalg: bump tolerances in two TestBatch tests
#22419: MAINT: special: Remove
libsf_error_state
shared library in…#22420: TST: use singular
reason=
inskip_xp_backends
#22421: BUG: ndimage:
binary_erosion
vs. broadcasted input#22422: MAINT:
_lib
: adaptarray_namespace
to accept scalars…#22425: MAINT: special: Update handling of
betainc
andbetaincc
…#22426: ENH: linalg: wrap ?stevd
#22427: DEP: linalg: deprecate disp argument for signm, logm, sqrtm
#22428: DOC: add note on getting the version switcher to behave to release…
#22430: MAINT: cluster: vectorize tests in
is_valid_linkage
#22431: DOC: integrate: correct tutorial formatting
#22433: BUG: interpolate.RectBivariateSpline: fix
NaN
output when…#22434: DOC: integrate.tanhsinh: remove incorrect reference to _differentiate
#22435: MAINT: bump to array-api-extra git tip
#22439: MAINT: special: Add
log1mexp
forlog(1 - exp(x))
#22440: DOC: Fix year of publication in
_dual_annealing.py
#22441: BUG: special: Fix incorrect handling of
nan
input ingammainc
…#22442: DOC: Modified Link for code of conduct documentation
#22443: DOC: Corrected Path
#22445: CI: avoid mpmath pre-release version that’s failing in CI
#22448: DOC: optimize.elementwise.find_minimum: fix documented termination…
#22452: ENH: linalg.eigh_tridiagonal: add stevd as a driver and make…
#22453: DOC: Improve docstrs of
dlsim
,dimpulse
,dstep
...#22454: BUG: signal.ShortTimeFFT: make attributes
win
anddual_win
…#22455: ENH: stats.gstd: add array API support
#22456: ENH: stats: add nan_policy support to power_divergence, chisquare
#22457: TST: sparse: add tests for subscriptable types
#22459: DOC: ndimage: fix wrong return type doc for
ndimage.minimum
…#22460: MAINT: signal.csd: port away from using
_spectral_helper
#22462: ENH: stats.pearsonr: two simple (but substantial) efficiency…
#22463: DOC: update Halton docs
#22467: MAINT/TST: address nits from Dask PR
#22469: TST: stats: improve JAX test coverage
#22475: BUG: optimize.shgo: delegate
options['jac']
tominimizer_kwargs['jac']
#22478: ENH: optimize: add
workers
kwarg to BFGS, SLSQP, trust-constr#22480: CI: use mpmath pre-release again
#22481: BUG: fix
make_lsq_spline
with a non-default axis#22483: MAINT: spatial: missing Cython type in build
#22484: ENH: allow batching in
make_smoothing_spline
#22489: MAINT: simplifications related to NumPy bounds
#22490: ENH: stats: add
marray
support to most remaining array API…#22491: DOC: stats: resampling tutorial fixups
#22493: DOC: Add a docstring to OptimizeWarning
#22494: ENH: _lib._make_tuple_bunch: pretend to be namedtuple even more
#22496: MAINT:
stats.invgauss
: return correct result whenmu=inf
#22498: TST: bump tolerance in TestHyp2f1.test_region4[hyp2f1_test_case42]
#22499: DOC: remove links to the reference guide in the tutorials page
#22504: BLD: bump min version of Clang to 15.0, and macOS min version…
#22505: ENH: stats.quantile: add discontinuous (HF 1-3) and Harrell-Davis…
#22507: BENCH: make Benchmark.change_dimensionality a class variable
#22509: DOC: sparse.linalg: add explanation for
MatrixRankWarning
#22511: BUG: sparse.csgraph: Added support for casting coo array to csc/csr…
#22514: TST: special: Add edgecase tests for gammainc and friends
#22516: STY: enable lint rule UP038 and fix instances in violation of…
#22518: DOC: interpolate.FloaterHormannInterpolator: fix typos
#22519: ENH: add workers to least_squares
#22520: MAINT: Remove an extraneous dtype check in
scipy/signal/_waveforms.py
#22524: ENH:MAINT:optimize: Rewrite SLSQP and NNLS in C
#22526: DOC: interpolate: reorganize the API listing
#22527: DOC: sparse: add returns sections to some
_construct.py
functions#22528: DOC: interpolate: improve visibility of univariate interpolator…
#22529: DOC: Update a link in SciPy Core Developer Guide
#22530: DOC: interpolate: improve one-line descriptions
#22531: DOC: batching in 1D/ND interpolation/smoothing routines
#22535: DOC: update roadmap sparse
#22536: DOC: io: link to netcdf4-python
#22537: DOC: linalg: fix inconsistent notation
#22541: Interpolate tutorial: discuss the bases and interconversions
#22542: MAINT, DOC: forward port 1.15.2 release notes
#22546: DOC: Add docstring for QhullError in _qhull.pyx [docs only]
#22548: DOC: interpolate.lagrange: add notes / references; recommend…
#22549: ENH: use
workers
keyword inoptimize._differentiable_functions.VectorFunct
…#22552: MAINT: sparse.csgraph: Raise error if
predecessors.dtype !=
…#22554: BUG:
lfiltic
‘s handling ofa[0] != 1
differs fromlfilter
...#22556: ENH: optimize: speed up
LbfgsInvHessProduct.todense
on large…#22557: ENH: Replace
_lazywhere
withxpx.apply_where
#22560: ENH: Allow endpoints of custom distributions created with
stats.make_distribut
…#22562: DOC: Correct a typo: MATLAB(R) -> MATLAB®
#22564: TST: add missing custom markers to pytest.ini
#22566: TST:
skip_xp_backends(eager_only=True)
#22569: CI: fix dev-deps job by not testing Meson master
#22572: TST: skip two ndimage tests that are failing for Dask
#22573: DOC: sparse: Add docstrings to warnings in
scipy.sparse
#22575: ENH:
ndimage.vectorized_filter
:generic_filter
with…#22579: DOC: signal.correlate: improve notes section
#22584: TST: ndimage: tidy
skip_xp_backends
#22585: MAINT: stats.multinomial:
FutureWarning
about normalization…#22593: TST: add one more missing custom marker (
fail_slow
) to…#22597: ENH: stats.make_distribution: improve interface for overriding…
#22598: MAINT: stats.bootstrap: broadcast like other stats functions
#22602: DOC: stats.pearsonr: add tutorial
#22603: MAINT: _lib: bump version array_api_compat to 1.11
#22605: MAINT: signal: clean up unnecessary shims
#22606: DOC: Ignore dict subclass docstring warning
#22607: MAINT: special.logsumexp: improve behavior with complex infinities
#22609: ENH: stats: shared array api support information to generate…
#22610: ENH: _lib.doccer: Simplify and optimize indentation loop
#22611: MAINT: stats: rewrite
gaussian_kde.integrate_box
, remove…#22614: MAINT: linalg: fix cython lint failures in build output
#22616: ENH: stats: use
vecdot
andnonzero
where appropriate#22618: BUG: Fix dual quaternion normalization procedure
#22619: DOC: stats.gaussian_kde: clarify the meaning of
factor
#22621: MAINT: sparse: remove incidental imports from private modules
#22623: ENH: signal.convolve2d: Performance Enhancement on WoA
#22624: BUG: stats:
kde.integrate_box
was missing anrng
parameter#22625: MAINT: Bump array-api-compat and array-api-strict
#22628: MAINT: stats.tmin/tmax: ensure exact results with unreasonably…
#22630: MAINT: stats: tmin/tmax tweaks
#22631: DOC: interpolate.BarycentricInterpolator: documentation improvements
#22632: MAINT: stats.multinomial: use dtype-dependent tolerance
#22633: ENH: special:
softmax
/log_softmax
Array API support#22634: TST: special: cosmetic nits
#22636: MAINT: fix domain check for
ncfdtri
#22639: ENH: special:
support_alternative_backends
on Dask and jax.jit#22641: ENH: special: add Dask support to
rel_entr
#22645: DOC: stats.special_ortho_group: update algorithm description
#22647: MAINT: sparse: rewrite
sparse._sputils.validateaxis
to centralize…#22648: MAINT: stats.quantile: fixup quantile for p < minimum plotting…
#22649: DOC, CI: Fix legend warning for CloughTocher2DInterpolator docstring
#22650: TST: stats: mark
nct
fit xslow#22651: MAINT: ndimage.zoom: eliminate noise when
zoom=1
#22653: DOC: add COBYQA to local optimizer comparison table
#22658: CI: clean up free-threading job, add new job using pytest-run-parallel
#22661: TST: fix some test failures and excessive memory use on Guix
#22666: MAINT: interpolate: move NdBSpline evaluations to C
#22667: DEV: cap Sphinx version in environment.yml
#22668: DOC: document Array API support for the constants module and…
#22669: TST: constants: tidy up tests
#22671: MAINT: enforce modularity with
tach
#22675: ENH: stats: Improvements to support/domain endpoints in custom…
#22676: ENH: stats.mode: vectorize implementation
#22677: MAINT: use function handles rather than custom strings in
xp_capabilities_tabl
…#22683: MAINT: remove outdated
xp_
functions,xp.asarray
on elementwise…#22686: TST/DOC:
lazy_xp_backends
inxp_capabilities
#22687: MAINT: Bump Array API to 2024.12
#22691: DOC: signal: fix
freqz_sos
andsosfreqz
docstrings#22694: DOC: interpolate.make_smoothing_spline: improve example visibility
#22695: MAINT: improve dtype handling now that
xp.result_type
accepts…#22696: MAINT: spatial: support empty case in
RigidTransform
#22698: MAINT/DOC: Update incomplete examples of
expectile()
#22701: TST: optimize: add more tests
#22710: DOC: integrate.quad_vec: returned object is not a dictionary
#22711: DOC: stats: Extend documentation of random_correlation matrix
#22712: MAINT: bump array-api-extra to 0.7.0
#22713: DOC: linalg.solve: clarify symmetry requirement
#22714: MAINT: ndimage.maximum_filter: recommend
vectorized_filter
…#22715: ENH: ndimage.vectorized_filter: make CuPy-compatible
#22716: DOC: optimize: Clarify use of
xtol
in 1D rootfinder docstrings#22718: TST: special: overhaul test_support_alternative_backends
#22719: TST: add tests for
ncfdtri
#22722: DOC: ndimage.affine_transformation: add examples to docstring
#22723: DOC: fft.dst: add example to docstring
#22725: MAINT: ndimage.affine_transform: remove outdated and unhelpful…
#22729: DOC: datasets.download_all: add examples to docstring
#22735: ENH: stats: lazy trimmed stats for Dask and JAX
#22738: DOC: PRIMA licence and reference fix
#22740: TST: special: remove test skips due to array-api-strict#131
#22741: CI: fix crash of free-threading job in
sparse
, bump GHA…#22742: CI/MAINT: make special.errstate thread-safe and run pytest-run-parallel…
#22745: DOC: fft.rfft2: add example to docstring
#22749: ENH: stats: add support for multiple parameterizations for custom…
#22750: DOC: fft.hfft2: added example
#22751: TST: linalg.test_batch: minor tolerance bumps
#22755: MAINT: special: refine
logsumexp
writeback behaviour#22756: BUG/TST:
special.logsumexp
on non-default device#22759: TST: weightedtau rng thread safety
#22760: BUG: optimize:
VectorFunction.f_updated
wasn’t being set…#22761: DOC: optimize: l-bfgs-b: clarify what is meant by
maxfun
...#22764: MAINT: optimize:
VectorFunction
: remove reference cycle#22766: DOC: improve docstrings of boxcox and yeojohnson
#22770: TST: stats: add marray tests for _length_nonmasked directly
#22771: TST: stats: don’t encapsulate
pytest.warns
#22778: MAINT: switch to vendoring libprima/prima
#22779: MAINT: optimize:
VectorFunction
: fix array copy for sparse#22782: MAINT: fix failures in free-threading(parallel=1) job
#22783: TST/MAINT: signal.symiirorder2: r, omega, precision are floats;…
#22785: DOC/DEV: remove references to CirrusCI in skipping CI doc
#22787: DOC: optimize: Add the multiplier details to SLSQP funcs
#22788: TST: stats.quantile: add edge test case for axis=None && keepdims=True
#22790: MAINT: optimize.least_squares: change
x_scale
default#22796: ENH/BLD: cython: share memoryview utility between extension modules
#22798: TST: stats: mark some tests as slow
#22802: BUG: optimize: Fix instability with NNLS on 32bit systems
#22803: MAINT: use
xp.asarray
instead ofxp.array
#22805: CI: start using the
CIBW_ENABLE
env var#22807: TST: fix issue with
cython_special
test which was missing…#22808: BUG:
special.logsumexp
device propagation on PyTorch#22809: ENH:
optimize.root
: add warning for invalid inner parameters…#22811: ENH: ndimage.rotate: performance enhancement on WoA
#22814: BUG: signal.resample: Fix bug for parameter num=2 (including…
#22815: MAINT: sparse: add lazy loading for csgraph and linalg
#22818: DEV: add
.editorconfig
#22820: MAINT: signal: consolidate
order_filter
tests#22821: ENH: signal.lp2{lp,hp,bp,bs}: add array API standard support
#22823: MAINT: integrate.tanhsinh: simplify error estimate
#22829: DOC: stats.qmc.discrepancy: clarify definitions
#22832: DOC: interpolate: remove outdated deprecation notices
#22833: DOC: special.comb: remove missed deprecation notice
#22835: MAINT: stats.boxcox_llf: refactor for simplicity
#22842: MAINT: bump boost_math to 1.88.0
#22843: DOC:
special
: addxp_capabilities
to logsumexp#22844: TST:
stats
: minor nits to test_stats.py#22845: TST:
stats
: reorder tests to matchxp_capabilities
#22846: MAINT: _lib/differentiate: update EIM with
at.set
#22848: MAINT: _lib: eliminate try/excepts in EIM
#22850: TST: optimize
VectorFunction
add test for J0=None branch…#22852: TST: fix
boxcox_llf
test failure on main#22854: MAINT: special: Add
xsf
as a submodule of SciPy#22855: MAINT: spatial.pdist: make dimensionality error more descriptive
#22858: DOC: Fix typo in
ndimage.generic_gradient_magnitude()
#22859: DOC: rewording of “ties” into “tied pairs” for clearer meaning
#22862: TST: integrate/spatial: make fail_slow allowances
#22863: TST: reintroduce
eager_warns
and fix free-threading test…#22864: MAINT: linalg.svd: raise correct error message for GESDD when…
#22873: ENH: sparse: Support nD sum/mean/min/max/argmin for sparse arrays
#22875: CI: limit pytest-fail-slow usage to a single CI job
#22886: ENH: signal: filter design functions array API standard support
#22891: DOC: Document allowed NumPy / Python versions
#22893: MAINT: vendor qhull as subproject and add
-Duse-system-libraries
#22895: MAINT: signal: correct the
get_window
delegator#22896: ENH: signal:
tf2zpk
et al Array API#22897: ENH: sparse: ND binary operations support
#22898: DEV: add editable install support for
spin
#22899: MAINT: bump array-api submodules
#22900: MAINT: fix
np.copyto
warnings on Dask#22908: MAINT: bump qhull to 2020.2
#22909: TST: Use
jax_autojit
#22913: BUG: fix syntax warning break in finally block under 3.14
#22915: BLD: optimize sdist contents through a dist script
#22916: DOC: integrate.solve_bvp: add missing reference details
#22917: DEV: fix invocation of linter on Windows
#22918: TST:
linalg
add test coverage to exception handling for invalid…#22926: MAINT: spatial.cKDTree: remove software prefetching and software…
#22927: MAINT: tools/check_test_name: specify encoding
#22930: DOC: linalg: update roadmap entry for BLAS/LAPACK bindings
#22932: BUG: interpolate: do not call PyArray macros on non-arrays
#22934: MAINT: optimize.zeros: fix error message
#22939: TST: spatial.transform: Add array API standard support for testing
#22941: MAINT: stats.qmc.Sobol: fix stacklevel of warning
#22944: MAINT: fix regressions in array-api-strict after disabling np.float64
#22946: ENH:
special
: addxp_capabilities
#22947: MAINT: avoid nested
asarray
calls#22949: MAINT: mass rename
make_skip_xp_backends
tomake_xp_test_case
#22950: MAINT: refresh gpu-ci pixi.lock
#22952: MAINT, DOC: forward port 1.15.3 release notes
#22955: MAINT: wheel downloader
#22959: ENH:
cluster
: more lazy functions#22960: DOC/TST:
cluster.hierarchy
: usexp_capabilities
#22961: TST:
cluster
: reduce test reliance from linkage#22963: MAINT: wrap wrapcauchy samples around the circle
#22967: CI: address some potential vulnerabilities
#22968: DOC: outline that not all attributes of OptimizeResult may be…
#22969: MAINT: stats.make_distribution: fix most remaining discrete distribution…
#22970: MAINT: stats.DiscreteDistribution: fix inversion methods
#22971: MAINT: fix skellam distribution tests
#22973: BUG: interpolate.make_splrep: raise error when
residuals.sum()
…#22976: ENH: stats: Implement _munp for gennorm
#22982: BUG: signal: fix incorrect vendoring of
npp_polyval
#22984: MAINT: special: remove test_compiles_in_cupy
#22987: DOC: sparse: sparray migration guide updates
#22992: ENH:
signal.cspline1d_eval,qspline1d_eval
throw exception…#22994: DOC: signal.csd: Small fixes to docstr
#22997: CI: temporarily disable free-threaded job with parallel-threads
#22998: BUG: Fix duplicate
--pyargs
due to double addition in SciPy…#22999: MAINT: bump up array-api-compat and array-api-extra
#23000: ENH/DOC/TST:
cluster.vq
: usexp_capabilities
#23001: DOC:
special
: update top-level docs to reflectxp_capabilities
#23005: BUG: sparse: fix mean/sum change in return of np.matrix for sparse…