diff options
35 files changed, 1332 insertions, 445 deletions
@@ -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): |