summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.mailmap50
-rw-r--r--doc/changelog/1.21.0-changelog.rst745
-rw-r--r--doc/release/upcoming_changes/15271.compatibility.rst31
-rw-r--r--doc/release/upcoming_changes/16987.improvement.rst17
-rw-r--r--doc/release/upcoming_changes/17492.deprecation.rst7
-rw-r--r--doc/release/upcoming_changes/17586.deprecation.rst7
-rwxr-xr-xdoc/release/upcoming_changes/17727.performance.rst7
-rw-r--r--doc/release/upcoming_changes/17843.new_feature.rst22
-rw-r--r--doc/release/upcoming_changes/17900.expired.rst2
-rw-r--r--doc/release/upcoming_changes/17921.compatibility.rst6
-rw-r--r--doc/release/upcoming_changes/18070.improvement.rst12
-rw-r--r--doc/release/upcoming_changes/18110.change.rst5
-rw-r--r--doc/release/upcoming_changes/18116.future.rst29
-rw-r--r--doc/release/upcoming_changes/18322.new_feature.rst22
-rw-r--r--doc/release/upcoming_changes/18629.new_feature.rst10
-rw-r--r--doc/release/upcoming_changes/18657.performance.rst10
-rw-r--r--doc/release/upcoming_changes/18658.compatibility.rst6
-rw-r--r--doc/release/upcoming_changes/18666.improvement.rst9
-rw-r--r--doc/release/upcoming_changes/18695.new_feature.rst3
-rw-r--r--doc/release/upcoming_changes/18697.expired.rst5
-rw-r--r--doc/release/upcoming_changes/18718.c_api.rst13
-rw-r--r--doc/release/upcoming_changes/18718.compatibility.rst59
-rw-r--r--doc/release/upcoming_changes/18737.new_feature.rst12
-rw-r--r--doc/release/upcoming_changes/18874.change.rst11
-rw-r--r--doc/release/upcoming_changes/18880.compatibility.rst34
-rw-r--r--doc/release/upcoming_changes/18906.new_function.rst17
-rw-r--r--doc/release/upcoming_changes/18934.improvement.rst5
-rw-r--r--doc/release/upcoming_changes/18935.new_feature.rst28
-rw-r--r--doc/release/upcoming_changes/18963.expired.rst8
-rw-r--r--doc/release/upcoming_changes/19001.deprecation.rst8
-rw-r--r--doc/release/upcoming_changes/19031.deprecation.rst12
-rw-r--r--doc/release/upcoming_changes/19049.compatibility.rst6
-rw-r--r--doc/source/release/1.21.0-notes.rst557
-rw-r--r--numpy/core/code_generators/cversions.txt1
-rw-r--r--numpy/core/setup_common.py1
35 files changed, 1332 insertions, 445 deletions
diff --git a/.mailmap b/.mailmap
index 30a0981cd..3fb20e3ce 100644
--- a/.mailmap
+++ b/.mailmap
@@ -8,6 +8,27 @@
# This file is up-to-date if the command git log --format="%aN <%aE>" | sort -u
# gives no duplicates.
+@8bitmp3 <19637339+8bitmp3@users.noreply.github.com>
+@DWesl <22566757+DWesl@users.noreply.github.com>
+@Endolith <endolith@gmail.com>
+@Illviljan <14371165+Illviljan@users.noreply.github.com>
+@LSchroefl <65246829+LSchroefl@users.noreply.github.com>
+@Lbogula <bogulala7@gmail.com>
+@Lisa <34400837+lyzlisa@users.noreply.github.com>
+@Patrick <39380924+xamm@users.noreply.github.com>
+@Scian <65375075+hoony6134@users.noreply.github.com>
+@h-vetinari <h.vetinari@gmx.com>
+@h6197627 <44726212+h6197627@users.noreply.github.com>
+@jbCodeHub <besselingcodehub@gmail.com>
+@legoffant <58195095+legoffant@users.noreply.github.com>
+@luzpaz <kunda@scribus.net>
+@luzpaz <kunda@scribus.net> <luzpaz@users.noreply.github.com>
+@sfolje0 <sfolje0@github>
+@spacescientist <aspacescientist@protonmail.com> <spacescientist@pm.me>
+@tautaus <sunt9751@gmail.com>
+@xoviat <49173759+xoviat@users.noreply.github.com>
+@xoviat <49173759+xoviat@users.noreply.github.com> <xoviat@users.noreply.github.com>
+@yetanothercheer <yetanothercheer@protonmail.com>
Aaron Baecker <abaecker@localhost>
Aarthi Agurusa <agurusa@gmail.com>
Alan Fontenot <logeaux@yahoo.com>
@@ -65,6 +86,7 @@ Ashutosh Singh <ashutoshsinghrkt@gmail.com> <55102089+Ashutosh619-sudo@users.nor
Auke Wiggers <wiggers.auke@gmail.com>
Badhri Narayanan Krishnakumar <badhrinarayanan.k@gmail.com>
Bangcheng Yang <bangchengyang@hotmail.com>
+Bhargav V <12525622+brpy@users.noreply.github.com>
Bas van Beek <b.f.van.beek@vu.nl> <43369155+BvB93@users.noreply.github.com>
Behzad Nouri <behzadnouri@gmail.com>
Ben Nathanson <github@bigriver.xyz>
@@ -133,7 +155,6 @@ Dylan Cutler <dylancutler@google.com>
Ed Schofield <edschofield@localhost>
Egor Zindy <ezindy@gmail.com>
Elliott M. Forney <elliott.forney@gmail.com>
-Endolith <endolith@gmail.com>
Erik M. Bray <erik.m.bray@gmail.com>
Erik M. Bray <erik.m.bray@gmail.com> <erik.bray@lri.fr>
Erik M. Bray <erik.m.bray@gmail.com> <embray@stsci.edu>
@@ -150,6 +171,7 @@ François Le Lay <mfworx@gmail.com> <fly@spotify.com>
Frank Breitling <frank.breitling@gmx.de>
Friedrich Dunne <dunneff@tcd.ie> dunneff <dunneff@tcd.ie>
Frederic Bastien <nouiz@nouiz.org> Frederic <nouiz@nouiz.org>
+FX Coudert <fxcoudert@gmail.com>
Gael Varoquaux <gael.varoquaux@normalesup.org>
Gerrit Holl <gerrit.holl@gmail.com> <gerrit.holl@utoronto.ca>
Gerrit Holl <gerrit.holl@gmail.com> <g.holl@reading.ac.uk>
@@ -217,7 +239,10 @@ Justus Magin <keewis@posteo.de>
Justus Magin <keewis@posteo.de> <keewis@users.noreply.github.com>
Kai Striega <kaistriega@gmail.com>
Kai Striega <kaistriega@gmail.com> <kaistriega+github@gmail.com>
+Kasia Leszek <kati.leszek@gmail.com>
+Kasia Leszek <kati.leszek@gmail.com> <39829548+katleszek@users.noreply.github.com>
Karan Dhir <karan.dhir@berkeley.edu> <kurrandhir@gmail.com>
+Keller Meier <max.kellermeier@hotmail.de>
Kevin Sheppard <kevin.k.sheppard@gmail.com> <bashtage@users.noreply.github.com>
Kevin Sheppard <kevin.k.sheppard@gmail.com> <kevin.sheppard@gmail.com>
Kerem Hallaç <hallackerem@gmail.com>
@@ -254,7 +279,8 @@ Mary Conley <sleeplessinseattle.dev@gmail.com>
Matheus Vieira Portela <matheus.v.portela@gmail.com>
Mathieu Lamarre <mlamarre@ea.com> <mathieu@vlam3d.com>
Matías Ríos <riosm@dickinson.edu>
-Matt Ord <55235095+Matt-Ord@users.noreply.github.com>
+Matt Ord <Matthew.ord1@gmail.com>
+Matt Ord <Matthew.ord1@gmail.com> <55235095+Matt-Ord@users.noreply.github.com>
Matt Hancock <not.matt.hancock@gmail.com> <mhancock743@gmail.com>
Martino Sorbaro <martino.sorbaro@ed.ac.uk>
Mattheus Ueckermann <empeeu@yahoo.com>
@@ -407,23 +433,3 @@ Zieji Pohz <poh.ziji@gmail.com>
Zieji Pohz <poh.ziji@gmail.com> <8103276+zjpoh@users.noreply.github.com>
Zolboo Erdenebaatar <erdenebz@dickinson.edu>
Zolisa Bleki <zolisa.bleki@gmail.com> <44142765+zoj613@users.noreply.github.com>
-~DWesl <22566757+DWesl@users.noreply.github.com>
-~Endolith <endolith@gmail.com>
-~FX Coudert <fxcoudert@gmail.com>
-~Illviljan <14371165+Illviljan@users.noreply.github.com>
-~LSchroefl <65246829+LSchroefl@users.noreply.github.com>
-~Lbogula <bogulala7@gmail.com>
-~Patrick <39380924+xamm@users.noreply.github.com>
-~Scian <65375075+hoony6134@users.noreply.github.com>
-~h-vetinari <h.vetinari@gmx.com>
-~h6197627 <44726212+h6197627@users.noreply.github.com>
-~jbCodeHub <besselingcodehub@gmail.com>
-~legoffant <58195095+legoffant@users.noreply.github.com>
-~luzpaz <kunda@scribus.net>
-~luzpaz <kunda@scribus.net> <luzpaz@users.noreply.github.com>
-~sfolje0 <sfolje0@github>
-~spacescientist <aspacescientist@protonmail.com> <spacescientist@pm.me>
-~tautaus <sunt9751@gmail.com>
-~xoviat <49173759+xoviat@users.noreply.github.com>
-~xoviat <49173759+xoviat@users.noreply.github.com> <xoviat@users.noreply.github.com>
-~yetanothercheer <yetanothercheer@protonmail.com>
diff --git a/doc/changelog/1.21.0-changelog.rst b/doc/changelog/1.21.0-changelog.rst
new file mode 100644
index 000000000..a0891b232
--- /dev/null
+++ b/doc/changelog/1.21.0-changelog.rst
@@ -0,0 +1,745 @@
+
+Contributors
+============
+
+A total of 171 people contributed to this release. People with a "+" by their
+names contributed a patch for the first time.
+
+* @8bitmp3 +
+* @DWesl +
+* @Endolith
+* @Illviljan +
+* @Lbogula +
+* @Lisa +
+* @Patrick +
+* @Scian +
+* @h-vetinari +
+* @h6197627 +
+* @jbCodeHub +
+* @legoffant +
+* @sfolje0 +
+* @tautaus +
+* @yetanothercheer +
+* Abhay Raghuvanshi +
+* Adrian Price-Whelan +
+* Aerik Pawson +
+* Agbonze Osazuwa +
+* Aitik Gupta +
+* Al-Baraa El-Hag
+* Alex Henrie
+* Alexander Hunt +
+* Alizé Papp +
+* Allan Haldane
+* Amarnath1904 +
+* Amrit Krishnan +
+* Andras Deak
+* AngelGris +
+* Anne Archibald
+* Anthony Vo +
+* Antony Lee
+* Atharva-Vidwans +
+* Ayush Verma +
+* Bas van Beek
+* Bharat Raghunathan
+* Bhargav V +
+* Brian Soto
+* Carl Michal +
+* Charles Harris
+* Charles Stern +
+* Chiara Marmo +
+* Chris Barnes +
+* Chris Vavaliaris
+* Christina Hedges +
+* Christoph Gohlke
+* Christopher Dahlin +
+* Christos Efstathiou +
+* Chunlin Fang
+* Constanza Fierro +
+* Daniel Evans +
+* Daniel Montes +
+* Dario Mory +
+* David Carlier +
+* David Stansby
+* Deepyaman Datta +
+* Derek Homeier
+* Dong Keun Oh +
+* Dylan Cutler +
+* Eric Larson
+* Eric Wieser
+* Eva Jau +
+* Evgeni Burovski
+* FX Coudert +
+* Faris A Chugthai +
+* Filip Ter +
+* Filip Trojan +
+* François Le Lay +
+* Ganesh Kathiresan
+* Giannis Zapantis +
+* Giulio Procopio +
+* Greg Lucas +
+* Hollow Man +
+* Holly Corbett +
+* Inessa Pawson
+* Isabela Presedo-Floyd
+* Ismael Jimenez +
+* Isuru Fernando
+* Jakob Jakobson
+* James Gerity +
+* Jamie Macey +
+* Jasmin Classen +
+* Jody Klymak +
+* Joseph Fox-Rabinovitz
+* Jérome Eertmans +
+* Kamil Choudhury +
+* Kasia Leszek +
+* Keller Meier +
+* Kevin Sheppard
+* Kulin Seth +
+* Kumud Lakara +
+* Laura Kopf +
+* Laura Martens +
+* Leo Singer +
+* Leonardus Chen +
+* Lima Tango +
+* Lumir Balhar +
+* Maia Kaplan +
+* Mainak Debnath +
+* Marco Aurélio da Costa +
+* Marta Lemanczyk +
+* Marten van Kerkwijk
+* Mary Conley +
+* Marysia Winkels +
+* Mateusz Sokół +
+* Matt Haberland
+* Matt Hall +
+* Matt Ord +
+* Matthew Badin +
+* Matthias Bussonnier
+* Matthias Geier
+* Matti Picus
+* Matías Ríos +
+* Maxim Belkin +
+* Melissa Weber Mendonça
+* Meltem Eren Copur +
+* Michael Dubravski +
+* Michael Lamparski
+* Michal W. Tarnowski +
+* Michał Górny +
+* Mike Boyle +
+* Mike Toews
+* Misal Raj +
+* Mitchell Faas +
+* Mukulikaa Parhari +
+* Neil Girdhar +
+* Nicholas McKibben +
+* Nico Schlömer
+* Nicolas Hug +
+* Nilo Kruchelski +
+* Nirjas Jakilim +
+* Ohad Ravid +
+* Olivier Grisel
+* Pamphile ROY +
+* Panos Mavrogiorgos +
+* Patrick T. Komiske III +
+* Pearu Peterson
+* Raghuveer Devulapalli
+* Ralf Gommers
+* Raúl Montón Pinillos +
+* Rin Arakaki +
+* Robert Kern
+* Rohit Sanjay
+* Roman Yurchak
+* Ronan Lamy
+* Ross Barnowski
+* Ryan C Cooper
+* Ryan Polley +
+* Ryan Soklaski
+* Sabrina Simao +
+* Sayed Adel
+* Sebastian Berg
+* Shen Zhou +
+* Stefan van der Walt
+* Sylwester Arabas +
+* Takanori Hirano
+* Tania Allard +
+* Thomas J. Fan +
+* Thomas Orgis +
+* Tim Hoffmann
+* Tomoki, Karatsu +
+* Tong Zou +
+* Touqir Sajed +
+* Tyler Reddy
+* Wansoo Kim
+* Warren Weckesser
+* Weh Andreas +
+* Yang Hau
+* Yashasvi Misra +
+* Zolboo Erdenebaatar +
+* Zolisa Bleki
+
+Pull requests merged
+====================
+
+A total of 561 pull requests were merged for this release.
+
+* `#13578 <https://github.com/numpy/numpy/pull/13578>`__: DEP: Deprecate `data_type.dtype` if attribute is not already...
+* `#15269 <https://github.com/numpy/numpy/pull/15269>`__: ENH: Implement faster keyword argument parsing capable of ``METH_FASTCALL``
+* `#15271 <https://github.com/numpy/numpy/pull/15271>`__: ENH: Optimize and cleanup ufunc calls and ufunc CheckOverrides
+* `#15392 <https://github.com/numpy/numpy/pull/15392>`__: BUG: Remove temporary change of descr/flags in VOID functions
+* `#16164 <https://github.com/numpy/numpy/pull/16164>`__: DOC: Add more information about poly1d -> polynomial to reference...
+* `#16241 <https://github.com/numpy/numpy/pull/16241>`__: ENH: Warn when reloading numpy or using numpy in sub-interpreter
+* `#16370 <https://github.com/numpy/numpy/pull/16370>`__: DOC: Fix for building with sphinx 3
+* `#16588 <https://github.com/numpy/numpy/pull/16588>`__: DOC: unify the docs for np.transpose and ndarray.transpose
+* `#16818 <https://github.com/numpy/numpy/pull/16818>`__: DOC: added examples section for rfft2 and irfft2 docstring
+* `#16855 <https://github.com/numpy/numpy/pull/16855>`__: DOC: Fix Typo (Wrong argument name)
+* `#16987 <https://github.com/numpy/numpy/pull/16987>`__: ENH: Phase unwrapping generalized to arbitrary interval size
+* `#17102 <https://github.com/numpy/numpy/pull/17102>`__: SIMD: Optimize the performance of np.packbits in AVX2/AVX512F/VSX.
+* `#17122 <https://github.com/numpy/numpy/pull/17122>`__: MAINT: Use numpy version for f2py version.
+* `#17492 <https://github.com/numpy/numpy/pull/17492>`__: DEP: Shift correlate mode parsing to C and deprecate inexact...
+* `#17586 <https://github.com/numpy/numpy/pull/17586>`__: DEP: Formally deprecate `np.typeDict`
+* `#17587 <https://github.com/numpy/numpy/pull/17587>`__: SIMD: Replace raw SIMD of sin/cos with NPYV(universal intrinsics)
+* `#17636 <https://github.com/numpy/numpy/pull/17636>`__: MAINT: Bump pydata-sphinx-theme and set logo link to index
+* `#17637 <https://github.com/numpy/numpy/pull/17637>`__: DOC: Add module template
+* `#17719 <https://github.com/numpy/numpy/pull/17719>`__: ENH: Make `ndarray` generic w.r.t. its shape and dtype
+* `#17727 <https://github.com/numpy/numpy/pull/17727>`__: ENH: Added libdivide for floor divide
+* `#17736 <https://github.com/numpy/numpy/pull/17736>`__: BUG, Benchmark: fix passing optimization build options to asv
+* `#17737 <https://github.com/numpy/numpy/pull/17737>`__: MAINT, Benchmark: print the supported CPU features during the...
+* `#17778 <https://github.com/numpy/numpy/pull/17778>`__: ENH: Add annotations for comparison operations
+* `#17782 <https://github.com/numpy/numpy/pull/17782>`__: SIMD: Optimize the performance of einsum's submodule multiply...
+* `#17789 <https://github.com/numpy/numpy/pull/17789>`__: ENH, SIMD: Add new NPYV intrinsics pack(0)
+* `#17790 <https://github.com/numpy/numpy/pull/17790>`__: ENH, SIMD: Add new NPYV intrinsics pack(1)
+* `#17791 <https://github.com/numpy/numpy/pull/17791>`__: BLD: Enable Werror=undef in travis
+* `#17792 <https://github.com/numpy/numpy/pull/17792>`__: ENH: add support for fujitsu compiler to numpy.
+* `#17795 <https://github.com/numpy/numpy/pull/17795>`__: ENH: Add two new `_<X>Like` unions
+* `#17817 <https://github.com/numpy/numpy/pull/17817>`__: BUG: Ignore fewer errors during array-coercion
+* `#17836 <https://github.com/numpy/numpy/pull/17836>`__: MAINT: Add git rules to ignore all SIMD generated files
+* `#17843 <https://github.com/numpy/numpy/pull/17843>`__: ENH: Add a mypy plugin for inferring platform-specific `np.number`...
+* `#17847 <https://github.com/numpy/numpy/pull/17847>`__: TST: use latest pypy37 not pypy36
+* `#17852 <https://github.com/numpy/numpy/pull/17852>`__: DOC: Doc for deprecate_with_doc
+* `#17853 <https://github.com/numpy/numpy/pull/17853>`__: DOC: Clarify docs of np.resize().
+* `#17861 <https://github.com/numpy/numpy/pull/17861>`__: MAINT: Update master after 1.20.x branch.
+* `#17862 <https://github.com/numpy/numpy/pull/17862>`__: Make it clearer that np.interp input must be monotonically increasing
+* `#17863 <https://github.com/numpy/numpy/pull/17863>`__: MAINT: Implement new casting loops based on NEP 42 and 43
+* `#17866 <https://github.com/numpy/numpy/pull/17866>`__: DOC: fix typo in glossary.rst
+* `#17868 <https://github.com/numpy/numpy/pull/17868>`__: BUG, TST: use python-version not PYTHON_VERSION
+* `#17872 <https://github.com/numpy/numpy/pull/17872>`__: DOC: update the release howto for oldest-supported-numpy
+* `#17874 <https://github.com/numpy/numpy/pull/17874>`__: MAINT: clean up a spurious warning in numpy/typing/setup.py
+* `#17875 <https://github.com/numpy/numpy/pull/17875>`__: DOC: Prepare for 1.20.0 release
+* `#17876 <https://github.com/numpy/numpy/pull/17876>`__: DOC: fixed typo in np-indexing.png explaining [-2:] slice in...
+* `#17877 <https://github.com/numpy/numpy/pull/17877>`__: BUG: Fix buffer readflag errors and small leaks
+* `#17878 <https://github.com/numpy/numpy/pull/17878>`__: BUG: np.arange: Allow `stop` not `start` as sole kwargs.
+* `#17881 <https://github.com/numpy/numpy/pull/17881>`__: MAINT: Bump hypothesis from 5.41.3 to 5.41.4
+* `#17883 <https://github.com/numpy/numpy/pull/17883>`__: MAINT: Remove duplicate dictionary entry
+* `#17884 <https://github.com/numpy/numpy/pull/17884>`__: BUG: numpy.putmask not respecting writeable flag
+* `#17886 <https://github.com/numpy/numpy/pull/17886>`__: ENH: Timestamp development versions.
+* `#17887 <https://github.com/numpy/numpy/pull/17887>`__: DOC: Update arraycreation
+* `#17888 <https://github.com/numpy/numpy/pull/17888>`__: DOC: Correct sentence/statement composition
+* `#17889 <https://github.com/numpy/numpy/pull/17889>`__: DOC: Rename basics to fundamentals + added description
+* `#17895 <https://github.com/numpy/numpy/pull/17895>`__: MAINT: Remove remaining uses of Python 3.6.
+* `#17896 <https://github.com/numpy/numpy/pull/17896>`__: ENH: Speed up default `where` in the reduce-like method
+* `#17897 <https://github.com/numpy/numpy/pull/17897>`__: BUG: merging PR to use -Werror=undef broke another PR
+* `#17900 <https://github.com/numpy/numpy/pull/17900>`__: DEP: Finalize unravel_index `dims` alias for `shape` keyword
+* `#17906 <https://github.com/numpy/numpy/pull/17906>`__: BUG: Fix a MacOS build failure
+* `#17907 <https://github.com/numpy/numpy/pull/17907>`__: BUG: 'bool' object has no attribute 'ndim'
+* `#17912 <https://github.com/numpy/numpy/pull/17912>`__: BUG: remove stray '+' from f-string upgrade in numba/extending.py
+* `#17914 <https://github.com/numpy/numpy/pull/17914>`__: DOC: Update release notes to mention `type(dtype) is not np.dtype`
+* `#17920 <https://github.com/numpy/numpy/pull/17920>`__: NEP: Update NEP 42 and 43 according to the current implementation
+* `#17921 <https://github.com/numpy/numpy/pull/17921>`__: BUG: Enforce high >= low on uniform number generators
+* `#17929 <https://github.com/numpy/numpy/pull/17929>`__: MAINT: Replace `contextlib_nullcontext` with `contextlib.nullcontext`
+* `#17934 <https://github.com/numpy/numpy/pull/17934>`__: DOC: Add information about leak checking and valgrind
+* `#17936 <https://github.com/numpy/numpy/pull/17936>`__: TST: Fixed an issue where the typing tests would fail for comparison...
+* `#17942 <https://github.com/numpy/numpy/pull/17942>`__: DOC: Clarify savez documentation of naming arrays in output file
+* `#17943 <https://github.com/numpy/numpy/pull/17943>`__: [DOC]: Wrong length for underline in docstring.
+* `#17945 <https://github.com/numpy/numpy/pull/17945>`__: MAINT: Bump hypothesis from 5.41.4 to 5.41.5
+* `#17950 <https://github.com/numpy/numpy/pull/17950>`__: BUG: Removed empty String from Nag Compiler's Flags
+* `#17953 <https://github.com/numpy/numpy/pull/17953>`__: NEP: Accept NEP 42 -- New and extensible DTypes
+* `#17955 <https://github.com/numpy/numpy/pull/17955>`__: DOC: Replace {var} in docstrings type annotation with `scalar...
+* `#17956 <https://github.com/numpy/numpy/pull/17956>`__: ENH: Use versioneer to manage numpy versions.
+* `#17957 <https://github.com/numpy/numpy/pull/17957>`__: TST: Fix crosstalk issues with polynomial str tests.
+* `#17958 <https://github.com/numpy/numpy/pull/17958>`__: MAINT: Optimize the performance of count_nonzero by using universal...
+* `#17960 <https://github.com/numpy/numpy/pull/17960>`__: TST, BUILD: Add a native x86 baseline build running on ubuntu-20.04
+* `#17962 <https://github.com/numpy/numpy/pull/17962>`__: TST: Ensure tests are not sensitive to execution order
+* `#17966 <https://github.com/numpy/numpy/pull/17966>`__: BUG: Add missing decref to arange
+* `#17968 <https://github.com/numpy/numpy/pull/17968>`__: ENH: Use more typevars in `np.dtype`
+* `#17971 <https://github.com/numpy/numpy/pull/17971>`__: BUG, SIMD: Fix direactive check for AVX512BW of intrinsics npyv_tobits_*
+* `#17973 <https://github.com/numpy/numpy/pull/17973>`__: DEP: Futurewarn on requiring __len__ on array-likes
+* `#17974 <https://github.com/numpy/numpy/pull/17974>`__: BLD: Fixes for versioneer and setup.py sdist.
+* `#17976 <https://github.com/numpy/numpy/pull/17976>`__: DOC: Add/remove spaces in snippets and re-format here and there
+* `#17978 <https://github.com/numpy/numpy/pull/17978>`__: MAINT: Update test_requirements and release_requirements.
+* `#17981 <https://github.com/numpy/numpy/pull/17981>`__: ENH: Add proper dtype-support to `np.flatiter`
+* `#17985 <https://github.com/numpy/numpy/pull/17985>`__: ENH, SIMD: Ditching the old CPU dispatcher(Arithmetic)
+* `#17992 <https://github.com/numpy/numpy/pull/17992>`__: DOC: Replace verbatim with reference to local parameter
+* `#17993 <https://github.com/numpy/numpy/pull/17993>`__: [DOC] np.kron use double backticks for non-references
+* `#17994 <https://github.com/numpy/numpy/pull/17994>`__: SIMD: Optimize the performance of einsum's submodule dot .
+* `#17995 <https://github.com/numpy/numpy/pull/17995>`__: MAINT: Bump pytest from 6.0.2 to 6.2.0
+* `#17996 <https://github.com/numpy/numpy/pull/17996>`__: MAINT: Update wheel requirement from <=0.35.1 to <0.36.3
+* `#17997 <https://github.com/numpy/numpy/pull/17997>`__: MAINT: Bump hypothesis from 5.41.5 to 5.43.3
+* `#17998 <https://github.com/numpy/numpy/pull/17998>`__: TST: ignore pytest warning
+* `#17999 <https://github.com/numpy/numpy/pull/17999>`__: Replace Numpy with NumPy
+* `#18001 <https://github.com/numpy/numpy/pull/18001>`__: BLD, BUG: Fix detecting aarch64 on macOS
+* `#18002 <https://github.com/numpy/numpy/pull/18002>`__: DOC: Fix and extend the docstring for np.inner
+* `#18007 <https://github.com/numpy/numpy/pull/18007>`__: DOC: Add a brief explanation of float printing
+* `#18008 <https://github.com/numpy/numpy/pull/18008>`__: DOC: fix for doctests
+* `#18011 <https://github.com/numpy/numpy/pull/18011>`__: BLD: update to OpenBLAS 0.3.13
+* `#18012 <https://github.com/numpy/numpy/pull/18012>`__: SIMD: Optimize the performance of einsum's submodule sum.
+* `#18014 <https://github.com/numpy/numpy/pull/18014>`__: DOC: random: add some examples for SeedSequence
+* `#18027 <https://github.com/numpy/numpy/pull/18027>`__: DOC, MAINT: Minor fixes to refguide_check.py documentation.
+* `#18030 <https://github.com/numpy/numpy/pull/18030>`__: BUG: make a variable volatile to work around clang compiler bug
+* `#18031 <https://github.com/numpy/numpy/pull/18031>`__: DOC: Parameter name typo axes -> axis in numpy.fft._pocketfft.
+* `#18032 <https://github.com/numpy/numpy/pull/18032>`__: ENH: Add annotations for `np.core.arrayprint`
+* `#18034 <https://github.com/numpy/numpy/pull/18034>`__: DOC: Fix a couple of reference to verbatim and vice versa
+* `#18042 <https://github.com/numpy/numpy/pull/18042>`__: MAINT: Add dist_info to "other" setup.py commands.
+* `#18045 <https://github.com/numpy/numpy/pull/18045>`__: MAINT: Bump pytest from 6.2.0 to 6.2.1
+* `#18046 <https://github.com/numpy/numpy/pull/18046>`__: TST: add back sdist test run
+* `#18047 <https://github.com/numpy/numpy/pull/18047>`__: BLD,DOC: pin sphinx to 3.3.1
+* `#18048 <https://github.com/numpy/numpy/pull/18048>`__: DOC: Update TESTS.rst.txt
+* `#18050 <https://github.com/numpy/numpy/pull/18050>`__: MAINT: Add aliases for commonly used `ArrayLike` objects
+* `#18051 <https://github.com/numpy/numpy/pull/18051>`__: DEP: deprecate np.testing.dec
+* `#18052 <https://github.com/numpy/numpy/pull/18052>`__: BUG: Fix concatenation when the output is "S" or "U"
+* `#18054 <https://github.com/numpy/numpy/pull/18054>`__: DOC: Update stack docstrings
+* `#18057 <https://github.com/numpy/numpy/pull/18057>`__: BLD: ensure we give the right error message for old Python versions
+* `#18062 <https://github.com/numpy/numpy/pull/18062>`__: DOC: add missing details to linalg.lstsq docstring
+* `#18065 <https://github.com/numpy/numpy/pull/18065>`__: MAINT: CPUs that support unaligned access.
+* `#18066 <https://github.com/numpy/numpy/pull/18066>`__: TST: Allow mypy output types to be specified via aliases
+* `#18067 <https://github.com/numpy/numpy/pull/18067>`__: MAINT: Remove obsolete workaround to set ndarray.__hash__ = None
+* `#18070 <https://github.com/numpy/numpy/pull/18070>`__: BUG: Fix unique handling of nan entries.
+* `#18072 <https://github.com/numpy/numpy/pull/18072>`__: MAINT: crackfortran regex simplify
+* `#18074 <https://github.com/numpy/numpy/pull/18074>`__: MAINT: exprtype regex simplify
+* `#18075 <https://github.com/numpy/numpy/pull/18075>`__: ENH, SIMD: Dispatch for unsigned floor division
+* `#18077 <https://github.com/numpy/numpy/pull/18077>`__: NEP: mark NEP 28 on website redesign as final
+* `#18078 <https://github.com/numpy/numpy/pull/18078>`__: Fix build warnings in NEPs
+* `#18079 <https://github.com/numpy/numpy/pull/18079>`__: MAINT: Bump sphinx from 3.3.1 to 3.4.1
+* `#18080 <https://github.com/numpy/numpy/pull/18080>`__: MAINT: Bump pytz from 2020.4 to 2020.5
+* `#18081 <https://github.com/numpy/numpy/pull/18081>`__: MAINT: Bump hypothesis from 5.43.3 to 5.43.4
+* `#18082 <https://github.com/numpy/numpy/pull/18082>`__: DOC: roadmap update
+* `#18083 <https://github.com/numpy/numpy/pull/18083>`__: MAINT: regex char class improve
+* `#18084 <https://github.com/numpy/numpy/pull/18084>`__: NEP: NumPy sponsorship guidelines (NEP 46)
+* `#18085 <https://github.com/numpy/numpy/pull/18085>`__: DOC: replace 'this platform' with the actual platform in the...
+* `#18086 <https://github.com/numpy/numpy/pull/18086>`__: BUG, SIMD: Fix _simd module build for 64bit Arm/neon clang
+* `#18088 <https://github.com/numpy/numpy/pull/18088>`__: DOC: Update reference to verbatim in a few location.
+* `#18090 <https://github.com/numpy/numpy/pull/18090>`__: MAINT: multiline regex class simplify
+* `#18091 <https://github.com/numpy/numpy/pull/18091>`__: DOC: Avoid using "set of" when talking about an ordered list.
+* `#18097 <https://github.com/numpy/numpy/pull/18097>`__: NEP: update backwards compatibility and deprecation policy NEP
+* `#18100 <https://github.com/numpy/numpy/pull/18100>`__: BUG, BLD: Generate the main dispatcher config header into the...
+* `#18101 <https://github.com/numpy/numpy/pull/18101>`__: ENH: move exp, log, frexp, ldexp to SIMD dispatching
+* `#18103 <https://github.com/numpy/numpy/pull/18103>`__: TST: Avoid changing odd tempfile names in tests' site.cfg
+* `#18104 <https://github.com/numpy/numpy/pull/18104>`__: TST: Turn some tests with loops into parametrized tests.
+* `#18109 <https://github.com/numpy/numpy/pull/18109>`__: MAINT: Fix exception cause in mingw32ccompiler.py
+* `#18110 <https://github.com/numpy/numpy/pull/18110>`__: API: make piecewise subclass safe using use zeros_like.
+* `#18111 <https://github.com/numpy/numpy/pull/18111>`__: MAINT: Bump hypothesis from 5.43.4 to 5.46.0
+* `#18115 <https://github.com/numpy/numpy/pull/18115>`__: BUG: Fix promotion of half and string
+* `#18116 <https://github.com/numpy/numpy/pull/18116>`__: DEP: Deprecate promotion of numbers and bool to string
+* `#18118 <https://github.com/numpy/numpy/pull/18118>`__: BUG, MAINT: improve avx512 mask logical operations
+* `#18126 <https://github.com/numpy/numpy/pull/18126>`__: REL: Update master after 1.19.5 release.
+* `#18128 <https://github.com/numpy/numpy/pull/18128>`__: ENH: Add dtype support to the array comparison ops
+* `#18136 <https://github.com/numpy/numpy/pull/18136>`__: ENH: Adding keyboard interrupt support for array creation
+* `#18144 <https://github.com/numpy/numpy/pull/18144>`__: BLD: add found Cython version to check in cythonize.py
+* `#18148 <https://github.com/numpy/numpy/pull/18148>`__: MAINT: Bump sphinx from 3.4.1 to 3.4.3
+* `#18149 <https://github.com/numpy/numpy/pull/18149>`__: MAINT: Bump hypothesis from 5.46.0 to 6.0.0
+* `#18150 <https://github.com/numpy/numpy/pull/18150>`__: BUG: Ensure too many advanced indices raises an exception
+* `#18152 <https://github.com/numpy/numpy/pull/18152>`__: BUG: Promotion between strings and objects was assymetric
+* `#18156 <https://github.com/numpy/numpy/pull/18156>`__: MAINT: Remove redundant null check before free
+* `#18157 <https://github.com/numpy/numpy/pull/18157>`__: BUG: Initialize value of no_castable_output used in ufunc_loop_matches
+* `#18161 <https://github.com/numpy/numpy/pull/18161>`__: MAINT: Make keyword arrays static
+* `#18164 <https://github.com/numpy/numpy/pull/18164>`__: TST: add a pypy37 windows 64-bit build
+* `#18166 <https://github.com/numpy/numpy/pull/18166>`__: Use sinus based formula for ``chebpts1``
+* `#18169 <https://github.com/numpy/numpy/pull/18169>`__: ENH: cpu features detection implementation on FreeBSD ARM
+* `#18173 <https://github.com/numpy/numpy/pull/18173>`__: TST: Clear the mypy cache before running any typing tests
+* `#18174 <https://github.com/numpy/numpy/pull/18174>`__: MAINT: Changed the `NBitBase` variancy in `number` from co- to...
+* `#18176 <https://github.com/numpy/numpy/pull/18176>`__: ENH: Improve performance of tril_indices and triu_indices
+* `#18178 <https://github.com/numpy/numpy/pull/18178>`__: SIMD: add fast integer division intrinsics for all supported...
+* `#18180 <https://github.com/numpy/numpy/pull/18180>`__: BUG: threads.h existence test requires GLIBC > 2.12.
+* `#18181 <https://github.com/numpy/numpy/pull/18181>`__: ENH: [f2py] Add external attribute support.
+* `#18182 <https://github.com/numpy/numpy/pull/18182>`__: MAINT: Bump hypothesis from 6.0.0 to 6.0.2
+* `#18183 <https://github.com/numpy/numpy/pull/18183>`__: MAINT: Optimize numpy.count_nonzero for int types using SIMD...
+* `#18184 <https://github.com/numpy/numpy/pull/18184>`__: BUG: Fix f2py bugs when wrapping F90 subroutines.
+* `#18185 <https://github.com/numpy/numpy/pull/18185>`__: MAINT: Give the `_<X>Like` and `_ArrayLike<X>` type aliases a...
+* `#18187 <https://github.com/numpy/numpy/pull/18187>`__: STY: unify imports in __init__.py
+* `#18191 <https://github.com/numpy/numpy/pull/18191>`__: STY: Use explicit reexports for numpy.typing objects
+* `#18193 <https://github.com/numpy/numpy/pull/18193>`__: MAINT: Fix typo in docstring example
+* `#18194 <https://github.com/numpy/numpy/pull/18194>`__: MAINT: einsum: Optimize the sub function two-operands by using...
+* `#18196 <https://github.com/numpy/numpy/pull/18196>`__: BLD: update OpenBLAS to af2b0d02
+* `#18197 <https://github.com/numpy/numpy/pull/18197>`__: BUG: Keep ignoring most errors during array-protocol lookup
+* `#18200 <https://github.com/numpy/numpy/pull/18200>`__: ENH: Add new intrinsics sum_u8/u16/u64.
+* `#18204 <https://github.com/numpy/numpy/pull/18204>`__: TST: Speed up the typing tests
+* `#18205 <https://github.com/numpy/numpy/pull/18205>`__: MAINT: Update pavement.py to work with versioneer.
+* `#18208 <https://github.com/numpy/numpy/pull/18208>`__: TST: raise memory limit for test
+* `#18210 <https://github.com/numpy/numpy/pull/18210>`__: DOC: typo in post-loop return
+* `#18211 <https://github.com/numpy/numpy/pull/18211>`__: MAINT: random shuffle: warn on unrecognized objects, fix empty...
+* `#18213 <https://github.com/numpy/numpy/pull/18213>`__: DOC: Formatting consistency.
+* `#18214 <https://github.com/numpy/numpy/pull/18214>`__: DOC: Double backticks for inline code example.
+* `#18217 <https://github.com/numpy/numpy/pull/18217>`__: MAINT: Ignore ComplexWarning in ``test_iter_copy_casts``.
+* `#18221 <https://github.com/numpy/numpy/pull/18221>`__: DOC: Misc single to double backticks fixes.
+* `#18223 <https://github.com/numpy/numpy/pull/18223>`__: DOC: Improve doc for numpy.random.Generator.choice
+* `#18224 <https://github.com/numpy/numpy/pull/18224>`__: MAINT: Bump pydata-sphinx-theme from 0.4.1 to 0.4.2
+* `#18225 <https://github.com/numpy/numpy/pull/18225>`__: MAINT: Bump mypy from 0.790 to 0.800
+* `#18226 <https://github.com/numpy/numpy/pull/18226>`__: MAINT: Bump hypothesis from 6.0.2 to 6.0.3
+* `#18227 <https://github.com/numpy/numpy/pull/18227>`__: MAINT: Bump pytest-cov from 2.10.1 to 2.11.1
+* `#18228 <https://github.com/numpy/numpy/pull/18228>`__: ENH: Add dtype-support to the ufunc-based `ndarray` magic methods...
+* `#18229 <https://github.com/numpy/numpy/pull/18229>`__: MAINT: Clean up all module-level dunders
+* `#18230 <https://github.com/numpy/numpy/pull/18230>`__: DOC: Clarify the type alias deprecation message
+* `#18232 <https://github.com/numpy/numpy/pull/18232>`__: DOC: lib/shape_base numpydoc formatting.
+* `#18233 <https://github.com/numpy/numpy/pull/18233>`__: NEP: accept NEP 23 (backwards compatibility policy)
+* `#18234 <https://github.com/numpy/numpy/pull/18234>`__: NEP: accept NEP 46 (sponsorship guidelines)
+* `#18235 <https://github.com/numpy/numpy/pull/18235>`__: DOC: Fix command in "Writing custom array containers" guide
+* `#18236 <https://github.com/numpy/numpy/pull/18236>`__: ENH: Add aliases for commonly used dtype-like objects
+* `#18238 <https://github.com/numpy/numpy/pull/18238>`__: DOC: __array__ accepts a dtype argument
+* `#18245 <https://github.com/numpy/numpy/pull/18245>`__: BLD: fix issue with `bdist_egg`, which made `make dist` in doc/...
+* `#18247 <https://github.com/numpy/numpy/pull/18247>`__: DOC: Misc numpydoc format fixes
+* `#18248 <https://github.com/numpy/numpy/pull/18248>`__: DOC: See also -> See Also (casing)
+* `#18251 <https://github.com/numpy/numpy/pull/18251>`__: DOC: more misc fixes of syntax
+* `#18252 <https://github.com/numpy/numpy/pull/18252>`__: DOC: cleanup of numpy/polynomial.
+* `#18253 <https://github.com/numpy/numpy/pull/18253>`__: DOC: improve description of `_NoValue`
+* `#18255 <https://github.com/numpy/numpy/pull/18255>`__: MAINT: add an 'apt update'
+* `#18262 <https://github.com/numpy/numpy/pull/18262>`__: REL: Update master after 1.20.0 release.
+* `#18263 <https://github.com/numpy/numpy/pull/18263>`__: ENH: Added sanity check to printoptions
+* `#18264 <https://github.com/numpy/numpy/pull/18264>`__: BUG: Use C linkage for random distributions
+* `#18269 <https://github.com/numpy/numpy/pull/18269>`__: DOC: Numpydoc format space before `:` in Parameters
+* `#18272 <https://github.com/numpy/numpy/pull/18272>`__: DOC: Numpydoc warning incorrect underline length.
+* `#18274 <https://github.com/numpy/numpy/pull/18274>`__: MAINT: Chain exceptions in linalg
+* `#18275 <https://github.com/numpy/numpy/pull/18275>`__: MAINT: Bump hypothesis from 6.0.3 to 6.1.1
+* `#18276 <https://github.com/numpy/numpy/pull/18276>`__: MAINT: Bump pytest from 6.2.1 to 6.2.2
+* `#18277 <https://github.com/numpy/numpy/pull/18277>`__: MAINT: Bump pydata-sphinx-theme from 0.4.2 to 0.4.3
+* `#18278 <https://github.com/numpy/numpy/pull/18278>`__: MAINT: defer the import of shutil
+* `#18282 <https://github.com/numpy/numpy/pull/18282>`__: MAINT: gracefully shuffle memoryviews
+* `#18284 <https://github.com/numpy/numpy/pull/18284>`__: ENH: Add annotations for the remaining `np.generic` aliases
+* `#18285 <https://github.com/numpy/numpy/pull/18285>`__: TST: Pin `typing_extensions` to the latest version
+* `#18289 <https://github.com/numpy/numpy/pull/18289>`__: MAINT: Move transferdata into buffer-wise struct
+* `#18293 <https://github.com/numpy/numpy/pull/18293>`__: BUG: Fix typo in ``numpy.__init__.py``
+* `#18295 <https://github.com/numpy/numpy/pull/18295>`__: BUG: don't mutate list of fake libraries while iterating over...
+* `#18301 <https://github.com/numpy/numpy/pull/18301>`__: MAINT: avoid chaining exceptions in conv_template.py
+* `#18302 <https://github.com/numpy/numpy/pull/18302>`__: MAINT: Add missing placeholder annotations
+* `#18303 <https://github.com/numpy/numpy/pull/18303>`__: MAINT: Fix typo in PyArray_RegisterDataType error
+* `#18307 <https://github.com/numpy/numpy/pull/18307>`__: DOC: Corrected numpy.power example.
+* `#18313 <https://github.com/numpy/numpy/pull/18313>`__: Numpy logo fix on README
+* `#18315 <https://github.com/numpy/numpy/pull/18315>`__: CI: rearrange Azure build jobs
+* `#18317 <https://github.com/numpy/numpy/pull/18317>`__: MAINT: Fixed chain exception for array_split func
+* `#18320 <https://github.com/numpy/numpy/pull/18320>`__: DOC: add links to polynomial function/class listing
+* `#18322 <https://github.com/numpy/numpy/pull/18322>`__: ENH: Add a mypy plugin for exposing platform-specific extended-precision...
+* `#18323 <https://github.com/numpy/numpy/pull/18323>`__: ENH: Add dtype-support to the ufunc-based `ndarray` magic methods...
+* `#18324 <https://github.com/numpy/numpy/pull/18324>`__: MAINT: Avoid moveaxis overhead in median.
+* `#18329 <https://github.com/numpy/numpy/pull/18329>`__: BUG: Allow unmodified use of isclose, allclose, etc. with timedelta
+* `#18331 <https://github.com/numpy/numpy/pull/18331>`__: MAINT: Update openblas_support for macosx-arm64
+* `#18332 <https://github.com/numpy/numpy/pull/18332>`__: BUG: Allow pickling all relevant DType types/classes
+* `#18333 <https://github.com/numpy/numpy/pull/18333>`__: CI: fix when GitHub Actions builds trigger, and allow ci skips
+* `#18334 <https://github.com/numpy/numpy/pull/18334>`__: TST: use setup-python action for pypy, disable win64 pypy
+* `#18338 <https://github.com/numpy/numpy/pull/18338>`__: DOC: Fix whitespace before "last updated" on overview page
+* `#18339 <https://github.com/numpy/numpy/pull/18339>`__: DOC: Discussion on the @ operator and the matrix class
+* `#18340 <https://github.com/numpy/numpy/pull/18340>`__: DOC: remove pygments_style from conf.py
+* `#18342 <https://github.com/numpy/numpy/pull/18342>`__: DOC: Specified all possible return types for trapz function #18140
+* `#18344 <https://github.com/numpy/numpy/pull/18344>`__: DOC: Added sentence to docstring of histogram_bin_edges to explain...
+* `#18346 <https://github.com/numpy/numpy/pull/18346>`__: DOC: Change license date 2020 -> 2021
+* `#18347 <https://github.com/numpy/numpy/pull/18347>`__: MAINT: Delete unused "dst" clearing functions
+* `#18348 <https://github.com/numpy/numpy/pull/18348>`__: DEP: doc-deprecate BLAS_SRC/LAPACK_SRC
+* `#18349 <https://github.com/numpy/numpy/pull/18349>`__: CI: CircleCI seems to occasionally time out, increase the limit
+* `#18350 <https://github.com/numpy/numpy/pull/18350>`__: BUG: Fix missing signed_char dependency.
+* `#18361 <https://github.com/numpy/numpy/pull/18361>`__: ENH: Share memory of read-only intent(in) arrays.
+* `#18362 <https://github.com/numpy/numpy/pull/18362>`__: REL: Update master after 1.20.1 release.
+* `#18364 <https://github.com/numpy/numpy/pull/18364>`__: DOC: Update landing page to match table of contents
+* `#18366 <https://github.com/numpy/numpy/pull/18366>`__: MAINT: Disable TravisCI git clone depth.
+* `#18367 <https://github.com/numpy/numpy/pull/18367>`__: MAINT: Bump pytz from 2020.5 to 2021.1
+* `#18369 <https://github.com/numpy/numpy/pull/18369>`__: BUG: np.in1d bug on the object array (issue 17923)
+* `#18372 <https://github.com/numpy/numpy/pull/18372>`__: DOC: improve standard_t example in numpy.random.
+* `#18374 <https://github.com/numpy/numpy/pull/18374>`__: TST: Add a test for nditer write masked with references
+* `#18375 <https://github.com/numpy/numpy/pull/18375>`__: BUG: fix regression in a hidden callback use case in f2py.
+* `#18377 <https://github.com/numpy/numpy/pull/18377>`__: ENH: Add annotations for `np.lib.ufunclike`
+* `#18379 <https://github.com/numpy/numpy/pull/18379>`__: DOC: Fix docstring of _median_nancheck.
+* `#18384 <https://github.com/numpy/numpy/pull/18384>`__: BUG: improve the interface of `tofile` method
+* `#18389 <https://github.com/numpy/numpy/pull/18389>`__: MAINT: Fix version of wheel to support Python 3.10
+* `#18390 <https://github.com/numpy/numpy/pull/18390>`__: ENH: Add annotations for `np.core.einsumfunc`
+* `#18392 <https://github.com/numpy/numpy/pull/18392>`__: BUG: Remove check in shuffle for non-ndarrays
+* `#18394 <https://github.com/numpy/numpy/pull/18394>`__: MAINT: Added Chain exceptions where appropriate
+* `#18395 <https://github.com/numpy/numpy/pull/18395>`__: ENH: Initial typing of random
+* `#18396 <https://github.com/numpy/numpy/pull/18396>`__: MAINT: Threading and Unicode strings
+* `#18397 <https://github.com/numpy/numpy/pull/18397>`__: ENH: Add annotations for `np.lib.index_tricks`
+* `#18398 <https://github.com/numpy/numpy/pull/18398>`__: MAINT: Fix casting signatures to align with NEP 43 signature
+* `#18400 <https://github.com/numpy/numpy/pull/18400>`__: MAINT: Added Chain exceptions where appropriate
+* `#18402 <https://github.com/numpy/numpy/pull/18402>`__: BUG: Fix typo in char_codes
+* `#18404 <https://github.com/numpy/numpy/pull/18404>`__: BUG: Fix iterator shape in advanced index assignment broadcast...
+* `#18405 <https://github.com/numpy/numpy/pull/18405>`__: DOC: Mention `scipy.signal.correlate` and FFT method in `np.correlate`closes...
+* `#18413 <https://github.com/numpy/numpy/pull/18413>`__: MAINT: Bump sphinx from 3.4.3 to 3.5.0
+* `#18414 <https://github.com/numpy/numpy/pull/18414>`__: MAINT: Bump hypothesis from 6.1.1 to 6.2.0
+* `#18415 <https://github.com/numpy/numpy/pull/18415>`__: MAINT: Update END statements parsing for recent Fortran standards.
+* `#18416 <https://github.com/numpy/numpy/pull/18416>`__: BUG: Fix f2py parsing continued lines that follow comment lines.
+* `#18417 <https://github.com/numpy/numpy/pull/18417>`__: ENH: Add dtype-support to the ufunc-based `ndarray` magic methods...
+* `#18418 <https://github.com/numpy/numpy/pull/18418>`__: DOC: remove layout overrides for headers
+* `#18420 <https://github.com/numpy/numpy/pull/18420>`__: BUG: Fix tiny memory leaks when ``like=`` overrides are used
+* `#18423 <https://github.com/numpy/numpy/pull/18423>`__: ENH: Lint checks for PR diffs
+* `#18428 <https://github.com/numpy/numpy/pull/18428>`__: DOC: remove explanations.rst
+* `#18429 <https://github.com/numpy/numpy/pull/18429>`__: DOC: point intersphinx to matplotlib/stable...
+* `#18432 <https://github.com/numpy/numpy/pull/18432>`__: MAINT: Correct code producing warnings
+* `#18433 <https://github.com/numpy/numpy/pull/18433>`__: ENH: Add typing for RandomState
+* `#18436 <https://github.com/numpy/numpy/pull/18436>`__: BUG: Fix refcount leak in f2py `complex_double_from_pyobj`
+* `#18437 <https://github.com/numpy/numpy/pull/18437>`__: TST: Fix some uninitialized memory in the tests
+* `#18438 <https://github.com/numpy/numpy/pull/18438>`__: BUG: Correct shuffling of objects in 1-d array likes
+* `#18439 <https://github.com/numpy/numpy/pull/18439>`__: MAINT: random: Use 'from exc' when raising a ValueError in choice.
+* `#18443 <https://github.com/numpy/numpy/pull/18443>`__: BUG: fix stacklevel in warning within random.shuffle
+* `#18448 <https://github.com/numpy/numpy/pull/18448>`__: DOC: Remove unfinished Linear Algebra section from Quickstart...
+* `#18450 <https://github.com/numpy/numpy/pull/18450>`__: BUG: Segfault in nditer buffer dealloc for Object arrays
+* `#18454 <https://github.com/numpy/numpy/pull/18454>`__: NEP: add Spending NumPy Project Funds (NEP 48)
+* `#18455 <https://github.com/numpy/numpy/pull/18455>`__: BUG: ``diagflat`` could overflow on windows or 32-bit platforms
+* `#18456 <https://github.com/numpy/numpy/pull/18456>`__: NEP: array API standard adoption (NEP 47)
+* `#18458 <https://github.com/numpy/numpy/pull/18458>`__: DOC: update NEP status for accepted/finished NEPs
+* `#18463 <https://github.com/numpy/numpy/pull/18463>`__: MAINT: Bump mypy from 0.800 to 0.812
+* `#18464 <https://github.com/numpy/numpy/pull/18464>`__: MAINT: Bump sphinx from 3.5.0 to 3.5.1
+* `#18465 <https://github.com/numpy/numpy/pull/18465>`__: MAINT: Bump cython from 0.29.21 to 0.29.22
+* `#18466 <https://github.com/numpy/numpy/pull/18466>`__: MAINT: Bump hypothesis from 6.2.0 to 6.3.0
+* `#18475 <https://github.com/numpy/numpy/pull/18475>`__: ENH: Added type annotations to eye() function
+* `#18476 <https://github.com/numpy/numpy/pull/18476>`__: BUG: Remove suspicious type casting
+* `#18477 <https://github.com/numpy/numpy/pull/18477>`__: BUG: remove nonsensical comparison of pointer < 0
+* `#18478 <https://github.com/numpy/numpy/pull/18478>`__: BUG: verify pointer against NULL before using it
+* `#18479 <https://github.com/numpy/numpy/pull/18479>`__: BUG: check if PyArray_malloc succeeded
+* `#18481 <https://github.com/numpy/numpy/pull/18481>`__: DOC: Generator and RandomState doc improvements
+* `#18482 <https://github.com/numpy/numpy/pull/18482>`__: ENH: Improve error message in multinomial
+* `#18489 <https://github.com/numpy/numpy/pull/18489>`__: DOC: Rename "Ones and zeros" section in array-creation documentation.
+* `#18493 <https://github.com/numpy/numpy/pull/18493>`__: BUG: Fix non-versioneer uses of numpy.distutils
+* `#18497 <https://github.com/numpy/numpy/pull/18497>`__: TST: Remove the `einsum` typing tests reliance on issuing a `ComplexWarning`
+* `#18498 <https://github.com/numpy/numpy/pull/18498>`__: BUG: Fixed Von Mises distribution for big values of kappa
+* `#18499 <https://github.com/numpy/numpy/pull/18499>`__: TST: Branch coverage improvement for `np.polynomial`
+* `#18502 <https://github.com/numpy/numpy/pull/18502>`__: DOC: Fix links to landing page
+* `#18505 <https://github.com/numpy/numpy/pull/18505>`__: DOC: add guide for downstream package authors
+* `#18509 <https://github.com/numpy/numpy/pull/18509>`__: DOC: trunc, floor, ceil, rint, fix should all link to each other
+* `#18513 <https://github.com/numpy/numpy/pull/18513>`__: BLD: add _2_24 to valid manylinux names
+* `#18515 <https://github.com/numpy/numpy/pull/18515>`__: MAINT: Improve error message when common type not found.
+* `#18517 <https://github.com/numpy/numpy/pull/18517>`__: MAINT: Bump hypothesis from 6.3.0 to 6.3.4
+* `#18518 <https://github.com/numpy/numpy/pull/18518>`__: DOC Improve formatting in the depending_on_numpy documentation
+* `#18522 <https://github.com/numpy/numpy/pull/18522>`__: BUG: remove extraneous ARGOUTVIEWM dim. 4 typemaps
+* `#18526 <https://github.com/numpy/numpy/pull/18526>`__: MAINT: Specify color in RGB in the docs about the new NumPy logo
+* `#18530 <https://github.com/numpy/numpy/pull/18530>`__: BUG: incorrect error fallthrough in nditer
+* `#18531 <https://github.com/numpy/numpy/pull/18531>`__: CI: Use Ubuntu 18.04 to run "full" test.
+* `#18537 <https://github.com/numpy/numpy/pull/18537>`__: [BLD] use the new openblas lib
+* `#18538 <https://github.com/numpy/numpy/pull/18538>`__: Fix the numpy Apple M1 build
+* `#18539 <https://github.com/numpy/numpy/pull/18539>`__: BUG: NameError in numpy.distutils.fcompiler.compaq
+* `#18544 <https://github.com/numpy/numpy/pull/18544>`__: MAINT: Update master to main after branch rename
+* `#18545 <https://github.com/numpy/numpy/pull/18545>`__: ENH: Add annotations for `np.lib.arrayterator`
+* `#18554 <https://github.com/numpy/numpy/pull/18554>`__: CI: Pin docker image for Linux_Python_38_32bit_full_with_asserts...
+* `#18560 <https://github.com/numpy/numpy/pull/18560>`__: BUG: Fixed ``where`` keyword for ``np.mean`` & ``np.var`` methods
+* `#18566 <https://github.com/numpy/numpy/pull/18566>`__: CI: another master -> main fix
+* `#18567 <https://github.com/numpy/numpy/pull/18567>`__: CI: skip lint check on merges with main
+* `#18569 <https://github.com/numpy/numpy/pull/18569>`__: CI: Ensure that doc-build uses "main" as branch name
+* `#18570 <https://github.com/numpy/numpy/pull/18570>`__: CI: Use `git branch -m` instead of `--initial-branch=main`
+* `#18571 <https://github.com/numpy/numpy/pull/18571>`__: BUG: Fix overflow warning on apple silicon
+* `#18572 <https://github.com/numpy/numpy/pull/18572>`__: CI: Set git default branch to "main" in CircleCI.
+* `#18574 <https://github.com/numpy/numpy/pull/18574>`__: MAINT: Update the Call for Contributions section
+* `#18575 <https://github.com/numpy/numpy/pull/18575>`__: MAINT: Bump sphinx from 3.5.1 to 3.5.2
+* `#18576 <https://github.com/numpy/numpy/pull/18576>`__: MAINT: Bump hypothesis from 6.3.4 to 6.6.0
+* `#18578 <https://github.com/numpy/numpy/pull/18578>`__: MAINT: Bump pycodestyle from 2.5.0 to 2.6.0
+* `#18579 <https://github.com/numpy/numpy/pull/18579>`__: MAINT: OrderedDict is no longer necessary from Python 3.7
+* `#18582 <https://github.com/numpy/numpy/pull/18582>`__: BLD, TST: use pypy nightly to work around bug
+* `#18583 <https://github.com/numpy/numpy/pull/18583>`__: DOC: Clarify docs for fliplr() / flipud()
+* `#18584 <https://github.com/numpy/numpy/pull/18584>`__: DOC: Added documentation for linter (#18423)
+* `#18593 <https://github.com/numpy/numpy/pull/18593>`__: MAINT: Do not claim input to binops is `self` (array object)
+* `#18594 <https://github.com/numpy/numpy/pull/18594>`__: MAINT: Remove strange `op == NULL` check
+* `#18596 <https://github.com/numpy/numpy/pull/18596>`__: MAINT: Chain exceptions in index_tricks.py and mrecords.py
+* `#18598 <https://github.com/numpy/numpy/pull/18598>`__: MAINT: Add annotations for `dtype.__getitem__`, `__mul__` and...
+* `#18602 <https://github.com/numpy/numpy/pull/18602>`__: CI: Do not fail CI on lint error
+* `#18605 <https://github.com/numpy/numpy/pull/18605>`__: BUG: Fix ma coercion list-of-ma-arrays if they do not cast to...
+* `#18614 <https://github.com/numpy/numpy/pull/18614>`__: MAINT: Bump pycodestyle from 2.6.0 to 2.7.0
+* `#18615 <https://github.com/numpy/numpy/pull/18615>`__: MAINT: Bump hypothesis from 6.6.0 to 6.8.1
+* `#18616 <https://github.com/numpy/numpy/pull/18616>`__: CI: Update apt package list before Python install
+* `#18618 <https://github.com/numpy/numpy/pull/18618>`__: MAINT: Ensure that re-exported sub-modules are properly annotated
+* `#18622 <https://github.com/numpy/numpy/pull/18622>`__: DOC: Consistently use rng as variable name for random generators
+* `#18629 <https://github.com/numpy/numpy/pull/18629>`__: BUG, ENH: fix array2string rounding bug by adding min_digits...
+* `#18630 <https://github.com/numpy/numpy/pull/18630>`__: DOC: add note to numpy.rint() docstrings
+* `#18634 <https://github.com/numpy/numpy/pull/18634>`__: BUG: Use npy_log1p where appropriate in random generation
+* `#18635 <https://github.com/numpy/numpy/pull/18635>`__: ENH: Improve the exception for default low in Generator.integers
+* `#18641 <https://github.com/numpy/numpy/pull/18641>`__: MAINT: Remove useless declarations in `bad_commands`
+* `#18642 <https://github.com/numpy/numpy/pull/18642>`__: ENH: Use new argument parsing for array creation functions
+* `#18643 <https://github.com/numpy/numpy/pull/18643>`__: DOC: Remove mention of nose from README
+* `#18645 <https://github.com/numpy/numpy/pull/18645>`__: DOC: Minor fix in inline code example of ufunc reference
+* `#18648 <https://github.com/numpy/numpy/pull/18648>`__: MAINT: use super() as described by PEP 3135
+* `#18649 <https://github.com/numpy/numpy/pull/18649>`__: MAINT: Add missing type to cdef statement
+* `#18651 <https://github.com/numpy/numpy/pull/18651>`__: BUG: Fix small valgrind-found issues
+* `#18652 <https://github.com/numpy/numpy/pull/18652>`__: DOC: Update some plotting code to current Matplotlib idioms
+* `#18657 <https://github.com/numpy/numpy/pull/18657>`__: ENH: Improve performance of `np.save` for small arrays
+* `#18658 <https://github.com/numpy/numpy/pull/18658>`__: BLD: remove /usr/include from default include dirs
+* `#18659 <https://github.com/numpy/numpy/pull/18659>`__: DEV: add a conda environment.yml with all development dependencies
+* `#18660 <https://github.com/numpy/numpy/pull/18660>`__: DOC: add release note for removal of /usr/include from include...
+* `#18664 <https://github.com/numpy/numpy/pull/18664>`__: MAINT: Bump sphinx from 3.5.2 to 3.5.3
+* `#18666 <https://github.com/numpy/numpy/pull/18666>`__: ENH: Use exponentials in place of inversion in Rayleigh and geometric
+* `#18670 <https://github.com/numpy/numpy/pull/18670>`__: BUG: Fix small issues found with pytest-leaks
+* `#18676 <https://github.com/numpy/numpy/pull/18676>`__: MAINT: Implement new style promotion for `np.result_type`, etc.
+* `#18679 <https://github.com/numpy/numpy/pull/18679>`__: BUG: Changed METH_VARARGS to METH_NOARGS
+* `#18680 <https://github.com/numpy/numpy/pull/18680>`__: Docs: simd-optimizations.rst: fix typo (basline ~> baseline)
+* `#18685 <https://github.com/numpy/numpy/pull/18685>`__: REL: Update main after 1.20.2 release.
+* `#18686 <https://github.com/numpy/numpy/pull/18686>`__: BUG: Fix test_ccompiler_opt when path contains dots
+* `#18689 <https://github.com/numpy/numpy/pull/18689>`__: DOC: Change matrix size in absolute beginners doc.
+* `#18690 <https://github.com/numpy/numpy/pull/18690>`__: BUG: Correct datetime64 missing type overload for datetime.date...
+* `#18691 <https://github.com/numpy/numpy/pull/18691>`__: BUG: fix segfault in object/longdouble operations
+* `#18692 <https://github.com/numpy/numpy/pull/18692>`__: MAINT: Bump pydata-sphinx-theme from 0.5.0 to 0.5.2
+* `#18693 <https://github.com/numpy/numpy/pull/18693>`__: MAINT: Bump hypothesis from 6.8.1 to 6.8.3
+* `#18694 <https://github.com/numpy/numpy/pull/18694>`__: TST: pin pypy version to 7.3.4rc1
+* `#18695 <https://github.com/numpy/numpy/pull/18695>`__: ENH: Support parsing Fortran abstract interface blocks.
+* `#18697 <https://github.com/numpy/numpy/pull/18697>`__: DEP: Disable PyUFunc_GenericFunction and PyUFunc_SetUsesArraysAsData
+* `#18698 <https://github.com/numpy/numpy/pull/18698>`__: MAINT: Specify the color space in all new NumPy logo files
+* `#18701 <https://github.com/numpy/numpy/pull/18701>`__: BLD: Strip extra newline when dumping gfortran version on MacOS
+* `#18705 <https://github.com/numpy/numpy/pull/18705>`__: DOC: update Steering Council membership and people on governance...
+* `#18706 <https://github.com/numpy/numpy/pull/18706>`__: DOC: Add release notes to upcoming_changes
+* `#18708 <https://github.com/numpy/numpy/pull/18708>`__: TST: add tests for using np.meshgrid for higher dimensional grids.
+* `#18712 <https://github.com/numpy/numpy/pull/18712>`__: DOC: Simplifies Mandelbrot set plot in Quickstart guide
+* `#18718 <https://github.com/numpy/numpy/pull/18718>`__: API, DEP: Move ufunc signature parsing to the start
+* `#18722 <https://github.com/numpy/numpy/pull/18722>`__: DOC: deduplicate dtype basic types (2)
+* `#18725 <https://github.com/numpy/numpy/pull/18725>`__: MAINT: Bump pytest from 6.2.2 to 6.2.3
+* `#18726 <https://github.com/numpy/numpy/pull/18726>`__: MAINT: Bump hypothesis from 6.8.3 to 6.8.4
+* `#18728 <https://github.com/numpy/numpy/pull/18728>`__: MAINT: Add exception chaining where appropriate
+* `#18731 <https://github.com/numpy/numpy/pull/18731>`__: BUG: Check out requirements and raise when not satisfied
+* `#18733 <https://github.com/numpy/numpy/pull/18733>`__: DEV: Adds gitpod to numpy
+* `#18737 <https://github.com/numpy/numpy/pull/18737>`__: BLD: introduce use of BLAS_LIBS and LAPACK_LIBS in distutils/system_info
+* `#18739 <https://github.com/numpy/numpy/pull/18739>`__: MAINT: Add exception chaining where appropriate
+* `#18741 <https://github.com/numpy/numpy/pull/18741>`__: DOC: Emphasize distinctions between np.copy and ndarray.copy
+* `#18745 <https://github.com/numpy/numpy/pull/18745>`__: CI: remove shippable CI
+* `#18750 <https://github.com/numpy/numpy/pull/18750>`__: MAINT: Allow more recursion depth for scalar tests.
+* `#18751 <https://github.com/numpy/numpy/pull/18751>`__: BUG: Regression #18075 | Fixing Ufunc TD generation order
+* `#18753 <https://github.com/numpy/numpy/pull/18753>`__: BLD: Negative zero handling with ifort
+* `#18755 <https://github.com/numpy/numpy/pull/18755>`__: MAINT: Bump sphinx from 3.5.3 to 3.5.4
+* `#18757 <https://github.com/numpy/numpy/pull/18757>`__: MAINT: Bump hypothesis from 6.8.4 to 6.9.1
+* `#18758 <https://github.com/numpy/numpy/pull/18758>`__: DOC: Update howto-docs with link to NumPy tutorials.
+* `#18761 <https://github.com/numpy/numpy/pull/18761>`__: DOC: Small fixes (including formatting) for NEP 43
+* `#18765 <https://github.com/numpy/numpy/pull/18765>`__: ENH: Improve the placeholder annotations for the main numpy namespace
+* `#18766 <https://github.com/numpy/numpy/pull/18766>`__: ENH, SIMD: Replace libdivide functions of signed integer division...
+* `#18770 <https://github.com/numpy/numpy/pull/18770>`__: DOC: More concise "How to import NumPy" description
+* `#18771 <https://github.com/numpy/numpy/pull/18771>`__: DOC: Use: from numpy.testing import ...
+* `#18772 <https://github.com/numpy/numpy/pull/18772>`__: CI: Use informational mode for codecov
+* `#18773 <https://github.com/numpy/numpy/pull/18773>`__: CI: Fixing typo in Azure job run
+* `#18777 <https://github.com/numpy/numpy/pull/18777>`__: DOC: update random and asserts in test guidelines
+* `#18778 <https://github.com/numpy/numpy/pull/18778>`__: MAINT: Relax the integer-type-constraint of `npt._ShapeLike`
+* `#18779 <https://github.com/numpy/numpy/pull/18779>`__: DOC: fix spelling of "reccomended" ("recommended")
+* `#18780 <https://github.com/numpy/numpy/pull/18780>`__: ENH: Improve the placeholder annotations for the main numpy namespace...
+* `#18781 <https://github.com/numpy/numpy/pull/18781>`__: ENH: Add `__all__` to a number of public modules
+* `#18785 <https://github.com/numpy/numpy/pull/18785>`__: DOC: change `dec.parametrize` to `pytest.mark.parametrize`
+* `#18786 <https://github.com/numpy/numpy/pull/18786>`__: DOC: add note for clip() special case a_min > a_max See #18782
+* `#18787 <https://github.com/numpy/numpy/pull/18787>`__: DOC: Document newer pytest conventions
+* `#18789 <https://github.com/numpy/numpy/pull/18789>`__: DEV: Pin pydata-sphinx-theme to 0.5.2.
+* `#18790 <https://github.com/numpy/numpy/pull/18790>`__: CI: Use `towncrier build` explicitly
+* `#18791 <https://github.com/numpy/numpy/pull/18791>`__: DOC: Fixes small things in the genfromtext docstring
+* `#18792 <https://github.com/numpy/numpy/pull/18792>`__: MAINT: Use recent towncrier releases on PyPI.
+* `#18795 <https://github.com/numpy/numpy/pull/18795>`__: SIMD, TEST: Workaround for misaligned stack GCC BUG ABI on WIN64
+* `#18796 <https://github.com/numpy/numpy/pull/18796>`__: DOC: Misc Numpydoc and formatting for proper parsing.
+* `#18797 <https://github.com/numpy/numpy/pull/18797>`__: DOC: Update random c-api documentation
+* `#18799 <https://github.com/numpy/numpy/pull/18799>`__: MAINT: Improve the placeholder annotations for the main numpy...
+* `#18800 <https://github.com/numpy/numpy/pull/18800>`__: MAINT: Relax miscellaneous integer-type constraints
+* `#18801 <https://github.com/numpy/numpy/pull/18801>`__: DOC: fix typo in frexp docstring
+* `#18802 <https://github.com/numpy/numpy/pull/18802>`__: DOC: Improve random.choice() documentation
+* `#18805 <https://github.com/numpy/numpy/pull/18805>`__: NEP: propose new nep for allocator policies
+* `#18806 <https://github.com/numpy/numpy/pull/18806>`__: MAINT: Bump hypothesis from 6.9.1 to 6.10.0
+* `#18807 <https://github.com/numpy/numpy/pull/18807>`__: MAINT: Bump cython from 0.29.22 to 0.29.23
+* `#18809 <https://github.com/numpy/numpy/pull/18809>`__: MAINT: runtests help text cleanup
+* `#18812 <https://github.com/numpy/numpy/pull/18812>`__: DOC: Document howto build documentation in a virtual environment
+* `#18813 <https://github.com/numpy/numpy/pull/18813>`__: BUG: Initialize the full nditer buffer in case of error
+* `#18818 <https://github.com/numpy/numpy/pull/18818>`__: ENH: Add annotations for 4 objects in `np.core.numerictypes`
+* `#18820 <https://github.com/numpy/numpy/pull/18820>`__: MAINT: Remove incorrect inline
+* `#18822 <https://github.com/numpy/numpy/pull/18822>`__: DEV: general Gitpod enhancements
+* `#18823 <https://github.com/numpy/numpy/pull/18823>`__: MAINT: Minor fix to add reference link to numpy.fill_diagonal...
+* `#18825 <https://github.com/numpy/numpy/pull/18825>`__: MAINT: Update README.md
+* `#18831 <https://github.com/numpy/numpy/pull/18831>`__: BUG: Prevent nan being used in percentile
+* `#18834 <https://github.com/numpy/numpy/pull/18834>`__: DOC: Fix typo in random docs
+* `#18836 <https://github.com/numpy/numpy/pull/18836>`__: MAINT: Generalize and shorten the ufunc "trivially iterable"...
+* `#18837 <https://github.com/numpy/numpy/pull/18837>`__: ENH, SIMD: Add support for dispatching C++ sources
+* `#18839 <https://github.com/numpy/numpy/pull/18839>`__: DOC: Add Gitpod development documentation
+* `#18841 <https://github.com/numpy/numpy/pull/18841>`__: DOC: Add favicon
+* `#18842 <https://github.com/numpy/numpy/pull/18842>`__: ENH: Improve the placeholder annotations within sub-modules
+* `#18843 <https://github.com/numpy/numpy/pull/18843>`__: DOC: Clarify isreal docstring
+* `#18845 <https://github.com/numpy/numpy/pull/18845>`__: DOC: Move Sphinx numpy target in reference index.
+* `#18851 <https://github.com/numpy/numpy/pull/18851>`__: MAINT: Disable pip version check for azure lint check.
+* `#18853 <https://github.com/numpy/numpy/pull/18853>`__: ENH: Improve the placeholder annotations within sub-modules (part...
+* `#18855 <https://github.com/numpy/numpy/pull/18855>`__: STY: change CRLF line terminators to Unix
+* `#18856 <https://github.com/numpy/numpy/pull/18856>`__: MAINT: Fix the typo "implment"
+* `#18862 <https://github.com/numpy/numpy/pull/18862>`__: TST: Skip f2py TestSharedMemory for LONGDOUBLE on macos/arm64
+* `#18863 <https://github.com/numpy/numpy/pull/18863>`__: ENH: Add max values comparison for floating point
+* `#18864 <https://github.com/numpy/numpy/pull/18864>`__: MAINT: Remove dead codepath in generalized ufuncs
+* `#18868 <https://github.com/numpy/numpy/pull/18868>`__: Upgrade to GitHub-native Dependabot
+* `#18869 <https://github.com/numpy/numpy/pull/18869>`__: MAINT: Fix azure linter problems with pip 21.1
+* `#18871 <https://github.com/numpy/numpy/pull/18871>`__: MAINT: Bump hypothesis from 6.10.0 to 6.10.1
+* `#18874 <https://github.com/numpy/numpy/pull/18874>`__: BLD, ENH: Enable Accelerate Framework
+* `#18877 <https://github.com/numpy/numpy/pull/18877>`__: MAINT: Update PyPy version used by CI
+* `#18880 <https://github.com/numpy/numpy/pull/18880>`__: API: Ensure that casting does not affect ufunc loop
+* `#18882 <https://github.com/numpy/numpy/pull/18882>`__: ENH: Add min values comparison for floating point
+* `#18885 <https://github.com/numpy/numpy/pull/18885>`__: MAINT: Remove unsafe unions and ABCs from return-annotations
+* `#18889 <https://github.com/numpy/numpy/pull/18889>`__: ENH: Add SIMD operations for min and max value comparision
+* `#18890 <https://github.com/numpy/numpy/pull/18890>`__: MAINT: ssize_t -> Py_ssize_t and other fixes for Python v3.10.0
+* `#18891 <https://github.com/numpy/numpy/pull/18891>`__: MAINT: Bump typing-extensions from 3.7.4.3 to 3.10.0.0
+* `#18893 <https://github.com/numpy/numpy/pull/18893>`__: DOC: Add a set of standard replies.
+* `#18895 <https://github.com/numpy/numpy/pull/18895>`__: DOC: Improve cumsum documentation
+* `#18896 <https://github.com/numpy/numpy/pull/18896>`__: MAINT: Explicitly mark text files in .gitattributes.
+* `#18897 <https://github.com/numpy/numpy/pull/18897>`__: MAINT: Add ".csv" some data file names.
+* `#18899 <https://github.com/numpy/numpy/pull/18899>`__: BLD, BUG: Fix compiler optimization log AttributeError
+* `#18900 <https://github.com/numpy/numpy/pull/18900>`__: BLD: remove unnecessary flag `-faltivec` on macOS
+* `#18903 <https://github.com/numpy/numpy/pull/18903>`__: MAINT, CI: treats _SIMD module build warnings as errors through...
+* `#18906 <https://github.com/numpy/numpy/pull/18906>`__: ENH: Add PCG64DXSM BitGenerator
+* `#18908 <https://github.com/numpy/numpy/pull/18908>`__: MAINT: Adjust NumPy float hashing to Python's slightly changed...
+* `#18909 <https://github.com/numpy/numpy/pull/18909>`__: ENH: Improve the placeholder annotations within sub-modules (part...
+* `#18910 <https://github.com/numpy/numpy/pull/18910>`__: BUG : for MINGW, threads.h existence test requires GLIBC > 2.12
+* `#18911 <https://github.com/numpy/numpy/pull/18911>`__: BLD, BUG: Fix bdist_wheel duplicate building
+* `#18912 <https://github.com/numpy/numpy/pull/18912>`__: CI: fix the GitHub Actions trigger in docker.yml
+* `#18918 <https://github.com/numpy/numpy/pull/18918>`__: DOC: fix documentation of cloning over ssh
+* `#18919 <https://github.com/numpy/numpy/pull/18919>`__: ENH: Add placeholder annotations for two missing `np.testing`...
+* `#18920 <https://github.com/numpy/numpy/pull/18920>`__: BUG: Report underflow condition in AVX implementation of np.exp
+* `#18927 <https://github.com/numpy/numpy/pull/18927>`__: NEP: add mailing list thread, fixes from review
+* `#18930 <https://github.com/numpy/numpy/pull/18930>`__: BUG: Make changelog recognize ``gh-`` as a PR number prefix.
+* `#18931 <https://github.com/numpy/numpy/pull/18931>`__: BUG: Fix refcounting in string-promotion deprecation code path
+* `#18933 <https://github.com/numpy/numpy/pull/18933>`__: BUG: Fix underflow error in AVX512 implementation of ufunc exp/f64
+* `#18934 <https://github.com/numpy/numpy/pull/18934>`__: DOC: Add a release note for the improved placeholder annotations
+* `#18935 <https://github.com/numpy/numpy/pull/18935>`__: API: Add `npt.NDArray`, a runtime-subscriptable alias for `np.ndarray`
+* `#18936 <https://github.com/numpy/numpy/pull/18936>`__: DOC: Update performance for new PRNG
+* `#18940 <https://github.com/numpy/numpy/pull/18940>`__: ENH: manually inline PCG64DXSM code for performance.
+* `#18943 <https://github.com/numpy/numpy/pull/18943>`__: TST: xfail `TestCond.test_nan` unconditionally
+* `#18944 <https://github.com/numpy/numpy/pull/18944>`__: ENH: Add annotations for `np.lib.utils`
+* `#18954 <https://github.com/numpy/numpy/pull/18954>`__: DOC: Update beginners docu for sum function with axis
+* `#18955 <https://github.com/numpy/numpy/pull/18955>`__: DOC: add an extra example in runtests.py help test
+* `#18956 <https://github.com/numpy/numpy/pull/18956>`__: DOC: change copyright SciPy to NumPy
+* `#18957 <https://github.com/numpy/numpy/pull/18957>`__: DOC: Improve datetime64 docs.
+* `#18958 <https://github.com/numpy/numpy/pull/18958>`__: MAINT: Do not use deprecated ``mktemp()``
+* `#18959 <https://github.com/numpy/numpy/pull/18959>`__: DOC: improve numpy.histogram2d() documentation
+* `#18960 <https://github.com/numpy/numpy/pull/18960>`__: BUG: fixed ma.average ignoring masked weights
+* `#18961 <https://github.com/numpy/numpy/pull/18961>`__: DOC: add note and examples to `isrealobj` docstring
+* `#18962 <https://github.com/numpy/numpy/pull/18962>`__: DOC: Update a page title with proper case
+* `#18963 <https://github.com/numpy/numpy/pull/18963>`__: DEP: remove PolyBase from np.polynomial.polyutils
+* `#18965 <https://github.com/numpy/numpy/pull/18965>`__: DOC: Improve description of array scalar in glossary
+* `#18967 <https://github.com/numpy/numpy/pull/18967>`__: BUG: fix np.ma.masked_where(copy=False) when input has no mask
+* `#18970 <https://github.com/numpy/numpy/pull/18970>`__: MAINT, SIMD: Hardened the AVX compile-time tests
+* `#18972 <https://github.com/numpy/numpy/pull/18972>`__: ENH: Include co-authors in changelog.
+* `#18973 <https://github.com/numpy/numpy/pull/18973>`__: MAINT: Bump sphinx from 3.5.4 to 4.0.0
+* `#18974 <https://github.com/numpy/numpy/pull/18974>`__: MAINT: Bump hypothesis from 6.10.1 to 6.12.0
+* `#18976 <https://github.com/numpy/numpy/pull/18976>`__: MAINT: Bump pytest from 6.2.3 to 6.2.4
+* `#18980 <https://github.com/numpy/numpy/pull/18980>`__: DOC: Gitpod documentation enhancements
+* `#18982 <https://github.com/numpy/numpy/pull/18982>`__: MAINT: Cleanup tools/changelog.py
+* `#18983 <https://github.com/numpy/numpy/pull/18983>`__: REL: Update main after 1.20.3 release.
+* `#18985 <https://github.com/numpy/numpy/pull/18985>`__: MAINT: Remove usage of the PEP 604 pipe operator
+* `#18987 <https://github.com/numpy/numpy/pull/18987>`__: BUG: Update coordinates in PyArray_ITER_GOTO1D
+* `#18989 <https://github.com/numpy/numpy/pull/18989>`__: BUG: fix potential buffer overflow(#18939)
+* `#18990 <https://github.com/numpy/numpy/pull/18990>`__: ENH: Add annotations for `np.lib.NumpyVersion`
+* `#18996 <https://github.com/numpy/numpy/pull/18996>`__: MAINT: Remove warning when checking AVX512f on MSVC
+* `#18998 <https://github.com/numpy/numpy/pull/18998>`__: ENH: Improve annotations of the `item`, `tolist`, `take` and...
+* `#18999 <https://github.com/numpy/numpy/pull/18999>`__: DEP: Ensure the string promotion FutureWarning is raised
+* `#19001 <https://github.com/numpy/numpy/pull/19001>`__: DEP: Deprecate error clearing for special method in array-coercion
+* `#19002 <https://github.com/numpy/numpy/pull/19002>`__: ENH: Add annotations for `np.broadcast` and `np.DataSource`
+* `#19005 <https://github.com/numpy/numpy/pull/19005>`__: ENH: Add dtype-support to 11 `ndarray` / `generic` methods
+* `#19007 <https://github.com/numpy/numpy/pull/19007>`__: BUG: fix potential use of null pointer in nditer buffers
+* `#19008 <https://github.com/numpy/numpy/pull/19008>`__: BUG: fix variable misprint in multiarray test code
+* `#19009 <https://github.com/numpy/numpy/pull/19009>`__: BUG: fix variable misprint checking wrong variable in umath tests
+* `#19011 <https://github.com/numpy/numpy/pull/19011>`__: BUG: fix ValueError in PyArray_Std on win_amd64
+* `#19012 <https://github.com/numpy/numpy/pull/19012>`__: MAINT: Small cleanups in `PyArray_NewFromDescr_int`
+* `#19014 <https://github.com/numpy/numpy/pull/19014>`__: Revert "BUG: Update coordinates in PyArray_ITER_GOTO1D"
+* `#19018 <https://github.com/numpy/numpy/pull/19018>`__: DOC: "NumPy" <- "numpy" in NumPy Fundamentals - Indexing
+* `#19021 <https://github.com/numpy/numpy/pull/19021>`__: DOC: Add comment for ifdef macro guard
+* `#19024 <https://github.com/numpy/numpy/pull/19024>`__: MAINT: Bump pytest-cov from 2.11.1 to 2.12.0
+* `#19025 <https://github.com/numpy/numpy/pull/19025>`__: MAINT: Bump sphinx from 4.0.0 to 4.0.1
+* `#19026 <https://github.com/numpy/numpy/pull/19026>`__: DOC: Clarify minimum numpy version needed to use random c-api
+* `#19029 <https://github.com/numpy/numpy/pull/19029>`__: ENH: Improve the annotations of `np.core._internal`
+* `#19031 <https://github.com/numpy/numpy/pull/19031>`__: DEP: Deprecate 4 `ndarray.ctypes` methods
+* `#19035 <https://github.com/numpy/numpy/pull/19035>`__: MAINT: Python3 classes do not need to inherit from object
+* `#19037 <https://github.com/numpy/numpy/pull/19037>`__: BUG: do not use PyLong_FromLong for intp
+* `#19041 <https://github.com/numpy/numpy/pull/19041>`__: DOC: Improve trapz docstring
+* `#19043 <https://github.com/numpy/numpy/pull/19043>`__: DOC: Fix typo in release notes for v1.21
+* `#19046 <https://github.com/numpy/numpy/pull/19046>`__: BUG, SIMD: Fix unexpected result of uint8 division on X86
+* `#19047 <https://github.com/numpy/numpy/pull/19047>`__: BUG, SIMD: Fix NumPy build on ppc64le(IBM/Power) for old versions...
+* `#19048 <https://github.com/numpy/numpy/pull/19048>`__: BUG: Fix duplicate variable names in compiler check for AVX512_SKX
+* `#19049 <https://github.com/numpy/numpy/pull/19049>`__: BLD,API: (distutils) Force strict floating point error model...
+* `#19052 <https://github.com/numpy/numpy/pull/19052>`__: ENH: Improve the `np.ufunc` annotations
+* `#19055 <https://github.com/numpy/numpy/pull/19055>`__: DOC: Forward port missing 1.18.5 release note.
+* `#19063 <https://github.com/numpy/numpy/pull/19063>`__: ENH: Stubs for array_equal appear out of date.
+* `#19066 <https://github.com/numpy/numpy/pull/19066>`__: BUG: Fixed an issue wherein `nanmedian` could return an array...
+* `#19068 <https://github.com/numpy/numpy/pull/19068>`__: MAINT: Update mailmap
+* `#19073 <https://github.com/numpy/numpy/pull/19073>`__: REL: Prepare 1.21.0 release
+* `#19074 <https://github.com/numpy/numpy/pull/19074>`__: BUG: Fix compile-time test of POPCNT
+* `#19075 <https://github.com/numpy/numpy/pull/19075>`__: BUG: Fix test_numpy_version.
diff --git a/doc/release/upcoming_changes/15271.compatibility.rst b/doc/release/upcoming_changes/15271.compatibility.rst
deleted file mode 100644
index 7deefe256..000000000
--- a/doc/release/upcoming_changes/15271.compatibility.rst
+++ /dev/null
@@ -1,31 +0,0 @@
-Error type changes in universal functions
------------------------------------------
-The universal functions may now raise different errors
-on invalid input in some cases.
-The main changes should be that a ``RuntimeError`` was
-replaced with a more fitting ``TypeError``.
-When multiple errors were present in the same call,
-NumPy may now raise a different one.
-
-
-``__array_ufunc__`` argument validation
----------------------------------------
-NumPy will now partially validate arguments before calling
-``__array_ufunc__``. Previously, it was possible to pass
-on invalid arguments (such as a non-existing keyword
-argument) when dispatch was known to occur.
-
-
-``__array_ufunc__`` and additional positional arguments
--------------------------------------------------------
-Previously, all positionally passed arguments were checked for
-``__array_ufunc__`` support. In the case of ``reduce``,
-``accumulate``, and ``reduceat`` all arguments may be passed by
-position. This means that when they were passed by
-position, they could previously have been asked to handle
-the ufunc call via ``__array_ufunc__``.
-Since this depended on the way the arguments were passed
-(by position or by keyword), NumPy will now only dispatch
-on the input and output array.
-For example, NumPy will never dispatch on the ``where`` array
-in a reduction such as ``np.add.reduce``.
diff --git a/doc/release/upcoming_changes/16987.improvement.rst b/doc/release/upcoming_changes/16987.improvement.rst
deleted file mode 100644
index dc592a068..000000000
--- a/doc/release/upcoming_changes/16987.improvement.rst
+++ /dev/null
@@ -1,17 +0,0 @@
-Arbitrary ``period`` option for `numpy.unwrap`
-----------------------------------------------
-The size of the interval over which phases are unwrapped is no longer restricted to ``2 * pi``.
-This is especially useful for unwrapping degrees, but can also be used for other intervals.
-
-.. code:: python
-
- >>> phase_deg = np.mod(np.linspace(0,720,19), 360) - 180
- >>> phase_deg
- array([-180., -140., -100., -60., -20., 20., 60., 100., 140.,
- -180., -140., -100., -60., -20., 20., 60., 100., 140.,
- -180.])
-
- >>> unwrap(phase_deg, period=360)
- array([-180., -140., -100., -60., -20., 20., 60., 100., 140.,
- 180., 220., 260., 300., 340., 380., 420., 460., 500.,
- 540.])
diff --git a/doc/release/upcoming_changes/17492.deprecation.rst b/doc/release/upcoming_changes/17492.deprecation.rst
deleted file mode 100644
index 50005aed7..000000000
--- a/doc/release/upcoming_changes/17492.deprecation.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-Inexact matches for `numpy.convolve` and `numpy.correlate` are deprecated
--------------------------------------------------------------------------
-
-`numpy.convolve` and `numpy.correlate` now emits a warning when there are case
-insensitive and/or inexact matches found for ``mode`` argument in the functions.
-Pass full ``"same"``, ``"valid"``, ``"full"`` strings instead of
-``"s"``, ``"v"``, ``"f"`` for the ``mode`` argument.
diff --git a/doc/release/upcoming_changes/17586.deprecation.rst b/doc/release/upcoming_changes/17586.deprecation.rst
deleted file mode 100644
index 845615315..000000000
--- a/doc/release/upcoming_changes/17586.deprecation.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-``np.typeDict`` has been formally deprecated
---------------------------------------------
-``np.typeDict`` is a deprecated alias for ``np.sctypeDict`` and
-has been so for over 14 years (6689502_).
-A deprecation warning will now be issued whenever getting ``np.typeDict``.
-
-.. _6689502: https://github.com/numpy/numpy/commit/668950285c407593a368336ff2e737c5da84af7d
diff --git a/doc/release/upcoming_changes/17727.performance.rst b/doc/release/upcoming_changes/17727.performance.rst
deleted file mode 100755
index 55ab7752b..000000000
--- a/doc/release/upcoming_changes/17727.performance.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-Improved performance in integer division of NumPy arrays
---------------------------------------------------------
-Integer division of NumPy arrays now uses `libdivide <https://libdivide.com/>`
-when the divisor is a constant. With the usage of libdivide and
-other minor optimizations, there is a large speedup.
-The ``//`` operator and ``np.floor_divide`` makes use
-of the new changes.
diff --git a/doc/release/upcoming_changes/17843.new_feature.rst b/doc/release/upcoming_changes/17843.new_feature.rst
deleted file mode 100644
index d2b9d2adc..000000000
--- a/doc/release/upcoming_changes/17843.new_feature.rst
+++ /dev/null
@@ -1,22 +0,0 @@
-Added a mypy plugin for handling platform-specific `numpy.number` precisions
-----------------------------------------------------------------------------
-
-A mypy_ plugin is now available for automatically assigning the (platform-dependent)
-precisions of certain `~numpy.number` subclasses, including the likes of
-`~numpy.int_`, `~numpy.intp` and `~numpy.longlong`. See the documentation on
-:ref:`scalar types <arrays.scalars.built-in>` for a comprehensive overview
-of the affected classes.
-
-Note that while usage of the plugin is completely optional, without it the
-precision of above-mentioned classes will be inferred as `~typing.Any`.
-
-To enable the plugin, one must add it to their mypy `configuration file`_:
-
-.. code-block:: ini
-
- [mypy]
- plugins = numpy.typing.mypy_plugin
-
-
-.. _mypy: http://mypy-lang.org/
-.. _configuration file: https://mypy.readthedocs.io/en/stable/config_file.html
diff --git a/doc/release/upcoming_changes/17900.expired.rst b/doc/release/upcoming_changes/17900.expired.rst
deleted file mode 100644
index 810d67241..000000000
--- a/doc/release/upcoming_changes/17900.expired.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-* The ``shape`` argument `numpy.unravel_index` cannot be passed
- as ``dims`` keyword argument anymore. (Was deprecated in NumPy 1.16.)
diff --git a/doc/release/upcoming_changes/17921.compatibility.rst b/doc/release/upcoming_changes/17921.compatibility.rst
deleted file mode 100644
index a1e2fb2d0..000000000
--- a/doc/release/upcoming_changes/17921.compatibility.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Validate input values in ``Generator.uniform``
-----------------------------------------------
-Checked that ``high - low >= 0`` in ``np.random.Generator.uniform``. Raises
-``ValueError`` if ``low > high``. Previously out-of-order inputs were accepted
-and silently swapped, so that if ``low > high``, the value generated was
-``high + (low - high) * random()``.
diff --git a/doc/release/upcoming_changes/18070.improvement.rst b/doc/release/upcoming_changes/18070.improvement.rst
deleted file mode 100644
index ae750fb12..000000000
--- a/doc/release/upcoming_changes/18070.improvement.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-``np.unique`` now returns single ``NaN``
-----------------------------------------
-When ``np.unique`` operated on an array with multiple ``NaN`` entries,
-its return included a ``NaN`` for each entry that was ``NaN`` in the original array.
-This is now improved such that the returned array contains just one ``NaN`` as the
-last element.
-
-Also for complex arrays all ``NaN`` values are considered equivalent
-(no matter whether the ``NaN`` is in the real or imaginary part). As the
-representant for the returned array the smallest one in the
-lexicographical order is chosen - see ``np.sort`` for how the lexicographical
-order is defined for complex arrays. \ No newline at end of file
diff --git a/doc/release/upcoming_changes/18110.change.rst b/doc/release/upcoming_changes/18110.change.rst
deleted file mode 100644
index 7dbf8e5b7..000000000
--- a/doc/release/upcoming_changes/18110.change.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-`numpy.piecewise` output class now matches the input class
-----------------------------------------------------------
-When `numpy.ndarray` subclasses are used on input to `numpy.piecewise`,
-they are passed on to the functions. The output will now be of the
-same subclass as well.
diff --git a/doc/release/upcoming_changes/18116.future.rst b/doc/release/upcoming_changes/18116.future.rst
deleted file mode 100644
index 1eb14d5f7..000000000
--- a/doc/release/upcoming_changes/18116.future.rst
+++ /dev/null
@@ -1,29 +0,0 @@
-Promotion of strings with numbers and bools is deprecated
----------------------------------------------------------
-Any promotion of numbers and strings is deprecated and will
-give a ``FutureWarning`` the main affected functionalities
-are:
-
-* `numpy.promote_types` and `numpy.result_type` which will raise
- an error in this case in the future.
-* `numpy.concatenate` will raise an error when concatenating a string
- and numeric array. You can use ``dtype="S"`` to explicitly request
- a string result.
-* `numpy.array` and related functions will start returning ``object``
- arrays because these functions use ``object`` as a fallback when
- no common dtype can be found. However, it may happen that future
- releases of NumPy will generally error in these cases.
-
-This will mainly affect code such as::
-
- np.asarray(['string', 0])
-
-and::
-
- np.concatenate((['string'], [0]))
-
-in both cases adding ``dtype="U"`` or ``dtype="S"`` will give the
-previous (string) result, while ``dtype=object`` will ensure an array with
-object dtype is returned.
-
-Comparisons, universal functions, and casting are not affected by this.
diff --git a/doc/release/upcoming_changes/18322.new_feature.rst b/doc/release/upcoming_changes/18322.new_feature.rst
deleted file mode 100644
index 5330b9a97..000000000
--- a/doc/release/upcoming_changes/18322.new_feature.rst
+++ /dev/null
@@ -1,22 +0,0 @@
-Let the mypy plugin manage extended-precision `numpy.number` subclasses
------------------------------------------------------------------------
-
-The mypy_ plugin, introduced in `numpy/numpy#17843`_, has been expanded:
-the plugin now removes annotations for platform-specific extended-precision
-types that are not available to the platform in question.
-For example, it will remove `~numpy.float128` when not available.
-
-Without the plugin *all* extended-precision types will, as far as mypy is concerned,
-be available on all platforms.
-
-To enable the plugin, one must add it to their mypy `configuration file`_:
-
-.. code-block:: ini
-
- [mypy]
- plugins = numpy.typing.mypy_plugin
-
-
-.. _mypy: http://mypy-lang.org/
-.. _configuration file: https://mypy.readthedocs.io/en/stable/config_file.html
-.. _`numpy/numpy#17843`: https://github.com/numpy/numpy/pull/17843
diff --git a/doc/release/upcoming_changes/18629.new_feature.rst b/doc/release/upcoming_changes/18629.new_feature.rst
deleted file mode 100644
index 7d75c323f..000000000
--- a/doc/release/upcoming_changes/18629.new_feature.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-New ``min_digits`` argument for printing float values
------------------------------------------------------
-A new ``min_digits`` argument has been added to the dragon4 float printing
-functions `np.format_float_positional` and `np.format_float_scientific` . This
-kwd guarantees that at least the given number of digits will be printed when
-printing in unique=True mode, even if the extra digits are unnecessary to
-uniquely specify the value. It is the counterpart to the precision argument
-which sets the maximum number of digits to be printed. When unique=False in
-fixed precision mode, it has no effect and the precision argument fixes the
-number of digits.
diff --git a/doc/release/upcoming_changes/18657.performance.rst b/doc/release/upcoming_changes/18657.performance.rst
deleted file mode 100644
index b9d436725..000000000
--- a/doc/release/upcoming_changes/18657.performance.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-Improve performance of ``np.save`` and ``np.load`` for small arrays
--------------------------------------------------------------------
-``np.save`` is now a lot faster for small arrays.
-
-``np.load`` is also faster for small arrays,
-but only when serializing with a version >= `(3, 0)`.
-
-Both are done by removing checks that are only relevant for Python 2,
-while still maintaining compatibility with arrays
-which might have been created by Python 2.
diff --git a/doc/release/upcoming_changes/18658.compatibility.rst b/doc/release/upcoming_changes/18658.compatibility.rst
deleted file mode 100644
index bb4052b9d..000000000
--- a/doc/release/upcoming_changes/18658.compatibility.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-``/usr/include`` removed from default include paths
----------------------------------------------------
-The default include paths when building a package with ``numpy.distutils`` no
-longer include ``/usr/include``. This path is normally added by the compiler,
-and hardcoding it can be problematic. In case this causes a problem, please
-open an issue. A workaround is documented in PR 18658.
diff --git a/doc/release/upcoming_changes/18666.improvement.rst b/doc/release/upcoming_changes/18666.improvement.rst
deleted file mode 100644
index 70b87ecf4..000000000
--- a/doc/release/upcoming_changes/18666.improvement.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-``Generator.rayleigh`` and ``Generator.geometric`` performance improved
------------------------------------------------------------------------
-The performance of Rayleigh and geometric random variate generation
-in ``Generator`` has improved. These are both transformation of exponential
-random variables and the slow log-based inverse cdf transformation has
-been replaced with the Ziggurat-based exponential variate generator.
-
-This change breaks the stream of variates generated when variates from
-either of these distributions are produced.
diff --git a/doc/release/upcoming_changes/18695.new_feature.rst b/doc/release/upcoming_changes/18695.new_feature.rst
deleted file mode 100644
index a1f108176..000000000
--- a/doc/release/upcoming_changes/18695.new_feature.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-f2py now recognizes Fortran abstract interface blocks
------------------------------------------------------
-`np.f2py` can now parse abstract interface blocks.
diff --git a/doc/release/upcoming_changes/18697.expired.rst b/doc/release/upcoming_changes/18697.expired.rst
deleted file mode 100644
index 5a45ce216..000000000
--- a/doc/release/upcoming_changes/18697.expired.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-* The function ``PyUFunc_GenericFunction`` has been disabled.
- It was deprecated in NumPy 1.19. Users should call the ufunc
- directly using the Python API.
-* The function ``PyUFunc_SetUsesArraysAsData`` has been disabled.
- It was deprecated in NumPy 1.19.
diff --git a/doc/release/upcoming_changes/18718.c_api.rst b/doc/release/upcoming_changes/18718.c_api.rst
deleted file mode 100644
index eb9121ab6..000000000
--- a/doc/release/upcoming_changes/18718.c_api.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-Use of ``ufunc->type_resolver`` and "type tuple"
-------------------------------------------------
-NumPy now normalizes the "type tuple" argument to the
-type resolver functions before calling it. Note that in
-the use of this type resolver is legacy behaviour and NumPy
-will not do so when possible.
-Calling ``ufunc->type_resolver`` or ``PyUFunc_DefaultTypeResolver``
-is strongly discouraged and will now enforce a normalized
-type tuple if done.
-Note that this does not affect providing a type resolver, which
-is expected to keep working in most circumstances.
-If you have an unexpected use-case for calling the type resolver,
-please inform the NumPy developers so that a solution can be found.
diff --git a/doc/release/upcoming_changes/18718.compatibility.rst b/doc/release/upcoming_changes/18718.compatibility.rst
deleted file mode 100644
index 18bf7158d..000000000
--- a/doc/release/upcoming_changes/18718.compatibility.rst
+++ /dev/null
@@ -1,59 +0,0 @@
-Changes to comparisons with ``dtype=...``
------------------------------------------
-When the ``dtype=`` (or ``signature``) arguments to comparison
-ufuncs (``equal``, ``less``, etc.) is used, this will denote
-the desired output dtype in the future.
-This means that:
-
- np.equal(2, 3, dtype=object)
-
-will give a ``FutureWarning`` that it will return an ``object``
-array in the future, which currently happens for:
-
- np.equal(None, None, dtype=object)
-
-due to the fact that ``np.array(None)`` is already an object
-array. (This also happens for some other dtypes.)
-
-Since comparisons normally only return boolean arrays, providing
-any other dtype will always raise an error in the future and
-give a ``DeprecationWarning`` now.
-
-
-Changes to ``dtype`` and ``signature`` arguments in ufuncs
-----------------------------------------------------------
-The universal function arguments ``dtype`` and ``signature``
-which are also valid for reduction such as ``np.add.reduce``
-(which is the implementation for ``np.sum``) will now issue
-a warning when the ``dtype`` provided is not a "basic" dtype.
-
-NumPy almost always ignored metadata, byteorder or time units
-on these inputs. NumPy will now always ignore it and raise an
-error if byteorder or time unit changed.
-The following are the most important examples of changes which
-will give the error. In some cases previously the information
-stored was not ignored, in all of these an error is now raised::
-
- # Previously ignored the byte-order (affect if non-native)
- np.add(3, 5, dtype=">i32")
-
- # The biggest impact is for timedelta or datetimes:
- arr = np.arange(10, dtype="m8[s]")
- # The examples always ignored the time unit "ns":
- np.add(arr, arr, dtype="m8[ns]")
- np.maximum.reduce(arr, dtype="m8[ns]")
-
- # The following previously did use "ns" (as opposed to `arr.dtype`)
- np.add(3, 5, dtype="m8[ns]") # Now return generic time units
- np.maximum(arr, arr, dtype="m8[ns]") # Now returns "s" (from `arr`)
-
-The same applies for functions like ``np.sum`` which use these internally.
-This change is necessary to achieve consistent handling within NumPy.
-
-If you run into these, in most cases pass for example ``dtype=np.timedelta64``
-which clearly denotes a general ``timedelta64`` without any unit or byte-order
-defined. If you need to specify the output dtype precisely, you may do so
-by either casting the inputs or providing an output array using `out=`.
-
-NumPy may choose to allow providing an exact output ``dtype`` here in the
-future, which would be preceded by a ``FutureWarning``.
diff --git a/doc/release/upcoming_changes/18737.new_feature.rst b/doc/release/upcoming_changes/18737.new_feature.rst
deleted file mode 100644
index e451ac90a..000000000
--- a/doc/release/upcoming_changes/18737.new_feature.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-BLAS and LAPACK configuration via environment variables
--------------------------------------------------------
-Autodetection of installed BLAS and LAPACK libraries can be bypassed by using
-the ``NPY_BLAS_LIBS`` and ``NPY_LAPACK_LIBS`` environment variables. Instead,
-the link flags in these environment variables will be used directly, and the
-language is assumed to be F77. This is especially useful in automated builds
-where the BLAS and LAPACK that are installed are known exactly. A use case is
-replacing the actual implementation at runtime via stub library links.
-
-If ``NPY_CBLAS_LIBS`` is set (optional in addition to ``NPY_BLAS_LIBS``), this
-will be used as well, by defining ``HAVE_CBLAS`` and appending the environment
-variable content to the link flags.
diff --git a/doc/release/upcoming_changes/18874.change.rst b/doc/release/upcoming_changes/18874.change.rst
deleted file mode 100644
index c86fed83e..000000000
--- a/doc/release/upcoming_changes/18874.change.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-Enable Accelerate Framework
-----------------------------
-With the release of macOS 11.3, several different issues that
-numpy was encountering when using Accelerate Framework's
-implementation of BLAS and LAPACK should be resolved. This
-change enables the Accelerate Framework as an option on macOS.
-If additional issues are found, please file a bug report
-against Accelerate using the developer feedback assistant
-tool (https://developer.apple.com/bug-reporting/). We
-intend to address issues promptly and plan to continue
-supporting and updating our BLAS and LAPACK libraries.
diff --git a/doc/release/upcoming_changes/18880.compatibility.rst b/doc/release/upcoming_changes/18880.compatibility.rst
deleted file mode 100644
index 4951463cf..000000000
--- a/doc/release/upcoming_changes/18880.compatibility.rst
+++ /dev/null
@@ -1,34 +0,0 @@
-Ufunc ``signature=...`` and ``dtype=`` generalization and ``casting``
----------------------------------------------------------------------
-The behaviour for ``np.ufunc(1.0, 1.0, signature=...)`` or
-``np.ufunc(1.0, 1.0, dtype=...)`` can now yield different loops in 1.21
-compared to 1.20 because of changes in promotion.
-When ``signature`` was previously used, the casting check on inputs
-was relaxed, which could lead to downcasting inputs unsafely especially
-if combined with ``casting="unsafe"``.
-
-Casting is now guaranteed to be safe. If a signature is only
-partially provided, for example using ``signature=("float64", None, None)``,
-this could lead to no loop being found (an error).
-In that case, it is necessary to provide the complete signature
-to enforce casting the inputs.
-If ``dtype="float64"`` is used or only outputs are set (e.g.
-``signature=(None, None, "float64")`` the is unchanged.
-We expect that very few users are affected by this change.
-
-Further, the meaning of ``dtype="float64"`` has been slightly modified and
-now strictly enforces only the correct output (and not input) DTypes.
-This means it is now always equivalent to::
-
- signature=(None, None, "float64")
-
-(If the ufunc has two inputs and one output). Since this could lead
-to no loop being found in some cases, NumPy will normally also search
-for the loop::
-
- signature=("float64", "float64", "float64")
-
-if the first search failed.
-In the future, this behaviour may be customized to achieve the expected
-results for more complex ufuncs. (For some universal functions such as
-``np.ldexp`` inputs can have different DTypes.)
diff --git a/doc/release/upcoming_changes/18906.new_function.rst b/doc/release/upcoming_changes/18906.new_function.rst
deleted file mode 100644
index 38444009d..000000000
--- a/doc/release/upcoming_changes/18906.new_function.rst
+++ /dev/null
@@ -1,17 +0,0 @@
-.. currentmodule:: numpy.random
-
-Add `PCG64DXSM` `BitGenerator`
-------------------------------
-
-Uses of the `PCG64` `BitGenerator` in a massively-parallel context have been
-shown to have statistical weaknesses that were not apparent at the first
-release in numpy 1.17. Most users will never observe this weakness and are
-safe to continue to use `PCG64`. We have introduced a new `PCG64DXSM`
-`BitGenerator` that will eventually become the new default `BitGenerator`
-implementation used by `default_rng` in future releases. `PCG64DXSM` solves
-the statistical weakness while preserving the performance and the features of
-`PCG64`.
-
-See :ref:`upgrading-pcg64` for more details.
-
-.. currentmodule:: numpy
diff --git a/doc/release/upcoming_changes/18934.improvement.rst b/doc/release/upcoming_changes/18934.improvement.rst
deleted file mode 100644
index 582062f2f..000000000
--- a/doc/release/upcoming_changes/18934.improvement.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Placeholder annotations have been improved
-------------------------------------------
-All placeholder annotations, that were previously annotated as ``typing.Any``,
-have been improved. Where appropiate they have been replaced with explicit
-function definitions, classes or other miscellaneous objects.
diff --git a/doc/release/upcoming_changes/18935.new_feature.rst b/doc/release/upcoming_changes/18935.new_feature.rst
deleted file mode 100644
index 8c6e25da6..000000000
--- a/doc/release/upcoming_changes/18935.new_feature.rst
+++ /dev/null
@@ -1,28 +0,0 @@
-A runtime-subcriptable alias has been added for `ndarray`
----------------------------------------------------------
-`numpy.typing.NDArray` has been added, a runtime-subscriptable alias for
-``np.ndarray[Any, np.dtype[~Scalar]]``. The new type alias can be used
-for annotating arrays with a given dtype and unspecified shape. :sup:`1`
-
-:sup:`1` NumPy does not support the annotating of array shapes as of 1.21,
-this is expected to change in the future though (see :pep:`646`).
-
-Examples
-~~~~~~~~
-
-.. code-block:: python
-
- >>> import numpy as np
- >>> import numpy.typing as npt
-
- >>> print(npt.NDArray)
- numpy.ndarray[typing.Any, numpy.dtype[~ScalarType]]
-
- >>> print(npt.NDArray[np.float64])
- numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]]
-
- >>> NDArrayInt = npt.NDArray[np.int_]
- >>> a: NDArrayInt = np.arange(10)
-
- >>> def func(a: npt.ArrayLike) -> npt.NDArray[Any]:
- ... return np.array(a)
diff --git a/doc/release/upcoming_changes/18963.expired.rst b/doc/release/upcoming_changes/18963.expired.rst
deleted file mode 100644
index d93b8a06a..000000000
--- a/doc/release/upcoming_changes/18963.expired.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-Remove deprecated ``PolyBase`` and unused ``PolyError`` and ``PolyDomainError``
--------------------------------------------------------------------------------
-
-The class ``PolyBase`` has been removed (deprecated in numpy 1.9.0). Please use
-the abstract ``ABCPolyBase`` class instead.
-
-Furthermore, the unused ``PolyError`` and ``PolyDomainError`` exceptions are
-removed from the `numpy.polynomial`.
diff --git a/doc/release/upcoming_changes/19001.deprecation.rst b/doc/release/upcoming_changes/19001.deprecation.rst
deleted file mode 100644
index 48087f8a5..000000000
--- a/doc/release/upcoming_changes/19001.deprecation.rst
+++ /dev/null
@@ -1,8 +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.
-A warning is now given when the exception is anything but AttributeError.
-To silence the warning, the type raising the exception has to be adapted
-to raise an ``AttributeError``.
diff --git a/doc/release/upcoming_changes/19031.deprecation.rst b/doc/release/upcoming_changes/19031.deprecation.rst
deleted file mode 100644
index de92e18df..000000000
--- a/doc/release/upcoming_changes/19031.deprecation.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-Four `ndarray.ctypes` methods have been deprecated
---------------------------------------------------
-Four methods of the `ndarray.ctypes` object have been deprecated,
-as they are (undocumentated) implementation artifacts of their respective
-properties.
-
-The methods in question are:
-
-* ``_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)
diff --git a/doc/release/upcoming_changes/19049.compatibility.rst b/doc/release/upcoming_changes/19049.compatibility.rst
deleted file mode 100644
index 5a6eadc7a..000000000
--- a/doc/release/upcoming_changes/19049.compatibility.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Distutils forces strict floating point model on clang
------------------------------------------------------
-NumPy distutils will now always add the ``-ffp-exception-behavior=strict``
-compiler flag when compiling with clang. Clang defaults to a non-strict
-version, which allows the compiler to generate code that does not set
-floating point warnings/errors correctly.
diff --git a/doc/source/release/1.21.0-notes.rst b/doc/source/release/1.21.0-notes.rst
index 5fda1f631..4b6d4d115 100644
--- a/doc/source/release/1.21.0-notes.rst
+++ b/doc/source/release/1.21.0-notes.rst
@@ -3,4 +3,561 @@
==========================
NumPy 1.21.0 Release Notes
==========================
+The NumPy 1.21.0 release highlights are
+* continued SIMD work covering more functions and platforms,
+* initial work on the new dtype infrastructure and casting,
+* improved documentation,
+* improved annotations,
+* the new ``PCG64DXSM`` bitgenerator for random numbers.
+
+In addition there are the usual large number of bug fixes and other improvements.
+
+The Python versions supported for this release are 3.7-3.9. Official support
+for Python 3.10 will be added when it is released.
+
+
+New functions
+=============
+
+.. currentmodule:: numpy.random
+
+Add `PCG64DXSM` `BitGenerator`
+------------------------------
+
+Uses of the ``PCG64`` ``BitGenerator`` in a massively-parallel context have been
+shown to have statistical weaknesses that were not apparent at the first
+release in numpy 1.17. Most users will never observe this weakness and are
+safe to continue to use ``PCG64``. We have introduced a new ``PCG64DXSM``
+``BitGenerator`` that will eventually become the new default ``BitGenerator``
+implementation used by ``default_rng`` in future releases. ``PCG64DXSM`` solves
+the statistical weakness while preserving the performance and the features of
+``PCG64``.
+
+See :ref:`upgrading-pcg64` for more details.
+
+.. currentmodule:: numpy
+
+(`gh-18906 <https://github.com/numpy/numpy/pull/18906>`__)
+
+
+Expired deprecations
+====================
+
+* The ``shape`` argument `~numpy.unravel_index` cannot be passed
+ as ``dims`` keyword argument anymore. (Was deprecated in NumPy 1.16.)
+
+ (`gh-17900 <https://github.com/numpy/numpy/pull/17900>`__)
+
+* The function ``PyUFunc_GenericFunction`` has been disabled.
+ It was deprecated in NumPy 1.19. Users should call the ufunc
+ directly using the Python API.
+
+ (`gh-18697 <https://github.com/numpy/numpy/pull/18697>`__)
+
+* The function ``PyUFunc_SetUsesArraysAsData`` has been disabled.
+ It was deprecated in NumPy 1.19.
+
+ (`gh-18697 <https://github.com/numpy/numpy/pull/18697>`__)
+
+* The class ``PolyBase`` has been removed (deprecated in numpy 1.9.0). Please
+ use the abstract ``ABCPolyBase`` class instead.
+
+ (`gh-18963 <https://github.com/numpy/numpy/pull/18963>`__)
+
+* The unused ``PolyError`` and ``PolyDomainError`` exceptions are
+ removed.
+
+ (`gh-18963 <https://github.com/numpy/numpy/pull/18963>`__)
+
+
+Deprecations
+============
+
+Inexact matches for ``numpy.convolve`` and ``numpy.correlate`` are deprecated
+-----------------------------------------------------------------------------
+
+`~numpy.convolve` and `~numpy.correlate` now emit a warning when there are case
+insensitive and/or inexact matches found for ``mode`` argument in the functions.
+Pass full ``"same"``, ``"valid"``, ``"full"`` strings instead of
+``"s"``, ``"v"``, ``"f"`` for the ``mode`` argument.
+
+(`gh-17492 <https://github.com/numpy/numpy/pull/17492>`__)
+
+``np.typeDict`` has been formally deprecated
+--------------------------------------------
+``np.typeDict`` is a deprecated alias for ``np.sctypeDict`` and
+has been so for over 14 years (6689502_).
+A deprecation warning will now be issued whenever getting ``np.typeDict``.
+
+.. _6689502: https://github.com/numpy/numpy/commit/668950285c407593a368336ff2e737c5da84af7d
+
+(`gh-17586 <https://github.com/numpy/numpy/pull/17586>`__)
+
+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.
+A warning is now given when the exception is anything but AttributeError.
+To silence the warning, the type raising the exception has to be adapted
+to raise an ``AttributeError``.
+
+(`gh-19001 <https://github.com/numpy/numpy/pull/19001>`__)
+
+Four ``ndarray.ctypes`` methods have been deprecated
+----------------------------------------------------
+Four methods of the `ndarray.ctypes` object have been deprecated,
+as they are (undocumentated) implementation artifacts of their respective
+properties.
+
+The methods in question are:
+
+* ``_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)
+
+(`gh-19031 <https://github.com/numpy/numpy/pull/19031>`__)
+
+
+Future Changes
+==============
+
+Promotion of strings with numbers and bools will be deprecated
+--------------------------------------------------------------
+Any promotion of numbers and strings is deprecated and will
+give a ``FutureWarning`` the main affected functionalities
+are:
+
+* `~numpy.promote_types` and `~numpy.result_type` which will raise
+ an error in this case in the future.
+* `~numpy.concatenate` will raise an error when concatenating a string
+ and numeric array. You can use ``dtype="S"`` to explicitly request
+ a string result.
+* `~numpy.array` and related functions will start returning ``object``
+ arrays because these functions use ``object`` as a fallback when
+ no common dtype can be found. However, it may happen that future
+ releases of NumPy will generally error in these cases.
+
+This will mainly affect code such as::
+
+ np.asarray(['string', 0])
+
+and::
+
+ np.concatenate((['string'], [0]))
+
+in both cases adding ``dtype="U"`` or ``dtype="S"`` will give the
+previous (string) result, while ``dtype=object`` will ensure an array with
+object dtype is returned.
+
+Comparisons, universal functions, and casting are not affected by this.
+
+(`gh-18116 <https://github.com/numpy/numpy/pull/18116>`__)
+
+
+Compatibility notes
+===================
+
+Error type changes in universal functions
+-----------------------------------------
+The universal functions may now raise different errors on invalid input in some
+cases. The main changes should be that a ``RuntimeError`` was replaced with a
+more fitting ``TypeError``. When multiple errors were present in the same
+call, NumPy may now raise a different one.
+
+(`gh-15271 <https://github.com/numpy/numpy/pull/15271>`__)
+
+``__array_ufunc__`` argument validation
+---------------------------------------
+NumPy will now partially validate arguments before calling ``__array_ufunc__``.
+Previously, it was possible to pass on invalid arguments (such as a
+non-existing keyword argument) when dispatch was known to occur.
+
+(`gh-15271 <https://github.com/numpy/numpy/pull/15271>`__)
+
+``__array_ufunc__`` and additional positional arguments
+-------------------------------------------------------
+Previously, all positionally passed arguments were checked for
+``__array_ufunc__`` support. In the case of ``reduce``, ``accumulate``, and
+``reduceat`` all arguments may be passed by position. This means that when
+they were passed by position, they could previously have been asked to handle
+the ufunc call via ``__array_ufunc__``. Since this depended on the way the
+arguments were passed (by position or by keyword), NumPy will now only dispatch
+on the input and output array. For example, NumPy will never dispatch on the
+``where`` array in a reduction such as ``np.add.reduce``.
+
+(`gh-15271 <https://github.com/numpy/numpy/pull/15271>`__)
+
+Validate input values in ``Generator.uniform``
+----------------------------------------------
+Checked that ``high - low >= 0`` in ``np.random.Generator.uniform``. Raises
+``ValueError`` if ``low > high``. Previously out-of-order inputs were accepted
+and silently swapped, so that if ``low > high``, the value generated was
+``high + (low - high) * random()``.
+
+(`gh-17921 <https://github.com/numpy/numpy/pull/17921>`__)
+
+``/usr/include`` removed from default include paths
+---------------------------------------------------
+The default include paths when building a package with ``numpy.distutils`` no
+longer include ``/usr/include``. This path is normally added by the compiler,
+and hardcoding it can be problematic. In case this causes a problem, please
+open an issue. A workaround is documented in PR 18658.
+
+(`gh-18658 <https://github.com/numpy/numpy/pull/18658>`__)
+
+Changes to comparisons with ``dtype=...``
+-----------------------------------------
+When the ``dtype=`` (or ``signature``) arguments to comparison
+ufuncs (``equal``, ``less``, etc.) is used, this will denote
+the desired output dtype in the future.
+This means that:
+
+ np.equal(2, 3, dtype=object)
+
+will give a ``FutureWarning`` that it will return an ``object``
+array in the future, which currently happens for:
+
+ np.equal(None, None, dtype=object)
+
+due to the fact that ``np.array(None)`` is already an object
+array. (This also happens for some other dtypes.)
+
+Since comparisons normally only return boolean arrays, providing
+any other dtype will always raise an error in the future and
+give a ``DeprecationWarning`` now.
+
+(`gh-18718 <https://github.com/numpy/numpy/pull/18718>`__)
+
+Changes to ``dtype`` and ``signature`` arguments in ufuncs
+----------------------------------------------------------
+The universal function arguments ``dtype`` and ``signature``
+which are also valid for reduction such as ``np.add.reduce``
+(which is the implementation for ``np.sum``) will now issue
+a warning when the ``dtype`` provided is not a "basic" dtype.
+
+NumPy almost always ignored metadata, byteorder or time units
+on these inputs. NumPy will now always ignore it and raise an
+error if byteorder or time unit changed.
+The following are the most important examples of changes which
+will give the error. In some cases previously the information
+stored was not ignored, in all of these an error is now raised::
+
+ # Previously ignored the byte-order (affect if non-native)
+ np.add(3, 5, dtype=">i32")
+
+ # The biggest impact is for timedelta or datetimes:
+ arr = np.arange(10, dtype="m8[s]")
+ # The examples always ignored the time unit "ns":
+ np.add(arr, arr, dtype="m8[ns]")
+ np.maximum.reduce(arr, dtype="m8[ns]")
+
+ # The following previously did use "ns" (as opposed to `arr.dtype`)
+ np.add(3, 5, dtype="m8[ns]") # Now return generic time units
+ np.maximum(arr, arr, dtype="m8[ns]") # Now returns "s" (from `arr`)
+
+The same applies for functions like ``np.sum`` which use these internally.
+This change is necessary to achieve consistent handling within NumPy.
+
+If you run into these, in most cases pass for example ``dtype=np.timedelta64``
+which clearly denotes a general ``timedelta64`` without any unit or byte-order
+defined. If you need to specify the output dtype precisely, you may do so
+by either casting the inputs or providing an output array using `out=`.
+
+NumPy may choose to allow providing an exact output ``dtype`` here in the
+future, which would be preceded by a ``FutureWarning``.
+
+(`gh-18718 <https://github.com/numpy/numpy/pull/18718>`__)
+
+Ufunc ``signature=...`` and ``dtype=`` generalization and ``casting``
+---------------------------------------------------------------------
+The behaviour for ``np.ufunc(1.0, 1.0, signature=...)`` or
+``np.ufunc(1.0, 1.0, dtype=...)`` can now yield different loops in 1.21
+compared to 1.20 because of changes in promotion.
+When ``signature`` was previously used, the casting check on inputs
+was relaxed, which could lead to downcasting inputs unsafely especially
+if combined with ``casting="unsafe"``.
+
+Casting is now guaranteed to be safe. If a signature is only
+partially provided, for example using ``signature=("float64", None, None)``,
+this could lead to no loop being found (an error).
+In that case, it is necessary to provide the complete signature
+to enforce casting the inputs.
+If ``dtype="float64"`` is used or only outputs are set (e.g.
+``signature=(None, None, "float64")`` the is unchanged.
+We expect that very few users are affected by this change.
+
+Further, the meaning of ``dtype="float64"`` has been slightly modified and
+now strictly enforces only the correct output (and not input) DTypes.
+This means it is now always equivalent to::
+
+ signature=(None, None, "float64")
+
+(If the ufunc has two inputs and one output). Since this could lead
+to no loop being found in some cases, NumPy will normally also search
+for the loop::
+
+ signature=("float64", "float64", "float64")
+
+if the first search failed.
+In the future, this behaviour may be customized to achieve the expected
+results for more complex ufuncs. (For some universal functions such as
+``np.ldexp`` inputs can have different DTypes.)
+
+(`gh-18880 <https://github.com/numpy/numpy/pull/18880>`__)
+
+Distutils forces strict floating point model on clang
+-----------------------------------------------------
+NumPy distutils will now always add the ``-ffp-exception-behavior=strict``
+compiler flag when compiling with clang. Clang defaults to a non-strict
+version, which allows the compiler to generate code that does not set
+floating point warnings/errors correctly.
+
+(`gh-19049 <https://github.com/numpy/numpy/pull/19049>`__)
+
+
+C API changes
+=============
+
+Use of ``ufunc->type_resolver`` and "type tuple"
+------------------------------------------------
+NumPy now normalizes the "type tuple" argument to the type resolver functions
+before calling it. Note that in the use of this type resolver is legacy
+behaviour and NumPy will not do so when possible. Calling
+``ufunc->type_resolver`` or ``PyUFunc_DefaultTypeResolver`` is strongly
+discouraged and will now enforce a normalized type tuple if done. Note that
+this does not affect providing a type resolver, which is expected to keep
+working in most circumstances. If you have an unexpected use-case for calling
+the type resolver, please inform the NumPy developers so that a solution can be
+found.
+
+(`gh-18718 <https://github.com/numpy/numpy/pull/18718>`__)
+
+
+New Features
+============
+
+Added a mypy plugin for handling platform-specific ``numpy.number`` precisions
+------------------------------------------------------------------------------
+A mypy_ plugin is now available for automatically assigning the (platform-dependent)
+precisions of certain `~numpy.number` subclasses, including the likes of
+`~numpy.int_`, `~numpy.intp` and `~numpy.longlong`. See the documentation on
+:ref:`scalar types <arrays.scalars.built-in>` for a comprehensive overview
+of the affected classes.
+
+Note that while usage of the plugin is completely optional, without it the
+precision of above-mentioned classes will be inferred as `~typing.Any`.
+
+To enable the plugin, one must add it to their mypy `configuration file`_:
+
+.. code-block:: ini
+
+ [mypy]
+ plugins = numpy.typing.mypy_plugin
+
+
+.. _mypy: http://mypy-lang.org/
+.. _configuration file: https://mypy.readthedocs.io/en/stable/config_file.html
+
+(`gh-17843 <https://github.com/numpy/numpy/pull/17843>`__)
+
+Let the mypy plugin manage extended-precision ``numpy.number`` subclasses
+-------------------------------------------------------------------------
+The mypy_ plugin, introduced in `numpy/numpy#17843`_, has been expanded:
+the plugin now removes annotations for platform-specific extended-precision
+types that are not available to the platform in question.
+For example, it will remove `~numpy.float128` when not available.
+
+Without the plugin *all* extended-precision types will, as far as mypy is concerned,
+be available on all platforms.
+
+To enable the plugin, one must add it to their mypy `configuration file`_:
+
+.. code-block:: ini
+
+ [mypy]
+ plugins = numpy.typing.mypy_plugin
+
+
+.. _mypy: http://mypy-lang.org/
+.. _configuration file: https://mypy.readthedocs.io/en/stable/config_file.html
+.. _`numpy/numpy#17843`: https://github.com/numpy/numpy/pull/17843
+
+(`gh-18322 <https://github.com/numpy/numpy/pull/18322>`__)
+
+New ``min_digits`` argument for printing float values
+-----------------------------------------------------
+A new ``min_digits`` argument has been added to the dragon4 float printing
+functions `~numpy.format_float_positional` and `~numpy.format_float_scientific`
+. This kwd guarantees that at least the given number of digits will be printed
+when printing in unique=True mode, even if the extra digits are unnecessary to
+uniquely specify the value. It is the counterpart to the precision argument
+which sets the maximum number of digits to be printed. When unique=False in
+fixed precision mode, it has no effect and the precision argument fixes the
+number of digits.
+
+(`gh-18629 <https://github.com/numpy/numpy/pull/18629>`__)
+
+f2py now recognizes Fortran abstract interface blocks
+-----------------------------------------------------
+`~numpy.f2py` can now parse abstract interface blocks.
+
+(`gh-18695 <https://github.com/numpy/numpy/pull/18695>`__)
+
+BLAS and LAPACK configuration via environment variables
+-------------------------------------------------------
+Autodetection of installed BLAS and LAPACK libraries can be bypassed by using
+the ``NPY_BLAS_LIBS`` and ``NPY_LAPACK_LIBS`` environment variables. Instead,
+the link flags in these environment variables will be used directly, and the
+language is assumed to be F77. This is especially useful in automated builds
+where the BLAS and LAPACK that are installed are known exactly. A use case is
+replacing the actual implementation at runtime via stub library links.
+
+If ``NPY_CBLAS_LIBS`` is set (optional in addition to ``NPY_BLAS_LIBS``), this
+will be used as well, by defining ``HAVE_CBLAS`` and appending the environment
+variable content to the link flags.
+
+(`gh-18737 <https://github.com/numpy/numpy/pull/18737>`__)
+
+A runtime-subcriptable alias has been added for ``ndarray``
+-----------------------------------------------------------
+``numpy.typing.NDArray`` has been added, a runtime-subscriptable alias for
+``np.ndarray[Any, np.dtype[~Scalar]]``. The new type alias can be used
+for annotating arrays with a given dtype and unspecified shape. :sup:`1`
+
+:sup:`1` NumPy does not support the annotating of array shapes as of 1.21,
+this is expected to change in the future though (see :pep:`646`).
+
+Examples
+~~~~~~~~
+
+.. code-block:: python
+
+ >>> import numpy as np
+ >>> import numpy.typing as npt
+
+ >>> print(npt.NDArray)
+ numpy.ndarray[typing.Any, numpy.dtype[~ScalarType]]
+
+ >>> print(npt.NDArray[np.float64])
+ numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]]
+
+ >>> NDArrayInt = npt.NDArray[np.int_]
+ >>> a: NDArrayInt = np.arange(10)
+
+ >>> def func(a: npt.ArrayLike) -> npt.NDArray[Any]:
+ ... return np.array(a)
+
+(`gh-18935 <https://github.com/numpy/numpy/pull/18935>`__)
+
+
+Improvements
+============
+
+Arbitrary ``period`` option for ``numpy.unwrap``
+------------------------------------------------
+The size of the interval over which phases are unwrapped is no longer restricted to ``2 * pi``.
+This is especially useful for unwrapping degrees, but can also be used for other intervals.
+
+.. code:: python
+
+ >>> phase_deg = np.mod(np.linspace(0,720,19), 360) - 180
+ >>> phase_deg
+ array([-180., -140., -100., -60., -20., 20., 60., 100., 140.,
+ -180., -140., -100., -60., -20., 20., 60., 100., 140.,
+ -180.])
+
+ >>> unwrap(phase_deg, period=360)
+ array([-180., -140., -100., -60., -20., 20., 60., 100., 140.,
+ 180., 220., 260., 300., 340., 380., 420., 460., 500.,
+ 540.])
+
+(`gh-16987 <https://github.com/numpy/numpy/pull/16987>`__)
+
+``np.unique`` now returns single ``NaN``
+----------------------------------------
+When ``np.unique`` operated on an array with multiple ``NaN`` entries,
+its return included a ``NaN`` for each entry that was ``NaN`` in the original array.
+This is now improved such that the returned array contains just one ``NaN`` as the
+last element.
+
+Also for complex arrays all ``NaN`` values are considered equivalent
+(no matter whether the ``NaN`` is in the real or imaginary part). As the
+representant for the returned array the smallest one in the
+lexicographical order is chosen - see ``np.sort`` for how the lexicographical
+order is defined for complex arrays.
+
+(`gh-18070 <https://github.com/numpy/numpy/pull/18070>`__)
+
+``Generator.rayleigh`` and ``Generator.geometric`` performance improved
+-----------------------------------------------------------------------
+The performance of Rayleigh and geometric random variate generation
+in ``Generator`` has improved. These are both transformation of exponential
+random variables and the slow log-based inverse cdf transformation has
+been replaced with the Ziggurat-based exponential variate generator.
+
+This change breaks the stream of variates generated when variates from
+either of these distributions are produced.
+
+(`gh-18666 <https://github.com/numpy/numpy/pull/18666>`__)
+
+Placeholder annotations have been improved
+------------------------------------------
+All placeholder annotations, that were previously annotated as ``typing.Any``,
+have been improved. Where appropiate they have been replaced with explicit
+function definitions, classes or other miscellaneous objects.
+
+(`gh-18934 <https://github.com/numpy/numpy/pull/18934>`__)
+
+
+Performance improvements
+========================
+
+Improved performance in integer division of NumPy arrays
+--------------------------------------------------------
+Integer division of NumPy arrays now uses
+`libdivide <https://libdivide.com/>`__ when the divisor is a constant. With the
+usage of libdivide and other minor optimizations, there is a large speedup.
+The ``//`` operator and ``np.floor_divide`` makes use of the new changes.
+
+(`gh-17727 <https://github.com/numpy/numpy/pull/17727>`__)
+
+Improve performance of ``np.save`` and ``np.load`` for small arrays
+-------------------------------------------------------------------
+``np.save`` is now a lot faster for small arrays.
+
+``np.load`` is also faster for small arrays,
+but only when serializing with a version >= ``(3, 0)``.
+
+Both are done by removing checks that are only relevant for Python 2,
+while still maintaining compatibility with arrays
+which might have been created by Python 2.
+
+(`gh-18657 <https://github.com/numpy/numpy/pull/18657>`__)
+
+
+Changes
+=======
+
+`numpy.piecewise` output class now matches the input class
+----------------------------------------------------------
+When `~numpy.ndarray` subclasses are used on input to `~numpy.piecewise`,
+they are passed on to the functions. The output will now be of the
+same subclass as well.
+
+(`gh-18110 <https://github.com/numpy/numpy/pull/18110>`__)
+
+Enable Accelerate Framework
+----------------------------
+With the release of macOS 11.3, several different issues that numpy was
+encountering when using Accelerate Framework's implementation of BLAS and
+LAPACK should be resolved. This change enables the Accelerate Framework as an
+option on macOS. If additional issues are found, please file a bug report
+against Accelerate using the developer feedback assistant tool
+(https://developer.apple.com/bug-reporting/). We intend to address issues
+promptly and plan to continue supporting and updating our BLAS and LAPACK
+libraries.
+
+(`gh-18874 <https://github.com/numpy/numpy/pull/18874>`__)
diff --git a/numpy/core/code_generators/cversions.txt b/numpy/core/code_generators/cversions.txt
index 2d3a65391..09c1c31e0 100644
--- a/numpy/core/code_generators/cversions.txt
+++ b/numpy/core/code_generators/cversions.txt
@@ -55,4 +55,5 @@
# Version 14 (NumPy 1.20)
# DType related API additions.
# A new field was added to the end of PyArrayObject_fields.
+# Version 14 (NumPy 1.21) No change.
0x0000000e = 17a0f366e55ec05e5c5c149123478452
diff --git a/numpy/core/setup_common.py b/numpy/core/setup_common.py
index fe66bd173..a700610d3 100644
--- a/numpy/core/setup_common.py
+++ b/numpy/core/setup_common.py
@@ -42,6 +42,7 @@ C_ABI_VERSION = 0x01000009
# 0x0000000d - 1.16.x
# 0x0000000d - 1.19.x
# 0x0000000e - 1.20.x
+# 0x0000000e - 1.21.x
C_API_VERSION = 0x0000000e
class MismatchCAPIWarning(Warning):