Release Notes
- 
1.21.0
- New functions
 - Expired deprecations
 - Deprecations
 - Expired deprecations
 - 
Compatibility notes
- Error type changes in universal functions
 __array_ufunc__argument validation__array_ufunc__and additional positional arguments- Validate input values in 
Generator.uniform /usr/includeremoved from default include paths- Changes to comparisons with 
dtype=... - Changes to 
dtypeandsignaturearguments in ufuncs - Ufunc 
signature=...anddtype=generalization andcasting - Distutils forces strict floating point model on clang
 
 - C API changes
 - 
New Features
- Added a mypy plugin for handling platform-specific 
numpy.numberprecisions - Let the mypy plugin manage extended-precision 
numpy.numbersubclasses - New 
min_digitsargument for printing float values - f2py now recognizes Fortran abstract interface blocks
 - BLAS and LAPACK configuration via environment variables
 - A runtime-subcriptable alias has been added for 
ndarray 
 - Added a mypy plugin for handling platform-specific 
 - Improvements
 - Performance improvements
 - Changes
 
 - 1.20.3
 - 1.20.2
 - 1.20.1
 - 
1.20.0
- New functions
 - 
Deprecations
- Using the aliases of builtin types like 
np.intis deprecated - Passing 
shape=Noneto functions with a non-optional shape argument is deprecated - Indexing errors will be reported even when index result is empty
 - Inexact matches for 
modeandsearchsideare deprecated - Deprecation of 
numpy.dual outerandufunc.outerdeprecated for matrix- Further Numeric Style types Deprecated
 - The 
ndincrmethod ofndindexis deprecated - ArrayLike objects which do not define 
__len__and__getitem__ 
 - Using the aliases of builtin types like 
 - Future Changes
 - Expired deprecations
 - 
Compatibility notes
isinstance(dtype, np.dtype)and nottype(dtype) is not np.dtype- Same kind casting in concatenate with 
axis=None - NumPy Scalars are cast when assigned to arrays
 - Array coercion changes when Strings and other types are mixed
 - Array coercion restructure
 - Writing to the result of 
numpy.broadcast_arrayswill export readonly buffers - Numeric-style type names have been removed from type dictionaries
 - The 
operator.concatfunction now raises TypeError for array arguments nicknameattribute removed from ABCPolyBasefloat->timedeltaanduint64->timedeltapromotion will raise a TypeErrornumpy.genfromtxtnow correctly unpacks structured arraysmgrid,r_, etc. consistently return correct outputs for non-default precision input- Boolean array indices with mismatching shapes now properly give 
IndexError - Casting errors interrupt Iteration
 - f2py generated code may return unicode instead of byte strings
 - The first element of the 
__array_interface__["data"]tuple must be an integer - poly1d respects the dtype of all-zero argument
 - The numpy.i file for swig is Python 3 only.
 - Void dtype discovery in 
np.array 
 - C API changes
 - 
New Features
wherekeyword argument fornumpy.allandnumpy.anyfunctionswherekeyword argument fornumpyfunctionsmean,std,varnorm=backward,forwardkeyword options fornumpy.fftfunctions- NumPy is now typed
 numpy.typingis accessible at runtime- New 
__f2py_numpy_version__attribute for f2py generated modules. mypytests can be run via runtests.py- Negation of user defined BLAS/LAPACK detection order
 - Allow passing optimizations arguments to asv build
 - The NVIDIA HPC SDK nvfortran compiler is now supported
 dtypeoption forcovandcorrcoef
 - 
Improvements
- Improved string representation for polynomials (
__str__) - Remove the Accelerate library as a candidate LAPACK library
 - Object arrays containing multi-line objects have a more readable 
repr - Concatenate supports providing an output dtype
 - Thread safe f2py callback functions
 numpy.core.records.fromfilenow supports file-like objects- RPATH support on AIX added to distutils
 - Use f90 compiler specified by the command line args
 - Add NumPy declarations for Cython 3.0 and later
 - Make the window functions exactly symmetric
 
 - Improved string representation for polynomials (
 - Performance improvements and changes
 - Changes
 
 - 1.19.5
 - 1.19.4
 - 1.19.3
 - 1.19.2
 - 1.19.1
 - 
1.19.0
- Highlights
 - Expired deprecations
 - 
Compatibility notes
- Changed random variate stream from 
numpy.random.Generator.dirichlet - Scalar promotion in 
PyArray_ConvertToCommonType - Fasttake and fastputmask slots are deprecated and NULL’ed
 np.ediff1dcasting behaviour withto_endandto_begin- Converting of empty array-like objects to NumPy arrays
 - Removed 
multiarray.int_asbuffer numpy.distutils.compathas been removedissubdtypeno longer interpretsfloatasnp.floating- Change output of 
roundon scalars to be consistent with Python - The 
numpy.ndarrayconstructor no longer interpretsstrides=()asstrides=None - C-Level string to datetime casts changed
 SeedSequencewith small seeds no longer conflicts with spawning
 - Changed random variate stream from 
 - 
Deprecations
- Deprecate automatic 
dtype=objectfor ragged input - Passing 
shape=0to factory functions innumpy.recis deprecated - Deprecation of probably unused C-API functions
 - Converting certain types to dtypes is Deprecated
 - Deprecation of 
roundfornp.complexfloatingscalars numpy.ndarray.tostring()is deprecated in favor oftobytes()
 - Deprecate automatic 
 - C API changes
 - New Features
 - Improvements
 - Improve detection of CPU features
 - Changes
 
 - 1.18.5
 - 1.18.4
 - 1.18.3
 - 1.18.2
 - 1.18.1
 - 
1.18.0
- Highlights
 - New functions
 - Deprecations
 - Expired deprecations
 - 
Compatibility notes
numpy.lib.recfunctions.drop_fieldscan no longer return Nonenumpy.argmin/argmax/min/maxreturnsNaTif it exists in arraynp.can_cast(np.uint64, np.timedelta64, casting='safe')is nowFalse- Changed random variate stream from 
numpy.random.Generator.integers - Add more ufunc loops for 
datetime64,timedelta64 - Moved modules in 
numpy.random 
 - C API changes
 - New Features
 - 
Improvements
- Different C numeric types of the same size have unique names
 argwherenow produces a consistent result on 0d arrays- Add 
axisargument forrandom.permutationandrandom.shuffle methodkeyword argument fornp.random.multivariate_normal- Add complex number support for 
numpy.fromstring numpy.uniquehas consistent axes order whenaxisis not Nonenumpy.matmulwith boolean output now converts to boolean valuesnumpy.random.randintproduced incorrect value when the range was2**32- Add complex number support for 
numpy.fromfile std=c99added if compiler is namedgcc
 - 
Changes
NaTnow sorts to the end of arrays- Incorrect 
thresholdinnp.set_printoptionsraisesTypeErrororValueError - Warn when saving a dtype with metadata
 numpy.distutilsappend behavior changed for LDFLAGS and similar- Remove 
numpy.random.entropywithout a deprecation - Add options to quiet build configuration and build with 
-Werror 
 
 - 1.17.5
 - 1.17.4
 - 1.17.3
 - 1.17.2
 - 1.17.1
 - 
1.17.0
- Highlights
 - New functions
 - Deprecations
 - Future Changes
 - 
Compatibility notes
float16subnormal rounding- Signed zero when using divmod
 MaskedArray.masknow returns a view of the mask, not the mask itself- Do not lookup 
__buffer__attribute innumpy.frombuffer outis buffered for memory overlaps intake,choose,put- Unpickling while loading requires explicit opt-in
 - Potential changes to the random stream in old random module
 i0now always returns a result with the same shape as the inputcan_castno longer assumes all unsafe casting is allowedndarray.flags.writeablecan be switched to true slightly more often
 - C API changes
 - 
New Features
- New extensible 
numpy.randommodule with selectable random number generators - libFLAME
 - User-defined BLAS detection order
 - User-defined LAPACK detection order
 ufunc.reduceand related functions now accept awheremask- Timsort and radix sort have replaced mergesort for stable sorting
 packbitsandunpackbitsaccept anorderkeywordunpackbitsnow accepts acountparameterlinalg.svdandlinalg.pinvcan be faster on hermitian inputs- divmod operation is now supported for two 
timedelta64operands fromfilenow takes anoffsetargument- New mode “empty” for 
pad empty_likeand related functions now accept ashapeargument- Floating point scalars implement 
as_integer_ratioto match the builtin float - Structured 
dtypeobjects can be indexed with multiple fields names .npyfiles support unicode field names
 - New extensible 
 - 
Improvements
- Array comparison assertions include maximum differences
 - Replacement of the fftpack based 
fftmodule by the pocketfft library - Further improvements to 
ctypessupport innumpy.ctypeslib numpy.errstateis now also a function decoratornumpy.expandnumpy.logspeed up for float32 implementation- Improve performance of 
numpy.pad numpy.interphandles infinities more robustly- Pathlib support for 
fromfile,tofileandndarray.dump - Specialized 
isnan,isinf, andisfiniteufuncs for bool and int types isfinitesupportsdatetime64andtimedelta64types- New keywords added to 
nan_to_num - MemoryErrors caused by allocated overly large arrays are more descriptive
 floor,ceil, andtruncnow respect builtin magic methodsquantilenow works onfraction.Fractionanddecimal.Decimalobjects- Support of object arrays in 
matmul 
 - 
Changes
medianandpercentilefamily of functions no longer warn aboutnantimedelta64 % 0behavior adjusted to returnNaT- NumPy functions now always support overrides with 
__array_function__ lib.recfunctions.structured_to_unstructureddoes not squeeze single-field viewsclipnow uses a ufunc under the hood__array_interface__offset now works as documented- Pickle protocol in 
savezset to 3 forforce zip64flag - Structured arrays indexed with non-existent fields raise 
KeyErrornotValueError 
 
 - 1.16.6
 - 1.16.5
 - 1.16.4
 - 1.16.3
 - 1.16.2
 - 1.16.1
 - 
1.16.0
- Highlights
 - New functions
 - New deprecations
 - Expired deprecations
 - Future changes
 - Compatibility notes
 - C API changes
 - New Features
 - 
Improvements
- no-copy pickling of numpy arrays
 - build shell independence
 np.polynomial.Polynomialclasses render in LaTeX in Jupyter notebooksrandintandchoicenow work on empty distributionslinalg.lstsq,linalg.qr, andlinalg.svdnow work with empty arrays- Chain exceptions to give better error messages for invalid PEP3118 format strings
 - Einsum optimization path updates and efficiency improvements
 numpy.angleandnumpy.expand_dimsnow work onndarraysubclassesNPY_NO_DEPRECATED_APIcompiler warning suppressionnp.diffAdded kwargs prepend and append- ARM support updated
 - Appending to build flags
 - Generalized ufunc signatures now allow fixed-size dimensions
 - Generalized ufunc signatures now allow flexible dimensions
 np.clipand theclipmethod check for memory overlap- New value 
unscaledfor optioncovinnp.polyfit - Detailed docstrings for scalar numeric types
 __module__attribute now points to public modules- Large allocations marked as suitable for transparent hugepages
 - Alpine Linux (and other musl c library distros) support
 - Speedup 
np.blockfor large arrays - Speedup 
np.takefor read-only arrays - Support path-like objects for more functions
 - Better behaviour of ufunc identities during reductions
 - Improved conversion from ctypes objects
 - A new 
ndpointer.contentsmember matmulis now aufunc- Start and stop arrays for 
linspace,logspaceandgeomspace - CI extended with additional services
 
 - 
Changes
- Comparison ufuncs will now error rather than return NotImplemented
 - Positive will now raise a deprecation warning for non-numerical arrays
 NDArrayOperatorsMixinnow implements matrix multiplication- The scaling of the covariance matrix in 
np.polyfitis different maximumandminimumno longer emit warnings- Umath and multiarray c-extension modules merged into a single module
 getfieldvalidity checks extended- NumPy functions now support overrides with 
__array_function__ - Arrays based off readonly buffers cannot be set 
writeable 
 
 - 1.15.4
 - 1.15.3
 - 1.15.2
 - 1.15.1
 - 
1.15.0
- Highlights
 - New functions
 - Deprecations
 - Future Changes
 - 
Compatibility notes
- Compiled testing modules renamed and made private
 - The 
NpzFilereturned bynp.savezis now acollections.abc.Mapping - Under certain conditions, 
nditermust be used in a context manager - Numpy has switched to using pytest instead of nose for testing
 - Numpy no longer monkey-patches 
ctypeswith__array_interface__ np.ma.notmasked_contiguousandnp.ma.flatnotmasked_contiguousalways return listsnp.squeezerestores old behavior of objects that cannot handle anaxisargument- unstructured void array’s 
.itemmethod now returns a bytes object copy.copyandcopy.deepcopyno longer turnmaskedinto an array- Multifield Indexing of Structured Arrays will still return a copy
 
 - C API changes
 - New Features
 - 
Improvements
np.einsumupdatesnp.ufunc.reduceand related functions now accept an initial valuenp.flipcan operate over multiple axeshistogramandhistogramddfunctions have moved tonp.lib.histogramshistogramwill accept NaN values when explicit bins are givenhistogramworks on datetime types, when explicit bin edges are givenhistogram“auto” estimator handles limited variance better- The edges retuned by 
histogram`andhistogramddnow match the data float type histogramddallows explicit ranges to be given in a subset of axes- The normed arguments of 
histogramddandhistogram2dhave been renamed np.r_works with 0d arrays, andnp.ma.mr_works withnp.ma.maskednp.ptpaccepts akeepdimsargument, and extended axis tuplesMaskedArray.astypenow is identical tondarray.astype- Enable AVX2/AVX512 at compile time
 nan_to_numalways returns scalars when receiving scalar or 0d inputsnp.flatnonzeroworks on numpy-convertible typesnp.interpreturns numpy scalars rather than builtin scalars- Allow dtype field names to be unicode in Python 2
 - Comparison ufuncs accept 
dtype=object, overriding the defaultbool sortfunctions acceptkind='stable'- Do not make temporary copies for in-place accumulation
 linalg.matrix_powercan now handle stacks of matrices- Increased performance in 
random.permutationfor multidimensional arrays - Generalized ufuncs now accept 
axes,axisandkeepdimsarguments - float128 values now print correctly on ppc systems
 - New 
np.take_along_axisandnp.put_along_axisfunctions 
 
 - 1.14.6
 - 1.14.5
 - 1.14.4
 - 1.14.3
 - 1.14.2
 - 1.14.1
 - 
1.14.0
- Highlights
 - New functions
 - Deprecations
 - Future Changes
 - 
Compatibility notes
- The mask of a masked array view is also a view rather than a copy
 np.ma.maskedis no longer writeablenp.mafunctions producingfill_values have changeda.flat.__array__()returns non-writeable arrays whenais non-contiguousnp.tensordotnow returns zero array when contracting over 0-length dimensionnumpy.testingreorganizednp.asfarrayno longer accepts non-dtypes through thedtypeargument- 1D 
np.linalg.normpreserves float input types, even for arbitrary orders count_nonzero(arr, axis=())now counts over no axes, not all axes__init__.pyfiles added to test directories.astype(bool)on unstructured void arrays now callsboolon each elementMaskedArray.squeezenever returnsnp.ma.masked- Renamed first parameter of 
can_castfromfromtofrom_ isnatraisesTypeErrorwhen passed wrong typedtype.__getitem__raisesTypeErrorwhen passed wrong type- User-defined types now need to implement 
__str__and__repr__ - Many changes to array printing, disableable with the new “legacy” printing mode
 
 - C API changes
 - 
New Features
- Encoding argument for text IO functions
 - External 
noseplugins are usable bynumpy.testing.Tester parametrizedecorator added tonumpy.testingchebinterpolatefunction added tonumpy.polynomial.chebyshev- Support for reading lzma compressed text files in Python 3
 signoption added tonp.setprintoptionsandnp.array2stringhermitianoption added to``np.linalg.matrix_rank``thresholdandedgeitemsoptions added tonp.array2stringconcatenateandstackgained anoutargument- Support for PGI flang compiler on Windows
 
 - 
Improvements
- Numerator degrees of freedom in 
random.noncentral_fneed only be positive. - The GIL is released for all 
np.einsumvariations - The 
np.einsumfunction will use BLAS when possible and optimize by default f2pynow handles arrays of dimension 0numpy.distutilssupports using MSVC and mingw64-gfortran togethernp.linalg.pinvnow works on stacked matricesnumpy.savealigns data to 64 bytes instead of 16- NPZ files now can be written without using temporary files
 - Better support for empty structured and string types
 - Support for 
decimal.Decimalinnp.lib.financial - Float printing now uses “dragon4” algorithm for shortest decimal representation
 voiddatatype elements are now printed in hex notation- printing style for 
voiddatatypes is now independently customizable - Reduced memory usage of 
np.loadtxt 
 - Numerator degrees of freedom in 
 - 
Changes
- Multiple-field indexing/assignment of structured arrays
 - Integer and Void scalars are now unaffected by 
np.set_string_function - 0d array printing changed, 
stylearg of array2string deprecated - Seeding 
RandomStateusing an array requires a 1-d array MaskedArrayobjects show a more usefulrepr- The 
reprofnp.polynomialclasses is more explicit 
 
 - 1.13.3
 - 1.13.2
 - 1.13.1
 - 
1.13.0
- Highlights
 - New functions
 - Deprecations
 - Future Changes
 - Build System Changes
 - Compatibility notes
 - C API changes
 - 
New Features
__array_ufunc__added- New 
positiveufunc - New 
divmodufunc np.isnatufunc tests for NaT special datetime and timedelta valuesnp.heavisideufunc computes the Heaviside functionnp.blockfunction for creating blocked arraysisinfunction, improving onin1d- Temporary elision
 axesargument foruniquenp.gradientnow supports unevenly spaced data- Support for returning arrays of arbitrary dimensions in 
apply_along_axis .ndimproperty added todtypeto complement.shape- Support for tracemalloc in Python 3.6
 - NumPy may be built with relaxed stride checking debugging
 
 - 
Improvements
- Ufunc behavior for overlapping inputs
 - Partial support for 64-bit f2py extensions with MinGW
 - Performance improvements for 
packbitsandunpackbits - Fix for PPC long double floating point information
 - Better default repr for 
ndarraysubclasses - More reliable comparisons of masked arrays
 - np.matrix with booleans elements can now be created using the string syntax
 - More 
linalgoperations now accept empty vectors and matrices - Bundled version of LAPACK is now 3.2.2
 reduceofnp.hypot.reduceandnp.logical_xorallowed in more cases- Better 
reprof object arrays 
 - 
Changes
argsorton masked arrays takes the same default arguments assortaveragenow preserves subclassesarray == Noneandarray != Nonedo element-wise comparisonnp.equal, np.not_equalfor object arrays ignores object identity- Boolean indexing changes
 np.random.multivariate_normalbehavior with bad covariance matrixassert_array_lesscomparesnp.infand-np.infnowassert_array_and masked arraysassert_equalhide less warningsoffsetattribute value inmemmapobjectsnp.realandnp.imagreturn scalars for scalar inputs- The polynomial convenience classes cannot be passed to ufuncs
 - Output arguments to ufuncs can be tuples also for ufunc methods
 
 
 - 1.12.1
 - 
1.12.0
- Highlights
 - Dropped Support
 - Added Support
 - Build System Changes
 - Deprecations
 - Future Changes
 - 
Compatibility notes
- DeprecationWarning to error
 - FutureWarning to changed behavior
 powerand**raise errors for integer to negative integer powers- Relaxed stride checking is the default
 - The 
np.percentile‘midpoint’ interpolation method fixed for exact indices keepdimskwarg is passed through to user-class methodsbitwise_andidentity changed- ma.median warns and returns nan when unmasked invalid values are encountered
 - Greater consistency in 
assert_almost_equal NoseTesterbehaviour of warnings during testingassert_warnsanddeprecateddecorator more specific- C API
 
 - 
New Features
- Writeable keyword argument for 
as_strided axeskeyword argument forrot90- Generalized 
flip - BLIS support in 
numpy.distutils - Hook in 
numpy/__init__.pyto run distribution-specific checks - New nanfunctions 
nancumsumandnancumprodadded np.interpcan now interpolate complex values- New polynomial evaluation function 
polyvalfromrootsadded - New array creation function 
geomspaceadded - New context manager for testing warnings
 - New masked array functions 
ma.convolveandma.correlateadded - New 
float_powerufunc np.loadtxtnow supports a single integer asusecolargument- Improved automated bin estimators for 
histogram np.rollcan now roll multiple axes at the same time- The 
__complex__method has been implemented for the ndarrays pathlib.Pathobjects now supported- New 
bitsattribute fornp.finfo - New 
signatureargument tonp.vectorize - Emit py3kwarnings for division of integer arrays
 - numpy.sctypes now includes bytes on Python3 too
 
 - Writeable keyword argument for 
 - 
Improvements
bitwise_andidentity changed- Generalized Ufuncs will now unlock the GIL
 - Caches in 
np.fftare now bounded in total size and item count - Improved handling of zero-width string/unicode dtypes
 - Integer ufuncs vectorized with AVX2
 - Order of operations optimization in 
np.einsum - quicksort has been changed to an introsort
 ediff1dimproved performance and subclass handling- Improved precision of 
ndarray.meanfor float16 arrays 
 - Changes
 
 - 1.11.3
 - 1.11.2
 - 1.11.1
 - 
1.11.0
- Highlights
 - Build System Changes
 - Future Changes
 - Compatibility notes
 - New Features
 - 
Improvements
np.gradientnow supports anaxisargumentnp.lexsortnow supports arrays with object data-typenp.ma.core.MaskedArraynow supports anorderargument- Memory and speed improvements for masked arrays
 ndarray.tofilenow uses fallocate on linux- Optimizations for operations of the form 
A.T @ AandA @ A.T np.testing.assert_warnscan now be used as a context manager- Speed improvement for np.random.shuffle
 
 - Changes
 - Deprecations
 - FutureWarnings
 
 - 1.10.4
 - 1.10.3
 - 1.10.2
 - 1.10.1
 - 
1.10.0
- Highlights
 - Dropped Support
 - Future Changes
 - 
Compatibility notes
- Default casting rule change
 - numpy version string
 - relaxed stride checking
 - Concatenation of 1d arrays along any but 
axis=0raisesIndexError - np.ravel, np.diagonal and np.diag now preserve subtypes
 - rollaxis and swapaxes always return a view
 - nonzero now returns base ndarrays
 - C API
 - recarray field return types
 - recarray views
 - ‘out’ keyword argument of ufuncs now accepts tuples of arrays
 - byte-array indices now raises an IndexError
 - Masked arrays containing objects with arrays
 - Median warns and returns nan when invalid values are encountered
 - Functions available from numpy.ma.testutils have changed
 
 - 
New Features
- Reading extra flags from site.cfg
 - np.cbrt to compute cube root for real floats
 - numpy.distutils now allows parallel compilation
 - genfromtxt has a new 
max_rowsargument - New function np.broadcast_to for invoking array broadcasting
 - New context manager clear_and_catch_warnings for testing warnings
 - cov has new 
fweightsandaweightsarguments - Support for the ‘@’ operator in Python 3.5+
 - New argument 
normto fft functions 
 - 
Improvements
- np.digitize using binary search
 - np.poly now casts integer inputs to float
 - np.interp can now be used with periodic functions
 - np.pad supports more input types for 
pad_widthandconstant_values - np.argmax and np.argmin now support an 
outargument - More system C99 complex functions detected and used
 - np.loadtxt support for the strings produced by the 
float.hexmethod - np.isclose properly handles minimal values of integer dtypes
 - np.allclose uses np.isclose internally.
 - np.genfromtxt now handles large integers correctly
 - np.load, np.save have pickle backward compatibility flags
 - MaskedArray support for more complicated base classes
 
 - Changes
 - Deprecations
 
 - 1.9.2
 - 1.9.1
 - 
1.9.0
- Highlights
 - Dropped Support
 - Future Changes
 - 
Compatibility notes
- The diagonal and diag functions return readonly views.
 - Special scalar float values don’t cause upcast to double anymore
 - Percentile output changes
 - ndarray.tofile exception type
 - Invalid fill value exceptions
 - Polynomial Classes no longer derived from PolyBase
 - Using numpy.random.binomial may change the RNG state vs. numpy < 1.9
 - Random seed enforced to be a 32 bit unsigned integer
 - Argmin and argmax out argument
 - Einsum
 - Indexing
 - Non-integer reduction axis indexes are deprecated
 promote_typesand string dtypecan_castand string dtype- astype and string dtype
 npyio.recfromcsvkeyword arguments change- The 
doc/swigdirectory moved - The 
npy_3kcompat.hheader changed - Negative indices in C-Api 
sq_itemandsq_ass_itemsequence methods - NDIter
 zeros_likefor string dtypes now returns empty strings
 - 
New Features
- Percentile supports more interpolation options
 - Generalized axis support for median and percentile
 - Dtype parameter added to 
np.linspaceandnp.logspace - More general 
np.triuandnp.trilbroadcasting tobytesalias fortostringmethod- Build system
 - Compatibility to python 
numbersmodule increasingparameter added tonp.vanderunique_countsparameter added tonp.unique- Support for median and percentile in nanfunctions
 - NumpyVersion class added
 - Allow saving arrays with large number of named columns
 - Full broadcasting support for 
np.cross 
 - 
Improvements
- Better numerical stability for sum in some cases
 - Percentile implemented in terms of 
np.partition - Performance improvement for 
np.array - Performance improvement for 
np.searchsorted - Optional reduced verbosity for np.distutils
 - Covariance check in 
np.random.multivariate_normal - Polynomial Classes no longer template based
 - More GIL releases
 - MaskedArray support for more complicated base classes
 - C-API
 
 - Deprecations
 
 - 1.8.2
 - 1.8.1
 - 
1.8.0
- Highlights
 - Dropped Support
 - Future Changes
 - Compatibility notes
 - 
New Features
- Support for linear algebra on stacked arrays
 - In place fancy indexing for ufuncs
 - New functions 
partitionandargpartition - New functions 
nanmean,nanvarandnanstd - New functions 
fullandfull_like - IO compatibility with large files
 - Building against OpenBLAS
 - New constant
 - New modes for qr
 - New 
invertargument toin1d - Advanced indexing using 
np.newaxis - C-API
 - runtests.py
 
 - Improvements
 - Changes
 - Deprecations
 - Authors
 
 - 1.7.2
 - 1.7.1
 - 
1.7.0
- Highlights
 - Compatibility notes
 - 
New features
- Reduction UFuncs Generalize axis= Parameter
 - Reduction UFuncs New keepdims= Parameter
 - Datetime support
 - Custom formatter for printing arrays
 - New function numpy.random.choice
 - New function isclose
 - Preliminary multi-dimensional support in the polynomial package
 - Ability to pad rank-n arrays
 - New argument to searchsorted
 - Build system
 - C API
 
 - Changes
 - Deprecations
 
 - 1.6.2
 - 1.6.1
 - 1.6.0
 - 1.5.0
 - 1.4.0
 - 1.3.0
 
    © 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
    https://numpy.org/doc/1.21/release.html