Opened 4 months ago

Closed 4 months ago

#23345 closed enhancement (fixed)

cython-3.2.5 (Python module)

Reported by: Bruce Dubbs Owned by: Joe Locash
Priority: normal Milestone: 13.1
Component: BOOK Version: git
Severity: medium Keywords:
Cc:

Description

New point version.

Change History (2)

comment:1 by Joe Locash, 4 months ago

Owner: changed from blfs-book to Joe Locash
Status: new → assigned

comment:2 by Joe Locash, 4 months ago

Resolution: → fixed
Status: assigned → closed
3.2.5 (2026-05-23)
==================

Bugs fixed
----------

* A compile failure was fixed when using the walrus operator inside of try-except.
  (Github issue :issue:`7462`)

* Expressions with side-effects as object argument to ``isinstance()`` could get
  evaluated multiple times, e.g. when they use the walrus operator.
  (Github issue :issue:`7670`)

* Several problems generating the shared utility module were resolved, including
  a performance regression with memory views.
  (Github issues :issue:`7487`, :issue:`7497`, :issue:`7504`, :issue:`7558`)

* Some GC and refcounting issues were resolved for Cython functions in the Limited API.
  (Github issue :issue:`7594`)

* Refcounting errors and error handling issues were resolved in some rare error handling cases.
  (Github issues :issue:`7597`, :issue:`7599`, :issue:`7612`, :issue:`7673`)

* Using ``cython.pymutex`` in an extension type with ``cdef`` methods generated
  invalid C code missing the required ``PyMutex`` declarations.
  (Github issue :issue:`6995`)

* Calling ``.get_frame()`` on Cython coroutines could crash in freethreading Python.
  (Github issue :issue:`7632`)

* The vectorcall protocol was not used correctly in ``.throw()`` of Cython coroutines
  when raising the exception only by type (without value or traceback).
  (Github issue :issue:`7677`)

* A problem with cpdef enums in the Limited API of Python 3.11+ was resolved.
  (Github issue :issue:`7503`)

* Unicode predicates like ``.isdigit()`` are now allowed to fail in the Limited API.
  (Github issue :issue:`7602`)

* Conditional expressions mixing Python float and int object types could accidentally
  infer float as the common result type, instead of treating both independently.

* Using ``sizeof()`` in the size declarations of ``extern`` arrays failed.
  (Github issue :issue:`7451`)

* Enabling profiling generated invalid C code for non-Python return tuples.
  (Github issue :issue:`7580`)

* ``abs()`` on C ``long long`` values could generate invalid C code.

* When the ``CYTHON_AVOID_BORROWED_REFS`` C macro is enabled, e.g. in GraalPython,
  dict iteration could fail to compile.
  Patch by Michael Šimáček.  (Github issue :issue:`7631`)

* A C compiler warning about unused functions was resolved.
  (Github issue :issue:`7560`)

* The ``py_safe_call_once()`` C++ mutex helper function in ``libcpp.mutex``
  failed to compile.
  (Github issue :issue:`7585`)

* The ``cpython.array`` declarations were adapted for Python 3.15.  Direct access
  to the C struct of the ``array.array`` data type might require user code changes.
  (Github issue :issue:`7659`)

* Spaces in file paths written to the ``depfile`` were not escaped.
  Patch by Loïc Estève.  (Github issue :issue:`7423`)

* Cython's cache failed to restore multi-file results.
  (Github issue :issue:`7559`)

* Using Tempita from its command line failed with a name error.
  (Github issue :issue:`7567`)

Other changes
-------------

* The known builtin types were updated for Py3.15.

Fixed at a37a1f3dd7.

Note: See TracTickets for help on using tickets.