SciPy 1.2.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
Our development attention will now shift to bug-fix releases on the
1.2.x branch, and on adding new features on the master branch.
This release requires Python 2.7 or 3.4+ and NumPy 1.8.2 or greater.
This will be the last SciPy release to support Python 2.7. Consequently, the 1.2.x series will be a long term support (LTS) release; we will backport bug fixes until 1 Jan 2020.
For running on PyPy, PyPy3 6.0+ and NumPy 1.15.0 are required.
1-D root finding improvements with a new solver,
toms748, and a new unified interface,
dual_annealingoptimization method that combines stochastic and local deterministic searching
A new optimization algorithm,
shgo(simplicial homology global optimization) for derivative free optimization problems
A new category of quaternion-based transformations are available in
Proper spline coefficient calculations have been added for the
reflect modes of
DCT-IV, DST-IV, DCT-I, and DST-I orthonormalization are now supported in
scipy.interpolate.pade now accepts a new argument for the order of the
The one-dimensional nonlinear solvers have been given a unified interface
scipy.optimize.root_scalar, similar to the
for multi-dimensional solvers.
scipy.optimize.root_scalar(f, bracket=[a ,b],
method="brenth") is equivalent to
scipy.optimize.brenth(f, a ,b). If no
method is specified, an appropriate one will be selected based upon the
bracket and the number of derivatives available.
The so-called Algorithm 748 of Alefeld, Potra and Shi for root-finding within
an enclosing interval has been added as
scipy.optimize.toms748. This provides
guaranteed convergence to a root with convergence rate per function evaluation
of approximately 1.65 (for sufficiently well-behaved functions.)
differential_evolution now has the
The first chooses between continuous updating of the best solution vector (the
default), or once per generation. Continuous updating can lead to faster
workers keyword accepts an
int or map-like callable,
and parallelises the solver (having the side effect of updating once per
generation). Supplying an
int evaluates the trial solutions in N parallel
parts. Supplying a map-like callable allows other parallelisation approaches
joblib) to be used.
shgo below) is a powerful new general purpose
global optizimation (GO) algorithm.
dual_annealing uses two annealing
processes to accelerate the convergence towards the global minimum of an
objective mathematical function. The first annealing process controls the
stochastic Markov chain searching and the second annealing process controls the
deterministic minimization. So, dual annealing is a hybrid method that takes
advantage of stochastic and local deterministic searching in an efficient way.
shgo (simplicial homology global optimization) is a similar algorithm
appropriate for solving black box and derivative free optimization (DFO)
problems. The algorithm generally converges to the global solution in finite
time. The convergence holds for non-linear inequality and
equality constraints. In addition to returning a global minimum, the
algorithm also returns any other global and local minima found after every
iteration. This makes it useful for exploring the solutions in a domain.
scipy.optimize.newton can now accept a scalar or an array
MINPACK usage is now thread-safe, such that
MINPACK + callbacks may
be used on multiple threads.
Digital filter design functions now include a parameter to specify the sampling
rate. Previously, digital filters could only be specified using normalized
frequency, but different functions used different scales (e.g. 0 to 1 for
butter vs 0 to π for
freqz), leading to errors and confusion. With
fs parameter, ordinary frequencies can now be entered directly into
functions, with the normalization handled internally.
find_peaks and related functions no longer raise an exception if the
properties of a peak have unexpected values (e.g. a prominence of 0). A
PeakPropertyWarning is given instead.
The new keyword argument
plateau_size was added to
plateau_size may be used to select peaks based on the length of the
flat top of a peak.
csd() methods in
scipy.signal now support calculation
of a median average PSD, using
scipy.sparse.bsr_matrix.tocsr method is now implemented directly instead
of converting via COO format, and the
is now also routed via CSR conversion instead of COO. The efficiency of both
conversions is now improved.
The issue where SuperLU or UMFPACK solvers crashed on matrices with
non-canonical format in
scipy.sparse.linalg was fixed. The solver wrapper
canonicalizes the matrix if necessary before calling the SuperLU or UMFPACK
largest option of scipy.sparse.linalg.lobpcg() was fixed to have
a correct (and expected) behavior. The order of the eigenvalues was made
consistent with the ARPACK solver (
eigs()), i.e. ascending for the
smallest eigenvalues, and descending for the largest eigenvalues.
scipy.sparse.random function is now faster and also supports integer and
complex values by passing the appropriate value to the
scipy.spatial.distance.jaccard was modified to return 0 instead
np.nan when two all-zero vectors are compared.
Support for the Jensen Shannon distance, the square-root of the divergence, has
been added under
An optional keyword was added to the function scipy.spatial.cKDTree.query_ball_point() to sort or not sort the returned indices. Not sorting the indices can speed up calls.
A new category of quaternion-based transformations are available in
scipy.spatial.transform, including spherical linear interpolation of
Slerp), conversions to and from quaternions, Euler angles,
and general rotation and inversion capabilities
(spatial.transform.Rotation), and uniform random sampling of 3D
The Yeo-Johnson power transformation is now supported (
the Box-Cox transformation, the Yeo-Johnson transformation can accept negative
Added a general method to sample random variates based on the density only, in
the new function
The Yule-Simon distribution (
yulesimon) was added – this is a new
discrete probability distribution.
mstats now have access to a new regression method,
siegelslopes, a robust linear regression algorithm
scipy.stats.gaussian_kde now has the ability to deal with weighted samples,
and should have a modest improvement in performance
Levy Stable Parameter Estimation, PDF, and CDF calculations are now supported
The Brunner-Munzel test is now available as
scipy.linalg.lapack now exposes the LAPACK routines using the Rectangular
Full Packed storage (RFP) for upper triangular, lower triangular, symmetric,
or Hermitian matrices; the upper trapezoidal fat matrix RZ decomposition
routines are now available as well.
LAPACK version 3.4.0 or later is now required. Building with Apple Accelerate is no longer supported.
scipy.linalg.subspace_angles(A, B) now gives correct
results for all angles. Before this, the function only returned
correct values for those angles which were greater than pi/4.
Support for the Bento build system has been removed. Bento has not been maintained for several years, and did not have good Python 3 or wheel support, hence it was time to remove it.
The required signature of scipy.optimize.lingprog
callback function has changed. Before iteration begins, the simplex solver
first converts the problem into a standard form that does not, in general,
have the same variables or constraints
as the problem defined by the user. Previously, the simplex solver would pass a
user-specified callback function several separate arguments, such as the
current solution vector
xk, corresponding to this standard form problem.
Unfortunately, the relationship between the standard form problem and the
user-defined problem was not documented, limiting the utility of the
information passed to the callback function.
In addition to numerous bug fix changes, the simplex solver now passes a
user-specified callback function a single
OptimizeResult object containing
information that corresponds directly to the user-defined problem. In future
OptimizeResult object may be expanded to include additional
information, such as variables corresponding to the standard-form problem and
information concerning the relationship between the standard-form and
The implementation of
scipy.sparse.random has changed, and this affects the
numerical values returned for both
some matrix shapes and a given seed.
scipy.optimize.newton will no longer use Halley’s method in cases where it
negatively impacts convergence
#9520: signal.correlate with method=’fft’ doesn’t benefit from long…
#9547: signature of dual_annealing doesn’t match other optimizers
#9540: SciPy v1.2.0rc1 cannot be imported on Python 2.7.15
#1240: Allowing multithreaded use of minpack through scipy.optimize…
#1432: scipy.stats.mode extremely slow (Trac #905)
#3372: Please add Sphinx search field to online scipy html docs
#3678: _clough_tocher_2d_single direction between centroids
#4174: lobpcg “largest” option invalid?
#5493: anderson_ksamp p-values>1
#5743: slsqp fails to detect infeasible problem
#6139: scipy.optimize.linprog failed to find a feasible starting point…
#6358: stats: docstring for vonmises_line points to vonmises_line…
#6498: runtests.py is missing in pypi distfile
#7426: scipy.stats.ksone(n).pdf(x) returns nan for positive values of…
#7455: scipy.stats.ksone.pdf(2,x) return incorrect values for x near…
#7456: scipy.special.smirnov and scipy.special.smirnovi have accuracy…
#7492: scipy.special.kolmogorov(x)/kolmogi(p) inefficient, inaccurate…
#7914: TravisCI not failing when it should for -OO run
#8064: linalg.solve test crashes on Windows
#8212: LAPACK Rectangular Full Packed routines
#8256: differential_evolution bug converges to wrong results in complex…
#8443: Deprecate hyp2f0, hyp1f2, and hyp3f0?
#8452: DOC: ARPACK tutorial has two conflicting equations
#8680: scipy fails compilation when building from source
#8686: Division by zero in _trustregion.py when x0 is exactly equal…
#8700: _MINPACK_LOCK not held when calling into minpack from least_squares
#8786: erroneous moment values for t-distribution
#8791: Checking COLA condition in istft should be optional (or omitted)
#8843: imresize cannot be deprecated just yet
#8844: Inverse Wishart Log PDF Incorrect for Non-diagonal Scale Matrix?
#8878: vonmises and vonmises_line in stats: vonmises wrong and superfluous?
#8895: v1.1.0 ndi.rotate documentation – reused parameters not filled…
#8900: Missing complex conjugation in scipy.sparse.linalg.LinearOperator
#8904: BUG: if zero derivative at root, then Newton fails with RuntimeWarning
#8911: make_interp_spline bc_type incorrect input interpretation
#8942: MAINT: Refactor _linprog.py and _linprog_ip.py to remove…
#8947: np.int64 in scipy.fftpack.next_fast_len
#9020: BUG: linalg.subspace_angles gives wrong results
#9033: scipy.stats.normaltest sometimes gives incorrect returns b/c…
#9044: optimize.minimize(method=`trust-constr`) result dict does not…
#9071: doc/linalg: add cho_solve_banded to see also of cholesky_banded
#9082: eigenvalue sorting in scipy.sparse.linalg.eigsh
#9086: signaltools.py:491: FutureWarning: Using a non-tuple sequence…
#9091: test_spline_filter failure on 32-bit
#9122: Typo on scipy minimization tutorial
#9167: DOC: BUG: typo in ndimage LowLevelCallable tutorial example
#9169: truncnorm does not work if b < a in scipy.stats
#9250: scipy.special.tests.test_mpmath::TestSystematic::test_pcfw fails…
#9259: rv.expect() == rv.mean() is false for rv.mean() == nan (and inf)
#9286: DOC: Rosenbrock expression in optimize.minimize tutorial
#9316: SLSQP fails in nested optimization
#9337: scipy.signal.find_peaks key typo in documentation
#9345: Example from documentation of scipy.sparse.linalg.eigs raises…
#9383: Default value for “mode” in “ndimage.shift”
#9419: dual_annealing off by one in the number of iterations
#9442: Error in Defintion of Rosenbrock Function
#9453: TST: test_eigs_consistency() doesn’t have consistent results
#9526: TST: relax precision requirements in signal.correlate tests
#9507: CI: MAINT: Skip a ckdtree test on pypy
#9512: TST: test_random_sampling 32-bit handling
#9494: TST: test_kolmogorov xfail 32-bit
#9486: BUG: fix sparse random int handling
#9550: BUG: scipy/_lib/_numpy_compat: get_randint
#9549: MAINT: make dual_annealing signature match other optimizers
#9541: BUG: fix SyntaxError due to non-ascii character on Python 2.7
#7352: ENH: add Brunner Munzel test to scipy.stats.
#7373: BUG: Jaccard distance for all-zero arrays would return np.nan
#7374: ENH: Add PDF, CDF and parameter estimation for Stable Distributions
#8098: ENH: Add shgo for global optimization of NLPs.
#8203: ENH: adding simulated dual annealing to optimize
#8259: Option to follow original Storn and Price algorithm and its parallelisation
#8293: ENH add ratio-of-uniforms method for rv generation to scipy.stats
#8294: BUG: Fix slowness in stats.mode
#8357: ENH: vectorize scalar zero-search-functions
#8397: Add fs= parameter to filter design functions
#8537: ENH: Implement mode parameter for spline filtering.
#8558: ENH: small speedup for stats.gaussian_kde
#8560: BUG: fix p-value calc of anderson_ksamp in scipy.stats
#8614: ENH: correct p-values for stats.kendalltau and stats.mstats.kendalltau
#8670: ENH: Require Lapack 3.4.0
#8683: Correcting kmeans documentation
#8725: MAINT: Cleanup scipy.optimize.leastsq
#8726: BUG: Fix _get_output in scipy.ndimage to support string
#8733: MAINT: stats: A bit of clean up.
#8737: BUG: Improve numerical precision/convergence failures of smirnov/kolmogorov
#8738: MAINT: stats: A bit of clean up in test_distributions.py.
#8740: BF/ENH: make minpack thread safe
#8742: BUG: Fix division by zero in trust-region optimization methods
#8746: MAINT: signal: Fix a docstring of a private function, and fix…
#8750: DOC clarified description of norminvgauss in scipy.stats
#8753: DOC: signal: Fix a plot title in the chirp docstring.
#8755: DOC: MAINT: Fix link to the wheel documentation in developer…
#8760: BUG: stats: boltzmann wasn’t setting the upper bound.
#8763: [DOC] Improved scipy.cluster.hierarchy documentation
#8765: DOC: added example for scipy.stat.mstats.tmin
#8788: DOC: fix definition of optional disp parameter
#8802: MAINT: Suppress dd_real unused function compiler warnings.
#8803: ENH: Add full_output support to optimize.newton()
#8804: MAINT: stats cleanup
#8808: DOC: add note about isinstance for frozen rvs
#8812: Updated numpydoc submodule
#8813: MAINT: stats: Fix multinomial docstrings, and do some clean up.
#8816: BUG: fixed _stats of t-distribution in scipy.stats
#8817: BUG: ndimage: Fix validation of the origin argument in correlate…
#8822: BUG: integrate: Fix crash with repeated t values in odeint.
#8832: Hyperlink DOIs against preferred resolver
#8837: BUG: sparse: Ensure correct dtype for sparse comparison operations.
#8839: DOC: stats: A few tweaks to the linregress docstring.
#8846: BUG: stats: Fix logpdf method of invwishart.
#8849: DOC: signal: Fixed mistake in the firwin docstring.
#8854: DOC: fix type descriptors in ltisys documentation
#8865: Fix tiny typo in docs for chi2 pdf
#8870: Fixes related to invertibility of STFT
#8872: ENH: special: Add the softmax function
#8874: DOC correct gamma function in docstrings in scipy.stats
#8876: ENH: Added TOMS Algorithm 748 as 1-d root finder; 17 test function…
#8882: ENH: Only use Halley’s adjustment to Newton if close enough.
#8883: FIX: optimize: make jac and hess truly optional for ‘trust-constr’
#8885: TST: Do not error on warnings raised about non-tuple indexing.
#8887: MAINT: filter out np.matrix PendingDeprecationWarning’s in numpy…
#8889: DOC: optimize: separate legacy interfaces from new ones
#8890: ENH: Add optimize.root_scalar() as a universal dispatcher for…
#8899: DCT-IV, DST-IV and DCT-I, DST-I orthonormalization support in…
#8901: MAINT: Reorganize flapack.pyf.src file
#8907: BUG: ENH: Check if guess for newton is already zero before checking…
#8908: ENH: Make sorting optional for cKDTree.query_ball_point()
#8910: DOC: sparse.csgraph simple examples.
#8914: DOC: interpolate: fix equivalences of string aliases
#8918: add float_control(precise, on) to _fpumode.c
#8919: MAINT: interpolate: improve error messages for common bc_type…
#8920: DOC: update Contributing to SciPy to say “prefer no PEP8 only…
#8924: MAINT: special: deprecate hyp2f0, hyp1f2, and hyp3f0
#8927: MAINT: special: remove errprint
#8932: Fix broadcasting scale arg of entropy
#8936: Fix (some) non-tuple index warnings
#8937: ENH: implement sparse matrix BSR to CSR conversion directly.
#8938: DOC: add @_ni_docstrings.docfiller in ndimage.rotate
#8940: Update _discrete_distns.py
#8943: DOC: Finish dangling sentence in convolve docstring
#8944: MAINT: Address tuple indexing and warnings
#8945: ENH: spatial.transform.Rotation [GSOC2018]
#8950: csgraph Dijkstra function description rewording
#8953: DOC, MAINT: HTTP -> HTTPS, and other linkrot fixes
#8955: BUG: np.int64 in scipy.fftpack.next_fast_len
#8958: MAINT: Add more descriptive error message for phase one simplex.
#8962: BUG: sparse.linalg: add missing conjugate to _ScaledLinearOperator.adjoint
#8963: BUG: sparse.linalg: downgrade LinearOperator TypeError to warning
#8965: ENH: Wrapped RFP format and RZ decomposition routines
#8969: MAINT: doc and code fixes for optimize.newton
#8970: Added ‘average’ keyword for welch/csd to enable median averaging
#8971: Better imresize deprecation warning
#8972: MAINT: Switch np.where(c) for np.nonzero(c)
#8975: MAINT: Fix warning-based failures
#8979: DOC: fix description of count_sort keyword of dendrogram
#8982: MAINT: optimize: Fixed minor mistakes in test_linprog.py (#8978)
#8984: BUG: sparse.linalg: ensure expm casts integer inputs to float
#8986: BUG: optimize/slsqp: do not exit with convergence on steps where…
#8989: MAINT: use collections.abc in basinhopping
#8990: ENH extend p-values of anderson_ksamp in scipy.stats
#8991: ENH: Weighted kde
#8993: ENH: spatial.transform.Rotation.random [GSOC 2018]
#8994: ENH: spatial.transform.Slerp [GSOC 2018]
#8995: TST: time.time in test
#9007: Fix typo in fftpack.rst
#9013: Added correct plotting code for two sided output from spectrogram
#9014: BUG: differential_evolution with inf objective functions
#9017: BUG: fixed #8446 corner case for asformat(array|dense)
#9018: MAINT: _lib/ccallback: remove unused code
#9021: BUG: Issue with subspace_angles
#9022: DOC: Added “See Also” section to lombscargle docstring
#9034: BUG: Fix tolerance printing behavior, remove meaningless tol…
#9035: TST: improve signal.bsplines test coverage
#9037: ENH: add a new init method for k-means
#9039: DOC: Add examples to fftpack.irfft docstrings
#9048: ENH: scipy.sparse.random
#9050: BUG: scipy.io.hb_write: fails for matrices not in csc format
#9051: MAINT: Fix slow sparse.rand for k < mn/3 (#9036).
#9054: MAINT: spatial: Explicitly initialize LAPACK output parameters.
#9055: DOC: Add examples to scipy.special docstrings
#9056: ENH: Use one thread in OpenBLAS
#9059: DOC: Update README with link to Code of Conduct
#9060: BLD: remove support for the Bento build system.
#9062: DOC add sections to overview in scipy.stats
#9066: BUG: Correct “remez” error message
#9069: DOC: update linalg section of roadmap for LAPACK versions.
#9079: MAINT: add spatial.transform to refguide check; complete some…
#9081: MAINT: Add warnings if pivot value is close to tolerance in linprog(method=’simplex’)
#9084: BUG fix incorrect p-values of kurtosistest in scipy.stats
#9095: DOC: add sections to mstats overview in scipy.stats
#9096: BUG: Add test for Stackoverflow example from issue 8174.
#9101: ENH: add Siegel slopes (robust regression) to scipy.stats
#9105: allow resample_poly() to output float32 for float32 inputs.
#9112: MAINT: optimize: make trust-constr accept constraint dict (#9043)
#9118: Add doc entry to cholesky_banded
#9120: eigsh documentation parameters
#9125: interpolative: correctly reconstruct full rank matrices
#9126: MAINT: Use warnings for unexpected peak properties
#9129: BUG: Do not catch and silence KeyboardInterrupt
#9131: DOC: Correct the typo in scipy.optimize tutorial page
#9133: FIX: Avoid use of bare except
#9134: DOC: Update of ‘return_eigenvectors’ description
#9137: DOC: typo fixes for discrete Poisson tutorial
#9139: FIX: Doctest failure in optimize tutorial
#9143: DOC: missing sigma in Pearson r formula
#9145: MAINT: Refactor linear programming solvers
#9149: FIX: Make scipy.odr.ODR ifixx equal to its data.fix if given
#9156: DOC: special: Mention the sigmoid function in the expit docstring.
#9160: Fixed a latex delimiter error in levy()
#9170: DOC: correction / update of docstrings of distributions in scipy.stats
#9171: better description of the hierarchical clustering parameter
#9174: domain check for a < b in stats.truncnorm
#9175: DOC: Minor grammar fix
#9176: BUG: CloughTocher2DInterpolator: fix miscalculation at neighborless…
#9177: BUILD: Document the “clean” target in the doc/Makefile.
#9178: MAINT: make refguide-check more robust for printed numpy arrays
#9186: MAINT: Remove np.ediff1d occurence
#9188: DOC: correct typo in extending ndimage with C
#9190: ENH: Support specifying axes for fftconvolve
#9192: MAINT: optimize: fixed @pv style suggestions from #9112
#9200: Fix make_interp_spline(…, k=0 or 1, axis<0)
#9201: BUG: sparse.linalg/gmres: use machine eps in breakdown check
#9204: MAINT: fix up stats.spearmanr and match mstats.spearmanr with…
#9206: MAINT: include benchmarks and dev files in sdist.
#9208: TST: signal: bump bsplines test tolerance for complex data
#9210: TST: mark tests as slow, fix missing random seed
#9211: ENH: add capability to specify orders in pade func
#9217: MAINT: Include
nitin OptimizeResult returned…
#9222: ENH: interpolate: Use scipy.spatial.distance to speed-up Rbf
#9229: MNT: Fix Fourier filter double case
#9233: BUG: spatial/distance: fix pdist/cdist performance regression…
#9234: FIX: Proper suppression
#9235: BENCH: rationalize slow benchmarks + miscellaneous fixes
#9238: BENCH: limit number of parameter combinations in spatial.*KDTree…
#9239: DOC: stats: Fix LaTeX markup of a couple distribution PDFs.
#9241: ENH: Evaluate plateau size during peak finding
#9242: ENH: stats: Implement _ppf and _logpdf for crystalball, and do…
#9246: DOC: Properly render versionadded directive in HTML documentation
#9255: DOC: mention RootResults in optimization reference guide
#9260: TST: relax some tolerances so tests pass with x87 math
#9264: TST Use assert_raises “match” parameter instead of the “message”…
#9267: DOC: clarify expect() return val when moment is inf/nan
#9272: DOC: Add description of default bounds to linprog
#9277: MAINT: sparse/linalg: make test deterministic
#9278: MAINT: interpolate: pep8 cleanup in test_polyint
#9279: Fixed docstring for resample
#9280: removed first check for float in get_sum_dtype
#9281: BUG: only accept 1d input for bartlett / levene in scipy.stats
#9282: MAINT: dense_output and t_eval are mutually exclusive inputs
#9283: MAINT: add docs and do some cleanups in interpolate.Rbf
#9288: Run distance_transform_edt tests on all types
#9294: DOC: fix the formula typo
#9298: MAINT: optimize/trust-constr: restore .niter attribute for backward-compat
#9299: DOC: clarification of default rvs method in scipy.stats
#9301: MAINT: removed unused import sys
#9302: MAINT: removed unused imports
#9303: DOC: signal: Refer to fs instead of nyq in the firwin docstring.
#9305: ENH: Added Yeo-Johnson power transformation
#9306: ENH - add dual annealing
#9309: ENH add the yulesimon distribution to scipy.stats
#9317: Nested SLSQP bug fix.
#9320: MAINT: stats: avoid underflow in stats.geom.ppf
#9326: Add example for Rosenbrock function
#9332: Sort file lists
#9340: Fix typo in find_peaks documentation
#9343: MAINT Use np.full when possible
#9344: DOC: added examples to docstring of dirichlet class
#9346: DOC: Fix import of scipy.sparse.linalg in example (#9345)
#9350: Fix interpolate read only
#9351: MAINT: special.erf: use the x->-x symmetry
#9356: Fix documentation typo
#9358: DOC: improve doc for ksone and kstwobign in scipy.stats
#9362: DOC: Change datatypes of A matrices in linprog
#9364: MAINT: Adds implicit none to fftpack fortran sources
#9369: DOC: minor tweak to CoC (updated NumFOCUS contact address).
#9373: Fix exception if python is called with -OO option
#9374: FIX: AIX compilation issue with NAN and INFINITY
#9376: COBLYA -> COBYLA in docs
#9377: DOC: Add examples integrate: fixed_quad and quadrature
#9379: MAINT: TST: Make tests NumPy 1.8 compatible
#9385: CI: On Travis matrix “OPTIMIZE=-OO” flag ignored
#9387: Fix defaut value for ‘mode’ in ‘ndimage.shift’ in the doc
#9392: BUG: rank has to be integer in rank_filter: fixed issue 9388
#9399: DOC: Misc. typos
#9400: TST: stats: Fix the expected r-value of a linregress test.
#9405: BUG: np.hstack does not accept generator expressions
#9408: ENH: linalg: Shorter ill-conditioned warning message
#9418: DOC: Fix ndimage docstrings and reduce doc build warnings
#9421: DOC: Add missing docstring examples in scipy.spatial
#9422: DOC: Add an example to integrate.newton_cotes
#9427: BUG: Fixed defect with maxiter #9419 in dual annealing
#9431: BENCH: Add dual annealing to scipy benchmark (see #9415)
#9435: DOC: Add docstring examples for stats.binom_test
#9443: DOC: Fix the order of indices in optimize tutorial
#9444: MAINT: interpolate: use operator.index for checking/coercing…
#9445: DOC: Added missing example to stats.mstats.kruskal
#9446: DOC: Add note about version changed for jaccard distance
#9447: BLD: version-script handling in setup.py
#9448: TST: skip a problematic linalg test
#9449: TST: fix missing seed in lobpcg test.
#9456: TST: test_eigs_consistency() now sorts output