Sourced from numpy's releases.
v2.0.0
NumPy 2.0.0 Release Notes
NumPy 2.0.0 is the first major release since 2006. It is the result of 11 months of development since the last feature release and is the work of 212 contributors spread over 1078 pull requests. It contains a large number of exciting new features as well as changes to both the Python and C APIs.
This major release includes breaking changes that could not happen in a regular minor (feature) release - including an ABI break, changes to type promotion rules, and API changes which may not have been emitting deprecation warnings in 1.26.x. Key documents related to how to adapt to changes in NumPy 2.0, in addition to these release notes, include:
- The numpy-2-migration-guide
- The Numpy 2.0-specific advice in for downstream package authors
Highlights
Highlights of this release include:
- New features:
- A new variable-length string dtype,
numpy.dtypes.StringDType
and a newnumpy.strings
namespace with performant ufuncs for string operations,- Support for
float32
andlongdouble
in allnumpy.fft
functions,- Support for the array API standard in the main
numpy
namespace.- Performance improvements:
- Sorting functions
sort
,argsort
,partition
,argpartition
have been accelerated through the use of the Intel x86-simd-sort and Google Highway libraries, and may see large (hardware-specific) speedups,- macOS Accelerate support and binary wheels for macOS >=14, with significant performance improvements for linear algebra operations on macOS, and wheels that are about 3 times smaller,
numpy.char
fixed-length string operations have been accelerated by implementing ufuncs that also supportnumpy.dtypes.StringDType
in addition to the fixed-length string dtypes,- A new tracing and introspection API,
numpy.lib.introspect.opt_func_info
, to determine which hardware-specific kernels are available and will be dispatched to.numpy.save
now uses pickle protocol version 4 for saving arrays with object dtype, which allows for pickle objects larger than 4GB and improves saving speed by about 5% for large arrays.- Python API improvements:
... (truncated)
1d49c7f
Merge pull request #26698
from charris/prepare-2.0.02103511
DOC: Remove duplicate in author list.db8030e
BUG: Change cibuildwheel version [wheel build]1a68264
REL: Prepare for the NumPy 2.0.0 release [wheel build]c8665ba
Merge pull request #26696
from charris/backport-26582103f4dd
Merge pull request #26697
from charris/backport-25963c193dcd
Merge pull request #26695
from charris/backport-266678fa8191
BUG: Fix bug in numpy.pad() (#25963)ece3559
BUG: weighted nanpercentile, nanquantile and multi-dim q (#26582)b31e195
BUG: Adds asanyarray to start of linalg.cross (#26667)