@ -5,72 +5,81 @@ Python 3.7
New Features:
+--------------------------------------------------------+--------------------------------------------------+----------------+
| **Features:** | **Status** |
+--------------------------------------------------------+--------------------------------------------------+----------------+
.. table ::
:widths: 20 60 20
+--------------------------------------------------------+--------------------------------------------------+--------------------------------------+
| **Feature** | **Status** |
+--------------------------------------------------------+--------------------------------------------------+--------------------------------------+
| `PEP 538 <https://www.python.org/dev/peps/pep-0538/> `_ | Coercing the legacy C locale to a UTF-8 based | |
| | locale | |
+--------------------------------------------------------+--------------------------------------------------+----------------+
+--------------------------------------------------------+--------------------------------------------------+-------------------------------------- +
| `PEP 539 <https://www.python.org/dev/peps/pep-0539/> `_ | A New C-API for Thread-Local Storage in CPython | |
+--------------------------------------------------------+--------------------------------------------------+----------------+
+--------------------------------------------------------+--------------------------------------------------+-------------------------------------- +
| `PEP 540 <https://www.python.org/dev/peps/pep-0540/> `_ | UTF-8 mode | |
+--------------------------------------------------------+--------------------------------------------------+----------------+
+--------------------------------------------------------+--------------------------------------------------+-------------------------------------- +
| `PEP 552 <https://www.python.org/dev/peps/pep-0552/> `_ | Deterministic pyc | |
+--------------------------------------------------------+--------------------------------------------------+----------------+
| `PEP 553 <https://www.python.org/dev/peps/pep-0553/> `_ | Built-in breakpoint() | |
+--------------------------------------------------------+--------------------------------------------------+----------------+
+--------------------------------------------------------+--------------------------------------------------+-------------------------------------- +
| `PEP 553 <https://www.python.org/dev/peps/pep-0553/> `_ | Built-in `` breakpoint() `` | |
+--------------------------------------------------------+--------------------------------------------------+-------------------------------------- +
| `PEP 557 <https://www.python.org/dev/peps/pep-0557/> `_ | Data Classes | |
+--------------------------------------------------------+--------------------------------------------------+----------------+
+--------------------------------------------------------+--------------------------------------------------+-------------------------------------- +
| `PEP 560 <https://www.python.org/dev/peps/pep-0560/> `_ | Core support for typing module and generic types | |
+--------------------------------------------------------+--------------------------------------------------+----------------+
| `PEP 562 <https://www.python.org/dev/peps/pep-0562/> `_ | Module __getattr__ and __dir__ | Partially done |
+--------------------------------------------------------+--------------------------------------------------+----------------+
+--------------------------------------------------------+--------------------------------------------------+-------------------------------------- +
| `PEP 562 <https://www.python.org/dev/peps/pep-0562/> `_ | Module `` __getattr__ `` and `` __dir__ `` | Partial |
+--------------------------------------------------------+--------------------------------------------------+-------------------------------------- +
| `PEP 563 <https://www.python.org/dev/peps/pep-0563/> `_ | Postponed Evaluation of Annotations | |
+--------------------------------------------------------+--------------------------------------------------+----------------+
| `PEP 564 <https://www.python.org/dev/peps/pep-0564/> `_ | Time functions with nanosecond resolution | |
+--------------------------------------------------------+--------------------------------------------------+----------------+
| `PEP 565 <https://www.python.org/dev/peps/pep-0565/> `_ | Show DeprecationWarning in __main__ | |
+--------------------------------------------------------+--------------------------------------------------+----------------+
+--------------------------------------------------------+--------------------------------------------------+-------------------------------------- +
| `PEP 564 <https://www.python.org/dev/peps/pep-0564/> `_ | Time functions with nanosecond resolution | Partial [#ftimenanosec]_ |
+--------------------------------------------------------+--------------------------------------------------+-------------------------------------- +
| `PEP 565 <https://www.python.org/dev/peps/pep-0565/> `_ | Show DeprecationWarning in `` __main__ `` | |
+--------------------------------------------------------+--------------------------------------------------+-------------------------------------- +
| `PEP 567 <https://www.python.org/dev/peps/pep-0567/> `_ | Context Variables | |
+--------------------------------------------------------+--------------------------------------------------+----------------+
+--------------------------------------------------------+--------------------------------------------------+-------------------------------------- +
Other Language Changes:
+----------------------------------------------------------------------------------------------------------+----------------+
| async and await are now reserved keywords | Completed |
+----------------------------------------------------------------------------------------------------------+----------------+
| dict objects must preserve insertion-order | |
+----------------------------------------------------------------------------------------------------------+----------------+
.. table ::
:widths: 90 10
+-----------------------------------------------------------------------------------------------------------------+----------------+
| `` async `` and `` await `` are now reserved keywords | Complete |
+-----------------------------------------------------------------------------------------------------------------+----------------+
| `` dict `` objects must preserve insertion-order | |
+-----------------------------------------------------------------------------------------------------------------+----------------+
| More than 255 arguments can now be passed to a function; a function can now have more than 255 parameters | |
+----------------------------------------------------------------------------------------------------------+----------------+
| bytes.fromhex() and bytearray.fromhex() now ignore all ASCII whitespace, not only spaces | |
+----------------------------------------------------------------------------------------------------------+----------------+
| str, bytes, and bytearray gained support for the new isascii() method, which can be used to test if a | |
| string or bytes contain only the ASCII characters | |
+----------------------------------------------------------------------------------------------------------+----------------+
| ImportError now displays module name and module __file__ path whenfrom ... import ... fails | |
+----------------------------------------------------------------------------------------------------------+----------------+
+----------------------------------------------------------------------------------------------------------------- +----------------+
| `` bytes.fromhex() `` and `` bytearray.fromhex() `` now ignore all ASCII whitespace, not only spaces | |
+----------------------------------------------------------------------------------------------------------------- +----------------+
| `` str `` , `` bytes `` , and `` bytearray `` gained support for the new `` isascii() `` method, which can be used to | |
| test if a string or bytes contain only the ASCII characters | |
+----------------------------------------------------------------------------------------------------------------- +----------------+
| `` ImportError `` now displays module name and module `` __file__ `` path when `` from ... import ... `` fails | |
+----------------------------------------------------------------------------------------------------------------- +----------------+
| Circular imports involving absolute imports with binding a submodule to a name are now supported | |
+----------------------------------------------------------------------------------------------------------+----------------+
| object.__format__(x, '') is now equivalent to str(x) rather than format(str(self), '') | |
+----------------------------------------------------------------------------------------------------------+----------------+
| In order to better support dynamic creation of stack traces, types.TracebackType can now be instantiated | |
| from Python code, and the tb_next attribute on tracebacks is now writable | |
+----------------------------------------------------------------------------------------------------------+----------------+
| When using the -m switch, sys.path[0] is now eagerly expanded to the full starting directory path, rather | |
| than being left as the empty directory (which allows imports from the current working directory at the | |
| time when an import occurs) | |
+----------------------------------------------------------------------------------------------------------+----------------+
| The new -X importtime option or the PYTHONPROFILEIMPORTTIME environment variable can be used to show the | |
| timing of each module import | |
+----------------------------------------------------------------------------------------------------------+----------------+
+----------------------------------------------------------------------------------------------------------------- +----------------+
| `` object.__format__(x, '') `` is now equivalent to `` str(x) `` rather than `` format(str(self), '') `` | |
+----------------------------------------------------------------------------------------------------------------- +----------------+
| In order to better support dynamic creation of stack traces, `` types.TracebackType `` can now be | |
| instantiated from Python code, and the `` tb_next `` attribute on tracebacks is now writable | |
+----------------------------------------------------------------------------------------------------------------- +----------------+
| When using the `` -m `` switch, `` sys.path[0] `` is now eagerly expanded to the full starting directory path, | |
| rather than being left as the empty directory (which allows imports from the current working directory | |
| at the time when an import occurs) | |
+----------------------------------------------------------------------------------------------------------------- +----------------+
| The new `` -X importtime `` option or the `` PYTHONPROFILEIMPORTTIME `` environment variable can be used to | |
| show the timing of each module import | |
+----------------------------------------------------------------------------------------------------------------- +----------------+
Changes to built-in modules:
.. table ::
:widths: 90 10
+------------------------------------------------------------------------------------------------------------+----------------+
| `asyncio <https://docs.python.org/3/whatsnew/3.7.html#asyncio> `_ | |
+------------------------------------------------------------------------------------------------------------+----------------+
| asyncio (many, may need a separate ticket) | |
| Too many to list | |
+------------------------------------------------------------------------------------------------------------+----------------+
| `gc <https://docs.python.org/3/whatsnew/3.7.html#gc> `_ | |
+------------------------------------------------------------------------------------------------------------+----------------+
@ -93,3 +102,7 @@ Changes to built-in modules:
+------------------------------------------------------------------------------------------------------------+----------------+
| Mostly updates to support nanosecond resolution in PEP564, see above | |
+------------------------------------------------------------------------------------------------------------+----------------+
.. rubric :: Notes
.. [#ftimenanosec] Only :func: `time.time_ns` is implemented.