* Attribute lookups failed on the ``bool`` builtin type.
(Github issue :issue:`6905`)
* Type checks on or-ed union types could incorrectly return false.
(Github issue :issue:`6420`)
* Negative list indexing could accidentally wrap around twice in PyPy and the Limited API.
* Iterating over literal sequences with starred (unpacked) items could infer a wrong
type for the loop variable and fail to assign the values.
(Github issue :issue:`6924`)
* Calls to C functions taking exception types failed to check for a `None` argument.
(Github issue :issue:`6420`)
* Fused functions had an incorrect ``__module__`` attribute.
(Github issue :issue:`6897`)
* The type of Cython implemented functions had an incorrect ``__module__`` attribute.
(Github issue :issue:`6841`)
* Errors while indexing into ``bytearray`` or ``str`` in ``nogil`` sections could crash.
(Github issue :issue:`6947`)
* ``bytearray.append()`` could silently accept some invalid character numbers.
* The C++11 ``<type_traits>`` header was included regardless of the C++ version.
(Github issue :issue:`6896`)
* ``PyDict_GetItemStringRef()`` was accidentally used in older Limited API versions.
(Github issue :issue:`6914`)
* ``abort()`` was used but not always available in the Limited API.
(Github issue :issue:`6918`)
* Some dependencies were missing from the ``depfile``.
(Github issue :issue:`6938`)
* Embedded function signatures were not always separated from the existing docstring.
(Github issue :issue:`6904`)
* ``numpy.math`` was missing from ``Cython/Includes/`` and could not be cimported.
(Github issue :issue:`6859`)
* Some tests were adapted for NumPy 2.x.
(Github issue :issue:`6898`)
* Some C compiler warnings were fixed.
(Github issue :issue:`6870`)
* ``Cython.Build`` was not officially exposing the ``cythonize`` function.
(Github issue :issue:`6934`)
- Changes from 3.1.1
* A reference leak in the async delegation code was fixed.
(Github issues :issue:`6850`, :issue:`6878`)
* Conditional if-else expressions mixing Python and C (numeric) types could end up
inferring an overly tight result type, thus leading to unexpected type conversions,
runtime exceptions on assignment, or incorrect "temporary assignment" compile errors.
(Github issue :issue:`6854`)
* Some Limited API issues were resolved.
(Github issue :issue:`6862`)
* Large C ``long long`` values could be truncated when passed into PyPy.
(Github issue :issue:`6890`)
* ``callable()`` incorrectly reported ``False`` in PyPy for classes with metaclasses.
Patch by Anatolii Aniskovych. (Github issue :issue:`6892`)
* The signature of fused functions was no longer introspectable in Cython 3.1.0.
(Github issue :issue:`6855`)
* Coroutines could generate invalid C with line tracing enabled.
(Github issue :issue:`6865`)
* Code using ``complex()`` could generate invalid C code missing type declarations.
(Github issue :issue:`6860`)
* Code using e.g. ``list[int | None]`` outside of variable/argument annotations failed to compile.
(Github issue :issue:`6856`)
* Code using ctuples in a ``const`` context could generate invalid C.
(Github issue :issue:`6864`)
* Accessing special methods on cpdef enums failed to compile.
* Some C compiler warnings were resolved.
Patches by Daniel Larraz. (Github issues :issue:`6876`, :issue:`3172`, :issue:`6873`, :issue:`6877`)
* Re-establish support for PyPy 3.8.
(Github issue :issue:`6867`)
- Changes from 3.1.0
- See https://github.com/cython/cython/releases/tag/3.1.0-1
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=207