| .. bpo: 33136 |
| .. date: 2018-03-25-12-05-43 |
| .. nonce: TzSN4x |
| .. release date: 2018-03-29 |
| .. section: Security |
| |
| Harden ssl module against LibreSSL CVE-2018-8970. |
| X509_VERIFY_PARAM_set1_host() is called with an explicit namelen. A new test |
| ensures that NULL bytes are not allowed. |
| |
| .. |
| |
| .. bpo: 33001 |
| .. date: 2018-03-05-10-09-51 |
| .. nonce: elj4Aa |
| .. section: Security |
| |
| Minimal fix to prevent buffer overrun in os.symlink on Windows |
| |
| .. |
| |
| .. bpo: 32981 |
| .. date: 2018-03-02-10-24-52 |
| .. nonce: O_qDyj |
| .. section: Security |
| |
| Regexes in difflib and poplib were vulnerable to catastrophic backtracking. |
| These regexes formed potential DOS vectors (REDOS). They have been |
| refactored. This resolves CVE-2018-1060 and CVE-2018-1061. Patch by Jamie |
| Davis. |
| |
| .. |
| |
| .. bpo: 33053 |
| .. date: 2018-03-25-19-49-06 |
| .. nonce: V3xlsH |
| .. section: Core and Builtins |
| |
| When using the -m switch, sys.path[0] is now explicitly expanded as the |
| *starting* working directory, rather than being left as the empty path |
| (which allows imports from the current working directory at the time of the |
| import) |
| |
| .. |
| |
| .. bpo: 33018 |
| .. date: 2018-03-22-23-09-06 |
| .. nonce: 0ncEJV |
| .. section: Core and Builtins |
| |
| Improve consistency of errors raised by ``issubclass()`` when called with a |
| non-class and an abstract base class as the first and second arguments, |
| respectively. Patch by Josh Bronson. |
| |
| .. |
| |
| .. bpo: 33041 |
| .. date: 2018-03-18-13-56-14 |
| .. nonce: XwPhI2 |
| .. section: Core and Builtins |
| |
| Fixed jumping when the function contains an ``async for`` loop. |
| |
| .. |
| |
| .. bpo: 33026 |
| .. date: 2018-03-08-09-48-38 |
| .. nonce: QZA3Ba |
| .. section: Core and Builtins |
| |
| Fixed jumping out of "with" block by setting f_lineno. |
| |
| .. |
| |
| .. bpo: 33005 |
| .. date: 2018-03-06-12-19-19 |
| .. nonce: LP-V2U |
| .. section: Core and Builtins |
| |
| Fix a crash on fork when using a custom memory allocator (ex: using |
| PYTHONMALLOC env var). _PyGILState_Reinit() and _PyInterpreterState_Enable() |
| now use the default RAW memory allocator to allocate a new interpreters |
| mutex on fork. |
| |
| .. |
| |
| .. bpo: 17288 |
| .. date: 2018-02-27-13-36-21 |
| .. nonce: Gdj24S |
| .. section: Core and Builtins |
| |
| Prevent jumps from 'return' and 'exception' trace events. |
| |
| .. |
| |
| .. bpo: 32836 |
| .. date: 2018-02-14-12-35-47 |
| .. nonce: bThJnx |
| .. section: Core and Builtins |
| |
| Don't use temporary variables in cases of list/dict/set comprehensions |
| |
| .. |
| |
| .. bpo: 33141 |
| .. date: 2018-03-26-12-33-13 |
| .. nonce: 23wlxf |
| .. section: Library |
| |
| Have Field objects pass through __set_name__ to their default values, if |
| they have their own __set_name__. |
| |
| .. |
| |
| .. bpo: 33096 |
| .. date: 2018-03-25-13-18-16 |
| .. nonce: ofdbe7 |
| .. section: Library |
| |
| Allow ttk.Treeview.insert to insert iid that has a false boolean value. Note |
| iid=0 and iid=False would be same. Patch by Garvit Khatri. |
| |
| .. |
| |
| .. bpo: 32873 |
| .. date: 2018-03-24-19-54-48 |
| .. nonce: cHyoAm |
| .. section: Library |
| |
| Treat type variables and special typing forms as immutable by copy and |
| pickle. This fixes several minor issues and inconsistencies, and improves |
| backwards compatibility with Python 3.6. |
| |
| .. |
| |
| .. bpo: 33134 |
| .. date: 2018-03-24-19-34-26 |
| .. nonce: hbVeIX |
| .. section: Library |
| |
| When computing dataclass's __hash__, use the lookup table to contain the |
| function which returns the __hash__ value. This is an improvement over |
| looking up a string, and then testing that string to see what to do. |
| |
| .. |
| |
| .. bpo: 33127 |
| .. date: 2018-03-24-15-08-24 |
| .. nonce: olJmHv |
| .. section: Library |
| |
| The ssl module now compiles with LibreSSL 2.7.1. |
| |
| .. |
| |
| .. bpo: 32505 |
| .. date: 2018-03-22-16-05-56 |
| .. nonce: YK1N8v |
| .. section: Library |
| |
| Raise TypeError if a member variable of a dataclass is of type Field, but |
| doesn't have a type annotation. |
| |
| .. |
| |
| .. bpo: 33078 |
| .. date: 2018-03-21-17-59-39 |
| .. nonce: PQOniT |
| .. section: Library |
| |
| Fix the failure on OSX caused by the tests relying on sem_getvalue |
| |
| .. |
| |
| .. bpo: 33116 |
| .. date: 2018-03-21-16-52-26 |
| .. nonce: Tvzerj |
| .. section: Library |
| |
| Add 'Field' to dataclasses.__all__. |
| |
| .. |
| |
| .. bpo: 32896 |
| .. date: 2018-03-20-20-53-21 |
| .. nonce: ewW3Ln |
| .. section: Library |
| |
| Fix an error where subclassing a dataclass with a field that uses a |
| default_factory would generate an incorrect class. |
| |
| .. |
| |
| .. bpo: 33100 |
| .. date: 2018-03-19-20-47-00 |
| .. nonce: chyIO4 |
| .. section: Library |
| |
| Dataclasses: If a field has a default value that's a MemberDescriptorType, |
| then it's from that field being in __slots__, not an actual default value. |
| |
| .. |
| |
| .. bpo: 32953 |
| .. date: 2018-03-18-17-38-48 |
| .. nonce: t8WAWN |
| .. section: Library |
| |
| If a non-dataclass inherits from a frozen dataclass, allow attributes to be |
| added to the derived class. Only attributes from the frozen dataclass |
| cannot be assigned to. Require all dataclasses in a hierarchy to be either |
| all frozen or all non-frozen. |
| |
| .. |
| |
| .. bpo: 33061 |
| .. date: 2018-03-16-16-07-33 |
| .. nonce: TRTTek |
| .. section: Library |
| |
| Add missing ``NoReturn`` to ``__all__`` in typing.py |
| |
| .. |
| |
| .. bpo: 33078 |
| .. date: 2018-03-15-07-38-00 |
| .. nonce: RmjUF5 |
| .. section: Library |
| |
| Fix the size handling in multiprocessing.Queue when a pickling error occurs. |
| |
| .. |
| |
| .. bpo: 33064 |
| .. date: 2018-03-12-19-58-25 |
| .. nonce: LO2KIY |
| .. section: Library |
| |
| lib2to3 now properly supports trailing commas after ``*args`` and |
| ``**kwargs`` in function signatures. |
| |
| .. |
| |
| .. bpo: 33056 |
| .. date: 2018-03-12-16-40-00 |
| .. nonce: lNN9Eh |
| .. section: Library |
| |
| FIX properly close leaking fds in concurrent.futures.ProcessPoolExecutor. |
| |
| .. |
| |
| .. bpo: 33021 |
| .. date: 2018-03-12-00-27-56 |
| .. nonce: m19B9T |
| .. section: Library |
| |
| Release the GIL during fstat() calls, avoiding hang of all threads when |
| calling mmap.mmap(), os.urandom(), and random.seed(). Patch by Nir Soffer. |
| |
| .. |
| |
| .. bpo: 31804 |
| .. date: 2018-03-11-19-03-52 |
| .. nonce: i8KUMp |
| .. section: Library |
| |
| Avoid failing in multiprocessing.Process if the standard streams are closed |
| or None at exit. |
| |
| .. |
| |
| .. bpo: 33037 |
| .. date: 2018-03-09-23-07-07 |
| .. nonce: nAJ3at |
| .. section: Library |
| |
| Skip sending/receiving data after SSL transport closing. |
| |
| .. |
| |
| .. bpo: 27683 |
| .. date: 2018-03-07-22-28-17 |
| .. nonce: 572Rv4 |
| .. section: Library |
| |
| Fix a regression in :mod:`ipaddress` that result of :meth:`hosts` is empty |
| when the network is constructed by a tuple containing an integer mask and |
| only 1 bit left for addresses. |
| |
| .. |
| |
| .. bpo: 32999 |
| .. date: 2018-03-06-20-30-20 |
| .. nonce: lgFXWl |
| .. section: Library |
| |
| Fix C implementation of ``ABC.__subclasscheck__(cls, subclass)`` crashed when |
| ``subclass`` is not a type object. |
| |
| .. |
| |
| .. bpo: 33009 |
| .. date: 2018-03-06-11-54-59 |
| .. nonce: -Ekysb |
| .. section: Library |
| |
| Fix inspect.signature() for single-parameter partialmethods. |
| |
| .. |
| |
| .. bpo: 32969 |
| .. date: 2018-03-06-00-19-41 |
| .. nonce: rGTKa0 |
| .. section: Library |
| |
| Expose several missing constants in zlib and fix corresponding |
| documentation. |
| |
| .. |
| |
| .. bpo: 32056 |
| .. date: 2018-03-01-17-49-56 |
| .. nonce: IlpfgE |
| .. section: Library |
| |
| Improved exceptions raised for invalid number of channels and sample width |
| when read an audio file in modules :mod:`aifc`, :mod:`wave` and |
| :mod:`sunau`. |
| |
| .. |
| |
| .. bpo: 32844 |
| .. date: 2018-02-28-13-08-00 |
| .. nonce: u8tnAe |
| .. section: Library |
| |
| Fix wrong redirection of a low descriptor (0 or 1) to stderr in subprocess |
| if another low descriptor is closed. |
| |
| .. |
| |
| .. bpo: 32857 |
| .. date: 2018-02-16-14-37-14 |
| .. nonce: -XljAx |
| .. section: Library |
| |
| In :mod:`tkinter`, ``after_cancel(None)`` now raises a :exc:`ValueError` |
| instead of canceling the first scheduled function. Patch by Cheryl Sabella. |
| |
| .. |
| |
| .. bpo: 31639 |
| .. date: 2017-12-27-21-55-19 |
| .. nonce: l3avDJ |
| .. section: Library |
| |
| http.server now exposes a ThreadedHTTPServer class and uses it when the |
| module is run with ``-m`` to cope with web browsers pre-opening sockets. |
| |
| .. |
| |
| .. bpo: 27645 |
| .. date: 2017-10-05-20-41-48 |
| .. nonce: 1Y_Wag |
| .. section: Library |
| |
| :class:`sqlite3.Connection` now exposes a |
| :class:`~sqlite3.Connection.backup` method, if the underlying SQLite library |
| is at version 3.6.11 or higher. Patch by Lele Gaifax. |
| |
| .. |
| |
| .. bpo: 33126 |
| .. date: 2018-03-28-17-03-17 |
| .. nonce: 5UGkNv |
| .. section: Documentation |
| |
| Document PyBuffer_ToContiguous(). |
| |
| .. |
| |
| .. bpo: 27212 |
| .. date: 2018-03-22-19-23-04 |
| .. nonce: wrE5KR |
| .. section: Documentation |
| |
| Modify documentation for the :func:`islice` recipe to consume initial values |
| up to the start index. |
| |
| .. |
| |
| .. bpo: 28247 |
| .. date: 2018-03-20-20-11-05 |
| .. nonce: -V-WS- |
| .. section: Documentation |
| |
| Update :mod:`zipapp` documentation to describe how to make standalone |
| applications. |
| |
| .. |
| |
| .. bpo: 18802 |
| .. date: 2018-03-11-18-53-47 |
| .. nonce: JhAqH3 |
| .. section: Documentation |
| |
| Documentation changes for ipaddress. Patch by Jon Foster and Berker Peksag. |
| |
| .. |
| |
| .. bpo: 27428 |
| .. date: 2018-03-11-00-16-56 |
| .. nonce: B7A8FT |
| .. section: Documentation |
| |
| Update documentation to clarify that ``WindowsRegistryFinder`` implements |
| ``MetaPathFinder``. (Patch by Himanshu Lakhara) |
| |
| .. |
| |
| .. bpo: 32872 |
| .. date: 2018-03-28-01-35-02 |
| .. nonce: J5NDUj |
| .. section: Tests |
| |
| Avoid regrtest compatibility issue with namespace packages. |
| |
| .. |
| |
| .. bpo: 32517 |
| .. date: 2018-03-09-07-05-12 |
| .. nonce: ugc1iW |
| .. section: Tests |
| |
| Fix failing ``test_asyncio`` on macOS 10.12.2+ due to transport of |
| ``KqueueSelector`` loop was not being closed. |
| |
| .. |
| |
| .. bpo: 19417 |
| .. date: 2018-01-08-13-33-47 |
| .. nonce: 2asoXy |
| .. section: Tests |
| |
| Add test_bdb.py. |
| |
| .. |
| |
| .. bpo: 33163 |
| .. date: 2018-03-28-04-15-03 |
| .. nonce: hfpWuU |
| .. section: Build |
| |
| Upgrade pip to 9.0.3 and setuptools to v39.0.1. |
| |
| .. |
| |
| .. bpo: 33016 |
| .. date: 2018-03-07-01-33-33 |
| .. nonce: Z_Med0 |
| .. section: Windows |
| |
| Fix potential use of uninitialized memory in nt._getfinalpathname |
| |
| .. |
| |
| .. bpo: 32903 |
| .. date: 2018-02-28-11-03-24 |
| .. nonce: 1SXY4t |
| .. section: Windows |
| |
| Fix a memory leak in os.chdir() on Windows if the current directory is set |
| to a UNC path. |
| |
| .. |
| |
| .. bpo: 32726 |
| .. date: 2018-03-29-06-56-12 |
| .. nonce: urS9uX |
| .. section: macOS |
| |
| Build and link with private copy of Tcl/Tk 8.6 for the macOS 10.6+ |
| installer. The 10.9+ installer variant already does this. This means that |
| the Python 3.7 provided by the python.org macOS installers no longer need or |
| use any external versions of Tcl/Tk, either system-provided or |
| user-installed, such as ActiveTcl. |
| |
| .. |
| |
| .. bpo: 32984 |
| .. date: 2018-03-05-01-29-05 |
| .. nonce: NGjgT4 |
| .. section: IDLE |
| |
| Set ``__file__`` while running a startup file. Like Python, IDLE optionally |
| runs one startup file in the Shell window before presenting the first |
| interactive input prompt. For IDLE, ``-s`` runs a file named in |
| environmental variable :envvar:`IDLESTARTUP` or :envvar:`PYTHONSTARTUP`; |
| ``-r file`` runs ``file``. Python sets ``__file__`` to the startup file |
| name before running the file and unsets it before the first prompt. IDLE |
| now does the same when run normally, without the ``-n`` option. |
| |
| .. |
| |
| .. bpo: 32940 |
| .. date: 2018-02-24-18-20-50 |
| .. nonce: ZaJ1Rf |
| .. section: IDLE |
| |
| Simplify and rename StringTranslatePseudoMapping in pyparse. |
| |
| .. |
| |
| .. bpo: 32885 |
| .. date: 2018-02-20-12-16-47 |
| .. nonce: dL5x7C |
| .. section: Tools/Demos |
| |
| Add an ``-n`` flag for ``Tools/scripts/pathfix.py`` to disable automatic |
| backup creation (files with ``~`` suffix). |
| |
| .. |
| |
| .. bpo: 33042 |
| .. date: 2018-03-20-21-43-09 |
| .. nonce: FPFp64 |
| .. section: C API |
| |
| Embedding applications may once again call PySys_ResetWarnOptions, |
| PySys_AddWarnOption, and PySys_AddXOption prior to calling Py_Initialize. |
| |
| .. |
| |
| .. bpo: 32374 |
| .. date: 2018-01-09-17-03-54 |
| .. nonce: SwwLoz |
| .. section: C API |
| |
| Document that m_traverse for multi-phase initialized modules can be called |
| with m_state=NULL, and add a sanity check |