- Update to version 0.20:
* Support for CPython 3.4.
* Support for calling C++ template functions.
* yield is supported in finally clauses.
* The C code generated for finally blocks is duplicated for each exit
case to allow for better optimisations by the C compiler.
* Cython tries to undo the Python optimisationism of assigning a bound
method to a local variable when it can generate better code for the
direct call.
* Constant Python float values are cached.
* String equality comparisons can use faster type specific code in
more cases than before.
* String/Unicode formatting using the '%' operator uses a faster
C-API call.
* bytearray has become a known type and supports coercion from and
to C strings. Indexing, slicing and decoding is optimised. Note that
this may have an impact on existing code due to type inference.
* Using cdef basestring stringvar and function arguments typed as
basestring is now meaningful and allows assigning exactly
str and unicode objects, but no subtypes of these types.
* Support for the __debug__ builtin.
* Assertions in Cython compiled modules are disabled if the running
Python interpreter was started with the "-O" option.
* Some types that Cython provides internally, such as functions and
generators, are now shared across modules if more than one Cython
implemented module is imported.
* The type inference algorithm works more fine granular by taking the
results of the control flow analysis into account.
* A new script in bin/cythonize provides a command line frontend
to the cythonize() compilation function (including distutils build).
OBS-URL: https://build.opensuse.org/request/show/220455
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Cython?expand=0&rev=18
- update to 0.19.2:
* Some standard declarations were fixed or updated, including the previously
incorrect declaration of ``PyBuffer_FillInfo()`` and some missing bits in
``libc.math``.
* Heap allocated subtypes of ``type`` used the wrong base type struct at the
C level.
* Calling the unbound method dict.keys/value/items() in dict subtypes could
call the bound object method instead of the unbound supertype method.
* "yield" wasn't supported in "return" value expressions.
* Using the "bint" type in memory views lead to unexpected results.
It is now an error.
* Assignments to global/closure variables could catch them in an illegal state
while deallocating the old value. (forwarded request 204137 from dirkmueller)
OBS-URL: https://build.opensuse.org/request/show/204142
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Cython?expand=0&rev=17
- update to 0.19.1:
* Completely empty C-API structs for extension type slots (protocols like
number/mapping/sequence) are no longer generated into the C code.
* Docstrings that directly follow a public/readonly attribute declaration
in a cdef class will be used as docstring of the auto-generated property.
This fixes ticket 206.
* The automatic signature documentation tries to preserve more semantics
of default arguments and argument types. Specifically, ``bint`` arguments
now appear as type ``bool``.
* A warning is emitted when negative literal indices are found inside of
a code section that disables ``wraparound`` handling. This helps with
fixing invalid code that might fail in the face of future compiler
optimisations.
* Constant folding for boolean expressions (and/or) was improved.
* Added a build_dir option to cythonize() which allows one to place
the generated .c files outside the source tree.
- Update to version 0.19:
+ Please see http://wiki.cython.org/ReleaseNotes-0.19 (forwarded request 175219 from dirkmueller)
OBS-URL: https://build.opensuse.org/request/show/175239
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Cython?expand=0&rev=13
- update to 3.2.2:
* The C-API declarations were updated to include the new
PyDict_*Ref() functions. (Github issue :issue:`7291`)
* Iteration over literal sequences and strings in generators
generated invalid C code since 3.2.0. This was a regression
due to the C array iteration optimisation in :issue:`6926`,
which is now disabled inside of generators. (Github issue
:issue:`7342`)
* Calling special methods of known exception types failed with
an AttributeError. (Github issue :issue:`7342`)
* Calling the unbound __mul__ special method of builtin
collections with subtypes failed. (Github issue
:issue:`7340`)
* C string literals could generate invalid "const to non-const"
casts in the C code. (Github issue :issue:`7346`)
* yield is no longer allowed inside of a
cython.critical_section, but is now allowed while holding a
cython.pymutex. (Github issue :issue:`7317`)
* Under lock congestion, acquiring the GIL could crash in
Python 3.11, part 2. This bug was introduced in Cython 3.2.0.
(Github issue :issue:`7312`)
* The new py_safe_* functions in libc.threads triggered C
compiler warnings. (Github issue :issue:`7356`)
* Cython now leaves markers about its utility code dependencies
in the generated C code to help debugging "unused function" C
compiler warnings. (Github issue :issue:`7294`)
* Relative imports could fail if the shared utility module is
used. This bug was introduced in Cython 3.2.0. (Github issue
:issue:`7290`)
* Under lock congestion, acquiring the GIL could crash in
OBS-URL: https://build.opensuse.org/request/show/1322582
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Cython?expand=0&rev=90
* The C-API declarations were updated to include the new
PyDict_*Ref() functions. (Github issue :issue:`7291`)
* Iteration over literal sequences and strings in generators
generated invalid C code since 3.2.0. This was a regression
due to the C array iteration optimisation in :issue:`6926`,
which is now disabled inside of generators. (Github issue
:issue:`7342`)
* Calling special methods of known exception types failed with
an AttributeError. (Github issue :issue:`7342`)
* Calling the unbound __mul__ special method of builtin
collections with subtypes failed. (Github issue
:issue:`7340`)
* C string literals could generate invalid "const to non-const"
casts in the C code. (Github issue :issue:`7346`)
* yield is no longer allowed inside of a
cython.critical_section, but is now allowed while holding a
cython.pymutex. (Github issue :issue:`7317`)
* Under lock congestion, acquiring the GIL could crash in
Python 3.11, part 2. This bug was introduced in Cython 3.2.0.
(Github issue :issue:`7312`)
* The new py_safe_* functions in libc.threads triggered C
compiler warnings. (Github issue :issue:`7356`)
* Cython now leaves markers about its utility code dependencies
in the generated C code to help debugging "unused function" C
compiler warnings. (Github issue :issue:`7294`)
* Relative imports could fail if the shared utility module is
used. This bug was introduced in Cython 3.2.0. (Github issue
:issue:`7290`)
* Under lock congestion, acquiring the GIL could crash in
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=213
- Update to 3.1.4
* Declarations for the new PyUnstable_*() refcounting C-API functions in Py3.14
were added.
* The monitoring code could crash on tracing.
* Initialising the monitoring code could fail with a CPython exception.
* Optimised integer shifting triggered undefined behaviour in C.
* Deallocating objects that inherit from external types defined in pxd files
could run into an infinite loop.
* A reference to metaclasses could be leaked on instantiation.
* (Unlikely) error handling during empty builtin container tests was ineffective.
* Generated *_api.h files used potentially unknown Cython configuration macros.
* cythonize() avoids parallel compiler runs on systems using spawn() in
multiprocessing.
* The @cython.ufunc decorator was missing in type checker stubs.
OBS-URL: https://build.opensuse.org/request/show/1306531
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=211
Forwarded request #1299226 from mcalabkova
- Update to 3.1.3
* Some method calls with 0 or 1 argument failed to use PyObject_VectorCallMethod().
* Walrus assignments of literal Python integers could generate invalid C code.
* cython.pythread_type_lock (also used as fallback for cython.pymutex) could stall
on heavily contended locks.
* C string arrays (not pointers) always coerced to the Python default string type,
even on explicit casts to other string types.
* Unterminated \N{} character escapes in strings could unrail the parser.
* An internal C function was not marked as static and leaked a linker symbol.
* Some Unicode letters were not recognised as lexically valid name parts.
* Compatibility with PyPy3.8 was lost by accident.
* The Linux binary wheels of 3.1.2 used SSSE3 CPU instructions which are not
available on some CPUs.
- Convert to libalternatives on SLE-16-based and newer systems only
OBS-URL: https://build.opensuse.org/request/show/1299348
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Cython?expand=0&rev=88
- Update to 3.1.3
* Some method calls with 0 or 1 argument failed to use PyObject_VectorCallMethod().
* Walrus assignments of literal Python integers could generate invalid C code.
* cython.pythread_type_lock (also used as fallback for cython.pymutex) could stall
on heavily contended locks.
* C string arrays (not pointers) always coerced to the Python default string type,
even on explicit casts to other string types.
* Unterminated \N{} character escapes in strings could unrail the parser.
* An internal C function was not marked as static and leaked a linker symbol.
* Some Unicode letters were not recognised as lexically valid name parts.
* Compatibility with PyPy3.8 was lost by accident.
* The Linux binary wheels of 3.1.2 used SSSE3 CPU instructions which are not
available on some CPUs.
- Convert to libalternatives on SLE-16-based and newer systems only
OBS-URL: https://build.opensuse.org/request/show/1299226
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=209
- Update top 3.1.2
* 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/request/show/1293837
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=207
- Update to 3.0.12
* 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.
OBS-URL: https://build.opensuse.org/request/show/1246992
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=202
- update to 3.0.11:
* The C++11 emplace* methods were added to libcpp.deque. Patch
by Somin An. (Github issue :issue:`6159`)
* 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`)
OBS-URL: https://build.opensuse.org/request/show/1198043
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Cython?expand=0&rev=84
* The C++11 emplace* methods were added to libcpp.deque. Patch
by Somin An. (Github issue :issue:`6159`)
* 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`)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=200
- update to 3.0.10:
* Cython generated incorrect self-casts when directly calling
final methods of subtypes.
* Internal C names generated from C function signatures could
become too long for MSVC.
* The noexcept warnings could be misleading in some cases.
* The @cython.ufunc implementation could generate incomplete C
code.
* The libcpp.complex declarations could result in incorrect C++
code. Patch by Raffi Enficiaud.
* Several tests were adapted to work with both NumPy 1.x and
2.0. Patch by Matti Picus.
* 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.
* 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.
OBS-URL: https://build.opensuse.org/request/show/1164069
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Cython?expand=0&rev=83
* Cython generated incorrect self-casts when directly calling
final methods of subtypes.
* Internal C names generated from C function signatures could
become too long for MSVC.
* The noexcept warnings could be misleading in some cases.
* The @cython.ufunc implementation could generate incomplete C
code.
* The libcpp.complex declarations could result in incorrect C++
code. Patch by Raffi Enficiaud.
* Several tests were adapted to work with both NumPy 1.x and
2.0. Patch by Matti Picus.
* 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.
* 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.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=198
- update to 3.0.9:
* Assigning const values to non-const variables now issues a
warning.
* Using noexcept on a function returning Python objects now
issues a warning.
* Some C-API usage was updated for the upcoming CPython 3.13.
Patches by Victor Stinner et al.
* The deprecated Py_UNICODE type is no longer used, unless
required by user code.
* std::string.replace() declarations were added to
libcpp.string. Patch by Kieran Geary.
* 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.
* Unused variable warnings about clineno were fixed when C
lines in tracebacks are disabled.
* Subclass deallocation of extern classes could crash if the
base class uses GC. Original patch by Jason Fried.
* Type checks for Python memoryview could use an invalid C
function. Patch by Xenia Lu.
* Calling final fused functions could generate invalid C code.
* Declaring extern enums multiple times could generate invalid
C code.
* pyximport used relative paths incorrectly. Patch by Stefano
Rivera.
* Running Cython with globbing characters ([]*?) in the module
search path could fail.
* Literal strings that include braces could change the C code
OBS-URL: https://build.opensuse.org/request/show/1158961
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Cython?expand=0&rev=82
* Assigning const values to non-const variables now issues a
warning.
* Using noexcept on a function returning Python objects now
issues a warning.
* Some C-API usage was updated for the upcoming CPython 3.13.
Patches by Victor Stinner et al.
* The deprecated Py_UNICODE type is no longer used, unless
required by user code.
* std::string.replace() declarations were added to
libcpp.string. Patch by Kieran Geary.
* 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.
* Unused variable warnings about clineno were fixed when C
lines in tracebacks are disabled.
* Subclass deallocation of extern classes could crash if the
base class uses GC. Original patch by Jason Fried.
* Type checks for Python memoryview could use an invalid C
function. Patch by Xenia Lu.
* Calling final fused functions could generate invalid C code.
* Declaring extern enums multiple times could generate invalid
C code.
* pyximport used relative paths incorrectly. Patch by Stefano
Rivera.
* Running Cython with globbing characters ([]*?) in the module
search path could fail.
* Literal strings that include braces could change the C code
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=196
- update to 3.0.8:
* 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.
OBS-URL: https://build.opensuse.org/request/show/1138672
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Cython?expand=0&rev=81
* 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.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=194
- update to 3.0.7:
* In the iterator of generator expressions, ``await`` and
``yield`` were not correctly analysed.
* ``cpdef`` enums with the same name cimported from different
modules could lead to invalid C code.
* Some declarations in ``cpython.unicode`` were fixed and
extended.
* Compiling fused types used in pxd files could crash Cython in
Python 3.11+.
* Source files with non-ASCII file names could crash Cython.
* Includes all bug-fixes and features from the 0.29 maintenance
branch
OBS-URL: https://build.opensuse.org/request/show/1134501
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Cython?expand=0&rev=79
* In the iterator of generator expressions, ``await`` and
``yield`` were not correctly analysed.
* ``cpdef`` enums with the same name cimported from different
modules could lead to invalid C code.
* Some declarations in ``cpython.unicode`` were fixed and
extended.
* Compiling fused types used in pxd files could crash Cython in
Python 3.11+.
* Source files with non-ASCII file names could crash Cython.
* Includes all bug-fixes and features from the 0.29 maintenance
branch
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=190
- update to 3.0.6:
* Features added
* Fused def function dispatch is a bit faster.
* Declarations for the ``wchar`` PyUnicode API were added.
* The Python "nogil" fork is now also detected with the new
``Py_GIL_DISABLED`` macro.
* Patch by Hugo van Kemenade (Github issue :issue:`583652`)
* Bugs fixed
* Comparing dataclasses could give different results than
Python.
* ``float(std::string)`` generated invalid C code.
* Using ``cpdef`` functions with ``cimport_from_pyx`` failed.
* A crash was fixed when string-formatting a Python value
fails.
* On item access, Cython could try the sequence protocol before
the mapping protocol
* in some cases if an object supports both.
* A C compiler warning was resolved.
* 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.
* A C++ issue in Python 3.13 was resolved.
* Several directives are now also available (as no-ops) in
Python code.
* An error message was corrected.
OBS-URL: https://build.opensuse.org/request/show/1129058
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Cython?expand=0&rev=78
* Features added
* Fused def function dispatch is a bit faster.
* Declarations for the ``wchar`` PyUnicode API were added.
* The Python "nogil" fork is now also detected with the new
``Py_GIL_DISABLED`` macro.
* Patch by Hugo van Kemenade (Github issue :issue:`583652`)
* Bugs fixed
* Comparing dataclasses could give different results than
Python.
* ``float(std::string)`` generated invalid C code.
* Using ``cpdef`` functions with ``cimport_from_pyx`` failed.
* A crash was fixed when string-formatting a Python value
fails.
* On item access, Cython could try the sequence protocol before
the mapping protocol
* in some cases if an object supports both.
* A C compiler warning was resolved.
* 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.
* A C++ issue in Python 3.13 was resolved.
* Several directives are now also available (as no-ops) in
Python code.
* An error message was corrected.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=188