Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Apr 14, 2025

Note: This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
numpy (changelog) <2<3 age confidence

Release Notes

numpy/numpy (numpy)

v2.4.0: 2.4.0 (Dec 20, 2025)

Compare Source

NumPy 2.4.0 Release Notes

The NumPy 2.4.0 release continues the work to improve free threaded Python
support, user dtypes implementation, and annotations. There are many expired
deprecations and bug fixes as well.

This release supports Python versions 3.11-3.14

Highlights

Apart from annotations and same_value kwarg, the 2.4 highlights are mostly
of interest to downstream developers. They should help in implementing new user
dtypes.

  • Many annotation improvements. In particular, runtime signature introspection.
  • New casting kwarg 'same_value' for casting by value.
  • New PyUFunc_AddLoopsFromSpec function that can be used to add user sort
    loops using the ArrayMethod API.
  • New __numpy_dtype__ protocol.
Deprecations
Setting the strides attribute is deprecated

Setting the strides attribute is now deprecated since mutating
an array is unsafe if an array is shared, especially by multiple
threads. As an alternative, you can create a new view (no copy) via:

  • np.lib.stride_tricks.strided_window_view if applicable,
  • np.lib.stride_tricks.as_strided for the general case,
  • or the np.ndarray constructor (buffer is the original array) for a
    light-weight version.

(gh-28925)

Positional out argument to np.maximum, np.minimum is deprecated

Passing the output array out positionally to numpy.maximum and
numpy.minimum is deprecated. For example, np.maximum(a, b, c) will emit
a deprecation warning, since c is treated as the output buffer rather than
a third input.

Always pass the output with the keyword form, e.g. np.maximum(a, b, out=c).
This makes intent clear and simplifies type annotations.

(gh-29052)

align= must be passed as boolean to np.dtype()

When creating a new dtype a VisibleDeprecationWarning will be given if
align= is not a boolean. This is mainly to prevent accidentally passing a
subarray align flag where it has no effect, such as np.dtype("f8", 3)
instead of np.dtype(("f8", 3)). We strongly suggest to always pass
align= as a keyword argument.

(gh-29301)

Assertion and warning control utilities are deprecated

np.testing.assert_warns and np.testing.suppress_warnings are
deprecated. Use warnings.catch_warnings, warnings.filterwarnings,
pytest.warns, or pytest.filterwarnings instead.

(gh-29550)

np.fix is pending deprecation

The numpy.fix function will be deprecated in a future release. It is
recommended to use numpy.trunc instead, as it provides the same
functionality of truncating decimal values to their integer parts. Static type
checkers might already report a warning for the use of numpy.fix.

(gh-30168)

in-place modification of ndarray.shape is pending deprecation

Setting the ndarray.shape attribute directly will be deprecated in a future
release. Instead of modifying the shape in place, it is recommended to use the
numpy.reshape function. Static type checkers might already report a
warning for assignments to ndarray.shape.

(gh-30282)

Deprecation of numpy.lib.user_array.container

The numpy.lib.user_array.container class is deprecated and will be removed
in a future version.

(gh-30284)

Expired deprecations
Removed deprecated MachAr runtime discovery mechanism.

(gh-29836)

Raise TypeError on attempt to convert array with ndim > 0 to scalar

Conversion of an array with ndim > 0 to a scalar was deprecated in NumPy
1.25. Now, attempting to do so raises TypeError. Ensure you extract a
single element from your array before performing this operation.

(gh-29841)

Removed numpy.linalg.linalg and numpy.fft.helper

The following were deprecated in NumPy 2.0 and have been moved to private
modules:

  • numpy.linalg.linalg
    Use numpy.linalg instead.
  • numpy.fft.helper
    Use numpy.fft instead.

(gh-29909)

Removed interpolation parameter from quantile and percentile functions

The interpolation parameter was deprecated in NumPy 1.22.0 and has been
removed from the following functions:

  • numpy.percentile
  • numpy.nanpercentile
  • numpy.quantile
  • numpy.nanquantile

Use the method parameter instead.

(gh-29973)

Removed numpy.in1d

numpy.in1d has been deprecated since NumPy 2.0 and is now removed in favor of numpy.isin.

(gh-29978)

Removed numpy.ndindex.ndincr()

The ndindex.ndincr() method has been deprecated since NumPy 1.20 and is now
removed; use next(ndindex) instead.

(gh-29980)

Removed fix_imports parameter from numpy.save

The fix_imports parameter was deprecated in NumPy 2.1.0 and is now removed.
This flag has been ignored since NumPy 1.17 and was only needed to support
loading files in Python 2 that were written in Python 3.

(gh-29984)

Removal of four undocumented ndarray.ctypes methods

Four undocumented methods of the ndarray.ctypes object have been removed:

  • _ctypes.get_data() (use _ctypes.data instead)
  • _ctypes.get_shape() (use _ctypes.shape instead)
  • _ctypes.get_strides() (use _ctypes.strides instead)
  • _ctypes.get_as_parameter() (use _ctypes._as_parameter_ instead)

These methods have been deprecated since NumPy 1.21.

(gh-29986)

Removed newshape parameter from numpy.reshape

The newshape parameter was deprecated in NumPy 2.1.0 and has been
removed from numpy.reshape. Pass it positionally or use shape=
on newer NumPy versions.

(gh-29994)

Removal of deprecated functions and arguments

The following long-deprecated APIs have been removed:

  • numpy.trapz --- deprecated since NumPy 2.0 (2023-08-18). Use numpy.trapezoid or
    scipy.integrate functions instead.
  • disp function --- deprecated from 2.0 release and no longer functional. Use
    your own printing function instead.
  • bias and ddof arguments in numpy.corrcoef --- these had no effect
    since NumPy 1.10.

(gh-29997)

Removed delimitor parameter from numpy.ma.mrecords.fromtextfile()

The delimitor parameter was deprecated in NumPy 1.22.0 and has been
removed from numpy.ma.mrecords.fromtextfile(). Use delimiter instead.

(gh-30021)

numpy.array2string and numpy.sum deprecations finalized

The following long-deprecated APIs have been removed or converted to errors:

  • The style parameter has been removed from numpy.array2string.
    This argument had no effect since Numpy 1.14.0. Any arguments following
    it, such as formatter have now been made keyword-only.
  • Calling np.sum(generator) directly on a generator object now raises a
    TypeError. This behavior was deprecated in NumPy 1.15.0. Use
    np.sum(np.fromiter(generator)) or the python sum builtin instead.

(gh-30068)

Compatibility notes
  • NumPy's C extension modules have begun to use multi-phase initialisation, as
    defined by PEP 489. As part of this, a new explicit check has been added that
    each such module is only imported once per Python process. This comes with
    the side-effect that deleting numpy from sys.modules and re-importing
    it will now fail with an ImportError. This has always been unsafe, with
    unexpected side-effects, though did not previously raise an error.

    (gh-29030)

  • numpy.round now always returns a copy. Previously, it returned a view
    for integer inputs for decimals >= 0 and a copy in all other cases.
    This change brings round in line with ceil, floor and trunc.

    (gh-29137)

  • Type-checkers will no longer accept calls to numpy.arange with
    start as a keyword argument. This was done for compatibility with
    the Array API standard. At runtime it is still possible to use
    numpy.arange with start as a keyword argument.

    (gh-30147)

  • The Macro NPY_ALIGNMENT_REQUIRED has been removed The macro was defined in
    the npy_cpu.h file, so might be regarded as semi public. As it turns out,
    with modern compilers and hardware it is almost always the case that
    alignment is required, so numpy no longer uses the macro. It is unlikely
    anyone uses it, but you might want to compile with the -Wundef flag or
    equivalent to be sure.

    (gh-29094)

C API changes
The NPY_SORTKIND enum has been enhanced with new variables

This is of interest if you are using PyArray_Sort or PyArray_ArgSort.
We have changed the semantics of the old names in the NPY_SORTKIND enum and
added new ones. The changes are backward compatible, and no recompilation is
needed. The new names of interest are:

  • NPY_SORT_DEFAULT -- default sort (same value as NPY_QUICKSORT)
  • NPY_SORT_STABLE -- the sort must be stable (same value as NPY_MERGESORT)
  • NPY_SORT_DESCENDING -- the sort must be descending

The semantic change is that NPY_HEAPSORT is mapped to NPY_QUICKSORT when used.
Note that NPY_SORT_DESCENDING is not yet implemented.

(gh-29642)

New NPY_DT_get_constant slot for DType constant retrieval

A new slot NPY_DT_get_constant has been added to the DType API, allowing
dtype implementations to provide constant values such as machine limits and
special values. The slot function has the signature:

int get_constant(PyArray_Descr *descr, int constant_id, void *ptr)

It returns 1 on success, 0 if the constant is not available, or -1 on error.
The function is always called with the GIL held and may write to unaligned memory.

Integer constants (marked with the 1 << 16 bit) return npy_intp values,
while floating-point constants return values of the dtype's native type.

Implementing this can be used by user DTypes to provide numpy.finfo values.

(gh-29836)

A new PyUFunc_AddLoopsFromSpecs convenience function has been added to the C API.

This function allows adding multiple ufunc loops from their specs in one call
using a NULL-terminated array of PyUFunc_LoopSlot structs. It allows
registering sorting and argsorting loops using the new ArrayMethod API.

(gh-29900)

New Features
  • Let np.size accept multiple axes.

    (gh-29240)

  • Extend numpy.pad to accept a dictionary for the pad_width argument.

    (gh-29273)

'same_value' for casting by value

The casting kwarg now has a 'same_value' option that checks the actual
values can be round-trip cast without changing value. Currently it is only
implemented in ndarray.astype. This will raise a ValueError if any of the
values in the array would change as a result of the cast, including rounding of
floats or overflowing of ints.

(gh-29129)

StringDType fill_value support in numpy.ma.MaskedArray

Masked arrays now accept and preserve a Python str as their fill_value
when using the variable‑width StringDType (kind 'T'), including through
slicing and views. The default is 'N/A' and may be overridden by any valid
string. This fixes issue gh‑29421
and was implemented in pull request gh‑29423.

(gh-29423)

ndmax option for numpy.array

The ndmax option is now available for numpy.array.
It explicitly limits the maximum number of dimensions created from nested sequences.

This is particularly useful when creating arrays of list-like objects with dtype=object.
By default, NumPy recurses through all nesting levels to create the highest possible
dimensional array, but this behavior may not be desired when the intent is to preserve
nested structures as objects. The ndmax parameter provides explicit control over
this recursion depth.

# Default behavior: Creates a 2D array
>>> a = np.array([[1, 2], [3, 4]], dtype=object)
>>> a
array([[1, 2],
       [3, 4]], dtype=object)
>>> a.shape
(2, 2)

# With ndmax=1: Creates a 1D array
>>> b = np.array([[1, 2], [3, 4]], dtype=object, ndmax=1)
>>> b
array([list([1, 2]), list([3, 4])], dtype=object)
>>> b.shape
(2,)

(gh-29569)

Warning emitted when using where without out

Ufuncs called with a where mask and without an out positional or kwarg will
now emit a warning. This usage tends to trip up users who expect some value in
output locations where the mask is False (the ufunc will not touch those
locations). The warning can be suppressed by using out=None.

(gh-29813)

DType sorting and argsorting supports the ArrayMethod API

User-defined dtypes can now implement custom sorting and argsorting using the
ArrayMethod API. This mechanism can be used in place of the
PyArray_ArrFuncs slots which may be deprecated in the future.

The sorting and argsorting methods are registered by passing the arraymethod
specs that implement the operations to the new PyUFunc_AddLoopsFromSpecs
function. See the ArrayMethod API documentation for details.

(gh-29900)

New __numpy_dtype__ protocol

NumPy now has a new __numpy_dtype__ protocol. NumPy will check
for this attribute when converting to a NumPy dtype via np.dtype(obj)
or any dtype= argument.

Downstream projects are encouraged to implement this for all dtype like
objects which may previously have used a .dtype attribute that returned
a NumPy dtype.
We expect to deprecate .dtype in the future to prevent interpreting
array-like objects with a .dtype attribute as a dtype.
If you wish you can implement __numpy_dtype__ to ensure an earlier
warning or error (.dtype is ignored if this is found).

(gh-30179)

Improvements
Fix flatiter indexing edge cases

The flatiter object now shares the same index preparation logic as
ndarray, ensuring consistent behavior and fixing several issues where
invalid indices were previously accepted or misinterpreted.

Key fixes and improvements:

  • Stricter index validation

    • Boolean non-array indices like arr.flat[[True, True]] were
      incorrectly treated as arr.flat[np.array([1, 1], dtype=int)].
      They now raise an index error. Note that indices that match the
      iterator's shape are expected to not raise in the future and be
      handled as regular boolean indices. Use np.asarray(<index>) if
      you want to match that behavior.
    • Float non-array indices were also cast to integer and incorrectly
      treated as arr.flat[np.array([1.0, 1.0], dtype=int)]. This is now
      deprecated and will be removed in a future version.
    • 0-dimensional boolean indices like arr.flat[True] are also
      deprecated and will be removed in a future version.
  • Consistent error types:

    Certain invalid flatiter indices that previously raised ValueError
    now correctly raise IndexError, aligning with ndarray behavior.

  • Improved error messages:

    The error message for unsupported index operations now provides more
    specific details, including explicitly listing the valid index types,
    instead of the generic IndexError: unsupported index operation.

(gh-28590)

Improved error handling in np.quantile

[np.quantile]{.title-ref} now raises errors if:

  • All weights are zero
  • At least one weight is np.nan
  • At least one weight is np.inf

(gh-28595)

Improved error message for assert_array_compare

The error message generated by assert_array_compare which is used by functions
like assert_allclose, assert_array_less etc. now also includes information
about the indices at which the assertion fails.

(gh-29112)

Show unit information in __repr__ for datetime64("NaT")

When a datetime64 object is "Not a Time" (NaT), its __repr__ method now
includes the time unit of the datetime64 type. This makes it consistent with
the behavior of a timedelta64 object.

(gh-29396)

Performance increase for scalar calculations

The speed of calculations on scalars has been improved by about a factor 6 for
ufuncs that take only one input (like np.sin(scalar)), reducing the speed
difference from their math equivalents from a factor 19 to 3 (the speed
for arrays is left unchanged).

(gh-29819)

numpy.finfo Refactor

The numpy.finfo class has been completely refactored to obtain floating-point
constants directly from C compiler macros rather than deriving them at runtime.
This provides better accuracy, platform compatibility and corrected
several attribute calculations:

  • Constants like eps, min, max, smallest_normal, and
    smallest_subnormal now come directly from standard C macros (FLT_EPSILON,
    DBL_MIN, etc.), ensuring platform-correct values.
  • The deprecated MachAr runtime discovery mechanism has been removed.
  • Derived attributes have been corrected to match standard definitions:
    machep and negep now use int(log2(eps)); nexp accounts for
    all exponent patterns; nmant excludes the implicit bit; and minexp
    follows the C standard definition.
  • longdouble constants, Specifically smallest_normal now follows the
    C standard definitions as per respecitive platform.
  • Special handling added for PowerPC's IBM double-double format.
  • New test suite added in test_finfo.py to validate all
    finfo properties against expected machine arithmetic values for
    float16, float32, and float64 types.

(gh-29836)

Multiple axes are now supported in numpy.trim_zeros

The axis argument of numpy.trim_zeros now accepts a sequence; for example
np.trim_zeros(x, axis=(0, 1)) will trim the zeros from a multi-dimensional
array x along axes 0 and 1. This fixes issue
gh‑29945 and was implemented
in pull request gh‑29947.

(gh-29947)

Runtime signature introspection support has been significantly improved

Many NumPy functions, classes, and methods that previously raised
ValueError when passed to inspect.signature() now return meaningful
signatures. This improves support for runtime type checking, IDE autocomplete,
documentation generation, and runtime introspection capabilities across the
NumPy API.

Over three hundred classes and functions have been updated in total, including,
but not limited to, core classes such as ndarray, generic, dtype,
ufunc, broadcast, nditer, etc., most methods of ndarray and
scalar types, array constructor functions (array, empty, arange,
fromiter, etc.), all ufuncs, and many other commonly used functions,
including dot, concat, where, bincount, can_cast, and
numerous others.

(gh-30208)

Performance improvements and changes
Performance improvements to np.unique for string dtypes

The hash-based algorithm for unique extraction provides an order-of-magnitude
speedup on large string arrays. In an internal benchmark with about 1 billion
string elements, the hash-based np.unique completed in roughly 33.5 seconds,
compared to 498 seconds with the sort-based method -- about 15× faster for
unsorted unique operations on strings. This improvement greatly reduces the
time to find unique values in very large string datasets.

(gh-28767)

Rewrite of np.ndindex using itertools.product

The numpy.ndindex function now uses itertools.product internally,
providing significant improvements in performance for large iteration spaces,
while maintaining the original behavior and interface. For example, for an
array of shape (50, 60, 90) the NumPy ndindex benchmark improves
performance by a factor 5.2.

(gh-29165)

Performance improvements to np.unique for complex dtypes

The hash-based algorithm for unique extraction now also supports
complex dtypes, offering noticeable performance gains.

In our benchmarks on complex128 arrays with 200,000 elements,
the hash-based approach was about 1.4--1.5× faster
than the sort-based baseline when there were 20% of unique values,
and about 5× faster when there were 0.2% of unique values.

(gh-29537)

Changes
  • Multiplication between a string and integer now raises OverflowError instead
    of MemoryError if the result of the multiplication would create a string that
    is too large to be represented. This follows Python's behavior.

    (gh-29060)

  • The accuracy of np.quantile and np.percentile for 16- and 32-bit
    floating point input data has been improved.

    (gh-29105)

unique_values for string dtypes may return unsorted data

np.unique now supports hash‐based duplicate removal for string dtypes.
This enhancement extends the hash-table algorithm to byte strings ('S'),
Unicode strings ('U'), and the experimental string dtype ('T', StringDType).
As a result, calling np.unique() on an array of strings will use
the faster hash-based method to obtain unique values.
Note that this hash-based method does not guarantee that the returned unique values will be sorted.
This also works for StringDType arrays containing None (missing values)
when using equal_nan=True (treating missing values as equal).

(gh-28767)

Modulate dispatched x86 CPU features

IMPORTANT: The default setting for cpu-baseline on x86 has been raised
to x86-64-v2 microarchitecture. This can be changed to none during build
time to support older CPUs, though SIMD optimizations for pre-2009 processors
are no longer maintained.

NumPy has reorganized x86 CPU features into microarchitecture-based groups
instead of individual features, aligning with Linux distribution standards and
Google Highway requirements.

Key changes:

  • Replaced individual x86 features with microarchitecture levels: X86_V2,
    X86_V3, and X86_V4
  • Raised the baseline to X86_V2
  • Improved - operator behavior to properly exclude successor features that
    imply the excluded feature
  • Added meson redirections for removed feature names to maintain backward
    compatibility
  • Removed compiler compatibility workarounds for partial feature support (e.g.,
    AVX512 without mask operations)
  • Removed legacy AMD features (XOP, FMA4) and discontinued Intel Xeon Phi
    support

New Feature Group Hierarchy:

Name Implies Includes


X86_V2 SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 POPCNT CX16 LAHF
X86_V3 X86_V2 AVX AVX2 FMA3 BMI BMI2 LZCNT F16C MOVBE
X86_V4 X86_V3 AVX512F AVX512CD AVX512VL AVX512BW AVX512DQ
AVX512_ICL X86_V4 AVX512VBMI AVX512VBMI2 AVX512VNNI AVX512BITALG AVX512VPOPCNTDQ AVX512IFMA VAES GFNI VPCLMULQDQ
AVX512_SPR AVX512_ICL AVX512FP16

These groups correspond to CPU generations:

  • X86_V2: x86-64-v2 microarchitectures (CPUs since 2009)
  • X86_V3: x86-64-v3 microarchitectures (CPUs since 2015)
  • X86_V4: x86-64-v4 microarchitectures (AVX-512 capable CPUs)
  • AVX512_ICL: Intel Ice Lake and similar CPUs
  • AVX512_SPR: Intel Sapphire Rapids and newer CPUs

On 32-bit x86, cx16 is excluded from X86_V2.

Documentation has been updated with details on using these new feature groups
with the current meson build system.

(gh-28896)

Fix bug in matmul for non-contiguous out kwarg parameter

In some cases, if out was non-contiguous, np.matmul would cause memory
corruption or a c-level assert. This was new to v2.3.0 and fixed in v2.3.1.

(gh-29179)

__array_interface__ with NULL pointer changed

The array interface now accepts NULL pointers (NumPy will do its own dummy
allocation, though). Previously, these incorrectly triggered an undocumented
scalar path. In the unlikely event that the scalar path was actually desired,
you can (for now) achieve the previous behavior via the correct scalar path by
not providing a data field at all.

(gh-29338)

unique_values for complex dtypes may return unsorted data

np.unique now supports hash‐based duplicate removal for complex dtypes. This
enhancement extends the hash‐table algorithm to all complex types ('c'), and
their extended precision variants. The hash‐based method provides faster
extraction of unique values but does not guarantee that the result will be
sorted.

(gh-29537)

Sorting kind='heapsort' now maps to kind='quicksort'

It is unlikely that this change will be noticed, but if you do see a change in
execution time or unstable argsort order, that is likely the cause. Please let
us know if there is a performance regression. Congratulate us if it is improved
:)

(gh-29642)

numpy.typing.DTypeLike no longer accepts None

The type alias numpy.typing.DTypeLike no longer accepts None. Instead of

dtype: DTypeLike = None

it should now be

dtype: DTypeLike | None = None

instead.

(gh-29739)

The npymath and npyrandom libraries now have a .lib rather than a
.a file extension on win-arm64, for compatibility for building with MSVC
and setuptools. Please note that using these static libraries is
discouraged and for existing projects using it, it's best to use it with a
matching compiler toolchain, which is clang-cl on Windows on Arm.

(gh-29750)

v2.3.5: 2.3.5 (Nov 16, 2025)

Compare Source

NumPy 2.3.5 Release Notes

The NumPy 2.3.5 release is a patch release split between a number of maintenance
updates and bug fixes. This release supports Python versions 3.11-3.14.

Contributors

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

  • Aaron Kollasch +
  • Charles Harris
  • Joren Hammudoglu
  • Matti Picus
  • Nathan Goldbaum
  • Rafael Laboissière +
  • Sayed Awad
  • Sebastian Berg
  • Warren Weckesser
  • Yasir Ashfaq +

Pull requests merged

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

  • #​29979: MAINT: Prepare 2.3.x for further development
  • #​30026: SIMD, BLD: Backport FPMATH mode on x86-32 and filter successor...
  • #​30029: MAINT: Backport write_release.py
  • #​30041: TYP: Various typing updates
  • #​30059: BUG: Fix np.strings.slice if stop=None or start and stop >= len...
  • #​30063: BUG: Fix np.strings.slice if start > stop
  • #​30076: BUG: avoid negating INT_MIN in PyArray_Round implementation (#​30071)
  • #​30090: BUG: Fix resize when it contains references (#​29970)
  • #​30129: BLD: update scipy-openblas, use -Dpkg_config_path (#​30049)
  • #​30130: BUG: Avoid compilation error of wrapper file generated with SWIG...
  • #​30157: BLD: use scipy-openblas 0.3.30.7 (#​30132)
  • #​30158: DOC: Remove nonexistent order parameter docs of ma.asanyarray...
  • #​30185: BUG: Fix check of PyMem_Calloc return value. (#​30176)
  • #​30217: DOC: fix links for newly rebuilt numpy-tutorials site
  • #​30218: BUG: Fix build on s390x with clang (#​30214)
  • #​30237: ENH: Make FPE blas check a runtime check for all apple arm systems

v2.3.4: (Oct 15, 2025)

Compare Source

NumPy 2.3.4 Release Notes

The NumPy 2.3.4 release is a patch release split between a number of maintenance
updates and bug fixes. This release supports Python versions 3.11-3.14. This
release is based on Python 3.14.0 final.

Changes

The npymath and npyrandom libraries now have a .lib rather than a
.a file extension on win-arm64, for compatibility for building with MSVC and
setuptools. Please note that using these static libraries is discouraged
and for existing projects using it, it's best to use it with a matching
compiler toolchain, which is clang-cl on Windows on Arm.

(gh-29750)

Contributors

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

  • !DWesl
  • Charles Harris
  • Christian Barbia +
  • Evgeni Burovski
  • Joren Hammudoglu
  • Maaz +
  • Mateusz Sokół
  • Matti Picus
  • Nathan Goldbaum
  • Ralf Gommers
  • Riku Sakamoto +
  • Sandeep Gupta +
  • Sayed Awad
  • Sebastian Berg
  • Sergey Fedorov +
  • Warren Weckesser
  • dependabot[bot]
Pull requests merged

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

v2.3.3: 2.3.3 (Sep 9, 2025)

Compare Source

NumPy 2.3.3 Release Notes

The NumPy 2.3.3 release is a patch release split between a number of maintenance
updates and bug fixes. This release supports Python versions 3.11-3.14. Note
that the 3.14.0 final is currently expected in Oct, 2025. This release is based
on 3.14.0rc2.

Contributors

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

  • Aleksandr A. Voyt +
  • Bernard Roesler +
  • Charles Harris
  • Hunter Hogan +
  • Joren Hammudoglu
  • Maanas Arora
  • Matti Picus
  • Nathan Goldbaum
  • Raghuveer Devulapalli
  • Sanjay Kumar Sakamuri Kamalakar +
  • Tobias Markus +
  • Warren Weckesser
  • Zebreus +
Pull requests merged

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

  • #​29440: MAINT: Prepare 2.3.x for further development.
  • #​29446: BUG: Fix test_configtool_pkgconfigdir to resolve PKG_CONFIG_DIR...
  • #​29447: BLD: allow targeting webassembly without emscripten
  • #​29460: MAINT: Backport write_release.py
  • #​29473: MAINT: Bump pypa/cibuildwheel from 3.1.0 to 3.1.2
  • #​29500: BUG: Always return a real dtype from linalg.cond (gh-18304) (#​29333)
  • #​29501: MAINT: Add .file entry to all .s SVML files
  • #​29556: BUG: Casting from one timedelta64 to another didn't handle NAT.
  • #​29562: BLD: update vendored Meson to 1.8.3 [wheel build]
  • #​29563: BUG: Fix metadata not roundtripping when pickling datetime (#​29555)
  • #​29587: TST: update link and version for Intel SDE download
  • #​29593: TYP: add sorted kwarg to unique
  • #​29672: MAINT: Update pythoncapi-compat from main.
  • #​29673: MAINT: Update cibuildwheel.
  • #​29674: MAINT: Fix typo in wheels.yml
  • #​29683: BUG, BLD: Correct regex for ppc64 VSX3/VSX4 feature detection
  • #​29684: TYP: ndarray.fill() takes no keyword arguments
  • #​29685: BUG: avoid thread-unsafe refcount check in temp elision
  • #​29687: CI: replace comment-hider action in mypy_primer workflow
  • #​29689: BLD: Add missing <unordered_map> include
  • #​29691: BUG: use correct input dtype in flatiter assignment
  • #​29700: TYP: fix np.bool method declarations
  • #​29701: BUG: Correct ambiguous logic for s390x CPU feature detection

v2.3.2: (Jul 24, 2025)

Compare Source

NumPy 2.3.2 Release Notes

The NumPy 2.3.2 release is a patch release with a number of bug fixes
and maintenance updates. The highlights are:

  • Wheels for Python 3.14.0rc1
  • PyPy updated to the latest stable release
  • OpenBLAS updated to 0.3.30

This release supports Python versions 3.11-3.14

Contributors

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

  • !DWesl
  • Charles Harris
  • Joren Hammudoglu
  • Maanas Arora
  • Marco Edward Gorelli
  • Matti Picus
  • Nathan Goldbaum
  • Sebastian Berg
  • kostayScr +

Pull requests merged

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

  • #​29256: MAINT: Prepare 2.3.x for further development
  • #​29283: TYP: Work around a mypy issue with bool arrays (#​29248)
  • #​29284: BUG: fix fencepost error in StringDType internals
  • #​29287: BUG: handle case in mapiter where descriptors might get replaced...
  • #​29350: BUG: Fix shape error path in array-interface
  • #​29412: BUG: Allow reading non-npy files in npz and add test
  • #​29413: TST: Avoid uninitialized values in test (#​29341)
  • #​29414: BUG: Fix reference leakage for output arrays in reduction functions
  • #​29415: BUG: fix casting issue in center, ljust, rjust, and zfill (#​29369)
  • #​29416: TYP: Fix overloads in np.char.array and np.char.asarray...
  • #​29417: BUG: Any dtype should call square on arr \*\* 2 (#​29392)
  • #​29424: MAINT: use a stable pypy release in CI
  • #​29425: MAINT: Support python 314rc1
  • #​29429: MAINT: Update highway to match main.
  • #​29430: BLD: use github to build macos-arm64 wheels with OpenBLAS and...
  • #​29437: BUG: fix datetime/timedelta hash memory leak (#​29411)

Checksums

MD5
e35c637ea9fba77eabfdf70e26eaa16d  numpy-2.3.2-cp311-cp311-macosx_10_9_x86_64.whl
3dede42d11c843cfacff422f65a80e47  numpy-2.3.2-cp311-cp311-macosx_11_0_arm64.whl
f5c485a43210eb3541b254c8c9d6ac9e  numpy-2.3.2-cp311-cp311-macosx_14_0_arm64.whl
658950eb37e19b42920635ee60830a1d  numpy-2.3.2-cp311-cp311-macosx_14_0_x86_64.whl
9a864a280798829cc522521bc5d9c7e2  numpy-2.3.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
085e1ff7746d327a1320672ab86966c3  numpy-2.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
6acefa06c38bc616352b76174d4f19d2  numpy-2.3.2-cp311-cp311-musllinux_1_2_aarch64.whl
4dd3469970dbfba60dad41b9923c5a5a  numpy-2.3.2-cp311-cp311-musllinux_1_2_x86_64.whl
ad090139b8b872a9157b92c840566c5e  numpy-2.3.2-cp311-cp311-win32.whl
09b023f808432e60633e36a13630dc13  numpy-2.3.2-cp311-cp311-win_amd64.whl
c80f2a1c4c829ccb6745a6d0803b7177  numpy-2.3.2-cp311-cp311-win_arm64.whl
307fc28e0c630dbc5a6ff4051ee9ec6c  numpy-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl
4af1ffb81bdec235aef1b9bdf7c1566d  numpy-2.3.2-cp312-cp312-macosx_11_0_arm64.whl
8003e8df1badaffee163a603bf05656b  numpy-2.3.2-cp312-cp312-macosx_14_0_arm64.whl
e703fab1c371fd27389401caa34a5cbd  numpy-2.3.2-cp312-cp312-macosx_14_0_x86_64.whl
5fdc228f15ec5de78b89c7aa4c137019  numpy-2.3.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
f3bc10b89911c09777c4c5d9752f35b0  numpy-2.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
5d0128aa0f6aa3a5122364a727a72eba  numpy-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl
ef392070c44709321d7f87ab15bbd674  numpy-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl
909e05dcd1164cc02d5fccc1cc6c9ca6  numpy-2.3.2-cp312-cp312-win32.whl
3ba0b657682fc54d9433b4d7244c9264  numpy-2.3.2-cp312-cp312-win_amd64.whl
05755e8c591b1ac2fff05a06d76ac414  numpy-2.3.2-cp312-cp312-win_arm64.whl
c1e323fa1986bc99ae96c46126a30f93  numpy-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl
9a89327ef3550581017ea6e2a47c1a8e  numpy-2.3.2-cp313-cp313-macosx_11_0_arm64.whl
3c7236116911c5c19de0091d7ac81f65  numpy-2.3.2-cp313-cp313-macosx_14_0_arm64.whl
1809c7adafae6492741864cf4dda7d1e  numpy-2.3.2-cp313-cp313-macosx_14_0_x86_64.whl
ee68f94ec5f9c0c7f9423d7329bc085e  numpy-2.3.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
24c4e95f0a615356787e2920378e5c6f  numpy-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
5c53a2c915d177b7c305c0386ba21b43  numpy-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl
c4607ea441320a0078d942ca21ef2411  numpy-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl
09f2fdeb35d952751ba269ca5fa77e7a  numpy-2.3.2-cp313-cp313-win32.whl
47a7326544ce192df844b3e9750c7704  numpy-2.3.2-cp313-cp313-win_amd64.whl
9b5adab8ee4eb97ccf90d73d63671db4  numpy-2.3.2-cp313-cp313-win_arm64.whl
7169baf4160b9a75790650cef23a73e1  numpy-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl
0338f2a78981d84d84e5f693ed6112d5  numpy-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl
b0c1c28add9716f7cee433d53fb43067  numpy-2.3.2-cp313-cp313t-macosx_14_0_arm64.whl
d2d8d43c535184095550420169858b90  numpy-2.3.2-cp313-cp313t-macosx_14_0_x86_64.whl
745bb6930958f4d7980cd705621abc25  numpy-2.3.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
96412f8c9687d468e260aacdfb9cca02  numpy-2.3.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
11ce971fe997bf5c0784516db85891ff  numpy-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl
e71ba272e9db74bc753ca056e76fdf5b  numpy-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl
82feb6822f2cf04a9edf38cf7f7d4806  numpy-2.3.2-cp313-cp313t-win32.whl
c6c8a1a2e94a9fc2dad9d161a6666e54  numpy-2.3.2-cp313-cp313t-win_amd64.whl
29e65f132c4a916214a0e82bca214717  numpy-2.3.2-cp313-cp313t-win_arm64.whl
2b99d343001495b182027843bf2148b2  numpy-2.3.2-cp314-cp314-macosx_10_13_x86_64.whl
40d04ac18cd9db3c380224d3d5607770  numpy-2.3.2-cp314-cp314-macosx_11_0_arm64.whl
871631874c6839719d1c1b3ad81835cd  numpy-2.3.2-cp314-cp314-macosx_14_0_arm64.whl
4d4098888f19de85dd18646c2f955cd2  numpy-2.3.2-cp314-cp314-macosx_14_0_x86_64.whl
813e47e3c07cd28bf0458a1e513d6619  numpy-2.3.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
1fe080566baca813e6ac4635011a408a  numpy-2.3.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
bd44ab38b53a4b5b6130b6f01ffaf5fa  numpy-2.3.2-cp314-cp314-musllinux_1_2_aarch64.whl
f2fda217bec39ede344b42fef2cbd9e5  numpy-2.3.2-cp314-cp314-musllinux_1_2_x86_64.whl
c02218de0d0666769c91513eafaf251f  numpy-2.3.2-cp314-cp314-win32.whl
d419eb806a6f5debb366d4bcf0f5bde0  numpy-2.3.2-cp314-cp314-win_amd64.whl
851529ffdf2b0d4b66eb1ac99c24da3e  numpy-2.3.2-cp314-cp314-win_arm64.whl
2306e8b73fcd2d46116c6a95034e4d3a  numpy-2.3.2-cp314-cp314t-macosx_10_13_x86_64.whl
b4d4ce3339cb9f0b0f2b339db803f39c  numpy-2.3.2-cp314-cp314t-macosx_11_0_arm64.whl
6ae336ac461d5d89811c8a236b442842  numpy-2.3.2-cp314-cp314t-macosx_14_0_arm64.whl
351f35dd00bfb35e6cad2447a14c7cdf  numpy-2.3.2-cp314-cp314t-macosx_14_0_x86_64.whl
0e0b26b34024f24a5f59809a1778ace0  numpy-2.3.2-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
bc77a7f5826bb0a38154d31d8444abb7  numpy-2.3.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
cd1e335e2a8437339475db12ee30f26d  numpy-2.3.2-cp314-cp314t-musllinux_1_2_aarch64.whl
5c8093e713bd7e5f8512458d53fefeed  numpy-2.3.2-cp314-cp314t-musllinux_1_2_x86_64.whl
66125a7e4e311fc2dedfa8c25ee577f2  numpy-2.3.2-cp314-cp314t-win32.whl
97713f41a5d4a08e8ed3d629d07678d3  numpy-2.3.2-cp314-cp314t-win_amd64.whl
848c4c409b643c2b42c431f51b310095  numpy-2.3.2-cp314-cp314t-win_arm64.whl
e240eed2fc098f7a0ae9813abead8a05  numpy-2.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
7e46ebe46530596019ae6b5db8a7a564  numpy-2.3.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl
82077182e608a0d366eba700902463b5  numpy-2.3.2-pp311-pypy311_pp73-macosx_14_0_arm64.whl
67db17064907cd22a74676b50de1ab6d  numpy-2.3.2-pp311-pypy311_pp73-macosx_14_0_x86_64.whl
6d59903ecd732d53dd230ca59cdc2c34  numpy-2.3.2-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
baae8d6875e1de409ffef875896c4b4f  numpy-2.3.2-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
5d92d6c39f2f0b28149ed15437b13cf7  numpy-2.3.2-pp311-pypy311_pp73-win_amd64.whl
f8d3d3b3ecd2b6e98889e88f6bbdc1a3  numpy-2.3.2.tar.gz
SHA256
852ae5bed3478b92f093e30f785c98e0cb62fa0a939ed057c31716e18a7a22b9  numpy-2.3.2-cp311-cp311-macosx_10_9_x86_64.whl
7a0e27186e781a69959d0230dd9909b5e26024f8da10683bd6344baea1885168  numpy-2.3.2-cp311-cp311-macosx_11_0_arm64.whl
f0a1a8476ad77a228e41619af2fa9505cf69df928e9aaa165746584ea17fed2b  numpy-2.3.2-cp311-cp311-macosx_14_0_arm64.whl
cbc95b3813920145032412f7e33d12080f11dc776262df1712e1638207dde9e8  numpy-2.3.2-cp311-cp311-macosx_14_0_x86_64.whl
f75018be4980a7324edc5930fe39aa391d5734531b1926968605416ff58c332d  numpy-2.3.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
20b8200721840f5621b7bd03f8dcd78de33ec522fc40dc2641aa09537df010c3  numpy-2.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
1f91e5c028504660d606340a084db4b216567ded1056ea2b4be4f9d10b67197f  numpy-2.3.2-cp311-cp311-musllinux_1_2_aarch64.whl
fb1752a3bb9a3ad2d6b090b88a9a0ae1cd6f004ef95f75825e2f382c183b2097  numpy-2.3.2-cp311-cp311-musllinux_1_2_x86_64.whl
4ae6863868aaee2f57503c7a5052b3a2807cf7a3914475e637a0ecd366ced220  numpy-2.3.2-cp311-cp311-win32.whl
240259d6564f1c65424bcd10f435145a7644a65a6811cfc3201c4a429ba79170  numpy-2.3.2-cp311-cp311-win_amd64.whl
4209f874d45f921bde2cff1ffcd8a3695f545ad2ffbef6d3d3c6768162efab89  numpy-2.3.2-cp311-cp311-win_arm64.whl
bc3186bea41fae9d8e90c2b4fb5f0a1f5a690682da79b92574d63f56b529080b  numpy-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl
2f4f0215edb189048a3c03bd5b19345bdfa7b45a7a6f72ae5945d2a28272727f  numpy-2.3.2-cp312-cp312-macosx_11_0_arm64.whl
8b1224a734cd509f70816455c3cffe13a4f599b1bf7130f913ba0e2c0b2006c0  numpy-2.3.2-cp312-cp312-macosx_14_0_arm64.whl
3dcf02866b977a38ba3ec10215220609ab9667378a9e2150615673f3ffd6c73b  numpy-2.3.2-cp312-cp312-macosx_14_0_x86_64.whl
572d5512df5470f50ada8d1972c5f1082d9a0b7aa5944db8084077570cf98370  numpy-2.3.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
8145dd6d10df13c559d1e4314df29695613575183fa2e2d11fac4c208c8a1f73  numpy-2.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
103ea7063fa624af04a791c39f97070bf93b96d7af7eb23530cd087dc8dbe9dc  numpy-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl
fc927d7f289d14f5e037be917539620603294454130b6de200091e23d27dc9be  numpy-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl
d95f59afe7f808c103be692175008bab926b59309ade3e6d25009e9a171f7036  numpy-2.3.2-cp312-cp312-win32.whl
9e196ade2400c0c737d93465327d1ae7c06c7cb8a1756121ebf54b06ca183c7f  numpy-2.3.2-cp312-cp312-win_amd64.whl
ee807923782faaf60d0d7331f5e86da7d5e3079e28b291973c545476c2b00d07  numpy-2.3.2-cp312-cp312-win_arm64.whl
c8d9727f5316a256425892b043736d63e89ed15bbfe6556c5ff4d9d4448ff3b3  numpy-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl
efc81393f25f14d11c9d161e46e6ee348637c0a1e8a54bf9dedc472a3fae993b  numpy-2.3.2-cp313-cp313-macosx_11_0_arm64.whl
dd937f088a2df683cbb79dda9a772b62a3e5a8a7e76690612c2737f38c6ef1b6  numpy-2.3.2-cp313-cp313-macosx_14_0_arm64.whl
11e58218c0c46c80509186e460d79fbdc9ca1eb8d8aee39d8f2dc768eb781089  numpy-2.3.2-cp313-cp313-macosx_14_0_x86_64.whl
5ad4ebcb683a1f99f4f392cc522ee20a18b2bb12a2c1c42c3d48d5a1adc9d3d2  numpy-2.3.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
938065908d1d869c7d75d8ec45f735a034771c6ea07088867f713d1cd3bbbe4f  numpy-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
66459dccc65d8ec98cc7df61307b64bf9e08101f9598755d42d8ae65d9a7a6ee  numpy-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl
a7af9ed2aa9ec5950daf05bb11abc4076a108bd3c7db9aa7251d5f107079b6a6  numpy-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl
906a30249315f9c8e17b085cc5f87d3f369b35fedd0051d4a84686967bdbbd0b  numpy-2.3.2-cp313-cp313-win32.whl
c63d95dc9d67b676e9108fe0d2182987ccb0f11933c1e8959f42fa0da8d4fa56  numpy-2.3.2-cp313-cp313-win_amd64.whl
b05a89f2fb84d21235f93de47129dd4f11c16f64c87c33f5e284e6a3a54e43f2  numpy-2.3.2-cp313-cp313-win_arm64.whl
4e6ecfeddfa83b02318f4d84acf15fbdbf9ded18e46989a15a8b6995dfbf85ab  numpy-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl
508b0eada3eded10a3b55725b40806a4b855961040180028f52580c4729916a2  numpy-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl
754d6755d9a7588bdc6ac47dc4ee97867271b17cee39cb87aef079574366db0a  numpy-2.3.2-cp313-cp313t-macosx_14_0_arm64.whl
a9f66e7d2b2d7712410d3bc5684149040ef5f19856f20277cd17ea83e5006286  numpy-2.3.2-cp313-cp313t-macosx_14_0_x86_64.whl
de6ea4e5a65d5a90c7d286ddff2b87f3f4ad61faa3db8dabe936b34c2275b6f8  numpy-2.3.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
a3ef07ec8cbc8fc9e369c8dcd52019510c12da4de81367d8b20bc692aa07573a  numpy-2.3.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
27c9f90e7481275c7800dc9c24b7cc40ace3fdb970ae4d21eaff983a32f70c91  numpy-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl
07b62978075b67eee4065b166d000d457c82a1efe726cce608b9db9dd66a73a5  numpy-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl
c771cfac34a4f2c0de8e8c97312d07d64fd8f8ed45bc9f5726a7e947270152b5  numpy-2.3.2-cp313-cp313t-win32.whl
72dbebb2dcc8305c431b2836bcc66af967df91be793d63a24e3d9b741374c450  numpy-2.3.2-cp313-cp313t-win_amd64.whl
72c6df2267e926a6d5286b0a6d556ebe49eae261062059317837fda12ddf0c1a  numpy-2.3.2-cp313-cp313t-win_arm64.whl
448a66d052d0cf14ce9865d159bfc403282c9bc7bb2a31b03cc18b651eca8b1a  numpy-2.3.2-cp314-cp314-macosx_10_13_x86_64.whl
546aaf78e81b4081b2eba1d105c3b34064783027a06b3ab20b6eba21fb64132b  numpy-2.3.2-cp314-cp314-macosx_11_0_arm64.whl
87c930d52f45df092f7578889711a0768094debf73cfcde105e2d66954358125  numpy-2.3.2-cp314-cp314-macosx_14_0_arm64.whl
8dc082ea901a62edb8f59713c6a7e28a85daddcb67454c839de57656478f5b19  numpy-2.3.2-cp314-cp314-macosx_14_0_x86_64.whl
af58de8745f7fa9ca1c0c7c943616c6fe28e75d0c81f5c295810e3c83b5be92f  numpy-2.3.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
fed5527c4cf10f16c6d0b6bee1f89958bccb0ad2522c8cadc2efd318bcd545f5  numpy-2.3.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
095737ed986e00393ec18ec0b21b47c22889ae4b0cd2d5e88342e08b01141f58  numpy-2.3.2-cp314-cp314-musllinux_1_2_aarch64.whl
b5e40e80299607f597e1a8a247ff8d71d79c5b52baa11cc1cce30aa92d2da6e0  numpy-2.3.2-cp314-cp314-musllinux_1_2_x86_64.whl
7d6e390423cc1f76e1b8108c9b6889d20a7a1f59d9a60cac4a050fa734d6c1e2  numpy-2.3.2-cp314-cp314-win32.whl
b9d0878b21e3918d76d2209c924ebb272340da1fb51abc00f986c258cd5e957b

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 7am and before 4pm on monday" in timezone Europe/London, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/DiamondLightSource/python-murfey).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjQyLjY2LjE0IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

@codecov
Copy link

codecov bot commented Apr 14, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 30.31%. Comparing base (8bd267a) to head (b1e56bd).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #574      +/-   ##
==========================================
+ Coverage   30.24%   30.31%   +0.07%     
==========================================
  Files          80       80              
  Lines       10496    10573      +77     
  Branches     1401     1426      +25     
==========================================
+ Hits         3174     3205      +31     
- Misses       7217     7260      +43     
- Partials      105      108       +3     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@renovate renovate bot force-pushed the renovate/numpy-2.x branch from b1e56bd to ecbd8e3 Compare November 20, 2025 18:39
@renovate renovate bot changed the title Update dependency numpy to v2 Update dependency numpy to v2 - autoclosed Nov 27, 2025
@renovate renovate bot closed this Nov 27, 2025
@renovate renovate bot deleted the renovate/numpy-2.x branch November 27, 2025 06:07
@renovate renovate bot changed the title Update dependency numpy to v2 - autoclosed Update dependency numpy to v2 Dec 1, 2025
@renovate renovate bot reopened this Dec 1, 2025
@renovate renovate bot force-pushed the renovate/numpy-2.x branch from 22e8934 to ecbd8e3 Compare December 1, 2025 12:35
@renovate renovate bot force-pushed the renovate/numpy-2.x branch from ecbd8e3 to f545b17 Compare December 22, 2025 16:49
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