Select Git revision
CHANGES.rst
-
Stefan Behnel authoredStefan Behnel authored
CHANGES.rst 109.55 KiB
Cython Changelog
0.29.21 (2020-0?-??)
Bugs fixed
- The deprecated C-API function
PyUnicode_FromUnicode()
is no longer used. Original patch by Inada Naoki. (Github issue #3677) - Binding staticmethods of Cython functions were not behaving like Python methods. Patch by Jeroen Demeyer. (Github issue #3106)
0.29.20 (2020-06-10)
Bugs fixed
- Nested try-except statements with multiple
return
statements could crash due to incorrect deletion of theexcept as
target variable. (Github issue #3666) - The
@classmethod
decorator no longer rejects unknown input from other decorators. Patch by David Woods. (Github issue #3660) - Fused types could leak into unrelated usages. Patch by David Woods. (Github issue #3642)
- Now uses
Py_SET_SIZE()
andPy_SET_REFCNT()
in Py3.9+ to avoid low-level write access to these object fields. Patch by Victor Stinner. (Github issue #3639) - The built-in
abs()
function could lead to undefined behaviour when used on the negative-most value of a signed C integer type. Patch by Serge Guelton. (Github issue #1911) - Usages of
sizeof()
andtypeid()
on uninitialised variables no longer produce a warning. Patch by Celelibi. (Github issue #3575) - The C++
typeid()
function was allowed in C mode. Patch by Celelibi. (Github issue #3637) - The error position reported for errors found in f-strings was misleading. (Github issue #3674)
- 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.
0.29.19 (2020-05-20)
Bugs fixed
- A typo in Windows specific code in 0.29.18 was fixed that broke "libc.math". (Github issue #3622)
- A platform specific test failure in 0.29.18 was fixed. Patch by smutch. (Github issue #3620)
0.29.18 (2020-05-18)
Bugs fixed
- 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. Patch by Leo and smutch. (Github issue #1407)
- Decorators were not allowed on nested async def functions. (Github issue #1462)
- C-tuples could use invalid C struct casting. Patch by MegaIng. (Github issue #3038)
- Optimised
%d
string formatting into f-strings failed on float values. (Github issue #3092) - Optimised aligned string formatting (
%05s
,%-5s
) failed. (Github issue #3476) - When importing the old Cython
build_ext
integration with distutils, the additional command line arguments leaked into the regular command. Patch by Kamekameha. (Github issue #2209) - When using the
CYTHON_NO_PYINIT_EXPORT
option in C++, the module init function was not declared asextern "C"
. (Github issue #3414) - Three missing timedelta access macros were added in
cpython.datetime
. - The signature of the NumPy C-API function
PyArray_SearchSorted()
was fixed. Patch by Brock Mendel. (Github issue #3606)