2.5.5Updated Nov 15, 2026

numpy

Fundamental package for array computing in Python

Risk score30
No changelog notes found yet for 2.5.5. Showing the latest release with notes: 2.5.4.
2.5.42026-10-10T21:30:10Z
Release notes

Changes

  • # NumPy 2.5.4 Release Notes
  • Released on 2026-10-10.
  • NumPy 2.5.4 is a patch release that fixes bugs discovered after the 2.5.3
  • release. Highlights are:
  • Many typing fixes and improvements,
  • A workaround for the MSVC 19.51 bug, see below.
  • This release supports Python versions 3.12-3.15.

Improvements

  • numpy.linalg.svd and numpy.linalg.lstsq now raise for inputs containing
  • infinities instead of returning garbage results.
  • Fixed hangs in numpy.linalg.svd and numpy.linalg.lstsq for certain inputs
  • containing infinities for recent versions of some LAPACK implementations.
  • numpy.linalg.cond now handles non-finite inputs more consistently.
  • (gh-32593)

StringDType hashing with NaN sentinels

  • StringDType instances with equivalent floating-point NaN sentinels now
  • have equal hashes. Previously, distinct NaN objects could produce equal
  • dtype instances with different hashes, causing dictionary lookups and set
  • deduplication to fail.
  • (gh-32563)

MaskedArray resets a fill_value that cannot be represented in a new dtype

  • A fill_value copied from a source array is now reset to the default fill_value
  • for the new dtype when it cannot be represented in that dtype. Previously the
  • copied value could be stale: ufuncs that change dtype left the result holding a
  • fill_value typed for the old dtype, which raised a TypeError only when
  • something later validated it (such as .view()), and a floating point
  • fill_value that overflows an integer dtype was kept as an out-of-range value
  • together with a RuntimeWarning. Both now fall back to the default,
  • including when a masked array is passed to MaskedArray with a different
  • dtype. A fill_value given explicitly by the user is still validated and
  • raises as before. This can now raise a ComplexWarning if the fill_value is
  • complex and the new dtype is real.
  • (gh-32508)
  • (gh-32562)

Pull requests merged

  • A total of 17 pull requests were merged for this release.
  • #32520: MAINT: Prepare 2.5.x for further development
  • #32557: BUG: Reset an unrepresentable fill_value on a dtype change (#32508)
  • #32565: BLD: work around MSVC 19.51 bug (#32561)
  • #32600: BUG: fix np.strings.replace truncating old/new to a's
  • #32707: BUG: fix [ureduce]{#ureduce} reshape when a kept axis has size 0 (#32536)
  • #32709: BUG: fix two possible crashes in the ufunc.accumulate implementation...
  • #32710: BUG: Reset an inherited fill_value in MaskedArray.__new__ as...
  • #32711: ENH: Improvements and fixes for stringdtype hashing (#32563)
  • #32713: CI: increase ppc64le timeout to match other timeouts (#32583)
  • #32718: BUG: fix memory leak in legacy ArrayMethod wrapper code
  • #32719: BUG: check for non-finite input before calling gesdd/gelsd and...
  • #32738: BUG: fix segfault in as_arrays() on self-referencing pyscalars
  • #32741: TYP: Various typing improvements.
  • #32791: BUG: Fix canonicalization/promotion of nested subarray types...
  • #32888: MAINT: Update vendored-meson to match main.
  • #32904: TYP: Backport a number of typing updates.
  • #32956: TYP: Various typing fixes and improvements.

Package README image


Powered by NumFOCUS PyPI Downloads Conda Downloads Stack Overflow Nature Paper LFX Health Score OpenSSF Scorecard Typing

NumPy is the fundamental package for scientific computing with Python.

It provides:

  • a powerful N-dimensional array object
  • sophisticated (broadcasting) functions
  • tools for integrating C/C++ and Fortran code
  • useful linear algebra, Fourier transform, and random number capabilities

Testing:

NumPy requires pytest and hypothesis. Tests can then be run after installation with:

python -c "import numpy, sys; sys.exit(numpy.test() is False)"

Code of Conduct

NumPy is a community-driven open source project developed by a diverse group of contributors. The NumPy leadership has made a strong commitment to creating an open, inclusive, and positive community. Please read the NumPy Code of Conduct for guidance on how to interact with others in a way that makes our community thrive.

Call for Contributions

The NumPy project welcomes your expertise and enthusiasm!

Small improvements or fixes are always appreciated. If you are considering larger contributions to the source code, please contact us through the mailing list first.

Writing code isn’t the only way to contribute to NumPy. You can also:

  • review pull requests
  • help us stay on top of new and old issues
  • develop tutorials, presentations, and other educational materials
  • maintain and improve our website
  • develop graphic design for our brand assets and promotional materials
  • translate website content
  • help with outreach and onboard new contributors
  • write grant proposals and help with other fundraising efforts

For more information about the ways you can contribute to NumPy, visit our website. If you’re unsure where to start or how your skills fit in, reach out! You can ask on the mailing list or here, on GitHub, by opening a new issue or leaving a comment on a relevant issue that is already open.

Our preferred channels of communication are all public, but if you’d like to speak to us in private first, contact our community coordinators at numpy-team@googlegroups.com or on Slack (write numpy-team@googlegroups.com for an invitation).

We also have a biweekly community call, details of which are announced on the mailing list. You are very welcome to join.

If you are new to contributing to open source, this guide helps explain why, what, and how to successfully get involved.

Compare versions

Pick two releases with changelog notes to review the changes.

Only releases with available changelog notes are listed here.

No changelog notes found yet for 2.5.5. Showing the latest release with notes: 2.5.4.

Select two versions to compare changes.