Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update numpy to 2.2.1 #8134

Open
wants to merge 1 commit into
base: rewrite
Choose a base branch
from
Open

Conversation

pyup-bot
Copy link
Collaborator

This PR updates numpy from 1.26.2 to 2.2.1.

Changelog

2.2.0

The NumPy 2.2.0 release is a quick release that brings us back into sync
with the usual twice yearly release cycle. There have been an number of
small cleanups, as well as work bringing the new StringDType to
completion and improving support for free threaded Python. Highlights
are:

-   New functions `matvec` and `vecmat`, see below.
-   Many improved annotations.
-   Improved support for the new StringDType.
-   Improved support for free threaded Python
-   Fixes for f2py

This release supports Python versions 3.10-3.13.

Deprecations

-   `_add_newdoc_ufunc` is now deprecated. `ufunc.__doc__ = newdoc`
 should be used instead.

 ([gh-27735](https://github.com/numpy/numpy/pull/27735))

Expired deprecations

-   `bool(np.array([]))` and other empty arrays will now raise an error.
 Use `arr.size > 0` instead to check whether an array has no
 elements.

 ([gh-27160](https://github.com/numpy/numpy/pull/27160))

Compatibility notes

-   `numpy.cov` now properly transposes single-row (2d array) design matrices
 when `rowvar=False`. Previously, single-row design matrices would return a
 scalar in this scenario, which is not correct, so this is a behavior change
 and an array of the appropriate shape will now be returned.

 ([gh-27661](https://github.com/numpy/numpy/pull/27661))

New Features

-   New functions for matrix-vector and vector-matrix products

 Two new generalized ufuncs were defined:

 -   `numpy.matvec` - matrix-vector product, treating the
     arguments as stacks of matrices and column vectors,
     respectively.
 -   `numpy.vecmat` - vector-matrix product, treating the
     arguments as stacks of column vectors and matrices,
     respectively. For complex vectors, the conjugate is taken.

 These add to the existing `numpy.matmul` as well as to
 `numpy.vecdot`, which was added in numpy 2.0.

 Note that `numpy.matmul` never takes a complex conjugate, also not when its
 left input is a vector, while both `numpy.vecdot` and `numpy.vecmat` do
 take the conjugate for complex vectors on the left-hand side (which are
 taken to be the ones that are transposed, following the physics
 convention).

 ([gh-25675](https://github.com/numpy/numpy/pull/25675))

-   `np.complexfloating[T, T]` can now also be written as
 `np.complexfloating[T]`

 ([gh-27420](https://github.com/numpy/numpy/pull/27420))

-   UFuncs now support `__dict__` attribute and allow overriding
 `__doc__` (either directly or via `ufunc.__dict__["__doc__"]`).
 `__dict__` can be used to also override other properties, such as
 `__module__` or `__qualname__`.

 ([gh-27735](https://github.com/numpy/numpy/pull/27735))

-   The \"nbit\" type parameter of `np.number` and its subtypes now
 defaults to `typing.Any`. This way, type-checkers will infer
 annotations such as `x: np.floating` as `x: np.floating[Any]`, even
 in strict mode.

 ([gh-27736](https://github.com/numpy/numpy/pull/27736))

Improvements

-   The `datetime64` and `timedelta64` hashes now correctly match the
 Pythons builtin `datetime` and `timedelta` ones. The hashes now
 evaluated equal even for equal values with different time units.

 ([gh-14622](https://github.com/numpy/numpy/pull/14622))

-   Fixed a number of issues around promotion for string ufuncs with
 StringDType arguments. Mixing StringDType and the fixed-width DTypes
 using the string ufuncs should now generate much more uniform
 results.

 ([gh-27636](https://github.com/numpy/numpy/pull/27636))

-   Improved support for empty `memmap`. Previously an empty `memmap` would
 fail unless a non-zero `offset` was set.  Now a zero-size `memmap` is
 supported even if `offset=0`. To achieve this, if a `memmap` is mapped to
 an empty file that file is padded with a single byte.

 ([gh-27723](https://github.com/numpy/numpy/pull/27723))

-   `f2py` handles multiple modules and exposes variables again.  A regression
 has been fixed which allows F2PY users to expose variables to Python in
 modules with only assignments, and also fixes situations where multiple
 modules are present within a single source file.

 ([gh-27695](https://github.com/numpy/numpy/pull/27695))

Performance improvements and changes

-   NumPy now uses fast-on-failure attribute lookups for protocols. This
 can greatly reduce overheads of function calls or array creation
 especially with custom Python objects. The largest improvements will
 be seen on Python 3.12 or newer.

 ([gh-27119](https://github.com/numpy/numpy/pull/27119))

-   OpenBLAS on x86_64 and i686 is built with fewer kernels. Based on
 benchmarking, there are 5 clusters of performance around these
 kernels: `PRESCOTT NEHALEM SANDYBRIDGE HASWELL SKYLAKEX`.

-   OpenBLAS on windows is linked without quadmath, simplifying
 licensing

-   Due to a regression in OpenBLAS on windows, the performance
 improvements when using multiple threads for OpenBLAS 0.3.26 were
 reverted.

 ([gh-27147](https://github.com/numpy/numpy/pull/27147))

-   NumPy now indicates hugepages also for large `np.zeros` allocations
 on linux. Thus should generally improve performance.

 ([gh-27808](https://github.com/numpy/numpy/pull/27808))

Changes

-   `numpy.fix` now won\'t perform casting to a floating
 data-type for integer and boolean data-type input arrays.

 ([gh-26766](https://github.com/numpy/numpy/pull/26766))

-   The type annotations of `numpy.float64` and `numpy.complex128` now reflect
 that they are also subtypes of the built-in `float` and `complex` types,
 respectively. This update prevents static type-checkers from reporting
 errors in cases such as:

  python
 x: float = numpy.float64(6.28)   valid
 z: complex = numpy.complex128(-1j)   valid
 

 ([gh-27334](https://github.com/numpy/numpy/pull/27334))

-   The `repr` of arrays large enough to be summarized (i.e., where
 elements are replaced with `...`) now includes the `shape` of the
 array, similar to what already was the case for arrays with zero
 size and non-obvious shape. With this change, the shape is always
 given when it cannot be inferred from the values. Note that while
 written as `shape=...`, this argument cannot actually be passed in
 to the `np.array` constructor. If you encounter problems, e.g., due
 to failing doctests, you can use the print option `legacy=2.1` to
 get the old behaviour.

 ([gh-27482](https://github.com/numpy/numpy/pull/27482))

-   Calling `__array_wrap__` directly on NumPy arrays or scalars now
 does the right thing when `return_scalar` is passed (Added in NumPy
 2). It is further safe now to call the scalar `__array_wrap__` on a
 non-scalar result.

 ([gh-27807](https://github.com/numpy/numpy/pull/27807))

-   Bump the musllinux CI image and wheels to 1_2 from 1_1. This is because
 1_1 is [end of life](https://github.com/pypa/manylinux/issues/1629).

 ([gh-27088](https://github.com/numpy/numpy/pull/27088))

-   NEP 50 promotion state option removed

 The NEP 50 promotion state settings are now removed. They were always meant as
 temporary means for testing. A warning will be given if the environment
 variable is set to anything but `NPY_PROMOTION_STATE=weak` while
 `_set_promotion_state` and `_get_promotion_state` are removed. In case code
 used `_no_nep50_warning`, a `contextlib.nullcontext` could be used to replace
 it when not available.

 ([gh-27156](https://github.com/numpy/numpy/pull/27156))

Checksums

MD5

 83746dfc1b7774a6677a69c705b83afe  numpy-2.2.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
 e69c45cf5ea08fdf2a5527190a7d6549  numpy-2.2.0rc1-cp310-cp310-macosx_11_0_arm64.whl
 d4f8048977139cb229875c201f605369  numpy-2.2.0rc1-cp310-cp310-macosx_14_0_arm64.whl
 8710578b7f4ceef7f73b6d234ad3a82a  numpy-2.2.0rc1-cp310-cp310-macosx_14_0_x86_64.whl
 899d1f24d8e5570695a024908d100174  numpy-2.2.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 cb768ee568bed2e4f55d47f43c655bc2  numpy-2.2.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 5a40726db153ca1984598323cc59eb9b  numpy-2.2.0rc1-cp310-cp310-musllinux_1_2_aarch64.whl
 450e5e05bdc5551c0a4df2a8d7f09925  numpy-2.2.0rc1-cp310-cp310-musllinux_1_2_x86_64.whl
 1c34c86b0abaa5d2a75677044a7fca07  numpy-2.2.0rc1-cp310-cp310-win32.whl
 d679ad13f3892325fd4542931ee74852  numpy-2.2.0rc1-cp310-cp310-win_amd64.whl
 a7a8cf5fa2e3d4bd0131ad48c0215f50  numpy-2.2.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
 aa6c629290d8b05b44fbbf805fb39dbe  numpy-2.2.0rc1-cp311-cp311-macosx_11_0_arm64.whl
 a04fe8ac96a5226686ec4190db8511d6  numpy-2.2.0rc1-cp311-cp311-macosx_14_0_arm64.whl
 50aedb2a570a7867e860d98eb816bec4  numpy-2.2.0rc1-cp311-cp311-macosx_14_0_x86_64.whl
 cd034c5179ee4cc5669ae36be0deb6ab  numpy-2.2.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 67e3336cdcdcf72cd07978a465e61ebd  numpy-2.2.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 45456522fc3996937f1b1ad8bd7f85b2  numpy-2.2.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl
 244dcedc05e96c843853738bc2d37bdb  numpy-2.2.0rc1-cp311-cp311-musllinux_1_2_x86_64.whl
 da24dd620b6509740a1d8aebe4d1306c  numpy-2.2.0rc1-cp311-cp311-win32.whl
 472e5f997dc437b8115ba4ef70a6a266  numpy-2.2.0rc1-cp311-cp311-win_amd64.whl
 6e4ec4f92f8b0768d679419360098a89  numpy-2.2.0rc1-cp312-cp312-macosx_10_13_x86_64.whl
 e15a1756fbe98aa61cb8d98de1d516fc  numpy-2.2.0rc1-cp312-cp312-macosx_11_0_arm64.whl
 6c58bba6f453ad22a651f6f0f6416899  numpy-2.2.0rc1-cp312-cp312-macosx_14_0_arm64.whl
 1a00dd2343f8ec48350b39f72e2c4fa1  numpy-2.2.0rc1-cp312-cp312-macosx_14_0_x86_64.whl
 cbe9b6d14530bdfb75ef61f4328f6b9e  numpy-2.2.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 a4f14055b4cfafab7035f35e61c6cebb  numpy-2.2.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 8c3c80295b92ae839fcb1fc2ab2edf0e  numpy-2.2.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl
 1a5aac9894d1959e1cbbcf58e3aa98d1  numpy-2.2.0rc1-cp312-cp312-musllinux_1_2_x86_64.whl
 03577c58315ae4b28c3111be0af0c18a  numpy-2.2.0rc1-cp312-cp312-win32.whl
 c8ed06acb7e1b885081e682a391524d8  numpy-2.2.0rc1-cp312-cp312-win_amd64.whl
 53955ed28cb43f004ccd9f2f1e07b0d4  numpy-2.2.0rc1-cp313-cp313-macosx_10_13_x86_64.whl
 dffe0e20843d5e331358206b535c47f7  numpy-2.2.0rc1-cp313-cp313-macosx_11_0_arm64.whl
 1f22dc1bc3dd3bf645a35a8c58e07ac3  numpy-2.2.0rc1-cp313-cp313-macosx_14_0_arm64.whl
 57bb0a9d61444162269751eb861bef75  numpy-2.2.0rc1-cp313-cp313-macosx_14_0_x86_64.whl
 b38fd53f8f162a833b89e32b52d6f0b5  numpy-2.2.0rc1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 f8975385402dfa988efe0121adcb3b83  numpy-2.2.0rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 8b739c89e3c67210467ac0855623da47  numpy-2.2.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl
 902e1f704a187a85f02f71877ed69baf  numpy-2.2.0rc1-cp313-cp313-musllinux_1_2_x86_64.whl
 fc33a9a4c895b2463672d01e75431a8f  numpy-2.2.0rc1-cp313-cp313-win32.whl
 f57eb3377cf0acf5ce165034e5d3d061  numpy-2.2.0rc1-cp313-cp313-win_amd64.whl
 4dff6567391c376daf27f2a144a4142d  numpy-2.2.0rc1-cp313-cp313t-macosx_10_13_x86_64.whl
 5195eeac3d355592ec97db04cea7fb43  numpy-2.2.0rc1-cp313-cp313t-macosx_11_0_arm64.whl
 9a5e6fb707b1bc448d6f5eb226757581  numpy-2.2.0rc1-cp313-cp313t-macosx_14_0_arm64.whl
 455ef245987926bb966565de0f68d00f  numpy-2.2.0rc1-cp313-cp313t-macosx_14_0_x86_64.whl
 f10882cf7238a03896903b337bce2b05  numpy-2.2.0rc1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 8889da4b211ca3edba34518306115a81  numpy-2.2.0rc1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 1d29f0a150c39b500b4f0b1e4c625e9b  numpy-2.2.0rc1-cp313-cp313t-musllinux_1_2_aarch64.whl
 dcf499ab9d350e3414368a106c714256  numpy-2.2.0rc1-cp313-cp313t-musllinux_1_2_x86_64.whl
 af48c02a9130ad93e93a55ebf87b5c78  numpy-2.2.0rc1-cp313-cp313t-win32.whl
 290c12deaff6df2e54569563a8f1316a  numpy-2.2.0rc1-cp313-cp313t-win_amd64.whl
 fce62da0e31ae09237cf241c77e54498  numpy-2.2.0rc1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
 85acaaaa495d92bc52631a6a0654fd8e  numpy-2.2.0rc1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
 cb0482e5c60d706b9b0e9ce8dac9d8a6  numpy-2.2.0rc1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 67390891e461b1983aadab51bc96a78b  numpy-2.2.0rc1-pp310-pypy310_pp73-win_amd64.whl
 4836fdb3009f043287f011b5f6d18208  numpy-2.2.0rc1.tar.gz

SHA256

 acd4f4e9f8c3c04c9a695333d4f475ec2f7a577342b469b411f7ffb2a2888fdc  numpy-2.2.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
 8c3cd769a38a363fe21077ad137ee43be639464e5f257821a4cc4d4e2016deea  numpy-2.2.0rc1-cp310-cp310-macosx_11_0_arm64.whl
 72fa15a5f801faf598e6633a6efcb5661085f509f8f6631a0c2c86be06631b78  numpy-2.2.0rc1-cp310-cp310-macosx_14_0_arm64.whl
 44d55304a7397d6e89707af99ea8e980a101a7ff01dd768aaaca16b2312c799b  numpy-2.2.0rc1-cp310-cp310-macosx_14_0_x86_64.whl
 8a25595d5951ad46bec827dfee09328b8da041fc3f7f13f63880274ed4ec215e  numpy-2.2.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 c335bd4e3395b8209a011b97e5f9876092fb2dc283933d39620a30c1fa82dfab  numpy-2.2.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 5ac124ab756ad56a14cdfcdc69cc220befbfb1162fdf3ca4f6eb1a0ace634c56  numpy-2.2.0rc1-cp310-cp310-musllinux_1_2_aarch64.whl
 2f7861ff2b862e2536f2256acf5dcf1909e927a5f5e940dfd488eecd178a96b6  numpy-2.2.0rc1-cp310-cp310-musllinux_1_2_x86_64.whl
 e2d4b5a37cf5df43ffdabe0ebea150d5ec0a1796ad7122b3a780f1ab646708c8  numpy-2.2.0rc1-cp310-cp310-win32.whl
 7a3261b3b7d1403a65112dbad568eee7de596cebd0267e27e7daaa9e08dd396a  numpy-2.2.0rc1-cp310-cp310-win_amd64.whl
 61915861927b8e20223b7ccbe40ebf3f52220c0fca43be8423087348c7c00418  numpy-2.2.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
 8815f7e6d48dbcf4f14704d79b90c8fee1a68a42886d42e9c8209092e684bd99  numpy-2.2.0rc1-cp311-cp311-macosx_11_0_arm64.whl
 3e80348e6d187573dc2bb6b1d862fc32353db371ae063d25b2199f65adc96ff1  numpy-2.2.0rc1-cp311-cp311-macosx_14_0_arm64.whl
 8fb79fe9bfefb2b43f701090f70413fb535f10bfdfab1981b7c02bd406cc39dd  numpy-2.2.0rc1-cp311-cp311-macosx_14_0_x86_64.whl
 042b6a87c48307955049b338981ff9278fa5e7ff3166bbd0d3294f40726d22d5  numpy-2.2.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 94251286fd3cec5552f217030af4cae68f7a1db4f1791765e597b6d9c0a7647a  numpy-2.2.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 ffaa01305af250d733d9940c694d206a0c7d1ea2bd5a01bcb5ff7e48c3e6adac  numpy-2.2.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl
 37e6413ed8f66df534631058771ca362939e243da725b5e8537d8c64b664e9b2  numpy-2.2.0rc1-cp311-cp311-musllinux_1_2_x86_64.whl
 7bd86cdae85da5fa8763fbe9acfdb4748e1f10bef5e6524bffdfdd2b21bfd56f  numpy-2.2.0rc1-cp311-cp311-win32.whl
 27f2593fe479dff6f4398563ca2fbf7a416fd8d3a8ad7a35fecbc8ba959000ab  numpy-2.2.0rc1-cp311-cp311-win_amd64.whl
 f721298f4c39b4619b16ba0d341ff5e043d4123dfb796bd84835538bf8abad2b  numpy-2.2.0rc1-cp312-cp312-macosx_10_13_x86_64.whl
 aed72fe759ada921342b4a8ae0893cc7778b07d2f36a78445c70d5ea633c3b25  numpy-2.2.0rc1-cp312-cp312-macosx_11_0_arm64.whl
 c940b9623e29db06b7d0d3c93c560d42bbd73a76f6d27c41d3fd09c0a15f7773  numpy-2.2.0rc1-cp312-cp312-macosx_14_0_arm64.whl
 a783f561c34be98eb25f8cce029b63434d2dfe79702a1d53e9a0fd63c0391dc8  numpy-2.2.0rc1-cp312-cp312-macosx_14_0_x86_64.whl
 d0db426baa0d9547d9ac3ea08110e9bba400fab7a036235d9baddf61fd931af8  numpy-2.2.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 7925618745531971be54a87e0b85dfe83c69dac9dfd8e46c8aaae520af05792b  numpy-2.2.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 5d7a819d4d31bf9998c907105d97a082919b659ff8d44cef2c4f78d0ac16af47  numpy-2.2.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl
 0b6cb83ab76b101b87211ab6227e010789adf4a98ee4af07a2480d1d2f61d195  numpy-2.2.0rc1-cp312-cp312-musllinux_1_2_x86_64.whl
 dc86f8502db8dfbe3474a34395e453849d03f0717227f7bda57a235cbbee3575  numpy-2.2.0rc1-cp312-cp312-win32.whl
 a87c1a4d808de26157440153bb9c51d7dc4778c6cd730026406298b75fa5c2df  numpy-2.2.0rc1-cp312-cp312-win_amd64.whl
 c2ef440fc343cc11e8e1591bf77b0f4f21b0684feabdf7b3ec3d768b8cce7a05  numpy-2.2.0rc1-cp313-cp313-macosx_10_13_x86_64.whl
 4332ddb4f40e85f6cdf1594279b35e847a20054c3269f7f2e848b6075cb8f4b3  numpy-2.2.0rc1-cp313-cp313-macosx_11_0_arm64.whl
 dc532dd1c767864614f383cad63edf864f78df3533b6444d94af099583c8fb39  numpy-2.2.0rc1-cp313-cp313-macosx_14_0_arm64.whl
 ecc601c633667ea5eed0c16f987e4c715ee951d0bfa3658f76b690e8dceaddfd  numpy-2.2.0rc1-cp313-cp313-macosx_14_0_x86_64.whl
 38405f26748e7ed4c7b31e5f8c24f385e1daf4954628f6143f5a09047e220ca9  numpy-2.2.0rc1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 e515a7d5f5e1b32eb9e761de4f0327aceee27ec07cc655d26424a5e86d3c8d0d  numpy-2.2.0rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 fd3981aa01428eef69fe5ff2e97e3ca8e65e677ffacc7c447e164ae2aaf521fb  numpy-2.2.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl
 61a04f035bd4f87d6c0592eaa06061f9f16bf0e11d546e3b9252ccf83f0917a6  numpy-2.2.0rc1-cp313-cp313-musllinux_1_2_x86_64.whl
 1b18bf71975be1728042ba232d7406ae2f6fed8431684851fda4b909ab6e20ce  numpy-2.2.0rc1-cp313-cp313-win32.whl
 5776d7b395dcf180bc807a9374aca05b6569e5e5e4bdcbf112aa452a471405e0  numpy-2.2.0rc1-cp313-cp313-win_amd64.whl
 3f0d900e60e783fa9965729fa2a17021add82d769bf298cdb407abcbbf316e28  numpy-2.2.0rc1-cp313-cp313t-macosx_10_13_x86_64.whl
 def9537da892cd995f81646df94021fbf0dce690d518daaabc0902bc8ce42cd9  numpy-2.2.0rc1-cp313-cp313t-macosx_11_0_arm64.whl
 f2b59a4e85367107dced5b3c7374a5e828ddb7c5c4e1d98176d09b177e23edd0  numpy-2.2.0rc1-cp313-cp313t-macosx_14_0_arm64.whl
 9c3bdfe13209bf4f81aea5f8dd2843ab17c9a9273133d491c220636bfd51432d  numpy-2.2.0rc1-cp313-cp313t-macosx_14_0_x86_64.whl
 b0b742731c2721445a03e469f286c9ddf15dd80e52622ea4487ddc10a7869fe9  numpy-2.2.0rc1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 8c43d7beaab6509f1467175cc7cfdcc048581b91ba55e149cc39af758209b166  numpy-2.2.0rc1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 598b88170e0f361d2f6d8cc9ec18d798af07a2e9b30b95ba2d76415b7c3cc433  numpy-2.2.0rc1-cp313-cp313t-musllinux_1_2_aarch64.whl
 ddb4720b057048d7ac3ce973256e89e1e7481f71b5a214a0a3be936aeda014e7  numpy-2.2.0rc1-cp313-cp313t-musllinux_1_2_x86_64.whl
 64b994b9054ab051d137fff61bb6244aa1e7a80defa42c507355b562cc44a561  numpy-2.2.0rc1-cp313-cp313t-win32.whl
 67d2f5c34f231e7ed59189c20f8b7472b77cff85277bcd80537417eee61977db  numpy-2.2.0rc1-cp313-cp313t-win_amd64.whl
 d4bbc95647ce01252827d4c6ea5de42460ea66d75831333f2b92f088b60e1b43  numpy-2.2.0rc1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
 d8d13dd7b6f1f14c43ff68e81c8edcb035f572d87507b5f629e78a7d8c61e9f4  numpy-2.2.0rc1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
 d12bf735dc4e7dfa8c66b2fd47547bcf91c9996585324959e2c5a2f5360e1c8f  numpy-2.2.0rc1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 8d7de626a5e554b074890258e63d0b06eff2af48da034fe5ffef8743578b1e0b  numpy-2.2.0rc1-pp310-pypy310_pp73-win_amd64.whl
 d3c343e027351fbb3f7ddb0024857cd10837d6a77b40b33e39ff6706ed7ceec1  numpy-2.2.0rc1.tar.gz

2.1.3

discovered after the 2.1.2 release. This release also adds support
for free threaded Python 3.13 on Windows.

The Python versions supported by this release are 3.10-3.13.

Improvements

-   Fixed a number of issues around promotion for string ufuncs with
 StringDType arguments. Mixing StringDType and the fixed-width DTypes
 using the string ufuncs should now generate much more uniform
 results.

 ([gh-27636](https://github.com/numpy/numpy/pull/27636))

Changes

-   `numpy.fix` now won\'t perform casting to a floating
 data-type for integer and boolean data-type input arrays.

 ([gh-26766](https://github.com/numpy/numpy/pull/26766))

Contributors

A total of 15 people contributed to this release. People with a \"+\" by
their names contributed a patch for the first time.

-   Abhishek Kumar +
-   Austin +
-   Benjamin A. Beasley +
-   Charles Harris
-   Christian Lorentzen
-   Marcel Telka +
-   Matti Picus
-   Michael Davidsaver +
-   Nathan Goldbaum
-   Peter Hawkins
-   Raghuveer Devulapalli
-   Ralf Gommers
-   Sebastian Berg
-   dependabot\[bot\]
-   kp2pml30 +

Pull requests merged

A total of 21 pull requests were merged for this release.

-   [27512](https://github.com/numpy/numpy/pull/27512): MAINT: prepare 2.1.x for further development
-   [27537](https://github.com/numpy/numpy/pull/27537): MAINT: Bump actions/cache from 4.0.2 to 4.1.1
-   [27538](https://github.com/numpy/numpy/pull/27538): MAINT: Bump pypa/cibuildwheel from 2.21.2 to 2.21.3
-   [27539](https://github.com/numpy/numpy/pull/27539): MAINT: MSVC does not support #warning directive
-   [27543](https://github.com/numpy/numpy/pull/27543): BUG: Fix user dtype can-cast with python scalar during promotion
-   [27561](https://github.com/numpy/numpy/pull/27561): DEV: bump `python` to 3.12 in environment.yml
-   [27562](https://github.com/numpy/numpy/pull/27562): BLD: update vendored Meson to 1.5.2
-   [27563](https://github.com/numpy/numpy/pull/27563): BUG: weighted quantile for some zero weights (#27549)
-   [27565](https://github.com/numpy/numpy/pull/27565): MAINT: Use miniforge for macos conda test.
-   [27566](https://github.com/numpy/numpy/pull/27566): BUILD: satisfy gcc-13 pendantic errors
-   [27569](https://github.com/numpy/numpy/pull/27569): BUG: handle possible error for PyTraceMallocTrack
-   [27570](https://github.com/numpy/numpy/pull/27570): BLD: start building Windows free-threaded wheels \[wheel build\]
-   [27571](https://github.com/numpy/numpy/pull/27571): BUILD: vendor tempita from Cython
-   [27574](https://github.com/numpy/numpy/pull/27574): BUG: Fix warning \"differs in levels of indirection\" in npy_atomic.h\...
-   [27592](https://github.com/numpy/numpy/pull/27592): MAINT: Update Highway to latest
-   [27593](https://github.com/numpy/numpy/pull/27593): BUG: Adjust numpy.i for SWIG 4.3 compatibility
-   [27616](https://github.com/numpy/numpy/pull/27616): BUG: Fix Linux QEMU CI workflow
-   [27668](https://github.com/numpy/numpy/pull/27668): BLD: Do not set \_\_STDC_VERSION\_\_ to zero during build
-   [27669](https://github.com/numpy/numpy/pull/27669): ENH: fix wasm32 runtime type error in numpy.\_core
-   [27672](https://github.com/numpy/numpy/pull/27672): BUG: Fix a reference count leak in npy_find_descr_for_scalar.
-   [27673](https://github.com/numpy/numpy/pull/27673): BUG: fixes for StringDType/unicode promoters

Checksums

MD5

 3f2f22827dd321ae86b5ab4fa888d0db  numpy-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl
 13da2761d1abe71731a2806537369115  numpy-2.1.3-cp310-cp310-macosx_11_0_arm64.whl
 5aef4a78b69cd90d0f6fff8f88817991  numpy-2.1.3-cp310-cp310-macosx_14_0_arm64.whl
 12da7f09cd5707634878f85845c9de10  numpy-2.1.3-cp310-cp310-macosx_14_0_x86_64.whl
 5b999693362815b56855533469aea0ca  numpy-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 8c49f457127bfb4f167c91583e5167af  numpy-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 f31c0e80b18afc0c04cada401cbe0358  numpy-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl
 2c0709812e27bcaf74d75ac8ed45614b  numpy-2.1.3-cp310-cp310-musllinux_1_2_aarch64.whl
 a65b28800e78942b9e60e03e96cfd0c0  numpy-2.1.3-cp310-cp310-win32.whl
 d8358545732fe4ee1ecf407b06567d81  numpy-2.1.3-cp310-cp310-win_amd64.whl
 34942f9a1391532e2c3168043c0021d5  numpy-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl
 0d69ec06e303b5112788db68a8fdde1b  numpy-2.1.3-cp311-cp311-macosx_11_0_arm64.whl
 da1988c8d3a9db5947a2bd51290b8b95  numpy-2.1.3-cp311-cp311-macosx_14_0_arm64.whl
 b5eba73c2abaf5a81535f4b1034fe8d2  numpy-2.1.3-cp311-cp311-macosx_14_0_x86_64.whl
 63cc090209718aa1d0f0fbd3fd03bc0b  numpy-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 55f14ca7b55554d4a043369ae5f1837f  numpy-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 4e58e0645d81ff84c0fb75311d2a97d6  numpy-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl
 30235088a5f86d1f343bfec458f6292d  numpy-2.1.3-cp311-cp311-musllinux_1_2_aarch64.whl
 c80a03952b2f4950f1eb9d1656413fec  numpy-2.1.3-cp311-cp311-win32.whl
 d8c1a5a441b89591af8f09dfa0b2d4d5  numpy-2.1.3-cp311-cp311-win_amd64.whl
 2cebcea71e71e8b09a25179b240ee240  numpy-2.1.3-cp312-cp312-macosx_10_13_x86_64.whl
 faf5df4bd35ca362795cda193da49591  numpy-2.1.3-cp312-cp312-macosx_11_0_arm64.whl
 573f195910fc3b3e9ac5379816280f89  numpy-2.1.3-cp312-cp312-macosx_14_0_arm64.whl
 900548b2acb82ed0e306943fb68de802  numpy-2.1.3-cp312-cp312-macosx_14_0_x86_64.whl
 81cded28bb87c4987b1d975fe768c3a1  numpy-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 2b83cb346bca97475fa5e39e704c45f1  numpy-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 06d8593cb7a2aae157e028c3d4cb3c96  numpy-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl
 eea8b148a6a2fee37b87291043e00bda  numpy-2.1.3-cp312-cp312-musllinux_1_2_aarch64.whl
 d407b7c48457789914f28004f41d6ea2  numpy-2.1.3-cp312-cp312-win32.whl
 117574ee1a645e63a6d69e20c8673665  numpy-2.1.3-cp312-cp312-win_amd64.whl
 0c9ffd1f1f1e96186f30a578b85da653  numpy-2.1.3-cp313-cp313-macosx_10_13_x86_64.whl
 cd430b2caf09d21680616aef5d4a439d  numpy-2.1.3-cp313-cp313-macosx_11_0_arm64.whl
 b431935148221b79bda9490b1d069e3c  numpy-2.1.3-cp313-cp313-macosx_14_0_arm64.whl
 b3ff577c78097b187bd58f20b6e88642  numpy-2.1.3-cp313-cp313-macosx_14_0_x86_64.whl
 8186f86f8d94a5505e6dcebe6c056ab7  numpy-2.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 2c5b2381a4a4e3d9865ccb346d44a7ed  numpy-2.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 85786d12388d60b904c02eb12df55b37  numpy-2.1.3-cp313-cp313-musllinux_1_1_x86_64.whl
 da68282c0418a22730643906e5dd58a1  numpy-2.1.3-cp313-cp313-musllinux_1_2_aarch64.whl
 fe47e181a70d3e865e5d6a27e5fa71cd  numpy-2.1.3-cp313-cp313-win32.whl
 8b7f290784c95cf620e0ac1af5470f1d  numpy-2.1.3-cp313-cp313-win_amd64.whl
 4f0c3f8c81cb6bd43a9f1f7bef7db82d  numpy-2.1.3-cp313-cp313t-macosx_10_13_x86_64.whl
 133905fd003c9504fc5bb9ce71e4103b  numpy-2.1.3-cp313-cp313t-macosx_11_0_arm64.whl
 12fe4f265dbda251309f109cbcd46f07  numpy-2.1.3-cp313-cp313t-macosx_14_0_arm64.whl
 b60e418506b969e6df2c0d600bf3c6d4  numpy-2.1.3-cp313-cp313t-macosx_14_0_x86_64.whl
 c2b7160b748f4c1c483a7954e5024250  numpy-2.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 8097ddb45c8c821085c19d940bcbe6de  numpy-2.1.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 209f55dc1ed6da23a5ea3e11ca962308  numpy-2.1.3-cp313-cp313t-musllinux_1_1_x86_64.whl
 06a1792849b601c7bdd38e39bc5cb5f1  numpy-2.1.3-cp313-cp313t-musllinux_1_2_aarch64.whl
 86630bf207e8cbe6933232cb2a47a6c0  numpy-2.1.3-cp313-cp313t-win32.whl
 6af9109b82c0acdcf8b0e81dc0e4c517  numpy-2.1.3-cp313-cp313t-win_amd64.whl
 c7e821e086346afc0078acb237f30431  numpy-2.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
 5b938b2da78b1c84044df8cdb2e8e63a  numpy-2.1.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
 ef251f3b6aa022b1c2fac14889d6d9d3  numpy-2.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 356c7bb6067ae0dccc4a54efc1879e74  numpy-2.1.3-pp310-pypy310_pp73-win_amd64.whl
 11096358375945114577a0c82b2c6038  numpy-2.1.3.tar.gz

SHA256

 c894b4305373b9c5576d7a12b473702afdf48ce5369c074ba304cc5ad8730dff  numpy-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl
 b47fbb433d3260adcd51eb54f92a2ffbc90a4595f8970ee00e064c644ac788f5  numpy-2.1.3-cp310-cp310-macosx_11_0_arm64.whl
 825656d0743699c529c5943554d223c021ff0494ff1442152ce887ef4f7561a1  numpy-2.1.3-cp310-cp310-macosx_14_0_arm64.whl
 6a4825252fcc430a182ac4dee5a505053d262c807f8a924603d411f6718b88fd  numpy-2.1.3-cp310-cp310-macosx_14_0_x86_64.whl
 e711e02f49e176a01d0349d82cb5f05ba4db7d5e7e0defd026328e5cfb3226d3  numpy-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 78574ac2d1a4a02421f25da9559850d59457bac82f2b8d7a44fe83a64f770098  numpy-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 c7662f0e3673fe4e832fe07b65c50342ea27d989f92c80355658c7f888fcc83c  numpy-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl
 fa2d1337dc61c8dc417fbccf20f6d1e139896a30721b7f1e832b2bb6ef4eb6c4  numpy-2.1.3-cp310-cp310-musllinux_1_2_aarch64.whl
 72dcc4a35a8515d83e76b58fdf8113a5c969ccd505c8a946759b24e3182d1f23  numpy-2.1.3-cp310-cp310-win32.whl
 ecc76a9ba2911d8d37ac01de72834d8849e55473457558e12995f4cd53e778e0  numpy-2.1.3-cp310-cp310-win_amd64.whl
 4d1167c53b93f1f5d8a139a742b3c6f4d429b54e74e6b57d0eff40045187b15d  numpy-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl
 c80e4a09b3d95b4e1cac08643f1152fa71a0a821a2d4277334c88d54b2219a41  numpy-2.1.3-cp311-cp311-macosx_11_0_arm64.whl
 576a1c1d25e9e02ed7fa5477f30a127fe56debd53b8d2c89d5578f9857d03ca9  numpy-2.1.3-cp311-cp311-macosx_14_0_arm64.whl
 973faafebaae4c0aaa1a1ca1ce02434554d67e628b8d805e61f874b84e136b09  numpy-2.1.3-cp311-cp311-macosx_14_0_x86_64.whl
 762479be47a4863e261a840e8e01608d124ee1361e48b96916f38b119cfda04a  numpy-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 bc6f24b3d1ecc1eebfbf5d6051faa49af40b03be1aaa781ebdadcbc090b4539b  numpy-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 17ee83a1f4fef3c94d16dc1802b998668b5419362c8a4f4e8a491de1b41cc3ee  numpy-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl
 15cb89f39fa6d0bdfb600ea24b250e5f1a3df23f901f51c8debaa6a5d122b2f0  numpy-2.1.3-cp311-cp311-musllinux_1_2_aarch64.whl
 d9beb777a78c331580705326d2367488d5bc473b49a9bc3036c154832520aca9  numpy-2.1.3-cp311-cp311-win32.whl
 d89dd2b6da69c4fff5e39c28a382199ddedc3a5be5390115608345dec660b9e2  numpy-2.1.3-cp311-cp311-win_amd64.whl
 f55ba01150f52b1027829b50d70ef1dafd9821ea82905b63936668403c3b471e  numpy-2.1.3-cp312-cp312-macosx_10_13_x86_64.whl
 13138eadd4f4da03074851a698ffa7e405f41a0845a6b1ad135b81596e4e9958  numpy-2.1.3-cp312-cp312-macosx_11_0_arm64.whl
 a6b46587b14b888e95e4a24d7b13ae91fa22386c199ee7b418f449032b2fa3b8  numpy-2.1.3-cp312-cp312-macosx_14_0_arm64.whl
 0fa14563cc46422e99daef53d725d0c326e99e468a9320a240affffe87852564  numpy-2.1.3-cp312-cp312-macosx_14_0_x86_64.whl
 8637dcd2caa676e475503d1f8fdb327bc495554e10838019651b76d17b98e512  numpy-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 2312b2aa89e1f43ecea6da6ea9a810d06aae08321609d8dc0d0eda6d946a541b  numpy-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 a38c19106902bb19351b83802531fea19dee18e5b37b36454f27f11ff956f7fc  numpy-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl
 02135ade8b8a84011cbb67dc44e07c58f28575cf9ecf8ab304e51c05528c19f0  numpy-2.1.3-cp312-cp312-musllinux_1_2_aarch64.whl
 e6988e90fcf617da2b5c78902fe8e668361b43b4fe26dbf2d7b0f8034d4cafb9  numpy-2.1.3-cp312-cp312-win32.whl
 0d30c543f02e84e92c4b1f415b7c6b5326cbe45ee7882b6b77db7195fb971e3a  numpy-2.1.3-cp312-cp312-win_amd64.whl
 96fe52fcdb9345b7cd82ecd34547fca4321f7656d500eca497eb7ea5a926692f  numpy-2.1.3-cp313-cp313-macosx_10_13_x86_64.whl
 f653490b33e9c3a4c1c01d41bc2aef08f9475af51146e4a7710c450cf9761598  numpy-2.1.3-cp313-cp313-macosx_11_0_arm64.whl
 dc258a761a16daa791081d026f0ed4399b582712e6fc887a95af09df10c5ca57  numpy-2.1.3-cp313-cp313-macosx_14_0_arm64.whl
 016d0f6f5e77b0f0d45d77387ffa4bb89816b57c835580c3ce8e099ef830befe  numpy-2.1.3-cp313-cp313-macosx_14_0_x86_64.whl
 c181ba05ce8299c7aa3125c27b9c2167bca4a4445b7ce73d5febc411ca692e43  numpy-2.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 5641516794ca9e5f8a4d17bb45446998c6554704d888f86df9b200e66bdcce56  numpy-2.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 ea4dedd6e394a9c180b33c2c872b92f7ce0f8e7ad93e9585312b0c5a04777a4a  numpy-2.1.3-cp313-cp313-musllinux_1_1_x86_64.whl
 b0df3635b9c8ef48bd3be5f862cf71b0a4716fa0e702155c45067c6b711ddcef  numpy-2.1.3-cp313-cp313-musllinux_1_2_aarch64.whl
 50ca6aba6e163363f132b5c101ba078b8cbd3fa92c7865fd7d4d62d9779ac29f  numpy-2.1.3-cp313-cp313-win32.whl
 747641635d3d44bcb380d950679462fae44f54b131be347d5ec2bce47d3df9ed  numpy-2.1.3-cp313-cp313-win_amd64.whl
 996bb9399059c5b82f76b53ff8bb686069c05acc94656bb259b1d63d04a9506f  numpy-2.1.3-cp313-cp313t-macosx_10_13_x86_64.whl
 45966d859916ad02b779706bb43b954281db43e185015df6eb3323120188f9e4  numpy-2.1.3-cp313-cp313t-macosx_11_0_arm64.whl
 baed7e8d7481bfe0874b566850cb0b85243e982388b7b23348c6db2ee2b2ae8e  numpy-2.1.3-cp313-cp313t-macosx_14_0_arm64.whl
 a9f7f672a3388133335589cfca93ed468509cb7b93ba3105fce780d04a6576a0  numpy-2.1.3-cp313-cp313t-macosx_14_0_x86_64.whl
 d7aac50327da5d208db2eec22eb11e491e3fe13d22653dce51b0f4109101b408  numpy-2.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 4394bc0dbd074b7f9b52024832d16e019decebf86caf909d94f6b3f77a8ee3b6  numpy-2.1.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 50d18c4358a0a8a53f12a8ba9d772ab2d460321e6a93d6064fc22443d189853f  numpy-2.1.3-cp313-cp313t-musllinux_1_1_x86_64.whl
 14e253bd43fc6b37af4921b10f6add6925878a42a0c5fe83daee390bca80bc17  numpy-2.1.3-cp313-cp313t-musllinux_1_2_aarch64.whl
 08788d27a5fd867a663f6fc753fd7c3ad7e92747efc73c53bca2f19f8bc06f48  numpy-2.1.3-cp313-cp313t-win32.whl
 2564fbdf2b99b3f815f2107c1bbc93e2de8ee655a69c261363a1172a79a257d4  numpy-2.1.3-cp313-cp313t-win_amd64.whl
 4f2015dfe437dfebbfce7c85c7b53d81ba49e71ba7eadbf1df40c915af75979f  numpy-2.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
 3522b0dfe983a575e6a9ab3a4a4dfe156c3e428468ff08ce582b9bb6bd1d71d4  numpy-2.1.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
 c006b607a865b07cd981ccb218a04fc86b600411d83d6fc261357f1c0966755d  numpy-2.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 e14e26956e6f1696070788252dcdff11b4aca4c3e8bd166e0df1bb8f315a67cb  numpy-2.1.3-pp310-pypy310_pp73-win_amd64.whl
 aa08e04e08aaf974d4458def539dece0d28146d866a39da5639596f4921fd761  numpy-2.1.3.tar.gz

2.1.2

discovered after the 2.1.1 release.

The Python versions supported by this release are 3.10-3.13.

Contributors

A total of 11 people contributed to this release. People with a \"+\" by
their names contributed a patch for the first time.

-   Charles Harris
-   Chris Sidebottom
-   Ishan Koradia +
-   João Eiras +
-   Katie Rust +
-   Marten van Kerkwijk
-   Matti Picus
-   Nathan Goldbaum
-   Peter Hawkins
-   Pieter Eendebak
-   Slava Gorloff +

Pull requests merged

A total of 14 pull requests were merged for this release.

-   [27333](https://github.com/numpy/numpy/pull/27333): MAINT: prepare 2.1.x for further development
-   [27400](https://github.com/numpy/numpy/pull/27400): BUG: apply critical sections around populating the dispatch cache
-   [27406](https://github.com/numpy/numpy/pull/27406): BUG: Stub out get_build_msvc_version if distutils.msvccompiler\...
-   [27416](https://github.com/numpy/numpy/pull/27416): BUILD: fix missing include for std::ptrdiff_t for C++23 language\...
-   [27433](https://github.com/numpy/numpy/pull/27433): BLD: pin setuptools to avoid breaking numpy.distutils
-   [27437](https://github.com/numpy/numpy/pull/27437): BUG: Allow unsigned shift argument for np.roll
-   [27439](https://github.com/numpy/numpy/pull/27439): BUG: Disable SVE VQSort
-   [27471](https://github.com/numpy/numpy/pull/27471): BUG: rfftn axis bug
-   [27479](https://github.com/numpy/numpy/pull/27479): BUG: Fix extra decref of PyArray_UInt8DType.
-   [27480](https://github.com/numpy/numpy/pull/27480): CI: use PyPI not scientific-python-nightly-wheels for CI doc\...
-   [27481](https://github.com/numpy/numpy/pull/27481): MAINT: Check for SVE support on demand
-   [27484](https://github.com/numpy/numpy/pull/27484): BUG: initialize the promotion state to be weak
-   [27501](https://github.com/numpy/numpy/pull/27501): MAINT: Bump pypa/cibuildwheel from 2.20.0 to 2.21.2
-   [27506](https://github.com/numpy/numpy/pull/27506): BUG: avoid segfault on bad arguments in ndarray.\_\_array_function\_\_

Checksums

MD5

 4aae28b7919b126485c1aaccee37a6ba  numpy-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl
 172614423a82ef73d8752ad8a59cbafc  numpy-2.1.2-cp310-cp310-macosx_11_0_arm64.whl
 5ee5e7a8a892cbe96ee228ca5fe7546b  numpy-2.1.2-cp310-cp310-macosx_14_0_arm64.whl
 9ce6f9222dfabd32e66b883f1fe015aa  numpy-2.1.2-cp310-cp310-macosx_14_0_x86_64.whl
 291da8bfeb7c9a3491ec35ecb2596335  numpy-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 9317d9b049f09c0193f074a6458cf79b  numpy-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 1f2c121533715d8b099d6498e4498f81  numpy-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl
 2834df46e2cb2e81cbe4fd1ce9b96b4b  numpy-2.1.2-cp310-cp310-musllinux_1_2_aarch64.whl
 cbc3ae2c176324fe2a9c04ec0aff181f  numpy-2.1.2-cp310-cp310-win32.whl
 e4d74f9d188dc3fe7a65adf8c01e98cc  numpy-2.1.2-cp310-cp310-win_amd64.whl
 cbcece9c21ed1daf60f3729a37b32266  numpy-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl
 0e62474993ff6faca9c467f68cc16ceb  numpy-2.1.2-cp311-cp311-macosx_11_0_arm64.whl
 8747e85e09b2000a0af5a8226740dc92  numpy-2.1.2-cp311-cp311-macosx_14_0_arm64.whl
 34e7f3591ce81926518a36c92038a056  numpy-2.1.2-cp311-cp311-macosx_14_0_x86_64.whl
 0ec3e617161b42d643aaa4b8d3e477f5  numpy-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 e2a6a419b4672bfb4f3f6a98c0e575bb  numpy-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 8c14b4d03fc8672e43eddd3ede89be09  numpy-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl
 dc183e12b24317bf210fb093da598d29  numpy-2.1.2-cp311-cp311-musllinux_1_2_aarch64.whl
 4918f2c32ca3be20c7c5d8551e649757  numpy-2.1.2-cp311-cp311-win32.whl
 a8991919b6fae3c7a77c260f60a5e2e2  numpy-2.1.2-cp311-cp311-win_amd64.whl
 879f307d16f9222c49508be5ea6491fc  numpy-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl
 fe9dfac7bee0cff178737e1706aee61a  numpy-2.1.2-cp312-cp312-macosx_11_0_arm64.whl
 1f0c671db3294f4df8bffedc41a2e37f  numpy-2.1.2-cp312-cp312-macosx_14_0_arm64.whl
 d131c4bd6ba29b05a5b7fa74e87a0506  numpy-2.1.2-cp312-cp312-macosx_14_0_x86_64.whl
 8f9cca33590be334d44cc026a3716966  numpy-2.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 3692a9290dd430e56e1b15387c25b7af  numpy-2.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 3549439284dbb1a05785b535c3de60d9  numpy-2.1.2-cp312-cp312-musllinux_1_1_x86_64.whl
 b9934410f20505e5c4b70974cd8fdc26  numpy-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl
 96759e3380e4893b9b88d5d498d856b2  numpy-2.1.2-cp312-cp312-win32.whl
 f94c7405ed72a136e374ab82400fefdc  numpy-2.1.2-cp312-cp312-win_amd64.whl
 2ea775cb4da02f39edf3089af60bddd5  numpy-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl
 354d0970154dd002573f4291e0e9de76  numpy-2.1.2-cp313-cp313-macosx_11_0_arm64.whl
 bbfee75640b337e12f894d0b54727d66  numpy-2.1.2-cp313-cp313-macosx_14_0_arm64.whl
 a443fff50571df87f687ad55c9060d25  numpy-2.1.2-cp313-cp313-macosx_14_0_x86_64.whl
 9f8cd7de5b5aa5ad8ba52608a4b0a3b8  numpy-2.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 c198fe3deaa77fb94d15284b4e26b875  numpy-2.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 0a59171c983fc2d8ea599bdf382c3d6a  numpy-2.1.2-cp313-cp313-musllinux_1_1_x86_64.whl
 5ba974cd59fb8c9fc94787c754a5f636  numpy-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl
 93d5c642606fe8abeff0e6db31ebe88f  numpy-2.1.2-cp313-cp313-win32.whl
 f6455bb4311ddde071a5ea2e14016003  numpy-2.1.2-cp313-cp313-win_amd64.whl
 d2a21857c924d4b1b3c8ae8a9e9b9bb4  numpy-2.1.2-cp313-cp313t-macosx_10_13_x86_64.whl
 cd6afcbd05835255750a2fba6012c565  numpy-2.1.2-cp313-cp313t-macosx_11_0_arm64.whl
 d2fab663ea84f1cfe13dfc00dae74fb6  numpy-2.1.2-cp313-cp313t-macosx_14_0_arm64.whl
 9477b923000d63617324c487a4ce0e28  numpy-2.1.2-cp313-cp313t-macosx_14_0_x86_64.whl
 84b621a2c9a8c077bc9c471abd2b3933  numpy-2.1.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 b1c341c7192d03e8f0f5e7c4b9b6f894  numpy-2.1.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 b59750ea55cf274854f64109bf67a112  numpy-2.1.2-cp313-cp313t-musllinux_1_1_x86_64.whl
 33f4d63f81ad85c1ea873197f2189d89  numpy-2.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl
 f26a9ac42953c84c94f8203b2dbc61c0  numpy-2.1.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
 e7cf2857582d507dfa3e8644dd3562a6  numpy-2.1.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
 9e3d44cb302c629c00fde8f25809b04d  numpy-2.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 3f97ee2d9962cf9d84624f725bdd2a8f  numpy-2.1.2-pp310-pypy310_pp73-win_amd64.whl
 3d92e07d34f60dbac6b82a0982a98757  numpy-2.1.2.tar.gz

SHA256

 30d53720b726ec36a7f88dc873f0eec8447fbc93d93a8f079dfac2629598d6ee  numpy-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl
 e8d3ca0a72dd8846eb6f7dfe8f19088060fcb76931ed592d29128e0219652884  numpy-2.1.2-cp310-cp310-macosx_11_0_arm64.whl
 fc44e3c68ff00fd991b59092a54350e6e4911152682b4782f68070985aa9e648  numpy-2.1.2-cp310-cp310-macosx_14_0_arm64.whl
 7c1c60328bd964b53f8b835df69ae8198659e2b9302ff9ebb7de4e5a5994db3d  numpy-2.1.2-cp310-cp310-macosx_14_0_x86_64.whl
 6cdb606a7478f9ad91c6283e238544451e3a95f30fb5467fbf715964341a8a86  numpy-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 d666cb72687559689e9906197e3bec7b736764df6a2e58ee265e360663e9baf7  numpy-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 c6eef7a2dbd0abfb0d9eaf78b73017dbfd0b54051102ff4e6a7b2980d5ac1a03  numpy-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl
 12edb90831ff481f7ef5f6bc6431a9d74dc0e5ff401559a71e5e4611d4f2d466  numpy-2.1.2-cp310-cp310-musllinux_1_2_aarch64.whl
 a65acfdb9c6ebb8368490dbafe83c03c7e277b37e6857f0caeadbbc56e12f4fb  numpy-2.1.2-cp310-cp310-win32.whl
 860ec6e63e2c5c2ee5e9121808145c7bf86c96cca9ad396c0bd3e0f2798ccbe2  numpy-2.1.2-cp310-cp310-win_amd64.whl
 b42a1a511c81cc78cbc4539675713bbcf9d9c3913386243ceff0e9429ca892fe  numpy-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl
 faa88bc527d0f097abdc2c663cddf37c05a1c2f113716601555249805cf573f1  numpy-2.1.2-cp311-cp311-macosx_11_0_arm64.whl
 c82af4b2ddd2ee72d1fc0c6695048d457e00b3582ccde72d8a1c991b808bb20f  numpy-2.1.2-cp311-cp311-macosx_14_0_arm64.whl
 13602b3174432a35b16c4cfb5de9a12d229727c3dd47a6ce35111f2ebdf66ff4  numpy-2.1.2-cp311-cp311-macosx_14_0_x86_64.whl
 1ebec5fd716c5a5b3d8dfcc439be82a8407b7b24b230d0ad28a81b61c2f4659a  numpy-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 e2b49c3c0804e8ecb05d59af8386ec2f74877f7ca8fd9c1e00be2672e4d399b1  numpy-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 2cbba4b30bf31ddbe97f1c7205ef976909a93a66bb1583e983adbd155ba72ac2  numpy-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl
 8e00ea6fc82e8a804433d3e9cedaa1051a1422cb6e443011590c14d2dea59146  numpy-2.1.2-cp311-cp311-musllinux_1_2_aarch64.whl
 5006b13a06e0b38d561fab5ccc37581f23c9511879be7693bd33c7cd15ca227c  numpy-2.1.2-cp311-cp311-win32.whl
 f1eb068ead09f4994dec71c24b2844f1e4e4e013b9629f812f292f04bd1510d9  numpy-2.1.2-cp311-cp311-win_amd64.whl
 d7bf0a4f9f15b32b5ba53147369e94296f5fffb783db5aacc1be15b4bf72f43b  numpy-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl
 b1d0fcae4f0949f215d4632be684a539859b295e2d0cb14f78ec231915d644db  numpy-2.1.2-cp312-cp312-macosx_11_0_arm64.whl
 f751ed0a2f250541e19dfca9f1eafa31a392c71c832b6bb9e113b10d050cb0f1  numpy-2.1.2-cp312-cp312-macosx_14_0_arm64.whl
 bd33f82e95ba7ad632bc57837ee99dba3d7e006536200c4e9124089e1bf42426  numpy-2.1.2-cp312-cp312-macosx_14_0_x86_64.whl
 1b8cde4f11f0a975d1fd59373b32e2f5a562ade7cde4f85b7137f3de8fbb29a0  numpy-2.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 6d95f286b8244b3649b477ac066c6906fbb2905f8ac19b170e2175d3d799f4df  numpy-2.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 ab4754d432e3ac42d33a269c8567413bdb541689b02d93788af4131018cbf366  numpy-2.1.2-cp312-cp312-musllinux_1_1_x86_64.whl
 e585c8ae871fd38ac50598f4763d73ec5497b0de9a0ab4ef5b69f01c6a046142  numpy-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl
 9c6c754df29ce6a89ed23afb25550d1c2d5fdb9901d9c67a16e0b16eaf7e2550  numpy-2.1.2-cp312-cp312-win32.whl
 456e3b11cb79ac9946c822a56346ec80275eaf2950314b249b512896c0d2505e  numpy-2.1.2-cp312-cp312-win_amd64.whl
 a84498e0d0a1174f2b3ed769b67b656aa5460c92c9554039e11f20a05650f00d  numpy-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl
 4d6ec0d4222e8ffdab1744da2560f07856421b367928026fb540e1945f2eeeaf  numpy-2.1.2-cp313-cp313-macosx_11_0_arm64.whl
 259ec80d54999cc34cd1eb8ded513cb053c3bf4829152a2e00de2371bd406f5e  numpy-2.1.2-cp313-cp313-macosx_14_0_arm64.whl
 675c741d4739af2dc20cd6c6a5c4b7355c728167845e3c6b0e824e4e5d36a6c3  numpy-2.1.2-cp313-cp313-macosx_14_0_x86_64.whl
 05b2d4e667895cc55e3ff2b56077e4c8a5604361fc21a042845ea3ad67465aa8  numpy-2.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 43cca367bf94a14aca50b89e9bc2061683116cfe864e56740e083392f533ce7a  numpy-2.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 76322dcdb16fccf2ac56f99048af32259dcc488d9b7e25b51e5eca5147a3fb98  numpy-2.1.2-cp313-cp313-musllinux_1_1_x86_64.whl
 32e16a03138cabe0cb28e1007ee82264296ac0983714094380b408097a418cfe  numpy-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl
 242b39d00e4944431a3cd2db2f5377e15b5785920421993770cddb89992c3f3a  numpy-2.1.2-cp313-cp313-win32.whl
 f2ded8d9b6f68cc26f8425eda5d3877b47343e68ca23d0d0846f4d312ecaa445  numpy-2.1.2-cp313-cp313-win_amd64.whl
 2ffef621c14ebb0188a8633348504a35c13680d6da93ab5cb86f4e54b7e922b5  numpy-2.1.2-cp313-cp313t-macosx_10_13_x86_64.whl
 ad369ed238b1959dfbade9018a740fb9392c5ac4f9b5173f420bd4f37ba1f7a0  numpy-2.1.2-cp313-cp313t-macosx_11_0_arm64.whl
 d82075752f40c0ddf57e6e02673a17f6cb0f8eb3f587f63ca1eaab5594da5b17  numpy-2.1.2-cp313-cp313t-macosx_14_0_arm64.whl
 1600068c262af1ca9580a527d43dc9d959b0b1d8e56f8a05d830eea39b7c8af6  numpy-2.1.2-cp313-cp313t-macosx_14_0_x86_64.whl
 a26ae94658d3ba3781d5e103ac07a876b3e9b29db53f68ed7df432fd033358a8  numpy-2.1.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 13311c2db4c5f7609b462bc0f43d3c465424d25c626d95040f073e30f7570e35  numpy-2.1.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 2abbf905a0b568706391ec6fa15161fad0fb5d8b68d73c461b3c1bab6064dd62  numpy-2.1.2-cp313-cp313t-musllinux_1_1_x86_64.whl
 ef444c57d664d35cac4e18c298c47d7b504c66b17c2ea91312e979fcfbdfb08a  numpy-2.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl
 bdd407c40483463898b84490770199d5714dcc9dd9b792f6c6caccc523c00952  numpy-2.1.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
 da65fb46d4cbb75cb417cddf6ba5e7582eb7bb0b47db4b99c9fe5787ce5d91f5  numpy-2.1.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
 1c193d0b0238638e6fc5f10f1b074a6993cb13b0b431f64079a509d63d3aa8b7  numpy-2.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 a7d80b2e904faa63068ead63107189164ca443b42dd1930299e0d1cb041cec2e  numpy-2.1.2-pp310-pypy310_pp73-win_amd64.whl
 13532a088217fa624c99b843eeb54640de23b3414b14aa66d023805eb731066c  numpy-2.1.2.tar.gz

2.1.1

discovered after the 2.1.0 release.

The Python versions supported by this release are 3.10-3.13.

Contributors

A total of 7 people contributed to this release. People with a \"+\" by
their names contributed a patch for the first time.

-   Andrew Nelson
-   Charles Harris
-   Mateusz Sokół
-   Maximilian Weigand +
-   Nathan Goldbaum
-   Pieter Eendebak
-   Sebastian Berg

Pull requests merged

A total of 10 pull requests were merged for this release.

-   [27236](https://github.com/numpy/numpy/pull/27236): REL: Prepare for the NumPy 2.1.0 release \[wheel build\]
-   [27252](https://github.com/numpy/numpy/pull/27252): MAINT: prepare 2.1.x for further development
-   [27259](https://github.com/numpy/numpy/pull/27259): BUG: revert unintended change in the return value of set_printoptions
-   [27266](https://github.com/numpy/numpy/pull/27266): BUG: fix reference counting bug in \_\_array_interface\_\_ implementation...
-   [27267](https://github.com/numpy/numpy/pull/27267): TST: Add regression test for missing descr in array-interface
-   [27276](https://github.com/numpy/numpy/pull/27276): BUG: Fix #27256 and 27257
-   [27278](https://github.com/numpy/numpy/pull/27278): BUG: Fix array_equal for numeric and non-numeric scalar types
-   [27287](https://github.com/numpy/numpy/pull/27287): MAINT: Update maintenance/2.1.x after the 2.0.2 release
-   [27303](https://github.com/numpy/numpy/pull/27303): BLD: cp311- macosx_arm64 wheels \[wheel build\]
-   [27304](https://github.com/numpy/numpy/pull/27304): BUG: f2py: better handle filtering of public/private subroutines

Checksums

MD5

 3053a97400db800b7377749e691eb39e  numpy-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl
 84b752a2220dce7c96ff89eef4f4aec3  numpy-2.1.1-cp310-cp310-macosx_11_0_arm64.whl
 47ed4f704a64261f07ca24ef2e674524  numpy-2.1.1-cp310-cp310-macosx_14_0_arm64.whl
 b8a45caa870aee980c298053cf064d28  numpy-2.1.1-cp310-cp310-macosx_14_0_x86_64.whl
 e097ad5eee572b791b4a25eedad6df4a  numpy-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 ae502c99315884cda7f0236a07c035c4  numpy-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 841a859d975c55090c0b60b72aab93a3  numpy-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl
 d51be2b17f5b87aac64ab80fdfafc85e  numpy-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl
 1f8249bd725397c6233fe6a0e8ad18b1  numpy-2.1.1-cp310-cp310-win32.whl
 d38d6f06589c1ec104a6a31ff6035781  numpy-2.1.1-cp310-cp310-win_amd64.whl
 6a18fe3029aae00986975250313bf16f  numpy-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl
 5b0b3aa01fbd0b5a8b0f354bb878351e  numpy-2.1.1-cp311-cp311-macosx_11_0_arm64.whl
 1c492dad399abe7b97274b4c6c12ae53  numpy-2.1.1-cp311-cp311-macosx_14_0_arm64.whl
 4d55d91e71b62eb5fa6561c606524f60  numpy-2.1.1-cp311-cp311-macosx_14_0_x86_64.whl
 88e99ecd063c178f25bc08d20792a9bf  numpy-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 f3c8b0e4fb059b9219e8ec86d9fda861  numpy-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 df632b5fed7eb78d39e7194d2475c19b  numpy-2.1.1-cp311-cp311-musllinux_1_1_x86_64.whl
 65499daccdb178d26e322d9f359cf146  numpy-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl
 eb97327fd7aa6027e2409d0dcca1129a  numpy-2.1.1-cp311-cp311-win32.whl
 9e4b05b38cbff22c2bdfead528b9d2bc  numpy-2.1.1-cp311-cp311-win_amd64.whl
 6b8a359bb865b5c624fd9ffc848393e1  numpy-2.1.1-cp312-cp312-macosx_10_9_x86_64.whl
 eaf8dce312efa2b0f17ad46612fb1681  numpy-2.1.1-cp312-cp312-macosx_11_0_arm64.whl
 c861ff048b336284fe7c0791b1a6b0b4  numpy-2.1.1-cp312-cp312-macosx_14_0_arm64.whl
 7e1befccfe729dc5d6c450a5fb6b801c  numpy-2.1.1-cp312-cp312-macosx_14_0_x86_64.whl
 ea0a401ef653a167221987a10cbef260  numpy-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 97326ac792d26f2e536a519c82f2d6bc  numpy-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 fdd2a82232c03d11bbc7cec0a8e01ab0  numpy-2.1.1-cp312-cp312-musllinux_1_1_x86_64.whl
 0d6716e9a7b2c0d6e5ace9c01b9bca01  numpy-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl
 ba589ed2a79c88187c3b8574ae72a1c7  numpy-2.1.1-cp312-cp312-win32.whl
 806ca7c1e2a2013b786edbb619f6da47  numpy-2.1.1-cp312-cp312-win_amd64.whl
 647665353e5af5884df4e51610990c22  numpy-2.1.1-cp313-cp313-macosx_10_13_x86_64.whl
 bfd3b3c5c4616ef99d917bd94d39114a  numpy-2.1.1-cp313-cp313-macosx_11_0_arm64.whl
 cb989095f9c74e3b32250a984390faeb  numpy-2.1.1-cp313-cp313-macosx_14_0_arm64.whl
 55ad7548e58f61b9a4f91749e36d237f  numpy-2.1.1-cp313-cp313-macosx_14_0_x86_64.whl
 5bc73d67dd1032524bfd36ef877b09e4  numpy-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 c7dfb09db8284cb75296f708c3f77ea3  numpy-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 7cf90ce1b844a97aeea1a5b8c71fb49b  numpy-2.1.1-cp313-cp313-musllinux_1_1_x86_64.whl
 6ec8baeac5f979a3b98017679d457bbc  numpy-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl
 1f198cb5210c76faae81359a83d58230  numpy-2.1.1-cp313-cp313-win32.whl
 1766258213ad41f7e36f2209ee6d2a30  numpy-2.1.1-cp313-cp313-win_amd64.whl
 f0a7a0456308dbeb739ad886f1632f16  numpy-2.1.1-cp313-cp313t-macosx_10_13_x86_64.whl
 302c9cf7b4aa695974500ee1935a92c9  numpy-2.1.1-cp313-cp313t-macosx_11_0_arm64.whl
 f4aa7d784992abb9bd9fe9db09c01c06  numpy-2.1.1-cp313-cp313t-macosx_14_0_arm64.whl
 3bb4ae9906499609769f1774438149a5  numpy-2.1.1-cp313-cp313t-macosx_14_0_x86_64.whl
 ff6b9e1993d3d540074736014b1d13af  numpy-2.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 749489c091ee9c00abf1ad1ef822c3ca  numpy-2.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 32d2daf4064031f365ced5036757ad8b  numpy-2.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl
 603dfe4ef56c01e1fc0dcc9d5e3090ed  numpy-2.1.1-cp313-cp313t-musllinux_1_2_aarch64.whl
 70fa2d3b78633bb6061c90e17364f27f  numpy-2.1.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
 9a430be5d14b689ed051eccc540dfbdc  numpy-2.1.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
 7291ff124e471d32c03464da18ff108d  numpy-2.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 e56ce141724af119c7c647a8705827a5  numpy-2.1.1-pp310-pypy310_pp73-win_amd64.whl
 f63b4750618bfa5490f10cae37fde998  numpy-2.1.1.tar.gz

SHA256

 c8a0e34993b510fc19b9a2ce7f31cb8e94ecf6e924a40c0c9dd4f62d0aac47d9  numpy-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl
 7dd86dfaf7c900c0bbdcb8b16e2f6ddf1eb1fe39c6c8cca6e94844ed3152a8fd  numpy-2.1.1-cp310-cp310-macosx_11_0_arm64.whl
 5889dd24f03ca5a5b1e8a90a33b5a0846d8977565e4ae003a63d22ecddf6782f  numpy-2.1.1-cp310-cp310-macosx_14_0_arm64.whl
 59ca673ad11d4b84ceb385290ed0ebe60266e356641428c845b39cd9df6713ab  numpy-2.1.1-cp310-cp310-macosx_14_0_x86_64.whl
 13ce49a34c44b6de5241f0b38b07e44c1b2dcacd9e36c30f9c2fcb1bb5135db7  numpy-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 913cc1d311060b1d409e609947fa1b9753701dac96e6581b58afc36b7ee35af6  numpy-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 caf5d284ddea7462c32b8d4a6b8af030b6c9fd5332afb70e7414d7fdded4bfd0  numpy-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl
 57eb525e7c2a8fdee02d731f647146ff54ea8c973364f3b850069ffb42799647  numpy-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl
 9a8e06c7a980869ea67bbf551283bbed2856915f0a792dc32dd0f9dd2fb56728  numpy-2.1.1-cp310-cp310-win32.whl
 d10c39947a2d351d6d466b4ae83dad4c37cd6c3cdd6d5d0fa797da56f710a6ae  numpy-2.1.1-cp310-cp310-win_amd64.whl
 0d07841fd284718feffe7dd17a63a2e6c78679b2d386d3e82f44f0108c905550  numpy-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl
 b5613cfeb1adfe791e8e681128f5f49f22f3fcaa942255a6124d58ca59d9528f  numpy-2.1.1-cp311-cp311-macosx_11_0_arm64.whl
 0b8cc2715a84b7c3b161f9ebbd942740aaed913584cae9cdc7f8ad5ad41943d0  numpy-2.1.1-cp311-cp311-macosx_14_0_arm64.whl
 b49742cdb85f1f81e4dc1b39dcf328244f4d8d1ded95dea725b316bd2cf18c95  numpy-2.1.1-cp311-cp311-macosx_14_0_x86_64.whl
 e8d5f8a8e3bc87334f025194c6193e408903d21ebaeb10952264943a985066ca  numpy-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 d51fc141ddbe3f919e91a096ec739f49d686df8af254b2053ba21a910ae518bf  numpy-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 98ce7fb5b8063cfdd86596b9c762bf2b5e35a2cdd7e967494ab78a1fa7f8b86e  numpy-2.1.1-cp311-cp311-musllinux_1_1_x86_64.whl
 24c2ad697bd8593887b019817ddd9974a7f429c14a5469d7fad413f28340a6d2  numpy-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl
 397bc5ce62d3fb73f304bec332171535c187e0643e176a6e9421a6e3eacef06d  numpy-2.1.1-cp311-cp311-win32.whl
 ae8ce252404cdd4de56dcfce8b11eac3c594a9c16c231d081fb705cf23bd4d9e  numpy-2.1.1-cp311-cp311-win_amd64.whl
 7c803b7934a7f59563db459292e6aa078bb38b7ab1446ca38dd138646a38203e  numpy-2.1.1-cp312-cp312-macosx_10_9_x86_64.whl
 6435c48250c12f001920f0751fe50c0348f5f240852cfddc5e2f97e007544cbe  numpy-2.1.1-cp312-cp312-macosx_11_0_arm64.whl
 3269c9eb8745e8d975980b3a7411a98976824e1fdef11f0aacf76147f662b15f  numpy-2.1.1-cp312-cp312-macosx_14_0_arm64.whl
 fac6e277a41163d27dfab5f4ec1f7a83fac94e170665a4a50191b545721c6521  numpy-2.1.1-cp312-cp312-macosx_14_0_x86_64.whl
 fcd8f556cdc8cfe35e70efb92463082b7f43dd7e547eb071ffc36abc0ca4699b  numpy-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 d2b9cd92c8f8e7b313b80e93cedc12c0112088541dcedd9197b5dee3738c1201  numpy-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 afd9c680df4de71cd58582b51e88a61feed4abcc7530bcd3d48483f20fc76f2a  numpy-2.1.1-cp312-cp312-musllinux_1_1_x86_64.whl
 8661c94e3aad18e1ea17a11f60f843a4933ccaf1a25a7c6a9182af70610b2313  numpy-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl
 950802d17a33c07cba7fd7c3dcfa7d64705509206be1606f196d179e539111ed  numpy-2.1.1-cp312-cp312-win32.whl
 3fc5eabfc720db95d68e6646e88f8b399bfedd235994016351b1d9e062c4b270  numpy-2.1.1-cp312-cp312-win_amd64.whl
 046356b19d7ad1890c751b99acad5e82dc4a02232013bd9a9a712fddf8eb60f5  numpy-2.1.1-cp313-cp313-macosx_10_13_x86_64.whl
 6e5a9cb2be39350ae6c8f79410744e80154df658d5bea06e06e0ac5bb75480d5  numpy-2.1.1-cp313-cp313-macosx_11_0_arm64.whl
 d4c57b68c8ef5e1ebf47238e99bf27657511ec3f071c465f6b1bccbef12d4136  numpy-2.1.1-cp313-cp313-macosx_14_0_arm64.whl
 8ae0fd135e0b157365ac7cc31fff27f07a5572bdfc38f9c2d43b2aff416cc8b0  numpy-2.1.1-cp313-cp313-macosx_14_0_x86_64.whl
 981707f6b31b59c0c24bcda52e5605f9701cb46da4b86c2e8023656ad3e833cb  numpy-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 2ca4b53e1e0b279142113b8c5eb7d7a877e967c306edc34f3b58e9be12fda8df  numpy-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 e097507396c0be4e547ff15b13dc3866f45f3680f789c1a1301b07dadd3fbc78  numpy-2.1.1-cp313-cp313-musllinux_1_1_x86_64.whl
 f7506387e191fe8cdb267f912469a3cccc538ab108471291636a96a54e599556  numpy-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl
 251105b7c42abe40e3a689881e1793370cc9724ad50d64b30b358bbb3a97553b  numpy-2.1.1-cp313-cp313-win32.whl
 f212d4f46b67ff604d11fff7cc62d36b3e8714edf68e44e9760e19be38c03eb0  numpy-2.1.1-cp313-cp313-win_amd64.whl
 920b0911bb2e4414c50e55bd658baeb78281a47feeb064ab40c2b66ecba85553  numpy-2.1.1-cp313-cp313t-macosx_10_13_x86_64.whl
 bab7c09454460a487e631ffc0c42057e3d8f2a9ddccd1e60c7bb8ed774992480  numpy-2.1.1-cp313-cp313t-macosx_11_0_arm64.whl
 cea427d1350f3fd0d2818ce7350095c1a2ee33e30961d2f0fef48576ddbbe90f  numpy-2.1.1-cp313-cp313t-macosx_14_0_arm64.whl
 e30356d530528a42eeba51420ae8bf6c6c09559051887196599d96ee5f536468  numpy-2.1.1-cp313-cp313t-macosx_14_0_x86_64.whl
 e8dfa9e94fc127c40979c3eacbae1e61fda4fe71d84869cc129e2721973231ef  numpy-2.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 910b47a6d0635ec1bd53b88f86120a52bf56dcc27b51f18c7b4a2e2224c29f0f  numpy-2.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 13cc11c00000848702322af4de0147ced365c81d66053a67c2e962a485b3717c  numpy-2.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl
 53e27293b3a2b661c03f79aa51c3987492bd4641ef933e366e0f9f6c9bf257ec  numpy-2.1.1-cp313-cp313t-musllinux_1_2_aarch64.whl
 7be6a07520b88214ea85d8ac8b7d6d8a1839b0b5cb87412ac9f49fa934eb15d5  numpy-2.1.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
 52ac2e48f5ad847cd43c4755520a2317f3380213493b9d8a4c5e37f3b87df504  numpy-2.1.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
 50a95ca3560a6058d6ea91d4629a83a897ee27c00630aed9d933dff191f170cd  numpy-2.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 99f4a9ee60eed1385a86e82288971a51e71df052ed0b2900ed30bc840c0f2e39  numpy-2.1.1-pp310-pypy310_pp73-win_amd64.whl
 d0cf7d55b1051387807405b3898efafa862997b4cba8aa5dbe657be794afeafd  numpy-2.1.1.tar.gz

2.1

3.13. This support was enabled by fixing a number of C thread-safety
issues in NumPy. Before NumPy 2.1, NumPy used a large number of C global
static variables to store runtime caches and other state. We have either
refactored to avoid the need for global state, converted the global
state to thread-local state, or added locking.

Support for free-threaded Python does not mean that NumPy is thread
safe. Read-only shared access to ndarray should be safe. NumPy exposes
shared mutable state and we have not added any locking to the array
object itself to serialize access to shared state. Care must be taken in
user code to avoid races if you would like to mutate the same array in
multiple threads. It is certainly possible to crash NumPy by mutating an
array simultaneously in multiple threads, for example by calling a ufunc
and the `resize` method simultaneously. For now our guidance is:
\"don\'t do that\". In the future we would like to provide stronger
guarantees.

Object arrays in particular need special care, since the GIL previously
provided locking for object array access and no longer does. See
[Issue 27199](https://github.com/numpy/numpy/issues/27199) for more information about object
arrays in the free-threaded build.

If you are interested in free-threaded Python, for example because you
have a multiprocessing-based workflow that you are interested in running
with Python threads, we encourage testing and experimentation.

If you run into problems that you suspect are because of NumPy, please
[open an issue](https://github.com/numpy/numpy/issues/new/choose),
checking first if the bug also occurs in the \"regular\" non-free-threaded CPython 3.13 
build. Many threading bugs can also occur in code that releases
the GIL; disabling the GIL only makes it easier to hit threading bugs.

([gh-26157](https://github.com/numpy/numpy/issues/26157#issuecomment-2233864940))

`f2py` can generate freethreading-compatible C extensions

Pass `--freethreading-compatible` to the f2py CLI tool to produce a C
extension marked as compatible with the free threading CPython
interpreter. Doing so prevents the interpreter from re-enabling the GIL
at runtime when it imports the C extension. Note that `f2py` does not
analyze fortran code for thread safety, so you must verify that the
wrapped fortran code is thread safe before marking the extension as
compatible.

([gh-26981](https://github.com/numpy/numpy/pull/26981))

-   `numpy.reshape` and `numpy.ndarray.reshape` now support `shape` and
 `copy` arguments.

 ([gh-26292](https://github.com/numpy/numpy/pull/26292))

-   NumPy now supports DLPack v1, support for older versions will be
 deprecated in the future.

 ([gh-26501](https://github.com/numpy/numpy/pull/26501))

-   `numpy.asanyarray` now supports `copy` and `device` arguments,
 matching `numpy.asarray`.

 ([gh-26580](https://github.com/numpy/numpy/pull/26580))

-   `numpy.printoptions`, `numpy.get_printoptions`, and
 `numpy.set_printoptions` now support a new option, `override_repr`,
 for defining custom `repr(array)` behavior.

 ([gh-26611](https://github.com/numpy/numpy/pull/26611))

-   `numpy.cumulative_sum` and `numpy.cumulative_prod` were added as
 Array API compatible alternatives for `numpy.cumsum` and
 `numpy.cumprod`. The new functions can include a fixed initial
 (zeros for `sum` and ones for `prod`) in the result.

 ([gh-26724](https://github.com/numpy/numpy/pull/26724))

-   `numpy.clip` now supports `max` and `min` keyword arguments which
 are meant to replace `a_min` and `a_max`. Also, for `np.clip(a)` or
 `np.clip(a, None, None)` a copy of the input array will be returned
 instead of raising an error.

 ([gh-26724](https://github.com/numpy/numpy/pull/26724))

-   `numpy.astype` now supports `device` argument.

 ([gh-26724](https://github.com/numpy/numpy/pull/26724))


Improvements

`histogram` auto-binning now returns bin sizes \>=1 for integer input data

For integer input data, bin sizes smaller than 1 result in spurious
empty bins. This is now avoided when the number of bins is computed
using one of the algorithms provided by `histogram_bin_edges`.

([gh-12150](https://github.com/numpy/numpy/pull/12150))

`ndarray` shape-type parameter is now covariant and bound to `tuple[int, ...]`

Static typing for `ndarray` is a long-term effort that continues with
this change. It is a generic type with type parameters for the shape and
the data type. Previously, the shape type parameter could be any value.
This change restricts it to a tuple of ints, as one would expect from
using `ndarray.shape`. Further, the shape-type parameter has been
changed from invariant to covariant. This change also applies to the
subtypes of `ndarray`, e.g. `numpy.ma.MaskedArray`. See the
[typing docs](https://typing.readthedocs.io/en/latest/reference/generics.html#va

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant