Skip to content

Scheduled monthly dependency update for April#174

Closed
pyup-bot wants to merge 4 commits into
masterfrom
pyup-scheduled-update-2025-04-01
Closed

Scheduled monthly dependency update for April#174
pyup-bot wants to merge 4 commits into
masterfrom
pyup-scheduled-update-2025-04-01

Conversation

@pyup-bot
Copy link
Copy Markdown
Collaborator

@pyup-bot pyup-bot commented Apr 1, 2025

Update Cython from 0.29.23 to 3.0.12.

Changelog

3.0.12

===================

Bugs fixed
----------

* Release 3.0.11 introduced some incorrect ``noexcept`` warnings.
(Github issue :issue:`6335`)

* Conditional assignments to variables using the walrus operator could crash.
(Github issue :issue:`6094`)

* Dict assignments to struct members with reserved C names could generate invalid C code.

* Fused ctuples with the same entry types but different sizes could fail to compile.
(Github issue :issue:`6328`)

* In Py3, `pyximport` was not searching `sys.path` when looking for importable source files.
(Github issue :issue:`5615`)

* Using `& 0` on integers produced with `int.from_bytes()` could read invalid memory on Python 3.10.
(Github issue :issue:`6480`)

* Modules could fail to compile in PyPy 3.11 due to missing CPython specific header files.
Patch by Matti Picus.  (Github issue :issue:`6482`)

* Minor fix in C++ ``partial_sum()`` declaration.

3.0.11

===================

Features added
--------------

* The C++11 ``emplace*`` methods were added to ``libcpp.deque``.
Patch by Somin An.  (Github issue :issue:`6159`)

Bugs fixed
----------

* The exception check value of functions declared in pxd files was not always applied in 3.0.10.
(Github issue :issue:`6122`)

* A crash on exception deallocations was fixed.
(Github issue :issue:`6022`)

* A crash was fixed when assigning a zero-length slice to a memoryview.
Patch by Michael Man.  (Github issue :issue:`6227`)

* ``libcpp.optional.value()`` could crash if it raised a C++ exception.
Patch by Alexander Condello.  (Github issue :issue:`6190`)

* The return type of ``str()`` was mishandled, leading to crashes with ``language_level=3``.
(Github issue :issue:`6166`)

* ``bytes.startswith/endswith()`` failed for non-bytes substrings (e.g. ``bytearray``).
(Github issue :issue:`6168`)

* Fused ctuples crashed Cython.
(Github issue :issue:`6068`)

* A compiler crash was fixed when using extension types in fused types.
(Github issue :issue:`6204`)

* The module cleanup code was incorrect for globally defined memory view slices.
(Github issue :issue:`6276`)

* Some adaptations were made to enable compilation in Python 3.13.
(Github issues :issue:`5997`, :issue:`6182`, :issue:`6251`)

3.0.10

===================

Bugs fixed
----------

* Cython generated incorrect self-casts when directly calling final methods of subtypes.
Patch by Lisandro Dalcin.  (Github issue :issue:`2747`)

* Internal C names generated from C function signatures could become too long for MSVC.
(Github issue :issue:`6052`)

* The ``noexcept`` warnings could be misleading in some cases.
Patch by Gonzalo Tornaría.  (Github issue :issue:`6087`)

* The ``cython.ufunc`` implementation could generate incomplete C code.
(Github issue :issue:`6064`)

* The ``libcpp.complex`` declarations could result in incorrect C++ code.
Patch by Raffi Enficiaud.  (Github issue :issue:`6037`)

* Several tests were adapted to work with both NumPy 1.x and 2.0.
Patch by Matti Picus.  (Github issues :issue:`6076`, :issue:`6100`)

* C compiler warnings when the freelist implementation is disabled (e.g. on PyPy) were fixed.
It can now be disabled explicitly with the C macro guard ``CYTHON_USE_FREELISTS=0``.
(Github issue :issue:`6099`)

* Some C macro guards for feature flags were missing from the NOGIL Python configuration.

* Some recently added builtins were unconditionally looked up at module import time
(if used by user code) that weren't available on all Python versions and could thus
fail the import.

* A performance hint regarding exported pxd declarations was improved.
(Github issue :issue:`6001`)

3.0.9

==================

Features added
--------------

* Assigning ``const`` values to non-const variables now issues a warning.
(Github issue :issue:`5639`)

* Using ``noexcept`` on a function returning Python objects now issues a warning.
(Github issue :issue:`5661`)

* Some C-API usage was updated for the upcoming CPython 3.13.
Patches by Victor Stinner et al.  (Github issues :issue:`6003`, :issue:`6020`)

* The deprecated ``Py_UNICODE`` type is no longer used, unless required by user code.
(Github issue :issue:`5982`)

* ``std::string.replace()`` declarations were added to libcpp.string.
Patch by Kieran Geary.  (Github issue :issue:`6037`)

Bugs fixed
----------

* Cython generates incorrect (but harmless) self-casts when directly calling
final methods of subtypes.  Lacking a better solution, the errors that recent
gcc versions produce have been silenced for the time being.
Original patch by Michał Górny.  (Github issue :issue:`2747`)

* Unused variable warnings about clineno were fixed when C lines in tracebacks are disabled.
(Github issue :issue:`6035`)

* Subclass deallocation of extern classes could crash if the base class uses GC.
Original patch by Jason Fried.  (Github issue :issue:`5971`)

* Type checks for Python ``memoryview`` could use an invalid C function.
Patch by Xenia Lu.  (Github issue :issue:`5988`)

* Calling final fused functions could generate invalid C code.
(Github issue :issue:`5989`)

* Declaring extern enums multiple times could generate invalid C code.
(Github issue :issue:`5905`)

* ``pyximport`` used relative paths incorrectly.
Patch by Stefano Rivera.  (Github issue :issue:`5957`)

* Running Cython with globbing characters (``[]*?``) in the module search path could fail.
Patch by eewanco.  (Github issue :issue:`5942`)

* Literal strings that include braces could change the C code indentation.

Other changes
-------------

* The "enum class not importable" warning is now only issued once per enum type.
(Github issue :issue:`5941`)

3.0.8

==================

Bugs fixed
----------

* Using ``const`` together with defined fused types could fail to compile.
(Github issue :issue:`5230`)

* A "use after free" bug was fixed in parallel sections.
(Github issue :issue:`5922`)

* Several types were not available as ``cython.*`` types in pure Python code.

* The generated code is now correct C89 again, removing some C++ style ``//`` comments
and C99-style declaration-after-code code ordering.  This is still relevant for some
ols C compilers, specifically ones that match old Python 2.7 installations.

3.0.7

==================

Bugs fixed
----------

* In the iterator of generator expressions, ``await`` and ``yield`` were not correctly analysed.
(Github issue :issue:`5851`)

* ``cpdef`` enums with the same name cimported from different modules could lead to
invalid C code.
(Github issue :issue:`5887`)

* Some declarations in ``cpython.unicode`` were fixed and extended.
(Github issue :issue:`5902`)

* Compiling fused types used in pxd files could crash Cython in Python 3.11+.
(Github issues :issue:`5894`,  :issue:`5588`)

* Source files with non-ASCII file names could crash Cython.
(Github issue :issue:`5873`)

* Includes all bug-fixes and features from the 0.29 maintenance branch
up to the :ref:`0.29.37` release.

3.0.6

==================

Features added
--------------

* Fused def function dispatch is a bit faster.

* Declarations for the ``wchar`` PyUnicode API were added.
(Github issue :issue:`5836`)

* The Python "nogil" fork is now also detected with the new ``Py_GIL_DISABLED`` macro.
Patch by Hugo van Kemenade.  (Github issue :issue:`5852`)

Bugs fixed
----------

* Comparing dataclasses could give different results than Python.
(Github issue :issue:`5857`)

* ``float(std::string)`` generated invalid C code.
(Github issue :issue:`5818`)

* Using ``cpdef`` functions with ``cimport_from_pyx`` failed.
(Github issue :issue:`5795`)

* A crash was fixed when string-formatting a Python value fails.
(Github issue :issue:`5787`)

* On item access, Cython could try the sequence protocol before the mapping protocol
in some cases if an object supports both.
(Github issue :issue:`5776`)

* A C compiler warning was resolved.
(Github issue :issue:`5794`)

* Complex numbers failed to compile in MSVC with C11.
Patch by Lysandros Nikolaou.  (Github issue :issue:`5809`)

* Some issues with the Limited API and with PyPy were resolved.
(Github issues :issue:`5695`, :issue:`5696`)

* A C++ issue in Python 3.13 was resolved.
(Github issue :issue:`5790`)

* Several directives are now also available (as no-ops) in Python code.
(Github issue :issue:`5803`)

* An error message was corrected.
Patch by Mads Ynddal.  (Github issue :issue:`5805`)

3.0.5

==================

Features added
--------------

* Preliminary support for CPython 3.13a1 was added to allow early testing.
(Github issue :issue:`5767`)

Bugs fixed
----------

* A compiler crash was fixed.
(Github issue :issue:`5771`)

* A typo in the ``always_allow_keywords`` directive for Python code was fixed.
Patch by lk-1984.  (Github issue :issue:`5772`)

* Some C compiler warnings were resolved.
Patch by Pierre Jolivet.  (Github issue :issue:`5780`)

3.0.4

==================

Features added
--------------

* A new compiler directive ``show_performance_hints`` was added to disable the
newly added performance hint output.
(Github issue :issue:`5748`)

Bugs fixed
----------

* cythonize` required ``distutils`` even for operations that did not build binaries.
(Github issue :issue:`5751`)

* A regression in 3.0.3 was fixed that prevented calling inline functions
from another inline function in ``.pxd`` files.
(Github issue :issue:`5748`)

* Some C compiler warnings were resolved.
Patch by Pierre Jolivet.  (Github issue :issue:`5756`)

3.0.3

==================

Features added
--------------

* More warnings were added to help users migrate and avoid bugs.
(Github issue :issue:`5650`)

* A warning-like category for performance hints was added that bypasses ``-Werror``.
(Github issue :issue:`5673`)

* FastGIL now uses standard ``thread_local`` in C++.
(Github issue :issue:`5640`)

* ``reference_wrapper`` was added to ``libcpp.functional``.
Patch by Vyas Ramasubramani.  (Github issue :issue:`5671`)

* The ``cythonize`` command now supports the ``--cplus`` option known from the ``cython`` command.
(Github issue :issue:`5736`)

Bugs fixed
----------

* Performance regressions where the GIL was needlessly acquired were fixed.
(Github issues :issue:`5670`, :issue:`5700`)

* A reference leak for exceptions in Python 3.12 was resolved.
Patch by Eric Johnson.  (Github issue :issue:`5724`)

* ``fastcall`` calls with keyword arguments generated incorrect C code.
(Github issue :issue:`5665`)

* Assigning the type converted result of a conditional (if-else) expression
to ``int`` or ``bool`` variables could lead to incorrect C code.
(Github issue :issue:`5731`)

* Early (unlikely) failures in Python function wrappers no longer set a
traceback in order to simplify the C code flow.  Being mostly memory
allocation errors, they probably would never have created a traceback anyway.
(Github issue :issue:`5681`)

* Relative cimports from packages with ``__init__.py`` files could fail.
(Github issue :issue:`5715`)

* Several issues with the Limited API support were resolved.
(Github issues :issue:`5641`, :issue:`5648`, :issue:`5689`)

* The code generated for special-casing both Cython functions and PyCFunctions was cleaned up
to avoid calling C-API functions that were not meant for the other type respectively.
This could previously trigger assertions in CPython debug builds and now also plays better
with the Limited API.
(Github issues :issue:`4804`, :issue:`5739`)

* Fix some C compiler warnings.
Patches by Ralf Gommers, Oleksandr Pavlyk, Sebastian Koslowski et al.
(Github issues :issue:`5651`, :issue:`5663`, :issue:`5668`, :issue:`5717`, :issue:`5726`, :issue:`5734`)

* Generating gdb debugging information failed when using generator expressions.
Patch by Oleksandr Pavlyk.  (Github issue :issue:`5552`)

* Passing a ``setuptools.Extension`` into ``cythonize()`` instead of a
``distutils.Extension`` could make it miss the matching extensions.

* ``cython -M`` needlessly required ``distutils``, which made it fail in Python 3.12.
(Github issue :issue:`5681`)

Other changes
-------------

* The visible deprecation warning for ``DEF`` was removed again since it proved
difficult for some users to migrate away from it.  The statement is still
meant to be removed at some point (and thus, like ``IF``, should not be
used in new code), but the time for sunset is probably not around the corner.
(Github issue :issue:`4310`)

* The ``np_pythran`` option raise a ``DeprecationWarning`` if it receives other values
than ``True`` and ``False``.  This will eventually be disallowed (in line with all
other boolean options).

3.0.2

==================

Bugs fixed
----------

* Using ``None`` as default value for arguments annotated as ``int`` could crash Cython.
(Github issue :issue:`5643`)

* Default values of fused types that include ``complex`` could generate invalid C code
with ``-DCYTHON_CCOMPLEX=0``.
(Github issue :issue:`5644`)

* Using C++ enum class types in extension type method signatures could generate invalid C code.
(Github issue :issue:`5637`)

3.0.1

==================

Features added
--------------

* The error messages regarding exception declarations were improved in order to give
better help about possible reasons and fixes.
(Github issue :issue:`5547`)

Bugs fixed
----------

* Memory view types in Python argument annotations no longer accept ``None``.  They now
require an explicit ``Optional[]`` or a ``None`` default value in order to allow ``None``
to be passed.  This was an oversight in the 3.0.0 release and is a BACKWARDS INCOMPATIBLE
change.  However, since it only applies to code using Python syntax, it probably only
applies to newly written code that was written for Cython 3.0 and can easily be adapted.
In most cases, we expect that this change will avoid bugs in user code rather than
produce problems.
(Github issue :issue:`5612`)

* ``nogil`` functions using parallel code could freeze when called with the GIL held.
(Github issues :issue:`5564`, :issue:`5573`)

* Relative cimports could end up searching globally and find the same package installed
elsewhere, potentially in another version.
(Github issue :issue:`5511`)

* Attribute lookups on known standard library modules could accidentally search
in the module namespace instead.
(Github issue :issue:`5536`)

* Using constructed C++ default arguments could generate invalid C++ code.
(Github issue :issue:`5553`)

* ``libcpp.memory.make_unique()`` was lacking C++ exception handling.
(Github issue :issue:`5560`)

* Some non-public and deprecated CAPI usages were replaced by public
(and thus more future proof) API code.

* Many issues with the Limited API support were resolved.
Patches by Lisandro Dalcin et al.
(Github issues :issue:`5549`, :issue:`5550`, :issue:`5556`, :issue:`5605`, :issue:`5617`)

* Some C compiler warnings were resolved.
Patches by Matti Picus et al.  (Github issues :issue:`5557`, :issue:`5555`)

* Large Python integers are now stored in hex instead of decimal strings to work around
security limits in Python and generally speed up their Python object creation.

* ``NULL`` could not be used as default for fused type pointer arguments.
(Github issue :issue:`5554`)

* C functions that return pointer types now return ``NULL`` as default exception value.
Previously, calling code wasn't aware of this and always tested for raised exceptions.
(Github issue :issue:`5554`)

* Untyped literal default arguments in fused functions could generate invalid C code.
(Github issue :issue:`5614`)

* C variables declared as ``const`` could generate invalid C code when used in closures,
generator expressions, ctuples, etc.
(Github issues :issue:`5558`,  :issue:`5333`)

* Enums could not refer to previously defined enums in their definition.
(Github issue :issue:`5602`)

* The Python conversion code for anonymous C enums conflicted with regular int conversion.
(Github issue :issue:`5623`)

* Using memory views for property methods (and other special methods) could lead to
refcounting problems.
(Github issue :issue:`5571`)

* Star-imports could generate code that tried to assign to constant C macros like
``PY_SSIZE_T_MAX`` and ``PY_SSIZE_T_MIN``.
Patch by Philipp Wagner.  (Github issue :issue:`5562`)

* ``CYTHON_USE_TYPE_SPECS`` can now be (explicitly) enabled in PyPy.

* The template parameter "delimeters" in the Tempita ``Template`` class was corrected
to "delimiters".  The old spelling is still available in the main template API but
now issues a ``DeprecationWarning``.
(Github issue :issue:`5608`)

* The ``cython --version`` output is now  less likely to reach both stdout and stderr.
Patch by Eli Schwartz.  (Github issue :issue:`5504`)

* The sdist was missing the `Shadow.pyi` stub file.

3.0.0

==========================

Features added
--------------

* Cython functions now use the `PEP-590`_ vectorcall protocol in Py3.7+.
Patch by Jeroen Demeyer.  (Github issue :issue:`2263`)

* Unicode identifiers are supported in Cython code (`PEP-3131`_).
Patch by David Woods.  (Github issue :issue:`2601`)

* Unicode module names and imports are supported.
Patch by David Woods.  (Github issue :issue:`3119`)

* Annotations are no longer parsed, keeping them as strings following `PEP-563`_.
Patch by David Woods.  (Github issue :issue:`3285`)

* Preliminary support for the CPython's ``Py_LIMITED_API`` (stable ABI) is
available by setting the  ``CYTHON_LIMITED_API`` C macro.  Note that the
support is currently in an early stage and many features do not yet work.
You currently still have to define ``Py_LIMITED_API`` externally in order
to restrict the API usage.  This will change when the feature stabilises.
Patches by Eddie Elizondo and David Woods.  (Github issues :issue:`3223`,
:issue:`3311`, :issue:`3501`)

* The dispatch to fused functions is now linear in the number of arguments,
which makes it much faster, often 2x or more, and several times faster for
larger fused types with many specialisations.
Patch by will-ca.  (Github issue :issue:`1385`)

* ``with gil/nogil`` statements can be conditional based on compile-time
constants, e.g. fused type checks.
Patch by Noam Hershtig.  (Github issue :issue:`2579`)

* ``const`` can be used together with fused types.
Patch by Thomas Vincent.  (Github issue :issue:`1772`)

* Reimports of already imported modules are substantially faster.
(Github issue :issue:`2854`)

* Positional-only arguments are supported in Python functions (`PEP-570`_).
Patch by Josh Tobin.  (Github issue :issue:`2915`)

* The ``volatile`` C modifier is supported in Cython code.
Patch by Jeroen Demeyer.  (Github issue :issue:`1667`)

* ``cython.trashcan(True)`` can be used on an extension type to enable the
CPython :ref:`trashcan`. This allows deallocating deeply recursive objects
without overflowing the stack. Patch by Jeroen Demeyer.  (Github issue :issue:`2842`)

* Inlined properties can be defined for external extension types.
Patch by Matti Picus. (Github issue :issue:`2640`, redone later in :issue:`3571`)

* The ``str()`` builtin now calls ``PyObject_Str()`` instead of going
through a Python call.
Patch by William Ayd.  (Github issue :issue:`3279`)

* String concatenation can now happen in place if possible, by extending the
existing string rather than always creating a new one.
Patch by David Woods.  (Github issue :issue:`3453`)

* Multiplication of Python numbers with small constant integers is faster.
(Github issue :issue:`2808`)

* Some list copying is avoided internally when a new list needs to be created
but we already have a fresh one.
(Github issue :issue:`3494`)

* Extension types that do not need their own ``tp_new`` implementation (because
they have no object attributes etc.) directly inherit the implementation of
their parent type if possible.
(Github issue :issue:`1555`)

* The attributes ``gen.gi_frame`` and ``coro.cr_frame`` of Cython compiled
generators and coroutines now return an actual frame object for introspection.
(Github issue :issue:`2306`)

* Several declarations in ``cpython.*``, ``libc.*`` and ``libcpp.*`` were added.
Patches by Jeroen Demeyer, Matthew Edwards, Chris Gyurgyik, Jerome Kieffer
and Zackery Spytz.
(Github issues :issue:`3468`, :issue:`3332`, :issue:`3202`, :issue:`3188`,
:issue:`3179`, :issue:`2891`, :issue:`2826`, :issue:`2713`)

* Deprecated NumPy API usages were removed from ``numpy.pxd``.
Patch by Matti Picus.  (Github issue :issue:`3365`)

* ``cython.inline()`` now sets the ``NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION``
C macro automatically when ``numpy`` is imported in the code, to avoid C compiler
warnings about deprecated NumPy C-API usage.

* The builtin ``abs()`` function can now be used on C numbers in nogil code.
Patch by Elliott Sales de Andrade.  (Github issue :issue:`2748`)

* `PEP-479`_ (``generator_stop``) is now enabled by default with language level 3.
(Github issue :issue:`2580`)

* The ``cython.view.array`` type supports inheritance.
Patch by David Woods.  (Github issue :issue:`3413`)

* Code annotation accepts a new debugging argument ``--annotate-fullc`` that
will include the complete syntax highlighted C file in the HTML output.
(Github issue :issue:`2855`)

* ``--no-capture`` added to ``runtests.py`` to prevent stdout/stderr capturing
during srctree tests.
Patch by Matti Picus.  (Github issue :issue:`2701`)

* ``--no-docstrings`` option added to ``cythonize`` script.
Original patch by mo-han.  (Github issue :issue:`2889`)

* ``cygdb`` gives better error messages when it fails to initialise the
Python runtime support in gdb.
Patch by Volker Weissmann.  (Github issue :issue:`3489`)

* The Pythran ``shape`` attribute is supported.
Patch by Serge Guelton.  (Github issue :issue:`3307`)

Bugs fixed
----------

* The unicode methods ``.upper()``, ``.lower()`` and ``.title()`` were
incorrectly optimised for single character input values and only returned
the first character if multiple characters should have been returned.
They now use the original Python methods again.

* Fused argument types were not correctly handled in type annotations and
``cython.locals()``.
Patch by David Woods.  (Github issues :issue:`3391`, :issue:`3142`)

* Diverging from the usual behaviour, ``len(memoryview)``, ``len(char*)``
and ``len(Py_UNICODE*)`` returned an unsigned ``size_t`` value.  They now
return a signed ``Py_ssize_t``, like other usages of ``len()``.

* Nested dict literals in function call kwargs could incorrectly raise an
error about duplicate keyword arguments, which are allowed when passing
them from dict literals.
(Github issue :issue:`2963`)

* Item access (subscripting) with integer indices/keys always tried the
Sequence protocol before the Mapping protocol, which diverged from Python
semantics.  It now passes through the Mapping protocol first when supported.
(Github issue :issue:`1807`)

* Name lookups in class bodies no longer go through an attribute lookup.
Patch by Jeroen Demeyer.  (Github issue :issue:`3100`)

* Broadcast assignments to a multi-dimensional memory view slice could end
up in the wrong places when the underlying memory view is known to be
contiguous but the slice is not.
(Github issue :issue:`2941`)

* Pickling unbound methods of Python classes failed.
Patch by Pierre Glaser.  (Github issue :issue:`2972`)

* The ``Py_hash_t`` type failed to accept arbitrary "index" values.
(Github issue :issue:`2752`)

* The first function line number of functions with decorators pointed to the
signature line and not the first decorator line, as in Python.
Patch by Felix Kohlgrüber.  (Github issue :issue:`2536`)

* Constant integer expressions that used a negative exponent were evaluated
as integer 0 instead of the expected float value.
Patch by Kryštof Pilnáček.  (Github issue :issue:`2133`)

* The ``cython.declare()`` and ``cython.cast()`` functions could fail in pure mode.
Patch by Dmitry Shesterkin.  (Github issue :issue:`3244`)

* ``__doc__`` was not available inside of the class body during class creation.
(Github issue :issue:`1635`)

* Setting ``language_level=2`` in a file did not work if ``language_level=3``
was enabled globally before.
Patch by Jeroen Demeyer.  (Github issue :issue:`2791`)

* ``__init__.pyx`` files were not always considered as package indicators.
(Github issue :issue:`2665`)

* Compiling package ``__init__`` files could fail under Windows due to an
undefined export symbol.  (Github issue :issue:`2968`)

* A C compiler cast warning was resolved.
Patch by Michael Buesch.  (Github issue :issue:`2775`)

* Binding staticmethods of Cython functions were not behaving like Python methods.
Patch by Jeroen Demeyer.  (Github issue :issue:`3106`, :issue:`3102`)

* Memoryviews failed to compile when the ``cache_builtins`` feature was disabled.
Patch by David Woods.  (Github issue :issue:`3406`)

Other changes
-------------

* The default language level was changed to ``3str``, i.e. Python 3 semantics,
but with ``str`` literals (also in Python 2.7).  This is a backwards incompatible
change from the previous default of Python 2 semantics.  The previous behaviour
is available through the directive ``language_level=2``.
(Github issue :issue:`2565`)

* Cython no longer generates ``__qualname__`` attributes for classes in Python
2.x since they are problematic there and not correctly maintained for subclasses.
Patch by Jeroen Demeyer.  (Github issue :issue:`2772`)

* Source file fingerprinting now uses SHA-1 instead of MD5 since the latter
tends to be slower and less widely supported these days.
(Github issue :issue:`2790`)

* The long deprecated include files ``python_*``, ``stdio``, ``stdlib`` and
``stl`` in ``Cython/Includes/Deprecated/`` were removed.  Use the ``libc.*``
and ``cpython.*`` pxd modules instead.
Patch by Jeroen Demeyer.  (Github issue :issue:`2904`)

* The search order for include files was changed. Previously it was
``include_directories``, ``Cython/Includes``, ``sys.path``. Now it is
``include_directories``, ``sys.path``, ``Cython/Includes``. This was done to
allow third-party ``*.pxd`` files to override the ones in Cython.
Patch by Matti Picus.  (Github issue :issue:`2905`)

* The command line parser was rewritten and modernised using ``argparse``.
Patch by Egor Dranischnikow.  (Github issue :issue:`2952`, :issue:`3001`)

* Dotted filenames for qualified module names (``pkg.mod.pyx``) are deprecated.
Use the normal Python package directory layout instead.
(Github issue :issue:`2686`)

* Binary Linux wheels now follow the manylinux2010 standard.
Patch by Alexey Stepanov.  (Github issue :issue:`3355`)

* Support for Python 2.6 was removed.

.. _`PEP-560`: https://www.python.org/dev/peps/pep-0560
.. _`PEP-570`: https://www.python.org/dev/peps/pep-0570
.. _`PEP-487`: https://www.python.org/dev/peps/pep-0487
.. _`PEP-590`: https://www.python.org/dev/peps/pep-0590
.. _`PEP-3131`: https://www.python.org/dev/peps/pep-3131
.. _`PEP-563`: https://www.python.org/dev/peps/pep-0563
.. _`PEP-479`: https://www.python.org/dev/peps/pep-0479

0.29.37

====================

Bugs fixed
----------

* Fix a potential crash while cleaning up subtypes of externally imported extension
types when terminating Python.  This was introduced in Cython 0.29.35.

* Fix a ``complex`` related compile error on Windows.
(Github issue :issue:`5512`)

* Compiling fused types used in pxd files could crash Cython in Python 3.11+.
(Github issues :issue:`5894`, :issue:`5588`)

* ``cythonize`` failed to consider the ``CYTHON_FORCE_REGEN`` env variable.
Patch by Harmen Stoppels.  (Github issue :issue:`5712`)

0.29.36

====================

Bugs fixed
----------

* Async generators lost their return value in PyPy.
(Github issue :issue:`5465`)

* The outdated C macro ``_PyGC_FINALIZED()`` is no longer used in Py3.9+.

* The deprecated ``Py_OptimizeFlag`` is no longer used in Python 3.9+.
(Github issue :issue:`5343`)

* Using the global ``__debug__`` variable but not assertions could lead to compile errors.

* The broken HTML template support was removed from Tempita.
(Github issue :issue:`3309`)

0.29.35

====================

Bugs fixed
----------

* A garbage collection enabled subtype of a non-GC extension type could call into the
deallocation function of the super type with GC tracking enabled.  This could lead
to crashes during deallocation if GC was triggered on the type at the same time.
(Github issue :issue:`5432`)

* Some C compile failures and crashes in CPython 3.12 were resolved.

* ``except + nogil`` was syntactically not allowed.
``except +nogil`` (i.e. defining a C++ exception handling function called ``nogil``)
is now disallowed to prevent typos.
(Github issue :issue:`5430`)

* A C compile failure in PyPy 3.10 was resolved.
Patch by Matti Picus.  (Github issue :issue:`5408`)

* Cython modules now use PEP-489 multi-phase init by default in PyPy 3.9 and later.
Original patch by Matti Picus.  (Github issue :issue:`5413`)

* API header files generated by different Cython versions can now be included in the
same C file.
(Github issue :issue:`5383`)

* Function signatures containing a type like `tuple[()]` could not be printed.
Patch by Lisandro Dalcin.  (Github issue :issue:`5355`)

0.29.34

====================

Bugs fixed
----------

* A reference leak of the for-loop list/tuple iterable was resolved if the for-loop's
``else:`` branch executes a ``break`` for an outer loop.
(Github issue :issue:`5347`)

* Some C compile failures in CPython 3.12 were resolved.

* Some old usages of the deprecated Python ``imp`` module were replaced with ``importlib``.
Patch by Matúš Valo.  (Github issue :issue:`5300`)

* Some issues with ``depfile`` generation were resolved.
Patches by Eli Schwartz.  (Github issues :issue:`5279`, :issue:`5291`)

0.29.33

====================

Features added
--------------

* The ``cythonize`` and ``cython`` commands have a new option ``-M`` / ``--depfile``
to generate ``.dep`` dependency files for the compilation unit.  This can be used
by external build tools to track these dependencies.
The ``cythonize`` option was already available in Cython :ref:`0.29.27`.
Patches by Evgeni Burovski and Eli Schwartz.  (Github issue :issue:`1214`)

Bugs fixed
----------

* ``const`` fused types could not be used with memory views.
Patch by Thomas Vincent.  (Github issue :issue:`1772`)

* ``wstr`` usage was removed in Python 3.12 and later (PEP-623).
(Github issue :issue:`5145`)

* A type check assertion for Cython functions failed in debug Python builds.
(Github issue :issue:`5031`)

* Fixed various compiler warnings.
Patches by Lisandro Dalcin et al.  (Github issues :issue:`4948`, :issue:`5086`)

* Fixed error when calculating complex powers of negative numbers.
(Github issue :issue:`5014`)

* Corrected a small mis-formatting of exception messages on Python 2.
(Github issue :issue:`5018`)

* The ``PyUnicode_AsUTF8AndSize()`` C-API function was missing from the CPython declarations.
(Github issue :issue:`5163`)

* A performance problem in the compiler was resolved when nesting conditional expressions.
(Github issue :issue:`5197`)

* Test suite problems with recent NumPy and CPython versions were resolved.
(Github issues :issue:`5183`, :issue:`5190`)

Other changes
-------------

* The undocumented, untested and apparently useless syntax
``from somemodule cimport class/struct/union somename`` was deprecated
in anticipation of its removal in Cython 3.  The type
modifier is not needed here and a plain ``cimport`` of the name will do.
(Github issue :issue:`4905`)

* Properly disable generation of descriptor docstrings on PyPy since they cause crashes.
It was previously disabled, but only accidentally via a typo.
Patch by Matti Picus.  (Github issue :issue:`5083`)

* The ``cpow`` directive of Cython 3.0 is available as a no-op.
(Github issue :issue:`5016`)

0.29.32

====================

Bugs fixed
----------

* Revert "Using memoryview typed arguments in inner functions is now rejected as unsupported."
Patch by David Woods.  (Github issue :issue:`4798`)

* ``from module import *`` failed in 0.29.31 when using memoryviews.
Patch by David Woods.  (Github issue :issue:`4927`)

0.29.31

====================

Features added
--------------

* A new argument ``--module-name`` was added to the ``cython`` command to
provide the (one) exact target module name from the command line.
Patch by Matthew Brett and h-vetinari.  (Github issue :issue:`4906`)

* A new keyword ``noexcept`` was added for forward compatibility with Cython 3.
Patch by David Woods.  (Github issue :issue:`4903`)

Bugs fixed
----------

* Use ``importlib.util.find_spec()`` instead of the deprecated ``importlib.find_loader()``
function when setting up the package path at import-time.
Patch by Matti Picus.  (Github issue :issue:`4764`)

* Require the C compiler to support the two-arg form of ``va_start``
on Python 3.10 and higher.
Patch by Thomas Caswell.  (Github issue :issue:`4820`)

* Make ``fused_type`` subscriptable in Shadow.py.
Patch by Pfebrer.  (Github issue :issue:`4842`)

* Fix the incorrect code generation of the target type in ``bytearray`` loops.
Patch by Kenrick Everett.  (Github issue :issue:`4108`)

* Atomic refcounts for memoryviews were not used on some GCC versions by accident.
Patch by Sam Gross.  (Github issue :issue:`4915`)

* Silence some GCC ``-Wconversion`` warnings in C utility code.
Patch by Lisandro Dalcin.  (Github issue :issue:`4854`)

* Tuple multiplication was ignored in expressions such as ``[*(1,) * 2]``.
Patch by David Woods.  (Github issue :issue:`4864`)

* Calling ``append`` methods on extension types could fail to find the method
in some cases.
Patch by David Woods.  (Github issue :issue:`4828`)

* Ensure that object buffers (e.g. ``ndarray[object, ndim=1]``) containing
``NULL``  pointers are safe to use, returning ``None`` instead of the ``NULL``
pointer.
Patch by Sebastian Berg.  (Github issue :issue:`4859`)

* Using memoryview typed arguments in inner functions is now rejected as unsupported.
Patch by David Woods.  (Github issue :issue:`4798`)

* Compilation could fail on systems (e.g. FIPS) that block MD5 checksums at runtime.
(Github issue :issue:`4909`)

* Experimental adaptations for the CPython "nogil" fork was added.
Note that there is no official support for this in Cython 0.x.
Patch by Sam Gross.  (Github issue :issue:`4912`)

0.29.30

====================

Bugs fixed
----------

* The GIL handling changes in 0.29.29 introduced a regression where
objects could be deallocated without holding the GIL.
(Github issue :issue:`4796`)

0.29.29

====================

Features added
--------------

* Avoid acquiring the GIL at the end of nogil functions.
This change was backported in order to avoid generating wrong C code
that would trigger C compiler warnings with tracing support enabled.
Backport by Oleksandr Pavlyk.  (Github issue :issue:`4637`)

Bugs fixed
----------

* Function definitions in ``finally:`` clauses were not correctly generated.
Patch by David Woods.  (Github issue :issue:`4651`)

* A case where C-API functions could be called with a live exception set was fixed.
Patch by Jakub Kulík.  (Github issue :issue:`4722`)

* Pickles can now be exchanged again with those generated from Cython 3.0 modules.
(Github issue :issue:`4680`)

* Cython now correctly generates Python methods for both the provided regular and
reversed special numeric methods of extension types.
Patch by David Woods.  (Github issue :issue:`4750`)

* Calling unbound extension type methods without arguments could raise an
``IndexError`` instead of a ``TypeError``.
Patch by David Woods.  (Github issue :issue:`4779`)

* Calling unbound ``.__contains__()`` super class methods on some builtin base
types could trigger an infinite recursion.
Patch by David Woods.  (Github issue :issue:`4785`)

* The C union type in pure Python mode mishandled some field names.
Patch by Jordan Brière.  (Github issue :issue:`4727`)

* Allow users to overwrite the C macro ``_USE_MATH_DEFINES``.
Patch by Yuriy Chernyshov. (Github issue :issue:`4690`)

* Improved compatibility with CPython 3.10/11.
Patches by Thomas Caswell, David Woods.
(Github issues :issue:`4609`, :issue:`4667`, :issue:`4721`, :issue:`4730`, :issue:`4777`)

* Docstrings of descriptors are now provided in PyPy 7.3.9.
Patch by Matti Picus.  (Github issue :issue:`4701`)

0.29.28

====================

Bugs fixed
----------

* Due to backwards incompatible changes in CPython 3.11a4, the feature flags
``CYTHON_FAST_THREAD_STATE`` and ``CYTHON_USE_EXC_INFO_STACK`` are now disabled
in Python 3.11 and later.  They are enabled again in Cython 3.0.
Patch by David Woods.  (Github issue :issue:`4610`)

* A C compiler warning in older PyPy versions was resolved.
Patch by Matti Picus.  (Github issue :issue:`4236`)

0.29.27

====================

Features added
--------------

* The ``cythonize`` command has a new option ``-M`` to generate ``.dep`` dependency
files for the compilation unit.  This can be used by external build tools to track
these dependencies.
Patch by Evgeni Burovski.  (Github issue :issue:`1214`)

Bugs fixed
----------

* Compilation failures on PyPy were resolved.
Patches by Matti Picus.  (Github issues :issue:`4509`, :issue:`4517`)

* Calls to ``range()`` with more than three arguments did not fail.
Original patch by Max Bachmann.  (Github issue :issue:`4550`)

* Some C compiler warnings about missing type struct initialisers in Py3.10 were resolved.

* Cython no longer warns about using OpenMP 3.0 features since they are now
considered generally available.

0.29.26

====================

Bugs fixed
----------

* An incompatibility with CPython 3.11.0a3 was resolved.
(Github issue :issue:`4499`)

* The ``in`` operator failed on literal lists with starred expressions.
Patch by Arvind Natarajan.  (Github issue :issue:`3938`)

* A C compiler warning in PyPy about a missing struct field initialisation was resolved.

0.29.25

====================

Bugs fixed
----------

* Several incompatibilities with CPython 3.11 were resolved.
Patches by David Woods, Victor Stinner, Thomas Caswell.
(Github issues :issue:`4411`, :issue:`4414`, :issue:`4415`, :issue:`4416`, :issue:`4420`,
:issue:`4428`, :issue:`4473`, :issue:`4479`, :issue:`4480`)

* Some C compiler warnings were resolved.
Patches by Lisandro Dalcin and others.  (Github issue :issue:`4439`)

* C++ ``std::move()`` should only be used automatically in MSVC versions that support it.
Patch by Max Bachmann.  (Github issue :issue:`4191`)

* The ``Py_hash_t`` type failed to accept arbitrary "index" values.
(Github issue :issue:`2752`)

* Avoid copying unaligned 16-bit values since some platforms require them to be aligned.
Use memcpy() instead to let the C compiler decide how to do it.
(Github issue :issue:`4343`)

* Cython crashed on invalid truthiness tests on C++ types without ``operator bool``.
Patch by David Woods.  (Github issue :issue:`4348`)

* The declaration of ``PyUnicode_CompareWithASCIIString()`` in ``cpython.unicode`` was incorrect.
Patch by Max Bachmann.  (Github issue :issue:`4344`)

0.29.24

====================

Bugs fixed
----------

* Inline functions in pxd files that used memory views could lead to invalid
C code if the module that imported from them does not use memory views.
Patch by David Woods.  (Github issue :issue:`1415`)

* Several declarations in ``libcpp.string`` were added and corrected.
Patch by Janek Bevendorff.  (Github issue :issue:`4268`)

* Pickling unbound Cython compiled methods failed.
Patch by Pierre Glaser.  (Github issue :issue:`2972`)

* The tracing code was adapted to work with CPython 3.10.

* The optimised ``in`` operator failed on unicode strings in Py3.9 and later
that were constructed from an external ``wchar_t`` source.
Also, related C compiler warnings about deprecated C-API usage were resolved.
(Github issue :issue:`3925`)

* Some compiler crashes were resolved.
Patch by David Woods.  (Github issues :issue:`4214`, :issue:`2811`)

* An incorrect warning about 'unused' generator expressions was removed.
(GIthub issue :issue:`1699`)

* The attributes ``gen.gi_frame`` and ``coro.cr_frame`` of Cython compiled
generators and coroutines now return an actual frame object for introspection,
instead of ``None``.
(Github issue :issue:`2306`)
Links

Update numpy from 1.21.0 to 2.2.4.

Changelog

2.2.4

release. There are a large number of typing improvements, the rest of
the changes are the usual mix of bugfixes and platform maintenace.

This release supports Python versions 3.10-3.13.

Contributors

A total of 15 people contributed to this release. People with a \"+\" by
their names contributed a patch for the first time.

-   Abhishek Kumar
-   Andrej Zhilenkov
-   Andrew Nelson
-   Charles Harris
-   Giovanni Del Monte
-   Guan Ming(Wesley) Chiu +
-   Jonathan Albrecht +
-   Joren Hammudoglu
-   Mark Harfouche
-   Matthieu Darbois
-   Nathan Goldbaum
-   Pieter Eendebak
-   Sebastian Berg
-   Tyler Reddy
-   lvllvl +

Pull requests merged

A total of 17 pull requests were merged for this release.

-   [28333](https://github.com/numpy/numpy/pull/28333): MAINT: Prepare 2.2.x for further development.
-   [28348](https://github.com/numpy/numpy/pull/28348): TYP: fix positional- and keyword-only params in astype, cross\...
-   [28377](https://github.com/numpy/numpy/pull/28377): MAINT: Update FreeBSD version and fix test failure
-   [28379](https://github.com/numpy/numpy/pull/28379): BUG: numpy.loadtxt reads only 50000 lines when skip_rows \>= max_rows
-   [28385](https://github.com/numpy/numpy/pull/28385): BUG: Make np.nonzero threading safe
-   [28420](https://github.com/numpy/numpy/pull/28420): BUG: safer bincount casting (backport to 2.2.x)
-   [28422](https://github.com/numpy/numpy/pull/28422): BUG: Fix building on s390x with clang
-   [28423](https://github.com/numpy/numpy/pull/28423): CI: use QEMU 9.2.2 for Linux Qemu tests
-   [28424](https://github.com/numpy/numpy/pull/28424): BUG: skip legacy dtype multithreaded test on 32 bit runners
-   [28435](https://github.com/numpy/numpy/pull/28435): BUG: Fix searchsorted and CheckFromAny byte-swapping logic
-   [28449](https://github.com/numpy/numpy/pull/28449): BUG: sanity check `__array_interface__` number of dimensions
-   [28510](https://github.com/numpy/numpy/pull/28510): MAINT: Hide decorator from pytest traceback
-   [28512](https://github.com/numpy/numpy/pull/28512): TYP: Typing fixes backported from #28452, 28491, 28494
-   [28521](https://github.com/numpy/numpy/pull/28521): TYP: Backport fixes from #28505, 28506, 28508, and 28511
-   [28533](https://github.com/numpy/numpy/pull/28533): TYP: Backport typing fixes from main (2)
-   [28534](https://github.com/numpy/numpy/pull/28534): TYP: Backport typing fixes from main (3)
-   [28542](https://github.com/numpy/numpy/pull/28542): TYP: Backport typing fixes from main (4)

Checksums

MD5

 935928cbd2de140da097f6d5f4a01d72  numpy-2.2.4-cp310-cp310-macosx_10_9_x86_64.whl
 bf7fd01bb177885e920173b610c195d9  numpy-2.2.4-cp310-cp310-macosx_11_0_arm64.whl
 826e52cd898567a0c446113ab7a7b362  numpy-2.2.4-cp310-cp310-macosx_14_0_arm64.whl
 9982a91d7327aea541c24aff94d3e462  numpy-2.2.4-cp310-cp310-macosx_14_0_x86_64.whl
 5bdf5b63f4ee01fa808d13043b2a2275  numpy-2.2.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 677b3031105e24eaee2e0e57d7c2a306  numpy-2.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 d857867787fe1eb236670e7fdb25f414  numpy-2.2.4-cp310-cp310-musllinux_1_2_aarch64.whl
 a5aff3a7eb2923878e67fbe1cd04a9e9  numpy-2.2.4-cp310-cp310-musllinux_1_2_x86_64.whl
 e00bd3ac85d8f34b46b7f97a8278aeb3  numpy-2.2.4-cp310-cp310-win32.whl
 e5cb2a5d14bccee316bb73173be125ec  numpy-2.2.4-cp310-cp310-win_amd64.whl
 494f60d8e1c3500413bd093bb3f486ea  numpy-2.2.4-cp311-cp311-macosx_10_9_x86_64.whl
 a886a9f3e80a60ce6ba95b431578bbca  numpy-2.2.4-cp311-cp311-macosx_11_0_arm64.whl
 889f3b507bab9272d9b549780840a642  numpy-2.2.4-cp311-cp311-macosx_14_0_arm64.whl
 059788668d2c4e9aace4858e77c099ed  numpy-2.2.4-cp311-cp311-macosx_14_0_x86_64.whl
 db9ae978afb76a4bf79df0657a66aaeb  numpy-2.2.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 e36963a4c177157dc7b0775c309fa5a8  numpy-2.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 3603e683878b74f38e5617f04ff6a369  numpy-2.2.4-cp311-cp311-musllinux_1_2_aarch64.whl
 afbc410fb9b42b19f4f7c81c21d6777f  numpy-2.2.4-cp311-cp311-musllinux_1_2_x86_64.whl
 33ff8081378188894097942f80c33e26  numpy-2.2.4-cp311-cp311-win32.whl
 5b11fe8d26318d85e0bc577a654f6643  numpy-2.2.4-cp311-cp311-win_amd64.whl
 91121787f396d3e98210de8b617e5d48  numpy-2.2.4-cp312-cp312-macosx_10_13_x86_64.whl
 c524d1020b4652aacf4477d1628fa1ba  numpy-2.2.4-cp312-cp312-macosx_11_0_arm64.whl
 eb08f551bdd6772155bb39ac0da47479  numpy-2.2.4-cp312-cp312-macosx_14_0_arm64.whl
 7cb37fc9145d0ebbea5666b4f9ed1027  numpy-2.2.4-cp312-cp312-macosx_14_0_x86_64.whl
 c4452a5dc557c291904b5c51a4148237  numpy-2.2.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 bd23a12ead870759f264160ab38b2c9d  numpy-2.2.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 07b44109381985b48d1eef80feebc5ad  numpy-2.2.4-cp312-cp312-musllinux_1_2_aarch64.whl
 95f1a27d33106fa9f40ee0714681c840  numpy-2.2.4-cp312-cp312-musllinux_1_2_x86_64.whl
 507e550a55b19dedf267b58a487ba0bc  numpy-2.2.4-cp312-cp312-win32.whl
 be21ccbf8931e92ba1fdb2dc1250bf2a  numpy-2.2.4-cp312-cp312-win_amd64.whl
 e94003c2b65d81b00203711c5c42fb8e  numpy-2.2.4-cp313-cp313-macosx_10_13_x86_64.whl
 cf781fd5412ffd826e0436883452cc17  numpy-2.2.4-cp313-cp313-macosx_11_0_arm64.whl
 92c9a30386a64f2deddad1db742bd296  numpy-2.2.4-cp313-cp313-macosx_14_0_arm64.whl
 7fd16554fa0a15b7f99b1fabf1c4592c  numpy-2.2.4-cp313-cp313-macosx_14_0_x86_64.whl
 9293b0575a902b2d55c35567dee7679e  numpy-2.2.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 9970699bd95e8a64a562b1e6328b83d0  numpy-2.2.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 e8597c611a919a8e88229d6889c1f86e  numpy-2.2.4-cp313-cp313-musllinux_1_2_aarch64.whl
 329288501f012606605bdbed368e58e9  numpy-2.2.4-cp313-cp313-musllinux_1_2_x86_64.whl
 04bf8d0f6a9e279ab01df4ed0b4aeee1  numpy-2.2.4-cp313-cp313-win32.whl
 66801fe84a436b7ed3be6e0082b86917  numpy-2.2.4-cp313-cp313-win_amd64.whl
 3e2f31e01b45cd16a87b794477de3714  numpy-2.2.4-cp313-cp313t-macosx_10_13_x86_64.whl
 7504018213a3a8fea7173e2c1d0fcfd1  numpy-2.2.4-cp313-cp313t-macosx_11_0_arm64.whl
 e299021397c3cdb941b7ffe77cf0fefe  numpy-2.2.4-cp313-cp313t-macosx_14_0_arm64.whl
 1cc2731a246079bcab361179f38e7ccb  numpy-2.2.4-cp313-cp313t-macosx_14_0_x86_64.whl
 e6eccf936d25c9eda9df1a4d50ae2fdc  numpy-2.2.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 ba825efd05cca6d56c3dca9f7f1f88e7  numpy-2.2.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 369eebec47c9c27cb4841a13e9522167  numpy-2.2.4-cp313-cp313t-musllinux_1_2_aarch64.whl
 554dbfa52988d01f715cbe8d4da4b409  numpy-2.2.4-cp313-cp313t-musllinux_1_2_x86_64.whl
 811d25a008c68086c9382487e9a4127a  numpy-2.2.4-cp313-cp313t-win32.whl
 893fd2fdd42f386e300bee885bbb7778  numpy-2.2.4-cp313-cp313t-win_amd64.whl
 65e284546c5ee575eca0a3726c0a1d98  numpy-2.2.4-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
 e4e73511eac8f1a10c6abbd6fa2fa0aa  numpy-2.2.4-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
 a884ed5263b91fa87b5e3d14caf955a5  numpy-2.2.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 7330087a6ad1527ae20a495e2fb3b357  numpy-2.2.4-pp310-pypy310_pp73-win_amd64.whl
 56232f4a69b03dd7a87a55fffc5f2ebc  numpy-2.2.4.tar.gz

SHA256

 8146f3550d627252269ac42ae660281d673eb6f8b32f113538e0cc2a9aed42b9  numpy-2.2.4-cp310-cp310-macosx_10_9_x86_64.whl
 e642d86b8f956098b564a45e6f6ce68a22c2c97a04f5acd3f221f57b8cb850ae  numpy-2.2.4-cp310-cp310-macosx_11_0_arm64.whl
 a84eda42bd12edc36eb5b53bbcc9b406820d3353f1994b6cfe453a33ff101775  numpy-2.2.4-cp310-cp310-macosx_14_0_arm64.whl
 4ba5054787e89c59c593a4169830ab362ac2bee8a969249dc56e5d7d20ff8df9  numpy-2.2.4-cp310-cp310-macosx_14_0_x86_64.whl
 7716e4a9b7af82c06a2543c53ca476fa0b57e4d760481273e09da04b74ee6ee2  numpy-2.2.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 adf8c1d66f432ce577d0197dceaac2ac00c0759f573f28516246351c58a85020  numpy-2.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 218f061d2faa73621fa23d6359442b0fc658d5b9a70801373625d958259eaca3  numpy-2.2.4-cp310-cp310-musllinux_1_2_aarch64.whl
 df2f57871a96bbc1b69733cd4c51dc33bea66146b8c63cacbfed73eec0883017  numpy-2.2.4-cp310-cp310-musllinux_1_2_x86_64.whl
 a0258ad1f44f138b791327961caedffbf9612bfa504ab9597157806faa95194a  numpy-2.2.4-cp310-cp310-win32.whl
 0d54974f9cf14acf49c60f0f7f4084b6579d24d439453d5fc5805d46a165b542  numpy-2.2.4-cp310-cp310-win_amd64.whl
 e9e0a277bb2eb5d8a7407e14688b85fd8ad628ee4e0c7930415687b6564207a4  numpy-2.2.4-cp311-cp311-macosx_10_9_x86_64.whl
 9eeea959168ea555e556b8188da5fa7831e21d91ce031e95ce23747b7609f8a4  numpy-2.2.4-cp311-cp311-macosx_11_0_arm64.whl
 bd3ad3b0a40e713fc68f99ecfd07124195333f1e689387c180813f0e94309d6f  numpy-2.2.4-cp311-cp311-macosx_14_0_arm64.whl
 cf28633d64294969c019c6df4ff37f5698e8326db68cc2b66576a51fad634880  numpy-2.2.4-cp311-cp311-macosx_14_0_x86_64.whl
 2fa8fa7697ad1646b5c93de1719965844e004fcad23c91228aca1cf0800044a1  numpy-2.2.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 f4162988a360a29af158aeb4a2f4f09ffed6a969c9776f8f3bdee9b06a8ab7e5  numpy-2.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 892c10d6a73e0f14935c31229e03325a7b3093fafd6ce0af704be7f894d95687  numpy-2.2.4-cp311-cp311-musllinux_1_2_aarch64.whl
 db1f1c22173ac1c58db249ae48aa7ead29f534b9a948bc56828337aa84a32ed6  numpy-2.2.4-cp311-cp311-musllinux_1_2_x86_64.whl
 ea2bb7e2ae9e37d96835b3576a4fa4b3a97592fbea8ef7c3587078b0068b8f09  numpy-2.2.4-cp311-cp311-win32.whl
 f7de08cbe5551911886d1ab60de58448c6df0f67d9feb7d1fb21e9875ef95e91  numpy-2.2.4-cp311-cp311-win_amd64.whl
 a7b9084668aa0f64e64bd00d27ba5146ef1c3a8835f3bd912e7a9e01326804c4  numpy-2.2.4-cp312-cp312-macosx_10_13_x86_64.whl
 dbe512c511956b893d2dacd007d955a3f03d555ae05cfa3ff1c1ff6df8851854  numpy-2.2.4-cp312-cp312-macosx_11_0_arm64.whl
 bb649f8b207ab07caebba230d851b579a3c8711a851d29efe15008e31bb4de24  numpy-2.2.4-cp312-cp312-macosx_14_0_arm64.whl
 f34dc300df798742b3d06515aa2a0aee20941c13579d7a2f2e10af01ae4901ee  numpy-2.2.4-cp312-cp312-macosx_14_0_x86_64.whl
 c3f7ac96b16955634e223b579a3e5798df59007ca43e8d451a0e6a50f6bfdfba  numpy-2.2.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 4f92084defa704deadd4e0a5ab1dc52d8ac9e8a8ef617f3fbb853e79b0ea3592  numpy-2.2.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 7a4e84a6283b36632e2a5b56e121961f6542ab886bc9e12f8f9818b3c266bfbb  numpy-2.2.4-cp312-cp312-musllinux_1_2_aarch64.whl
 11c43995255eb4127115956495f43e9343736edb7fcdb0d973defd9de14cd84f  numpy-2.2.4-cp312-cp312-musllinux_1_2_x86_64.whl
 65ef3468b53269eb5fdb3a5c09508c032b793da03251d5f8722b1194f1790c00  numpy-2.2.4-cp312-cp312-win32.whl
 2aad3c17ed2ff455b8eaafe06bcdae0062a1db77cb99f4b9cbb5f4ecb13c5146  numpy-2.2.4-cp312-cp312-win_amd64.whl
 1cf4e5c6a278d620dee9ddeb487dc6a860f9b199eadeecc567f777daace1e9e7  numpy-2.2.4-cp313-cp313-macosx_10_13_x86_64.whl
 1974afec0b479e50438fc3648974268f972e2d908ddb6d7fb634598cdb8260a0  numpy-2.2.4-cp313-cp313-macosx_11_0_arm64.whl
 79bd5f0a02aa16808fcbc79a9a376a147cc1045f7dfe44c6e7d53fa8b8a79392  numpy-2.2.4-cp313-cp313-macosx_14_0_arm64.whl
 3387dd7232804b341165cedcb90694565a6015433ee076c6754775e85d86f1fc  numpy-2.2.4-cp313-cp313-macosx_14_0_x86_64.whl
 6f527d8fdb0286fd2fd97a2a96c6be17ba4232da346931d967a0630050dfd298  numpy-2.2.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 bce43e386c16898b91e162e5baaad90c4b06f9dcbe36282490032cec98dc8ae7  numpy-2.2.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 31504f970f563d99f71a3512d0c01a645b692b12a63630d6aafa0939e52361e6  numpy-2.2.4-cp313-cp313-musllinux_1_2_aarch64.whl
 81413336ef121a6ba746892fad881a83351ee3e1e4011f52e97fba79233611fd  numpy-2.2.4-cp313-cp313-musllinux_1_2_x86_64.whl
 f486038e44caa08dbd97275a9a35a283a8f1d2f0ee60ac260a1790e76660833c  numpy-2.2.4-cp313-cp313-win32.whl
 207a2b8441cc8b6a2a78c9ddc64d00d20c303d79fba08c577752f080c4007ee3  numpy-2.2.4-cp313-cp313-win_amd64.whl
 8120575cb4882318c791f839a4fd66161a6fa46f3f0a5e613071aae35b5dd8f8  numpy-2.2.4-cp313-cp313t-macosx_10_13_x86_64.whl
 a761ba0fa886a7bb33c6c8f6f20213735cb19642c580a931c625ee377ee8bd39  numpy-2.2.4-cp313-cp313t-macosx_11_0_arm64.whl
 ac0280f1ba4a4bfff363a99a6aceed4f8e123f8a9b234c89140f5e894e452ecd  numpy-2.2.4-cp313-cp313t-macosx_14_0_arm64.whl
 879cf3a9a2b53a4672a168c21375166171bc3932b7e21f622201811c43cdd3b0  numpy-2.2.4-cp313-cp313t-macosx_14_0_x86_64.whl
 f05d4198c1bacc9124018109c5fba2f3201dbe7ab6e92ff100494f236209c960  numpy-2.2.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 e2f085ce2e813a50dfd0e01fbfc0c12bbe5d2063d99f8b29da30e544fb6483b8  numpy-2.2.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 92bda934a791c01d6d9d8e038363c50918ef7c40601552a58ac84c9613a665bc  numpy-2.2.4-cp313-cp313t-musllinux_1_2_aarch64.whl
 ee4d528022f4c5ff67332469e10efe06a267e32f4067dc76bb7e2cddf3cd25ff  numpy-2.2.4-cp313-cp313t-musllinux_1_2_x86_64.whl
 05c076d531e9998e7e694c36e8b349969c56eadd2cdcd07242958489d79a7286  numpy-2.2.4-cp313-cp313t-win32.whl
 188dcbca89834cc2e14eb2f106c96d6d46f200fe0200310fc29089657379c58d  numpy-2.2.4-cp313-cp313t-win_amd64.whl
 7051ee569db5fbac144335e0f3b9c2337e0c8d5c9fee015f259a5bd70772b7e8  numpy-2.2.4-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
 ab2939cd5bec30a7430cbdb2287b63151b77cf9624de0532d629c9a1c59b1d5c  numpy-2.2.4-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
 d0f35b19894a9e08639fd60a1ec1978cb7f5f7f1eace62f38dd36be8aecdef4d  numpy-2.2.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 b4adfbbc64014976d2f91084915ca4e626fbf2057fb81af209c1a6d776d23e3d  numpy-2.2.4-pp310-pypy310_pp73-win_amd64.whl
 9ba03692a45d3eef66559efe1d1096c4b9b75c0986b5dff5530c378fb8331d4f  numpy-2.2.4.tar.gz

2.2.3

release. The majority of the changes are typing improvements and fixes
for free threaded Python. Both of those areas are still under
development, so if you discover new problems, please report them.

This release supports Python versions 3.10-3.13.

Contributors

A total of 9 people contributed to this release. People with a \"+\" by
their names contributed a patch for the first time.

-   !amotzop
-   Charles Harris
-   Chris Sidebottom
-   Joren Hammudoglu
-   Matthew Brett
-   Nathan Goldbaum
-   Raghuveer Devulapalli
-   Sebastian Berg
-   Yakov Danishevsky +

Pull requests merged

A total of 21 pull requests were merged for this release.

-   [28185](https://github.com/numpy/numpy/pull/28185): MAINT: Prepare 2.2.x for further development
-   [28201](https://github.com/numpy/numpy/pull/28201): BUG: fix data race in a more minimal way on stable branch
-   [28208](https://github.com/numpy/numpy/pull/28208): BUG: Fix `from_float_positional` errors for huge pads
-   [28209](https://github.com/numpy/numpy/pull/28209): BUG: fix data race in np.repeat
-   [28212](https://github.com/numpy/numpy/pull/28212): MAINT: Use VQSORT_COMPILER_COMPATIBLE to determine if we should\...
-   [28224](https://github.com/numpy/numpy/pull/28224): MAINT: update highway to latest
-   [28236](https://github.com/numpy/numpy/pull/28236): BUG: Add cpp atomic support (#28234)
-   [28237](https://github.com/numpy/numpy/pull/28237): BLD: Compile fix for clang-cl on WoA
-   [28243](https://github.com/numpy/numpy/pull/28243): TYP: Avoid upcasting `float64` in the set-ops
-   [28249](https://github.com/numpy/numpy/pull/28249): BLD: better fix for clang / ARM compiles
-   [28266](https://github.com/numpy/numpy/pull/28266): TYP: Fix `timedelta64.__divmod__` and `timedelta64.__mod__`\...
-   [28274](https://github.com/numpy/numpy/pull/28274): TYP: Fixed missing typing information of set_printoptions
-   [28278](https://github.com/numpy/numpy/pull/28278): BUG: backport resource cleanup bugfix from gh-28273
-   [28282](https://github.com/numpy/numpy/pull/28282): BUG: fix incorrect bytes to stringdtype coercion
-   [28283](https://github.com/numpy/numpy/pull/28283): TYP: Fix scalar constructors
-   [28284](https://github.com/numpy/numpy/pull/28284): TYP: stub `numpy.matlib`
-   [28285](https://github.com/numpy/numpy/pull/28285): TYP: stub the missing `numpy.testing` modules
-   [28286](https://github.com/numpy/numpy/pull/28286): CI: Fix the github label for `TYP:` PR\'s and issues
-   [28305](https://github.com/numpy/numpy/pull/28305): TYP: Backport typing updates from main
-   [28321](https://github.com/numpy/numpy/pull/28321): BUG: fix race initializing legacy dtype casts
-   [28324](https://github.com/numpy/numpy/pull/28324): CI: update test_moderately_small_alpha

Checksums

MD5

 9cd8b5e358f89016f403a6c1a27e7e87  numpy-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl
 2818f5a9efcfc3bb6bf657137df26046  numpy-2.2.3-cp310-cp310-macosx_11_0_arm64.whl
 6d65c6a336cfb69fe4ddd756cad73d55  numpy-2.2.3-cp310-cp310-macosx_14_0_arm64.whl
 7f4cf33c634b33f633d4bf47f560a86d  numpy-2.2.3-cp310-cp310-macosx_14_0_x86_64.whl
 3c04024badd42bfcc68c14f106efa93f  numpy-2.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 07658df1de0e1d3721de0aacff4313cd  numpy-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 3e753fc4b7c879b29442ee9bab25eddd  numpy-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl
 d1811f1988d88b00825bc6e943d8e22d  numpy-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl
 b5fe91363c16001ea30cbd5befbb0555  numpy-2.2.3-cp310-cp310-win32.whl
 44dfe1df1640e4fe762bedad57cd7165  numpy-2.2.3-cp310-cp310-win_amd64.whl
 6156418f596620b00a3c221baef02476  numpy-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl
 97b925bac245aad1297d22ad3cfaa74c  numpy-2.2.3-cp311-cp311-macosx_11_0_arm64.whl
 3f05819fcb71df1d3093e5d1c041a4e9  numpy-2.2.3-cp311-cp311-macosx_14_0_arm64.whl
 f6763893ba9a5739fefa0929fd152db2  numpy-2.2.3-cp311-cp311-macosx_14_0_x86_64.whl
 e93cf6ed4e1a3f9a8009ee7f2fcb0da8  numpy-2.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 851dcbcbe90212c385dcdac1614cca83  numpy-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 9b27cf1d6319f70370f4b0af10c03f5c  numpy-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl
 28d20c95ff23d27ae639b4960df777ec  numpy-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl
 559fefe30c0043a088adeca90231b382  numpy-2.2.3-cp311-cp311-win32.whl
 5e32a1cc3dcfe729f675784a53e4d553  numpy-2.2.3-cp311-cp311-win_amd64.whl
 12134dcf62b2bca2eeebb7bbc45c2a71  numpy-2.2.3-cp312-cp312-macosx_10_13_x86_64.whl
 c72318236531d3ca61d229eaf96f7d04  numpy-2.2.3-cp312-cp312-macosx_11_0_arm64.whl
 1b807acc844c2ba5be7bc7586d4a3a6b  numpy-2.2.3-cp312-cp312-macosx_14_0_arm64.whl
 810d4908371bb2f08b0c7b16d3f05970  numpy-2.2.3-cp312-cp312-macosx_14_0_x86_64.whl
 bb918cedd0931cb68af9e77096dedf54  numpy-2.2.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 92c6c6c5b22b207425b329f061bd18fa  numpy-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 10d48fb9d86280db1afe7224b15a51af  numpy-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl
 a73da0434a971b21d8a9c0596015d629  numpy-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl
 c5f1e734c7d872e2f9af71d32e62d59c  numpy-2.2.3-cp312-cp312-win32.whl
 884c1a89844f539ab15b7016a43d231c  numpy-2.2.3-cp312-cp312-win_amd64.whl
 3a2de7f886cb756cf8d0375a36721926  numpy-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl
 c1fe5b6a9015c2877647419caa009be0  numpy-2.2.3-cp313-cp313-macosx_11_0_arm64.whl
 bb3f3a69219bbcdb719bbe38e4e69f79  numpy-2.2.3-cp313-cp313-macosx_14_0_arm64.whl
 8158c2e980a1cbfb4d98ff3a273bb2e9  numpy-2.2.3-cp313-cp313-macosx_14_0_x86_64.whl
 4d3d9b0c14db955e4b1aa1a1971d2def  numpy-2.2.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 6575308269513900c94803258b89ac83  numpy-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 945b91c2093fed2a1f34597fc66e5a35  numpy-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl
 c5867508607f75ed23426315a7ad86d7  numpy-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl
 5a1497c262d9aa52ce6859a12a54ebbc  numpy-2.2.3-cp313-cp313-win32.whl
 69c98e036d59eb74e4620c7649b5d7fc  numpy-2.2.3-cp313-cp313-win_amd64.whl
 2535d7c0f98ad848bcf1f48f7c358e41  numpy-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl
 aea9afa69d510ce905b2b8dbf0e33a11  numpy-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl
 cc5aceacd0a44a67cdd2cf8d5a446ca3  numpy-2.2.3-cp313-cp313t-macosx_14_0_arm64.whl
 32eb2ed1e734ea26c90f75b1f5616564  numpy-2.2.3-cp313-cp313t-macosx_14_0_x86_64.whl
 f1d85f322c3e85ef748c3e5594b94226  numpy-2.2.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 7f24ce01ad5c352c76614a12fa5e2319  numpy-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 62841d4b49c5a0cef2c2ba26a16f6959  numpy-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl
 d7b512f83999d05c47e55b931f2dcdfe  numpy-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl
 1dca2f20e0accc1741e5fb233ecf7dff  numpy-2.2.3-cp313-cp313t-win32.whl
 347b71f0db5b49a25ef1ed677e47999b  numpy-2.2.3-cp313-cp313t-win_amd64.whl
 3615d13c8c14c323aeda1c07d5a7fd55  numpy-2.2.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
 f7d2ba950c5aa11c100bb6bf202d5799  numpy-2.2.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
 b4336174c843c4943084e17945cd1165  numpy-2.2.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 0d856a89e028c393f8125739c56591e0  numpy-2.2.3-pp310-pypy310_pp73-win_amd64.whl
 c6ee254bcdf1e2fdb13d87e0ee4166ba  numpy-2.2.3.tar.gz

SHA256

 cbc6472e01952d3d1b2772b720428f8b90e2deea8344e854df22b0618e9cce71  numpy-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl
 cdfe0c22692a30cd830c0755746473ae66c4a8f2e7bd508b35fb3b6a0813d787  numpy-2.2.3-cp310-cp310-macosx_11_0_arm64.whl
 e37242f5324ffd9f7ba5acf96d774f9276aa62a966c0bad8dae692deebec7716  numpy-2.2.3-cp310-cp310-macosx_14_0_arm64.whl
 95172a21038c9b423e68be78fd0be6e1b97674cde269b76fe269a5dfa6fadf0b  numpy-2.2.3-cp310-cp310-macosx_14_0_x86_64.whl
 d5b47c440210c5d1d67e1cf434124e0b5c395eee1f5806fdd89b553ed1acd0a3  numpy-2.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
 0391ea3622f5c51a2e29708877d56e3d276827ac5447d7f45e9bc4ade8923c52  numpy-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
 f6b3dfc7661f8842babd8ea07e9897fe3d9b69a1d7e5fbb743e4160f9387833b  numpy-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl
 1ad78ce7f18ce4e7df1b2ea4019b5817a2f6a8a16e34ff2775f646adce0a5027  numpy-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl
 5ebeb7ef54a7be11044c33a17b2624abe4307a75893c001a4800857956b41094  numpy-2.2.3-cp310-cp310-win32.whl
 596140185c7fa113563c67c2e894eabe0daea18cf8e33851738c19f70ce86aeb  numpy-2.2.3-cp310-cp310-win_amd64.whl
 16372619ee728ed67a2a606a614f56d3eabc5b86f8b615c79d01957062826ca8  numpy-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl
 5521a06a3148686d9269c53b09f7d399a5725c47bbb5b35747e1cb76326b714b  numpy-2.2.3-cp311-cp311-macosx_11_0_arm64.whl

@pyup-bot
Copy link
Copy Markdown
Collaborator Author

pyup-bot commented May 1, 2025

Closing this in favor of #175

@pyup-bot pyup-bot closed this May 1, 2025
@alimanfoo alimanfoo deleted the pyup-scheduled-update-2025-04-01 branch May 1, 2025 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant