.. bpo: 22980 .. date: 9109 .. nonce: Lu_y6y .. release date: 2015-04-19 .. section: Core and Builtins Under Linux, GNU/KFreeBSD and the Hurd, C extensions now include the architecture triplet in the extension name, to make it easy to test builds for different ABIs in the same working tree. Under OS X, the extension name now includes :pep:`3149`-style information. .. .. bpo: 22631 .. date: 9108 .. nonce: nTx_ZF .. section: Core and Builtins Added Linux-specific socket constant CAN_RAW_FD_FRAMES. Patch courtesy of Joe Jevnik. .. .. bpo: 23731 .. date: 9107 .. nonce: FOXb37 .. section: Core and Builtins Implement :pep:`488`: removal of .pyo files. .. .. bpo: 23726 .. date: 9106 .. nonce: ZopTQ0 .. section: Core and Builtins Don't enable GC for user subclasses of non-GC types that don't add any new fields. Patch by Eugene Toder. .. .. bpo: 23309 .. date: 9105 .. nonce: Wfnsnz .. section: Core and Builtins Avoid a deadlock at shutdown if a daemon thread is aborted while it is holding a lock to a buffered I/O object, and the main thread tries to use the same I/O object (typically stdout or stderr). A fatal error is emitted instead. .. .. bpo: 22977 .. date: 9104 .. nonce: hutEse .. section: Core and Builtins Fixed formatting Windows error messages on Wine. Patch by Martin Panter. .. .. bpo: 23466 .. date: 9103 .. nonce: KhMltK .. section: Core and Builtins %c, %o, %x, and %X in bytes formatting now raise TypeError on non-integer input. .. .. bpo: 24044 .. date: 9102 .. nonce: H7vb6- .. section: Core and Builtins Fix possible null pointer dereference in list.sort in out of memory conditions. .. .. bpo: 21354 .. date: 9101 .. nonce: ZZTe1E .. section: Core and Builtins PyCFunction_New function is exposed by python DLL again. .. .. bpo: 23840 .. date: 9100 .. nonce: mtSbqO .. section: Library tokenize.open() now closes the temporary binary file on error to fix a resource warning. .. .. bpo: 16914 .. date: 9099 .. nonce: GrP2Jr .. section: Library new debuglevel 2 in smtplib adds timestamps to debug output. .. .. bpo: 7159 .. date: 9098 .. nonce: KCgOUm .. section: Library urllib.request now supports sending auth credentials automatically after the first 401. This enhancement is a superset of the enhancement from issue #19494 and supersedes that change. .. .. bpo: 23703 .. date: 9097 .. nonce: kYybxm .. section: Library Fix a regression in urljoin() introduced in 901e4e52b20a. Patch by Demian Brecht. .. .. bpo: 4254 .. date: 9096 .. nonce: eUC_2H .. section: Library Adds _curses.update_lines_cols(). Patch by Arnon Yaari .. .. bpo: 19933 .. date: 9095 .. nonce: Qq8utk .. section: Library Provide default argument for ndigits in round. Patch by Vajrasky Kok. .. .. bpo: 23193 .. date: 9094 .. nonce: n5ahcG .. section: Library Add a numeric_owner parameter to tarfile.TarFile.extract and tarfile.TarFile.extractall. Patch by Michael Vogt and Eric Smith. .. .. bpo: 23342 .. date: 9093 .. nonce: CbSzYI .. section: Library Add a subprocess.run() function than returns a CalledProcess instance for a more consistent API than the existing call* functions. .. .. bpo: 21217 .. date: 9092 .. nonce: TkFTlk .. section: Library inspect.getsourcelines() now tries to compute the start and end lines from the code object, fixing an issue when a lambda function is used as decorator argument. Patch by Thomas Ballinger and Allison Kaptur. .. .. bpo: 24521 .. date: 9091 .. nonce: bn4U-y .. section: Library Fix possible integer overflows in the pickle module. .. .. bpo: 22931 .. date: 9090 .. nonce: 4CuWYD .. section: Library Allow '[' and ']' in cookie values. .. .. bpo: 0 .. date: 9089 .. nonce: fgX8Qe .. section: Library The keywords attribute of functools.partial is now always a dictionary. .. .. bpo: 23811 .. date: 9088 .. nonce: B6tzf9 .. section: Library Add missing newline to the PyCompileError error message. Patch by Alex Shkop. .. .. bpo: 21116 .. date: 9087 .. nonce: Orft3K .. section: Library Avoid blowing memory when allocating a multiprocessing shared array that's larger than 50% of the available RAM. Patch by Médéric Boquien. .. .. bpo: 22982 .. date: 9086 .. nonce: xYmG62 .. section: Library Improve BOM handling when seeking to multiple positions of a writable text file. .. .. bpo: 23464 .. date: 9085 .. nonce: _XGkBk .. section: Library Removed deprecated asyncio JoinableQueue. .. .. bpo: 23529 .. date: 9084 .. nonce: Hr7AHH .. section: Library Limit the size of decompressed data when reading from GzipFile, BZ2File or LZMAFile. This defeats denial of service attacks using compressed bombs (i.e. compressed payloads which decompress to a huge size). Patch by Martin Panter and Nikolaus Rath. .. .. bpo: 21859 .. date: 9083 .. nonce: GYrUNP .. section: Library Added Python implementation of io.FileIO. .. .. bpo: 23865 .. date: 9082 .. nonce: PtSLgU .. section: Library close() methods in multiple modules now are idempotent and more robust at shutdown. If they need to release multiple resources, all are released even if errors occur. .. .. bpo: 23400 .. date: 9081 .. nonce: JSh9Z3 .. section: Library Raise same exception on both Python 2 and 3 if sem_open is not available. Patch by Davin Potts. .. .. bpo: 10838 .. date: 9080 .. nonce: p9tSPC .. section: Library The subprocess now module includes SubprocessError and TimeoutError in its list of exported names for the users wild enough to use ``from subprocess import *``. .. .. bpo: 23411 .. date: 9079 .. nonce: 0im3Qw .. section: Library Added DefragResult, ParseResult, SplitResult, DefragResultBytes, ParseResultBytes, and SplitResultBytes to urllib.parse.__all__. Patch by Martin Panter. .. .. bpo: 23881 .. date: 9078 .. nonce: yZjl4b .. section: Library urllib.request.ftpwrapper constructor now closes the socket if the FTP connection failed to fix a ResourceWarning. .. .. bpo: 23853 .. date: 9077 .. nonce: mNY1eI .. section: Library :meth:`socket.socket.sendall` does no more reset the socket timeout each time data is sent successfully. The socket timeout is now the maximum total duration to send all data. .. .. bpo: 22721 .. date: 9076 .. nonce: MVfBL9 .. section: Library An order of multiline pprint output of set or dict containing orderable and non-orderable elements no longer depends on iteration order of set or dict. .. .. bpo: 15133 .. date: 9075 .. nonce: C0QfV8 .. section: Library _tkinter.tkapp.getboolean() now supports Tcl_Obj and always returns bool. tkinter.BooleanVar now validates input values (accepted bool, int, str, and Tcl_Obj). tkinter.BooleanVar.get() now always returns bool. .. .. bpo: 10590 .. date: 9074 .. nonce: nkxXfU .. section: Library xml.sax.parseString() now supports string argument. .. .. bpo: 23338 .. date: 9073 .. nonce: ZYMGN1 .. section: Library Fixed formatting ctypes error messages on Cygwin. Patch by Makoto Kato. .. .. bpo: 15582 .. date: 9072 .. nonce: 26wJNk .. section: Library inspect.getdoc() now follows inheritance chains. .. .. bpo: 2175 .. date: 9071 .. nonce: cHiVOp .. section: Library SAX parsers now support a character stream of InputSource object. .. .. bpo: 16840 .. date: 9070 .. nonce: kKIhPm .. section: Library Tkinter now supports 64-bit integers added in Tcl 8.4 and arbitrary precision integers added in Tcl 8.5. .. .. bpo: 23834 .. date: 9069 .. nonce: fX3TF4 .. section: Library Fix socket.sendto(), use the C Py_ssize_t type to store the result of sendto() instead of the C int type. .. .. bpo: 23618 .. date: 9068 .. nonce: Of_q5t .. section: Library :meth:`socket.socket.connect` now waits until the connection completes instead of raising :exc:`InterruptedError` if the connection is interrupted by signals, signal handlers don't raise an exception and the socket is blocking or has a timeout. :meth:`socket.socket.connect` still raise :exc:`InterruptedError` for non-blocking sockets. .. .. bpo: 21526 .. date: 9067 .. nonce: QQEXrR .. section: Library Tkinter now supports new boolean type in Tcl 8.5. .. .. bpo: 23836 .. date: 9066 .. nonce: zrEmlR .. section: Library Fix the faulthandler module to handle reentrant calls to its signal handlers. .. .. bpo: 23838 .. date: 9065 .. nonce: IX6FPX .. section: Library linecache now clears the cache and returns an empty result on MemoryError. .. .. bpo: 10395 .. date: 9064 .. nonce: fi_lZp .. section: Library Added os.path.commonpath(). Implemented in posixpath and ntpath. Based on patch by Rafik Draoui. .. .. bpo: 23611 .. date: 9063 .. nonce: QkBJVB .. section: Library Serializing more "lookupable" objects (such as unbound methods or nested classes) now are supported with pickle protocols < 4. .. .. bpo: 13583 .. date: 9062 .. nonce: -MPBjZ .. section: Library sqlite3.Row now supports slice indexing. .. .. bpo: 18473 .. date: 9061 .. nonce: 89RHm- .. section: Library Fixed 2to3 and 3to2 compatible pickle mappings. Fixed ambiguous reverse mappings. Added many new mappings. Import mapping is no longer applied to modules already mapped with full name mapping. .. .. bpo: 23485 .. date: 9060 .. nonce: kQWN6L .. section: Library select.select() is now retried automatically with the recomputed timeout when interrupted by a signal, except if the signal handler raises an exception. This change is part of the :pep:`475`. .. .. bpo: 23752 .. date: 9059 .. nonce: 5fbVNb .. section: Library When built from an existing file descriptor, io.FileIO() now only calls fstat() once. Before fstat() was called twice, which was not necessary. .. .. bpo: 23704 .. date: 9058 .. nonce: Ggjvm8 .. section: Library collections.deque() objects now support __add__, __mul__, and __imul__(). .. .. bpo: 23171 .. date: 9057 .. nonce: b6PBzM .. section: Library csv.Writer.writerow() now supports arbitrary iterables. .. .. bpo: 23745 .. date: 9056 .. nonce: E00Bml .. section: Library The new email header parser now handles duplicate MIME parameter names without error, similar to how get_param behaves. .. .. bpo: 22117 .. date: 9055 .. nonce: bTO0xx .. section: Library Fix os.utime(), it now rounds the timestamp towards minus infinity (-inf) instead of rounding towards zero. .. .. bpo: 23310 .. date: 9054 .. nonce: GXmFMR .. section: Library Fix MagicMock's initializer to work with __methods__, just like configure_mock(). Patch by Kasia Jachim. .. .. bpo: 23817 .. date: 9053 .. nonce: DTmVan .. section: Build FreeBSD now uses "1.0" in the SOVERSION as other operating systems, instead of just "1". .. .. bpo: 23501 .. date: 9052 .. nonce: iz10e6 .. section: Build Argument Clinic now generates code into separate files by default. .. .. bpo: 23799 .. date: 9051 .. nonce: XU2xDw .. section: Tests Added test.support.start_threads() for running and cleaning up multiple threads. .. .. bpo: 22390 .. date: 9050 .. nonce: UPVFnq .. section: Tests test.regrtest now emits a warning if temporary files or directories are left after running a test. .. .. bpo: 18128 .. date: 9049 .. nonce: lx2V5a .. section: Tools/Demos pygettext now uses standard +NNNN format in the POT-Creation-Date header. .. .. bpo: 23935 .. date: 9048 .. nonce: JSYowT .. section: Tools/Demos Argument Clinic's understanding of format units accepting bytes, bytearrays, and buffers is now consistent with both the documentation and the implementation. .. .. bpo: 23944 .. date: 9047 .. nonce: Q8ZL2s .. section: Tools/Demos Argument Clinic now wraps long impl prototypes at column 78. .. .. bpo: 20586 .. date: 9046 .. nonce: 7BiEkx .. section: Tools/Demos Argument Clinic now ensures that functions without docstrings have signatures. .. .. bpo: 23492 .. date: 9045 .. nonce: kjIcQW .. section: Tools/Demos Argument Clinic now generates argument parsing code with PyArg_Parse instead of PyArg_ParseTuple if possible. .. .. bpo: 23500 .. date: 9044 .. nonce: H6_dX_ .. section: Tools/Demos Argument Clinic is now smarter about generating the "#ifndef" (empty) definition of the methoddef macro: it's only generated once, even if Argument Clinic processes the same symbol multiple times, and it's emitted at the end of all processing rather than immediately after the first use. .. .. bpo: 23998 .. date: 9043 .. nonce: z7mlLW .. section: C API PyImport_ReInitLock() now checks for lock allocation error