From 73bfc87e2e96db41d0d01b4402eb6beb2f2d2ad6 Mon Sep 17 00:00:00 2001 From: Charles Harris Date: Wed, 17 Nov 2021 12:56:44 -0700 Subject: [PATCH] REL: Prepare for the NumPy 1.22.0r1 release. - Update mailmap. - Update the 1.22.0-notes.rst. - Create the 1.22.0-changelog.rst. --- .mailmap | 24 +- doc/changelog/1.22.0-changelog.rst | 737 ++++++++++++++++++ .../upcoming_changes/17530.improvement.rst | 5 - .../upcoming_changes/17582.new_feature.rst | 10 - .../upcoming_changes/18536.improvement.rst | 7 - .../upcoming_changes/18585.new_feature.rst | 15 - .../upcoming_changes/18884.new_feature.rst | 7 - .../upcoming_changes/19062.new_feature.rst | 21 - .../upcoming_changes/19083.new_feature.rst | 6 - doc/release/upcoming_changes/19135.change.rst | 10 - .../upcoming_changes/19151.improvement.rst | 6 - .../upcoming_changes/19211.new_feature.rst | 7 - doc/release/upcoming_changes/19259.c_api.rst | 12 - .../upcoming_changes/19355.new_feature.rst | 13 - doc/release/upcoming_changes/19356.change.rst | 7 - .../upcoming_changes/19459.new_feature.rst | 4 - doc/release/upcoming_changes/19462.change.rst | 3 - .../upcoming_changes/19478.performance.rst | 11 - .../upcoming_changes/19479.compatibility.rst | 7 - .../upcoming_changes/19513.new_feature.rst | 4 - .../upcoming_changes/19527.new_feature.rst | 3 - .../upcoming_changes/19539.expired.rst | 2 - .../upcoming_changes/19615.expired.rst | 8 - doc/release/upcoming_changes/19665.change.rst | 4 - .../upcoming_changes/19680.improvement.rst | 5 - doc/release/upcoming_changes/19687.change.rst | 8 - .../upcoming_changes/19754.new_feature.rst | 7 - .../upcoming_changes/19803.new_feature.rst | 14 - .../upcoming_changes/19805.new_feature.rst | 5 - .../upcoming_changes/19857.improvement.rst | 13 - .../upcoming_changes/19879.new_feature.rst | 15 - .../upcoming_changes/19921.deprecation.rst | 3 - .../upcoming_changes/20000.deprecation.rst | 5 - .../upcoming_changes/20027.improvement.rst | 17 - doc/release/upcoming_changes/20049.change.rst | 5 - .../upcoming_changes/20201.deprecation.rst | 5 - .../upcoming_changes/20217.improvement.rst | 10 - doc/release/upcoming_changes/20314.change.rst | 10 - doc/source/release/1.22.0-notes.rst | 421 +++++++++- 39 files changed, 1171 insertions(+), 305 deletions(-) create mode 100644 doc/changelog/1.22.0-changelog.rst delete mode 100644 doc/release/upcoming_changes/17530.improvement.rst delete mode 100644 doc/release/upcoming_changes/17582.new_feature.rst delete mode 100644 doc/release/upcoming_changes/18536.improvement.rst delete mode 100644 doc/release/upcoming_changes/18585.new_feature.rst delete mode 100644 doc/release/upcoming_changes/18884.new_feature.rst delete mode 100644 doc/release/upcoming_changes/19062.new_feature.rst delete mode 100644 doc/release/upcoming_changes/19083.new_feature.rst delete mode 100644 doc/release/upcoming_changes/19135.change.rst delete mode 100644 doc/release/upcoming_changes/19151.improvement.rst delete mode 100644 doc/release/upcoming_changes/19211.new_feature.rst delete mode 100644 doc/release/upcoming_changes/19259.c_api.rst delete mode 100644 doc/release/upcoming_changes/19355.new_feature.rst delete mode 100644 doc/release/upcoming_changes/19356.change.rst delete mode 100644 doc/release/upcoming_changes/19459.new_feature.rst delete mode 100644 doc/release/upcoming_changes/19462.change.rst delete mode 100644 doc/release/upcoming_changes/19478.performance.rst delete mode 100644 doc/release/upcoming_changes/19479.compatibility.rst delete mode 100644 doc/release/upcoming_changes/19513.new_feature.rst delete mode 100644 doc/release/upcoming_changes/19527.new_feature.rst delete mode 100644 doc/release/upcoming_changes/19539.expired.rst delete mode 100644 doc/release/upcoming_changes/19615.expired.rst delete mode 100644 doc/release/upcoming_changes/19665.change.rst delete mode 100644 doc/release/upcoming_changes/19680.improvement.rst delete mode 100644 doc/release/upcoming_changes/19687.change.rst delete mode 100644 doc/release/upcoming_changes/19754.new_feature.rst delete mode 100644 doc/release/upcoming_changes/19803.new_feature.rst delete mode 100644 doc/release/upcoming_changes/19805.new_feature.rst delete mode 100644 doc/release/upcoming_changes/19857.improvement.rst delete mode 100644 doc/release/upcoming_changes/19879.new_feature.rst delete mode 100644 doc/release/upcoming_changes/19921.deprecation.rst delete mode 100644 doc/release/upcoming_changes/20000.deprecation.rst delete mode 100644 doc/release/upcoming_changes/20027.improvement.rst delete mode 100644 doc/release/upcoming_changes/20049.change.rst delete mode 100644 doc/release/upcoming_changes/20201.deprecation.rst delete mode 100644 doc/release/upcoming_changes/20217.improvement.rst delete mode 100644 doc/release/upcoming_changes/20314.change.rst diff --git a/.mailmap b/.mailmap index fd020c8186c6..abd7b31eaaad 100644 --- a/.mailmap +++ b/.mailmap @@ -26,13 +26,13 @@ @sfolje0 @spacescientist @tautaus -@vinith2 <85550536+vinith2@users.noreply.github.com> @xoviat <49173759+xoviat@users.noreply.github.com> @xoviat <49173759+xoviat@users.noreply.github.com> @yan-wyb @yetanothercheer Aaron Baecker Aarthi Agurusa +Andrei Batomunkuev Ajay DS Ajay DS Alan Fontenot @@ -44,6 +44,7 @@ Abhinav Reddy Abel Aoun Adam Ginsburg Aerik Pawson <45904740+aerikpawson@users.noreply.github.com> +Ahmet Can Solak Albert Jornet Puig Alberto Rubiales Alex Rockhill @@ -66,6 +67,8 @@ Allan Haldane Al-Baraa El-Hag <48454648+a-elhag@users.noreply.github.com> Alok Singhal Alok Singhal Alyssa Quek +Ankit Dwivedi +Ankit Dwivedi Amir Sarabadani Anas Khan Anatoly Techtonik @@ -118,6 +121,9 @@ Bui Duc Minh <41239569+Mibu287@users.noreply.github.co Carl Kleffner Carl Leake Charles Stern <62192187+cisaacstern@users.noreply.github.com> +Chiara Marmo +Chiara Marmo +Chiara Marmo Chris Barker Chris Burns Chris Fu (傅立业) <17433201@qq.com> @@ -161,6 +167,8 @@ Derek Homeier Derek Homeier Derek Homeier Derrick Williams +Dima Pasechnik +Dima Pasechnik Dmitriy Shalyga Dustan Levenstein <43019642+dustanlevenstein@users.noreply.github.com> Dylan Cutler @@ -207,6 +215,7 @@ Han Genuit Hanno Klemm hklemm Helder Oliveira Hemil Desai +Himanshu Hiroyuki V. Yamazaki Hugo van Kemenade I-Shen Leong @@ -247,6 +256,9 @@ John Darbyshire <24256554+attack68@users.noreply.github.com> <24256554+attack68@ John Hagen John Kirkham John Kirkham +Jonas I. Liechti +Jonas I. Liechti +Jonas I. Liechti Joseph Fox-Rabinovitz Joseph Fox-Rabinovitz Joseph Fox-Rabinovitz @@ -384,6 +396,9 @@ Riya Sharma Robert Kern Robert LU Robert T. McGibbon +Rohit Goswami +Rohit Goswami +Rohit Goswami Roland Kaufmann Roman Yurchak Ronan Lamy Ronan Lamy @@ -417,6 +432,8 @@ Siavash Eliasi Simon Conseil Simon Gasse Simon Gasse +Sista Seetaram +Sista Seetaram <65669128+sistaseetaram@users.noreply.github.com> Søren Rasmussen <47032123+sorenrasmussenai@users.noreply.github.com> Spencer Hill Stefan Behnel @@ -453,6 +470,9 @@ Travis Oliphant Valentin Haenel Valentin Haenel Varun Nayyar +Vinith Kishore +Vinith Kishore <85550536+vinith2@users.noreply.github.com> +Vrinda Narayan Vrinda Narayan Vrinda Narayan <48102157+vrindaaa@users.noreply.github.com> Wansoo Kim @@ -466,6 +486,8 @@ Wojtek Ruszczewski Wojciech Rzadkowski <33913808+wrzadkow@users.noreply.github.com> Yang Hau Yang Hau +Yashasvi Misra +Yashasvi Misra <54177363+yashasvimisra2798@users.noreply.github.com> Yogesh Raisinghani <46864533+raisinghanii@users.noreply.github.com> Yu Feng Yuji Kanagawa diff --git a/doc/changelog/1.22.0-changelog.rst b/doc/changelog/1.22.0-changelog.rst new file mode 100644 index 000000000000..83d0eaedc78b --- /dev/null +++ b/doc/changelog/1.22.0-changelog.rst @@ -0,0 +1,737 @@ + +Contributors +============ + +A total of 150 people contributed to this release. People with a "+" by their +names contributed a patch for the first time. + +* @DWesl +* @Illviljan +* @h-vetinari +* @yan-wyb + +* Aaron Meurer +* Abel Aoun + +* Adrian Gao + +* Ahmet Can Solak + +* Ajay DS + +* Alban Colley + +* Alberto Rubiales + +* Alessia Marcolini + +* Amit Kumar + +* Andrei Batomunkuev + +* Andrew Watson + +* Anirudh Dagar + +* Ankit Dwivedi + +* Antony Lee +* Arfy Slowy + +* Arryan Singh + +* Arun Palaniappen + +* Arushi Sharma + +* Bas van Beek +* Brent Brewington + +* Carl Johnsen + +* Carl Michal + +* Charles Harris +* Chiara Marmo +* Chris Fu (傅立业) + +* Christoph Buchner + +* Christoph Reiter + +* Chunlin Fang +* Clément Robert + +* Constanza Fierro +* Damien Caliste +* Daniel Ching +* David Badnar + +* David Cortes + +* David Okpare + +* Derek Huang + +* Developer-Ecosystem-Engineering + +* Dima Pasechnik +* Dimitri Papadopoulos + +* Dmitriy Fishman + +* Eero Vaher + +* Elias Koromilas + +* Eliaz Bobadilla + +* Elisha Hollander + +* Eric Wieser +* Eskild Eriksen + +* Fayas Noushad + +* Gagandeep Singh + +* Ganesh Kathiresan +* Ghiles Meddour + +* Greg Lucas +* Gregory R. Lee +* Guo Shuai + +* Gwyn Ciesla + +* Hameer Abbasi +* Hector Martin + +* Henry Schreiner + +* Himanshu + +* Hood Chatham + +* Hugo Defois + +* Hugo van Kemenade +* I-Shen Leong + +* Imen Rajhi + +* Irina Maria Mocan + +* Irit Katriel + +* Isuru Fernando +* Jakob Jakobson +* Jerry Morrison + +* Jessi J Zhao + +* Joe Marshall + +* Johan von Forstner + +* Jonas I. Liechti + +* Jonathan Reichelt Gjertsen + +* Joshua Himmens + +* Jérome Eertmans +* Jérôme Kieffer + +* KIU Shueng Chuan + +* Kenichi Maehashi +* Kenny Huynh + +* Kent R. Spillner + +* Kevin Granados + +* Kevin Modzelewski + +* Kevin Sheppard +* Lalit Musmade + +* Malik Idrees Hasan Khan + +* Marco Aurelio da Costa + +* Margret Pax + +* Mars Lee + +* Marten van Kerkwijk +* Matthew Barber + +* Matthew Brett +* Matthias Bussonnier +* Matthieu Dartiailh +* Matti Picus +* Melissa Weber Mendonça +* Michael McCann + +* Mike Jarvis + +* Mike McCann + +* Mike Toews +* Mukulika Pahari +* Nick Pope + +* Nick Wogan + +* Niels Dunnewind + +* Niko Savola + +* Nikola Forró +* Niyas Sait + +* Pamphile ROY +* Paul Ganssle + +* Pauli Virtanen +* Pearu Peterson +* Peter Hawkins + +* Peter Tillema + +* Prathmesh Shirsat + +* Raghuveer Devulapalli +* Ralf Gommers +* Robert Kern +* Rohit Goswami + +* Ronan Lamy +* Ross Barnowski +* Roy Jacobson + +* Samyak S Sarnayak + +* Sayantika Banik + +* Sayed Adel +* Sebastian Berg +* Sebastian Schleehauf + +* Serge Guelton +* Shriraj Hegde + +* Shubham Gupta + +* Sista Seetaram + +* Stefan van der Walt +* Stephannie Jimenez Gacha + +* Tania Allard +* Theodoros Nikolaou + +* Thomas J. Fan +* Thomas Li + +* Tim Hoffmann +* Tom Tan + +* Tyler Reddy +* Vijay Arora + +* Vinith Kishore + +* Warren Weckesser +* Yang Hau +* Yashasvi Misra +* Yuval Ofek + +* Zac Hatfield-Dodds +* Zhang Na + + +Pull requests merged +==================== + +A total of 574 pull requests were merged for this release. + +* `#15847 `__: BUG: avoid infinite recurrence on dependencies in crackfortran +* `#16740 `__: ENH: Add broadcast support to Generator.multinomial +* `#16796 `__: DOC: Added a warning about fractional steps in np.arange +* `#17530 `__: ENH: Allow ``ctypeslib.load_library`` to take any path-like object +* `#17582 `__: ENH: Configurable allocator +* `#18203 `__: MAINT: Speedup np.quantile. +* `#18330 `__: TST: Add cygwin build to CI +* `#18421 `__: DOC: Adjust polyfit doc to clarify the meaning of w +* `#18536 `__: ENH: Add smallest_normal and smallest_subnormal attributes to... +* `#18585 `__: ENH: Implementation of the NEP 47 (adopting the array API standard) +* `#18759 `__: BUG: revise string_from_pyobj/try_pyarr_from_string with respect... +* `#18762 `__: MAINT: Remove unused imports and unreachable code +* `#18775 `__: DOC: Ensure that we add documentation also as to the dict for... +* `#18884 `__: DOC: Add support for documenting C/C++ via Doxygen & Breathe +* `#18905 `__: MAINT: Refactor reductions to use NEP 43 style dispatching/promotion +* `#18964 `__: DOC: replace np.ma functions' return types with ``MaskedArray`` +* `#18984 `__: DOC: add example showing how to convert POSIX timestamps to datetime64 +* `#19003 `__: DOC: Remove misleading info about Fortran compiler in Building... +* `#19016 `__: BUG: Update coordinates on PyArray_ITER_GOTO1D +* `#19022 `__: SIMD: Add new universal intrinsic for ceil +* `#19023 `__: BUG: fix np.ma.MaskedArray.anom when input is masked +* `#19036 `__: MAINT: replace imgmath with mathjax for docs +* `#19058 `__: BUG: Fixes to getter signatures +* `#19060 `__: ENH: Add initial annotations to ``np.core.multiarray`` +* `#19062 `__: ENH: Add a mypy plugin for inferring the precision of ``np.ctypeslib.c_intp`` +* `#19070 `__: REL: Prepare for NumPy 1.22.0 development +* `#19071 `__: BUG: Fix compile-time test of POPCNT +* `#19072 `__: BUG, TST: Fix test_numpy_version. +* `#19082 `__: MAINT: Bump hypothesis from 6.12.0 to 6.13.4 +* `#19083 `__: ENH: Implement the DLPack Array API protocols for ndarray. +* `#19086 `__: BUG: Linter should only run on pull requests. +* `#19087 `__: DOC: Add note to savez about naming variables with keyword ``file``. +* `#19089 `__: DOC: Add example to histogram2d docstring +* `#19090 `__: MAINT: removed unused imports listed in LGTM +* `#19092 `__: BUG: Fixed an issue wherein ``_GenericAlias.__getitem__`` would... +* `#19093 `__: DOC: add a "Returns" section for ``np.frombuffer`` +* `#19096 `__: BUG: Fix setup.py to work in maintenance branches. +* `#19098 `__: BUG, SIMD: Fix detect host/native CPU features on ICC during... +* `#19099 `__: DOC: fixed unsigned integer alias links. +* `#19102 `__: MAINT: Removed suitable unused variables shown in LGTM +* `#19110 `__: DOC: Fix the documented default value of the ``order`` parameter... +* `#19115 `__: DOC: Misc fixes to ``absolute_beginners.html`` +* `#19118 `__: MAINT: Misc cleaning of ``numpy.typing`` +* `#19119 `__: BUG: Adjust shallow clone in the gitpod container +* `#19121 `__: DOC: Fix missing files and deprecated commands. +* `#19124 `__: BUG: Fixed an issue wherein ``poly1d.__getitem__`` could return... +* `#19128 `__: DOC:``Building the NumPy API and reference docs`` rewrite +* `#19130 `__: ENH: SIMD architectures to show_config +* `#19131 `__: DOC: added explanation about tril/triu n-dimensional functionality. +* `#19132 `__: BUG: Use larger fetch depth in gitpod.yml +* `#19135 `__: BUG: Remove complex floor divide +* `#19139 `__: MAINT: Bump hypothesis from 6.13.4 to 6.13.10 +* `#19140 `__: ENH: Add dtype-support to 3 ``generic``/``ndarray`` methods +* `#19142 `__: BUG: expose ``short_version`` as previously in version.py +* `#19151 `__: ENH: Vectorising np.linalg.qr +* `#19165 `__: DOC: Explicitly mention that ``searchsorted`` returns an integer... +* `#19167 `__: ENH: Improve readibility of error message in terminal. +* `#19170 `__: API: Delay string and number promotion deprecation/future warning +* `#19172 `__: BUG: Fixed an issue wherein ``_GenericAlias`` could raise for non-iterable... +* `#19173 `__: ENH: Add support for copy modes to NumPy +* `#19174 `__: MAINT, BUG: Adapt ``castingimpl.casting`` to denote a minimal level +* `#19176 `__: REV,BUG: Replace ``NotImplemented`` with ``typing.Any`` +* `#19177 `__: BUG: Add ``-std=c99`` to intel icc compiler flags on linux +* `#19179 `__: ENH: Add annotations for ``np.testing`` +* `#19181 `__: MAINT: Bump pytest-cov from 2.12.0 to 2.12.1 +* `#19182 `__: MAINT: Bump hypothesis from 6.13.10 to 6.13.14 +* `#19185 `__: DOC: Crosslinking to Gitpod guide +* `#19186 `__: DOC: ndindex class docstrings fix +* `#19188 `__: NEP: Accept NEP 35 (``like=`` keyword for array creation) as final +* `#19195 `__: DOC: Link issue label +* `#19196 `__: DOC: update references to other repos head branch to 'main' +* `#19200 `__: DOC: NeighborhoodIterator position on creation +* `#19202 `__: BUG: Fix out-of-bounds access in convert_datetime_divisor_to_multiple +* `#19209 `__: TST: Ignore exp FP exceptions test for glibc ver < 2.17 +* `#19211 `__: ENH: Adding keepdims to np.argmin,np.argmax +* `#19212 `__: MAINT: Add annotations for the missing ``period`` parameter to... +* `#19214 `__: ENH: Support major version larger than 9 in ``NumpyVersion`` +* `#19218 `__: MAINT: Add ``complex`` as allowed type for the ``np.complexfloating``... +* `#19223 `__: ENH: Add annotations for ``np.pad`` +* `#19224 `__: MAINT: Remove python 2 specific string comparison code +* `#19225 `__: DOC: Fix some inconsistencies in the docstring of matrix_rank +* `#19227 `__: ENH: Add annotations to ``np.core.multiarray`` part 2/4 +* `#19228 `__: BUG: Invalid dtypes comparison should not raise ``TypeError`` +* `#19235 `__: Revert "BUG: revise string_from_pyobj/try_pyarr_from_string with... +* `#19237 `__: ENH: Add annotations to ``np.core.multiarray`` part 3/4 +* `#19241 `__: MAINT: Bump hypothesis from 6.13.14 to 6.14.0 +* `#19242 `__: MAINT: Bump mypy from 0.812 to 0.902 +* `#19244 `__: BUG: Fix an issue wherein assigment to ``np.ma.masked_array`` ignores... +* `#19245 `__: ENH: Add dtype-support to the ``np.core.shape_base`` annotations +* `#19251 `__: BUG: revise string_from_pyobj/try_pyarr_from_string with respect... +* `#19254 `__: MAINT: Refactor output ufunc wrapping logic +* `#19256 `__: DOC: Fix formatting in rot90() docstring +* `#19257 `__: MAINT: Move array-prep and type resolution to earlier +* `#19258 `__: MAINT: Refactor and simplify the main ufunc iterator loop code +* `#19259 `__: MAINT: Align masked with normal ufunc loops +* `#19261 `__: ENH: Add annotations for ``np.lib.twodim_base`` +* `#19262 `__: MAINT: Some tiny fixes and style changes in ``ufunc_object.c`` +* `#19263 `__: STY: Small changes to the ``PyUFunc_ReduceWrapper`` +* `#19264 `__: DOC: fix duplicate navbar in development documentation index +* `#19275 `__: MAINT: Misc typing maintenance for ``np.dtype`` +* `#19276 `__: BUG: Fix ``arr.flat.index`` for large arrays and big-endian machines +* `#19277 `__: BUG: Add missing DECREF in new path +* `#19278 `__: MAINT: Remove accidentally created directory. +* `#19281 `__: ENH: add ``numpy.f2py.get_include`` function +* `#19284 `__: NEP: Fixes from NEP36 feedback +* `#19285 `__: MAINT: Use Ubuntu focal for travis-ci builds. +* `#19286 `__: ENH: Add annotations for ``np.lib.type_check`` +* `#19289 `__: BUG: Fix reference count leak in ufunc dtype handling +* `#19290 `__: DOC: Unpin pydata sphinx theme and update config to avoid long... +* `#19292 `__: MAINT: Add lightweight identity-hash map +* `#19293 `__: MAINT: Add simple tuple creation helper and use it +* `#19295 `__: DOC: Add ``versionadded`` directives to ``numpy.typing`` +* `#19298 `__: DOC: Add documentation for ``np.ctypeslib.c_intp`` +* `#19301 `__: BUG: Do not raise deprecation warning for all nans in unique +* `#19306 `__: DOC: Fix some docstrings that crash pdf generation. +* `#19314 `__: MAINT: bump scipy-mathjax +* `#19316 `__: BUG: Fix warning problems of the mod operator +* `#19317 `__: MAINT: Clean up multiarray interned strings +* `#19320 `__: REL: Update main after 1.21.0 release. +* `#19322 `__: BUG: Fix cast safety and comparisons for zero sized voids +* `#19323 `__: BUG: Correct Cython declaration in random +* `#19326 `__: BUG: protect against accessing base attribute of a NULL subarray +* `#19328 `__: MAINT: Replace ``"dtype[Any]"`` with ``dtype`` in the definiton of... +* `#19329 `__: ENH Add a conda-based CI job on azure. +* `#19338 `__: DOC: Removed duplicate instructions for building docs from ``dev/index``... +* `#19344 `__: MAINT: Annotate missing attributes of ``np.number`` subclasses +* `#19355 `__: ENH: Adding ``bit_count`` (popcount) +* `#19356 `__: API: Ensure np.vectorize outputs can be subclasses. +* `#19359 `__: ENH: Add annotations for ``np.f2py`` +* `#19360 `__: MAINT: remove ``print()``'s in distutils template handling +* `#19361 `__: ENH: Use literals for annotating ``int``- & ``str``-based constants +* `#19362 `__: BUG, SIMD: Fix detecting AVX512 features on Darwin +* `#19368 `__: MAINT: Bump mypy from 0.902 to 0.910 +* `#19369 `__: DOC: Moved VQ example & target from duplicate array broadcasting... +* `#19370 `__: MAINT: Move masked strided/inner-loop code to its "final" place +* `#19371 `__: MAINT: Use cast-is-view flag for the ufunc trivial-loop check +* `#19378 `__: DOC: fix remaining np.min/np.max usages +* `#19380 `__: BUG: Fix NULL special case in object-to-any cast code +* `#19381 `__: MAINT: Modify initialization order during multiarray import +* `#19393 `__: MAINT: fix overly broad exception handling listed in LGTM +* `#19394 `__: BUG, SIMD: Fix infinite loop during count non-zero on GCC-11 +* `#19396 `__: BUG: fix a numpy.npiter leak in npyiter_multi_index_set +* `#19402 `__: DOC: typo fix +* `#19403 `__: BUG: Fix memory leak in function npyiter_multi_index_set +* `#19404 `__: NEP: update NEP with the PyDataMem_Handler struct as implemented... +* `#19407 `__: DOC: Rearranged parts of the Indexing docs to consolidate content +* `#19408 `__: ENH: Add annotations for misc python-based functions +* `#19409 `__: BUG: fix some memory leaks in ufunc_object +* `#19412 `__: MAINT: Bump sphinx from 4.0.1 to 4.0.3 +* `#19413 `__: MAINT: Bump hypothesis from 6.14.0 to 6.14.1 +* `#19416 `__: DOC: Remove duplicate information about governance +* `#19418 `__: DOC: Removing tutorials from sphinx documentation +* `#19419 `__: BUG: fix f2py markinnerspace for multiple quotations +* `#19421 `__: ENH: Add annotations for ``np.core.getlimits`` +* `#19422 `__: DOC: Additional ideas related to numpy-tutorials integration +* `#19423 `__: Skip finite recursion and refcounting tests for pyston +* `#19426 `__: MAINT: Use arm64-graviton2 for testing on travis +* `#19429 `__: BUG: Fix some multiarray leaks +* `#19431 `__: MAINT: Delete old SSE2 ``absolute`` implementation +* `#19434 `__: MAINT: Fix the module of ``flagsobj`` +* `#19436 `__: ENH: Improve the annotations of ``flagsobj`` +* `#19440 `__: MAINT: factored out _PyArray_ArgMinMaxCommon +* `#19442 `__: MAINT: Use "with open(...)" +* `#19444 `__: ENH: Add annotations for ``np.lib.shape_base`` +* `#19445 `__: DOC: broadcast_to() supports int as shape parameter +* `#19446 `__: MAINT: Start testing with Python 3.10.0b3. +* `#19447 `__: DOC: BLAS/LAPACK linking rules +* `#19450 `__: TST: Simplify property-based test +* `#19451 `__: BUG: Make openblas_support support ILP64 on Windows. +* `#19456 `__: TST: Fix a ``GenericAlias`` test failure for python 3.9.0 +* `#19458 `__: MAINT: Avoid unicode characters in division SIMD code comments +* `#19459 `__: ENH: Add the ``axis`` and ``ndim`` attributes to ``np.AxisError`` +* `#19460 `__: MAINT: Bump sphinx from 4.0.3 to 4.1.0 +* `#19461 `__: MAINT: Bump hypothesis from 6.14.1 to 6.14.2 +* `#19462 `__: BUILD: move to OpenBLAS 0.3.16 +* `#19463 `__: MAINT: Use straight arm64 in TravisCI. +* `#19468 `__: MAINT: Add missing ``dtype`` overloads for object- and ctypes-based... +* `#19475 `__: DOC: Fix see also references in ``numpy.resize`` +* `#19478 `__: ENH: Vectorizing umath module using AVX-512 (open sourced from... +* `#19479 `__: BLD: Add clang ``-ftrapping-math`` also for ``compiler_so`` +* `#19483 `__: MAINT: Update for using ``openblas64_``. +* `#19485 `__: TST/BENCH: Adding test coverage and benchmarks for floating point... +* `#19486 `__: DOC: Add link to NumPy PDF docs +* `#19491 `__: MAINT: Disable test_blas64_dot. +* `#19492 `__: BUILD: update OpenBLAS to v0.3.17 +* `#19493 `__: TST: generalise ``clip`` test +* `#19498 `__: MAINT: Update manylinux ci test to manylinux2014 +* `#19506 `__: DOC: Fix typos +* `#19512 `__: REL: Update main after 1.21.1 release. +* `#19513 `__: ENH: Add support for windows on arm targets +* `#19516 `__: DOC: Created fundamentals doc for explanations in ``ufunc`` reference... +* `#19517 `__: MAINT: Bump sphinx from 4.1.0 to 4.1.1 +* `#19518 `__: MAINT: Bump hypothesis from 6.14.2 to 6.14.3 +* `#19519 `__: MAINT: Bump cython from 0.29.23 to 0.29.24 +* `#19525 `__: TST: Test that ``numpy.typing`` can be imported in the absence... +* `#19526 `__: MAINT: bump Sphinx in environment.yml file +* `#19527 `__: BLD: Add LoongArch support +* `#19529 `__: SIMD: Force inlining all functions that accept AVX registers +* `#19534 `__: BLD: Tell fortran compiler Cygwin doesn't support rpath. +* `#19535 `__: TST: Add Cygwin to the x86 feature tests. +* `#19538 `__: DOC: Fix typo in PCG64 +* `#19539 `__: DEP: Remove deprecated numeric style dtype strings +* `#19540 `__: MAINT: Update the ``np.finfo`` annotations +* `#19542 `__: TST: Parametrize a few more tests. +* `#19543 `__: MAINT: Improve the ``np.core.numerictypes`` stubs +* `#19545 `__: DOC: Add clarification +* `#19546 `__: DOC: Add link and explanation of ``_add_newdocs`` to developer... +* `#19547 `__: BLD: Use cygpath utility for path conversion in cyg2win32 +* `#19554 `__: MAINT: add missing dunder method to nditer type hints +* `#19557 `__: DOC: clarify doc re: unsupported keys in savez. +* `#19559 `__: ENH: Add annotations for ``__path__`` and ``PytestTester`` +* `#19560 `__: TST: Bump the GitHub actions python 3.10 version +* `#19561 `__: DOC: Remove explicit parameter sparse=False in meshgrid() indexing... +* `#19563 `__: MAINT: Bump hypothesis from 6.14.3 to 6.14.4 +* `#19564 `__: TST: Add "Scaled float" custom DType for testng +* `#19565 `__: DOC: Fix sphinx warnings in c-info.beyond-basics.rst +* `#19566 `__: DOC: Remove ``dot`` docstring in numpy/core/_add_newdocs.py +* `#19567 `__: DOC: Fix Unknown section warning when building docs +* `#19568 `__: BUG: Seed random state in test_vonmises_large_kappa_range. +* `#19571 `__: MAINT: Refactor UFunc core to use NEP 43 style dispatching +* `#19572 `__: MAINT: Cleanup unused function _move_axis_to_0 +* `#19576 `__: MAINT: Make Python3.8 the default for CI testing. +* `#19578 `__: TST: Add basic tests for custom DType (scaled float) ufuncs +* `#19580 `__: ENH: Add basic promoter capability to ufunc dispatching +* `#19582 `__: BLD: load extra flags when checking for libflame +* `#19587 `__: MAINT: Refactor DType slots into an opaque, allocated struct +* `#19590 `__: DOC Fix sphinx warnings related to scope of c:macro. +* `#19593 `__: DOC,MAINT: Update wording surrounding ``fname`` parameter for loadtxt/genfromtxt +* `#19595 `__: MAINT: Bump sphinx from 4.1.1 to 4.1.2 +* `#19596 `__: MAINT: Bump hypothesis from 6.14.4 to 6.14.5 +* `#19598 `__: PERF: Speed-up common case of loadtxt()ing non-hex floats. +* `#19599 `__: PERF: Avoid using ``@recursive``. +* `#19600 `__: BUG: Fix bad write in masked iterator output copy paths +* `#19601 `__: PERF: Speedup comments handling in loadtxt. +* `#19605 `__: DEV: Update default Python in benchmark config. +* `#19607 `__: BUG: Fix NaT handling in the PyArray_CompareFunc for datetime... +* `#19608 `__: PERF: Specialize loadtxt packer for uniform-dtype data. +* `#19609 `__: PERF: In loadtxt, decide once and for all whether decoding is... +* `#19610 `__: PERF: Special-case single-converter in loadtxt. +* `#19612 `__: TST: Bump the python 3.10 test version from beta4 to rc1 +* `#19613 `__: DOC: isclose accepts boolean input +* `#19615 `__: MAINT: Proposal to expire three deprecated functions in numpy.lib.npyio +* `#19616 `__: MAINT: In loadtxt, refactor detection of the number of columns. +* `#19618 `__: MAINT: Optimize loadtxt usecols. +* `#19619 `__: MAINT: Include .coveragerc in source distributions to support... +* `#19620 `__: PERF: Simplify some of loadtxt's standard converters. +* `#19621 `__: BUG: The normal cast-safety for ufunc loops is "no" casting +* `#19622 `__: MAINT: Skip a type check in loadtxt when using user converters. +* `#19627 `__: BUG: Ignore whitespaces while parsing gufunc signatures +* `#19628 `__: TST: avoid distutils.sysconfig in runtests.py +* `#19632 `__: BUG,DEP: Non-default UFunc signature/dtype usage should be deprecated +* `#19633 `__: MAINT: Bump hypothesis from 6.14.5 to 6.14.6 +* `#19638 `__: MAINT: Remove import time compile +* `#19639 `__: MAINT: Update Cython version for Python 3.10. +* `#19640 `__: BUG: Remove logical object ufuncs with bool output +* `#19642 `__: BLD, SIMD: Fix testing extra checks when ``-Werror`` isn't applicable... +* `#19645 `__: DOC: Reorganized the documentation contribution docs +* `#19654 `__: BUG: add base to templated arguments for platlib +* `#19663 `__: NEP: add qualifier for free(), mention ContextVar +* `#19665 `__: MAINT: Drop Python3.7 from supported versions. +* `#19667 `__: ENH: Add annotations for ``np.lib.npyio`` +* `#19672 `__: BLD: update circleCI docker image +* `#19678 `__: REL: Update main after 1.21.2 release. +* `#19680 `__: ENH: Allow ``np.fromregex`` to accept ``os.PathLike`` implementations +* `#19681 `__: MAINT: Update wheel requirement from <0.36.3 to <0.37.1 +* `#19682 `__: MAINT: Bump hypothesis from 6.14.6 to 6.14.7 +* `#19683 `__: ENH: Add annotations for ``np.lib.stride_tricks`` +* `#19686 `__: ENH: Add spaces after punctuation in dtype repr/str. +* `#19692 `__: DOC: Fix trivial doc typo. +* `#19693 `__: MAINT: In loadtxt, inline read_data. +* `#19695 `__: DOC: Fix typo in ``unwrap`` docstring. +* `#19698 `__: DOC: fix typo in example +* `#19702 `__: MAINT: Replace deprecated unittest aliases +* `#19713 `__: MAINT: Replace numpy custom generation engine by raw C++ +* `#19714 `__: MAINT: Remove redundant Python2 float/int conversions +* `#19715 `__: BUG: Casting ``bool_`` to float16 +* `#19725 `__: MAINT: Use a contextmanager to ensure loadtxt closes the input... +* `#19727 `__: DOC: fix basics.creation.rst to address issue 19726 +* `#19730 `__: BUG: Fix reference leak of capi_tmp in f2py/cb_rules.py +* `#19731 `__: BUG: fix time cast-safety for ``factor*unit`` e.g. in ``10**6*ms``... +* `#19732 `__: MAINT: Spelling fixes in documentation +* `#19733 `__: DOC: add citation file for GitHub support +* `#19736 `__: BUG: Fix passing a MaskedArray instance to ``MaskedArray.__setitem__`` +* `#19738 `__: MAINT: Bump hypothesis from 6.14.7 to 6.15.0 +* `#19739 `__: NEP: Update NEP 47: Adopting the array API standard +* `#19742 `__: MAINT: Remove redundant test. +* `#19743 `__: MAINT: Avoid use of confusing compat aliases. +* `#19747 `__: MAINT: Update README.md with badges +* `#19754 `__: ENH: Add clang-format file +* `#19758 `__: MAINT: Remove redundant semicolon +* `#19764 `__: BUG: np.around fails when using doctest +* `#19766 `__: BUG: Remove np.around's footnote [2] +* `#19775 `__: MAINT,DOC: Readability improvements and cleanup for f2py +* `#19776 `__: DOC: Add explanation of a sparse mesh grid +* `#19781 `__: MAINT: refactor "for ... in range(len(" statements +* `#19784 `__: MAINT: Remove typing code-paths specific to Python 3.7 +* `#19789 `__: MAINT: Bump hypothesis from 6.15.0 to 6.17.3 +* `#19791 `__: DOC: Created an explanation document for copies and views +* `#19799 `__: TST: Drop typing-extensions from test_requirements.txt +* `#19800 `__: ENH: Add entry point for Array API implementation +* `#19802 `__: STY: Use the new PEP 457 positional-only syntax for typing +* `#19803 `__: ENH: Add ``is_integer`` to ``np.floating`` & ``np.integer`` +* `#19805 `__: ENH: Symbolic solver for dimension specifications. +* `#19809 `__: MAINT: Fix compiler warnings generated by convert_datatype.h. +* `#19810 `__: MAINT: Minor include rationalizations. +* `#19811 `__: DEP: Deprecate quote_args (from numpy.distutils.misc_util) +* `#19813 `__: DOC: Fix import of default_rng +* `#19814 `__: ENH: Replaced markdown issue templates with issue forms +* `#19815 `__: MAINT: revise OSError aliases (IOError, EnvironmentError) +* `#19817 `__: ENH: Use custom file-like protocols instead of ``typing.IO`` +* `#19818 `__: MAINT: fix unhashable instance and potential exception identified... +* `#19819 `__: MAINT: mark _version.py as generated +* `#19821 `__: BUG: Fixed an issue wherein certain ``nan`` functions could... +* `#19824 `__: MAINT: Small cleanups of includes in *.c files. +* `#19826 `__: MAINT: Standardize guards in numpy/core/include +* `#19827 `__: MAINT: Standardize guards in numpy/core/src/common. +* `#19829 `__: MAINT: Standardize guards in numpy/core/src/multiarray. +* `#19837 `__: MAINT: Bump hypothesis from 6.17.3 to 6.18.0 +* `#19838 `__: MAINT: Bump pytest from 6.2.4 to 6.2.5 +* `#19843 `__: TST: Fix/Improve cast nonstandard bool to numeric test +* `#19844 `__: DOC: Added missing C-API functions +* `#19845 `__: TST: Make nanfunc test ignore overflow instead of xfailing test +* `#19846 `__: MAINT: Update testing to 3.10rc2 +* `#19849 `__: DOC: Fix sentence casing in page titles +* `#19850 `__: Replace posix specific ssize_t with py_ssize_t to compile on... +* `#19854 `__: BUG: Fixed an issue wherein ``var`` would raise for 0d object arrays +* `#19856 `__: MAINT: Mark type-check-only ufunc subclasses as ufunc aliases... +* `#19857 `__: MAINT, ENH: Refactor percentile and quantile methods +* `#19862 `__: DOC: Add BRANCH_WALKTHROUGH +* `#19863 `__: BUG: Fix ``nanpercentile`` ignoring the dtype of all-nan arrays +* `#19864 `__: DOC: Update RELEASE_WALKTHROUGH +* `#19865 `__: DOC: Moved NumPy Internals to Under-the-hood documentation for... +* `#19867 `__: MAINT: Bump hypothesis from 6.18.0 to 6.21.1 +* `#19868 `__: MAINT: Bump sphinx from 4.1.2 to 4.2.0 +* `#19869 `__: BUG: ensure np.median does not drop subclass for NaN result. +* `#19870 `__: DOC: Small fixups for the release walkthrough +* `#19874 `__: DOC: Fix typo in upcoming changes filename +* `#19879 `__: ENH: Add ``__class_getitem__`` to ``ndarray``, ``dtype`` and ``number`` +* `#19882 `__: MAINT: Use SHA-256 instead of SHA-1 +* `#19883 `__: DOC: Fix the reported module names of objects in the ``numpy.typing``... +* `#19884 `__: TST: Make this sysconfig handling a bit more portable +* `#19887 `__: ENH: Add annotations for ``np.linalg`` +* `#19888 `__: BUG: core: Fix *_like strides for str and bytes dtype. +* `#19890 `__: DOC: Added hyperlink on numpy logo in README.md +* `#19893 `__: MAINT,DOC: f2py restructring +* `#19894 `__: ENH: Add a typing protocol for representing nested sequences +* `#19899 `__: DOC: replace return type in np.ma.* docstring +* `#19900 `__: DOC:Fixed refguide errors for basics.creation.rst +* `#19902 `__: BUG,DOC: Ignore upcoming_changes from refguide +* `#19903 `__: DOC: Fixed refguide errors for basics.broadcasting.rst +* `#19905 `__: DOC: fix docstring formatting of polynomial fit method return... +* `#19907 `__: MAINT: Bump hypothesis from 6.21.1 to 6.21.6 +* `#19908 `__: BUG: Check whether an error is already set for invalid casting +* `#19909 `__: MAINT: Re-export ``LinAlgError`` to the ``np.linalg.linalg`` stubs +* `#19911 `__: DOC: Typos found by codespell +* `#19913 `__: MAINT: Fix LGTM.com error: Unmatchable caret in regular expression +* `#19914 `__: MAINT: Fix LGTM.com warning in nditer_imp.h +* `#19915 `__: ENH: Add annotations for ``np.char`` +* `#19916 `__: MAINT: Repair ``make_lite.py`` +* `#19917 `__: ENH: Add annotations for ``np.lib.arraysetops`` +* `#19918 `__: MAINT: Override the modules of ``np.char`` and ``np.rec`` functions +* `#19919 `__: ENH: Create an experimental export of the new DType API +* `#19920 `__: DOC: Fix typos in NEPs, found by codespell +* `#19921 `__: DEP: Use ``delimiter`` rather than ``delimitor`` as kwarg in mrecords +* `#19925 `__: BUG: ufunc: Fix potential memory leak. +* `#19926 `__: BUG: Resolve Divide by Zero on Apple silicon + test failures +* `#19927 `__: BUG: Only call the get_versions() function once on import +* `#19928 `__: MAINT: lib: Check that the dtype given to fromregex is structured. +* `#19929 `__: duplicate item in see also. +* `#19933 `__: MAINT: random: Use expm1 where appropriate. +* `#19934 `__: BUG: core: Fix memory leak in the C function boundarraymethod_repr. +* `#19936 `__: BUG: Make sure __version__ is defined in setup mode +* `#19937 `__: ENH: Updates to numpy.array_api +* `#19939 `__: MAINT: Fix LGTM.com warning: Constant in conditional expression... +* `#19940 `__: MAINT: Fix LGTM.com warning: Variable ``isrec`` defined multiple... +* `#19942 `__: MAINT: Fix LGTM.com warning: Unreachable code +* `#19943 `__: MAINT: Fix LGTM.com warning: Variable ``f`` defined multiple times +* `#19944 `__: MAINT: Fix LGTM.com warning: Comparison result is always the... +* `#19946 `__: MAINT: Fix LGTM.com warning: Comparison result is always the... +* `#19948 `__: MAINT: Add annotations for three missing ``ndarray`` methods +* `#19949 `__: ENH: Add annotations for ``np.rec`` +* `#19951 `__: MAINT: Fix LGTM.com warning: Comparison is always false because... +* `#19953 `__: ENH: Add annotations to ``np.core.multiarray`` part 4/4 +* `#19957 `__: DOC: Add syntax highlighting, update pronouns +* `#19960 `__: DOC: Minor syntax fix for numpydoc warnings +* `#19961 `__: MAINT: Minor cleanups after merging gh-19805 +* `#19962 `__: DOC: Remove overstated TDD evangelism. +* `#19963 `__: DOC: rename ``np.lib.scimath`` to ``np.emath`` +* `#19965 `__: MAINT: Update funding link in FUNDING.yml +* `#19967 `__: DOC: Update basics.io.genfromtxt.rst +* `#19968 `__: ENH: nagfor from NAG is available on Darwin +* `#19969 `__: MAINT: Misc ``np.array_api`` annotation fixes +* `#19972 `__: MAINT: Bump hypothesis from 6.21.6 to 6.23.0 +* `#19974 `__: BUG: np.tan(np.inf) test failure in Apple silicon +* `#19976 `__: DOC Remove reference to ``PyArray_MultiIter_SIZE`` +* `#19977 `__: MAINT: clang-format for f2py +* `#19978 `__: MAINT: Reduce DepreciationWarnings, use more data API types for... +* `#19979 `__: ENH: Add annotations for ``np.memmap`` +* `#19980 `__: ENH: Add the linalg extension to the array_api submodule +* `#19981 `__: DOC: Deindent some sphinx declarations to avoid warnings. +* `#19983 `__: DOC: Specifically mention the C99 requirement in 'Building from... +* `#19984 `__: MAINT: Configure pytest to ignore array_api warnings. +* `#19986 `__: MAINT: Fix LGTM.com warning: Comparison result is always the... +* `#19987 `__: BUG: Remove double cast to char in favor of PyArray_BYTES +* `#19988 `__: DOC: Update links to online copy of Abramowitz and Stegun. +* `#19992 `__: ENH: nagfor - get_flags_linker_so() on darwin +* `#19995 `__: DOC: for new_order parameter, add alias for 'native' order +* `#19997 `__: STY: Harmonize rules with cb_rules for f2py +* `#19999 `__: DOC: Copy-edit and fix typos. +* `#20000 `__: BUG,DEP: Allow (arg-)partition to accept ``uint64`` indices +* `#20002 `__: MAINT: Introduce various linting and misc fixes to ``numpy.typing`` +* `#20003 `__: BLD: updated mypy version from 0.902 to 0.910 +* `#20004 `__: DOC: Fix typos in the random and f2py documentation. +* `#20006 `__: ENH: Add annotations for ``np.lib.function_base`` part 1 +* `#20007 `__: MAINT: Removed the ``cdoc`` directory +* `#20008 `__: BUG: Fix the ``lib.function_base`` window functions ignoring extended... +* `#20010 `__: MAINT: correct linker flags for NAG Fortran compiler +* `#20015 `__: DOC: np.select: use an example that also shows default value +* `#20016 `__: BUG: Add a warning for user dtypes modifying casts after use +* `#20018 `__: ENH: core: More informative error message for broadcast(*args) +* `#20019 `__: MAINT:redundant 'else' statement with 'for' loop#19077 +* `#20026 `__: MAINT: Test PyPy3.8 +* `#20027 `__: ENH: Add missing parameters to the ``nan`` functions +* `#20029 `__: MAINT: Bump pytz from 2021.1 to 2021.3 +* `#20031 `__: MAINT: Bump hypothesis from 6.23.0 to 6.23.1 +* `#20032 `__: MAINT: Bump pytest-cov from 2.12.1 to 3.0.0 +* `#20034 `__: ENH: Add annotations for ``np.lib.function_base`` part 2/3 +* `#20036 `__: ENH: Add annotations for ``np.lib.function_base`` part 3/3 +* `#20037 `__: MAINT: Fixed an issue wherein ``npt._NestedSequence`` was not a... +* `#20040 `__: TST: Add python 3.10 to the CI +* `#20047 `__: DOC:add an example to show flag writeable cleared upon copy related... +* `#20049 `__: BUG: Correct advance in PCG with emulated int128 +* `#20051 `__: DOC:add-html-reference-to-some-ma-methods +* `#20057 `__: MAINT: LGTM.com warnings +* `#20058 `__: MAINT: update OpenBLAS to 0.3.18 +* `#20059 `__: MAINT: LGTM.com recommendations +* `#20060 `__: MAINT: Remove encoding declarations: ``# -*- coding: utf-8 -*-`` +* `#20061 `__: DOC: Remove references to Python 2 +* `#20063 `__: ENH: Add annotations for ``np.lib.histograms`` +* `#20065 `__: ENH: Add annotations for ``np.lib.polynomial`` +* `#20066 `__: MAINT: A few updates to the array_api +* `#20067 `__: MAINT: Use ``Py_SET_TYPE`` macro instead of assigning to ``Py_TYPE`` +* `#20069 `__: BUG: Add workaround for missing ufunc error propagation +* `#20071 `__: MAINT: Remove unused imports and remove duplicated tests +* `#20076 `__: DOC: Document the dtype comparison operations +* `#20084 `__: MAINT: move "git submodule update" earlier in docker creation +* `#20087 `__: BLD: fix submodule update in gitpod.Dockerfile +* `#20088 `__: BUG: core: result_type(0, np.timedelta64(4)) would seg. fault. +* `#20091 `__: DOC: fix typo in docstring of bitwise_or +* `#20094 `__: BUG: AVX-512F log() overflows +* `#20096 `__: MAINT: Bump hypothesis from 6.23.1 to 6.23.2 +* `#20097 `__: MAINT: Bump pycodestyle from 2.7.0 to 2.8.0 +* `#20102 `__: BLD Uses cibuildwheel for linux + osx wheels [cd build] +* `#20104 `__: MAINT: Update F2PY documentation URL +* `#20105 `__: ENH: Add annotations for ``np.matrix`` +* `#20111 `__: DOC: fix minor typo in comment +* `#20115 `__: DOC: Modify code in absolute beginners tutorial to match image +* `#20116 `__: MAINT: Fix issue with C compiler args containing spaces +* `#20119 `__: DOC: Remove double property ctypes from ndarray +* `#20123 `__: DOC: Add note to iterable docstring about 0d arrays. +* `#20129 `__: ENH: Misc typing improvements to ``np.array_api`` +* `#20130 `__: MAINT: Bump hypothesis from 6.23.2 to 6.23.3 +* `#20134 `__: BUG: fix win32 np.clip slowness +* `#20136 `__: BUG: core: Fix incorrect check of NpyIter_Deallocate return value. +* `#20137 `__: DOC:Reword array has one axis +* `#20139 `__: MAINT,BUG: Fix ``ufunc.at`` to use new ufunc API +* `#20142 `__: MAINT: core: Update the comment about _parse_signature with more... +* `#20146 `__: DOC: Updated docstring for floating point rounding +* `#20149 `__: REL: Update main after 1.21.3 release. +* `#20150 `__: BUG: lib: Fix error raised by insert. +* `#20153 `__: BUG, SIMD: Fix 64-bit/8-bit integer division by a scalar +* `#20154 `__: MAINT: Add breathe to environment.yml +* `#20155 `__: BUG: Distutils patch to allow for 2 as a minor version (!) +* `#20156 `__: DOC: Fixed docstring for parameters 2 and -2 on linalg.cond +* `#20159 `__: BUG: Relax homogeneous signature fallback in type resolution +* `#20162 `__: BUG: fixes for MSVC version checks +* `#20163 `__: ENH: Expose promoters and Common-DType API experimentally +* `#20164 `__: MAINT: Remove useless custom tp_alloc and tp_free on ndarray +* `#20165 `__: ENH: Add annotations for ``np.chararray`` +* `#20166 `__: MAINT, STY: Run clang-format on cpp files and headers. +* `#20170 `__: More informative error for unparsable version +* `#20172 `__: Allow clib callable build flags +* `#20173 `__: TST: Disable test_partial_iteration_cleanup on 32 bit Windows. +* `#20174 `__: TST: xfail ``test_overrides`` when numpy is built with MKL support +* `#20179 `__: BUG: Do not use nonzero fastpath on unaligned arrays +* `#20182 `__: DOC, MAINT: Update build systems for f2py +* `#20183 `__: Thin compatibility layer for C/C++ math header +* `#20184 `__: MAINT: Miscellaneous typing cleanups +* `#20187 `__: BUG,DOC: Resolve a refguide failure for ``ndarray.__class_getitem__`` +* `#20188 `__: MAINT: Bump hypothesis from 6.23.3 to 6.24.0 +* `#20190 `__: BUG: Don't pass /arch:SSE2 to MSVC when targeting x64 +* `#20194 `__: DOC: add release note and move NEP 49 to Final +* `#20195 `__: DOC: Two small changes in array.rst: +* `#20196 `__: Fix minor grammar issues in docs +* `#20197 `__: DOC, MAINT : fixing typo in numpy doc +* `#20199 `__: ENH: Add dtype typing support to ``np.core.numeric`` +* `#20200 `__: MAINT: Only warn for transferred ownership if env variable is... +* `#20201 `__: DEP: Deprecate ``np.MachAr`` +* `#20205 `__: BUG,DOC: Fix ``random.power``'s error description +* `#20206 `__: CI: Add new workflow/action for testing universal intrinsics... +* `#20207 `__: ENH: Add prompt for title in issue forms +* `#20213 `__: DOC: Mention ``nan`` results in ``power`` and ``float_power``. +* `#20214 `__: BUG: fix test c-extension compilation inside a venv +* `#20217 `__: DOC: Add a release note for fully annotating the main numpy namespace +* `#20219 `__: BUG, SIMD: Workaround broadcasting SIMD 64-bit integers on MSVC... +* `#20222 `__: Run rebase on Cygwin CI +* `#20224 `__: BUG: Fix shadowed reference of ``dtype`` in type stubs +* `#20228 `__: MAINT: Better error message from histogram2d +* `#20230 `__: ENH: Add annotations for ``np.ctypeslib`` +* `#20232 `__: CI: Add new workflow for Intel SDE +* `#20234 `__: MAINT: Update vs2017 to vs2019. +* `#20235 `__: DOC: fix typo in example, put the return statement inside the... +* `#20237 `__: BUG: ``VOID_nonzero`` could sometimes mutate alignment flag +* `#20238 `__: BUG: Fix environment checking logic for ``NUMPY_WARN_IF_NO_MEM_POLICY`` +* `#20242 `__: DOC: centralized min-max documentation +* `#20243 `__: DOC: Fixes wording for fmod and remainder functions. +* `#20255 `__: DOC: fix missing link in "What is NumPy?" to broadcasting +* `#20256 `__: The module name in the reshape section of the absolute_beginners.html... +* `#20261 `__: [DOC] Fix math block in hermmulx, lagmulx +* `#20267 `__: Adding Examples to numpy.roll() +* `#20268 `__: MAINT: remove Dependabot +* `#20269 `__: MAINT: Bump hypothesis from 6.24.0 to 6.24.1 +* `#20270 `__: BUG: Fix headers for universal2 builds +* `#20271 `__: TST: Add a test for device property +* `#20274 `__: TST: Some fixes & refactoring around glibc-dependent skips in... +* `#20279 `__: ENH: Add annotations for ``np.fft`` +* `#20281 `__: DOC: Correct grammar in isfinite docstring +* `#20282 `__: MAINT: Fix runtests.py overriding $PYTHONPATH environment variable +* `#20283 `__: MAINT Fix typo for event name in wheels.yml +* `#20284 `__: BUG: Fix duplication of names in 'numpy.__all__'. +* `#20287 `__: TST, MAINT: module name excluded in typing tests +* `#20290 `__: DOC: Do not leave space between directive name and double colon. +* `#20292 `__: SIMD: replace raw SIMD of ceil with universal intrinsics +* `#20299 `__: BLD: in conda, pin setuptools to a known working version +* `#20303 `__: BUG: Fix requirement that user DTypes had to be heaptypes +* `#20307 `__: REL: Update main after 1.21.4 release. +* `#20308 `__: MAINT: Add ``IS_PYSTON`` to ``np.testing.__all__`` +* `#20309 `__: MAINT: Add annotations for a missing ``percentile`` interpolation... +* `#20310 `__: BUG: Fix float16 einsum fastpaths using wrong tempvar +* `#20314 `__: BUG: Get full precision for 32 bit floating point random values. +* `#20315 `__: MAINT: Remove Python <3.8 support from C +* `#20318 `__: MAINT: Remove codeql-analysis.yml. +* `#20325 `__: DOC: Remove non-existent quantile ``interpolation="inclusive"``... +* `#20327 `__: BUG,DEP: Fixup quantile/percentile and rename interpolation->method +* `#20331 `__: MAINT: Update quantile default lerp method +* `#20333 `__: DEP: remove code for supporting GCC <4 in Mingw32CCompiler +* `#20334 `__: MAINT: Rename commit trigger to "wheel build" for building wheels +* `#20342 `__: CI: Bump azure MacOS version to macOS-1015 +* `#20343 `__: ENH: add a 'version' field to PyDataMem_Handler +* `#20344 `__: BLD: do not position 'cxx=-std=c++11' as a default compiler flag +* `#20345 `__: ENH: Avoid re-encapsulation of the default handler +* `#20347 `__: MAINT: Do not forward ``__(deep)copy__`` calls of ``_GenericAlias``... +* `#20350 `__: DOC: random: Fix a mistake in the zipf example. +* `#20352 `__: ENH: Prefix log messages with their levels +* `#20353 `__: BUG, DIST: Print os error message when the executable not exist +* `#20354 `__: BLD: Verify the ability to compile C++ sources before initiating... +* `#20360 `__: BUG: Revert from ``long double`` changes, and force ``npymath`` to... +* `#20361 `__: MAINT: Update SVML sources to prevent an executable stack +* `#20364 `__: BUG: Relax unary ufunc (sqrt, etc.) stride assert +* `#20365 `__: BUG: Fix failure to create aligned, empty structured dtype +* `#20366 `__: MAINT,TST: Avoid small positive integers in refcount test +* `#20367 `__: ENH, SIMD: add new universal intrinsics for trunc +* `#20369 `__: MAINT: Fix newlines in diagnostics output of numpy.f2py. +* `#20373 `__: MAINT: Prepare for branching maintenance/1.22.x +* `#20379 `__: DOC: Fix formatting of a code example in ``numpy.random.Generator.multivariate_normal()``... +* `#20386 `__: REV: Add MaskedArray creation from non nd-array back in +* `#20402 `__: BLD: Fix Macos Builds [wheel build] +* `#20410 `__: BUG, SIMD: Fix ``exp`` FP stack overflow when ``AVX512_SKX`` is enabled +* `#20411 `__: ENH: provide a convenience function to replace npy_load_module... +* `#20415 `__: CI: CircleCI: Install numpy after processing doc_requirements.txt +* `#20419 `__: MAINT: import setuptools before distutils in one np.random test +* `#20420 `__: BUG: Clear errors correctly in F2PY conversions +* `#20429 `__: MAINT: Fix longdouble precision check in test_umath.py +* `#20430 `__: MAINT: Fix METH_NOARGS function signatures diff --git a/doc/release/upcoming_changes/17530.improvement.rst b/doc/release/upcoming_changes/17530.improvement.rst deleted file mode 100644 index 07a23f0e5e6b..000000000000 --- a/doc/release/upcoming_changes/17530.improvement.rst +++ /dev/null @@ -1,5 +0,0 @@ -`ctypeslib.load_library` can now take any path-like object ------------------------------------------------------------------------ -All parameters in the can now take any :term:`python:path-like object`. -This includes the likes of strings, bytes and objects implementing the -:meth:`__fspath__` protocol. diff --git a/doc/release/upcoming_changes/17582.new_feature.rst b/doc/release/upcoming_changes/17582.new_feature.rst deleted file mode 100644 index c2426330c6d7..000000000000 --- a/doc/release/upcoming_changes/17582.new_feature.rst +++ /dev/null @@ -1,10 +0,0 @@ -NEP 49 configurable allocators ------------------------------- -As detailed in `NEP 49`_, the function used for allocation of the data segment -of a ndarray can be changed. The policy can be set globally or in a context. -For more information see the NEP and the :ref:`data_memory` reference docs. -Also add a ``NUMPY_WARN_IF_NO_MEM_POLICY`` override to warn on dangerous use -of transfering ownership by setting ``NPY_ARRAY_OWNDATA``. - -.. _`NEP 49`: https://numpy.org/neps/nep-0049.html - diff --git a/doc/release/upcoming_changes/18536.improvement.rst b/doc/release/upcoming_changes/18536.improvement.rst deleted file mode 100644 index 8693916dbdba..000000000000 --- a/doc/release/upcoming_changes/18536.improvement.rst +++ /dev/null @@ -1,7 +0,0 @@ -Add ``smallest_normal`` and ``smallest_subnormal`` attributes to `finfo` -------------------------------------------------------------------------- - -The attributes ``smallest_normal`` and ``smallest_subnormal`` are available as -an extension of `finfo` class for any floating-point data type. To use these -new attributes, write ``np.finfo(np.float64).smallest_normal`` or -``np.finfo(np.float64).smallest_subnormal``. diff --git a/doc/release/upcoming_changes/18585.new_feature.rst b/doc/release/upcoming_changes/18585.new_feature.rst deleted file mode 100644 index bb83d755cf4e..000000000000 --- a/doc/release/upcoming_changes/18585.new_feature.rst +++ /dev/null @@ -1,15 +0,0 @@ -Implementation of the NEP 47 (adopting the array API standard) --------------------------------------------------------------- - -An initial implementation of `NEP 47`_ (adoption the array API standard) has -been added as ``numpy.array_api``. The implementation is experimental and will -issue a UserWarning on import, as the `array API standard -`_ is still in draft state. -``numpy.array_api`` is a conforming implementation of the array API standard, -which is also minimal, meaning that only those functions and behaviors that -are required by the standard are implemented (see the NEP for more info). -Libraries wishing to make use of the array API standard are encouraged to use -``numpy.array_api`` to check that they are only using functionality that is -guaranteed to be present in standard conforming implementations. - -.. _`NEP 47`: https://numpy.org/neps/nep-0047-array-api-standard.html diff --git a/doc/release/upcoming_changes/18884.new_feature.rst b/doc/release/upcoming_changes/18884.new_feature.rst deleted file mode 100644 index 41503b00e577..000000000000 --- a/doc/release/upcoming_changes/18884.new_feature.rst +++ /dev/null @@ -1,7 +0,0 @@ -Generate C/C++ API reference documentation from comments blocks is now possible -------------------------------------------------------------------------------- -This feature depends on Doxygen_ in the generation process and on Breathe_ -to integrate it with Sphinx. - -.. _`Doxygen`: https://www.doxygen.nl/index.html -.. _`Breathe`: https://breathe.readthedocs.io/en/latest/ diff --git a/doc/release/upcoming_changes/19062.new_feature.rst b/doc/release/upcoming_changes/19062.new_feature.rst deleted file mode 100644 index 17171556853c..000000000000 --- a/doc/release/upcoming_changes/19062.new_feature.rst +++ /dev/null @@ -1,21 +0,0 @@ -Assign the platform-specific ``c_intp`` precision via a mypy plugin -------------------------------------------------------------------- - -The mypy_ plugin, introduced in `numpy/numpy#17843`_, has again been expanded: -the plugin now is now responsible for setting the platform-specific precision -of `numpy.ctypeslib.c_intp`, the latter being used as data type for various -`numpy.ndarray.ctypes` attributes. - -Without the plugin, aforementioned type will default to `ctypes.c_int64`. - -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/19083.new_feature.rst b/doc/release/upcoming_changes/19083.new_feature.rst deleted file mode 100644 index 92f00c0d6111..000000000000 --- a/doc/release/upcoming_changes/19083.new_feature.rst +++ /dev/null @@ -1,6 +0,0 @@ -Add NEP 47-compatible dlpack support ------------------------------------- - -Add a ``ndarray.__dlpack__()`` method which returns a ``dlpack`` C structure -wrapped in a ``PyCapsule``. Also add a ``np._from_dlpack(obj)`` function, where -``obj`` supports ``__dlpack__()``, and returns an ``ndarray``. diff --git a/doc/release/upcoming_changes/19135.change.rst b/doc/release/upcoming_changes/19135.change.rst deleted file mode 100644 index 0b900a16acc1..000000000000 --- a/doc/release/upcoming_changes/19135.change.rst +++ /dev/null @@ -1,10 +0,0 @@ -Removed floor division support for complex types ------------------------------------------------- - -Floor division of complex types will now result in a `TypeError` - -.. code-block:: python - - >>> a = np.arange(10) + 1j* np.arange(10) - >>> a // 1 - TypeError: ufunc 'floor_divide' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe'' diff --git a/doc/release/upcoming_changes/19151.improvement.rst b/doc/release/upcoming_changes/19151.improvement.rst deleted file mode 100644 index 2108b9c4f96d..000000000000 --- a/doc/release/upcoming_changes/19151.improvement.rst +++ /dev/null @@ -1,6 +0,0 @@ -`numpy.linalg.qr` accepts stacked matrices as inputs ----------------------------------------------------- - -`numpy.linalg.qr` is able to produce results for stacked matrices as inputs. -Moreover, the implementation of QR decomposition has been shifted to C -from Python. diff --git a/doc/release/upcoming_changes/19211.new_feature.rst b/doc/release/upcoming_changes/19211.new_feature.rst deleted file mode 100644 index 40e42387c153..000000000000 --- a/doc/release/upcoming_changes/19211.new_feature.rst +++ /dev/null @@ -1,7 +0,0 @@ -``keepdims`` optional argument added to `numpy.argmin`, `numpy.argmax` ----------------------------------------------------------------------- - -``keepdims`` argument is added to `numpy.argmin`, `numpy.argmax`. -If set to ``True``, the axes which are reduced are left in the result as dimensions with size one. -The resulting array has the same number of dimensions and will broadcast with the -input array. diff --git a/doc/release/upcoming_changes/19259.c_api.rst b/doc/release/upcoming_changes/19259.c_api.rst deleted file mode 100644 index dac9f520a76f..000000000000 --- a/doc/release/upcoming_changes/19259.c_api.rst +++ /dev/null @@ -1,12 +0,0 @@ -Masked inner-loops cannot be customized anymore ------------------------------------------------ -The masked inner-loop selector is now never used. A warning -will be given in the unlikely event that it was customized. - -We do not expect that any code uses this. If you do use it, -you must unset the selector on newer NumPy version. -Please also contact the NumPy developers, we do anticipate -providing a new, more specific, mechanism. - -The customization was part of a never-implemented feature to allow -for faster masked operations. diff --git a/doc/release/upcoming_changes/19355.new_feature.rst b/doc/release/upcoming_changes/19355.new_feature.rst deleted file mode 100644 index cfa50b7a175c..000000000000 --- a/doc/release/upcoming_changes/19355.new_feature.rst +++ /dev/null @@ -1,13 +0,0 @@ -``bit_count`` to compute the number of 1-bits in an integer ------------------------------------------------------------ - -Computes the number of 1-bits in the absolute value of the input. -This works on all the numpy integer types. Analogous to the builtin -``int.bit_count`` or ``popcount`` in C++. - -.. code-block:: python - - >>> np.uint32(1023).bit_count() - 10 - >>> np.int32(-127).bit_count() - 7 diff --git a/doc/release/upcoming_changes/19356.change.rst b/doc/release/upcoming_changes/19356.change.rst deleted file mode 100644 index 3c5ef4a91475..000000000000 --- a/doc/release/upcoming_changes/19356.change.rst +++ /dev/null @@ -1,7 +0,0 @@ -`numpy.vectorize` functions now produce the same output class as the base function ----------------------------------------------------------------------------------- -When a function that respects `numpy.ndarray` subclasses is vectorized using -`numpy.vectorize`, the vectorized function will now be subclass-safe -also for cases that a signature is given (i.e., when creating a ``gufunc``): -the output class will be the same as that returned by the first call to -the underlying function. diff --git a/doc/release/upcoming_changes/19459.new_feature.rst b/doc/release/upcoming_changes/19459.new_feature.rst deleted file mode 100644 index aecae670feba..000000000000 --- a/doc/release/upcoming_changes/19459.new_feature.rst +++ /dev/null @@ -1,4 +0,0 @@ -The ``ndim`` and ``axis`` attributes have been added to `numpy.AxisError` -------------------------------------------------------------------------- -The ``ndim`` and ``axis`` parameters are now also stored as attributes -within each `numpy.AxisError` instance. diff --git a/doc/release/upcoming_changes/19462.change.rst b/doc/release/upcoming_changes/19462.change.rst deleted file mode 100644 index 8fbadb394ded..000000000000 --- a/doc/release/upcoming_changes/19462.change.rst +++ /dev/null @@ -1,3 +0,0 @@ -OpenBLAS v0.3.17 ----------------- -Update the OpenBLAS used in testing and in wheels to v0.3.17 diff --git a/doc/release/upcoming_changes/19478.performance.rst b/doc/release/upcoming_changes/19478.performance.rst deleted file mode 100644 index 6a389c20eb0c..000000000000 --- a/doc/release/upcoming_changes/19478.performance.rst +++ /dev/null @@ -1,11 +0,0 @@ -Vectorize umath module using AVX-512 -------------------------------------- - -By leveraging Intel Short Vector Math Library (SVML), 18 umath functions -(``exp2``, ``log2``, ``log10``, ``expm1``, ``log1p``, ``cbrt``, ``sin``, -``cos``, ``tan``, ``arcsin``, ``arccos``, ``arctan``, ``sinh``, ``cosh``, -``tanh``, ``arcsinh``, ``arccosh``, ``arctanh``) are vectorized using AVX-512 -instruction set for both single and double precision implementations. This -change is currently enabled only for Linux users and on processors with -AVX-512 instruction set. It provides an average speed up of 32x and 14x for -single and double precision functions respectively. diff --git a/doc/release/upcoming_changes/19479.compatibility.rst b/doc/release/upcoming_changes/19479.compatibility.rst deleted file mode 100644 index 83533a305749..000000000000 --- a/doc/release/upcoming_changes/19479.compatibility.rst +++ /dev/null @@ -1,7 +0,0 @@ -Distutils forces strict floating point model on clang ------------------------------------------------------ -NumPy now sets the ``-ftrapping-math`` option on clang to enforce correct -floating point error handling for universal functions. -Clang defaults to non-IEEE and C99 conform behaviour otherwise. -This change (using the equivalent but newer ``-ffp-exception-behavior=strict``) -was attempted in NumPy 1.21, but was effectively never used. diff --git a/doc/release/upcoming_changes/19513.new_feature.rst b/doc/release/upcoming_changes/19513.new_feature.rst deleted file mode 100644 index 5f945cea2b68..000000000000 --- a/doc/release/upcoming_changes/19513.new_feature.rst +++ /dev/null @@ -1,4 +0,0 @@ -Preliminary support for `windows/arm64` target ----------------------------------------------- -``numpy`` added support for windows/arm64 target. Please note -``OpenBLAS`` support is not yet available for windows/arm64 target. diff --git a/doc/release/upcoming_changes/19527.new_feature.rst b/doc/release/upcoming_changes/19527.new_feature.rst deleted file mode 100644 index 3967f18413eb..000000000000 --- a/doc/release/upcoming_changes/19527.new_feature.rst +++ /dev/null @@ -1,3 +0,0 @@ -Added support for LoongArch ------------------------------------------------- -LoongArch is a new instruction set, numpy compilation failure on LoongArch architecture, so add the commit. diff --git a/doc/release/upcoming_changes/19539.expired.rst b/doc/release/upcoming_changes/19539.expired.rst deleted file mode 100644 index 6e94f175d85c..000000000000 --- a/doc/release/upcoming_changes/19539.expired.rst +++ /dev/null @@ -1,2 +0,0 @@ -* Using the strings ``"Bytes0"``, ``"Datetime64"``, ``"Str0"``, ``"Uint32"``, - and ``"Uint64"`` as a dtype will now raise a ``TypeError``. \ No newline at end of file diff --git a/doc/release/upcoming_changes/19615.expired.rst b/doc/release/upcoming_changes/19615.expired.rst deleted file mode 100644 index 4e02771e3ad8..000000000000 --- a/doc/release/upcoming_changes/19615.expired.rst +++ /dev/null @@ -1,8 +0,0 @@ -Expired deprecations for ``loads``, ``ndfromtxt``, and ``mafromtxt`` in npyio ------------------------------------------------------------------------------ - -``numpy.loads`` was deprecated in v1.15, with the recommendation that users -use `pickle.loads` instead. -``ndfromtxt`` and ``mafromtxt`` were both deprecated in v1.17 - users should -use `numpy.genfromtxt` instead with the appropriate value for the -``usemask`` parameter. diff --git a/doc/release/upcoming_changes/19665.change.rst b/doc/release/upcoming_changes/19665.change.rst deleted file mode 100644 index 2c2315dd2597..000000000000 --- a/doc/release/upcoming_changes/19665.change.rst +++ /dev/null @@ -1,4 +0,0 @@ -Python 3.7 is no longer supported ---------------------------------- -Python support has been dropped. This is rather strict, there are -changes that require Python >=3.8. diff --git a/doc/release/upcoming_changes/19680.improvement.rst b/doc/release/upcoming_changes/19680.improvement.rst deleted file mode 100644 index 1a2a3496b835..000000000000 --- a/doc/release/upcoming_changes/19680.improvement.rst +++ /dev/null @@ -1,5 +0,0 @@ -`numpy.fromregex` now accepts ``os.PathLike`` implementations -------------------------------------------------------------- - -`numpy.fromregex` now accepts objects implementing the `__fspath__` -protocol, *e.g.* `pathlib.Path`. diff --git a/doc/release/upcoming_changes/19687.change.rst b/doc/release/upcoming_changes/19687.change.rst deleted file mode 100644 index c7f7512b6d03..000000000000 --- a/doc/release/upcoming_changes/19687.change.rst +++ /dev/null @@ -1,8 +0,0 @@ -str/repr of complex dtypes now include space after punctuation --------------------------------------------------------------- - -The repr of ``np.dtype({"names": ["a"], "formats": [int], "offsets": [2]})`` is -now ``dtype({'names': ['a'], 'formats': ['>> np.float32(-2.0).is_integer() - True - >>> np.float64(3.2).is_integer() - False - >>> np.int32(-2).is_integer() - True diff --git a/doc/release/upcoming_changes/19805.new_feature.rst b/doc/release/upcoming_changes/19805.new_feature.rst deleted file mode 100644 index f59409254a12..000000000000 --- a/doc/release/upcoming_changes/19805.new_feature.rst +++ /dev/null @@ -1,5 +0,0 @@ -Symbolic parser for Fortran dimension specifications ----------------------------------------------------- -A new symbolic parser has been added to f2py in order to correctly parse -dimension specifications. The parser is the basis for future improvements -and provides compatibility with Draft Fortran 202x. diff --git a/doc/release/upcoming_changes/19857.improvement.rst b/doc/release/upcoming_changes/19857.improvement.rst deleted file mode 100644 index cbeff08b1ade..000000000000 --- a/doc/release/upcoming_changes/19857.improvement.rst +++ /dev/null @@ -1,13 +0,0 @@ -Add new methods for ``quantile`` and ``percentile`` ---------------------------------------------------- - -``quantile`` and ``percentile`` now have have a ``method=`` -keyword argument supporting 13 different methods. -This replaces the ``interpolation=`` keyword argument. - -The methods are now aligned with nine methods which can be -found in scientific literature and the R language. -The remaining methods are the previous discontinuous variations -of the default "linear" one. - -Please see the documentation of `numpy.percentile` for more information. diff --git a/doc/release/upcoming_changes/19879.new_feature.rst b/doc/release/upcoming_changes/19879.new_feature.rst deleted file mode 100644 index c6624138b52f..000000000000 --- a/doc/release/upcoming_changes/19879.new_feature.rst +++ /dev/null @@ -1,15 +0,0 @@ -``ndarray``, ``dtype`` and ``number`` are now runtime-subscriptable -------------------------------------------------------------------- -Mimicking :pep:`585`, the `~numpy.ndarray`, `~numpy.dtype` and `~numpy.number` -classes are now subscriptable for python 3.9 and later. -Consequently, expressions that were previously only allowed in .pyi stub files -or with the help of ``from __future__ import annotations`` are now also legal -during runtime. - -.. code-block:: python - - >>> import numpy as np - >>> from typing import Any - - >>> np.ndarray[Any, np.dtype[np.float64]] - numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]] diff --git a/doc/release/upcoming_changes/19921.deprecation.rst b/doc/release/upcoming_changes/19921.deprecation.rst deleted file mode 100644 index 17fa0f605be0..000000000000 --- a/doc/release/upcoming_changes/19921.deprecation.rst +++ /dev/null @@ -1,3 +0,0 @@ -* the misspelled keyword argument ``delimitor`` of - ``numpy.ma.mrecords.fromtextfile()`` has been changed into - ``delimiter``, using it will emit a deprecation warning. diff --git a/doc/release/upcoming_changes/20000.deprecation.rst b/doc/release/upcoming_changes/20000.deprecation.rst deleted file mode 100644 index e0a56cd47e91..000000000000 --- a/doc/release/upcoming_changes/20000.deprecation.rst +++ /dev/null @@ -1,5 +0,0 @@ -Passing boolean ``kth`` values to (arg-)partition has been deprecated ---------------------------------------------------------------------- -`~numpy.partition` and `~numpy.argpartition` would previously accept boolean -values for the ``kth`` parameter, which would subsequently be converted into -integers. This behavior has now been deprecated. diff --git a/doc/release/upcoming_changes/20027.improvement.rst b/doc/release/upcoming_changes/20027.improvement.rst deleted file mode 100644 index 86b3bed744e7..000000000000 --- a/doc/release/upcoming_changes/20027.improvement.rst +++ /dev/null @@ -1,17 +0,0 @@ -Missing parameters have been added to the ``nan`` functions --------------------------------------------------------------- -A number of the ``nan`` functions previously lacked parameters that were -present in their ````-based counterpart, *e.g.* the ``where`` parameter was -present in `~numpy.mean` but absent from `~numpy.nanmean`. - -The following parameters have now been added to the ``nan`` functions: - -* nanmin: ``initial`` & ``where`` -* nanmax: ``initial`` & ``where`` -* nanargmin: ``keepdims`` & ``out`` -* nanargmax: ``keepdims`` & ``out`` -* nansum: ``initial`` & ``where`` -* nanprod: ``initial`` & ``where`` -* nanmean: ``where`` -* nanvar: ``where`` -* nanstd: ``where`` diff --git a/doc/release/upcoming_changes/20049.change.rst b/doc/release/upcoming_changes/20049.change.rst deleted file mode 100644 index e1f08b3437c8..000000000000 --- a/doc/release/upcoming_changes/20049.change.rst +++ /dev/null @@ -1,5 +0,0 @@ -Corrected ``advance`` in ``PCG64DSXM`` and ``PCG64`` ----------------------------------------------------- -Fixed a bug in the ``advance`` method of ``PCG64DSXM`` and ``PCG64``. The bug only -affects results when the step was larger than :math:`2^{64}` on platforms -that do not support 128-bit integers(e.g., Windows and 32-bit Linux). diff --git a/doc/release/upcoming_changes/20201.deprecation.rst b/doc/release/upcoming_changes/20201.deprecation.rst deleted file mode 100644 index db8cda21f675..000000000000 --- a/doc/release/upcoming_changes/20201.deprecation.rst +++ /dev/null @@ -1,5 +0,0 @@ -The ``np.MachAr`` class has been deprecated -------------------------------------------- -The `~numpy.MachAr` class and `finfo.machar ` attribute have -been deprecated. Users are encouraged to access the property if interest -directly from the corresponding `~numpy.finfo` attribute. diff --git a/doc/release/upcoming_changes/20217.improvement.rst b/doc/release/upcoming_changes/20217.improvement.rst deleted file mode 100644 index 28e5c8ff714d..000000000000 --- a/doc/release/upcoming_changes/20217.improvement.rst +++ /dev/null @@ -1,10 +0,0 @@ -Annotating the main Numpy namespace --------------------------------------- -Starting from the 1.20 release, PEP 484 type annotations have been included -for parts of the NumPy library; annotating the remaining functions being a -work in progress. With the release of 1.22 this process has been completed for -the main NumPy namespace, which is now fully annotated. - -Besides the main namespace, a limited number of sub-packages contain -annotations as well. This includes, among others, `numpy.testing`, -`numpy.linalg` and `numpy.random` (available since 1.21). diff --git a/doc/release/upcoming_changes/20314.change.rst b/doc/release/upcoming_changes/20314.change.rst deleted file mode 100644 index ea7e29aff545..000000000000 --- a/doc/release/upcoming_changes/20314.change.rst +++ /dev/null @@ -1,10 +0,0 @@ -Change in generation of random 32 bit floating point variates -------------------------------------------------------------- -There was bug in the generation of 32 bit floating point values from -the uniform distribution that would result in the least significant -bit of the random variate always being 0. This has been fixed. - -This change affects the variates produced by the `random.Generator` -methods ``random``, ``standard_normal``, ``standard_exponential``, and -``standard_gamma``, but only when the dtype is specified as -``numpy.float32``. diff --git a/doc/source/release/1.22.0-notes.rst b/doc/source/release/1.22.0-notes.rst index 0760a3dd7cb9..05f691b62539 100644 --- a/doc/source/release/1.22.0-notes.rst +++ b/doc/source/release/1.22.0-notes.rst @@ -3,43 +3,444 @@ ========================== NumPy 1.22.0 Release Notes ========================== +NumPy 1.22.0 is a big release featuring the work of 150 contributers spread +over 574 pull requests. There have been many improvements, highlights are: +* Annotations are essentially complete. Upstream is a moving target, so there + will likely be further improvements, but the major work is done. This is + probably the most user visible enhancement in this release. +* A preliminary version of the proposed Array-API is provided. This is a step + in creating a standard collection of functions that can be used across + application such as CuPy and JAX. +* NumPy now has a DLPack backend. DLPack provides a common interchange format + for array (tensor) data. +* New methods for ``quantile``, ``percentile``, and related functions. The new + methods provide a complete set of the methods commonly found in the + literature. +* A new configurable allocator for use by downstream projects. -Highlights -========== +These are in addition to the ongoing work to provide SIMD support for commonly +used functions, improvements to F2PY, and better documentation. +The Python versions supported in this release are 3.8-3.10, Python 3.7 has been +dropped. Note that 32 bit wheels are only provided for Python 3.8 and 3.9 on +Windows, all other wheels are 64 bits on account of Ubuntu, Fedora, and other +Linux distributions dropping 32 bit support. All 64 bit wheels are also linked +with 64 bit OpenBLAS, which should fix the occasional problems encountered by +folks using truly huge arrays. -New functions -============= + +Expired deprecations +==================== + +Deprecated numeric style dtype strings have been removed +-------------------------------------------------------- +* Using the strings ``"Bytes0"``, ``"Datetime64"``, ``"Str0"``, ``"Uint32"``, + and ``"Uint64"`` as a dtype will now raise a ``TypeError``. + + (`gh-19539 `__) + +Expired deprecations for ``loads``, ``ndfromtxt``, and ``mafromtxt`` in npyio +----------------------------------------------------------------------------- + +``numpy.loads`` was deprecated in v1.15, with the recommendation that users use +``pickle.loads`` instead. ``ndfromtxt`` and ``mafromtxt`` were both deprecated +in v1.17 - users should use ``numpy.genfromtxt`` instead with the appropriate +value for the ``usemask`` parameter. + +(`gh-19615 `__) Deprecations ============ +Use delimiter rather than delimitor as kwarg in mrecords +-------------------------------------------------------- +The misspelled keyword argument ``delimitor`` of +``numpy.ma.mrecords.fromtextfile()`` has been changed to ``delimiter``, using +it will emit a deprecation warning. -Future Changes -============== +(`gh-19921 `__) +Passing boolean ``kth`` values to (arg-)partition has been deprecated +--------------------------------------------------------------------- +``numpy.partition`` and ``numpy.argpartition`` would previously accept boolean +values for the ``kth`` parameter, which would subsequently be converted into +integers. This behavior has now been deprecated. -Expired deprecations -==================== +(`gh-20000 `__) + +The ``np.MachAr`` class has been deprecated +------------------------------------------- +The ``numpy.MachAr`` class and ``finfo.machar `` attribute have +been deprecated. Users are encouraged to access the property if interest +directly from the corresponding ``numpy.finfo`` attribute. + +(`gh-20201 `__) Compatibility notes =================== +Distutils forces strict floating point model on clang +----------------------------------------------------- +NumPy now sets the ``-ftrapping-math`` option on clang to enforce correct +floating point error handling for universal functions. Clang defaults to +non-IEEE and C99 conform behaviour otherwise. This change (using the +equivalent but newer ``-ffp-exception-behavior=strict``) was attempted in NumPy +1.21, but was effectively never used. + +(`gh-19479 `__) + +Removed floor division support for complex types +------------------------------------------------ +Floor division of complex types will now result in a ``TypeError`` + +.. code-block:: python + + >>> a = np.arange(10) + 1j* np.arange(10) + >>> a // 1 + TypeError: ufunc 'floor_divide' not supported for the input types... + +(`gh-19135 `__) + +``numpy.vectorize`` functions now produce the same output class as the base function +------------------------------------------------------------------------------------ +When a function that respects ``numpy.ndarray`` subclasses is vectorized using +``numpy.vectorize``, the vectorized function will now be subclass-safe also for +cases that a signature is given (i.e., when creating a ``gufunc``): the output +class will be the same as that returned by the first call to the underlying +function. + +(`gh-19356 `__) + +Python 3.7 is no longer supported +--------------------------------- +Python support has been dropped. This is rather strict, there are changes that +require Python >= 3.8. + +(`gh-19665 `__) + +str/repr of complex dtypes now include space after punctuation +-------------------------------------------------------------- +The repr of ``np.dtype({"names": ["a"], "formats": [int], "offsets": [2]})`` is +now ``dtype({'names': ['a'], 'formats': ['`__) + +Corrected ``advance`` in ``PCG64DSXM`` and ``PCG64`` +---------------------------------------------------- +Fixed a bug in the ``advance`` method of ``PCG64DSXM`` and ``PCG64``. The bug +only affects results when the step was larger than :math:`2^{64}` on platforms +that do not support 128-bit integers(e.g., Windows and 32-bit Linux). + +(`gh-20049 `__) + +Change in generation of random 32 bit floating point variates +------------------------------------------------------------- +There was bug in the generation of 32 bit floating point values from the +uniform distribution that would result in the least significant bit of the +random variate always being 0. This has been fixed. + +This change affects the variates produced by the ``random.Generator`` methods +``random``, ``standard_normal``, ``standard_exponential``, and +``standard_gamma``, but only when the dtype is specified as ``numpy.float32``. + +(`gh-20314 `__) + C API changes ============= +Masked inner-loops cannot be customized anymore +----------------------------------------------- +The masked inner-loop selector is now never used. A warning will be given in +the unlikely event that it was customized. + +We do not expect that any code uses this. If you do use it, you must unset the +selector on newer NumPy version. Please also contact the NumPy developers, we +do anticipate providing a new, more specific, mechanism. + +The customization was part of a never-implemented feature to allow for faster +masked operations. + +(`gh-19259 `__) + New Features ============ +NEP 49 configurable allocators +------------------------------ +As detailed in `NEP 49`_, the function used for allocation of the data segment +of a ndarray can be changed. The policy can be set globally or in a context. +For more information see the NEP and the :ref:`data_memory` reference docs. +Also add a ``NUMPY_WARN_IF_NO_MEM_POLICY`` override to warn on dangerous use +of transfering ownership by setting ``NPY_ARRAY_OWNDATA``. + +.. _`NEP 49`: https://numpy.org/neps/nep-0049.html + +(`gh-17582 `__) + +Implementation of the NEP 47 (adopting the array API standard) +-------------------------------------------------------------- +An initial implementation of `NEP 47`_ (adoption the array API standard) has +been added as ``numpy.array_api``. The implementation is experimental and will +issue a UserWarning on import, as the `array API standard +`_ is still in draft state. +``numpy.array_api`` is a conforming implementation of the array API standard, +which is also minimal, meaning that only those functions and behaviors that are +required by the standard are implemented (see the NEP for more info). +Libraries wishing to make use of the array API standard are encouraged to use +``numpy.array_api`` to check that they are only using functionality that is +guaranteed to be present in standard conforming implementations. + +.. _`NEP 47`: https://numpy.org/neps/nep-0047-array-api-standard.html + +(`gh-18585 `__) + +Generate C/C++ API reference documentation from comments blocks is now possible +------------------------------------------------------------------------------- +This feature depends on Doxygen_ in the generation process and on Breathe_ to +integrate it with Sphinx. + +.. _`Doxygen`: https://www.doxygen.nl/index.html +.. _`Breathe`: https://breathe.readthedocs.io/en/latest/ + +(`gh-18884 `__) + +Assign the platform-specific ``c_intp`` precision via a mypy plugin +------------------------------------------------------------------- +The mypy_ plugin, introduced in `numpy/numpy#17843`_, has again been expanded: +the plugin now is now responsible for setting the platform-specific precision +of ``numpy.ctypeslib.c_intp``, the latter being used as data type for various +``numpy.ndarray.ctypes`` attributes. + +Without the plugin, aforementioned type will default to ``ctypes.c_int64``. + +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-19062 `__) + +Add NEP 47-compatible dlpack support +------------------------------------ +Add a ``ndarray.__dlpack__()`` method which returns a ``dlpack`` C structure +wrapped in a ``PyCapsule``. Also add a ``np._from_dlpack(obj)`` function, where +``obj`` supports ``__dlpack__()``, and returns an ``ndarray``. + +(`gh-19083 `__) + +``keepdims`` optional argument added to ``numpy.argmin``, ``numpy.argmax`` +-------------------------------------------------------------------------- +``keepdims`` argument is added to ``numpy.argmin``, ``numpy.argmax``. If set +to ``True``, the axes which are reduced are left in the result as dimensions +with size one. The resulting array has the same number of dimensions and will +broadcast with the input array. + +(`gh-19211 `__) + +``bit_count`` to compute the number of 1-bits in an integer +----------------------------------------------------------- +Computes the number of 1-bits in the absolute value of the input. +This works on all the numpy integer types. Analogous to the builtin +``int.bit_count`` or ``popcount`` in C++. + +.. code-block:: python + + >>> np.uint32(1023).bit_count() + 10 + >>> np.int32(-127).bit_count() + 7 + +(`gh-19355 `__) + +The ``ndim`` and ``axis`` attributes have been added to ``numpy.AxisError`` +--------------------------------------------------------------------------- +The ``ndim`` and ``axis`` parameters are now also stored as attributes +within each ``numpy.AxisError`` instance. + +(`gh-19459 `__) + +Preliminary support for ``windows/arm64`` target +------------------------------------------------ +``numpy`` added support for windows/arm64 target. Please note ``OpenBLAS`` +support is not yet available for windows/arm64 target. + +(`gh-19513 `__) + +Added support for LoongArch +--------------------------- +LoongArch is a new instruction set, numpy compilation failure on LoongArch +architecture, so add the commit. + +(`gh-19527 `__) + +A ``.clang-format`` file has been added +--------------------------------------- +Clang-format is a C/C++ code formatter, together with the added +``.clang-format`` file, it produces code close enough to the NumPy +C_STYLE_GUIDE for general use. Clang-format version 12+ is required due to the +use of several new features, it is available in Fedora 34 and Ubuntu Focal +among other distributions. + +(`gh-19754 `__) + +``is_integer`` is now available to ``numpy.floating`` and ``numpy.integer`` +--------------------------------------------------------------------------- +Based on its counterpart in Python ``float`` and ``int``, the numpy floating +point and integer types now support ``float.is_integer``. Returns ``True`` if +the number is finite with integral value, and ``False`` otherwise. + +.. code-block:: python + + >>> np.float32(-2.0).is_integer() + True + >>> np.float64(3.2).is_integer() + False + >>> np.int32(-2).is_integer() + True + +(`gh-19803 `__) + +Symbolic parser for Fortran dimension specifications +---------------------------------------------------- +A new symbolic parser has been added to f2py in order to correctly parse +dimension specifications. The parser is the basis for future improvements and +provides compatibility with Draft Fortran 202x. + +(`gh-19805 `__) + +``ndarray``, ``dtype`` and ``number`` are now runtime-subscriptable +------------------------------------------------------------------- +Mimicking :pep:`585`, the ``numpy.ndarray``, ``numpy.dtype`` and +``numpy.number`` classes are now subscriptable for python 3.9 and later. +Consequently, expressions that were previously only allowed in .pyi stub files +or with the help of ``from __future__ import annotations`` are now also legal +during runtime. + +.. code-block:: python + + >>> import numpy as np + >>> from typing import Any + + >>> np.ndarray[Any, np.dtype[np.float64]] + numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]] + +(`gh-19879 `__) + Improvements ============ +``ctypeslib.load_library`` can now take any path-like object +------------------------------------------------------------ +All parameters in the can now take any :term:`python:path-like object`. +This includes the likes of strings, bytes and objects implementing the +:meth:`__fspath__` protocol. + +(`gh-17530 `__) + +Add ``smallest_normal`` and ``smallest_subnormal`` attributes to ``finfo`` +-------------------------------------------------------------------------- +The attributes ``smallest_normal`` and ``smallest_subnormal`` are available as +an extension of ``finfo`` class for any floating-point data type. To use these +new attributes, write ``np.finfo(np.float64).smallest_normal`` or +``np.finfo(np.float64).smallest_subnormal``. + +(`gh-18536 `__) + +``numpy.linalg.qr`` accepts stacked matrices as inputs +------------------------------------------------------ +``numpy.linalg.qr`` is able to produce results for stacked matrices as inputs. +Moreover, the implementation of QR decomposition has been shifted to C from +Python. + +(`gh-19151 `__) + +``numpy.fromregex`` now accepts ``os.PathLike`` implementations +--------------------------------------------------------------- +``numpy.fromregex`` now accepts objects implementing the ``__fspath__`` +protocol, *e.g.* ``pathlib.Path``. + +(`gh-19680 `__) + +Add new methods for ``quantile`` and ``percentile`` +--------------------------------------------------- +``quantile`` and ``percentile`` now have have a ``method=`` keyword argument +supporting 13 different methods. This replaces the ``interpolation=`` keyword +argument. + +The methods are now aligned with nine methods which can be found in scientific +literature and the R language. The remaining methods are the previous +discontinuous variations of the default "linear" one. + +Please see the documentation of ``numpy.percentile`` for more information. + +(`gh-19857 `__) + +Missing parameters have been added to the ``nan`` functions +-------------------------------------------------------------- +A number of the ``nan`` functions previously lacked parameters that were +present in their ````-based counterpart, *e.g.* the ``where`` parameter was +present in ``numpy.mean`` but absent from ``numpy.nanmean``. + +The following parameters have now been added to the ``nan`` functions: + +* nanmin: ``initial`` & ``where`` +* nanmax: ``initial`` & ``where`` +* nanargmin: ``keepdims`` & ``out`` +* nanargmax: ``keepdims`` & ``out`` +* nansum: ``initial`` & ``where`` +* nanprod: ``initial`` & ``where`` +* nanmean: ``where`` +* nanvar: ``where`` +* nanstd: ``where`` + +(`gh-20027 `__) + +Annotating the main Numpy namespace +----------------------------------- +Starting from the 1.20 release, PEP 484 type annotations have been included for +parts of the NumPy library; annotating the remaining functions being a work in +progress. With the release of 1.22 this process has been completed for the main +NumPy namespace, which is now fully annotated. + +Besides the main namespace, a limited number of sub-packages contain +annotations as well. This includes, among others, ``numpy.testing``, +``numpy.linalg`` and ``numpy.random`` (available since 1.21). + +(`gh-20217 `__) + +Vectorize umath module using AVX-512 +------------------------------------- +By leveraging Intel Short Vector Math Library (SVML), 18 umath functions +(``exp2``, ``log2``, ``log10``, ``expm1``, ``log1p``, ``cbrt``, ``sin``, +``cos``, ``tan``, ``arcsin``, ``arccos``, ``arctan``, ``sinh``, ``cosh``, +``tanh``, ``arcsinh``, ``arccosh``, ``arctanh``) are vectorized using AVX-512 +instruction set for both single and double precision implementations. This +change is currently enabled only for Linux users and on processors with AVX-512 +instruction set. It provides an average speed up of 32x and 14x for single and +double precision functions respectively. + +(`gh-19478 `__) + +OpenBLAS v0.3.17 +---------------- +Update the OpenBLAS used in testing and in wheels to v0.3.17 + +(`gh-19462 `__) -Changes -=======