Commit 0ee4a655 authored by Stefan Behnel's avatar Stefan Behnel

Update changelog.

parent 5bc42067
......@@ -16,6 +16,10 @@ Features added
``:=``) were implemented.
Patch by David Woods. (Github issue :issue:`2636`)
* Some C++ library declarations were extended and fixed.
Patches by Max Bachmann, Till Hoffmann, Julien Jerphanion.
(Github issues :issue:`4530`, :issue:`4528`, :issue:`4710`, :issue:`4746`)
* The ``cythonize`` command has a new option ``-M`` to generate ``.dep`` dependency
files for the compilation unit. This can be used by external build tools to track
these dependencies. Already available in Cython :ref:`0.29.27`.
......@@ -27,19 +31,46 @@ Features added
* The environment variable ``CYTHON_FORCE_REGEN=1`` can be used to force ``cythonize``
to regenerate the output files regardless of modification times and changes.
* The generated C code now compiles in CPython 3.11a4.
* The generated C code failed to compile in CPython 3.11a4 and later.
(Github issue :issue:`4500`)
* A new Cython build option ``--cython-compile-minimal`` was added to compile only a
smaller set of Cython modules, which can be used to reduce the package and install size.
Bugs fixed
----------
* Includes all bug-fixes from the :ref:`0.29.27` release.
* Decorators like ``@cfunc`` and ``@ccall`` could leak into nested functions and classes.
Patch by David Woods. (Github issue :issue:`4092`)
* Exceptions within for-loops that run over memoryviews could lead to a ref-counting error.
Patch by David Woods. (Github issue :issue:`4662`)
* Several optimised string methods failed to accept ``None`` as arguments to their options.
Test patch by Kirill Smelkov. (Github issue :issue:`4737`)
* Typedefs for the ``bint`` type did not always behave like ``bint``.
Patch by 0dminnimda. (Github issue :issue:`4660`)
* The return type of a fused function is no longer ignored for function pointers,
since it is relevant when passing them e.g. as argument into other fused functions.
Patch by David Woods. (Github issue :issue:`4644`)
* A case of undefined C behaviour was resolved in the list slicing code.
Patch by Richard Barnes. (Github issue :issue:`4734`)
* Using the Limited API could report incorrect line numbers in tracebacks.
* A work-around for StacklessPython < 3.8 was disabled in Py3.8 and later.
(Github issue :issue:4329)
* Includes all bug-fixes from the :ref:`0.29.29` release.
Other changes
-------------
* When using type annotations, ``func(x: list)`` or ``func(x: ExtType)`` (and other
Python builtin or extension types) now disallow ``None`` as input argument to ``x``.
Python builtin or extension types) no longer allow ``None`` as input argument to ``x``.
This is consistent with the normal typing semantics in Python, and was a common gotcha
for users who did not expect ``None`` to be allowed as input. To allow ``None``, use
``typing.Optional`` as in ``func(x: Optional[list])``. ``None`` is also automatically
......@@ -48,6 +79,13 @@ Other changes
C notation, as in ``func(list x)``. Here, ``None`` is still allowed, as always.
(Github issues :issue:`3883`, :issue:`2696`)
* The compile-time ``DEF`` and ``IF`` statements are deprecated and generate a warning.
They should be replaced with normal constants, code generation or C macros.
(Github issue :issue:`4310`)
* Reusing an extension type attribute name as a method name is now an error.
Patch by 0dminnimda. (Github issue :issue:`4661`)
3.0.0 alpha 10 (2022-01-06)
===========================
......@@ -948,25 +986,26 @@ Bugs fixed
----------
* Function definitions in ``finally:`` clauses were not correctly generated.
Patch by David Woods. (Github issue #4651)
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 #4722)
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 #4680)
(Github issue :issue:`4680`)
* The C union type in pure Python mode mishandled some field names.
Patch by Jordan Brière. (Github issue #4727)
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 #4690)
Patch by Yuriy Chernyshov. (Github issue :issue:`4690`)
* Improved compatibility with CPython 3.10/11.
Patches by Thomas Caswell, David Woods. (Github issues #4609, #4667, #4721, #4730)
Patches by Thomas Caswell, David Woods.
(Github issues :issue:`4609`, :issue:`4667`, :issue:`4721`, :issue:`4730`)
* Docstrings of descriptors are now provided in PyPy 7.3.9.
Patch by Matti Picus. (Github issue #4701)
Patch by Matti Picus. (Github issue :issue:`4701`)
.. _0.29.28:
......@@ -980,10 +1019,10 @@ Bugs fixed
* Due to backwards incompatible changes in CPython 3.11a4, the feature flags
``CYTHON_FAST_THREAD_STATE`` and ``CYTHON_USE_EXC_INFO_STACK`` are now disabled
in Python 3.11 and later. They are enabled again in Cython 3.0.
Patch by David Woods. (Github issue #4610)
Patch by David Woods. (Github issue :issue:`4610`)
* A C compiler warning in older PyPy versions was resolved.
Patch by Matti Picus. (Github issue #4236)
Patch by Matti Picus. (Github issue :issue:`4236`)
.. _0.29.27:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment