Skip to content

v1.26.1

Compare
Choose a tag to compare
@charris charris released this 14 Oct 20:22
· 3342 commits to main since this release
v1.26.1
411a55b

NumPy 1.26.1 Release Notes

NumPy 1.26.1 is a maintenance release that fixes bugs and regressions
discovered after the 1.26.0 release. In addition, it adds new
functionality for detecting BLAS and LAPACK when building from source.
Highlights are:

  • Improved detection of BLAS and LAPACK libraries for meson builds
  • Pickle compatibility with the upcoming NumPy 2.0.

The 1.26.release series is the last planned minor release series before
NumPy 2.0. The Python versions supported by this release are 3.9-3.12.

Build system changes

Improved BLAS/LAPACK detection and control

Auto-detection for a number of BLAS and LAPACK is now implemented for
Meson. By default, the build system will try to detect MKL, Accelerate
(on macOS >=13.3), OpenBLAS, FlexiBLAS, BLIS and reference BLAS/LAPACK.
Support for MKL was significantly improved, and support for FlexiBLAS
was added.

New command-line flags are available to further control the selection of
the BLAS and LAPACK libraries to build against.

To select a specific library, use the config-settings interface via
pip or pypa/build. E.g., to select libblas/liblapack, use:

$ pip install numpy -Csetup-args=-Dblas=blas -Csetup-args=-Dlapack=lapack
$ # OR
$ python -m build . -Csetup-args=-Dblas=blas -Csetup-args=-Dlapack=lapack

This works not only for the libraries named above, but for any library
that Meson is able to detect with the given name through pkg-config or
CMake.

Besides -Dblas and -Dlapack, a number of other new flags are
available to control BLAS/LAPACK selection and behavior:

  • -Dblas-order and -Dlapack-order: a list of library names to
    search for in order, overriding the default search order.
  • -Duse-ilp64: if set to true, use ILP64 (64-bit integer) BLAS and
    LAPACK. Note that with this release, ILP64 support has been extended
    to include MKL and FlexiBLAS. OpenBLAS and Accelerate were supported
    in previous releases.
  • -Dallow-noblas: if set to true, allow NumPy to build with its
    internal (very slow) fallback routines instead of linking against an
    external BLAS/LAPACK library. The default for this flag may be
    changed to ``true`` in a future 1.26.x release, however for
    1.26.1 we'd prefer to keep it as ``false`` because if failures
    to detect an installed library are happening, we'd like a bug
    report for that, so we can quickly assess whether the new
    auto-detection machinery needs further improvements.
  • -Dmkl-threading: to select the threading layer for MKL. There are
    four options: seq, iomp, gomp and tbb. The default is
    auto, which selects from those four as appropriate given the
    version of MKL selected.
  • -Dblas-symbol-suffix: manually select the symbol suffix to use for
    the library - should only be needed for linking against libraries
    built in a non-standard way.

New features

numpy._core submodule stubs

numpy._core submodule stubs were added to provide compatibility with
pickled arrays created using NumPy 2.0 when running Numpy 1.26.

Contributors

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

  • Andrew Nelson
  • Anton Prosekin +
  • Charles Harris
  • Chongyun Lee +
  • Ivan A. Melnikov +
  • Jake Lishman +
  • Mahder Gebremedhin +
  • Mateusz Sokół
  • Matti Picus
  • Munira Alduraibi +
  • Ralf Gommers
  • Rohit Goswami
  • Sayed Adel

Pull requests merged

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

  • #24742: MAINT: Update cibuildwheel version
  • #24748: MAINT: fix version string in wheels built with setup.py
  • #24771: BLD, BUG: Fix build failure for host flags e.g. -march=native...
  • #24773: DOC: Updated the f2py docs to remove a note on -fimplicit-none
  • #24776: BUG: Fix SIMD f32 trunc test on s390x when baseline is none
  • #24785: BLD: add libquadmath to licences and other tweaks (#24753)
  • #24786: MAINT: Activate use-compute-credits for Cirrus.
  • #24803: BLD: updated vendored-meson/meson for mips64 fix
  • #24804: MAINT: fix licence path win
  • #24813: BUG: Fix order of Windows OS detection macros.
  • #24831: BUG, SIMD: use scalar cmul on bad Apple clang x86_64 (#24828)
  • #24840: BUG: Fix DATA statements for f2py
  • #24870: API: Add NumpyUnpickler for backporting
  • #24872: MAINT: Xfail test failing on PyPy.
  • #24879: BLD: fix math func feature checks, fix FreeBSD build, add CI...
  • #24899: ENH: meson: implement BLAS/LAPACK auto-detection and many CI...
  • #24902: DOC: add a 1.26.1 release notes section for BLAS/LAPACK build...
  • #24906: MAINT: Backport numpy._core stubs. Remove NumpyUnpickler
  • #24911: MAINT: Bump pypa/cibuildwheel from 2.16.1 to 2.16.2
  • #24912: BUG: loongarch doesn't use REAL(10)

Checksums

MD5

bda38de1a047dd9fdddae16c0d9fb358  numpy-1.26.1-cp310-cp310-macosx_10_9_x86_64.whl
196d2e39047da64ab28e177760c95461  numpy-1.26.1-cp310-cp310-macosx_11_0_arm64.whl
9d25010a7bf50e624d2fed742790afbd  numpy-1.26.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9b22fa3d030807f0708007d9c0659f65  numpy-1.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
eea626b8b930acb4b32302a9e95714f5  numpy-1.26.1-cp310-cp310-musllinux_1_1_x86_64.whl
3c40ef068f50d2ac2913c5b9fa1233fa  numpy-1.26.1-cp310-cp310-win32.whl
315c251d2f284af25761a37ce6dd4d10  numpy-1.26.1-cp310-cp310-win_amd64.whl
ebdd5046937df50e9f54a6d38c5775dd  numpy-1.26.1-cp311-cp311-macosx_10_9_x86_64.whl
682f9beebe8547f205d6cdc8ff96a984  numpy-1.26.1-cp311-cp311-macosx_11_0_arm64.whl
e86da9b6040ea88b3835c4d8f8578658  numpy-1.26.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ebcb6cf7f64454215e29d8a89829c8e1  numpy-1.26.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a8c89e13dc9a63712104e2fb06fb63a6  numpy-1.26.1-cp311-cp311-musllinux_1_1_x86_64.whl
339795930404988dbc664ff4cc72b399  numpy-1.26.1-cp311-cp311-win32.whl
4ef5e1bdd7726c19615843f5ac72e618  numpy-1.26.1-cp311-cp311-win_amd64.whl
3aad6bc72db50e9cc88aa5813e8f35bd  numpy-1.26.1-cp312-cp312-macosx_10_9_x86_64.whl
fd62f65ae7798dbda9a3f7af7aa5c8db  numpy-1.26.1-cp312-cp312-macosx_11_0_arm64.whl
104d939e080f1baf0a56aed1de0e79e3  numpy-1.26.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c44b56c96097f910bbec1420abcf3db5  numpy-1.26.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1dce230368ae5fc47dd0fe8de8ff771d  numpy-1.26.1-cp312-cp312-musllinux_1_1_x86_64.whl
d93338e7d60e1d294ca326450e99806b  numpy-1.26.1-cp312-cp312-win32.whl
a1832f46521335c1ee4c56dbf12e600b  numpy-1.26.1-cp312-cp312-win_amd64.whl
946fbb0b6caca9258985495532d3f9ab  numpy-1.26.1-cp39-cp39-macosx_10_9_x86_64.whl
78c2ab13d395d67d90bcd6583a6f61a8  numpy-1.26.1-cp39-cp39-macosx_11_0_arm64.whl
0a9d80d8b646abf4ffe51fff3e075d10  numpy-1.26.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0229ba8145d4f58500873b540a55d60e  numpy-1.26.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9179fc57c03260374c86e18867c24463  numpy-1.26.1-cp39-cp39-musllinux_1_1_x86_64.whl
246a3103fdbe5d891d7a8aee28875a26  numpy-1.26.1-cp39-cp39-win32.whl
4589dcb7f754fade6ea3946416bee638  numpy-1.26.1-cp39-cp39-win_amd64.whl
3af340d5487a6c045f00fe5eb889957c  numpy-1.26.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
28aece4f1ceb92ec463aa353d4a91c8b  numpy-1.26.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
bbd0461a1e31017b05509e9971b3478e  numpy-1.26.1-pp39-pypy39_pp73-win_amd64.whl
2d770f4c281d405b690c4bcb3dbe99e2  numpy-1.26.1.tar.gz

SHA256

82e871307a6331b5f09efda3c22e03c095d957f04bf6bc1804f30048d0e5e7af  numpy-1.26.1-cp310-cp310-macosx_10_9_x86_64.whl
cdd9ec98f0063d93baeb01aad472a1a0840dee302842a2746a7a8e92968f9575  numpy-1.26.1-cp310-cp310-macosx_11_0_arm64.whl
d78f269e0c4fd365fc2992c00353e4530d274ba68f15e968d8bc3c69ce5f5244  numpy-1.26.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8ab9163ca8aeb7fd32fe93866490654d2f7dda4e61bc6297bf72ce07fdc02f67  numpy-1.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
78ca54b2f9daffa5f323f34cdf21e1d9779a54073f0018a3094ab907938331a2  numpy-1.26.1-cp310-cp310-musllinux_1_1_x86_64.whl
d1cfc92db6af1fd37a7bb58e55c8383b4aa1ba23d012bdbba26b4bcca45ac297  numpy-1.26.1-cp310-cp310-win32.whl
d2984cb6caaf05294b8466966627e80bf6c7afd273279077679cb010acb0e5ab  numpy-1.26.1-cp310-cp310-win_amd64.whl
cd7837b2b734ca72959a1caf3309457a318c934abef7a43a14bb984e574bbb9a  numpy-1.26.1-cp311-cp311-macosx_10_9_x86_64.whl
1c59c046c31a43310ad0199d6299e59f57a289e22f0f36951ced1c9eac3665b9  numpy-1.26.1-cp311-cp311-macosx_11_0_arm64.whl
d58e8c51a7cf43090d124d5073bc29ab2755822181fcad978b12e144e5e5a4b3  numpy-1.26.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6081aed64714a18c72b168a9276095ef9155dd7888b9e74b5987808f0dd0a974  numpy-1.26.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
97e5d6a9f0702c2863aaabf19f0d1b6c2628fbe476438ce0b5ce06e83085064c  numpy-1.26.1-cp311-cp311-musllinux_1_1_x86_64.whl
b9d45d1dbb9de84894cc50efece5b09939752a2d75aab3a8b0cef6f3a35ecd6b  numpy-1.26.1-cp311-cp311-win32.whl
3649d566e2fc067597125428db15d60eb42a4e0897fc48d28cb75dc2e0454e53  numpy-1.26.1-cp311-cp311-win_amd64.whl
1d1bd82d539607951cac963388534da3b7ea0e18b149a53cf883d8f699178c0f  numpy-1.26.1-cp312-cp312-macosx_10_9_x86_64.whl
afd5ced4e5a96dac6725daeb5242a35494243f2239244fad10a90ce58b071d24  numpy-1.26.1-cp312-cp312-macosx_11_0_arm64.whl
a03fb25610ef560a6201ff06df4f8105292ba56e7cdd196ea350d123fc32e24e  numpy-1.26.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
dcfaf015b79d1f9f9c9fd0731a907407dc3e45769262d657d754c3a028586124  numpy-1.26.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e509cbc488c735b43b5ffea175235cec24bbc57b227ef1acc691725beb230d1c  numpy-1.26.1-cp312-cp312-musllinux_1_1_x86_64.whl
af22f3d8e228d84d1c0c44c1fbdeb80f97a15a0abe4f080960393a00db733b66  numpy-1.26.1-cp312-cp312-win32.whl
9f42284ebf91bdf32fafac29d29d4c07e5e9d1af862ea73686581773ef9e73a7  numpy-1.26.1-cp312-cp312-win_amd64.whl
bb894accfd16b867d8643fc2ba6c8617c78ba2828051e9a69511644ce86ce83e  numpy-1.26.1-cp39-cp39-macosx_10_9_x86_64.whl
e44ccb93f30c75dfc0c3aa3ce38f33486a75ec9abadabd4e59f114994a9c4617  numpy-1.26.1-cp39-cp39-macosx_11_0_arm64.whl
9696aa2e35cc41e398a6d42d147cf326f8f9d81befcb399bc1ed7ffea339b64e  numpy-1.26.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a5b411040beead47a228bde3b2241100454a6abde9df139ed087bd73fc0a4908  numpy-1.26.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1e11668d6f756ca5ef534b5be8653d16c5352cbb210a5c2a79ff288e937010d5  numpy-1.26.1-cp39-cp39-musllinux_1_1_x86_64.whl
d1d2c6b7dd618c41e202c59c1413ef9b2c8e8a15f5039e344af64195459e3104  numpy-1.26.1-cp39-cp39-win32.whl
59227c981d43425ca5e5c01094d59eb14e8772ce6975d4b2fc1e106a833d5ae2  numpy-1.26.1-cp39-cp39-win_amd64.whl
06934e1a22c54636a059215d6da99e23286424f316fddd979f5071093b648668  numpy-1.26.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
76ff661a867d9272cd2a99eed002470f46dbe0943a5ffd140f49be84f68ffc42  numpy-1.26.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6965888d65d2848e8768824ca8288db0a81263c1efccec881cb35a0d805fcd2f  numpy-1.26.1-pp39-pypy39_pp73-win_amd64.whl
c8c6c72d4a9f831f328efb1312642a1cafafaa88981d9ab76368d50d07d93cbe  numpy-1.26.1.tar.gz