Skip to main content
`Ctrl`+`K`

# SciPy 1.11.0 Release Notes

SciPy 1.11.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.11.x branch, and on adding new features on the main branch.

This release requires Python 3.9+ and NumPy 1.21.6 or greater.

For running on PyPy, PyPy3 6.0+ is required.

## Highlights of this release

- Several `scipy.sparse` array API improvements, including sparse.sparray, a new public base class distinct from the older sparse.spmatrix class, proper 64-bit index support, and numerous deprecations paving the way to a modern sparse array experience.

- `scipy.stats` added tools for survival analysis, multiple hypothesis testing, sensitivity analysis, and working with censored data.

- A new function was added for quasi-Monte Carlo integration, and linear algebra functions `det` and `lu` now accept nD-arrays.

- An `axes` argument was added broadly to `ndimage` functions, facilitating analysis of stacked image data.

## New features

### `scipy.integrate` improvements

- Added `scipy.integrate.qmc_quad` for quasi-Monte Carlo integration.

- For an even number of points, `scipy.integrate.simpson` now calculates a parabolic segment over the last three points which gives improved accuracy over the previous implementation.

### `scipy.cluster` improvements

- `disjoint_set` has a new method `subset_size` for providing the size of a particular subset.

### `scipy.constants` improvements

- The `quetta`, `ronna`, `ronto`, and `quecto` SI prefixes were added.

### `scipy.linalg` improvements

- `scipy.linalg.det` is improved and now accepts nD-arrays.

- `scipy.linalg.lu` is improved and now accepts nD-arrays. With the new `p_indices` switch the output permutation argument can be 1D `(n,)` permutation index instead of the full `(n, n)` array.

### `scipy.ndimage` improvements

- `axes` argument was added to `rank_filter`, `percentile_filter`, `median_filter`, `uniform_filter`, `minimum_filter`, `maximum_filter`, and `gaussian_filter`, which can be useful for processing stacks of image data.

### `scipy.optimize` improvements

- `scipy.optimize.linprog` now passes unrecognized options directly to HiGHS.

- `scipy.optimize.root_scalar` now uses Newton’s method to be used without providing `fprime` and the `secant` method to be used without a second guess.

- `scipy.optimize.lsq_linear` now accepts `bounds` arguments of type `scipy.optimize.Bounds`.

- `scipy.optimize.minimize` `method='cobyla'` now supports simple bound constraints.

- Users can opt into a new callback interface for most methods of `scipy.optimize.minimize`: If the provided callback callable accepts a single keyword argument, `intermediate_result`, `scipy.optimize.minimize` now passes both the current solution and the optimal value of the objective function to the callback as an instance of `scipy.optimize.OptimizeResult`. It also allows the user to terminate optimization by raising a `StopIteration` exception from the callback function. `scipy.optimize.minimize` will return normally, and the latest solution information is provided in the result object.

- `scipy.optimize.curve_fit` now supports an optional `nan_policy` argument.

- `scipy.optimize.shgo` now has parallelization with the `workers` argument, symmetry arguments that can improve performance, class-based design to improve usability, and generally improved performance.

### `scipy.signal` improvements

- `istft` has an improved warning message when the NOLA condition fails.

### `scipy.sparse` improvements

- A new public base class `scipy.sparse.sparray` was introduced, allowing further extension of the sparse array API (such as the support for 1-dimensional sparse arrays) without breaking backwards compatibility. `isinstance(x, scipy.sparse.sparray)` to select the new sparse array classes, while `isinstance(x, scipy.sparse.spmatrix)` selects only the old sparse matrix classes.

- Division of sparse arrays by a dense array now returns sparse arrays.

- `scipy.sparse.isspmatrix` now only returns True for the sparse matrices instances. `scipy.sparse.issparse` now has to be used instead to check for instances of sparse arrays or instances of sparse matrices.

- Sparse arrays constructed with int64 indices will no longer automatically downcast to int32.

- The `argmin` and `argmax` methods now return the correct result when explicit zeros are present.

### `scipy.sparse.linalg` improvements

- dividing `LinearOperator` by a number now returns a `_ScaledLinearOperator`

- `LinearOperator` now supports right multiplication by arrays

- `lobpcg` should be more efficient following removal of an extraneous QR decomposition.

### `scipy.spatial` improvements

- Usage of new C++ backend for additional distance metrics, the majority of which will see substantial performance improvements, though a few minor regressions are known. These are focused on distances between boolean arrays.

### `scipy.special` improvements

- The factorial functions `factorial`, `factorial2` and `factorialk` were made consistent in their behavior (in terms of dimensionality, errors etc.). Additionally, `factorial2` can now handle arrays with `exact=True`, and `factorialk` can handle arrays.

### `scipy.stats` improvements

#### New Features

- `scipy.stats.sobol_indices`, a method to compute Sobol’ sensitivity indices.

- `scipy.stats.dunnett`, which performs Dunnett’s test of the means of multiple experimental groups against the mean of a control group.

- `scipy.stats.ecdf` for computing the empirical CDF and complementary CDF (survival function / SF) from uncensored or right-censored data. This function is also useful for survival analysis / Kaplan-Meier estimation.

- `scipy.stats.logrank` to compare survival functions underlying samples.

- `scipy.stats.false_discovery_control` for adjusting p-values to control the false discovery rate of multiple hypothesis tests using the Benjamini-Hochberg or Benjamini-Yekutieli procedures.

- `scipy.stats.CensoredData` to represent censored data. It can be used as input to the `fit` method of univariate distributions and to the new `ecdf` function.

- Filliben’s goodness of fit test as `method='Filliben'` of `scipy.stats.goodness_of_fit`.

- `scipy.stats.ttest_ind` has a new method, `confidence_interval` for computing a confidence interval of the difference between means.

- `scipy.stats.MonteCarloMethod`, `scipy.stats.PermutationMethod`, and `scipy.stats.BootstrapMethod` are new classes to configure resampling and/or Monte Carlo versions of hypothesis tests. They can currently be used with `scipy.stats.pearsonr`.

#### Statistical Distributions

- Added the von-Mises Fisher distribution as `scipy.stats.vonmises_fisher`. This distribution is the most common analogue of the normal distribution on the unit sphere.

- Added the relativistic Breit-Wigner distribution as `scipy.stats.rel_breitwigner`. It is used in high energy physics to model resonances.

- Added the Dirichlet multinomial distribution as `scipy.stats.dirichlet_multinomial`.

- Improved the speed and precision of several univariate statistical distributions.

  - `scipy.stats.anglit` `sf`

  - `scipy.stats.beta` `entropy`

  - `scipy.stats.betaprime` `cdf`, `sf`, `ppf`

  - `scipy.stats.chi` `entropy`

  - `scipy.stats.chi2` `entropy`

  - `scipy.stats.dgamma` `entropy`, `cdf`, `sf`, `ppf`, and `isf`

  - `scipy.stats.dweibull` `entropy`, `sf`, and `isf`

  - `scipy.stats.exponweib` `sf` and `isf`

  - `scipy.stats.f` `entropy`

  - `scipy.stats.foldcauchy` `sf`

  - `scipy.stats.foldnorm` `cdf` and `sf`

  - `scipy.stats.gamma` `entropy`

  - `scipy.stats.genexpon` `ppf`, `isf`, `rvs`

  - `scipy.stats.gengamma` `entropy`

  - `scipy.stats.geom` `entropy`

  - `scipy.stats.genlogistic` `entropy`, `logcdf`, `sf`, `ppf`, and `isf`

  - `scipy.stats.genhyperbolic` `cdf` and `sf`

  - `scipy.stats.gibrat` `sf` and `isf`

  - `scipy.stats.gompertz` `entropy`, `sf`. and `isf`

  - `scipy.stats.halflogistic` `sf`, and `isf`

  - `scipy.stats.halfcauchy` `sf` and `isf`

  - `scipy.stats.halfnorm` `cdf`, `sf`, and `isf`

  - `scipy.stats.invgamma` `entropy`

  - `scipy.stats.invgauss` `entropy`

  - `scipy.stats.johnsonsb` `pdf`, `cdf`, `sf`, `ppf`, and `isf`

  - `scipy.stats.johnsonsu` `pdf`, `sf`, `isf`, and `stats`

  - `scipy.stats.lognorm` `fit`

  - `scipy.stats.loguniform` `entropy`, `logpdf`, `pdf`, `cdf`, `ppf`, and `stats`

  - `scipy.stats.maxwell` `sf` and `isf`

  - `scipy.stats.nakagami` `entropy`

  - `scipy.stats.powerlaw` `sf`

  - `scipy.stats.powerlognorm` `logpdf`, `logsf`, `sf`, and `isf`

  - `scipy.stats.powernorm` `sf` and `isf`

  - `scipy.stats.t` `entropy`, `logpdf`, and `pdf`

  - `scipy.stats.truncexpon` `sf`, and `isf`

  - `scipy.stats.truncnorm` `entropy`

  - `scipy.stats.truncpareto` `fit`

  - `scipy.stats.vonmises` `fit`

- `scipy.stats.multivariate_t` now has `cdf` and `entropy` methods.

- `scipy.stats.multivariate_normal`, `scipy.stats.matrix_normal`, and `scipy.stats.invwishart` now have an `entropy` method.

#### Other Improvements

- `scipy.stats.monte_carlo_test` now supports multi-sample statistics.

- `scipy.stats.bootstrap` can now produce one-sided confidence intervals.

- `scipy.stats.rankdata` performance was improved for `method=ordinal` and `method=dense`.

- `scipy.stats.moment` now supports non-central moment calculation.

- `scipy.stats.anderson` now supports the `weibull_min` distribution.

- `scipy.stats.sem` and `scipy.stats.iqr` now support `axis`, `nan_policy`, and masked array input.

## Deprecated features

- Multi-Ellipsis sparse matrix indexing has been deprecated and will be removed in SciPy 1.13.

- Several methods were deprecated for sparse arrays: `asfptype`, `getrow`, `getcol`, `get_shape`, `getmaxprint`, `set_shape`, `getnnz`, and `getformat`. Additionally, the `.A` and `.H` attributes were deprecated. Sparse matrix types are not affected.

- The `scipy.linalg` functions `tri`, `triu` & `tril` are deprecated and will be removed in SciPy 1.13. Users are recommended to use the NumPy versions of these functions with identical names.

- The `scipy.signal` functions `bspline`, `quadratic` & `cubic` are deprecated and will be removed in SciPy 1.13. Users are recommended to use `scipy.interpolate.BSpline` instead.

- The `even` keyword of `scipy.integrate.simpson` is deprecated and will be removed in SciPy 1.13.0. Users should leave this as the default as this gives improved accuracy compared to the other methods.

- Using `exact=True` when passing integers in a float array to `factorial` is deprecated and will be removed in SciPy 1.13.0.

- float128 and object dtypes are deprecated for `scipy.signal.medfilt` and `scipy.signal.order_filter`

- The functions `scipy.signal.{lsim2, impulse2, step2}` had long been deprecated in documentation only. They now raise a DeprecationWarning and will be removed in SciPy 1.13.0.

- Importing window functions directly from scipy.window has been soft deprecated since SciPy 1.1.0. They now raise a `DeprecationWarning` and will be removed in SciPy 1.13.0. Users should instead import them from scipy.signal.window or use the convenience function `scipy.signal.get_window`.

## Backwards incompatible changes

- The default for the `legacy` keyword of `scipy.special.comb` has changed from `True` to `False`, as announced since its introduction.

## Expired Deprecations

There is an ongoing effort to follow through on long-standing deprecations. The following previously deprecated features are affected:

- The `n` keyword has been removed from `scipy.stats.moment`.

- The `alpha` keyword has been removed from scipy.stats.interval.

- The misspelt `gilbrat` distribution has been removed (use `scipy.stats.gibrat`).

- The deprecated spelling of the `kulsinski` distance metric has been removed (use `scipy.spatial.distance.kulczynski1`).

- The `vertices` keyword of scipy.spatial.Delauney.qhull has been removed (use simplices).

- The `residual` property of `scipy.sparse.csgraph.maximum_flow` has been removed (use `flow`).

- The `extradoc` keyword of `scipy.stats.rv_continuous`, `scipy.stats.rv_discrete` and scipy.stats.rv_sample has been removed.

- The `sym_pos` keyword of `scipy.linalg.solve` has been removed.

- The `scipy.optimize.minimize` function now raises an error for `x0` with `x0.ndim > 1`.

- In `scipy.stats.mode`, the default value of `keepdims` is now `False`, and support for non-numeric input has been removed.

- The function `scipy.signal.lsim` does not support non-uniform time steps anymore.

## Other changes

- Rewrote the source build docs and restructured the contributor guide.

- Improved support for cross-compiling with meson build system.

- MyST-NB notebook infrastructure has been added to our documentation.

## Authors

- h-vetinari (69)

- Oriol Abril-Pla (1) +

- Tom Adamczewski (1) +

- Anton Akhmerov (13)

- Andrey Akinshin (1) +

- alice (1) +

- Oren Amsalem (1)

- Ross Barnowski (13)

- Christoph Baumgarten (2)

- Dawson Beatty (1) +

- Doron Behar (1) +

- Peter Bell (1)

- John Belmonte (1) +

- boeleman (1) +

- Jack Borchanian (1) +

- Matt Borland (3) +

- Jake Bowhay (41)

- Larry Bradley (1) +

- Sienna Brent (1) +

- Matthew Brett (1)

- Evgeni Burovski (39)

- Matthias Bussonnier (2)

- Maria Cann (1) +

- Alfredo Carella (1) +

- CJ Carey (34)

- Hood Chatham (2)

- Anirudh Dagar (3)

- Alberto Defendi (1) +

- Pol del Aguila (1) +

- Hans Dembinski (1)

- Dennis (1) +

- Vinayak Dev (1) +

- Thomas Duvernay (1)

- DWesl (4)

- Stefan Endres (66)

- Evandro (1) +

- Tom Eversdijk (2) +

- Isuru Fernando (1)

- Franz Forstmayr (4)

- Joseph Fox-Rabinovitz (1)

- Stefano Frazzetto (1) +

- Neil Girdhar (1)

- Caden Gobat (1) +

- Ralf Gommers (153)

- GonVas (1) +

- Marco Gorelli (1)

- Brett Graham (2) +

- Matt Haberland (388)

- harshvardhan2707 (1) +

- Alex Herbert (1) +

- Guillaume Horel (1)

- Geert-Jan Huizing (1) +

- Jakob Jakobson (2)

- Julien Jerphanion (10)

- jyuv (2)

- Rajarshi Karmakar (1) +

- Ganesh Kathiresan (3) +

- Robert Kern (4)

- Andrew Knyazev (4)

- Sergey Koposov (1)

- Rishi Kulkarni (2) +

- Eric Larson (1)

- Zoufiné Lauer-Bare (2) +

- Antony Lee (3)

- Gregory R. Lee (8)

- Guillaume Lemaitre (2) +

- lilinjie (2) +

- Yannis Linardos (1) +

- Christian Lorentzen (5)

- Loïc Estève (1)

- Adam Lugowski (1) +

- Charlie Marsh (2) +

- Boris Martin (1) +

- Nicholas McKibben (11)

- Melissa Weber Mendonça (58)

- Michał Górny (1) +

- Jarrod Millman (5)

- Stefanie Molin (2) +

- Mark W. Mueller (1) +

- mustafacevik (1) +

- Takumasa N (1) +

- nboudrie (1)

- Andrew Nelson (112)

- Nico Schlömer (4)

- Lysandros Nikolaou (2) +

- Kyle Oman (1)

- OmarManzoor (2) +

- Simon Ott (1) +

- Geoffrey Oxberry (1) +

- Geoffrey M. Oxberry (2) +

- Sravya papaganti (1) +

- Tirth Patel (2)

- Ilhan Polat (32)

- Quentin Barthélemy (1)

- Matteo Raso (12) +

- Tyler Reddy (143)

- Lucas Roberts (1)

- Pamphile Roy (225)

- Jordan Rupprecht (1) +

- Atsushi Sakai (11)

- Omar Salman (7) +

- Leo Sandler (1) +

- Ujjwal Sarswat (3) +

- Saumya (1) +

- Daniel Schmitz (79)

- Henry Schreiner (2) +

- Dan Schult (8) +

- Eli Schwartz (6)

- Tomer Sery (2) +

- Scott Shambaugh (10) +

- Gagandeep Singh (1)

- Ethan Steinberg (6) +

- stepeos (2) +

- Albert Steppi (3)

- Strahinja Lukić (1)

- Kai Striega (4)

- suen-bit (1) +

- Tartopohm (2)

- Logan Thomas (2) +

- Jacopo Tissino (1) +

- Matus Valo (12) +

- Jacob Vanderplas (2)

- Christian Veenhuis (1) +

- Isaac Virshup (3)

- Stefan van der Walt (14)

- Warren Weckesser (63)

- windows-server-2003 (1)

- Levi John Wolf (3)

- Nobel Wong (1) +

- Benjamin Yeh (1) +

- Rory Yorke (1)

- Younes (2) +

- Zaikun ZHANG (1) +

- Alex Zverianskii (1) +

A total of 134 people contributed to this release. People with a “+” by their names contributed a patch for the first time. This list of names is automatically generated, and may not be fully complete.

## Issues closed for 1.11.0

- #1766: __fitpack.h work array computations pretty much one big bug….

- #1953: use custom warnings instead of print statements (Trac #1428)

- #3089: brentq, nan returns, and bounds

- #4257: scipy.optimize.line_search returns None

- #4532: box constraint in scipy optimize cobyla

- #5584: Suspected underflow issue with sign check in bisection method

- #5618: Solution for low accuracy of simps with even number of points

- #5899: minimize_scalar – strange behaviour

- #6414: scipy.stats Breit-Wigner distribution

- #6842: Covariance matrix returned by ODR needs to be scaled by the residual…

- #7306: any way of stopping optimization?

- #7799: basinhopping result violates constraints

- #8176: optimize.minimize should provide a way to return the cost function…

- #8394: brentq returns solutions outside of the bounds

- #8485: freqz() output for fifth order butterworth bandpass (low cut…

- #8922: Bug in Solve_ivp with BDF and Radau solvers and numpy arrays

- #9061: Will a vectorized fun offer advantages for scipy.integrate.LSODA?

- #9265: DOC: optimize.minimize: recipe for avoiding redundant work when…

- #9412: Callback return value erroneously ignored in minimize

- #9728: DOC: scipy.integrate.solve_ivp

- #9955: stats.mode nan_policy=’omit’ unexpected behavior when data are…

- #10050: [Bug] inconsistent canonical format for coo_matrix

- #10370: SciPy errors out expecting square matrix using for root-finding…

- #10437: scipy.optimize.dual_annealing always rejects non-improving state

- #10554: ndimage.gaussian_filter provide axis option

- #10829: Extend Anderson Darling to cover Weibull distribution

- #10853: ImportError: cannot import name spatial

- #11052: optimize.dual_annealing does not pass arguments to jacobian.

- #11564: LinearOperator objects cannot be applied to sparse matrices

- #11723: Monte Carlo methods for scipy.integrate

- #11775: Multi xatol for Nedler-Mead algorithm

- #11841: Ignore NaN with scipy.optimize.curve_fit

- #12114: scipy.optimize.shgo(): ‘args’ is incorrectly passed to constraint…

- #12715: Why the covariance from curve_fit depends so sharply on the overall…

- #13122: The test suite fails on Python 3.10: issue with factorial() on…

- #13258: **kwargs for optimize.root_scalar and alike

- #13407: `if rtol < _rtol / 4` should be changed?

- #13535: Newton-iteration should not be done after secant interpolation

- #13547: optimize.shgo: handle objective functions that return the gradient…

- #13554: The correct root for test APS13 is 0

- #13757: API for representing censored data

- #13974: BUG: optimize.shgo: not using options

- #14059: Bound on absolute tolerance ‘xtol’ in ‘optimize/zeros.py’ is…

- #14262: cython_blas does not use const in signatures

- #14414: brentq does converge and not raise an error for np.nan functions

- #14486: One bug, one mistake and one refactorization proposal for the…

- #14519: scipy/stats/tests/test_continuous_basic.py::test_cont_basic[500-200-ncf-arg74] test fails with IntegrationWarning

- #14525: scipy.signal.bspline does not work for integer types

- #14858: BUG: scipy.optimize.bracket sometimes fails silently

- #14901: BUG: stats: distribution methods emit unnecessary warnings from…

- #15089: BUG: scipy.optimize.minimize() does not report lowest energy…

- #15136: ENH: Bump boost.math version

- #15177: BUG: element-wise division between sparse matrices and array-likes…

- #15212: BUG: stange behavior of scipy.integrate.quad for divergent integrals

- #15514: BUG: optimize.shgo: error with vector constraints

- #15600: BUG: handle inconsistencies in factorial functions and their…

- #15613: ENH: Provide functions to compute log-integrals numerically (e.g.,…

- #15702: MAINT:linalg: Either silent import NumPy versions or deprecate…

- #15706: DEP: remove deprecated parameters from stats distributions

- #15755: DEP: absorb lsim2 into lsim

- #15756: DEP: remove non-numeric array support in stats.mode

- #15790: BUG: `isspmatrix` doesn’t account for sparse arrays

- #15808: DEP: raise on >1-dim inputs for optimize.minimize

- #15814: CI: move Azure jobs to GitHub Actions

- #15818: DEP: remove extradoc keyword in _distn_infrastructure

- #15829: DEP: remove sym_pos-keyword of scipy.linalg.solve

- #15852: DOC: helper function to seed examples

- #15906: Missing degree of freedom parameter in return value from `stats.ttest_ind`

- #15985: ENH, DOC: Add section explaining why and when to use a custom…

- #15988: DEP: remove deprecated gilbrat distribution

- #16014: DEP: remove MaximumFlowResult.residual

- #16068: BUG: Missing Constant in Documentation

- #16079: BUG: hypergeom.cdf slower in 1.8.0 than 1.7.3

- #16196: BUG: OptimizeResult from optimize.minimize_scalar changes ‘x’…

- #16269: DEP: remove `maxiter` kwarg in `_minimize_tnc`

- #16270: DEP: remove `vertices` kwarg in qhull

- #16271: DEP: remove `scipy.spatial.distance.kulsinski`

- #16312: Meson complains about an absolute include path

- #16322: DOC: building on Windows uses GCC with Meson, not MSVC

- #16595: BUG: stats.mode emits annoying RuntimeWarning about nans even…

- #16734: BUG: function p1evl in povevl.h not making what’s described

- #16803: Update `scipy/__config__.py` to contain useful information

- #16810: ENH: implement Dirichlet-multinomial distribution

- #16917: BUG: Windows Built SciPy can’t import _fblas via pip install…

- #16929: BUG: `scipy.sparse.csc_matrix.argmin` returns wrong values

- #16949: Test failures for `gges` and `qz` for float32 input in macOS…

- #16971: BUG: [issue in scipy.optimize.shgo, for COBYLA’s minimizer_kwargs…

- #16998: Unpickled and deepcopied distributions do not use global random…

- #17024: ENH: Force real part of Rotation.as_quat() to be positive.

- #17107: BUG: The signature of cKDTree.query_pairs in the docs does not…

- #17137: BUG: optimize: Intermittent failure of `test_milp_timeout_16545`

- #17146: BUG: Scipy stats probability greater than 1

- #17214: BUG: scipy.stats.mode: inconsistent shape with `axis=None`…

- #17234: BUG: cythonization / compliation failure with development branch…

- #17250: ENH: Expose parallel HiGHS solvers in high-level API

- #17281: BUG: using LinearOperator as RHS operand of @ causes a NumPy…

- #17285: ENH: Expose DisjointSet._sizes

- #17312: ENH: Clarify that ndimage.find_objects returns slices ordered…

- #17335: ENH: change term zero to root in newton

- #17368: BUG: import scipy.stats fails under valgrind

- #17378: griddata linear / LinearNDInterpolator unexpected behavior

- #17381: BUG: FutureWarning in distance_transform_cdt

- #17388: BUG: stats.binom: Boost binomial distribution edge case bug?

- #17403: DOC: There is no general `scipy.sparse` page in the user guide

- #17431: ENH: ECDF in scipy.

- #17456: ENH: custom stopping criteria with auxiliary function

- #17516: BUG: Error in documentation for scipy.optimize.minimize

- #17532: DOC: side bar renders over the top of some of the text in the…

- #17548: CI: The Ubuntu 18.04 Actions runner image is deprecated

- #17570: ENH: optimize.root_scalar: default to `newton` when only `x0`…

- #17576: ENH: override fit method for von mises

- #17593: BUG: cannot import name ‘permutation_test’ from ‘scipy.stats’

- #17604: DOC: optimize.curve_fit: documentation of `fvec` is not specific

- #17620: ENH: Cachable normalisation parameter for frozen distributions

- #17631: BUG: numerical issues for cdf/ppf of the betaprime distribution

- #17639: BUG: “xl” not returned if success = False for scipy.optimize.shgo

- #17652: Check for non-running tests because of test function name and…

- #17667: BUG: Wrong p-values with Wilcoxon signed-rank test because of…

- #17683: TST: stats: Several functions with no tests in `stats.mstats`

- #17713: BUG: `_axis_nan_policy` changes some common `TypeError`s

- #17725: BUG: spatial: Bad error message from `hamming` when `w` has…

- #17749: ENH: Compute non centraled moments with `stats.moment`?

- #17754: Cosine distance of vector to self returns small non-zero answer…

- #17776: BUG: dblquad and args kwarg

- #17788: ENH: Scipy Optimize, equal Bounds should be directly passed to…

- #17805: BUG: stats: dgamma.sf and dgamma.cdf lose precision in the tails

- #17809: BUG: CDF and PMF of binomial function not same with extreme values

- #17815: DOC: improve documentation for distance_transform_{cdt,edt}

- #17819: BUG: `stats.ttest_ind_from_stats` doesn’t check whether standard…

- #17828: DOC: UnivariateSpline does not have any documentation or a reference.

- #17845: BUG: 1.10.0 FIR Decimation is broken when supplying ftype as…

- #17846: BUG: Infinite loop in scipy.integrate.solve_ivp()

- #17860: DOC: Incorrect link to ARPACK

- #17866: DOC: Should `Result Classes` be its own top level section?

- #17911: DOC: Formula of Tustin formula in scipy.signal.bilinear misses…

- #17913: Unexpected behaviour of pearsonr pvalue for one sided tests

- #17916: BUG: scipy 1.10.0 crashes when using a large float in skellam…

- #17941: DOC: guidance on setting dev.py build -j flag in documentation,…

- #17954: BUG: failure in lobpcg

- #17970: BUG: ILP64 build issue on Python 3.11

- #17985: DOC: update wheel generation process

- #17992: BUG: matlab files with deeply lists of arrays with different…

- #17999: DOC: incorrect example for stats.cramervonmises

- #18026: BUG: stats: Error from e.g. `stats.betabinom.stats(10, 2, 3,…

- #18067: ENH: stats: resampling/Monte Carlo configuration object

- #18069: ENH: stats.ttest_ind is inconsistent with R. It does not allow…

- #18071: BUG: rv_continuous.stats fails to converge when trying to estimate…

- #18074: BUG: wrong dependencies for pooch

- #18078: BUG: `QMCEngine.reset()` semantics and passed `Generator`…

- #18079: BUG: `Halton(seed=rng)` does not consume `Generator` PRNG…

- #18106: BUG: Linprog reports failure despite success convergence, given…

- #18115: BUG: ValueError: setting an array element with a sequence for…

- #18117: BUG: stats: large errors in genhyperbolic.cdf and .sf for large…

- #18119: DOC: The comment about `fmin_powell` is wrong

- #18123: BUG: [mmread] Error while reading mtx file with spaces before…

- #18132: BUG: invalid output and behavior of scipy.stats.somersd

- #18139: BUG: Overflow in ‘new’ implementation of scipy.stats.kendalltau

- #18143: Building from source on Windows 32-bit Python did not succeed

- #18171: BUG: optimize.root_scalar: should return normally with `converged=False`…

- #18223: BUG: cKDTree segmentation faults when NaN input and balanced_tree=False,…

- #18226: ENH: stats.geometric.entropy: implement analytical formula

- #18239: DOC: linking to custom BLAS/LAPACK locations is not clear

- #18254: BUG: stats.mode: failure with array of Pandas integers

- #18271: Broken or wrong formulas on distance definition

- #18272: BUG: stats: occasional failure of `test_multivariate.TestOrthoGroup.test_det_and_ortho`

- #18274: BUG: stats: Spurious warnings from `betaprime.fit`

- #18282: Incompatible pointer warning from `stats._rcond`

- #18302: BUG: beta.pdf is broken on main (1.11.0.dev0)

- #18322: BUG: scipy.stats.shapiro gives a negative pvalue

- #18326: ENH: milp supporting sparse inputs

- #18329: BUG: meson generates `warning: “MS_WIN64” redefined` when building…

- #18368: DOC: Issue in scipy.stats.chisquare

- #18377: BUG: `const` signature changes in `cython_blas` and `cython_lapack`…

- #18388: Question about usage of _MACHEPS

- #18407: CI: test_enzo_example_c_with_unboundedness started failing

- #18415: BUG: Windows compilation error with Intel Fortran in PROPACK

- #18425: DOC: clarify that scipy.ndimage.sobel does not compute the 2D…

- #18443: BLD: errors when building SciPy on Windows with Meson

- #18456: ENH: Allow passing non-varying arguments for the model function…

- #18484: DEP: Warn on deprecated windows-import in base `scipy.signal`…

- #18485: DEP: deprecate multiple-ellipsis handling in sparse matrix indexing

- #18494: CI: occasional failure of `test_minimum_spanning_tree`

- #18497: MAINT, BUG: guard against non-finite kd-tree queries

- #18498: TST: interpolate overflow xslow tests (low priority)

- #18525: DOC: sparse doc build warning causing failure (including in CI)

- #18535: DOC: Dev branch docs render Dev TOC while viewing API Reference

- #18547: CI: occasionally failing test `test_minimize_callback_copies_array[fmin]`

- #18595: BUG: dev.py notes needs a small shim

- #18597: CI, BUG: Cirrus wheel upload fails on maintenance branch

- #18600: BUG: SciPy 1.11.0rc1 not buildable on PPC due to boost submodule

- #18632: 1.11.0rc1: remaining test failures in conda-forge

- #18634: BUG: stats.truncnorm.moments yields error for moment order greater…

- #18654: BUG: ci/circleci: build_scipy broken

- #18675: BUG: `signal.detrend` on main no longer accepts a sequence…

- #18732: TST, MAINT: some tests blocking 1.11.0 on MacOS ARM64 with NumPy…

## Pull requests for 1.11.0

- #8727: BUG: vq.kmeans() compares signed diff to a threshold.

- #12787: ENH: add anderson darling test for weibull #10829

- #13699: ENH: stats: Add handling of censored data to univariate cont….

- #14069: Use warnings instead of print statements

- #15073: TST/MAINT: Parametrize `_METRICS_NAMES` & replace `assert_raises`…

- #15841: Overhaul `factorial{,2,k}`: API coherence, bug fixes & consistent…

- #15873: DEP: remove sym_pos argument from linalg.solve

- #15877: DEP: remove extradoc in _distn_infrastructure

- #15929: DEP: `lsim2` deprecated in favor of `lsim`

- #15958: CI: move `prerelease_deps_coverage_64bit_blas` to GitHub actions.

- #16071: ENH: Add missing “characteristic impedance of vacuum”

- #16313: MAINT: Update optimize.shgo

- #16782: ENH: stats: optimised fit for the truncated Pareto distribution

- #16839: ENH: stats: optimised MLE for the lognormal distribution

- #16936: BUG: sparse: fix argmin/argmax when all entries are nonzero

- #16961: ENH: optimize: Add `nan_policy` optional argument for `curve_fit`.

- #16996: ENH: stats.anderson_ksamp: add permutation version of test

- #17116: MAINT: Adjust Pull-Request labeler configuration

- #17208: DOC: Add triage guide

- #17211: ENH: Implemented Dirichlet-multinomial distribution (#16810)

- #17212: Guard against integer overflows in fitpackmodule.c

- #17235: MAINT: pass check_finite to the vq() call of kmeans2()

- #17267: DOC/MAINT: special: Several updates for tklmbda

- #17268: DOC: special: Show that lambertw can solve x = a + b*exp(c*x)

- #17287: DOC: Clarify minimum_spanning_tree behavior in non-connected…

- #17310: DOC: missing-bits: document recommendations on return object…

- #17322: DOC: Add notebook infrastructure for the docs

- #17326: ENH: Clarify the index of element corresponding to a label in…

- #17334: ENH: Map the rotation quaternion double cover of rotation space…

- #17402: ENH: stats: add false discovery rate control function

- #17410: ENH: stats.multivariate_t: add cdf method

- #17432: BLD: Boost.Math standalone submodule

- #17451: DEP: Remove `vertices` in qhull.

- #17455: Deprecate scipy.signal.{bspline, quadratic, cubic}

- #17479: ENH: Add new SI prefixes

- #17480: ENH: stats: Implement _sf and _isf for halfnorm, gibrat, gompertz.

- #17483: MAINT: optimize.basinhopping: fix acceptance of failed local…

- #17486: ENH: optimize.minimize: callback enhancements

- #17499: MAINT: remove use of `NPY_UPDATEIFCOPY`

- #17505: ENH: Add relativistic Breit-Wigner Distribution

- #17529: ENH: stats: Implement powerlaw._sf

- #17531: TST: scipy.signal.order_filter: add test coverage

- #17535: MAINT: special: Improve comments about Cephes p1evl function.

- #17538: ENH: Extending _distance_pybind with additional distance metrics…

- #17541: REL: set version to 1.11.0.dev0

- #17553: DOC: optimize.curve_fit: add note about `pcov` condition number

- #17555: DEP: stats: removal of kwargs n in stats.moment and alpha in…

- #17556: DEV: bump flake8 version used in CI job

- #17557: MAINT: bump Ubuntu version in Azure CI

- #17561: MAINT: stats.mode: remove deprecated features, smooth edges

- #17562: ENH: stats: Implement _ppf for the betaprime distribution.

- #17563: DEP: stats: remove misspelt gilbrat distribution

- #17566: DOC: correct, update, and extend `lobpcg` docstring info and…

- #17567: MAINT: Update gitpod setup

- #17573: DOC: Update testing documentation to dev.py

- #17574: MAINT: clean up `NPY_OLD` usage in Cython code and build files

- #17581: DOC fix trivial typo in description of loggamma in _add_newdocs.py

- #17585: ENH: Von Mises distribution fit

- #17587: BUG: stats: Avoid overflow/underflow issues in loggamma _cdf,…

- #17589: BUG: FutureWarning in distance_transform_cdt

- #17590: DEP: raise on >1-dim inputs for optimize.minimize

- #17595: DOC: optimize.line_search: note that `pk` must be a descent…

- #17597: DOC: Add Legacy directive

- #17603: DEP: remove spatial.distance.kulsinski

- #17605: DOC: example of epidemic model with LHS

- #17608: DOC: curve_fit - clarify fvec output

- #17610: DOC: add example to chi2_contingency

- #17613: DOC: curve_fit, include sigma

- #17615: MAINT: scipy.optimize.root: fix error when both args and jac…

- #17616: MAINT: optimize.minimize: enhance `callback` for remaining…

- #17617: DEP: remove MaximumFlowResult.residual

- #17618: DOC: fix unicode in qmc example

- #17622: MAINT: optimize.root_scalar: raise when NaN is encountered

- #17624: ENH: add von Mises-Fisher distribution

- #17625: DOC: Examples for special functions related to the student t…

- #17626: DOC: improve docstrings of exp. scaled Bessel functions

- #17628: ENH: add Sobol’ indices

- #17629: DOC: stats: example treatment odd_ratio

- #17637: DEP: switch default of special.comb to legacy=False

- #17643: TST: interpolate/rgi: Add tests for descending ordered points

- #17649: fix documentation lines

- #17651: Update _svds.py removing no longer necessary QR for LOBPCG output

- #17654: MAINT:interpolate:Add .c file to .gitignore

- #17655: DEV: add check for misnamed tests

- #17657: DEV: streamline OpenBLAS handling on Win machine

- #17660: MAINT: optimize.newton: converged=False when secant has zero…

- #17663: DOC: optimize.curve_fit: example output may vary

- #17664: MAINT: optimize.root_scalar: fix underflow sign check bug

- #17665: DOC: mention inaccuracy of curve_fit result `pcov`

- #17666: DOC: optimize.root_scalar: harmonize documentation and implementation…

- #17668: ENH: stats.loguniform: reformulate methods to avoid overflow

- #17669: MAINT: optimize.newton: avoid error with complex `x0`

- #17674: DOC: optimize: add tutorial example of passing kwargs to callable

- #17675: ENH: update lobpcg.py

- #17676: BUG: correctly handle array-like types in scipy.io.savemat

- #17678: DOC: optimize: show how memoization avoids duplicating work

- #17679: ENH: optimize.minimize: add bound constraints to COBYLA

- #17680: DOC: examples for special functions related to neg. binomial…

- #17682: DOC: add real example for `stats.chisquare`

- #17684: ENH: support `Bounds` class in lsq_linear

- #17685: ENH: stats: Implement _sf for the foldnorm distribution.

- #17687: MAINT: optimize.toms748: correct “rtol too small” message

- #17688: MAINT: optimize.curve_fit: memoize `f` and `jac`

- #17691: ENH: optimize.root_scalar: allow newton without f’, secant without…

- #17692: MAINT: optimize.minimize_scalar: enforce output shape consistency

- #17693: DOC: pointbiserialr correlation formula notation fix.

- #17694: ENH: stats: Implement _sf and _isf for halfcauchy; _sf for foldcauchy

- #17698: MAINT: implicit float conversion in rgi test

- #17700: ENH: Inverse wishart entropy

- #17701: DOC: stats: Fix a reference for the genexpon distribution.

- #17702: DOC: stats: complete references and links for descriptive stats

- #17704: MAINT: optimize.bracket: don’t fail silently

- #17705: DOC: optimize.minimize_scalar and friends: correct documentation…

- #17707: DOC: add acetazolamide example to `stats.fisher_exact`

- #17708: ENH: stats: Implement _ppf and _isf for genexpon.

- #17709: MAINT: update copyright date

- #17711: MAINT: forward port 1.10.0 relnotes

- #17714: ENH: Provide public API for fast DisjointSet subset size.

- #17724: DOC: spatial: Several updates:

- #17729: STY: fix unicode error

- #17730: MAINT: rotate CircleCI ssh key

- #17732: MAINT: optimize.toms748: don’t do newton after secant interpolation

- #17742: ENH: override _entropy for beta, chi and chi2 distributions

- #17747: DOC: stats.jarque_bera: add semi-realistic example

- #17750: ENH: Support multinomial distributions with n=0 trials.

- #17758: ENH: analytical formula for f distribution entropy

- #17759: DOC: stats.skewtest: add semi-realistic example

- #17762: DOC: remove space between directive name and double colon `::`

- #17763: DOC: single -> double colon for directive.

- #17764: ENH: entropy for matrix normal distribution

- #17765: DOC: stats: additional normality test examples

- #17767: DOC: stats: reorganize hypothesis tests in main page

- #17768: TST: special: fix incorrectly named tests

- #17769: DOC/BUG: add missing entropy methods in docstrings

- #17770: TST: stats: fixed misnamed tests

- #17772: MAINT: remove unused test utility functions

- #17773: DOC: stats: add realistic examples to correlation tests

- #17778: DOC: stats: add realistic examples to variance tests

- #17780: MAINT: optimize.minimize: fix new callback interface when parameter…

- #17784: DOC: linalg: fix docstring of `linalg.sqrtm`

- #17786: DOC: examples for ndtr, ndtri

- #17791: DEP: remove maxiter kwarg in _minimize_tnc

- #17793: MAINT: remove divide by zero in differential_evolution

- #17794: TST: Added test suite for dgamma distribution

- #17812: MAINT: add (optional) pre-commit hook

- #17813: MAINT: integrate.qmc_quad: re-introduce qmc_quad

- #17816: MAINT: allow typed method in `stats.sobol_indices`

- #17817: MAINT: remove unused args parameter from `qmc_quad`

- #17818: BUG/ENH: stats: several updates for dgamma.

- #17820: DOC/BUG: plot `ndtri` only where it is defined

- #17824: ENH: analytical entropy for invgauss distribution

- #17825: DOC: optimize: change term zero to root

- #17829: DOC: stats: document RNG behavior when distribution is deepcopied

- #17830: MAINT: stats._axis_nan_policy: raise appropriate TypeErrors

- #17834: MAINT: improve accuracy of betaprime cdf in scipy.stats

- #17835: DOC: integrate: document limitation of numerical integration

- #17836: DOC: integrate.solve_ivp: clarify impact of parameter `vectorized`

- #17837: DEP: integrate.nquad: deprecate parameter `full_output`

- #17838: DOC: integrate.quad: behavior is not guaranteed for divergent…

- #17841: DOC: linalg: expand pinv example

- #17842: DOC, MAINT: Add issue template for Documentation issues

- #17848: ENH: implement _sf and _isf for powernorm distribution

- #17849: ENH: special: Add the function _scaled_exp1

- #17852: MAINT: optimize: improve `optimize.curve_fit` doc and error…

- #17853: DOC: integrate.dblquad/tplquad: update result descriptions

- #17857: MAINT: analytical formula for genlogistic entropy

- #17865: MAINT: stats: fix recent CI and other issues

- #17867: DOC: note on negative variables for linprog

- #17868: ENH: add analytical formula for Nakagami distribution entropy

- #17873: ENH: Added analytical formula for dgamma distribution entropy…

- #17874: ENH: Added analytical formula for truncnorm entropy (#17748)

- #17876: DOC: remove hidden stats sections from sidebar/toctree

- #17878: Lint everything

- #17879: DOC: add docs for the main namespace

- #17881: BUG: Fix handling on user-supplied filters in `signal.decimate`

- #17882: BLD: fix Meson build warnings about multiple targets

- #17883: DOC: Clarified the meaning of optional arguments in optimize.leastsq

- #17886: ENH: Warn about missing boundary when NOLA condition failed in…

- #17889: DOC: Cleanup development guide

- #17892: MAINT: stats: Post-“lint everything” clean up in stats.

- #17894: MAINT: update .gitignore with meson and linter

- #17895: DOC: config info in issue template

- #17897: MAINT: Update the “lint everything” SHA in .git-blame-ignore-revs

- #17898: DOC: remove hidden submodules from sidebar

- #17899: MAINT: use conda for linters

- #17900: Re-implement pre-commit hook in Python

- #17906: DOC: interpolate: add a note against using triangulation based…

- #17907: DOC: stats.wilcoxon: warn about roundoff errors in x-y

- #17908: ENH: powerlognormal distribution improvements

- #17909: ENH: improve accuracy of betaprime ppf in scipy.stats

- #17915: DOC: Add warning to butter function docstring

- #17921: CI: clean conda index upon cache invalidation

- #17922: DOC: corrected doc of bilinear discretization of lti

- #17929: ENH: stats.nakagami.entropy: improve formulation

- #17930: ENH: use asymptotic expansions for entropy of `genlogistic`…

- #17937: DOC: Update pip + venv instructions in the contributor documentation…

- #17939: DOC: ttest_ind_from_stats: discuss negative stdev

- #17943: ENH: early exit random-cd optimization in 1D

- #17944: pre-commit should fail when fixes are made by Ruff

- #17945: DOC: remove seed in HTML only

- #17946: ENH: Maxwell distribution `sf`/`isf` override

- #17947: TST: Update list of modules for import cycle checks

- #17948: STY: fix only staged files.

- #17949: ENH: stats.dirichlet_multinomial: vectorize implementation

- #17950: MAINT: bump OpenBLAS version, bump macOS image used in GHA

- #17956: MAINT: optimize.dual_annealing: fix callable jac with args

- #17959: MAINT: update supported versions of Python and NumPy to follow…

- #17961: ENH: optimize.linprog: pass unrecognized options to HiGHS verbatim

- #17964: DEP: integrate.quad_vec: deprecate parameter full_output

- #17967: MAINT: Fully qualify std::move invocations to fix clang -Wunqualified-std-cast-call

- #17971: ENH: stats: add axis tuple and nan_policy to `sem` and `iqr`

- #17975: BUG: Update test_lobpcg.py

- #17976: DOC/MAINT: simplify release entries

- #17980: FIX: CI: avoid passing Cython files to ruff

- #17982: MAINT: add release entries move to blame ignore

- #17987: DOC: move .rst.txt to source and cleaning around generating doc

- #17989: MAINT: sparse.linalg: remove unused __main__ code

- #17990: BLD: make musllinux wheels for nightly

- #17998: ENH: optimize.RootResults: make `RootResults` an `OptimizeResult`

- #18000: DOC: stats, interpolate: Fix some minor docstring issues.

- #18002: ENH: override halflogistic `sf` and `isf`

- #18003: ENH: improve halfnorm CDF precision

- #18006: BLD: use a relative path to numpy include and library directories

- #18008: MAINT: forward port 1.10.1 relnotes

- #18013: MAINT: stats.vonmises.fit: maintain backward compatibility

- #18015: TST: optimize.root_scalar: refactor tests and add Chandrupatla…

- #18016: Add axes argument to ndimage filters

- #18018: DOC: Add an example showing how to plot Rotations to the docs

- #18019: add tests for `trimmed_var` and `trimmed_std` in `stats.mstats`

- #18020: TST: stats.mstats: add `median_cihs`/`sen_seasonal_slopes`…

- #18021: DEP: linalg: deprecate tri{,u,l}

- #18022: DOC: interpolate: link to the gist with the porting guide

- #18023: DOC: how to document examples using RNG and also self-contained…

- #18027: DOC: fix section title typo in interpolation tutorial

- #18028: DOC: fix underlying of title in extrapolate

- #18029: fix error from betabinom stats using only integers for a and…

- #18032: BLD: add NDEBUG flag for release builds

- #18034: BLD: avoid running `run_command(py3, …)`, for better cross-compiling

- #18035: ENH: stats: add ecdf function

- #18036: BLD: build Windows wheel for py39 against numpy 1.22.3

- #18037: DOC/MAINT: fix source button

- #18040: DOC: Fix error in doc of _minimize_trustregion_exact

- #18043: MAINT: update GH bug template

- #18045: MAINT: update codeowners.

- #18047: DOC: Update scipy.spatial.distance.pdist docstring to match its…

- #18049: STY: Include Python.h before any other headers.

- #18050: MAINT: integrate.qmc_quad: correct behavior of parameter `log`

- #18052: BLD: use anaconda-client to upload wheels

- #18053: DOC fix expectile docstring - empirical CDF

- #18058: BLD: use meson-native dependency lookup for pybind11

- #18059: Johnson distributions `sf` and `isf` override

- #18060: MAINT: remove pavement

- #18061: ENH: implement array @ LinearOperator

- #18063: DOC: improve documentation for distance_transform_{cdt,edt}

- #18064: DOC: add examples in for xlogy

- #18066: TST: stats.nct: add test for crash with large nc

- #18068: TST: stats.ksone: loosen variance test tolerance

- #18070: Docstring: note on bivariate spline axis ordering

- #18072: DOC: Modifying t parameter documentation issue in splprep #17893

- #18073: MAINT: avoid non-recommended numpy functions and constants

- #18075: MAINT: update pooch deps

- #18076: DOC: fix docstring typo for `kurtosis` and whitespace in `_continuous_distns`

- #18077: BUG: Check for initial state finiteness

- #18081: ENH: allow single observation for equal variance in `stats.ttest_ind`

- #18082: DOC: add examples for xlog1py

- #18083: STY: fix mypy assignment.

- #18084: BUG: calculate VDC permutations at init of Halton

- #18092: ENH: stats.ecdf: support right-censored data

- #18094: ENH: improve entropy calculation of chi distribution using asymptotic…

- #18095: ENH: asymptotic expansion for gamma distribution entropy

- #18096: MAINT: stats.johnsonsu: override _stats

- #18098: ENH: increase available range of Gompertz entropy using scaled_exp1

- #18101: DOC: adding references to the UnivariateSpline docstring #17828

- #18102: ENH: stats.goodness_of_fit: add Filliben’s test

- #18104: BUG: enable matlab nested arrs

- #18107: ENH: add Dunnett’s test

- #18112: FIX: reset semantic in `QMCEngine.reset`

- #18120: Correct the comments about ` fmin_powell` in `scipy/optimize`

- #18122: ENH: Added asymptotic expansion for invgamma entropy (#18093)

- #18127: MAINT: cleanup inconsistencies in _continous_dists

- #18128: MAINT: add test against generic fit method for vonmises distribution

- #18129: TST: stats.rv_continuous.fit: use `nnlf` instead of `_reduce_func`…

- #18130: Some doc updates and small code tweaks.

- #18131: ENH: Added asymptotic expansion for gengamma entropy

- #18134: ENH: stats: Improve _cdf and implement _sf for genhyperbolic

- #18135: Added asymptotic expansion for t entropy (#18093)

- #18136: ENH: stats.ecdf: add `confidence_interval` methods

- #18137: Bugfix for somersd where an integer overflow could occur

- #18138: ENH: improve precision of genlogistic methods

- #18144: DOC: Add doc examples for friedmanchisquare

- #18145: BLD: emit a warning when building from source on 32-bit Windows

- #18149: TST: fix issue with inaccurate `cython_blas` tests

- #18150: ENH: add CI and str to Dunnett’s test

- #18152: ENH: stats.moment: enable non-central moment calculation

- #18157: CI: fix pre-release job that is failing on Cython 3.0b1

- #18158: DOC:stats: Fix levy and levy_l descriptions

- #18160: BUG: Wrong status returned by _check_result. See #18106. optimize

- #18162: ENH: Dweibull entropy

- #18168: TST: spatial: skip failing test to make CI green again

- #18172: MAINT: optimize.root_scalar: return gracefully when callable…

- #18173: DOC: update links for ARPACK to point to ARPACK-NG

- #18174: DOC: cite pip issue about multiple `–config-settings`

- #18178: ENH: Added `_sf` method for anglit distribution (#17832)

- #18181: DOC: wheel build infra updates

- #18187: MAINT: stats.ecdf: store number at risk just before events

- #18188: BUG: interpolate: add x-y length validation for `make_smoothing_spline`.

- #18189: DOC: Fix for side bar rendering on top of text issue

- #18190: ENH: fix vonmises fit for bad guess of location parameter

- #18193: MAINT: stats.kendalltau: avoid overflow

- #18195: MAINT: interpolate: remove duplicated FITPACK interface _fitpack._spl_.

- #18196: ENH: add Log rank for survival analysis

- #18199: BUG: throw ValueError for mismatched w dimensions and test for…

- #18200: TST: stats: Move genexpon from xslow to slow fit test sets.

- #18204: MAINT/TST: fix `Slerp` typing and better iv in `Rotation`

- #18207: ENH: improve precision of folded normal distribution cdf

- #18209: ENH: improve integrate.simpson for even number of points

- #18210: ENH: stats.ttest_ind: add degrees of freedom and confidence interval

- #18212: ENH: stats.ecdf: add `evaluate` and `plot` methods; restructure…

- #18215: DOC: stats: describe attributes of `DunnettResult`

- #18216: MAINT: replace use of make_dataclass with explicit dataclasses

- #18217: MAINT: stats: consistently return NumPy numbers

- #18221: DOC: add guidance on how to make a dataclass for result objects

- #18222: MAINT: stats.TTestResult: fix NaN bug in ttest confidence intervals

- #18225: ENH:MAINT:linalg det in Cython and with nDarray support

- #18227: ENH: stats: resampling methods configuration classes and example…

- #18228: ENH: stats.geometric.entropy: implement analytical formula

- #18229: ENH: stats.bootstrap: add one-sided confidence intervals

- #18230: BUG: nan segfault in KDTree, reject non-finite input

- #18231: ENH: stats.monte_carlo_test: add support for multi-sample statistics

- #18232: ENH: override dweibull distribution survival and inverse survival…

- #18237: MAINT: update typing of Rotation

- #18238: MAINT:optimize: shgo assorted fixes

- #18240: fix typo

- #18241: MAINT: remove Gitpod in favour of GitHub CodeSpaces

- #18242: MAINT: Allow scipy to be compiled in cython3

- #18243: TST: stats.dunnett: fix seed in test_shapes

- #18245: DOC: remove content related to `setup.py` usage from the docs

- #18246: ci: touch up wheel build action

- #18247: BLD: Add const to Cython signatures for BLAS/LAPACK

- #18248: BLD: implement version check for minimum Cython version

- #18251: DOC: orthogonal_procrustes fix date of reference paper and DOI

- #18257: BLD: fix missing build dependency on cython signature .txt files

- #18258: DOC: fix link in release notes v1.7

- #18261: Add axes support to uniform_filter, minimum_filter, maximum_filter

- #18263: BUG: some tweaks to PROPACK f2py wrapper and build flags

- #18264: MAINT: remove `from numpy.math cimport` usages, update `npy_blas.h`

- #18266: MAINT: Explicitly mark `cdef` functions not raising exception…

- #18269: ENH: stats: Implement _sf and _isf for exponweib.

- #18270: CI: test meson-python from its main branch in one CI job

- #18275: TST: stats: infrastructure for generation of distribution function…

- #18276: MAINT: stats.betaprime: avoid spurious warnings in `fit`, `stats`

- #18280: DOC: spatial.distance: update formula for {s,sq}euclidean

- #18281: BLD: Enable incompatible pointer types warnings

- #18284: DOC: improved gmres doc on preconditioning (scipy.sparse.linalg)

- #18285: MAINT: Remove codecov

- #18287: DOC: `distance_transform_bf` example

- #18288: TST: stats.ortho_group: improve determinant distribution test

- #18289: MAINT: mmread allow leading whitespace

- #18290: DEP: stats.mode: raise with non-numeric input

- #18291: TST: stats._axis_nan_policy: add test that decorated function…

- #18292: CI: add CircleCI API token to fix html preview link

- #18293: BUG: fix for incompatible pointer warning from stats._rcond #18282

- #18294: CI: remove `setup.py` based jobs from GitHub Actions and run…

- #18297: MAINT: linalg.solve_discrete_are: fix typo in error message

- #18299: DOC: interpolate: add see also references for data on regular…

- #18301: CI: remove `runtests.py` and related scripts/files

- #18303: DOC: css adjustment in dark mode and hidden toctree in dev section

- #18304: MAINT: update boost_math

- #18305: ENH: ndimage: add axes argument to rank_filter, percentile_filter,…

- #18307: DOC: add cdf under methods for multivariate t distribution

- #18311: CI: move lint job from Azure to GHA

- #18312: CI: move gcc-8 test to GHA

- #18313: CI: remove asv from AzureCI

- #18314: CI: remove scikit-umfpack/sparse from Azure testing

- #18315: CI: remove coverage jobs

- #18318: MAINT: Mark function pointer ctypedefs as noexcept

- #18320: CI: migrate ref guide-check to CircleCI

- #18321: Revert “ENH: stats.anderson_ksamp: add permutation version of…

- #18323: ENH: increase available range of vonmises `fit`

- #18324: ENH: add `entropy` method for multivariate t distribution

- #18325: CI: move Azure cp39/full/win job to GHA

- #18327: MAINT: optimize.milp: improve behavior for unexpected sparse…

- #18328: MAINT: stats.shapiro: override p-value when len(x)==3

- #18330: BLD: avoid build warnings on Windows, bump pybind11 and meson…

- #18332: TST: fix minor tolerance issue for `stats.multivariate_t` test

- #18333: CI: windows cp311 use-pythran=false full, sdist GHA

- #18337: MAINT: update boost_math

- #18339: TST: optimize: fix test_milp_timeout

- #18340: DOC: interpolate: declare Rbf legacy

- #18341: DEP: signal: deprecate using medfilt and order_filter with float128…

- #18342: TST: stats.mstats.median_cihs: strengthen test

- #18343: MAINT: use math.prod (python >= 3.8)

- #18344: MAINT: Set cython compiler directive cpow to True

- #18345: DEV: work around pathlib bug affecting dev.py for Python 3.9…

- #18349: MAINT: stats.dgamma.entropy: avoid deprecated NumPy usage and…

- #18350: TST: use np not math for functions to avoid conversion of ndim>0…

- #18351: CI: remove Azure sdist job

- #18352: MAINT: stats: more avoidance of deprecated NumPy usage

- #18353: Migrate ruff.toml configuration to lint.toml

- #18355: ENH: allow dividing LinearOperator by number

- #18357: MAINT: clearer error in `LinearOperator * spmatrix`

- #18358: ENH:MAINT:linalg:lu Cythonized and ndarray support added

- #18359: MAINT: Fix broken link in setup.py

- #18360: DOC: improve neg. binomial function examples in `special`

- #18362: MAINT: Add noexcept function declaration to `_cythonized_array_utils.pxd`

- #18369: CI: bdist_wheel windows job Azure –> GHA

- #18370: DOC: stats.chisquare: attribute is pvalue, not p

- #18374: CI: pin to rtools40

- #18378: DOC: add output_type to signature of cKDTree.query_pairs

- #18379: TST/MAINT: remove vonmises fit correctnes test for extreme kappa…

- #18380: MAINT: Limit fittable data for von mises fisher distribution…

- #18382: TST: stats.cosine: modify test to silence failure

- #18383: MAINT: add smoke testing of signal.detrend

- #18384: DOC: improve vonmises documentation

- #18387: DOC: interpolate: deduplicate docstrings in _fitpack_py and _fitpack_impl

- #18392: BUG: optimize.differential_evolution: fix division by zero error

- #18399: DOC: Replace “HACKING” with “hacking”

- #18400: DOC: improve description of the method argument in mannwhitneyu

- #18402: TST: fix failing signal.windows tests

- #18405: Revert “BLD: Add const to Cython signatures for BLAS/LAPACK (#18247)”

- #18410: TST: fix test failures in linprog unboundedness test

- #18411: BLD: an Intel Fortran fix and MinGW-related cleanups

- #18412: MAINT: signal: simplify shape manipulations in signal.detrend

- #18413: MAINT: Harmonized documentation for Interpolator classes

- #18414: CI: move last Azure job to GHA

- #18418: Fix warning when `nogil` is placed before `except`

- #18419: MAINT: interpolate: remove unused codes in `_fitpackmodule.c`.

- #18421: BLD: more PROPACK fixes, removing timer code

- #18422: MAINT: stats: genexpon is no longer too slow for test_rvs_broadcast.

- #18426: BLD: fix two `-Duse-g77-abi` regressions and a PROPACK bug

- #18427: ENH: prevent unnecessary computation in `scipy.stats.rankdata`

- #18429: DOC: rewrite all build docs and restructure build/contributor…

- #18430: MAINT: stats.mode: improve `nan_policy` behavior

- #18433: ENH: improve t distribution logpdf and pdf for large degrees…

- #18438: BLD: DOC: fix Sphinx doc build caching behavior for `.dev`…

- #18439: BLD: detect `xsimd` if it’s installed and add to pythran dependency

- #18441: ENH:stats: add sf method for betaprime

- #18442: TST: fix precision of several linalg/sparse.linalg tests

- #18444: DOC: clarify Sobel transform

- #18446: MAINT: fix Deb03 GO benchmark

- #18447: DOC: remove references to Azure

- #18449: ENH: increase truncated exponential distribution sf/isf precision

- #18451: DEV: use number of physical cores in `dev.py build` by default

- #18454: DOC: add `distance_transform_cdt` example

- #18455: MAINT: simplifiy detrend

- #18458: DOC: odr: clarify `cov_beta` is not scaled by the residual…

- #18459: DOC: optimize: add use of functools.partial to tutorial

- #18460: DOC: examples for `ndimage.generic_filter`

- #18461: TST: stats: ReferenceDistribution: use complementary methods…

- #18462: MAINT: Clean up scipy/sparse/linalg/_isolve/tests/test_iterative.py

- #18463: MAINT: parametrize scipy/sparse/linalg/_isolve/tests/test_iterative.py

- #18466: DOC: fix issues in `svds` docstring examples that were failing…

- #18468: BLD: enforce utf-8 in tools/cythonize.py, and some cleanups

- #18472: MAINT: remove lsim2/impulse2/step2 docstring examples

- #18475: DOC: remove warnings in doc build

- #18476: TST: stats/optimize: filter warnings in tests

- #18482: MAINT: ensure Nelder-Mead respects floating point type

- #18486: DOC: remove already-resolved deprecation warning filter

- #18489: DEP: signal: deprecate importing window functions from signal…

- #18493: BUG: stats: Fix the variable that is checked to skip a test.

- #18500: MAINT: tweak code comment for list of private-but-present modules

- #18501: TST: interpolate: add a regression test for bisplev integer overflow

- #18502: BUG: guard against non-finite kd-tree queries

- #18503: Fix PPoly readonly issue for c parameter

- #18504: MAINT: upload nighlighties to new location

- #18505: MAINT: sparse: Generalize isshape to (optionally) handle non-2d…

- #18507: Clean up sparse array API

- #18508: ENH: Ensure that the result of divide(sparse, dense) is sparse

- #18509: Remove indices downcasting for sparse arrays

- #18510: TST: Add regression tests for sparse creation functions.

- #18513: MAINT: sparse: cosmetic updates + typing for sputils

- #18516: DOC: add user guide page introing new sparse arrays

- #18522: Pin prerelease pipeline with Cython>=3.0.0b3

- #18523: TST: piecemeal updates to `test_base.py` for sparray conversion

- #18526: DOC: Fix broken reference to count_nonzero in See Also.

- #18527: try stable sort in mst tree ordering

- #18528: ENH: Update isspmatrix behavior

- #18531: Class names to enable isinstance

- #18532: Fix format property in _csr.py

- #18536: Add deprecation notices to sparse array docs

- #18538: ENH: sparse: Add _array version of `diags` creation functions.

- #18539: DOC: sparse: Document sparse canonical formats

- #18540: MAINT: sparse: Deprecate multi-Ellipsis indexing

- #18542: ENH: sparse: add nanmin/nanmax (followup on gh-8902)

- #18543: MAINT: optimize.root_scalar: ensure that root is a scalar

- #18545: TST: speed up `test_import_cycles`

- #18549: TST: optimize: filter RuntimeWarning that does not indicate test…

- #18550: DOC: optimize.OptimizeResult: note that not all listed attributes…

- #18551: Replace sparse __getattr__ with properties

- #18553: BENCH: sparse: Add a benchmark for sparse matrix power

- #18554: BUG: sparse: Fix DIA.tocoo canonical format setting

- #18556: MAINT: io: replace isspmatrix with issparse in mmio module

- #18560: MAINT: integrate: revert`full_output` deprecation / result…

- #18562: fix doc strings for csr_array and friends

- #18563: DOC: SciPy 1.11.0 release notes

- #18591: MAINT: version bounds for 1.11.0rc1

- #18596: DOC: Fix sidebar for API reference pages

- #18598: CI: fix wheel upload to anaconda [wheel build]

- #18599: Revert “ENH: sparse: Add _array version of `diags` creation…

- #18608: Fix typo of module name in deprecation warning

- #18629: Mark `void` functions as `noexcept` in _rotation.pyx

- #18630: MAINT: stats: remove long double support for all boost ufuncs

- #18636: MAINT: stats.truncnorm/stats.betaprime: fix _munp for higher…

- #18657: MAINT: fix ‘no such option’ error in build_scipy CI

- #18658: TST: fix two test failures that showed up on conda-forge

- #18659: DOC: `scipy._sensitivity_analysis`: correct statement about…

- #18671: MAINT: backports for 1.11.0rc2

- #18672: BUG: small shim for release process

- #18676: BUG: signal: fix detrend with array-like bp

- #18697: MAINT: NumPy 1.25.0 shims for arm64

- #18698: DEP: interpolate: delay interp2d deprecation and update link

- #18724: MAINT, REL: prepare for SciPy 1.11.0 “final”

- #18737: TST: flaky TestSOSFreqz::test_fs_param

- #18738: TST: flaky `test_complex_iir_dlti`