Commit dd391121 authored by Stefan Behnel's avatar Stefan Behnel

Link PEP references directly to PEP web pages in changelog.

parent 806e2fe6
...@@ -8,21 +8,21 @@ Cython Changelog ...@@ -8,21 +8,21 @@ Cython Changelog
Features added Features added
-------------- --------------
* Extension module initialisation follows PEP 489 in CPython 3.5+, which resolves * Extension module initialisation follows
several differences with regard to normal Python modules. This makes the global `PEP 489 <https://www.python.org/dev/peps/pep-0489/>`_ in CPython 3.5+, which
names ``__file__`` and ``__path__`` correctly available to module level code and resolves several differences with regard to normal Python modules. This makes
improves the support for module-level relative imports. the global names ``__file__`` and ``__path__`` correctly available to module
https://www.python.org/dev/peps/pep-0489/ level code and improves the support for module-level relative imports.
(Github issues #1715, #1753) (Github issues #1715, #1753)
* Asynchronous generators (PEP 525) and asynchronous comprehensions (PEP 530) * Asynchronous generators (`PEP 525 <https://www.python.org/dev/peps/pep-0525/>`_)
and asynchronous comprehensions (`PEP 530 <https://www.python.org/dev/peps/pep-0530/>`_)
have been implemented. Note that async generators require finalisation support have been implemented. Note that async generators require finalisation support
in order to allow for asynchronous operations during cleanup, which is only in order to allow for asynchronous operations during cleanup, which is only
available in CPython 3.6+. All other functionality has been backported as usual. available in CPython 3.6+. All other functionality has been backported as usual.
https://www.python.org/dev/peps/pep-0525/
https://www.python.org/dev/peps/pep-0530/
* Variable annotations are now parsed according to PEP 526. Cython types (e.g. * Variable annotations are now parsed according to
`PEP 526 <https://www.python.org/dev/peps/pep-0526/>`_. Cython types (e.g.
``cython.int``) are evaluated as C type declarations and everything else as Python ``cython.int``) are evaluated as C type declarations and everything else as Python
types. This can be disabled with the directive ``annotation_typing=False``. types. This can be disabled with the directive ``annotation_typing=False``.
(Github issue #1850) (Github issue #1850)
...@@ -67,10 +67,12 @@ Bugs fixed ...@@ -67,10 +67,12 @@ Bugs fixed
Other changes Other changes
------------- -------------
* Type declarations in signature annotations are now parsed according to PEP 484 * Type declarations in signature annotations are now parsed according to
`PEP 484 <https://www.python.org/dev/peps/pep-0484/>`_
typing. Only Cython types (e.g. ``cython.int``) and Python builtin types are typing. Only Cython types (e.g. ``cython.int``) and Python builtin types are
currently considered as type declarations. Everything else is ignored, but this currently considered as type declarations. Everything else is ignored, but this
will probably change in a future Cython release. (Github issue #1672) will probably change in a future Cython release.
(Github issue #1672)
* The directive ``annotation_typing`` is now ``True`` by default, which enables * The directive ``annotation_typing`` is now ``True`` by default, which enables
parsing type declarations from annotations. parsing type declarations from annotations.
...@@ -326,7 +328,7 @@ Bugs fixed ...@@ -326,7 +328,7 @@ Bugs fixed
* IPython cell magic was lacking a good way to enable Python 3 code semantics. * IPython cell magic was lacking a good way to enable Python 3 code semantics.
It can now be used as "%%cython -3". It can now be used as "%%cython -3".
* Follow a recent change in `PEP 492 <https://www.python.org/dev/peps/pep-0498/>`_ * Follow a recent change in `PEP 492 <https://www.python.org/dev/peps/pep-0492/>`_
and CPython 3.5.2 that now requires the ``__aiter__()`` method of asynchronous and CPython 3.5.2 that now requires the ``__aiter__()`` method of asynchronous
iterators to be a simple ``def`` method instead of an ``async def`` method. iterators to be a simple ``def`` method instead of an ``async def`` method.
...@@ -356,12 +358,12 @@ Bugs fixed ...@@ -356,12 +358,12 @@ Bugs fixed
Features added Features added
-------------- --------------
* PEP 498: Literal String Formatting (f-strings). * `PEP 498 <https://www.python.org/dev/peps/pep-0498/>`_:
Literal String Formatting (f-strings).
Original patch by Jelle Zijlstra. Original patch by Jelle Zijlstra.
https://www.python.org/dev/peps/pep-0498/
* PEP 515: Underscores as visual separators in number literals. * `PEP 515 <https://www.python.org/dev/peps/pep-0515/>`_:
https://www.python.org/dev/peps/pep-0515/ Underscores as visual separators in number literals.
* Parser was adapted to some minor syntax changes in Py3.6, e.g. * Parser was adapted to some minor syntax changes in Py3.6, e.g.
https://bugs.python.org/issue9232 https://bugs.python.org/issue9232
...@@ -544,11 +546,11 @@ Bugs fixed ...@@ -544,11 +546,11 @@ Bugs fixed
Features added Features added
-------------- --------------
* PEP 492 (async/await) was implemented. * `PEP 492 <https://www.python.org/dev/peps/pep-0492/>`_
See https://www.python.org/dev/peps/pep-0492/ (async/await) was implemented.
* PEP 448 (Additional Unpacking Generalizations) was implemented. * `PEP 448 <https://www.python.org/dev/peps/pep-0448/>`_
See https://www.python.org/dev/peps/pep-0448/ (Additional Unpacking Generalizations) was implemented.
* Support for coverage.py 4.0+ can be enabled by adding the plugin * Support for coverage.py 4.0+ can be enabled by adding the plugin
"Cython.Coverage" to the ".coveragerc" config file. "Cython.Coverage" to the ".coveragerc" config file.
...@@ -739,9 +741,9 @@ Features added ...@@ -739,9 +741,9 @@ Features added
* Anonymous C tuple types can be declared as (ctype1, ctype2, ...). * Anonymous C tuple types can be declared as (ctype1, ctype2, ...).
* PEP 479: turn accidental StopIteration exceptions that exit generators * `PEP 479 <https://www.python.org/dev/peps/pep-0479/>`_:
turn accidental StopIteration exceptions that exit generators
into a RuntimeError, activated with future import "generator_stop". into a RuntimeError, activated with future import "generator_stop".
See https://www.python.org/dev/peps/pep-0479/
* Looping over ``reversed(range())`` is optimised in the same way as * Looping over ``reversed(range())`` is optimised in the same way as
``range()``. Patch by Favian Contreras. ``range()``. Patch by Favian Contreras.
......
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