@@ -5,7 +5,88 @@ NumPy 2.5.2 Release Notes
55=========================
66
77The NumPy 2.5.2 is a patch release that fixes bugs discovered after the 2.5.1
8+ release. The big news is that it includes wheels for the newly released
9+ Python 3.15.0rc1.
10+
11+ This release supports Python versions 3.12-3.15
12+
13+
14+ C API changes
15+ =============
16+
17+ ``PyArray_StringDTypeObject `` is opaque under the abi3t stable ABI
18+ ------------------------------------------------------------------
19+
20+ The ``PyArray_StringDTypeObject `` was accidentally exposed in NumPy
21+ 2.5 when targeting the free-threading-compatible stable ABI
22+ (``Py_TARGET_ABI3T ``). ``PyArray_StringDTypeObject `` is now an opaque
23+ struct: extensions compiled that way cannot access its fields, since
24+ the struct layout depends on the size of the object header. Any code
25+ that accessed ``PyArray_StringDTypeObject `` fields in an abi3t build
26+ would have crashed, so we are making this API change in a bugfix
827release.
928
10- This release supports Python versions 3.12-3.14
29+ The ``NpyString `` allocator API remains usable by passing the
30+ descriptor object pointer, e.g.
31+ ``NpyString_acquire_allocator((PyArray_StringDTypeObject *)descr) ``.
32+
33+ (`gh-31771 <https://github.com/numpy/numpy/pull/31771 >`__)
34+
35+
36+ Contributors
37+ ============
38+
39+ A total of 16 people contributed to this release. People with a "+" by their
40+ names contributed a patch for the first time.
41+
42+ * Abhijeetsingh Meena +
43+ * Charalampos Stratakis
44+ * Charles Harris
45+ * Chris Ninham +
46+ * David Woods
47+ * Geonho +
48+ * Gopu Yeshwanth Reddy +
49+ * Iason Krommydas
50+ * Ijtihed Kilani
51+ * Jelle Zijlstra +
52+ * Joren Hammudoglu
53+ * Kumar Aditya
54+ * Mike Boyle
55+ * Nathan Goldbaum
56+ * Raghuveer Devulapalli
57+ * Sebastian Berg
58+
59+ Pull requests merged
60+ ====================
61+
62+ A total of 28 pull requests were merged for this release.
63+
64+ * `#31864 <https://github.com/numpy/numpy/pull/31864 >`__: MAINT: Prepare 2.5.x for further development
65+ * `#31889 <https://github.com/numpy/numpy/pull/31889 >`__: TYP: Backport multiple static typing fixes 1.
66+ * `#31900 <https://github.com/numpy/numpy/pull/31900 >`__: TST: add tests for stable ABI numpy extensions (#31822)
67+ * `#31901 <https://github.com/numpy/numpy/pull/31901 >`__: BUG: fix ``StringDType `` coerce flag in binary ufunc promotion...
68+ * `#31902 <https://github.com/numpy/numpy/pull/31902 >`__: BLD: fix meson deprecation warnings (#31892)
69+ * `#31921 <https://github.com/numpy/numpy/pull/31921 >`__: TYP: Backport multiple typing fixes 2.
70+ * `#31947 <https://github.com/numpy/numpy/pull/31947 >`__: MAINT: Update x86-simd-sort subproject (5adb334 → fa944ef) (#31908)
71+ * `#31949 <https://github.com/numpy/numpy/pull/31949 >`__: BUG: fix crash on 32 bit systems using abi3t (#31771)
72+ * `#31950 <https://github.com/numpy/numpy/pull/31950 >`__: MNT: remove some obsolete string to bool workarounds (#31859)
73+ * `#31952 <https://github.com/numpy/numpy/pull/31952 >`__: BUG: centralized helper for output coerce and na_object in stringdtype...
74+ * `#31953 <https://github.com/numpy/numpy/pull/31953 >`__: BUG: fix CPU feature env diagnostic buffer overruns (#31905)
75+ * `#31954 <https://github.com/numpy/numpy/pull/31954 >`__: BUG: restore ndarray.conjugate() for legacy user-defined dtypes...
76+ * `#31955 <https://github.com/numpy/numpy/pull/31955 >`__: TYP: Avoid shadowed dtype annotations
77+ * `#32077 <https://github.com/numpy/numpy/pull/32077 >`__: MAINT: Update verdored-meson/meson to match main.
78+ * `#32114 <https://github.com/numpy/numpy/pull/32114 >`__: BUG: fix refcount leak on overlapping copyto with where=False
79+ * `#32115 <https://github.com/numpy/numpy/pull/32115 >`__: BUG: fix swallowed cast error in fancy indexing assignment (#31975)
80+ * `#32116 <https://github.com/numpy/numpy/pull/32116 >`__: BUG: Fix buffered iterator stride after removing multi-index
81+ * `#32117 <https://github.com/numpy/numpy/pull/32117 >`__: BUG: fix ``np.fromiter `` corruption when reusing a ``StringDType ``...
82+ * `#32119 <https://github.com/numpy/numpy/pull/32119 >`__: BUG: add a special case for StringDType in np.isdtype (#32030)
83+ * `#32121 <https://github.com/numpy/numpy/pull/32121 >`__: BUG: reference leak in ``simd_sequence_from_iterable `` (#32038)
84+ * `#32122 <https://github.com/numpy/numpy/pull/32122 >`__: BUG: ensure lock is held when accessing or writing to RNG state...
85+ * `#32123 <https://github.com/numpy/numpy/pull/32123 >`__: BUG: fully reset cached RNG state for non-MT19937 RNGs (#32062)
86+ * `#32135 <https://github.com/numpy/numpy/pull/32135 >`__: TYP: type capabilities max dimensions
87+ * `#32158 <https://github.com/numpy/numpy/pull/32158 >`__: BUG: avoid possible stack overflow in arraydescr_dealloc (#32133)
88+ * `#32206 <https://github.com/numpy/numpy/pull/32206 >`__: MAINT: Update cibuildwheel to v4.2.0
89+ * `#32214 <https://github.com/numpy/numpy/pull/32214 >`__: MAINT: Skip limited_api tests on some platforms.
90+ * `#32220 <https://github.com/numpy/numpy/pull/32220 >`__: TYP: ``isclose `` shape-typing fix for 2d array-likes (#32205)
91+ * `#32221 <https://github.com/numpy/numpy/pull/32221 >`__: BUG: avoid segfaults when legacy copyswap slot is not defined...
1192
0 commit comments