Commit a32e3fc4 authored by Stefan Behnel's avatar Stefan Behnel

Update changelog.

parent 13f8cd75
...@@ -2,6 +2,47 @@ ...@@ -2,6 +2,47 @@
Cython Changelog Cython Changelog
================ ================
3.0.0 alpha 11 (2022-0?-??)
===========================
Features added
--------------
* A new decorator ``@cython.dataclasses.dataclass`` was implemented that provides
compile time dataclass generation capabilities to ``cdef`` classes (extension types).
Patch by David Woods. (Github issue :issue:`2903`)
* Named expressions (PEP 572) aka. assignment expressions (aka. the walrus operator
``:=``) were implemented.
Patch by David Woods. (Github issue :issue:`2636`)
* 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`.
Patch by Evgeni Burovski. (Github issue :issue:`1214`)
* The generated C code now compiles in CPython 3.11a4.
(Github issue :issue:`4500`)
Bugs fixed
----------
* Includes all bug-fixes from the :ref:`0.29.27` 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``.
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
allowed when it is used as default argument, i.e. ``func(x: list = None)``.
Note that, for backwards compatibility reasons, this does not apply when using Cython's
C notation, as in ``func(list x)``. Here, ``None`` is still allowed, as always.
(Github issues :issue:`3883`, :issue:`2696`)
3.0.0 alpha 10 (2022-01-06) 3.0.0 alpha 10 (2022-01-06)
=========================== ===========================
...@@ -903,16 +944,16 @@ Features added ...@@ -903,16 +944,16 @@ Features added
* The ``cythonize`` command has a new option ``-M`` to generate ``.dep`` dependency * 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 files for the compilation unit. This can be used by external build tools to track
these dependencies. these dependencies.
Patch by Evgeni Burovski. (Github issue #1214) Patch by Evgeni Burovski. (Github issue :issue:`1214`)
Bugs fixed Bugs fixed
---------- ----------
* Compilation failures on PyPy were resolved. * Compilation failures on PyPy were resolved.
Patches by Matti Picus. (Github issues #4509, #4517) Patches by Matti Picus. (Github issues :issue:`4509`, :issue:`4517`)
* Calls to ``range()`` with more than three arguments did not fail. * Calls to ``range()`` with more than three arguments did not fail.
Original patch by Max Bachmann. (Github issue #4550) Original patch by Max Bachmann. (Github issue :issue:`4550`)
* Some C compiler warnings about missing type struct initialisers in Py3.10 were resolved. * Some C compiler warnings about missing type struct initialisers in Py3.10 were resolved.
......
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