* Features added
* Custom buffer slot methods are now supported in the Limited C-API of
Python 3.9+. Patch by Lisandro Dalcin. (Github issue :issue:`5422`)
* The extern "C" and extern "C++" markers that Cython generates for public
functions can now be controlled by setting the C macro CYTHON_EXTERN_C.
* The Python int handling code was adapted to make use of the new PyLong
internals in CPython 3.12. (Github issue :issue:`5353`)
* Conversion of Python ints to C int128 is now always supported, although
slow if dedicated C-API support is missing (_PyLong_AsByteArray()),
specifically in the Limited C-API. (Github issue :issue:`5419`)
* The exception handling code was adapted to CPython 3.12. (Github
issue :issue:`5442`)
* The dataclass implementation was adapted to support Python 3.12. (Github
issue :issue:`5346`)
* The normal @dataclasses.dataclass and @functools.total_ordering
decorators can now be used on extension types. Using the corresponding
@cython.* deorators with automatically turn a Python class into an
extension type (no need for @cclass). (Github issue :issue:`5292`)
* Multiplying a sequence by a C integer avoids creating an intermediate
Python integer.
* ctuples can now be assigned from arbitrary sequences, not just Python
tuples.
* A new directive embedsignature.format was added to select the format
of the docstring embedded signatures between python, c and argument
clinic. Patch by Lisandro Dalcin. (Github issue :issue:`5415`)
* Some invalid directive usages are now detected and rejected, e.g. using
@ccall together with @cfunc, and applying @cfunc to a @ufunc. Cython also
warns now when a directive is applies needlessly. (Github issue
:issue:`5399` et al.)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython3?expand=0&rev=6
- Update to 3.0.0~b2
# Features added
* C++ declarations for <cmath>, <numbers> and std::any were
added. Patches by Jonathan Helgert and Maximilien Colange.
(Github issues #5262, #5309, #5314)
# Bugs fixed
* Unintended internal exception handling lead to a visible
performance regression for nogil memoryview code in 3.0.0b1.
(Github issue #5324)
* None default arguments for arguments with fused memoryview
types could select a different implementation in 3.0 than in
0.29.x. The selection behaviour is generally considered
suboptimal but was at least reverted to the old behaviour for
now. (Github issue #5297)
* The new complex vs. floating point behaviour of the ** power
operator accidentally added a dependency on the GIL, which was
really only required on failures. (Github issue #5287)
* from cython cimport … as … could lead to imported names not
being found in annotations. Patch by Chia-Hsiang Cheng. (Github
issue #5235)
* Generated NumPy ufuncs could crash for large arrays due to
incorrect GIL handling. (Github issue #5328)
* Very long Python integer constants could exceed the maximum C
name length of MSVC. Patch by 0dminnimda. (Github issue #5290)
* cimport_from_pyx could miss some declarations. Patch by
Chia-Hsiang Cheng. (Github issue #5318)
* Fully qualified C++ names prefixed by a cimported module name
could fail to compile. Patch by Chia-Hsiang Cheng. (Github
issue #5229)
* Cython generated C++ code accidentally used C++11 features in
OBS-URL: https://build.opensuse.org/request/show/1088041
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython3?expand=0&rev=3