* Several incompatibilities with CPython 3.11 were resolved.
* Some C compiler warnings were resolved.
* C++ ``std::move()`` should only be used automatically in MSVC versions that support it.
* The ``Py_hash_t`` type failed to accept arbitrary "index" values.
* 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.
* Cython crashed on invalid truthiness tests on C++ types without ``operator bool``.
* The declaration of ``PyUnicode_CompareWithASCIIString()`` in ``cpython.unicode`` was incorrect.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=152
- Update to 0.29.24:
* 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.
* Several declarations in ``libcpp.string`` were added and corrected.
* Pickling unbound Cython compiled methods failed.
* 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.
* Some compiler crashes were resolved.
* An incorrect warning about 'unused' generator expressions was removed.
* 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``.
- Drop cython_use_imgmath.patch
OBS-URL: https://build.opensuse.org/request/show/906249
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=151
- update to 0.29.23:
* Some problems with Python 3.10 were resolved.
Patches by Victor Stinner and David Woods. (Github issues #4046, #4100)
* An incorrect "optimisation" was removed that allowed changes to a keyword
dict to leak into keyword arguments passed into a function.
Patch by Peng Weikang. (Github issue #3227)
* Multiplied str constants could end up as bytes constants with language_level=2.
Patch by Alphadelta14 and David Woods. (Github issue #3951)
* ``PY_SSIZE_T_CLEAN`` does not get defined any more if it is already defined.
Patch by Andrew Jones. (Github issue #4104)
OBS-URL: https://build.opensuse.org/request/show/887377
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Cython?expand=0&rev=59
* Some problems with Python 3.10 were resolved.
Patches by Victor Stinner and David Woods. (Github issues #4046, #4100)
* An incorrect "optimisation" was removed that allowed changes to a keyword
dict to leak into keyword arguments passed into a function.
Patch by Peng Weikang. (Github issue #3227)
* Multiplied str constants could end up as bytes constants with language_level=2.
Patch by Alphadelta14 and David Woods. (Github issue #3951)
* ``PY_SSIZE_T_CLEAN`` does not get defined any more if it is already defined.
Patch by Andrew Jones. (Github issue #4104)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=149
- Update to 0.29.22
* Some declarations were added to the provided pxd includes.
Patches by Zackery Spytz and John Kirkham.
(Github issues #3811, #3882, #3899, #3901)
* A crash when calling certain functions in Py3.9 and later was resolved.
(Github issue #3917)
* ``const`` memory views of structs failed to compile.
(Github issue #2251)
* ``const`` template declarations could not be nested.
Patch by Ashwin Srinath. (Github issue #1355)
* The declarations in the ``cpython.pycapsule`` module were missing their
``const`` modifiers and generated incorrect C code.
Patch by Warren Weckesser. (Github issue #3964)
* Casts to memory views failed for fused dtypes.
Patch by David Woods. (Github issue #3881)
* ``repr()`` was assumed to return ``str`` instead of ``unicode``
with ``language_level=3``
* Calling ``cpdef`` functions from cimported modules crashed the compiler.
Patch by David Woods. (Github issue #4000)
* Cython no longer validates the ABI size of the NumPy classes
it compiled against.
* A C compiler warning about enum value casting was resolved in GCC.
(Github issue #2749)
* Coverage reporting in the annotated HTML file failed in Py3.9.
Patch by Nick Pope. (Github issue #3865)
* The embedding code now reports Python errors as exit status.
* Long type declarations could lead to (harmless) random changes in the
C file when used in auto-generated Python wrappers or pickled classes.
OBS-URL: https://build.opensuse.org/request/show/874489
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=147
- Update TO 0.29.21
* Fix a regression in 0.29.20 where __div__ failed to be found in extension types
* Fix a regression in 0.29.20 where a call inside of a finally clause could
fail to compile
* Zero-sized buffers could fail to validate as C/Fortran-contiguous.
* exec() did not allow recent Python syntax features in Py3.8+
due to https://bugs.python.org/issue35975
* Binding staticmethods of Cython functions were not behaving like
Python methods in Py3
* Pythran calls to NumPy methods no longer generate useless method lookup code.
* The PyUnicode_GET_LENGTH() macro was missing from the cpython.* declarations
* The deprecated PyUnicode_*() C-API functions are no longer used, except
for Unicode strings that contain lone surrogates. Unicode strings that
contain non-BMP characters or surrogate pairs now generate different C
code on 16-bit Python 2.x Unicode deployments (such as MS-Windows).
Generating the C code on Python 3.x is recommended in this case
* Some template parameters were missing from the C++ std::unordered_map declaration
* Several internal code generation issues regarding temporary variables were resolved
OBS-URL: https://build.opensuse.org/request/show/819616
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Cython?expand=0&rev=57
* Fix a regression in 0.29.20 where __div__ failed to be found in extension types
* Fix a regression in 0.29.20 where a call inside of a finally clause could
fail to compile
* Zero-sized buffers could fail to validate as C/Fortran-contiguous.
* exec() did not allow recent Python syntax features in Py3.8+
due to https://bugs.python.org/issue35975
* Binding staticmethods of Cython functions were not behaving like
Python methods in Py3
* Pythran calls to NumPy methods no longer generate useless method lookup code.
* The PyUnicode_GET_LENGTH() macro was missing from the cpython.* declarations
* The deprecated PyUnicode_*() C-API functions are no longer used, except
for Unicode strings that contain lone surrogates. Unicode strings that
contain non-BMP characters or surrogate pairs now generate different C
code on 16-bit Python 2.x Unicode deployments (such as MS-Windows).
Generating the C code on Python 3.x is recommended in this case
* Some template parameters were missing from the C++ std::unordered_map declaration
* Several internal code generation issues regarding temporary variables were resolved
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=145
- Update to 0.29.20
* Nested try-except statements with multiple return statements
could crash due to incorrect deletion of the except as target variable.
* The @classmethod decorator no longer rejects unknown input from other decorators.
* Fused types could leak into unrelated usages. Patch by David Woods.
* Now uses Py_SET_SIZE() and Py_SET_REFCNT() in Py3.9+ to avoid
low-level write access to these object field
* The built-in abs() function could lead to undefined behaviour when used on
the negative-most value of a signed C integer type
* Usages of sizeof() and typeid() on uninitialised variables no longer produce a warning
* The C++ typeid() function was allowed in C mode
* The error position reported for errors found in f-strings was misleading
* The new c_api_binop_methods directive was added for forward compatibility,
but can only be set to True (the current default value). It can be disabled in Cython 3.0
OBS-URL: https://build.opensuse.org/request/show/813392
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=143
- Update to 0.29.19
* Exception position reporting could run into race conditions on threaded code.
It now uses function-local variables again.
* Error handling early in the module init code could lead to a crash.
* Error handling in cython.array creation was improved to avoid calling C-API
functions with an error held.
* A memory corruption was fixed when garbage collection was triggered during
calls to PyType_Ready() of extension type subclasses. (Github issue #3603)
* Memory view slicing generated unused error handling code which could negatively
impact the C compiler optimisations for parallel OpenMP code etc.
Also, it is now helped by static branch hints. (Github issue #2987)
* Cython's built-in OpenMP functions were not translated inside of call arguments.
Original patch by Celelibi and David Woods. (Github issue #3594)
* Complex buffer item types of structs of arrays could fail to validate.
* Decorators were not allowed on nested async def functions.
* C-tuples could use invalid C struct casting. Patch by MegaIng.
* Optimised %d string formatting into f-strings failed on float values.
* Optimised aligned string formatting (%05s, %-5s) failed.
* Three missing timedelta access macros were added in cpython.datetime.
* The signature of the NumPy C-API function PyArray_SearchSorted() was fixed
OBS-URL: https://build.opensuse.org/request/show/808014
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=141
- update to 0.29.16
* Temporary internal variables in nested prange loops could leak into other
threads. Patch by Frank Schlimbach. (Github issue #3348)
* Default arguments on fused functions could crash.
Patch by David Woods. (Github issue #3370)
* C-tuples declared in ``.pxd`` files could generate incomplete C code.
Patch by Kirk Meyer. (Github issue #1427)
* Fused functions were not always detected and optimised as Cython
implemented functions.
Patch by David Woods. (Github issue #3384)
* Valid Python object concatenation of (iterable) strings to non-strings
could fail with an exception.
Patch by David Woods. (Github issue #3433)
* Using C functions as temporary values lead to invalid C code.
Original patch by David Woods. (Github issue #3418)
* Fix an unhandled C++ exception in comparisons.
Patch by David Woods. (Github issue #3361)
* Fix deprecated import of "imp" module.
Patch by Matti Picus. (Github issue #3350)
* Fix compatibility with Pythran 0.9.6 and later.
Patch by Serge Guelton. (Github issue #3308)
* The ``_Py_PyAtExit()`` function in ``cpython.pylifecycle`` was misdeclared.
Patch by Zackery Spytz. (Github issue #3382)
* Several missing declarations in ``cpython.*`` were added.
Patches by Zackery Spytz. (Github issue #3452, #3421, #3411, #3402)
* A declaration for ``libc.math.fpclassify()`` was added.
Patch by Zackery Spytz. (Github issue #2514)
* Avoid "undeclared" warning about automatically generated pickle methods.
Patch by David Woods. (Github issue #3353)
* Avoid C compiler warning about unreachable code in ``prange()``.
OBS-URL: https://build.opensuse.org/request/show/794809
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=137
* Crash when returning a temporary Python object from an async-def function.
* Crash when using **kwargs in generators.
* Double reference free in __class__ cell handling for super() calls.
* Compile error when using *args as Python class bases.
* Fixed C name collision in the auto-pickle code
* Deprecated import failed in Python 3.9
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=135
- Say goodbye to -doc subpackage as the documentation is online
and does not build with latest sphinx releases (even in master
at the moment).
- The testing in -doc spec was disabled anyway and if needed we
will reintroduce it as a multibuild
- update to 0.29.10
* Fix compile errors in CPython 3.8b1 due to the new "tp_vectorcall" slots.
* Remove an incorrect cast when using true-division in C++ operations.
* C compile errors with CPython 3.8 were resolved.
* Python tuple constants that compare equal but have different item types
could incorrectly be merged into a single constant.
* Non-ASCII characters in unprefixed strings could crash the compiler
when used with language level 3str
* Starred expressions in %-formatting tuples could fail to compile for unicode strings
* Passing Python class references through cython.inline() was broken.
OBS-URL: https://build.opensuse.org/request/show/709360
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Cython?expand=0&rev=49
* Fix compile errors in CPython 3.8b1 due to the new "tp_vectorcall" slots.
* Remove an incorrect cast when using true-division in C++ operations.
* C compile errors with CPython 3.8 were resolved.
* Python tuple constants that compare equal but have different item types
could incorrectly be merged into a single constant.
* Non-ASCII characters in unprefixed strings could crash the compiler
when used with language level 3str
* Starred expressions in %-formatting tuples could fail to compile for unicode strings
* Passing Python class references through cython.inline() was broken.
- update to 0.29.10
* Fix compile errors in CPython 3.8b1 due to the new "tp_vectorcall" slots.
* Remove an incorrect cast when using true-division in C++ operations.
* C compile errors with CPython 3.8 were resolved.
* Python tuple constants that compare equal but have different item types
could incorrectly be merged into a single constant.
* Non-ASCII characters in unprefixed strings could crash the compiler
when used with language level 3str
* Starred expressions in %-formatting tuples could fail to compile for unicode strings
* Passing Python class references through cython.inline() was broken.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=126
- update to 0.29.7
* Crash when the shared Cython config module gets unloaded and another
Cython module reports an exceptions. Cython now makes sure it keeps
an owned reference to the module
* Resolved a C89 compilation problem when enabling the fast-gil sharing feature.
* Coverage reporting did not include the signature line of cdef functions
* Casting a GIL-requiring function into a nogil function now issues a warning
* Generators and coroutines were missing their return type annotation
- update to 0.29.7
* Crash when the shared Cython config module gets unloaded and another
Cython module reports an exceptions. Cython now makes sure it keeps
an owned reference to the module
* Resolved a C89 compilation problem when enabling the fast-gil sharing feature.
* Coverage reporting did not include the signature line of cdef functions
* Casting a GIL-requiring function into a nogil function now issues a warning
* Generators and coroutines were missing their return type annotation
OBS-URL: https://build.opensuse.org/request/show/694800
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Cython?expand=0&rev=48
* Crash when the shared Cython config module gets unloaded and another
Cython module reports an exceptions. Cython now makes sure it keeps
an owned reference to the module
* Resolved a C89 compilation problem when enabling the fast-gil sharing feature.
* Coverage reporting did not include the signature line of cdef functions
* Casting a GIL-requiring function into a nogil function now issues a warning
* Generators and coroutines were missing their return type annotation
- update to 0.29.7
* Crash when the shared Cython config module gets unloaded and another
Cython module reports an exceptions. Cython now makes sure it keeps
an owned reference to the module
* Resolved a C89 compilation problem when enabling the fast-gil sharing feature.
* Coverage reporting did not include the signature line of cdef functions
* Casting a GIL-requiring function into a nogil function now issues a warning
* Generators and coroutines were missing their return type annotation
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=124
- update to 0.29.6
* Fix a crash when accessing the __kwdefaults__ special attribute of fused functions.
* Fix the parsing of buffer format strings that contain numeric sizes, which
could lead to incorrect input rejections.
* Avoid a C #pragma in old gcc versions that was only added in GCC 4.6.
* Auto-encoding of Unicode strings to UTF-8 C/C++ strings failed in Python 3,
even though the default encoding there is UTF-8.
* Crash when defining a Python subclass of an extension type and repeatedly
calling a cpdef method on it.
* Compiler crash when prange() loops appear inside of with-statements.
* Some C compiler warnings were resolved.
* Python conversion of C++ enums failed in 0.29.
- update to 0.29.6
* Fix a crash when accessing the __kwdefaults__ special attribute of fused functions.
* Fix the parsing of buffer format strings that contain numeric sizes, which
could lead to incorrect input rejections.
* Avoid a C #pragma in old gcc versions that was only added in GCC 4.6.
* Auto-encoding of Unicode strings to UTF-8 C/C++ strings failed in Python 3,
even though the default encoding there is UTF-8.
* Crash when defining a Python subclass of an extension type and repeatedly
calling a cpdef method on it.
* Compiler crash when prange() loops appear inside of with-statements.
* Some C compiler warnings were resolved.
* Python conversion of C++ enums failed in 0.29.
OBS-URL: https://build.opensuse.org/request/show/680181
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Cython?expand=0&rev=46
* Fix a crash when accessing the __kwdefaults__ special attribute of fused functions.
* Fix the parsing of buffer format strings that contain numeric sizes, which
could lead to incorrect input rejections.
* Avoid a C #pragma in old gcc versions that was only added in GCC 4.6.
* Auto-encoding of Unicode strings to UTF-8 C/C++ strings failed in Python 3,
even though the default encoding there is UTF-8.
* Crash when defining a Python subclass of an extension type and repeatedly
calling a cpdef method on it.
* Compiler crash when prange() loops appear inside of with-statements.
* Some C compiler warnings were resolved.
* Python conversion of C++ enums failed in 0.29.
- update to 0.29.6
* Fix a crash when accessing the __kwdefaults__ special attribute of fused functions.
* Fix the parsing of buffer format strings that contain numeric sizes, which
could lead to incorrect input rejections.
* Avoid a C #pragma in old gcc versions that was only added in GCC 4.6.
* Auto-encoding of Unicode strings to UTF-8 C/C++ strings failed in Python 3,
even though the default encoding there is UTF-8.
* Crash when defining a Python subclass of an extension type and repeatedly
calling a cpdef method on it.
* Compiler crash when prange() loops appear inside of with-statements.
* Some C compiler warnings were resolved.
* Python conversion of C++ enums failed in 0.29.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=120