diff --git a/cython-3.1.4.tar.gz b/cython-3.1.4.tar.gz deleted file mode 100644 index 29dc06e..0000000 --- a/cython-3.1.4.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9aefefe831331e2d66ab31799814eae4d0f8a2d246cbaaaa14d1be29ef777683 -size 3190778 diff --git a/cython-3.2.2.tar.gz b/cython-3.2.2.tar.gz new file mode 100644 index 0000000..07f97de --- /dev/null +++ b/cython-3.2.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3add3d483acc73129a61d105389344d792c17e7c1cee24863f16416bd071634 +size 3275797 diff --git a/python-Cython.changes b/python-Cython.changes index 72d0f8d..c641254 100644 --- a/python-Cython.changes +++ b/python-Cython.changes @@ -1,3 +1,432 @@ +------------------------------------------------------------------- +Fri Dec 12 10:31:50 UTC 2025 - Dirk Müller + +- 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 + Python 3.11. This bug was introduced in Cython 3.2.0. (Github + issue :issue:`7312`) + * Using the shared utility module left an unused C function in + user modules with memoryviews. To make debugging this kind of + issue easier, Cython now leaves "used by …" markers in the + generated C files that indicate why a specific piece of + utility code was included. This bug was introduced in Cython + 3.2.0. (Github issue :issue:`7293`) + * Code using the pre-import scope failed with an undefined + name. This bug was introduced in Cython 3.2.0. (Github issue + :issue:`7304`) + * Includes all fixes as of Cython 3.1.7. + * Builtin exception types are now inferred. (Github issue + :issue:`6908`) + * The list of known, inferred and optimised Python builtins was + updated. range is now considered a type. ascii, bin, format, + hex, oct were added as functions. (Github issue + :issue:`6931`) + * The f-string syntax was extended according to PEP-701. + (Github issue :issue:`5452`) + * t-strings are implemented according to PEP-750. The + implementation backports the template classes but prefers + existing backports if installed separately. (Github issue + :issue:`6811`) + * Unknown return type annotations with -> are no longer + rejected but produce warnings. This allows better integration + with Python type hints that are not always usable for Cython. + -> None is also allowed now. Patch by jpe. (Github issue + :issue:`6946`) + * The runtime Python dispatch for fused functions is + substantially faster. (Github issues :issue:`1385`, + :issue:`6996`) + * Freelists (via cdef class decorator and for internally used + types such as async) are now also used in the Limited API and + with extension type specs enabled. (Github issue + :issue:`7151`) + * Module imports now quickly check for an already imported + module to speed up reimports. Patch by Lysandros Nikolaou. + (Github issue :issue:`7035`) + * Type checks on PEP-604 union types (int | None) are optimised + into separate checks. (Github issue :issue:`6935`) + * Assignments to the PEP-604 union type float | None allow any + suitable Python number as input and convert it to a Python + float automatically. (Github issue :issue:`5750`) + * Item type inference was improved for looping over literals. + (Github issue :issue:`6912`) + * Looping over literal sequences and strings now uses efficient + C array looping if possible. (Github issue :issue:`6926`) + * Releasing the GIL from an unknown lock state is more + efficient. (Github issue :issue:`6847`) + * cython.critical_section(PyMutex) now works, as with Python + objects. (Github issue :issue:`6847`) + * bool(c_int/float/ptr) avoid passing through Python objects. + (Github issue :issue:`7015`) + * Variables assigned inside of prange loops can now be + initialised outside of the loop. (Github issue :issue:`7178`) + * Unused exceptions in except clauses are detected in some more + cases to avoid their normalisation. (Github issue + :issue:`7021`) + * Mixed operations on C integers with Python ints use less code + and are more streamlined for Py3.12+. (Github issue + :issue:`7244`) + * Some object constants are now marked as immortal to speed up + their reference counting in recent CPython versions. This + can be configured with the CYTHON_IMMORTAL_CONSTANTS C macro. + (Github issue :issue:`7118`) + * Further improvements were made to reduce the size of the + resulting extension modules. (Github issue :issue:`6983`, + :issue:`7199`, :issue:`7220`, :issue:`7238`, :issue:`7255`, + :issue:`7265`) + * Several improvements were made in freethreaded Python code. + (Github issues :issue:`6936`, :issue:`6939`, :issue:`6949`, + :issue:`6984`, :issue:`7011`, :issue:`7066`, :issue:`7114`, + :issue:`7200`) + * Several improvements were made for the Limited API. (Github + issues :issue:`6959`, :issue:`6991`) + * Several improvements were made for the GraalPython support. + Patch by Michael Šimáček. (Github issue :issue:`7074`) + * Some GIL-safe C-API wrappers were added to the libc/libcpp + declarations. (Github issue :issue:`6829`, :issue:`6993`) + * String and number constants use less storage space in the + module. (Github issues :issue:`6971`, :issue:`6978`, + :issue:`6986`) + * The managed dict/weakref support in CPython 3.12+ is used for + internal types to benefit from future CPython optimisations + here. (Github issue :issue:`6891`) + * Using NaN as exception return value is supported. (Github + issues :issue:`6900`, :issue:`6903`) + * Declarations for C++ condition variables were added. (Github + issue :issue:`6836`) + * The annotated source HTML page shows alternating +/− markers + to open/close lines. Patch by Kamil Monicz. (Github issue + :issue:`7099`) + * cython --embed gained a new option --embed-modules=… to list + further extension modules that will be statically linked into + the generated extension module, to get them initialised on + application start. (Github issue :issue:`2849`) + * The setup.py script of Cython now allows passing the desired + Limited API version like --cython-limited-api=3.11. (Github + issue :issue:`7228`) + * Unicode 16.0.0 is used to parse identifiers. (Github issue + :issue:`6836`) + * Special float exception values could generate invalid C code. + (Github issues :issue:`6900`, :issue:`6903`) + * References to the Python bool type could generate invalid C + code. (Github issue :issue:`6902`) + * Using cython.pymutex in an extension type declared as public + or api generated invalid C code missing the required PyMutex + declarations. (Github issues :issue:`6992`, :issue:`6995`) + * Cython's type sharing across modules suffered from race + conditions if multiple modules tried to initialise and share + their types concurrently. This is due to an underlying + CPython issue and cannot easily be worked around completely. + In the common case that module dicts are plain Python dict + objects, however, Cython now uses a .setdefault() equivalent + for thread-safe type sharing. See + https://github.com/python/cpython/issues/137422 (Github issue + :issue:`7076`) + * Cython incorrectly called PyList_GetItemRef() in PyPy and + GraalPython before Py3.13. (Github issue :issue:`7269`) + * Iterating over temporary memoryviews could crash Cython. + (Github issue :issue:`7005`) + * Type casts on constants as part of numeric expressions could + crash Cython. (Github issue :issue:`6779`) + * Long code bodies in with statements could crash Cython. + (Github issue :issue:`7122`) + * Vectorcalls could use needless temp assignments for self. + (Github issue :issue:`6909`) + * Indexing bytes failed to optimise in some cases. (Github + issue :issue:`6997`) + * Optimised C integer formatting in f-strings failed to apply + to typedef types. (Github issue :issue:`7170`) + * In auto-pickling, trying to unpickle an object that has no + __dict__ from object pickle data that includes instance dict + state is now an error. (Github issue :issue:`7222`) + * The type objects of heap types were not always correctly + decrefed on deallocation. (Github issue :issue:`7145`) + * Pure mode type aliases like p_int or ulong leaked into some C + type contexts, risking to conflict with user declarations. + (Github issues :issue:`6922`, :issue:`6339`) + * Boolean (emptyness) tests on builtin containers could fail to + handle (unlikely) errors. (Github issue :issue:`7090`) + * The return type of bytes.join() was sometimes inferred as + plain object. (Github issue :issue:`6987`) + * Type inference could fail to understand prange() arguments. + (Github issue :issue:`6974`) + * embedsignatures failed if lambda was used in function default + arguments. (Github issue :issue:`6880`) + * An internal C function was not marked as static and leaked a + linker symbol. (Github issue :issue:`6957`) + * PyType_FromModuleAndSpec was incorrectly used in Limited API + code before Py3.10. (Github issue :issue:`7181`) + * Conversion code for memoryview dtypes from and to Python + objects generated C warnings about incorrect const / non- + const casting code. (Github issue :issue:`7219`) + * Cython's tools and frontend scripts now use python3 instead + of just python in their shebang line. Patch by Matti Picus. + (Github issue :issue:`7053`) + * Extension arguments defined for the shared code module were + ignored in cythonize(). (Github issue :issue:`7251`) + * Failures while following package attributes in import + pkg.module as … were not handled. + * Trying to instantiate internal types used by Cython is now + prohibited. (Github issue :issue:`7263`) + * The setup.py script in the Demos/ subdirectory failed to + build. (Github issue :issue:`7228`) + * The cygdb program failed to work with virtualenvs on Windows. + Patch by Merlin. (Github issue :issue:`7268`) + * Includes all fixes as of Cython 3.1.6. + * Some lesser used platforms (Windows ARM/i686, macOS x86_64, + Linux i686, musllinux) now use Py3.9 abi3 binary wheels + instead of Python version specific wheels. We also added an + abi3 wheel for armv7l. (Github issues :issue:`7227`, + :issue:`7248`, :issue:`7250`) + * Usages of Py_TPFLAGS_HAVE_FINALIZE were removed. The + constant remains available as cimport from cpython.object for + legacy reasons. (Github issue :issue:`6423`) + * Using cython.pymutex in an extension type declared as public + or api generated invalid C code missing the required PyMutex + declarations. (Github issues :issue:`6992`, :issue:`6995`) + * 3.2.0b2 generated incorrect pointer casts in the cimport + importing code. (Github issue :issue:`7268`) + * Cython's type sharing across modules suffered from race + conditions if multiple modules tried to initialise and share + their types concurrently. This is due to an underlying + CPython issue and cannot easily be worked around completely. + In the common case that module dicts are plain Python dict + objects, however, Cython now uses a .setdefault() equivalent + for thread-safe type sharing. See + https://github.com/python/cpython/issues/137422 (Github issue + :issue:`7076`) + * Cython incorrectly called PyList_GetItemRef() in PyPy and + GraalPython before Py3.13. (Github issue :issue:`7269`) + * The code generated for importing and exporting cimports + across modules uses less space. (Github issues :issue:`7255`, + :issue:`7265`) + * Iteration over memoryviews could loop indefinitely in 3.2b1 + when encountering a continue statement. (Github issue + :issue:`7259`) + * Extension arguments defined for the shared code module were + ignored in cythonize(). (Github issue :issue:`7251`) + * Failures while following package attributes in import + pkg.module as … were not handled. + * Trying to instantiate internal types used by Cython is now + prohibited. (Github issue :issue:`7263`) + * Includes all fixes as of Cython 3.1.6. + * The musllinux platform is now served with an abi3 Cython + wheel instead of Python specific ones. (Github issue + :issue:`7250`) + * Builtin exception types are now inferred. (Github issue + :issue:`6908`) + * The list of known, inferred and optimised Python builtins was + updated. range is now considered a type. ascii, bin, format, + hex, oct were added as functions. (Github issue + :issue:`6931`) + * The f-string syntax was extended according to PEP-701. + (Github issue :issue:`5452`) + * t-strings are implemented according to PEP-750. The + implementation backports the template classes but prefers + existing backports if installed separately. (Github issue + :issue:`6811`) + * Unknown return type annotations with -> are no longer + rejected but produce warnings. This allows better integration + with Python type hints that are not always usable for Cython. + -> None is also allowed now. Patch by jpe. (Github issue + :issue:`6946`) + * The runtime Python dispatch for fused functions is + substantially faster. (Github issues :issue:`1385`, + :issue:`6996`) + * Freelists (via cdef class decorator and for internally used + types such as async) are now also used in the Limited API and + with extension type specs enabled. (Github issue + :issue:`7151`) + * Module imports now quickly check for an already imported + module to speed up reimports. Patch by Lysandros Nikolaou. + (Github issue :issue:`7035`) + * Type checks on PEP-604 union types (int | None) are optimised + into separate checks. (Github issue :issue:`6935`) + * Assignments to the PEP-604 union type float | None allow any + suitable Python number as input and convert it to a Python + float automatically. (Github issue :issue:`5750`) + * Item type inference was improved for looping over literals. + (Github issue :issue:`6912`) + * Looping over literal sequences and strings now uses efficient + C array looping if possible. (Github issue :issue:`6926`) + * Releasing the GIL from an unknown lock state is more + efficient. (Github issue :issue:`6847`) + * cython.critical_section(PyMutex) now works, as with Python + objects. (Github issue :issue:`6847`) + * bool(c_int/float/ptr) avoid passing through Python objects. + (Github issue :issue:`7015`) + * Variables assigned inside of prange loops can now be + initialised outside of the loop. (Github issue :issue:`7178`) + * Unused exceptions in except clauses are detected in some more + cases to avoid their normalisation. (Github issue + :issue:`7021`) + * Mixed operations on C integers with Python ints use less code + and are more streamlined for Py3.12+. (Github issue + :issue:`7244`) + * Some object constants are now marked as immortal to speed up + their reference counting in recent CPython versions. This + can be configured with the CYTHON_IMMORTAL_CONSTANTS C macro. + (Github issue :issue:`7118`) + * Further improvements were made to reduce the size of the + resulting extension modules. (Github issue :issue:`6983`, + :issue:`7199`, :issue:`7220`, :issue:`7238`) + * Several improvements were made in freethreaded Python code. + (Github issues :issue:`6936`, :issue:`6939`, :issue:`6949`, + :issue:`6984`, :issue:`7011`, :issue:`7066`, :issue:`7114`, + :issue:`7200`) + * Several improvements were made for the Limited API. (Github + issues :issue:`6959`, :issue:`6991`) + * Several improvements were made for the GraalPython support. + Patch by Michael Šimáček. (Github issue :issue:`7074`) + * Some GIL-safe C-API wrappers were added to the libc/libcpp + declarations. (Github issue :issue:`6829`, :issue:`6993`) + * String and number constants use less storage space in the + module. (Github issues :issue:`6971`, :issue:`6978`, + :issue:`6986`) + * The managed dict/weakref support in CPython 3.12+ is used for + internal types to benefit from future CPython optimisations + here. (Github issue :issue:`6891`) + * Using NaN as exception return value is supported. (Github + issues :issue:`6900`, :issue:`6903`) + * Declarations for C++ condition variables were added. (Github + issue :issue:`6836`) + * The annotated source HTML page shows alternating +/− markers + to open/close lines. Patch by Kamil Monicz. (Github issue + :issue:`7099`) + * cython --embed gained a new option --embed-modules=… to list + further extension modules that will be statically linked into + the generated extension module, to get them initialised on + application start. (Github issue :issue:`2849`) + * The setup.py script of Cython now allows passing the desired + Limited API version like --cython-limited-api=3.11. (Github + issue :issue:`7228`) + * Unicode 16.0.0 is used to parse identifiers. (Github issue + :issue:`6836`) + * Special float exception values could generate invalid C code. + (Github issues :issue:`6900`, :issue:`6903`) + * References to the Python bool type could generate invalid C + code. (Github issue :issue:`6902`) + * Unicode characters formatted from C integers with + f"{value:c}" could result in invalid Python string objects + since Cython 3.1.0. (Github issue :issue:`7240`) + * Vectorcalls could use needless temp assignments for self. + (Github issue :issue:`6909`) + * Iterating over temporary memoryviews could crash Cython. + (Github issue :issue:`7005`) + * Type casts on constants as part of numeric expressions could + crash Cython. (Github issue :issue:`6779`) + * Long code bodies in with statements could crash Cython. + (Github issue :issue:`7122`) + * Indexing bytes failed to optimise in some cases. (Github + issue :issue:`6997`) + * Optimised C integer formatting in f-strings failed to apply + to typedef types. (Github issue :issue:`7170`) + * In auto-pickling, trying to unpickle an object that has no + __dict__ from object pickle data that includes instance dict + state is now an error. (Github issue :issue:`7222`) + * The type objects of heap types were not always correctly + decrefed on deallocation. (Github issue :issue:`7145`) + * Pure mode type aliases like p_int or ulong leaked into some C + type contexts, risking to conflict with user declarations. + (Github issues :issue:`6922`, :issue:`6339`) + * Boolean (emptyness) tests on builtin containers could fail to + handle (unlikely) errors. (Github issue :issue:`7090`) + * The return type of bytes.join() was sometimes inferred as + plain object. (Github issue :issue:`6987`) + * Type inference could fail to understand prange() arguments. + (Github issue :issue:`6974`) + * embedsignatures failed if lambda was used in function default + arguments. (Github issue :issue:`6880`) + * An internal C function was not marked as static and leaked a + linker symbol. (Github issue :issue:`6957`) + * PyType_FromModuleAndSpec was incorrectly used in Limited API + code before Py3.10. (Github issue :issue:`7181`) + * Conversion code for memoryview dtypes from and to Python + objects generated C warnings about incorrect const / non- + const casting code. (Github issue :issue:`7219`) + * cythonize (program and function) now uses + concurrent.futures.ProcessPoolExecutor instead of + multiprocessing.Pool to fix a hang on build failures in + parallel builds. A possible work-around is to disable + parallel builds. Patch by Sviatoslav Sydorenko. (Github + issue :issue:`7183`) + * Cython's tools and frontend scripts now use python3 instead + of just python in their shebang line. Patch by Matti Picus. + (Github issue :issue:`7053`) + * The setup.py script in the Demos/ subdirectory failed to + build. (Github issue :issue:`7228`) + * Includes all fixes as of Cython 3.1.5. + * Some lesser used platforms (Windows ARM/i686, macOS x86_64, + Linux i686) now use Py3.9 abi3 binary wheels instead of + Python version specific wheels. We also added a abi3 wheel + for armv7l. (Github issues :issue:`7227`, :issue:`7248`) + * Usages of Py_TPFLAGS_HAVE_FINALIZE were removed. The + constant remains available as cimport from cpython.object for + legacy reasons. (Github issue :issue:`6423`) + * Some internal C symbols were not declared as static, + preventing static linking of multiple modules. Patch by Yury + Popov. (Github issue :issue:`7310`) + * Accidentally using except + in C mode did not raise a compile + error but generated invalid C code leading to obscure error + messages. Patch by user202729. (Github issue :issue:`6560`) + * Unicode characters formatted from C integers with padding, as + in f"{value:XXc}", could result in invalid Python string + objects since Cython 3.1.0. Also, lone surrogates failed to + format in this way. (Github issue :issue:`7298`) + * Assigning nested structs from a list of structs (item by + item) could crash Cython. (Github issue :issue:`7308`) + * Cython incorrectly called PyList_GetItemRef() in PyPy and + GraalPython before Py3.13. (Github issue :issue:`7269`) + * Trying to instantiate internal types used by Cython is now + prohibited. (Github issue :issue:`7263`) + * Unicode characters formatted from C integers with + f"{value:c}" could result in invalid Python string objects + since Cython 3.1.0. (Github issue :issue:`7240`) + * cythonize (program and function) now uses + concurrent.futures.ProcessPoolExecutor instead of + multiprocessing.Pool to fix a hang on build failures in + parallel builds. A possible work-around is to disable + parallel builds. Patch by Sviatoslav Sydorenko. (Github + issue :issue:`7183`) + * Conversion from C++ strings longer than PY_SSIZE_T_MAX did + not validate the length. + * Some non-Limited API code was incorrectly used in generated + header files. (Github issue :issue:`7157`) + * Optimised unpacking of Python integers in expressions uses a + slightly safer scheme. (Github issue :issue:`7134`) + * Empty return statements were not always reported when + tracing. (Github issue :issue:`7022`) + * Value conversion errors when tracing C return statements no + longer fail the trace but fall back to reporting None returns + instead. (Github issue :issue:`6503`) + ------------------------------------------------------------------- Mon Sep 22 12:31:13 UTC 2025 - Markéta Machová diff --git a/python-Cython.spec b/python-Cython.spec index bba290e..08ce684 100644 --- a/python-Cython.spec +++ b/python-Cython.spec @@ -24,7 +24,7 @@ %endif %{?sle15_python_module_pythons} Name: python-Cython -Version: 3.1.4 +Version: 3.2.2 Release: 0 Summary: The Cython compiler for writing C extensions for the Python language License: Apache-2.0