8000 Release 3.1.0rc2 · cython/cython · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

3.1.0rc2

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 07 May 13:33
· 9 commits to master since this release
3.1.0 rc 2 (2025-05-07)

=======================

Features added
--------------

* Declarations for C++ ``std::stop_token`` were added as ``libcpp.stop_token`` to provide
  additional low-level synchronisation primitives also in the light of free-threading Python.
  (Github issue :issue:`6820`)

* The generation of the shared module now happens automatically from ``cythonize()`` in a
  ``setuptools`` build if a corresponding ``Extension`` has been configured.
  This avoids an additional step outside of the ``setup.py`` or ``pip wheel`` run.
  (Github issue :issue:`6842`)

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

* Variables typed as builtin Python exception types now accept subtypes instead of rejecting them.
  This specifically impacted t
4032
ypes like ``BaseException``, ``Exception`` or ``OSError``,
  which almost always intend to reference subtypes.
  (Github issue :issue:`6828`)

* Functions with more than 10 constant default argument values could generate invalid C code.
  (Github issue :issue:`6843`)

* The ``call_once()`` function argument in ``libc.threads`` (new in 3.1) was changed to require
  a ``nogil`` declaration, as semantically implied.  Code that used it with a callback function
  expecting to hold the GIL must change the callback code to use ``with gil``.

* Calling cimported C functions with their fully qualified package name could crash Cython.
  (Github issue :issue:`6551`)

* Naming a variable after its inferred type (e.g. `str += ""`) could trigger an infinite loop in Cython.
  (Github issue :issue:`6835`)

* Cython is more relaxed about the exact C++ constructor name when it calls ``new()`` on ctypedefs.
  (Github issue :issue:`6821`)

* Using ``cpp_locals`` in nogil sections could crash.
  (Github issue :issue:`6838`)

* ``const struct`` declarations could lead to invalid assignments to ``const`` temp variables.
  (Github issue :issue:`6804`)

* A refcounting error was fixed in the method class cell support code.
  (Github issue :issue:`6839`)
0