summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/release/upcoming_changes/15006.new_feature.rst7
-rw-r--r--doc/release/upcoming_changes/15844.new_feature.rst4
-rw-r--r--doc/release/upcoming_changes/16830.expired.rst6
-rw-r--r--doc/release/upcoming_changes/17709.compatibility.rst15
-rw-r--r--doc/release/upcoming_changes/19226.compatibility.rst39
-rw-r--r--doc/release/upcoming_changes/20020.new_function.rst4
-rw-r--r--doc/release/upcoming_changes/20220.compatibility.rst5
-rw-r--r--doc/release/upcoming_changes/20394.deprecation.rst6
-rw-r--r--doc/release/upcoming_changes/20414.expired.rst4
-rw-r--r--doc/release/upcoming_changes/20500.new_feature.rst3
-rw-r--r--doc/release/upcoming_changes/20580.compatibility.rst33
-rw-r--r--doc/release/upcoming_changes/20580.new_feature.rst8
-rw-r--r--doc/release/upcoming_changes/20580.performance.rst4
-rw-r--r--doc/release/upcoming_changes/20589.expired.rst7
-rw-r--r--doc/release/upcoming_changes/20722.expired.rst52
-rw-r--r--doc/release/upcoming_changes/20722.new_feature.rst13
-rw-r--r--doc/release/upcoming_changes/20766.deprecation.rst3
-rw-r--r--doc/release/upcoming_changes/20766.improvement.rst5
-rw-r--r--doc/release/upcoming_changes/20821.improvement.rst5
-rw-r--r--doc/release/upcoming_changes/20835.expired.rst7
-rw-r--r--doc/release/upcoming_changes/20875.deprecation.rst9
-rw-r--r--doc/release/upcoming_changes/20920.deprecation.rst3
-rw-r--r--doc/release/upcoming_changes/20993.improvement.rst5
-rw-r--r--doc/release/upcoming_changes/21001.performance.rst5
-rw-r--r--doc/release/upcoming_changes/21029.expired.rst10
-rw-r--r--doc/release/upcoming_changes/21130.performance.rst4
-rw-r--r--doc/release/upcoming_changes/21145.new_function.rst6
-rw-r--r--doc/release/upcoming_changes/21154.improvement.rst7
-rw-r--r--doc/release/upcoming_changes/21187.new_feature.rst8
-rw-r--r--doc/release/upcoming_changes/21188.performance.rst8
-rw-r--r--doc/release/upcoming_changes/21262.improvement.rst34
-rw-r--r--doc/release/upcoming_changes/21354.performance.rst4
-rw-r--r--doc/release/upcoming_changes/21485.new_feature.rst5
-rw-r--r--doc/source/release.rst1
-rw-r--r--doc/source/release/1.24.0-notes.rst45
-rw-r--r--numpy/core/code_generators/cversions.txt1
-rw-r--r--pavement.py2
37 files changed, 48 insertions, 339 deletions
diff --git a/doc/release/upcoming_changes/15006.new_feature.rst b/doc/release/upcoming_changes/15006.new_feature.rst
deleted file mode 100644
index fe751921e..000000000
--- a/doc/release/upcoming_changes/15006.new_feature.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-crackfortran has support for operator and assignment overloading
-----------------------------------------------------------------
-``crackfortran`` parser now understands operator and assignment
-definitions in a module. They are added in the ``body`` list of the
-module which contains a new key ``implementedby`` listing the names
-of the subroutines or functions implementing the operator or
-assignment.
diff --git a/doc/release/upcoming_changes/15844.new_feature.rst b/doc/release/upcoming_changes/15844.new_feature.rst
deleted file mode 100644
index f2746807b..000000000
--- a/doc/release/upcoming_changes/15844.new_feature.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-f2py supports reading access type attributes from derived type statements
--------------------------------------------------------------------------
-As a result, one does not need to use `public` or `private` statements to
-specify derived type access properties.
diff --git a/doc/release/upcoming_changes/16830.expired.rst b/doc/release/upcoming_changes/16830.expired.rst
deleted file mode 100644
index 2994a7d9e..000000000
--- a/doc/release/upcoming_changes/16830.expired.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-``NpzFile.iteritems()`` and ``NpzFile.iterkeys()`` are removed
---------------------------------------------------------------
-
-As part of the continued removal of Python 2 compatibility
-``NpzFile.iteritems()`` and ``NpzFile.iterkeys()`` methods are now removed. This
-concludes the deprecation from 1.15.
diff --git a/doc/release/upcoming_changes/17709.compatibility.rst b/doc/release/upcoming_changes/17709.compatibility.rst
deleted file mode 100644
index a448827f4..000000000
--- a/doc/release/upcoming_changes/17709.compatibility.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-1D ``np.linalg.norm`` preserves float input types, even for scalar results
---------------------------------------------------------------------------
-
-Previously, this would promote to ``float64`` when the ``ord`` argument was
-not one of the explicitly listed values, e.g. ``ord=3``::
-
- >>> f32 = np.float32([1, 2])
- >>> np.linalg.norm(f32, 2).dtype
- dtype('float32')
- >>> np.linalg.norm(f32, 3)
- dtype('float64') # numpy 1.22
- dtype('float32') # numpy 1.23
-
-This change affects only ``float32`` and ``float16`` vectors with ``ord``
-other than ``-Inf``, ``0``, ``1``, ``2``, and ``Inf``.
diff --git a/doc/release/upcoming_changes/19226.compatibility.rst b/doc/release/upcoming_changes/19226.compatibility.rst
deleted file mode 100644
index 8422bf8eb..000000000
--- a/doc/release/upcoming_changes/19226.compatibility.rst
+++ /dev/null
@@ -1,39 +0,0 @@
-Changes to structured (void) dtype promotion and comparisons
-------------------------------------------------------------
-In general, NumPy now defines correct, but slightly limited, promotion for
-structured dtypes by promoting the subtypes of each field instead of raising
-an exception::
-
- >>> np.result_type(np.dtype("i,i"), np.dtype("i,d"))
- dtype([('f0', '<i4'), ('f1', '<f8')])
-
-For promotion matching field names, order, and titles are enforced, however
-padding is ignored.
-Promotion involving structured dtypes now always ensures native byte-order for
-all fields (which may change the result of ``np.concatenate``)
-and ensures that the result will be "packed", i.e. all fields are ordered
-contiguously and padding is removed.
-See :ref:`structured_dtype_comparison_and_promotion` for further details.
-
-The ``repr`` of aligned structures will now never print the long form
-including ``offsets`` and ``itemsize`` unless the struct includes padding
-not guaranteed by ``align=True``.
-
-
-Changes to structured dtype casting safety
-------------------------------------------
-In alignment with the above changes to the promotion logic, the
-casting safety has been updated:
-
-* ``"equiv"`` enforces matching names and titles. The itemsize
- is allowed to differ due to padding.
-* ``"safe"`` allows mismatching field names and titles
-* The cast safety is limited by the cast safety of each included
- field.
-* The order of fields is used to decide cast safety of each
- individual field. Previously, the field names were used and
- only unsafe casts were possible when names mismatched.
-
-The main important change here is that name mismatches are now
-considered "safe" casts.
-
diff --git a/doc/release/upcoming_changes/20020.new_function.rst b/doc/release/upcoming_changes/20020.new_function.rst
deleted file mode 100644
index 0f310ceac..000000000
--- a/doc/release/upcoming_changes/20020.new_function.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-`ndenumerate` specialization for masked arrays
-----------------------------------------------
-The masked array module now provides the `numpy.ma.ndenumerate` function,
-an alternative to `numpy.ndenumerate` that skips masked values by default.
diff --git a/doc/release/upcoming_changes/20220.compatibility.rst b/doc/release/upcoming_changes/20220.compatibility.rst
deleted file mode 100644
index 06e422875..000000000
--- a/doc/release/upcoming_changes/20220.compatibility.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``NPY_RELAXED_STRIDES_CHECKING`` has been removed
--------------------------------------------------
-NumPy cannot be compiled with ``NPY_RELAXED_STRIDES_CHECKING=0``
-anymore. Relaxed strides have been the default for many years and
-the option was initially introduced to allow a smoother transition.
diff --git a/doc/release/upcoming_changes/20394.deprecation.rst b/doc/release/upcoming_changes/20394.deprecation.rst
deleted file mode 100644
index 44d1c8a20..000000000
--- a/doc/release/upcoming_changes/20394.deprecation.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Deprecate PyDataMem_SetEventHook
---------------------------------
-
-The ability to track allocations is now built-in to python via ``tracemalloc``.
-The hook function ``PyDataMem_SetEventHook`` has been deprecated and the
-demonstration of its use in tool/allocation_tracking has been removed.
diff --git a/doc/release/upcoming_changes/20414.expired.rst b/doc/release/upcoming_changes/20414.expired.rst
deleted file mode 100644
index 51f113ab3..000000000
--- a/doc/release/upcoming_changes/20414.expired.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-``alen`` and ``asscalar`` removed
----------------------------------
-
-The deprecated ``np.alen`` and ``np.asscalar`` functions were removed.
diff --git a/doc/release/upcoming_changes/20500.new_feature.rst b/doc/release/upcoming_changes/20500.new_feature.rst
deleted file mode 100644
index 6f9e4b141..000000000
--- a/doc/release/upcoming_changes/20500.new_feature.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-New parameter ``ndmin`` added to ``genfromtxt``
--------------------------------------------------------------------------
-This parameter behaves the same as ``ndmin`` from `~numpy.loadtxt`. \ No newline at end of file
diff --git a/doc/release/upcoming_changes/20580.compatibility.rst b/doc/release/upcoming_changes/20580.compatibility.rst
deleted file mode 100644
index b8306eae3..000000000
--- a/doc/release/upcoming_changes/20580.compatibility.rst
+++ /dev/null
@@ -1,33 +0,0 @@
-``np.loadtxt`` has recieved several changes
--------------------------------------------
-
-The row counting of `numpy.loadtxt` was fixed. ``loadtxt`` ignores fully
-empty lines in the file, but counted them towards ``max_rows``.
-When ``max_rows`` is used and the file contains empty lines, these will now
-not be counted. Previously, it was possible that the result contained fewer
-than ``max_rows`` rows even though more data was available to be read.
-If the old behaviour is required, ``itertools.islice`` may be used::
-
- import itertools
- lines = itertools.islice(open("file"), 0, max_rows)
- result = np.loadtxt(lines, ...)
-
-While generally much faster and improved, `numpy.loadtxt` may now fail to
-converter certain strings to numbers that were previously successfully read.
-The most important cases for this are:
-
-* Parsing floating point values such as ``1.0`` into integers will now fail
-* Parsing hexadecimal floats such as ``0x3p3`` will fail
-* An ``_`` was previously accepted as a thousands delimiter ``100_000``.
- This will now result in an error.
-
-If you experience these limitations, they can all be worked around by passing
-appropriate ``converters=``. NumPy now supports passing a single converter
-to be used for all columns to make this more convenient.
-For example, ``converters=float.fromhex`` can read hexadecimal float numbers
-and ``converters=int`` will be able to read ``100_000``.
-
-Further, the error messages have been generally improved. However, this means
-that error types may differ. In particularly, a ``ValueError`` is now always
-raised when parsing of a single entry fails.
-
diff --git a/doc/release/upcoming_changes/20580.new_feature.rst b/doc/release/upcoming_changes/20580.new_feature.rst
deleted file mode 100644
index b47049ef2..000000000
--- a/doc/release/upcoming_changes/20580.new_feature.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-``np.loadtxt`` now supports quote character and single converter function
--------------------------------------------------------------------------
-`numpy.loadtxt` now supports an additional ``quotechar`` keyword argument
-which is not set by default. Using ``quotechar='"'`` will read quoted fields
-as used by the Excel CSV dialect.
-
-Further, it is now possible to pass a single callable rather than a dictionary
-for the ``converters`` argument.
diff --git a/doc/release/upcoming_changes/20580.performance.rst b/doc/release/upcoming_changes/20580.performance.rst
deleted file mode 100644
index baae08765..000000000
--- a/doc/release/upcoming_changes/20580.performance.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Faster ``np.loadtxt``
----------------------
-`numpy.loadtxt` is now generally much faster than previously as most of it
-is now implemented in C.
diff --git a/doc/release/upcoming_changes/20589.expired.rst b/doc/release/upcoming_changes/20589.expired.rst
deleted file mode 100644
index 4d5d4ddc8..000000000
--- a/doc/release/upcoming_changes/20589.expired.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-Remove deprecated ``NPY_ARRAY_UPDATEIFCOPY``
---------------------------------------------
-
-The array flag ``UPDATEIFCOPY`` and enum ``NPY_ARRAY_UPDATEIFCOPY`` were
-deprecated in 1.14. They were replaced by ``WRITEBACKIFCOPY`` which require
-calling ``PyArray_ResoveWritebackIfCopy`` before the array is deallocated. Also
-removed the associated (and deprecated) ``PyArray_XDECREF_ERR``.
diff --git a/doc/release/upcoming_changes/20722.expired.rst b/doc/release/upcoming_changes/20722.expired.rst
deleted file mode 100644
index ad59715d1..000000000
--- a/doc/release/upcoming_changes/20722.expired.rst
+++ /dev/null
@@ -1,52 +0,0 @@
-Changing to dtype of different size in F-contiguous arrays no longer permitted
-------------------------------------------------------------------------------
-
-Behavior deprecated in NumPy 1.11.0 allowed the following counterintuitive result::
-
- >>> x = np.array(["aA", "bB", "cC", "dD", "eE", "fF"]).reshape(1, 2, 3).transpose()
- >>> x.view('U1') # deprecated behavior, shape (6, 2, 1)
- DeprecationWarning: ...
- array([[['a'],
- ['d']],
-
- [['A'],
- ['D']],
-
- [['b'],
- ['e']],
-
- [['B'],
- ['E']],
-
- [['c'],
- ['f']],
-
- [['C'],
- ['F']]], dtype='<U1')
-
-Now that the deprecation has expired, dtype reassignment only happens along the
-last axis, so the above will result in::
-
- >>> x.view('U1') # new behavior, shape (3, 2, 2)
- array([[['a', 'A'],
- ['d', 'D']],
-
- [['b', 'B'],
- ['e', 'E']],
-
- [['c', 'C'],
- ['f', 'F']]], dtype='<U1')
-
-When the last axis is not contiguous, an error is now raised in place of the `DeprecationWarning`::
-
- >>> x = np.array(["aA", "bB", "cC", "dD", "eE", "fF"]).reshape(2, 3).transpose()
- >>> x.view('U1')
- ValueError: To change to a dtype of a different size, the last axis must be contiguous
-
-The new behavior is equivalent to the more intuitive::
-
- >>> x.copy().view('U1')
-
-To replicate the old behavior on F-but-not-C-contiguous arrays, use::
-
- >>> x.T.view('U1').T
diff --git a/doc/release/upcoming_changes/20722.new_feature.rst b/doc/release/upcoming_changes/20722.new_feature.rst
deleted file mode 100644
index 4bad49919..000000000
--- a/doc/release/upcoming_changes/20722.new_feature.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-Changing to dtype of a different size now requires contiguity of only the last axis
------------------------------------------------------------------------------------
-
-Previously, viewing an array with a dtype of a different itemsize required that
-the entire array be C-contiguous. This limitation would unnecessarily force the
-user to make contiguous copies of non-contiguous arrays before being able to
-change the dtype.
-
-This change affects not only ``ndarray.view``, but other construction
-mechanisms, including the discouraged direct assignment to ``ndarray.dtype``.
-
-This change expires the deprecation regarding the viewing of F-contiguous
-arrays, described elsewhere in the release notes.
diff --git a/doc/release/upcoming_changes/20766.deprecation.rst b/doc/release/upcoming_changes/20766.deprecation.rst
deleted file mode 100644
index da83b5b94..000000000
--- a/doc/release/upcoming_changes/20766.deprecation.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-* Setting ``__array_finalize__`` to ``None`` is deprecated. It must now be
- a method and may wish to call ``super().__array_finalize__(obj)`` after
- checking for ``None`` or if the NumPy version is sufficiently new.
diff --git a/doc/release/upcoming_changes/20766.improvement.rst b/doc/release/upcoming_changes/20766.improvement.rst
deleted file mode 100644
index f74e2a7f0..000000000
--- a/doc/release/upcoming_changes/20766.improvement.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``ndarray.__array_finalize__`` is now callable
-----------------------------------------------
-This means subclasses can now use ``super().__array_finalize__(obj)``
-without worrying whether ``ndarray`` is their superclass or not.
-The actual call remains a no-op.
diff --git a/doc/release/upcoming_changes/20821.improvement.rst b/doc/release/upcoming_changes/20821.improvement.rst
deleted file mode 100644
index e3ce857a6..000000000
--- a/doc/release/upcoming_changes/20821.improvement.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Add support for VSX4/Power10
-----------------------------------------------
-With VSX4/Power10 enablement, the new instructions available in
-Power ISA 3.1 can be used to accelerate some NumPy operations,
-e.g., floor_divide, modulo, etc.
diff --git a/doc/release/upcoming_changes/20835.expired.rst b/doc/release/upcoming_changes/20835.expired.rst
deleted file mode 100644
index 40d4f63c1..000000000
--- a/doc/release/upcoming_changes/20835.expired.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-Exceptions will be raised during array-like creation
-----------------------------------------------------
-
-When an object raised an exception during access of the special
-attributes ``__array__`` or ``__array_interface__``, this exception
-was usually ignored.
-This behaviour was deprecated in 1.21, and the exception will now be raised. \ No newline at end of file
diff --git a/doc/release/upcoming_changes/20875.deprecation.rst b/doc/release/upcoming_changes/20875.deprecation.rst
deleted file mode 100644
index 4951f6ab3..000000000
--- a/doc/release/upcoming_changes/20875.deprecation.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-Deprecation of ``numpy.distutils``
-----------------------------------
-
-``numpy.distutils`` has been deprecated, as a result of ``distutils``
-itself being deprecated. It will not be present in NumPy for Python >= 3.12,
-and will be removed completely 2 years after the release of Python 3.12
-
-For more details, see :ref:`distutils-status-migration`.
-
diff --git a/doc/release/upcoming_changes/20920.deprecation.rst b/doc/release/upcoming_changes/20920.deprecation.rst
deleted file mode 100644
index 69194e6be..000000000
--- a/doc/release/upcoming_changes/20920.deprecation.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-* Using ``axis=32`` (``axis=np.MAXDIMS``) in many cases had the
- same meaning as ``axis=None``. This is deprecated and ``axis=None``
- must be used instead.
diff --git a/doc/release/upcoming_changes/20993.improvement.rst b/doc/release/upcoming_changes/20993.improvement.rst
deleted file mode 100644
index f0019c45e..000000000
--- a/doc/release/upcoming_changes/20993.improvement.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``np.fromiter`` now accepts objects and subarrays
--------------------------------------------------
-The `~numpy.fromiter` function now supports object and
-subarray dtypes. Please see he function documentation for
-examples.
diff --git a/doc/release/upcoming_changes/21001.performance.rst b/doc/release/upcoming_changes/21001.performance.rst
deleted file mode 100644
index 04dc43482..000000000
--- a/doc/release/upcoming_changes/21001.performance.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Faster reduction operators
---------------------------
-Reduction operations like `numpy.sum`, `numpy.prod`, `numpy.add.reduce`,
-`numpy.logical_and.reduce` on contiguous integer-based arrays are now
-much faster.
diff --git a/doc/release/upcoming_changes/21029.expired.rst b/doc/release/upcoming_changes/21029.expired.rst
deleted file mode 100644
index a7f96944b..000000000
--- a/doc/release/upcoming_changes/21029.expired.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-Expired deprecation of multidimensional indexing with non-tuple values
-----------------------------------------------------------------------
-
-Multidimensional indexing with anything but a tuple was
-deprecated in NumPy 1.15.
-
-Previously, code such as ``arr[ind]`` where ``ind = [[0, 1], [0, 1]]``
-produced a ``FutureWarning`` and was interpreted as a multidimensional
-index (i.e., ``arr[tuple(ind)]``). Now this example is treated like an
-array index over a single dimension (``arr[array(ind)]``).
diff --git a/doc/release/upcoming_changes/21130.performance.rst b/doc/release/upcoming_changes/21130.performance.rst
deleted file mode 100644
index 70ea7dca4..000000000
--- a/doc/release/upcoming_changes/21130.performance.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Faster ``np.where``
--------------------
-`numpy.where` is now much faster than previously on unpredictable/random
-input data.
diff --git a/doc/release/upcoming_changes/21145.new_function.rst b/doc/release/upcoming_changes/21145.new_function.rst
deleted file mode 100644
index 75fa9e181..000000000
--- a/doc/release/upcoming_changes/21145.new_function.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-NumPy now supports the DLPack protocol
---------------------------------------
-`numpy.from_dlpack` has been added to NumPy to exchange data using the DLPack protocol.
-It accepts Python objects that implement the ``__dlpack__`` and ``__dlpack_device__``
-methods and returns a ndarray object which is generally the view of the data of the input
-object.
diff --git a/doc/release/upcoming_changes/21154.improvement.rst b/doc/release/upcoming_changes/21154.improvement.rst
deleted file mode 100644
index 38630b47b..000000000
--- a/doc/release/upcoming_changes/21154.improvement.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-Math C library feature detection now uses correct signatures
-------------------------------------------------------------
-Compiling is preceded by a detection phase to determine whether the
-underlying libc supports certain math operations. Previously this code
-did not respect the proper signatures. Fixing this enables compilation
-for the ``wasm-ld`` backend (compilation for web assembly) and reduces
-the number of warnings.
diff --git a/doc/release/upcoming_changes/21187.new_feature.rst b/doc/release/upcoming_changes/21187.new_feature.rst
deleted file mode 100644
index 3781cfd04..000000000
--- a/doc/release/upcoming_changes/21187.new_feature.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-deterministic output files for F2PY
------------------------------------
-For F77 inputs, ``f2py`` will generate ``modname-f2pywrappers.f``
-unconditionally, though these may be empty. For free-form inputs,
-``modname-f2pywrappers.f``, ``modname-f2pywrappers2.f90`` will both be generated
-unconditionally, and may be empty. This allows writing generic output rules in
-``cmake`` or ``meson`` and other build systems. Older behavior can be restored
-by passing ``--skip-empty-wrappers`` to ``f2py``. :ref:`f2py-meson` details usage.
diff --git a/doc/release/upcoming_changes/21188.performance.rst b/doc/release/upcoming_changes/21188.performance.rst
deleted file mode 100644
index ce497572a..000000000
--- a/doc/release/upcoming_changes/21188.performance.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-Faster operations on NumPy scalars
-----------------------------------
-Many operations on NumPy scalars are now significantly faster, although
-rare operations (e.g. with 0-D arrays rather than scalars) may be slower
-in some cases.
-However, even with these improvements users who want the best performance
-for their scalars, may want to convert a known NumPy scalar into a Python
-one using `scalar.item()`.
diff --git a/doc/release/upcoming_changes/21262.improvement.rst b/doc/release/upcoming_changes/21262.improvement.rst
deleted file mode 100644
index 4b10b26b4..000000000
--- a/doc/release/upcoming_changes/21262.improvement.rst
+++ /dev/null
@@ -1,34 +0,0 @@
-``np.kron`` now maintains subclass information
-----------------------------------------------
-``np.kron`` maintains subclass information now such as masked arrays
-while computing the Kronecker product of the inputs
-
-.. code-block:: python
-
- >>> x = ma.array([[1, 2], [3, 4]], mask=[[0, 1], [1, 0]])
- >>> np.kron(x,x)
- masked_array(
- data=[[1, --, --, --],
- [--, 4, --, --],
- [--, --, 4, --],
- [--, --, --, 16]],
- mask=[[False, True, True, True],
- [ True, False, True, True],
- [ True, True, False, True],
- [ True, True, True, False]],
- fill_value=999999)
-
-.. warning::
- ``np.kron`` output now follows ``ufunc`` ordering (``multiply``)
- to determine the output class type
-
- .. code-block:: python
-
- >>> class myarr(np.ndarray):
- >>> __array_priority__ = -1
- >>> a = np.ones([2, 2])
- >>> ma = myarray(a.shape, a.dtype, a.data)
- >>> type(np.kron(a, ma)) == np.ndarray
- False # Before it was True
- >>> type(np.kron(a, ma)) == myarr
- True
diff --git a/doc/release/upcoming_changes/21354.performance.rst b/doc/release/upcoming_changes/21354.performance.rst
deleted file mode 100644
index 44c0df473..000000000
--- a/doc/release/upcoming_changes/21354.performance.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Faster ``np.kron``
-------------------
-`numpy.kron` is about 80% faster as the product is now computed
-using broadcasting.
diff --git a/doc/release/upcoming_changes/21485.new_feature.rst b/doc/release/upcoming_changes/21485.new_feature.rst
deleted file mode 100644
index 99fd5e92d..000000000
--- a/doc/release/upcoming_changes/21485.new_feature.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-``keepdims`` parameter for ``average``
---------------------------------------
-The parameter ``keepdims`` was added to the functions `numpy.average`
-and `numpy.ma.average`. The parameter has the same meaning as it
-does in reduction functions such as `numpy.sum` or `numpy.mean`.
diff --git a/doc/source/release.rst b/doc/source/release.rst
index f21b5610d..84f93bb0a 100644
--- a/doc/source/release.rst
+++ b/doc/source/release.rst
@@ -5,6 +5,7 @@ Release notes
.. toctree::
:maxdepth: 3
+ 1.24.0 <release/1.24.0-notes>
1.23.0 <release/1.23.0-notes>
1.22.4 <release/1.22.4-notes>
1.22.3 <release/1.22.3-notes>
diff --git a/doc/source/release/1.24.0-notes.rst b/doc/source/release/1.24.0-notes.rst
new file mode 100644
index 000000000..68134bce2
--- /dev/null
+++ b/doc/source/release/1.24.0-notes.rst
@@ -0,0 +1,45 @@
+.. currentmodule:: numpy
+
+==========================
+NumPy 1.24.0 Release Notes
+==========================
+
+
+Highlights
+==========
+
+
+New functions
+=============
+
+
+Deprecations
+============
+
+
+Future Changes
+==============
+
+
+Expired deprecations
+====================
+
+
+Compatibility notes
+===================
+
+
+C API changes
+=============
+
+
+New Features
+============
+
+
+Improvements
+============
+
+
+Changes
+=======
diff --git a/numpy/core/code_generators/cversions.txt b/numpy/core/code_generators/cversions.txt
index e6dc00dbb..dddcc148c 100644
--- a/numpy/core/code_generators/cversions.txt
+++ b/numpy/core/code_generators/cversions.txt
@@ -66,4 +66,5 @@
# Version 16 (NumPy 1.23)
# NonNull attributes removed from numpy_api.py
+# Version 16 (NumPy 1.24) No change.
0x00000010 = 04a7bf1e65350926a0e528798da263c0
diff --git a/pavement.py b/pavement.py
index 025489cbd..e54712e81 100644
--- a/pavement.py
+++ b/pavement.py
@@ -38,7 +38,7 @@ from paver.easy import Bunch, options, task, sh
#-----------------------------------
# Path to the release notes
-RELEASE_NOTES = 'doc/source/release/1.23.0-notes.rst'
+RELEASE_NOTES = 'doc/source/release/1.24.0-notes.rst'
#-------------------------------------------------------