SciPy 1.18.0 Release Notes#
Note
SciPy 1.18.0 is not released yet!
SciPy 1.18.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.18.x branch, and on adding new features on the main branch.
This release requires Python 3.12-3.14 and NumPy 2.0.0 or greater.
Highlights of this release#
SciPy now supports three different build modes for BLAS and LAPACK LP64/ILP64 support, and machinery is provided for downstream
cython_lapackconsumers to gracefully handle LP64/ILP64 backend builds. ILP64 support has been substantially improved across the SciPy library.Remaining Fortran to C translations have been completed—an experimental Fortran-free build option is now available to developers for testing purposes. Developer feedback is welcome on Fortran-free builds.
scipy.signal.whittaker_hendersonnow provides access to Whittaker-Henderson smoothing of a discrete signal.A large number of
scipy.statsfunctions now support lazy arrays and JAX JIT. Array API support has been improved substantially in SciPy, with at least 21 functions gaining new support in this release. 16scipy.statsfunctions have also gained support for MArray input.
New features#
scipy.fft improvements#
SciPy’s internal FFT backend has switched from
pocketfftto its successor packageducc0.fft, which features several incremental improvements. The most significant of those from SciPy’s perspective is probably that storage requirements for internally cached plans have been significantly reduced for most long 1D transforms. Plans that require more storage than 1MB will no longer be cached; this mainly affects huge 1D transforms of prime and near-prime sizes.
scipy.interpolate improvements#
Users may now increase the QHull simplex assignment tolerance via the new
simplex_toleranceargument to the_call__methods ofLinearNDInterpolatorandCloughTocher2dInterpolator. This can help users avoid holes in certain interpolation problems.The FITPACK Fortran code has been ported to C.
scipy.differentiate improvements#
scipy.differentiate.derivativenow supports passingkwargsto the function whose derivative is desired.
scipy.linalg improvements#
We now support three different build modes for BLAS and LAPACK: LP64-only, ILP64-only, and ILP64 for everyting except
cython_blas/cython_lapack/linalg.blas/linalg.lapack(support for Accelerate and MKL).Machinery is now provided for downstream
cython_lapackusers to gracefully handle LP64/ILP64 backend builds. Worked examples, including build system details, have been included in this release.An
overwrite_bkeyword argument was added toeigvals, for consistency with other similarlinalgfunctions.linalg.choleskynow leverages symmetry properties for performance improvements, especially for real matrices. The batching loop ofcholeskyhas now also been moved to a C implementation.scipy.linalg.luandscipy.linalg.dethave been rewritten in C++ with batching support in the compiled code.Added ILP64 support to
scipy.linalg.expmandscipy.linalg.sqrtm.The batching loops of
scipy.linalg.qr,scipy.linalg.eig,scipy.linalg.lstsq, andscipy.linalg.svdhave been moved to C, providing a substantial speedup for batched input.The performance of
scipy.linalg.expmhas been improved.The performance for
scipy.linalg.solvehas improved for batched inputs.
scipy.optimize improvements#
The
trust_constrmethod forminimizewas adjusted so that if thexarray would result in infeasible constraints, and those constraints were marked askeep_feasible, then the objective function is not called with thatxarray.The
COBYQAmethod forminimizenow supports being called concurrently by multiple threads. Previously, multiple threads calling this function would only run one at a time.scipy.optimize.nnls, andminimizemethodsSLSQPandL-BFGS-Bnow have support for ILP64 LAPACK, when available.Functions in
scipy.optimize.elementwisenow support passingkwargsto the callable function.
scipy.signal improvements#
The new
whittaker_hendersonimplements Whittaker-Henderson smoothing of a discrete signal. It offers different penalties to control the smoothness as well as automatic selection of the penalty strength via optimization of the restricted maximum likelihood (REML) criterion. It is a valuable alternative for the Savitzky-Golay filtersavgol_filter. In econometrics, Whittaker-Henderson graduation of penalty order 2 is also known as Hodrick-Prescott filter.lfilter_ziwas refactored for improved numerical stability and efficiency. It now raises aValueErrorif parameterahas leading zeros, i.e.,a[0] == 0, sincelfilterandfiltfiltdo not support that as well. Furthermore, aValueErrorinstead of aLinAlgErroris raised if the filter is unstable due to having a pole atz = 1.
scipy.sparse improvements#
In
scipy.sparse.csgraphthe computation of strongly connected components for directed graphs is now 2x faster with better cache locality, using algorithmic improvements described in the recent survey by Tarjan and Zwick.Added ILP64 BLAS/LAPACK support to SuperLU and PROPACK extensions.
All sparse array/matrix formats now support
matrix_transpose/.mT.Support for n-dimensional linear operators has been added to
scipy.sparse.linalg.LinearOperator.scipy.sparse.linalg.minresnow supports complex hermitian matrices.
scipy.integrate improvements#
ILP64 support was added for ODEPACK
scipy.integrate.tanhsinhandscipy.integrate.nsumnow support passingkwargsto the function to be integrated.
scipy.spatial improvements#
3D area calculations are now faster in
scipy.spatial.SphericalVoronoi.N-dimensional input is now supported for
scipy.spatial.distance.minkowski,scipy.spatial.distance.euclidean, andscipy.spatial.distance.seuclidean.It is now possible to return sparse arrays rather than matrices from
KDTree.sparse_distance_matrix.It is now possible to compose
RotationandRigidTransformdirectly, by automatically promotingRotationwhen the two are composed via a multiplication operator.
scipy.special improvements#
The accuracy of the following functions was improved:
scipy.special.bdtrik,scipy.special.bdtrin,scipy.special.nbdtrik,scipy.special.nbdtrin.The numerical behavior for
scipy.special.eval_jacobihas been improved for several parameter combinations.The Bessel functions
scipy.special.j0andscipy.special.y0have improved accuracy for large arguments.
scipy.stats improvements#
The accuracy of
scipy.stats.pmeanwith tiny, nonzerophas been improved.The performance of
scipy.stats.halfgennormhas been improved.zstatistichas been added to the result object ofscipy.stats.mannwhitneyu.A large number of
statsfunctions now support lazy arrays and JAX JIT (see Python Array API support section below).Support for the
nan_policykeyword argument has been added to:scipy.stats.obrientransform,scipy.stats.boxcox,scipy.stats.boxcox_normmax,scipy.stats.yeojohnson,scipy.stats.yeojohnson_normmax, andscipy.stats.sigmaclip.scipy.stats.ContinuousDistribution.lmomenthas been added for computing population L-moments.
Python Array API Standard Support#
Support has been added for CuPy delegation for:
interpolate.PPoly,interpolate.BPoly, andinterpolate.BSpline.CuPy support has been added for
scipy.stats.rankdata.Array API support has been added for
methodandtrimusage inscipy.stats.ttest_ind.Support for MArrays has been added to:
scipy.stats.cramervonmises,scipy.stats.ks_1samp,scipy.stats.ks_2samp,scipy.stats.mode,scipy.stats.rankdata,scipy.stats.kruskal,scipy.stats.brunnermunzel,scipy.stats.spearmanrho,scipy.stats.friedmanchisquare,scipy.stats.cramervonmises_2samp,scipy.stats.mannwhitneyu,scipy.stats.wilcoxon,scipy.stats.fligner,scipy.stats.linregress,scipy.stats.alexandergovern, andscipy.stats.levene.Array API support has been added to:
scipy.stats.quantile_test,scipy.stats.kendalltau(via NumPy conversion),scipy.stats.kstest,scipy.sparse.linalg.LinearOperator,scipy.stats.cumfreq,scipy.stats.relfreq,scipy.stats.ks_2samp,scipy.stats.theilslopes,scipy.stats.siegelslopes,scipy.stats.obrientransform(including marray),scipy.stats.binomtest,scipy.integrate.fixed_quad,scipy.signal.square,scipy.stats.expectile,scipy.stats.shapiro,scipy.stats.pointbiserialr,scipy.stats.bws_test,scipy.stats.estimated_cdf(new function),scipy.stats.linregress,scipy.integrate.simpson, andscipy.signal.sawtooth.The
torchsupport forscipy.signal.fftconvolvenow correctly handles thefloat32dtype.JAX JIT support has been added for:
scipy.stats.binomtest(except formethod='two-sided'),scipy.stats.mannwhitneyu(except formethod='auto'),scipy.stats.lmoment,scipy.stats.moment,scipy.stats.ansari(related to newmethodargument),scipy.stats.yeojohnson_llf,scipy.stats.epps_singleton_2samp,scipy.stats.wilcoxon(except formethod='exact'andmethod='auto'),scipy.stats.rankdata(via delegation),scipy.signal.oaconvolve,scipy.signal.hilbert, andscipy.signal.hilbert2.
Deprecated features and future changes#
passing
lworkparameter toscipy.linalg.qrhas been deprecated. The functionality was rarely used; the function computes the optimal size of the work arrays automatically, therefore users should simply remove their uses of thelworkparameter.The sparse construction functions
kron,kronsumandbuild_diagchoose return typesparrayorspmatrixdepending on the type of the sparse input arrays. When no inputs are sparse, the output is chosen to bespmatrix. That has been deprecated. The return type when no inputs are sparse will be changing tosparray. You can control the output type by ensuring that at least one input array is sparse. If any aresparray, the output will besparray. If all sparse inputs arespmatrix, the output will bespmatrix.A
FutureWarningis now issued for calling{r}matvecon column vectors withLinearOperator. Identical behavior can be achieved (and extended to batch dimensions) via{r}matmat.scipy.linalgfunctions are now stricter–using non-LAPACK dtypes is deprecated. When the deprecations expire, this will effectively limit the dtypes allowed in linear algebra functions to: integers (upcast to float), and single/double precision float/complex dtypes.scipy.spatial.minkowsi_distance, scipy.spatial.minkowsi_distance_p, and
scipy.spatial.distance_matrixhave been deprecated in favor of other superior functions.scipy.spatial.tsearchhas been deprecated because it duplicates functionality more conveniently provided within theDelaunayclass proper.The following functions have been deprecated because they were deemed not practically useful:
scipy.interpolate.pade,scipy.interpolate.lagrange, andscipy.interpolate.approximate_taylor_polynomial.Setting
spmatrix=Truefor thescipy.ioreadersmmio,FFM,hb, andmatlab/_miois now deprecated, including when set as the default value.The unintentionally public
scipy.cluster.vq.py_vqhas been deprecated.
Backwards incompatible changes#
The output of
scipy.stats.rankdatais now always of a floating point dtype – the result dtype of the input and a Pythonfloat.The behavior of the
residualsreturned byscipy.linalg.lstsqhas been changed. Forlapack_driver == "gelsy"or the system being either underdetermined or square, empty residuals are still returned. Forlapack_driver == "gesld"/"gelss"in combination with an overdetermined system a non-empty residual is always returned. However, in the case where a slice is not full column rank, the corresponding residual is set toNaN.The 2nd output object of
scipy.stats.contingency.crosstabwhen kwargsparse=Trueis now a sparse array holding the counts instead of a sparse matrix. This allows it to be nD, so can accept more than 2 sequences as inputs, but it is a different class. Most operations work the same for sparse arrays and matrixes with notable differences for matrix:*means matmul and always-2D. For more info see Migration from spmatrix to sparray.scipy.stats.obrientransformnow returns a tuple of arrays instead of a singlendarray.scipy.stats.multinomialnow returns NaNs when the category probability (p) rows/arrays do not sum to unity. This is an expiration of the deprecated behavior of adjusting the final element in theparray to compensate. Note thatmultinomial.rvswill now raise an error in such cases, since it has an integral return type.The
iprintanddispparameters ofscipy.optimize.fmin_l_bfgs_bhave been removed, following the expiry of their deprecation.For
scipy.linalg.{sqrtm, logm, signm},disp(andsqrtmblocksize) parameters were removed (expired deprecations).The deprecated
atolargument ofscipy.optimize.nnlshas been removed.
Other changes#
The vendored
Boost.Mathwas updated from1.89.0to1.91.0.SciPy now has a Pixi package definition, allowing developers to easily build SciPy from source inside Pixi workspaces.
Developers may be interested in the private build option
_without-fortran, which allows building SciPy from source in the absence of a Fortran compiler. This is an early prototype of the planned capability of a Fortran-free SciPy.The private
scipy.interpolate._regridfunction may be of experimental interest. It provides an interface for 2-D smoothing B-spline fitting via separable 1-D FITPACK kernels. It is under consideraton for public exposure in some form in the future.
Issues closed for 1.18.0#
#8444: ENH: sparse.linalg.LinearOperator: allow correct
matmatwhen…#8669: BUG/ENH: stats nan-policy with elementswise function
#11298: Default acceptance Parameter probably wrong in dual annealing
#11713: eval_gegenbauer inconsistently supporting limit evaluation
#13125: signal.step function behaves differently when system parameters…
#16200: BLD/DOC: Verify MKL works with Meson build, and document BLAS/LAPACK…
#17154: BUG: binned_statistic_2d fails when non-finite values present…
#17498: BLD: Remove use of
libnpymathandlibnpyrandom#18203: BUG: flang support ? or meson flang support? installing scipy…
#18566: META: FORTRAN Code inventory
#18869: REL: deploying to PyPI without download to local machine
#18982: BUG: signal:
lsimreturns incorrect results when the state…#19085: BUG: problem building bits/timesize.h not found on Ubuntu 22.04
#19629: BUG: linear system simulation yielding wrong results due to integer…
#19889: BUG: stats.rankdata: dtype instability
#20244: BUG: Incorrect variable assignment in optimize._trust_region_exact
#20636: BUG: stats.levy_stable: incorrect logpdf values for beta == +-1
#20720: BUG: ZeroDivision Error in peak_finding_utils.pyx
#20902: BUG: special.lpmv(0,v,-1) returns incorrect value for non-integer…
#21279: BUG: qhull incorrect tests if the point is inside convex hull
#21285: BUG: integrate.complex_ode: does not accept function parameter
#21456: DOC:
linalg.cho_{factor, solve}: explainoverwrite_*…#21889: RFC: 64-bit LAPACK and
cython_lapack#21910: BUG: interpolate.griddata: NaNs inside convex hull (despite no…
#22188: BUG: optimize.milp: segfault from HiGHS
#22705: BUG: special.j0: incorrect for large x
#22752: BUG: signal.minimum_phase: homomorphic mask error
#22816: BUG: stats.spearmanr: incorrectly identifies arrays as constant
#22831: BUG: Sparse Interpolator (LinearNDInterpolator and CloughTocher2DInterpolator) r…
#22966: MAINT, CI: zizmor analysis of CI security
#23142: BUG: sparse.csgraph.connected_components: unexpected results…
#23318: ENH: Switching from
pocketffttoducc0.fft#23351: ENH: linalg: Follow-up tasks for ILP64 support
#23407: BUG: stats.pmean: bad numerical behavior for small but finite…
#23577: BUG: sparse.csgraph.reconstruct_path: segfault for
nanpredecessors#23582:
xp_capabilitiesneeds a proper documentation#23748: BUG: scipy.sparse.linalg.lsmr() uninitialised variable if maxiter=0…
#23761: BUG: interpolate.RBFInterpolator: numerically unstable when two…
#23768: BUG: sparse: cs{cr}_{array,matrix}’s
sum(axis=0|1)doesn’t…#23814: ENH: sparse.linalg.minres: support complex hermitian matrices
#23839: Wheels for next release
#23868: BUG: stats: docstrings of several discrete distr. methods show…
#23894: DOC: interpolate.make_interp_spline: tutorial for replicating…
#23908: BLD: dropping manylinux2014 wheels
#23931: BUG: stats.relfreq: relative frequencies do not sum to 1 when…
#24002: BUG/TST: cluster: Occasional failure of a couple tests in
cluster#24021: BUG: Legendre functions of the second kind in scipy.special are…
#24026: BUG/DOC: Docstring rewriting in
xp_capabilitiescan break…#24027: ENH: optimize: Allow concurrent use of COBYQA minimizer
#24051: RFC: Should we have a ‘needs-release-note-decision’ tag?
#24069: BUG:
scipy.cluster.vq.kmeansreturns a distortion value from…#24082: BUG: io.hb_write: crashes on sparse matrices with zero stored…
#24084: BUG: interpolate:
RectBivariateSpline.partial_derivative…#24093: DOC: Mistake in scipy.special.airy documentation
#24099: BUG: specal: assoc_legendre_p incorrectly normalized at endpoints
#24154: MAINT: lint: fix failures following bump to Python 3.12
#24164: BLD: uarray: uninitialized warning
#24165: DOC: Mention that the Generalized Normal Distribution is also…
#24171: BUG: sparse.linalg.spilu does not drop entries less than tolerance
#24192: BUG: Segmentation fault for BSpline basis_element constructed…
#24196: RFC: How should
xp_capabilitieswork and be used for classes?#24203: BUG: optimize.shgo: identical branches in sampling_custom
#24205: RFC: Should Dask support remain a priority?
#24233: DOC:
find_peaks_cwtdocs referencecwt, which no longer…#24278: BUG: io.readsav: typo “IDENTIFICATON”
#24280: DOC: The return value in the function bc(ya, yb) in integrate.solve_bvp
#24281: BUG: numerical instability in interp1d linear interpolation
#24289: DOC: signal: _calc_oa_lens describes in2_step as size of step…
#24308: DOC: optimize: parameters not being added correctly for some…
#24311: DOC: optimize.milp missing mip_rel_gap value
#24320: DOC: optimize.elementwise: missing from “API definition” toc
#24321: DOC: stats.distributions: missing hyperlink in “API definition”…
#24395: BUG: scipy.signal.zpk2tf yield incorrect results with complex-valued…
#24410: DEV: how to run
XPBenchmarks?#24424: BUG: optimize.minimize:
trust-constrminimization not enforcing…#24425: BUG: optimize.ridder: Wrong implementation Ridders algorithm
#24445: BUG: sparse.linalg.spsolve: Segmentation Fault in matrix computation
#24446: BUG: optimize: residuals may be uninitalized in trlib_eigen_inverse()
#24477: DOC: stats: erratum in the formula of Negative Hypergeometric…
#24505: RFC: make dtype handling uniform across
scipy.linalg#24517: DOC: Rotation.apply(vectors) is not equivalent to Rotation.as_matrix()…
#24538: BUG: linalg.svd: break regarding C/F-contiguity
#24543:
TestDifferentialEvolutionSolverfailures in CI#24550: BUG: ndimage.map_coordinates: accuracy drops significantly for…
#24551: BUG: Instability in exponnorm for very small K
#24562: ENH: sparse.linalg.LinearOperator: empty batch support
#24626: DOC: interpolate: PchipInterpolator doesn’t document what
extrapolate=Nonem…#24662: BUG: stats.epps_singleton_2samp:
test_axis_nan_policy_full…#24663: CI/DEV: Automatic PR labeller for labelling on close is not working
#24670: TST: failures with latest CuPy release
#24671: Extraneous warning message from solve_ivp
#24673: DOC: outdated links in
io.netcdf_fileAPI ref. page#24675: BUG: LinearOperator: multiplication with a sparse matrix returns…
#24729: TST: sparse.linalg.aslinearoperator: add
xp_capabilities#24781: DOC: Inconsistent use of conda and mamba in Developer Documentation
#24803: BENCH: switch timing from spmatrix to sparray
#24828: BLD: meson warning for duplicate
include_directories#24831: BUG: linalg TestDTypes.test_det[g] failing on 32-bit armhf
#24838: BLD: mixed path separators in
scipy/__config__.pyon Windows#24847: BUG: scipy.stats.describe().variance is failing on boolean arrays
#24861: BUG: optimize.nnls: double free crash on empty input
#24933: BUG: scipy.integrate.ode with integrator=’vode’ uses transposed…
#24937: BUG: ABI-breaking changes for
cython_special.bdtrik& co…#24943: CI: linalg: dev deps failing due to NumPy deprecation of generic…
#25056: DOC:
scipy.interpolate.interpnwith method=’linear’ accepts…#25066: DOC: replace broken UiO spline notes references in
scipy.interpolate#25076: BUG:
cython_lapacksignatures:bintvariables become…#25086: BUG: optimize.direct: interpreter crash on empty Bounds
#25106: BUG:
nct.cdfreturnnan#25133: BUG: signal savgol_filter fails for large >20000 window_length…
#25162: MAINT, TST: a few test failures against NumPy
2.4.5
Pull requests for 1.18.0#
#20272: BUG: optimize: fix incorrect variable assignment in
_trustregion_exact.py#21548: ENH: integrate.simpson: add array API standard support
#22580: ENH: signal: add Whittaker-Henderson smoothing
#23070: MAINT: Convert
_fpumodeto multi-phase init (PEP 489)#23436: ENH: fft: switch from
pocketffttoducc0.fft#23446: DOC: special.entr: added example
#23481: ENH:io.matlab: Processing of mxOPAQUE_CLASS type during loadmat…
#23554: BUG: signal: Control output dtypes in
abcd_normalizeby adding…#23631: DOC: ndimage: fix example of ‘wrap’ mode for interpolation functions
#23737: ENH: Allow users to increase the QHull simplex assignment tolerance
#23751: MAINT: stats.binned_statistic: consistently raise for NaNs in…
#23766: ENH: stats.ContinuousDistribution.lmoment: add population L-moments
#23793: ENH: stats.ks_2samp: vectorize statistic implementation
#23798: ENH: stats.linregress: vectorize implementation and add array…
#23830: ENH: stats.theilslopes: vectorize implementation
#23836: ENH/DEP: sparse.linalg.LinearOperator: n-D batch support
#23900: ENH: sparse.linalg.minres: support for complex hermitian matrices
#23919: ENH: linalg/SVD: move the batching loop to C
#23935: DOC: special.sh_legendre: add Examples section
#23949: ENH: stats.estimated_cdf: array API function for
plotting_positions...#23951: DOC: interpolate: add tutorial on how to fill an image from its…
#23959: ENH: stats.bws_test: vectorize and add array API support
#23962: ENH: interpolate: Python bivariate spline fitter
_regrid#23968: ENH: stats.pointbiserialr: add array API support
#23969: TST: sparse.linalg.LinearOperator: add interface dot-tests
#24018: ENH: stats.binomtest: vectorize implementation
#24020: ENH: stats.shapiro: implement in Python array API
#24022: ENH:interpolate: Rewrite FITPACK in C
#24060: DEP/MAINT: cluster: deprecate
vq.py_vqand tidy public API#24079: ENH: migrate
special.bdtrinto boost#24081: DEV: auto apply
needs-release-note-decisionlabel to ENH/DEP…#24086: DOC: Improve the formatting of references in
scipy.stats#24091: MAINT: remove old numpy warning filters from pytest.ini
#24108: Fix endpoints normalization for assoc_legendre_p
#24110: DOC: special: Fix Airy Documentation
#24112: ENH: migrate special.bdtrik to boost
#24114: REL: set version to 1.18.0.dev0
#24119: MAINT: bump min numpy>=2.0.0 python>=3.12 for scipy 1.18
#24120: Fix bug in scipy.sparse.linalg.lsmr() if maxiter=0 and show=True
#24121: BUG: sparse: fix
sparse.linalg.normdtype handling#24123: ENH: linalg.solve: implement banded solver in cpp
#24127: DOC: special.lqn: Improve documentation
#24128: DOC/TST: signal.findfreqs: add tests and mark array api support
#24130: DOC/TST: (nearly) finalize current use of
xp_capabilities…#24134: MAINT:
_lib._array_api_no_0d: remove spurious*args…#24135: CI: split up array API job
#24136: DOC: special.lpmv: improve/fix documentation
#24144: MAINT/BLD: Don’t undef
_BEGIN_EXTERN_Cand_END_EXTERN_C#24146: DOC: sparse: clarify DIA data format and alignment
#24147: TST: linalg: test shapes for solve-like functions
#24149: TYP:
special: update outdated_test_internalstubs#24153: DEV: add
scipy-stubstotestenv#24156: MAINT: fix lint
#24157: ENH: sparse: implement
matrix_transposeand.mT#24162: BUG: stats.spearmanr: warn for constant input robustly
#24168: BUG/MAINT: special: Bump xsf to version 0.1.5
#24169: DOC: stats.gennorm: mention AKAs in documentation
#24170: TYP: fix some typing issues in
_lib._array_api.xp_vector_norm#24173: MAINT: NumPy 2.x cleanups
#24175: MAINT:optimize: Restructure the C code in optimize
#24179: ENH: spatial: Automatically promote a Rotation when composing…
#24180: MAINT: remove unneeded thread_unsafe markers for ode integrator…
#24181: ENH: stats.expectile: vectorize implementation and add array…
#24182: MAINT:interpolate: Correct the lwrk formula LSQSphereBivariateSpline
#24183: MAINT: more cleanup related to old NumPy versions and some unused…
#24184: DEV: use separate build-dir for system-libs env
#24185: ENH:MAINT:linalg: Move matfuncs to /src, Remove Python loops…
#24189: ENH: special.eval_jacobi() for n integer and alpha=-1 and beta=1
#24194: MAINT: interpolate.NearestNDInterpolator: use
KDTreeinstead…#24198: ENH: signal.lfilter_zi: refactor for efficiency and stability
#24201: ENH: signal.square: add array api support
#24202: BUG: ndimage: fix potential double-free in NI_InitFilterOffsets
#24204: BUG: signal/_firfilter.cc: fix out-of-bounds read in pylab_convolve_2d
#24206: BUG: optimize/__lbfgsb.c: fix pointer arithmetic bug in cauchy…
#24209: BUG: optimize/tnc/tnc.c: fix uninitialized xoffset when scale…
#24210: MAINT: improve sophistication of
approx_derivativeoutput…#24211: BUG: Remove redundant conditional in _shgo.sampling_custom
#24219: BUG: sparse.linalg: Fix copy-paste error in get_OPinv_matvec
#24220: BUG: optimize.direct: fix two memory leaks
#24221: BUG: io.hb_write: fill in default length when indptr is empty
#24226: DOC: fix typo and rendering issue in special.zetac
#24229: Modified bspline basis_element to raise error for invalid number…
#24230: BUG: cluster.vq: ensure
_kmeansreturns distortion corresponding…#24232: MAINT: signal: make abcd_normalize respect input dtype and remove…
#24235: DOC: signal.find_peaks_cwt: remove reference to removed cwt
#24238: ENH: integrate.fixed_quad: add array API support
#24242: BLD: address deprecation warnings from Meson 1.10
#24243: MAINT: stats.gmean/hmean/pmean: improve dtype handling for non-numpy…
#24248: DOC: stats.rv_discrete: remove unsupported parameter ‘scale’…
#24249: TST: stats.gstd: remove JAX xfail of test_ddof_equal_to_number_of_observations
#24257: DOC: stats: fix indentation of lists
#24258: MAINT: stats.mannwhitneyu: minor refactorings suggested in gh-23870
#24259: DOC: improve code comments in
scipy/meson.buildfor linking…#24262: TST: stats: skip tests involving complex input to special functions…
#24263: ENH: linalg.eig: move the batching loop to C
#24264: ENH: signal.sawtooth: add array api support
#24265: MAINT:
PY_VERSION_HEXcleanups#24266: DOC: signal.place_poles: fix xp_capabilites
#24267: DOC/TST: add new workflow for
xp_capabilitiesapplication…#24268: ENH: linalg.qr: move the batching loop to C
#24270: MAINT:interpolate: Silence compiler; Initialize ‘acc’ in dfitpack.c/fpsurf
#24271: MAINT/BLD: external source code in
subprojects, install…#24274: MAINT:linalg: Remove dummy ?larf/?larfg parameters from wrappers
#24279: BUG: io.readsav: fix for rectype
13:IDENTIFICATION#24282: BUG: Fix interp1d numerical stability
#24283: ENH: stats.siegelslopes: vectorize implementation
#24286: DOC: clarify order of residuals returned by bc in solve_bvp
#24287: BUG: stats.pmean: stabilize for small but finite p
#24288: DOC: integrate: fix indentation of lists
#24292: DOC: signal: fix _calc_oa_lens in2_step description
#24294: DOC:
signal.place_poles: fix docs for returnedgain_matrix…#24295: DOC: remove block quotes from array api support note
#24299: MAINT: _lib._tmpdirs: replace with stdlib functions
#24300: MAINT: vendor
packaging.versionwith a script, remove_lib._pep440#24303: DEV: add
smoke-docsPixi task#24309: DOC: fix incorrect block quotes
#24310: BLD: linalg/special: install only pxd files, not other generated…
#24312: DOC: optimize.milp: add missing mip_rel_gap default
#24314: BUG: stats.levy_stable: fix PDF in Tails for
beta=+-1#24315: ENH: stats.sigmaclip: add nan_policy
#24316: MAINT: sparse: remove check for python version bellow min supported
#24317: DOC/DEV: add a tool to run numpydoc lint/validation for public…
#24324: DOC: optimize.elementwise: add to API definition TOC
#24325: DOC: stats.distributions: remove text from API definition TOC
#24327: DOC: stats: adjust rendering of sub-namespace TOCs
#24328: DEV/CI: add
spin checkcommand, and add check forxp…#24329: MAINT: stats: add
nan_policyto normalizing transforms#24331: DOC:
special: minorgdtr[c]andnbdtr[c]equation…#24333: DEP: optimize.nnls: remove atol
#24337: MAINT, DOC: forward port 1.17.0 release notes
#24342: MAINT: update scipy-openblas to 0.3.31.22.0
#24344: DOC: fix ordering of documentation sections
#24347: DOC: integrate.nsum: correct documentation of
tolerances…#24349: DOC: enable GL05 / convert tabs to spaces
#24351: DOC: enable PR10
#24353: DOC: ensure all public function docstrings have Returns section;…
#24356: DOC: Remove non-existent ‘periodic’ parameter documentation from…
#24357: DOC:
integrate.qmc_quad: clarify parameter types fora…#24360: DOC: ensure return sections have description; enable RT03
#24361: DOC: ensure summaries begin with capital letters; enforce SS02
#24362: DOC: Add section to array api support dev docs on
check --xp-markers#24363: DOC: Add note to array API dev docs about Dask deprioritization
#24365: DOC: sparse: document format attribute
#24368: BUG: fix freeing of uninitialized memory in error paths in ndimage
#24369: DOC: make numpydoc lint work for methods
#24376: DOC: FFT: Improve the DFT section in the user guide.
#24381: ENH: stats.binomtest: add array API support
#24387: MAINT:optimize: Multiphase initialization for extension modules
#24388: MAINT:signal: Multiphase initialization for extension modules
#24389: MAINT:ndimage: Multiphase initialization for extension modules
#24390: MAINT:spatial: Multiphase initialization for _distance_wrap extension…
#24391: MAINT:special: Multiphase initialization for extension modules
#24392: MAINT:sparse: Multiphase initialization for extension modules
#24393: ENH: stats.obrientransform: add array API (+MArray) support and…
#24394: MAINT: optimize.quadratic_assignment: SPEC 7 follow-up
#24400: TYP: generic
stats.CensoredDatatype#24401: TYP: generic
stats.gaussian_kdetype#24405: ENH: stats: support lazy arrays, first pass
#24409: BLD/CI: fix regression when building with global meson, add a…
#24411: ENH: stats.rankdata: delegate to JAX
#24414: CI, MAINT: few 3.11/pixi cleaups
#24415: DOC: ndimage.generic_filter1d: add example
#24416: DEV/BENCH: Pixi tasks for array backend benchmarks
#24420: MAINT: stats.rankdata: consistently return floating point dtype
#24421: ENH: stats.wilcoxon: enable JIT
#24422: ENH: stats.epps_singleton_2samp: enable JIT
#24428: BUG:
signal._peak_finding._identify_ridge_linescorrect sorting…#24429: MAINT: migrate
special.nbdtrinto boost#24430: ENH: stats.yeojohnson_llf: enable JIT
#24434: MAINT: linalg: readability refactor inv/solve
#24435: DOC: constraints, outline what keep_feasible really means
#24441: DOC: spatial.KDTree.sparse_distance_matrix: add descriptions…
#24443: ENH: stats.theilslopes/siegelslopes: add array API support
#24449: MAINT: update Pixi for
scipy-openblas==0.3.31.22.0#24451: DOC: interpolate/tutorial: replace interp1d with a DIY left/right…
#24452: ENH: stats.ks_2samp: add array API support
#24455: BUG: optimize: validate itmax in trlib_eigen_inverse
#24456: BUG: sparse.linalg.spsolve: avoid segfault when spsolve fails…
#24460: ENH: stats.cumfreq/relfreq: add array API support
#24461: DOC: clarify spilu drop_tol behavior with respect to fill-in
#24462: BUG: optimize.ridder: avoid underflow when fa is small
#24464: ENH: stats.mannwhitneyu: add zstatistic to result object; declare…
#24465: DOC/DEV: update
vendored-codepage#24467: ENH: stats.ansari: add method argument; enable JIT
#24469: DOC: remove outdated cdflib references in
gdtrixandgdtria…#24470: DOC: ensure short summary ends with a full stop and enable SS03…
#24471: MAINT: fix import
#24472: DOC: linalg: discuss batching, add examples, tutorial links
#24473: DOC: add missing parameter descriptions and enable PR07 rule
#24475: ENH: stats.moment: simplify implementation; enable JIT
#24476: MAINT: linalg: vectorize pinv for batched inputs
#24478: DOC: fix ordering of parameters and enable PR03 check
#24479: ENH: stats.lmoment: enable JIT
#24480: DOC: stats.nhypergeom: fix erratum in distribution support
#24481: ENH: stats.kstest: add array API support
#24482: BLD: add scipy-doctest dependency
#24483: DOC: enable PR06 and standardise description of built in types
#24487: DOC: add missing types and enable PR04 rule
#24490: ENH: stats: another batch of
marraysupport#24493: MAINT: stats: remove UNURAN wrapper reference cycles
#24494: BLD: remove use of
xsimd_depto deal with unvendored xsimd…#24496: BUG:sparse: make
sumapplydtypebefore accumulation#24498: DOC: parameters not working for BroydenFirst and KrylovJacobian
#24500: ENH: stats.mannwhitneyu: enable JIT
#24501: ENH: stats.binomtest: enable JIT
#24503: MAINT: subprojects/cobyqa: use upstream Meson project
#24506: ENH: stats: add MArray support to
rankdataand several dependent…#24514: DOC: add user guide page on Security
#24516: DOC: Correct many a/an usage mistakes
#24518: DOC: spatial.transform.Rotation.apply: fix formula
#24535: ENH: special: use
lazy_applywhen falling back to NumPy in…#24536: CI: stop uploading wheels, redesign matrix, test on PRs
#24539: DOC: correct typo ‘occured’ to ‘occurred’
#24540: MAINT: tidy up
get_submodule_paths#24544: DOC: Fix typos for scipy.special.ndtri
#24545: DOC: stats.order_statistic: fix typos
#24548: CI: skip circle on
[skip ci]#24549: TST: optimize: seeding of
TestDifferentialEvolution#24557: BUG: special: get JAX delegation under the JIT to work with mixed…
#24559: TST: sparse.linalg.LinearOperator: add tests
#24570: DOC: io: remove redundant @docfiller decorator usage
#24571: MAINT: sparse.dok_array/matrix.pop: restore signature
#24575: MAINT: remove scipy/optimize/tnc/moduleTNC.c.old
#24577: DOC: fixed some typo
#24581: DOC: update security vulnerability report link in README
#24583: DOC: add AI policy
#24591: MAINT: optimize: minpack: use
booltypes Python-side#24604: TST: cluster: fix flakiness in kmeans2 tests by using fixed RNG
#24608: BUG: Split edge_offsets/data_offsets error checks in NI_GeometricTransform
#24609: STY: stats.UnivariateDistribution: remove unhelpful/outdated…
#24610: MAINT: stats.make_distribution: fix some issues with
rv_generic...#24615: BUG: ndimage: fix aliasing in _init_causal_reflect for small…
#24616: STY: stats.UnivariateDistribution: more comment adjustments
#24617: DOC: stats.UnivariateDistribution.sample: update documentation…
#24618: MAINT: stats._logexpxmexpy: simplify implementation
#24620: MAINT: stats.order_statistic: reinforce parameter integrality
#24622: TST: sparse.linalg.LinearOperator: prepare
test_interface…#24623: ENH: integrate.tanhsinh/nsum: add kwargs support
#24624: ENH: optimize.elementwise: add kwargs support
#24627: ENH: sparse.linalg.LinearOperator: array API standard support
#24628: TST: sparse.linalg.LinearOperator: test empty batches
#24632: MAINT: stats.UnivariateDistribution: don’t reset cache when transforming
#24634: TST: datasets: make tests runnable without pooch
#24635: BLD: add a build option to build without a Fortran compiler
#24637: ENH: sparse: add
csr_arraystructfor c++ calls to binop#24638: TST: fix tests for array-api-strict 2.5 / Array API 2025.12 spec
#24639: ENH: differentiate.derivative: add kwargs support
#24640: DOC: stats: update method of L-moments example
#24641: MAINT: replace usage of isspmatrix throughout scipy
#24642: ENH: spatial.KDTree:
output_typevariant for sparray#24643: DOC: Add tutorial for “extrapolate” keyword and standardize docstring
#24644: DEP: io: deprecate default spmatrix kwargs values
#24649: TST: sparse.csgraph: Add csgraph index array dtype tests for…
#24651: DOC/DEV: fix typo in release docs
#24652: ENH: stats.contingency.crosstab: support
sparray#24653: DOC: forward port 1.17.1 release notes
#24655: ENH: linalg: Use sparse array idioms in sketches docs and internal…
#24656: ENH: integrate: support
sparrayin IVP and BVP#24658: ENH: signal.fftconvolve: array API support for pytorch
#24659: MAINT: optimize: lbfgsb: remove one simple GOTO statement
#24661: TST: special.erf: mark
test_erf_complexas slow#24665: TST: stats.epps_singleton_2samp: bump axis_nan_policy test tolerance
#24666: CI/DEV: fix retag on close action
#24667: BUG: special.gegenbauer: fix endpoint behavior
#24668: DEV: add
ipython-cputask andsparsedep toarray-api-cpu…#24669: TST: sparse.linalg: prepare
test_iterativefor array API#24677: TST: stats: test MArray w/ torch, always test multidimensional…
#24678: DOC: Update broken links in scipy.io.netcdf_file
#24679: DOC: Improve and fix typos some scipy.special functions
#24682: DEP: linalg: deprecate using linalg functions with LAPACK-incompatible…
#24688: ENH: stats.mode: add MArray support
#24690: ENH: stats.kendalltau: add array API support (via conversion…
#24691: MAINT: optimize: lbfgs: replace
goto SAVEVARSwithsave_vars…#24695: MAINT: special: migrate
nrdtrimn/nrdtrisdto xsf#24697: ENH: stats.quantile_test: add array API support
#24703: ENH: optimize: make
nnls,slsqpandlbfgsbILP64-ready#24706: BUG: sparse.csgraph.connected_components: fix BSR blocksize !=…
#24709: MAINT: linalg/{svd, eig}: re-enable overwrite_a
#24711: ENH: migrate
special.nbdtrikto boost#24712: DEP: interpolate: deprecate “impractical” functions
#24714: TST: sparse.linalg.LinearOperator: test lazy backends
#24715: TST: linalg: bump test tolerance for openblas on x86 MacOS
#24717: DOC: stats: document MArray support
#24719: TST: bump to CuPy 14
#24724: TST/DOC: Set
jax_default_matmul_precisiontofloat32…#24725: CI: update actions versions
#24726: ENH: stats.ks_1samp/ks_2samp/kstest: add MArray support
#24730: DEV/CI: Pixi task to update GHA hashes
#24732: MAINT: syncs wheels.yml with that used by scipy/scipy-release
#24735: CI: cache CuPy kernels in GPU job
#24736: TST: sparse.linalg.aslinearoperator: add
xp_capabilities#24739: TST: sparse.linalg.LinearOperator: unskip CuPy
#24740: CI: CI/CD hardening
#24743: MAINT: optimize: lbfgs: replace
gotostatements in cauchy#24745: TST: sparse.linalg: prepare
test_iterativefor batching#24746: MAINT: optimize: lbfgs: replace
gotostatements LINE1000#24749: BUG: signal.minimum_phase: correct calculation
#24750: MAINT: linalg.solve: reenable ‘overwrite_b’ for solve(…, assume_a=”banded”)
#24752: BUG: optimize: improve handling of memory errors in direct()
#24753: BUG: Rotation.apply read-only memoryview support
#24755: ENH: stats.cramervonmises: add MArray support
#24756: MAINT: optimize/trlib: is actually ILP64-ready
#24758: DOC:sparse.linalg.eigs{h}: version added admonition for
rng…#24759: ENH: linalg.cholesky: move batching loop to C
#24760: BUG: integrate: fix ComplexWarning in _sparse_num_jac with complex…
#24761: BUG:
from_rotvecread-only support#24764: TYP: generic
spatial.transform.Rotationtype#24765: DOC: fix typos in /tutorial/interpolate
#24766: DOC: minor follow ups to the AI policy
#24768: TYP: generic
spatial.transform.RigidTransformtype#24772: BUG: linalg: fix int overflow in complex Cholesky wrappers
#24773: Fix formatting of error message in _minpack_py.py
#24776: CI: cleanup ccache code
#24778: BUG: spatial.transform.Rotation.approx_equal: fix bool return…
#24780: ENH: spatial.distance: add support for nd inputs to minkowski/euclidean/seuclide…
#24782: ENH: add
conditionto {skip,xfail}_xp_backends#24783: DOC/DEV: Change instances of mamba to conda
#24784: BUG: stats: fix
ks_1sampmethodargument validation#24785: MAINT: stats.UnivariateDistribution: fix typo in safe complement…
#24788: MAINT: special: Remove npymath dep
#24792: BUG: use
CBLAS_INTinsave_varsin lbfgsb.c for ILP64…#24793: MAINT/ENH: linalg: use
get_blas_lapack_funcsnot bare lapack…#24796: TST: signal: add tests for
general_gaussianandcosine#24801: CI: rtools45
#24804: ENH: interpolate: add CuPy delegation for BSpline
#24807: CI: avoid win-arm64 failure, re-enable silently skipped meson-global…
#24809: DOC: fix typos in tutorial/stats
#24815: MAINT: update SuperLU to latest upstream commit, and reduce our…
#24816: BUG: sparse.csgraph.reconstruct_path: raise for non-integral…
#24817: BUG: signal: fix peak widths zero division error
#24822: MAINT: special: Use two C++ function types from xsf.
#24826: BUG: special: use CMPLX() instead of real + imag * I in
_complexstuff.h#24829: ENH: linalg: add ILP64 support to the
_internal_matfuncs…#24832: CI: fixes the broken clang-17 job on linux.yml
#24833: BLD: consolidate include_directories
#24835: BENCH: signal: better comparison between
fftconvolveand…#24836: CI: fix ccache usage issues in linux.yml jobs
#24837: MAINT: special: add robust CMPLX fallbacks for non-MSVC compilers
#24839: ENH: add Pixi package definition
#24841: ENH: sparse.linalg: add ILP64 support to
_propack#24844: MAINT: sparse.linalg: add ILP64 build option to ARPACK
#24845: MAINT: split ILP64 defines to a separate header
#24846: DOC: fft.idst: add examples
#24848: TST: stats: add array API test coverage
#24850: TST: stats: move tests into classes
#24851: MNT: sparse: update csgraph and linalg tests to avoid unneeded…
#24852: ENH: stats.ttest_ind: array API support for
methodandtrim#24853: TST: stats.ttest_rel: translate tests to array API
#24855: BUG: fix scipy.stats.describe() is failing on boolean arrays
#24856: TST: stats.binomtest: translate remaining tests to array API
#24857: MAINT: optimize: lbfgs: replace
goto LINE999#24858: ENH:MAINT:linalg: Rewrite lu and det in C++
#24862: ENH/TST: stats: strengthen MArray tests
#24863: MAINT: stats.make_distribution: simplify creating distribution…
#24866: ENH: optimize.nnls: handle zero-dimensional edge case
#24868: DEP: stats.multinomial: produce NaNs for
p.sum() != 1#24870: MAINT: linalg.lstsq: reenable overwrite_x
#24873: ENH: integrate: add ILP64 support to _odepack and _vode extensions
#24874: MAINT: optimize: lbfgs: replace goto LINE888
#24875: ENH: add ILP64 BLAS/LAPACK support to SuperLU
#24877: TST: stats.iqr: avoid assert_equal w/ floating point arithmetic
#24878: DOC: stats: additional
extra_notes#24881: DOC: optimize.dual_annealing: mention origin of the default parameters
#24883: MAINT: optimize: lbfgs: docstring of
taskandtask_msg#24886: DEP: sparse: Deprecate default output type of input dependent…
#24889: MAINT: linalg: rename
type_traitsandnumeric_limits…#24891: BENCH: switch spmatrix to sparray in benchmarks that don’t compare…
#24892: MAINT: linalg: remove mentions of cblas/clapack modules which…
#24894: MAINT: stats: use xsf gufunc in pmf and cdf calculation for
poisson_binom#24897: ENH: linalg: add HAS_LP64 config variable
#24900: TST: linalg: skip a test which was failing on armhf in Debian…
#24902: MAINT: _build_utils: remove vendored npy_cblas.h header
#24904: DOC: integrate.{RK23, RK45}: Add examples
#24906: MAINT:
__package__→__spec__.parent#24909: BLD: ensure include paths for
blas_depandlapack_dep…#24911: DOC: special.roots_sh_legendre: add example
#24912: BLD: fix issue with manual caching function in
_generate_pyx.py…#24913: ENH: linalg.cholesky: leverage symmetry for performance
#24917: TYP: fix type alias declarations
#24918: TYP: remove unnecessary
from __future__ import annotations…#24919: ENH: stats.rankdata: CuPy support via
repeatworkaround#24920: TYP: use modern generic standard collection types
#24921: DOC: interpolate: small tweaks to the “extrapolate” section
#24922: MAINT: bump
mypyto1.19.1#24928: BUG: special: fix leaked
py_SpecialFunctionWarninginsf_error_v#24929: BUG: use
CMPLX()/CMPLXF()instead ofreal + imag…#24930: TYP: fix all (600+) mypy errors
#24934: BUG: fix VODE Jacobian transposition in dvode_jacobian_thunk…
#24938: MAINT: fix
cython_blas/cython_lapackABI breakage from…#24939: DOC: fix
Rotation.applydocstring matrix formula#24940: DOC: keep_feasible explanation
#24941: MAINT: namespace C++ linalg functions to avoid shadowing std…
#24946: MAINT: linalg: fix test_dtypes for “m” deprecation
#24947: MAINT: interpolate: Refactor BSpline class
#24948: CI: place upper limit on ccache size
#24951: BUG: sparse: large assignments can lead to ValueError in CSR/CSC
#24958: DOC: add link to AI policy in CONTRIBUTING.rst
#24961: DOC: separate sparse spmatrix docs to their own pages and add…
#24962: CI: fix issue with pkgconf-pypi no longer finding openblas
#24963: DOC: linalg: discuss/illustrate
overwrite_aarguments#24964: CI: move c-cpp build mode to manual for codeql
#24965: MAINT: linalg: refactor sanity checks
#24967: ENH:MAINT:linalg: Move
bandwidthfunction from Cython to…#24969: MAINT: linalg.qr: re-enable
overwrite_a#24970: CI: respect commit message skips in Pixi Packages workflow
#24977: ENH: BLD: refactor BLAS support, and introduce an ILP64-only…
#24979: MAINT: fix abs() truncation warnings for fblas_64.pyf.src in…
#24981: CI: win_arm64 removes LLVM install step
#24983: DEV: avoid byte-compiling every .py file on a
spin build…#24984: TST: special: fix extremely slow
TestSystematic.test_gegenbauer_int#24988: MAINT: linalg: Fix AIX build break due to RAW Macro defined.
#24993: DOC: signal: clarify 1-D input requirement for lp2lp, lp2hp,…
#24996: ENH: sparse.csgraph.connected_components: state-of-the-art implementation…
#24998: TST: spatial: skip
test_ckdtree_memusefor ASan builds#24999: DEV: bump spin to v0.18 from v0.15
#25001: ENH: linalg: add
overwrite_bargument toeigvals#25002: CI: Enable xdist and kernel caching for JAX step of GPU job
#25003: CI: add
zizmor#25004: DOC: Remove duplicated ‘to’ in ‘wrt to’ and ‘w.r.t. to’
#25005: DOC: fix typos in
_morphology.py#25011: MAINT: optimize: lbfgs: replace goto LINE222
#25012: CI: add MKL and scipy-openblas64 jobs with ILP64-only build mode
#25013: DOC: optimize.curve_fit: raising
TypeError#25017: DOC: Fix ‘accomodate’ typo in comments
#25019: TST: bump relative tolerance for precision of estimated covariance
#25024: DOC: special.hermitenorm: add example
#25025: ENH: add a worked example of downstream usage of ILP64
cython_lapack#25028: DEP: spatial: deprecate tsearch
#25030: DOC: optimize: add some references to line search algorithms
#25031: DOC: improve documentation for special.erf and related functions
#25032: DOC: constants: remove duplicate
grain#25034: TST: integrate: increase tolerance for float32 in
test_result_dtype_promoted_c…#25036: DOC: special: ensure
MultiUFunchastext_signatureand…#25042: DOC: special: Update URLs to use HTTPS
#25043: CI: turn off deployment for circleci-redirector environment
#25044: TYP/CI: Type checking with Pyrefly
#25045: MAINT: special: avoid deprecated implicit datetime unit
#25046: DOC: interpolate: fix imbalanced double backticks
#25047: DOC: stats.binomtest: fix unbalanced backticks
#25048: DOC: stats.yeojohnson_llf: fix invalid RST
#25054: DOC: misc typos in syntax
#25058: ENH: faster
SphericalVoronoi3D area calculations#25064: DOC: interpolate.interpn: Example with extrapolation added
#25068: DOC: update old B-spline source
#25072: ENH: interpolate.BPoly/PPoly set up CuPy delegation
#25077: DOC: special: fix formulas and examples
#25079: ENH: add a blas_bint typedef to cython_blas
#25084: MAINT: migrate away from soon to be deprecated spatial functions
#25087: MAINT: update Boost to 1.91
#25088: BUG: optimize.direct: Prevent crash when running direct on empty…
#25092: DOC: scipy.special: improve documentation for orthogonal polynomials
#25093: MAINT: sparse: remove test of python2 -> python3 continuity of…
#25094: ENH: stats: Implement _munp() for halfgennorm.
#25098: DEP: spatial: deprecate
minkowsi_distance,``minkowsi_distance_p``...#25099: MAINT: sparse.linalg: resave propack test dataset objects as…
#25103: MAINT: sparse: COO.tocsc add comment about unused copy
#25105: DOC: stats: add references to five distributions that are missing…
#25107: DEV: bump to Pixi v0.68.0
#25108: MAINT: restore
cython_specialABI to match 1.17.0, add test…#25109: DOC: sparse: add doc-string warnings to match kron/kronsum/block_diag…
#25114: MAINT: special: Remove tabs from boost_special_functions.h
#25119: MAINT/TST: sparse: Require 64 GiB for test_large_assignments()
#25121: DOC: fix typo of “firwin” in iirdesign
#25127: BUG: special: fix subtle ufunc loop bug by updating xsf
#25129: BUG: sparse: Add defensive checks to sparsetools
#25131: ENH: signal.oaconvolve: add JAX support
#25134: BUG: signal: backwards compat in savgol/lstsq
#25137: TST: add regression test for #22705
#25140: BUG: special: make
sf_error_vthreadsafe#25145: DOC: don’t append the array api compatibility table to docstring…
#25147: BLD: silence build warnings from uarray and ducc0
#25148: BUG/ENH: interpolate: Reduce
_regridmemory pressure in large…#25149: MAINT: special: bump xsf submodule to fix crashes and failures…
#25155: ENH: signal.deconvolve: add JAX support
#25156: ENH: signal.hilbert, signal.hilbert2: add JAX support
#25159: ENH: signal.lp2hp: add JAX support
#25160: ENH: signal.lp2bp, signal.lp2bs: add JAX support
#25168: BUG: io: The ‘scipy_mmio’ threadpoolctl was not setting the version…
#25169: MAINT: convert
interpolate._dierckxand test modules to multi-phase…#25170: DOC: sparse: sparse docs changes related to spmatrix
#25173: BUG/TST: io: Fix test_threadpoolctl in scipy/io/tests/test_mmio.py.
#25174: DOC: sparse.linalg.LinearOperator:
xpparam#25179: DOC: unbalanced backticks in release notes an ND_regular_grid
#25183: interpolate: skip
test_spline_large_2don Windows pending…#25189: BUG: interpolate/RBF: use a symmetric solver where available
#25191: DOC: special: Improve documentation for
boxcoxfunctions#25193: DOC: stats: Note that halfgennorm is a special case of gengamma.
#25194: interpolate: parametrize
test_spline_large_2d*overspl_apis...