====================
Features added
--------------
* Avoid acquiring the GIL at the end of nogil functions.
This change was backported in order to avoid generating wrong C code
that would trigger C compiler warnings with tracing support enabled.
Backport by Oleksandr Pavlyk. (Github issue :issue:`4637`)
Bugs fixed
----------
* Function definitions in ``finally:`` clauses were not correctly generated.
Patch by David Woods. (Github issue :issue:`4651`)
* A case where C-API functions could be called with a live exception set was fixed.
Patch by Jakub Kulík. (Github issue :issue:`4722`)
* Pickles can now be exchanged again with those generated from Cython 3.0 modules.
(Github issue :issue:`4680`)
* Cython now correctly generates Python methods for both the provided regular and
reversed special numeric methods of extension types.
Patch by David Woods. (Github issue :issue:`4750`)
* Calling unbound extension type methods without arguments could raise an
``IndexError`` instead of a ``TypeError``.
Patch by David Woods. (Github issue :issue:`4779`)
* Calling unbound ``.__contains__()`` super class methods on some builtin base
types could trigger an infinite recursion.
Patch by David Woods. (Github issue :issue:`4785`)
* The C union type in pure Python mode mishandled some field names.
Patch by Jordan Brière. (Github issue :issue:`4727`)
* Allow users to overwrite the C macro ``_USE_MATH_DEFINES``.
Patch by Yuriy Chernyshov. (Github issue :issue:`4690`)
* Improved compatibility with CPython 3.10/11.
Patches by Thomas Caswell, David Woods.
(Github issues :issue:`4609`, :issue:`4667`, :issue:`4721`, :issue:`4730`, :issue:`4777`)
* Docstrings of descriptors are now provided in PyPy 7.3.9.
Patch by Matti Picus. (Github issue :issue:`4701`)