.. release date: 2016-05-16 .. bpo: 26657 .. date: 9135 .. nonce: C_-XFg .. original section: Library .. section: Security Fix directory traversal vulnerability with http.server on Windows. This fixes a regression that was introduced in 3.3.4rc1 and 3.4.0rc1. Based on patch by Philipp Hagemeister. .. .. bpo: 26313 .. date: 9102 .. nonce: LjZAjy .. original section: Library .. section: Security ssl.py _load_windows_store_certs fails if windows cert store is empty. Patch by Baji. .. .. bpo: 25939 .. date: 9076 .. nonce: X49Fqd .. original section: Library .. section: Security On Windows open the cert store readonly in ssl.enum_certificates. .. .. bpo: 20041 .. date: 9253 .. nonce: TypyGp .. section: Core and Builtins Fixed TypeError when frame.f_trace is set to None. Patch by Xavier de Gaye. .. .. bpo: 26168 .. date: 9252 .. nonce: -nPBL6 .. section: Core and Builtins Fixed possible refleaks in failing Py_BuildValue() with the "N" format unit. .. .. bpo: 26991 .. date: 9251 .. nonce: yWGNhz .. section: Core and Builtins Fix possible refleak when creating a function with annotations. .. .. bpo: 27039 .. date: 9250 .. nonce: oO-wLV .. section: Core and Builtins Fixed bytearray.remove() for values greater than 127. Based on patch by Joe Jevnik. .. .. bpo: 23640 .. date: 9249 .. nonce: kvNC4c .. section: Core and Builtins int.from_bytes() no longer bypasses constructors for subclasses. .. .. bpo: 27005 .. date: 9248 .. nonce: ZtcJf- .. section: Core and Builtins Optimized the float.fromhex() class method for exact float. It is now 2 times faster. .. .. bpo: 18531 .. date: 9247 .. nonce: PkXgtO .. section: Core and Builtins Single var-keyword argument of dict subtype was passed unscathed to the C-defined function. Now it is converted to exact dict. .. .. bpo: 26811 .. date: 9246 .. nonce: oNzUWt .. section: Core and Builtins gc.get_objects() no longer contains a broken tuple with NULL pointer. .. .. bpo: 20120 .. date: 9245 .. nonce: c-FZZc .. section: Core and Builtins Use RawConfigParser for .pypirc parsing, removing support for interpolation unintentionally added with move to Python 3. Behavior no longer does any interpolation in .pypirc files, matching behavior in Python 2.7 and Setuptools 19.0. .. .. bpo: 26249 .. date: 9244 .. nonce: ZbpWF3 .. section: Core and Builtins Memory functions of the :c:func:`PyMem_Malloc` domain (:c:macro:`PYMEM_DOMAIN_MEM`) now use the :ref:`pymalloc allocator ` rather than system :c:func:`malloc`. Applications calling :c:func:`PyMem_Malloc` without holding the GIL can now crash: use ``PYTHONMALLOC=debug`` environment variable to validate the usage of memory allocators in your application. .. .. bpo: 26802 .. date: 9243 .. nonce: hWpU4v .. section: Core and Builtins Optimize function calls only using unpacking like ``func(*tuple)`` (no other positional argument, no keyword): avoid copying the tuple. Patch written by Joe Jevnik. .. .. bpo: 26659 .. date: 9242 .. nonce: 5PRa83 .. section: Core and Builtins Make the builtin slice type support cycle collection. .. .. bpo: 26718 .. date: 9241 .. nonce: K5PQ8j .. section: Core and Builtins super.__init__ no longer leaks memory if called multiple times. NOTE: A direct call of super.__init__ is not endorsed! .. .. bpo: 27138 .. date: 9240 .. nonce: ifYEro .. section: Core and Builtins Fix the doc comment for FileFinder.find_spec(). .. .. bpo: 27147 .. date: 9239 .. nonce: tCCgmH .. section: Core and Builtins Mention :pep:`420` in the importlib docs. .. .. bpo: 25339 .. date: 9238 .. nonce: ZcaC2E .. section: Core and Builtins PYTHONIOENCODING now has priority over locale in setting the error handler for stdin and stdout. .. .. bpo: 26494 .. date: 9237 .. nonce: G6eXIi .. section: Core and Builtins Fixed crash on iterating exhausting iterators. Affected classes are generic sequence iterators, iterators of str, bytes, bytearray, list, tuple, set, frozenset, dict, OrderedDict, corresponding views and os.scandir() iterator. .. .. bpo: 26574 .. date: 9236 .. nonce: D2YL_w .. section: Core and Builtins Optimize ``bytes.replace(b'', b'.')`` and ``bytearray.replace(b'', b'.')``. Patch written by Josh Snider. .. .. bpo: 26581 .. date: 9235 .. nonce: yNA7nm .. section: Core and Builtins If coding cookie is specified multiple times on a line in Python source code file, only the first one is taken to account. .. .. bpo: 19711 .. date: 9234 .. nonce: gDDPJE .. section: Core and Builtins Add tests for reloading namespace packages. .. .. bpo: 21099 .. date: 9233 .. nonce: CuMWZJ .. section: Core and Builtins Switch applicable importlib tests to use :pep:`451` API. .. .. bpo: 26563 .. date: 9232 .. nonce: lyrB2Q .. section: Core and Builtins Debug hooks on Python memory allocators now raise a fatal error if functions of the :c:func:`PyMem_Malloc` family are called without holding the GIL. .. .. bpo: 26564 .. date: 9231 .. nonce: xeRXaz .. section: Core and Builtins On error, the debug hooks on Python memory allocators now use the :mod:`tracemalloc` module to get the traceback where a memory block was allocated. .. .. bpo: 26558 .. date: 9230 .. nonce: s05jz7 .. section: Core and Builtins The debug hooks on Python memory allocator :c:func:`PyObject_Malloc` now detect when functions are called without holding the GIL. .. .. bpo: 26516 .. date: 9229 .. nonce: OjekqZ .. section: Core and Builtins Add :envvar:`PYTHONMALLOC` environment variable to set the Python memory allocators and/or install debug hooks. .. .. bpo: 26516 .. date: 9228 .. nonce: chNJuF .. section: Core and Builtins The :c:func:`PyMem_SetupDebugHooks` function can now also be used on Python compiled in release mode. .. .. bpo: 26516 .. date: 9227 .. nonce: q7fu1f .. section: Core and Builtins The :envvar:`PYTHONMALLOCSTATS` environment variable can now also be used on Python compiled in release mode. It now has no effect if set to an empty string. .. .. bpo: 26516 .. date: 9226 .. nonce: 2k9k6R .. section: Core and Builtins In debug mode, debug hooks are now also installed on Python memory allocators when Python is configured without pymalloc. .. .. bpo: 26464 .. date: 9225 .. nonce: 7BreGz .. section: Core and Builtins Fix str.translate() when string is ASCII and first replacements removes character, but next replacement uses a non-ASCII character or a string longer than 1 character. Regression introduced in Python 3.5.0. .. .. bpo: 22836 .. date: 9224 .. nonce: cimt1y .. section: Core and Builtins Ensure exception reports from PyErr_Display() and PyErr_WriteUnraisable() are sensible even when formatting them produces secondary errors. This affects the reports produced by sys.__excepthook__() and when __del__() raises an exception. .. .. bpo: 26302 .. date: 9223 .. nonce: UD9XQt .. section: Core and Builtins Correct behavior to reject comma as a legal character for cookie names. .. .. bpo: 26136 .. date: 9222 .. nonce: eZ0t1K .. section: Core and Builtins Upgrade the warning when a generator raises StopIteration from PendingDeprecationWarning to DeprecationWarning. Patch by Anish Shah. .. .. bpo: 26204 .. date: 9221 .. nonce: x3Zp8E .. section: Core and Builtins The compiler now ignores all constant statements: bytes, str, int, float, complex, name constants (None, False, True), Ellipsis and ast.Constant; not only str and int. For example, ``1.0`` is now ignored in ``def f(): 1.0``. .. .. bpo: 4806 .. date: 9220 .. nonce: i9m3hj .. section: Core and Builtins Avoid masking the original TypeError exception when using star (``*``) unpacking in function calls. Based on patch by Hagen Fürstenau and Daniel Urban. .. .. bpo: 26146 .. date: 9219 .. nonce: HKrUth .. section: Core and Builtins Add a new kind of AST node: ``ast.Constant``. It can be used by external AST optimizers, but the compiler does not emit directly such node. .. .. bpo: 23601 .. date: 9218 .. nonce: 2E4seG .. section: Core and Builtins Sped-up allocation of dict key objects by using Python's small object allocator. (Contributed by Julian Taylor.) .. .. bpo: 18018 .. date: 9217 .. nonce: XKKap3 .. section: Core and Builtins Import raises ImportError instead of SystemError if a relative import is attempted without a known parent package. .. .. bpo: 25843 .. date: 9216 .. nonce: NtJZie .. section: Core and Builtins When compiling code, don't merge constants if they are equal but have a different types. For example, ``f1, f2 = lambda: 1, lambda: 1.0`` is now correctly compiled to two different functions: ``f1()`` returns ``1`` (``int``) and ``f2()`` returns ``1.0`` (``float``), even if ``1`` and ``1.0`` are equal. .. .. bpo: 26107 .. date: 9215 .. nonce: q0LBMY .. section: Core and Builtins The format of the ``co_lnotab`` attribute of code objects changes to support negative line number delta. .. .. bpo: 26154 .. date: 9214 .. nonce: MtnRAH .. section: Core and Builtins Add a new private _PyThreadState_UncheckedGet() function to get the current Python thread state, but don't issue a fatal error if it is NULL. This new function must be used instead of accessing directly the _PyThreadState_Current variable. The variable is no more exposed since Python 3.5.1 to hide the exact implementation of atomic C types, to avoid compiler issues. .. .. bpo: 25791 .. date: 9213 .. nonce: gllzPw .. section: Core and Builtins If __package__ != __spec__.parent or if neither __package__ or __spec__ are defined then ImportWarning is raised. .. .. bpo: 22995 .. date: 9212 .. nonce: KYNKvs .. section: Core and Builtins [UPDATE] Comment out the one of the pickleability tests in _PyObject_GetState() due to regressions observed in Cython-based projects. .. .. bpo: 25961 .. date: 9211 .. nonce: Hdjjw0 .. section: Core and Builtins Disallowed null characters in the type name. .. .. bpo: 25973 .. date: 9210 .. nonce: Ud__ZP .. section: Core and Builtins Fix segfault when an invalid nonlocal statement binds a name starting with two underscores. .. .. bpo: 22995 .. date: 9209 .. nonce: Wq0E86 .. section: Core and Builtins Instances of extension types with a state that aren't subclasses of list or dict and haven't implemented any pickle-related methods (__reduce__, __reduce_ex__, __getnewargs__, __getnewargs_ex__, or __getstate__), can no longer be pickled. Including memoryview. .. .. bpo: 20440 .. date: 9208 .. nonce: GCwOfH .. section: Core and Builtins Massive replacing unsafe attribute setting code with special macro Py_SETREF. .. .. bpo: 25766 .. date: 9207 .. nonce: jn93Yu .. section: Core and Builtins Special method __bytes__() now works in str subclasses. .. .. bpo: 25421 .. date: 9206 .. nonce: c47YEL .. section: Core and Builtins __sizeof__ methods of builtin types now use dynamic basic size. This allows sys.getsize() to work correctly with their subclasses with __slots__ defined. .. .. bpo: 25709 .. date: 9205 .. nonce: WwGm2k .. section: Core and Builtins Fixed problem with in-place string concatenation and utf-8 cache. .. .. bpo: 5319 .. date: 9204 .. nonce: HxlGwI .. section: Core and Builtins New Py_FinalizeEx() API allowing Python to set an exit status of 120 on failure to flush buffered streams. .. .. bpo: 25485 .. date: 9203 .. nonce: 9qnaPt .. section: Core and Builtins telnetlib.Telnet is now a context manager. .. .. bpo: 24097 .. date: 9202 .. nonce: Vt4E-i .. section: Core and Builtins Fixed crash in object.__reduce__() if slot name is freed inside __getattr__. .. .. bpo: 24731 .. date: 9201 .. nonce: h9-hnz .. section: Core and Builtins Fixed crash on converting objects with special methods __bytes__, __trunc__, and __float__ returning instances of subclasses of bytes, int, and float to subclasses of bytes, int, and float correspondingly. .. .. bpo: 25630 .. date: 9200 .. nonce: ZxzcoY .. section: Core and Builtins Fix a possible segfault during argument parsing in functions that accept filesystem paths. .. .. bpo: 23564 .. date: 9199 .. nonce: XHarGG .. section: Core and Builtins Fixed a partially broken sanity check in the _posixsubprocess internals regarding how fds_to_pass were passed to the child. The bug had no actual impact as subprocess.py already avoided it. .. .. bpo: 25388 .. date: 9198 .. nonce: zm3uuQ .. section: Core and Builtins Fixed tokenizer crash when processing undecodable source code with a null byte. .. .. bpo: 25462 .. date: 9197 .. nonce: eXDzgO .. section: Core and Builtins The hash of the key now is calculated only once in most operations in C implementation of OrderedDict. .. .. bpo: 22995 .. date: 9196 .. nonce: 90kpuP .. section: Core and Builtins Default implementation of __reduce__ and __reduce_ex__ now rejects builtin types with not defined __new__. .. .. bpo: 24802 .. date: 9195 .. nonce: Qie066 .. section: Core and Builtins Avoid buffer overreads when int(), float(), compile(), exec() and eval() are passed bytes-like objects. These objects are not necessarily terminated by a null byte, but the functions assumed they were. .. .. bpo: 25555 .. date: 9194 .. nonce: MUpG-j .. section: Core and Builtins Fix parser and AST: fill lineno and col_offset of "arg" node when compiling AST from Python objects. .. .. bpo: 24726 .. date: 9193 .. nonce: AHk4v2 .. section: Core and Builtins Fixed a crash and leaking NULL in repr() of OrderedDict that was mutated by direct calls of dict methods. .. .. bpo: 25449 .. date: 9192 .. nonce: VqTOFi .. section: Core and Builtins Iterating OrderedDict with keys with unstable hash now raises KeyError in C implementations as well as in Python implementation. .. .. bpo: 25395 .. date: 9191 .. nonce: htkE3W .. section: Core and Builtins Fixed crash when highly nested OrderedDict structures were garbage collected. .. .. bpo: 25401 .. date: 9190 .. nonce: ofrAtd .. section: Core and Builtins Optimize bytes.fromhex() and bytearray.fromhex(): they are now between 2x and 3.5x faster. .. .. bpo: 25399 .. date: 9189 .. nonce: dNKIhY .. section: Core and Builtins Optimize bytearray % args using the new private _PyBytesWriter API. Formatting is now between 2.5 and 5 times faster. .. .. bpo: 25274 .. date: 9188 .. nonce: QCGvAF .. section: Core and Builtins sys.setrecursionlimit() now raises a RecursionError if the new recursion limit is too low depending at the current recursion depth. Modify also the "lower-water mark" formula to make it monotonic. This mark is used to decide when the overflowed flag of the thread state is reset. .. .. bpo: 24402 .. date: 9187 .. nonce: MAgi3X .. section: Core and Builtins Fix input() to prompt to the redirected stdout when sys.stdout.fileno() fails. .. .. bpo: 25349 .. date: 9186 .. nonce: 7lBgJ8 .. section: Core and Builtins Optimize bytes % args using the new private _PyBytesWriter API. Formatting is now up to 2 times faster. .. .. bpo: 24806 .. date: 9185 .. nonce: Nb0znT .. section: Core and Builtins Prevent builtin types that are not allowed to be subclassed from being subclassed through multiple inheritance. .. .. bpo: 25301 .. date: 9184 .. nonce: hUTCfr .. section: Core and Builtins The UTF-8 decoder is now up to 15 times as fast for error handlers: ``ignore``, ``replace`` and ``surrogateescape``. .. .. bpo: 24848 .. date: 9183 .. nonce: HlUSuy .. section: Core and Builtins Fixed a number of bugs in UTF-7 decoding of misformed data. .. .. bpo: 25267 .. date: 9182 .. nonce: SW8Gs6 .. section: Core and Builtins The UTF-8 encoder is now up to 75 times as fast for error handlers: ``ignore``, ``replace``, ``surrogateescape``, ``surrogatepass``. Patch co-written with Serhiy Storchaka. .. .. bpo: 25280 .. date: 9181 .. nonce: ivTMwd .. section: Core and Builtins Import trace messages emitted in verbose (-v) mode are no longer formatted twice. .. .. bpo: 25227 .. date: 9180 .. nonce: 19v5rp .. section: Core and Builtins Optimize ASCII and latin1 encoders with the ``surrogateescape`` error handler: the encoders are now up to 3 times as fast. Initial patch written by Serhiy Storchaka. .. .. bpo: 25003 .. date: 9179 .. nonce: _ban92 .. section: Core and Builtins On Solaris 11.3 or newer, os.urandom() now uses the getrandom() function instead of the getentropy() function. The getentropy() function is blocking to generate very good quality entropy, os.urandom() doesn't need such high-quality entropy. .. .. bpo: 9232 .. date: 9178 .. nonce: pjsmWw .. section: Core and Builtins Modify Python's grammar to allow trailing commas in the argument list of a function declaration. For example, "def f(\*, a = 3,): pass" is now legal. Patch from Mark Dickinson. .. .. bpo: 24965 .. date: 9177 .. nonce: wfyxbB .. section: Core and Builtins Implement :pep:`498` "Literal String Interpolation". This allows you to embed expressions inside f-strings, which are converted to normal strings at run time. Given x=3, then f'value={x}' == 'value=3'. Patch by Eric V. Smith. .. .. bpo: 26478 .. date: 9176 .. nonce: n0dB8e .. section: Core and Builtins Fix semantic bugs when using binary operators with dictionary views and tuples. .. .. bpo: 26171 .. date: 9175 .. nonce: 8SaQEa .. section: Core and Builtins Fix possible integer overflow and heap corruption in zipimporter.get_data(). .. .. bpo: 25660 .. date: 9174 .. nonce: 93DzBo .. section: Core and Builtins Fix TAB key behaviour in REPL with readline. .. .. bpo: 26288 .. date: 9173 .. nonce: f67RLk .. section: Core and Builtins Optimize PyLong_AsDouble. .. .. bpo: 26289 .. date: 9172 .. nonce: uG9ozG .. section: Core and Builtins Optimize floor and modulo division for single-digit longs. Microbenchmarks show 2-2.5x improvement. Built-in 'divmod' function is now also ~10% faster. (See also: bpo-26315) .. .. bpo: 25887 .. date: 9171 .. nonce: PtVIX7 .. section: Core and Builtins Raise a RuntimeError when a coroutine object is awaited more than once. .. .. bpo: 27057 .. date: 9170 .. nonce: YzTA_Q .. section: Library Fix os.set_inheritable() on Android, ioctl() is blocked by SELinux and fails with EACCESS. The function now falls back to fcntl(). Patch written by Michał Bednarski. .. .. bpo: 27014 .. date: 9169 .. nonce: ui7Khn .. section: Library Fix infinite recursion using typing.py. Thanks to Kalle Tuure! .. .. bpo: 27031 .. date: 9168 .. nonce: FtvDPs .. section: Library Removed dummy methods in Tkinter widget classes: tk_menuBar() and tk_bindForTraversal(). .. .. bpo: 14132 .. date: 9167 .. nonce: 5wR9MN .. section: Library Fix urllib.request redirect handling when the target only has a query string. Original fix by Ján Janech. .. .. bpo: 17214 .. date: 9166 .. nonce: lUbZOV .. section: Library The "urllib.request" module now percent-encodes non-ASCII bytes found in redirect target URLs. Some servers send Location header fields with non-ASCII bytes, but "http.client" requires the request target to be ASCII-encodable, otherwise a UnicodeEncodeError is raised. Based on patch by Christian Heimes. .. .. bpo: 27033 .. date: 9165 .. nonce: o4XIPr .. section: Library The default value of the decode_data parameter for smtpd.SMTPChannel and smtpd.SMTPServer constructors is changed to False. .. .. bpo: 27034 .. date: 9164 .. nonce: ptzz_S .. section: Library Removed deprecated class asynchat.fifo. .. .. bpo: 26870 .. date: 9163 .. nonce: 5tCUlp .. section: Library Added readline.set_auto_history(), which can stop entries being automatically added to the history list. Based on patch by Tyler Crompton. .. .. bpo: 26039 .. date: 9162 .. nonce: JnXjiE .. section: Library zipfile.ZipFile.open() can now be used to write data into a ZIP file, as well as for extracting data. Patch by Thomas Kluyver. .. .. bpo: 26892 .. date: 9161 .. nonce: XIXb0h .. section: Library Honor debuglevel flag in urllib.request.HTTPHandler. Patch contributed by Chi Hsuan Yen. .. .. bpo: 22274 .. date: 9160 .. nonce: 0RHDMN .. section: Library In the subprocess module, allow stderr to be redirected to stdout even when stdout is not redirected. Patch by Akira Li. .. .. bpo: 26807 .. date: 9159 .. nonce: LXSPP6 .. section: Library mock_open 'files' no longer error on readline at end of file. Patch from Yolanda Robla. .. .. bpo: 25745 .. date: 9158 .. nonce: -n8acU .. section: Library Fixed leaking a userptr in curses panel destructor. .. .. bpo: 26977 .. date: 9157 .. nonce: 5G4HtL .. section: Library Removed unnecessary, and ignored, call to sum of squares helper in statistics.pvariance. .. .. bpo: 26002 .. date: 9156 .. nonce: bVD4pW .. section: Library Use bisect in statistics.median instead of a linear search. Patch by Upendra Kuma. .. .. bpo: 25974 .. date: 9155 .. nonce: cpOy5R .. section: Library Make use of new Decimal.as_integer_ratio() method in statistics module. Patch by Stefan Krah. .. .. bpo: 26996 .. date: 9154 .. nonce: LR__VD .. section: Library Add secrets module as described in :pep:`506`. .. .. bpo: 26881 .. date: 9153 .. nonce: mdiq_L .. section: Library The modulefinder module now supports extended opcode arguments. .. .. bpo: 23815 .. date: 9152 .. nonce: _krNe8 .. section: Library Fixed crashes related to directly created instances of types in _tkinter and curses.panel modules. .. .. bpo: 17765 .. date: 9151 .. nonce: hiSVS1 .. section: Library weakref.ref() no longer silently ignores keyword arguments. Patch by Georg Brandl. .. .. bpo: 26873 .. date: 9150 .. nonce: cYXRcH .. section: Library xmlrpc now raises ResponseError on unsupported type tags instead of silently return incorrect result. .. .. bpo: 26915 .. date: 9149 .. nonce: GoQKUL .. section: Library The __contains__ methods in the collections ABCs now check for identity before checking equality. This better matches the behavior of the concrete classes, allows sensible handling of NaNs, and makes it easier to reason about container invariants. .. .. bpo: 26711 .. date: 9148 .. nonce: Eu85Qw .. section: Library Fixed the comparison of plistlib.Data with other types. .. .. bpo: 24114 .. date: 9147 .. nonce: RMRMtM .. section: Library Fix an uninitialized variable in ``ctypes.util``. The bug only occurs on SunOS when the ctypes implementation searches for the ``crle`` program. Patch by Xiang Zhang. Tested on SunOS by Kees Bos. .. .. bpo: 26864 .. date: 9146 .. nonce: 1KgGds .. section: Library In urllib.request, change the proxy bypass host checking against no_proxy to be case-insensitive, and to not match unrelated host names that happen to have a bypassed hostname as a suffix. Patch by Xiang Zhang. .. .. bpo: 24902 .. date: 9145 .. nonce: bwWpLj .. section: Library Print server URL on http.server startup. Initial patch by Felix Kaiser. .. .. bpo: 25788 .. date: 9144 .. nonce: 9weIV5 .. section: Library fileinput.hook_encoded() now supports an "errors" argument for passing to open. Original patch by Joseph Hackman. .. .. bpo: 26634 .. date: 9143 .. nonce: FZvsSb .. section: Library recursive_repr() now sets __qualname__ of wrapper. Patch by Xiang Zhang. .. .. bpo: 26804 .. date: 9142 .. nonce: 9Orp-G .. section: Library urllib.request will prefer lower_case proxy environment variables over UPPER_CASE or Mixed_Case ones. Patch contributed by Hans-Peter Jansen. .. .. bpo: 26837 .. date: 9141 .. nonce: 2FXGsD .. section: Library assertSequenceEqual() now correctly outputs non-stringified differing items (like bytes in the -b mode). This affects assertListEqual() and assertTupleEqual(). .. .. bpo: 26041 .. date: 9140 .. nonce: bVem-p .. section: Library Remove "will be removed in Python 3.7" from deprecation messages of platform.dist() and platform.linux_distribution(). Patch by Kumaripaba Miyurusara Athukorala. .. .. bpo: 26822 .. date: 9139 .. nonce: rYSL4W .. section: Library itemgetter, attrgetter and methodcaller objects no longer silently ignore keyword arguments. .. .. bpo: 26733 .. date: 9138 .. nonce: YxaJmL .. section: Library Disassembling a class now disassembles class and static methods. Patch by Xiang Zhang. .. .. bpo: 26801 .. date: 9137 .. nonce: TQGY-7 .. section: Library Fix error handling in :func:`shutil.get_terminal_size`, catch :exc:`AttributeError` instead of :exc:`NameError`. Patch written by Emanuel Barry. .. .. bpo: 24838 .. date: 9136 .. nonce: 3Pfx8T .. section: Library tarfile's ustar and gnu formats now correctly calculate name and link field limits for multibyte character encodings like utf-8. .. .. bpo: 26717 .. date: 9134 .. nonce: jngTdu .. section: Library Stop encoding Latin-1-ized WSGI paths with UTF-8. Patch by Anthony Sottile. .. .. bpo: 26782 .. date: 9133 .. nonce: JWLPrH .. section: Library Add STARTUPINFO to subprocess.__all__ on Windows. .. .. bpo: 26404 .. date: 9132 .. nonce: hXw7Bs .. section: Library Add context manager to socketserver. Patch by Aviv Palivoda. .. .. bpo: 26735 .. date: 9131 .. nonce: riSl3b .. section: Library Fix :func:`os.urandom` on Solaris 11.3 and newer when reading more than 1,024 bytes: call ``getrandom()`` multiple times with a limit of 1024 bytes per call. .. .. bpo: 26585 .. date: 9130 .. nonce: kfb749 .. section: Library Eliminate http.server._quote_html() and use html.escape(quote=False). Patch by Xiang Zhang. .. .. bpo: 26685 .. date: 9129 .. nonce: sI_1Ff .. section: Library Raise OSError if closing a socket fails. .. .. bpo: 16329 .. date: 9128 .. nonce: nuXD8W .. section: Library Add .webm to mimetypes.types_map. Patch by Giampaolo Rodola'. .. .. bpo: 13952 .. date: 9127 .. nonce: SOoTVE .. section: Library Add .csv to mimetypes.types_map. Patch by Geoff Wilson. .. .. bpo: 26587 .. date: 9126 .. nonce: Qo-B6C .. section: Library the site module now allows .pth files to specify files to be added to sys.path (e.g. zip files). .. .. bpo: 25609 .. date: 9125 .. nonce: t1ydQM .. section: Library Introduce contextlib.AbstractContextManager and typing.ContextManager. .. .. bpo: 26709 .. date: 9124 .. nonce: luOPbP .. section: Library Fixed Y2038 problem in loading binary PLists. .. .. bpo: 23735 .. date: 9123 .. nonce: Y5oQ9r .. section: Library Handle terminal resizing with Readline 6.3+ by installing our own SIGWINCH handler. Patch by Eric Price. .. .. bpo: 25951 .. date: 9122 .. nonce: 1CUASJ .. section: Library Change SSLSocket.sendall() to return None, as explicitly documented for plain socket objects. Patch by Aviv Palivoda. .. .. bpo: 26586 .. date: 9121 .. nonce: V5pZNa .. section: Library In http.server, respond with "413 Request header fields too large" if there are too many header fields to parse, rather than killing the connection and raising an unhandled exception. Patch by Xiang Zhang. .. .. bpo: 26676 .. date: 9120 .. nonce: zLRFed .. section: Library Added missing XMLPullParser to ElementTree.__all__. .. .. bpo: 22854 .. date: 9119 .. nonce: K3rMEH .. section: Library Change BufferedReader.writable() and BufferedWriter.readable() to always return False. .. .. bpo: 26492 .. date: 9118 .. nonce: YN18iz .. section: Library Exhausted iterator of array.array now conforms with the behavior of iterators of other mutable sequences: it lefts exhausted even if iterated array is extended. .. .. bpo: 26641 .. date: 9117 .. nonce: 1ICQz0 .. section: Library doctest.DocFileTest and doctest.testfile() now support packages (module split into multiple directories) for the package parameter. .. .. bpo: 25195 .. date: 9116 .. nonce: EOc4Po .. section: Library Fix a regression in mock.MagicMock. _Call is a subclass of tuple (changeset 3603bae63c13 only works for classes) so we need to implement __ne__ ourselves. Patch by Andrew Plummer. .. .. bpo: 26644 .. date: 9115 .. nonce: 7tt1tk .. section: Library Raise ValueError rather than SystemError when a negative length is passed to SSLSocket.recv() or read(). .. .. bpo: 23804 .. date: 9114 .. nonce: PP63Ff .. section: Library Fix SSL recv(0) and read(0) methods to return zero bytes instead of up to 1024. .. .. bpo: 26616 .. date: 9113 .. nonce: v3QwdD .. section: Library Fixed a bug in datetime.astimezone() method. .. .. bpo: 26637 .. date: 9112 .. nonce: ttiUf7 .. section: Library The :mod:`importlib` module now emits an :exc:`ImportError` rather than a :exc:`TypeError` if :func:`__import__` is tried during the Python shutdown process but :data:`sys.path` is already cleared (set to ``None``). .. .. bpo: 21925 .. date: 9111 .. nonce: xFz-hR .. section: Library :func:`warnings.formatwarning` now catches exceptions when calling :func:`linecache.getline` and :func:`tracemalloc.get_object_traceback` to be able to log :exc:`ResourceWarning` emitted late during the Python shutdown process. .. .. bpo: 23848 .. date: 9110 .. nonce: RkKqPi .. section: Library On Windows, faulthandler.enable() now also installs an exception handler to dump the traceback of all Python threads on any Windows exception, not only on UNIX signals (SIGSEGV, SIGFPE, SIGABRT). .. .. bpo: 26530 .. date: 9109 .. nonce: RWN1jR .. section: Library Add C functions :c:func:`!_PyTraceMalloc_Track` and :c:func:`!_PyTraceMalloc_Untrack` to track memory blocks using the :mod:`tracemalloc` module. Add :c:func:`!_PyTraceMalloc_GetTraceback` to get the traceback of an object. .. .. bpo: 26588 .. date: 9108 .. nonce: uen0XP .. section: Library The _tracemalloc now supports tracing memory allocations of multiple address spaces (domains). .. .. bpo: 24266 .. date: 9107 .. nonce: YZgVyM .. section: Library Ctrl+C during Readline history search now cancels the search mode when compiled with Readline 7. .. .. bpo: 26590 .. date: 9106 .. nonce: qEy91x .. section: Library Implement a safe finalizer for the _socket.socket type. It now releases the GIL to close the socket. .. .. bpo: 18787 .. date: 9105 .. nonce: rWyzgA .. section: Library spwd.getspnam() now raises a PermissionError if the user doesn't have privileges. .. .. bpo: 26560 .. date: 9104 .. nonce: A4WXNz .. section: Library Avoid potential ValueError in BaseHandler.start_response. Initial patch by Peter Inglesby. .. .. bpo: 26567 .. date: 9103 .. nonce: kcC99B .. section: Library Add a new function :c:func:`PyErr_ResourceWarning` function to pass the destroyed object. Add a *source* attribute to :class:`warnings.WarningMessage`. Add warnings._showwarnmsg() which uses tracemalloc to get the traceback where source object was allocated. .. .. bpo: 26569 .. date: 9101 .. nonce: EX8vF1 .. section: Library Fix :func:`pyclbr.readmodule` and :func:`pyclbr.readmodule_ex` to support importing packages. .. .. bpo: 26499 .. date: 9100 .. nonce: NP08PI .. section: Library Account for remaining Content-Length in HTTPResponse.readline() and read1(). Based on patch by Silent Ghost. Also document that HTTPResponse now supports these methods. .. .. bpo: 25320 .. date: 9099 .. nonce: V96LIy .. section: Library Handle sockets in directories unittest discovery is scanning. Patch from Victor van den Elzen. .. .. bpo: 16181 .. date: 9098 .. nonce: P7lLvo .. section: Library cookiejar.http2time() now returns None if year is higher than datetime.MAXYEAR. .. .. bpo: 26513 .. date: 9097 .. nonce: HoPepy .. section: Library Fixes platform module detection of Windows Server .. .. bpo: 23718 .. date: 9096 .. nonce: AMPC0o .. section: Library Fixed parsing time in week 0 before Jan 1. Original patch by Tamás Bence Gedai. .. .. bpo: 26323 .. date: 9095 .. nonce: KkZqEj .. section: Library Add Mock.assert_called() and Mock.assert_called_once() methods to unittest.mock. Patch written by Amit Saha. .. .. bpo: 20589 .. date: 9094 .. nonce: NsQ_I1 .. section: Library Invoking Path.owner() and Path.group() on Windows now raise NotImplementedError instead of ImportError. .. .. bpo: 26177 .. date: 9093 .. nonce: HlSWer .. section: Library Fixed the keys() method for Canvas and Scrollbar widgets. .. .. bpo: 15068 .. date: 9092 .. nonce: xokEVC .. section: Library Got rid of excessive buffering in fileinput. The bufsize parameter is now deprecated and ignored. .. .. bpo: 19475 .. date: 9091 .. nonce: MH2HH9 .. section: Library Added an optional argument timespec to the datetime isoformat() method to choose the precision of the time component. .. .. bpo: 2202 .. date: 9090 .. nonce: dk9sd0 .. section: Library Fix UnboundLocalError in AbstractDigestAuthHandler.get_algorithm_impls. Initial patch by Mathieu Dupuy. .. .. bpo: 26167 .. date: 9089 .. nonce: 3F-d12 .. section: Library Minimized overhead in copy.copy() and copy.deepcopy(). Optimized copying and deepcopying bytearrays, NotImplemented, slices, short lists, tuples, dicts, sets. .. .. bpo: 25718 .. date: 9088 .. nonce: 4EjZyv .. section: Library Fixed pickling and copying the accumulate() iterator with total is None. .. .. bpo: 26475 .. date: 9087 .. nonce: JXVccY .. section: Library Fixed debugging output for regular expressions with the (?x) flag. .. .. bpo: 26482 .. date: 9086 .. nonce: d635gW .. section: Library Allowed pickling recursive dequeues. .. .. bpo: 26335 .. date: 9085 .. nonce: iXw5Yb .. section: Library Make mmap.write() return the number of bytes written like other write methods. Patch by Jakub Stasiak. .. .. bpo: 26457 .. date: 9084 .. nonce: Xe6Clh .. section: Library Fixed the subnets() methods in IP network classes for the case when resulting prefix length is equal to maximal prefix length. Based on patch by Xiang Zhang. .. .. bpo: 26385 .. date: 9083 .. nonce: 50bDXm .. section: Library Remove the file if the internal open() call in NamedTemporaryFile() fails. Patch by Silent Ghost. .. .. bpo: 26402 .. date: 9082 .. nonce: k7DVuU .. section: Library Fix XML-RPC client to retry when the server shuts down a persistent connection. This was a regression related to the new http.client.RemoteDisconnected exception in 3.5.0a4. .. .. bpo: 25913 .. date: 9081 .. nonce: 5flb95 .. section: Library Leading ``<~`` is optional now in base64.a85decode() with adobe=True. Patch by Swati Jaiswal. .. .. bpo: 26186 .. date: 9080 .. nonce: R9rfiL .. section: Library Remove an invalid type check in importlib.util.LazyLoader. .. .. bpo: 26367 .. date: 9079 .. nonce: Qct-9S .. section: Library importlib.__import__() raises ImportError like builtins.__import__() when ``level`` is specified but without an accompanying package specified. .. .. bpo: 26309 .. date: 9078 .. nonce: ubEeiz .. section: Library In the "socketserver" module, shut down the request (closing the connected socket) when verify_request() returns false. Patch by Aviv Palivoda. .. .. bpo: 23430 .. date: 9077 .. nonce: s_mLiA .. section: Library Change the socketserver module to only catch exceptions raised from a request handler that are derived from Exception (instead of BaseException). Therefore SystemExit and KeyboardInterrupt no longer trigger the handle_error() method, and will now to stop a single-threaded server. .. .. bpo: 25995 .. date: 9075 .. nonce: NfcimP .. section: Library os.walk() no longer uses FDs proportional to the tree depth. .. .. bpo: 25994 .. date: 9074 .. nonce: ga9rT- .. section: Library Added the close() method and the support of the context manager protocol for the os.scandir() iterator. .. .. bpo: 23992 .. date: 9073 .. nonce: O0Hhvc .. section: Library multiprocessing: make MapResult not fail-fast upon exception. .. .. bpo: 26243 .. date: 9072 .. nonce: 41WSpF .. section: Library Support keyword arguments to zlib.compress(). Patch by Aviv Palivoda. .. .. bpo: 26117 .. date: 9071 .. nonce: ne6p11 .. section: Library The os.scandir() iterator now closes file descriptor not only when the iteration is finished, but when it was failed with error. .. .. bpo: 25949 .. date: 9070 .. nonce: -Lh9vz .. section: Library __dict__ for an OrderedDict instance is now created only when needed. .. .. bpo: 25911 .. date: 9069 .. nonce: d4Zadh .. section: Library Restored support of bytes paths in os.walk() on Windows. .. .. bpo: 26045 .. date: 9068 .. nonce: WmzUrX .. section: Library Add UTF-8 suggestion to error message when posting a non-Latin-1 string with http.client. .. .. bpo: 26039 .. date: 9067 .. nonce: a5Bxm4 .. section: Library Added zipfile.ZipInfo.from_file() and zipinfo.ZipInfo.is_dir(). Patch by Thomas Kluyver. .. .. bpo: 12923 .. date: 9066 .. nonce: HPAu-B .. section: Library Reset FancyURLopener's redirect counter even if there is an exception. Based on patches by Brian Brazil and Daniel Rocco. .. .. bpo: 25945 .. date: 9065 .. nonce: guNgNM .. section: Library Fixed a crash when unpickle the functools.partial object with wrong state. Fixed a leak in failed functools.partial constructor. "args" and "keywords" attributes of functools.partial have now always types tuple and dict correspondingly. .. .. bpo: 26202 .. date: 9064 .. nonce: LPIXLg .. section: Library copy.deepcopy() now correctly copies range() objects with non-atomic attributes. .. .. bpo: 23076 .. date: 9063 .. nonce: 8rphoP .. section: Library Path.glob() now raises a ValueError if it's called with an invalid pattern. Patch by Thomas Nyberg. .. .. bpo: 19883 .. date: 9062 .. nonce: z9TsO6 .. section: Library Fixed possible integer overflows in zipimport. .. .. bpo: 26227 .. date: 9061 .. nonce: Fe6oiB .. section: Library On Windows, getnameinfo(), gethostbyaddr() and gethostbyname_ex() functions of the socket module now decode the hostname from the ANSI code page rather than UTF-8. .. .. bpo: 26099 .. date: 9060 .. nonce: CH5jer .. section: Library The site module now writes an error into stderr if sitecustomize module can be imported but executing the module raise an ImportError. Same change for usercustomize. .. .. bpo: 26147 .. date: 9059 .. nonce: i-Jc01 .. section: Library xmlrpc now works with strings not encodable with used non-UTF-8 encoding. .. .. bpo: 25935 .. date: 9058 .. nonce: cyni91 .. section: Library Garbage collector now breaks reference loops with OrderedDict. .. .. bpo: 16620 .. date: 9057 .. nonce: rxpn_Y .. section: Library Fixed AttributeError in msilib.Directory.glob(). .. .. bpo: 26013 .. date: 9056 .. nonce: 93RKNz .. section: Library Added compatibility with broken protocol 2 pickles created in old Python 3 versions (3.4.3 and lower). .. .. bpo: 26129 .. date: 9055 .. nonce: g4RQZd .. section: Library Deprecated accepting non-integers in grp.getgrgid(). .. .. bpo: 25850 .. date: 9054 .. nonce: jwFPxj .. section: Library Use cross-compilation by default for 64-bit Windows. .. .. bpo: 25822 .. date: 9053 .. nonce: 0Eafyi .. section: Library Add docstrings to the fields of urllib.parse results. Patch contributed by Swati Jaiswal. .. .. bpo: 22642 .. date: 9052 .. nonce: PEgS9F .. section: Library Convert trace module option parsing mechanism to argparse. Patch contributed by SilentGhost. .. .. bpo: 24705 .. date: 9051 .. nonce: IZYwjR .. section: Library Fix sysconfig._parse_makefile not expanding ${} vars appearing before $() vars. .. .. bpo: 26069 .. date: 9050 .. nonce: NaF4lN .. section: Library Remove the deprecated apis in the trace module. .. .. bpo: 22138 .. date: 9049 .. nonce: nRNYkc .. section: Library Fix mock.patch behavior when patching descriptors. Restore original values after patching. Patch contributed by Sean McCully. .. .. bpo: 25672 .. date: 9048 .. nonce: fw9RJP .. section: Library In the ssl module, enable the SSL_MODE_RELEASE_BUFFERS mode option if it is safe to do so. .. .. bpo: 26012 .. date: 9047 .. nonce: IFSXNm .. section: Library Don't traverse into symlinks for ``**`` pattern in pathlib.Path.[r]glob(). .. .. bpo: 24120 .. date: 9046 .. nonce: Yiwa0h .. section: Library Ignore PermissionError when traversing a tree with pathlib.Path.[r]glob(). Patch by Ulrich Petri. .. .. bpo: 21815 .. date: 9045 .. nonce: h7-UY8 .. section: Library Accept ] characters in the data portion of imap responses, in order to handle the flags with square brackets accepted and produced by servers such as gmail. .. .. bpo: 25447 .. date: 9044 .. nonce: -4m4xO .. section: Library fileinput now uses sys.stdin as-is if it does not have a buffer attribute (restores backward compatibility). .. .. bpo: 25971 .. date: 9043 .. nonce: vhMeG0 .. section: Library Optimized creating Fractions from floats by 2 times and from Decimals by 3 times. .. .. bpo: 25802 .. date: 9042 .. nonce: Y2KOnA .. section: Library Document as deprecated the remaining implementations of importlib.abc.Loader.load_module(). .. .. bpo: 25928 .. date: 9041 .. nonce: JsQfKK .. section: Library Add Decimal.as_integer_ratio(). .. .. bpo: 25447 .. date: 9040 .. nonce: ajPRDy .. section: Library Copying the lru_cache() wrapper object now always works, independently from the type of the wrapped object (by returning the original object unchanged). .. .. bpo: 25768 .. date: 9039 .. nonce: GDj2ip .. section: Library Have the functions in compileall return booleans instead of ints and add proper documentation and tests for the return values. .. .. bpo: 24103 .. date: 9038 .. nonce: WufqrQ .. section: Library Fixed possible use after free in ElementTree.XMLPullParser. .. .. bpo: 25860 .. date: 9037 .. nonce: 0hActb .. section: Library os.fwalk() no longer skips remaining directories when error occurs. Original patch by Samson Lee. .. .. bpo: 25914 .. date: 9036 .. nonce: h0V61F .. section: Library Fixed and simplified OrderedDict.__sizeof__. .. .. bpo: 25869 .. date: 9035 .. nonce: eAnRH5 .. section: Library Optimized deepcopying ElementTree; it is now 20 times faster. .. .. bpo: 25873 .. date: 9034 .. nonce: L4Fgjm .. section: Library Optimized iterating ElementTree. Iterating elements Element.iter() is now 40% faster, iterating text Element.itertext() is now up to 2.5 times faster. .. .. bpo: 25902 .. date: 9033 .. nonce: 6t2FmH .. section: Library Fixed various refcount issues in ElementTree iteration. .. .. bpo: 22227 .. date: 9032 .. nonce: 5utM-Q .. section: Library The TarFile iterator is reimplemented using generator. This implementation is simpler that using class. .. .. bpo: 25638 .. date: 9031 .. nonce: yitRj4 .. section: Library Optimized ElementTree.iterparse(); it is now 2x faster. Optimized ElementTree parsing; it is now 10% faster. .. .. bpo: 25761 .. date: 9030 .. nonce: JGgMOP .. section: Library Improved detecting errors in broken pickle data. .. .. bpo: 25717 .. date: 9029 .. nonce: 0_xjaK .. section: Library Restore the previous behaviour of tolerating most fstat() errors when opening files. This was a regression in 3.5a1, and stopped anonymous temporary files from working in special cases. .. .. bpo: 24903 .. date: 9028 .. nonce: 3LBdzb .. section: Library Fix regression in number of arguments compileall accepts when '-d' is specified. The check on the number of arguments has been dropped completely as it never worked correctly anyway. .. .. bpo: 25764 .. date: 9027 .. nonce: 7WWG07 .. section: Library In the subprocess module, preserve any exception caused by fork() failure when preexec_fn is used. .. .. bpo: 25771 .. date: 9026 .. nonce: It-7Qf .. section: Library Tweak the exception message for importlib.util.resolve_name() when 'package' isn't specified but necessary. .. .. bpo: 6478 .. date: 9025 .. nonce: -Bi9Hb .. section: Library _strptime's regexp cache now is reset after changing timezone with time.tzset(). .. .. bpo: 14285 .. date: 9024 .. nonce: UyG8Hj .. section: Library When executing a package with the "python -m package" option, and package initialization fails, a proper traceback is now reported. The "runpy" module now lets exceptions from package initialization pass back to the caller, rather than raising ImportError. .. .. bpo: 19771 .. date: 9023 .. nonce: 5NG-bg .. section: Library Also in runpy and the "-m" option, omit the irrelevant message ". . . is a package and cannot be directly executed" if the package could not even be initialized (e.g. due to a bad ``*.pyc`` file). .. .. bpo: 25177 .. date: 9022 .. nonce: aNR4Ha .. section: Library Fixed problem with the mean of very small and very large numbers. As a side effect, statistics.mean and statistics.variance should be significantly faster. .. .. bpo: 25718 .. date: 9021 .. nonce: D9mHZF .. section: Library Fixed copying object with state with boolean value is false. .. .. bpo: 10131 .. date: 9020 .. nonce: a7tptz .. section: Library Fixed deep copying of minidom documents. Based on patch by Marian Ganisin. .. .. bpo: 7990 .. date: 9019 .. nonce: fpvQxH .. section: Library dir() on ElementTree.Element now lists properties: "tag", "text", "tail" and "attrib". Original patch by Santoso Wijaya. .. .. bpo: 25725 .. date: 9018 .. nonce: XIKv3R .. section: Library Fixed a reference leak in pickle.loads() when unpickling invalid data including tuple instructions. .. .. bpo: 25663 .. date: 9017 .. nonce: Ofwfqa .. section: Library In the Readline completer, avoid listing duplicate global names, and search the global namespace before searching builtins. .. .. bpo: 25688 .. date: 9016 .. nonce: 8P1HOv .. section: Library Fixed file leak in ElementTree.iterparse() raising an error. .. .. bpo: 23914 .. date: 9015 .. nonce: 1sEz4J .. section: Library Fixed SystemError raised by unpickler on broken pickle data. .. .. bpo: 25691 .. date: 9014 .. nonce: ZEaapY .. section: Library Fixed crash on deleting ElementTree.Element attributes. .. .. bpo: 25624 .. date: 9013 .. nonce: ed-fM0 .. section: Library ZipFile now always writes a ZIP_STORED header for directory entries. Patch by Dingyuan Wang. .. .. bpo: 25626 .. date: 9012 .. nonce: TQ3fvb .. section: Library Change three zlib functions to accept sizes that fit in Py_ssize_t, but internally cap those sizes to UINT_MAX. This resolves a regression in 3.5 where GzipFile.read() failed to read chunks larger than 2 or 4 GiB. The change affects the zlib.Decompress.decompress() max_length parameter, the zlib.decompress() bufsize parameter, and the zlib.Decompress.flush() length parameter. .. .. bpo: 25583 .. date: 9011 .. nonce: Gk-cim .. section: Library Avoid incorrect errors raised by os.makedirs(exist_ok=True) when the OS gives priority to errors such as EACCES over EEXIST. .. .. bpo: 25593 .. date: 9010 .. nonce: 56uegI .. section: Library Change semantics of EventLoop.stop() in asyncio. .. .. bpo: 6973 .. date: 9009 .. nonce: nl5cHt .. section: Library When we know a subprocess.Popen process has died, do not allow the send_signal(), terminate(), or kill() methods to do anything as they could potentially signal a different process. .. .. bpo: 23883 .. date: 9008 .. nonce: OQS5sS .. section: Library Added missing APIs to __all__ to match the documented APIs for the following modules: calendar, csv, enum, fileinput, ftplib, logging, optparse, tarfile, threading and wave. Also added a test.support.check__all__() helper. Patches by Jacek Kołodziej, Mauro S. M. Rodrigues and Joel Taddei. .. .. bpo: 25590 .. date: 9007 .. nonce: KPcnfv .. section: Library In the Readline completer, only call getattr() once per attribute. Also complete names of attributes such as properties and slots which are listed by dir() but not yet created on an instance. .. .. bpo: 25498 .. date: 9006 .. nonce: AvqEBl .. section: Library Fix a crash when garbage-collecting ctypes objects created by wrapping a memoryview. This was a regression made in 3.5a1. Based on patch by Eryksun. .. .. bpo: 25584 .. date: 9005 .. nonce: 124mYw .. section: Library Added "escape" to the __all__ list in the glob module. .. .. bpo: 25584 .. date: 9004 .. nonce: ZeWX0J .. section: Library Fixed recursive glob() with patterns starting with ``**``. .. .. bpo: 25446 .. date: 9003 .. nonce: k1DByx .. section: Library Fix regression in smtplib's AUTH LOGIN support. .. .. bpo: 18010 .. date: 9002 .. nonce: Azyf1C .. section: Library Fix the pydoc web server's module search function to handle exceptions from importing packages. .. .. bpo: 25554 .. date: 9001 .. nonce: UM9MlR .. section: Library Got rid of circular references in regular expression parsing. .. .. bpo: 18973 .. date: 9000 .. nonce: Am9jFL .. section: Library Command-line interface of the calendar module now uses argparse instead of optparse. .. .. bpo: 25510 .. date: 8999 .. nonce: 79g7LA .. section: Library fileinput.FileInput.readline() now returns b'' instead of '' at the end if the FileInput was opened with binary mode. Patch by Ryosuke Ito. .. .. bpo: 25503 .. date: 8998 .. nonce: Zea0Y7 .. section: Library Fixed inspect.getdoc() for inherited docstrings of properties. Original patch by John Mark Vandenberg. .. .. bpo: 25515 .. date: 8997 .. nonce: fQsyYG .. section: Library Always use os.urandom as a source of randomness in uuid.uuid4. .. .. bpo: 21827 .. date: 8996 .. nonce: k2oreR .. section: Library Fixed textwrap.dedent() for the case when largest common whitespace is a substring of smallest leading whitespace. Based on patch by Robert Li. .. .. bpo: 25447 .. date: 8995 .. nonce: eDYc4t .. section: Library The lru_cache() wrapper objects now can be copied and pickled (by returning the original object unchanged). .. .. bpo: 25390 .. date: 8994 .. nonce: 6mSgRq .. section: Library typing: Don't crash on Union[str, Pattern]. .. .. bpo: 25441 .. date: 8993 .. nonce: d7zph6 .. section: Library asyncio: Raise error from drain() when socket is closed. .. .. bpo: 25410 .. date: 8992 .. nonce: QAs_3B .. section: Library Cleaned up and fixed minor bugs in C implementation of OrderedDict. .. .. bpo: 25411 .. date: 8991 .. nonce: qsJTCb .. section: Library Improved Unicode support in SMTPHandler through better use of the email package. Thanks to user simon04 for the patch. .. .. bpo: 0 .. date: 8990 .. nonce: pFHJ0i .. section: Library Move the imp module from a PendingDeprecationWarning to DeprecationWarning. .. .. bpo: 25407 .. date: 8989 .. nonce: ukNt1D .. section: Library Remove mentions of the formatter module being removed in Python 3.6. .. .. bpo: 25406 .. date: 8988 .. nonce: 5MZKU_ .. section: Library Fixed a bug in C implementation of OrderedDict.move_to_end() that caused segmentation fault or hang in iterating after moving several items to the start of ordered dict. .. .. bpo: 25382 .. date: 8987 .. nonce: XQ44yE .. section: Library pickletools.dis() now outputs implicit memo index for the MEMOIZE opcode. .. .. bpo: 25357 .. date: 8986 .. nonce: ebqGy- .. section: Library Add an optional newline parameter to binascii.b2a_base64(). base64.b64encode() uses it to avoid a memory copy. .. .. bpo: 24164 .. date: 8985 .. nonce: oi6H3E .. section: Library Objects that need calling ``__new__`` with keyword arguments, can now be pickled using pickle protocols older than protocol version 4. .. .. bpo: 25364 .. date: 8984 .. nonce: u_1Wi6 .. section: Library zipfile now works in threads disabled builds. .. .. bpo: 25328 .. date: 8983 .. nonce: Rja1Xg .. section: Library smtpd's SMTPChannel now correctly raises a ValueError if both decode_data and enable_SMTPUTF8 are set to true. .. .. bpo: 16099 .. date: 8982 .. nonce: _MTt3k .. section: Library RobotFileParser now supports Crawl-delay and Request-rate extensions. Patch by Nikolay Bogoychev. .. .. bpo: 25316 .. date: 8981 .. nonce: dHQHWI .. section: Library distutils raises OSError instead of DistutilsPlatformError when MSVC is not installed. .. .. bpo: 25380 .. date: 8980 .. nonce: sKZ6-I .. section: Library Fixed protocol for the STACK_GLOBAL opcode in pickletools.opcodes. .. .. bpo: 23972 .. date: 8979 .. nonce: s2g30g .. section: Library Updates asyncio datagram create method allowing reuseport and reuseaddr socket options to be set prior to binding the socket. Mirroring the existing asyncio create_server method the reuseaddr option for datagram sockets defaults to True if the O/S is 'posix' (except if the platform is Cygwin). Patch by Chris Laws. .. .. bpo: 25304 .. date: 8978 .. nonce: CsmLyI .. section: Library Add asyncio.run_coroutine_threadsafe(). This lets you submit a coroutine to a loop from another thread, returning a concurrent.futures.Future. By Vincent Michel. .. .. bpo: 25232 .. date: 8977 .. nonce: KhKjCE .. section: Library Fix CGIRequestHandler to split the query from the URL at the first question mark (?) rather than the last. Patch from Xiang Zhang. .. .. bpo: 24657 .. date: 8976 .. nonce: h2Ag7y .. section: Library Prevent CGIRequestHandler from collapsing slashes in the query part of the URL as if it were a path. Patch from Xiang Zhang. .. .. bpo: 25287 .. date: 8975 .. nonce: KhzzMW .. section: Library Don't add crypt.METHOD_CRYPT to crypt.methods if it's not supported. Check if it is supported, it may not be supported on OpenBSD for example. .. .. bpo: 23600 .. date: 8974 .. nonce: 7J_RD5 .. section: Library Default implementation of tzinfo.fromutc() was returning wrong results in some cases. .. .. bpo: 25203 .. date: 8973 .. nonce: IgDEbt .. section: Library Failed readline.set_completer_delims() no longer left the module in inconsistent state. .. .. bpo: 25011 .. date: 8972 .. nonce: VcaCd6 .. section: Library rlcompleter now omits private and special attribute names unless the prefix starts with underscores. .. .. bpo: 25209 .. date: 8971 .. nonce: WxKcdJ .. section: Library rlcompleter now can add a space or a colon after completed keyword. .. .. bpo: 22241 .. date: 8970 .. nonce: a-Mtw2 .. section: Library timezone.utc name is now plain 'UTC', not 'UTC-00:00'. .. .. bpo: 23517 .. date: 8969 .. nonce: 0ABp8q .. section: Library fromtimestamp() and utcfromtimestamp() methods of datetime.datetime now round microseconds to nearest with ties going to nearest even integer (ROUND_HALF_EVEN), as round(float), instead of rounding towards -Infinity (ROUND_FLOOR). .. .. bpo: 23552 .. date: 8968 .. nonce: I0T-M- .. section: Library Timeit now warns when there is substantial (4x) variance between best and worst times. Patch from Serhiy Storchaka. .. .. bpo: 24633 .. date: 8967 .. nonce: 6Unn9B .. section: Library site-packages/README -> README.txt. .. .. bpo: 24879 .. date: 8966 .. nonce: YUzg_z .. section: Library help() and pydoc can now list named tuple fields in the order they were defined rather than alphabetically. The ordering is determined by the _fields attribute if present. .. .. bpo: 24874 .. date: 8965 .. nonce: luBfgA .. section: Library Improve speed of itertools.cycle() and make its pickle more compact. .. .. bpo: 0 .. date: 8964 .. nonce: mD-_3v .. section: Library Fix crash in itertools.cycle.__setstate__() when the first argument wasn't a list. .. .. bpo: 20059 .. date: 8963 .. nonce: SHv0Ji .. section: Library urllib.parse raises ValueError on all invalid ports. Patch by Martin Panter. .. .. bpo: 24360 .. date: 8962 .. nonce: 5RwH-e .. section: Library Improve __repr__ of argparse.Namespace() for invalid identifiers. Patch by Matthias Bussonnier. .. .. bpo: 23426 .. date: 8961 .. nonce: PUV-Cx .. section: Library run_setup was broken in distutils. Patch from Alexander Belopolsky. .. .. bpo: 13938 .. date: 8960 .. nonce: e5NSE1 .. section: Library 2to3 converts StringTypes to a tuple. Patch from Mark Hammond. .. .. bpo: 2091 .. date: 8959 .. nonce: bp56pO .. section: Library open() accepted a 'U' mode string containing '+', but 'U' can only be used with 'r'. Patch from Jeff Balogh and John O'Connor. .. .. bpo: 8585 .. date: 8958 .. nonce: 78hPc2 .. section: Library improved tests for zipimporter2. Patch from Mark Lawrence. .. .. bpo: 18622 .. date: 8957 .. nonce: i6nCCW .. section: Library unittest.mock.mock_open().reset_mock would recurse infinitely. Patch from Nicola Palumbo and Laurent De Buyst. .. .. bpo: 24426 .. date: 8956 .. nonce: yCtQfT .. section: Library Fast searching optimization in regular expressions now works for patterns that starts with capturing groups. Fast searching optimization now can't be disabled at compile time. .. .. bpo: 23661 .. date: 8955 .. nonce: 5VHJmh .. section: Library unittest.mock side_effects can now be exceptions again. This was a regression vs Python 3.4. Patch from Ignacio Rossi .. .. bpo: 13248 .. date: 8954 .. nonce: SA2hvu .. section: Library Remove deprecated inspect.getmoduleinfo function. .. .. bpo: 25578 .. date: 8953 .. nonce: G6S-ft .. section: Library Fix (another) memory leak in SSLSocket.getpeercer(). .. .. bpo: 25530 .. date: 8952 .. nonce: hDFkwu .. section: Library Disable the vulnerable SSLv3 protocol by default when creating ssl.SSLContext. .. .. bpo: 25569 .. date: 8951 .. nonce: CfvQjK .. section: Library Fix memory leak in SSLSocket.getpeercert(). .. .. bpo: 25471 .. date: 8950 .. nonce: T0A02M .. section: Library Sockets returned from accept() shouldn't appear to be nonblocking. .. .. bpo: 25319 .. date: 8949 .. nonce: iyuglv .. section: Library When threading.Event is reinitialized, the underlying condition should use a regular lock rather than a recursive lock. .. .. bpo: 0 .. date: 8948 .. nonce: rtZyid .. section: Library Skip getaddrinfo if host is already resolved. Patch by A. Jesse Jiryu Davis. .. .. bpo: 26050 .. date: 8947 .. nonce: sclyvk .. section: Library Add asyncio.StreamReader.readuntil() method. Patch by Марк Коренберг. .. .. bpo: 25924 .. date: 8946 .. nonce: Uxr2vt .. section: Library Avoid unnecessary serialization of getaddrinfo(3) calls on OS X versions 10.5 or higher. Original patch by A. Jesse Jiryu Davis. .. .. bpo: 26406 .. date: 8945 .. nonce: ihvhF4 .. section: Library Avoid unnecessary serialization of getaddrinfo(3) calls on current versions of OpenBSD and NetBSD. Patch by A. Jesse Jiryu Davis. .. .. bpo: 26848 .. date: 8944 .. nonce: ChBOpQ .. section: Library Fix asyncio/subprocess.communicate() to handle empty input. Patch by Jack O'Connor. .. .. bpo: 27040 .. date: 8943 .. nonce: UASyCC .. section: Library Add loop.get_exception_handler method .. .. bpo: 27041 .. date: 8942 .. nonce: p3893U .. section: Library asyncio: Add loop.create_future method .. .. bpo: 20640 .. date: 8941 .. nonce: PmI-G8 .. section: IDLE Add tests for idlelib.configHelpSourceEdit. Patch by Saimadhav Heblikar. .. .. bpo: 0 .. date: 8940 .. nonce: _YJfG7 .. section: IDLE In the 'IDLE-console differences' section of the IDLE doc, clarify how running with IDLE affects sys.modules and the standard streams. .. .. bpo: 25507 .. date: 8939 .. nonce: i8bNpk .. section: IDLE fix incorrect change in IOBinding that prevented printing. Augment IOBinding htest to include all major IOBinding functions. .. .. bpo: 25905 .. date: 8938 .. nonce: FzNb3B .. section: IDLE Revert unwanted conversion of ' to ’ RIGHT SINGLE QUOTATION MARK in README.txt and open this and NEWS.txt with 'ascii'. Re-encode CREDITS.txt to utf-8 and open it with 'utf-8'. .. .. bpo: 15348 .. date: 8937 .. nonce: d1Fg01 .. section: IDLE Stop the debugger engine (normally in a user process) before closing the debugger window (running in the IDLE process). This prevents the RuntimeErrors that were being caught and ignored. .. .. bpo: 24455 .. date: 8936 .. nonce: x6YqtE .. section: IDLE Prevent IDLE from hanging when a) closing the shell while the debugger is active (15347); b) closing the debugger with the [X] button (15348); and c) activating the debugger when already active (24455). The patch by Mark Roseman does this by making two changes. 1. Suspend and resume the gui.interaction method with the tcl vwait mechanism intended for this purpose (instead of root.mainloop & .quit). 2. In gui.run, allow any existing interaction to terminate first. .. .. bpo: 0 .. date: 8935 .. nonce: Yp9LRY .. section: IDLE Change 'The program' to 'Your program' in an IDLE 'kill program?' message to make it clearer that the program referred to is the currently running user program, not IDLE itself. .. .. bpo: 24750 .. date: 8934 .. nonce: xgsi-K .. section: IDLE Improve the appearance of the IDLE editor window status bar. Patch by Mark Roseman. .. .. bpo: 25313 .. date: 8933 .. nonce: xMXHpO .. section: IDLE Change the handling of new built-in text color themes to better address the compatibility problem introduced by the addition of IDLE Dark. Consistently use the revised idleConf.CurrentTheme everywhere in idlelib. .. .. bpo: 24782 .. date: 8932 .. nonce: RgIPYE .. section: IDLE Extension configuration is now a tab in the IDLE Preferences dialog rather than a separate dialog. The former tabs are now a sorted list. Patch by Mark Roseman. .. .. bpo: 22726 .. date: 8931 .. nonce: x8T0dA .. section: IDLE Re-activate the config dialog help button with some content about the other buttons and the new IDLE Dark theme. .. .. bpo: 24820 .. date: 8930 .. nonce: TFPJhr .. section: IDLE IDLE now has an 'IDLE Dark' built-in text color theme. It is more or less IDLE Classic inverted, with a cobalt blue background. Strings, comments, keywords, ... are still green, red, orange, ... . To use it with IDLEs released before November 2015, hit the 'Save as New Custom Theme' button and enter a new name, such as 'Custom Dark'. The custom theme will work with any IDLE release, and can be modified. .. .. bpo: 25224 .. date: 8929 .. nonce: 5Llwo4 .. section: IDLE README.txt is now an idlelib index for IDLE developers and curious users. The previous user content is now in the IDLE doc chapter. 'IDLE' now means 'Integrated Development and Learning Environment'. .. .. bpo: 24820 .. date: 8928 .. nonce: ZUz9Fn .. section: IDLE Users can now set breakpoint colors in Settings -> Custom Highlighting. Original patch by Mark Roseman. .. .. bpo: 24972 .. date: 8927 .. nonce: uc0uNo .. section: IDLE Inactive selection background now matches active selection background, as configured by users, on all systems. Found items are now always highlighted on Windows. Initial patch by Mark Roseman. .. .. bpo: 24570 .. date: 8926 .. nonce: s3EkNn .. section: IDLE Idle: make calltip and completion boxes appear on Macs affected by a tk regression. Initial patch by Mark Roseman. .. .. bpo: 24988 .. date: 8925 .. nonce: tXqq4T .. section: IDLE Idle ScrolledList context menus (used in debugger) now work on Mac Aqua. Patch by Mark Roseman. .. .. bpo: 24801 .. date: 8924 .. nonce: -bj_Ou .. section: IDLE Make right-click for context menu work on Mac Aqua. Patch by Mark Roseman. .. .. bpo: 25173 .. date: 8923 .. nonce: EZzrPg .. section: IDLE Associate tkinter messageboxes with a specific widget. For Mac OSX, make them a 'sheet'. Patch by Mark Roseman. .. .. bpo: 25198 .. date: 8922 .. nonce: -j_BV7 .. section: IDLE Enhance the initial html viewer now used for Idle Help. Properly indent fixed-pitch text (patch by Mark Roseman). Give code snippet a very Sphinx-like light blueish-gray background. Re-use initial width and height set by users for shell and editor. When the Table of Contents (TOC) menu is used, put the section header at the top of the screen. .. .. bpo: 25225 .. date: 8921 .. nonce: 9pvdq6 .. section: IDLE Condense and rewrite Idle doc section on text colors. .. .. bpo: 21995 .. date: 8920 .. nonce: C5Rmzx .. section: IDLE Explain some differences between IDLE and console Python. .. .. bpo: 22820 .. date: 8919 .. nonce: hix_8X .. section: IDLE Explain need for *print* when running file from Idle editor. .. .. bpo: 25224 .. date: 8918 .. nonce: UVMYQq .. section: IDLE Doc: augment Idle feature list and no-subprocess section. .. .. bpo: 25219 .. date: 8917 .. nonce: 8_9DYg .. section: IDLE Update doc for Idle command line options. Some were missing and notes were not correct. .. .. bpo: 24861 .. date: 8916 .. nonce: Ecg2yT .. section: IDLE Most of idlelib is private and subject to change. Use idleib.idle.* to start Idle. See idlelib.__init__.__doc__. .. .. bpo: 25199 .. date: 8915 .. nonce: ih7yY3 .. section: IDLE Idle: add synchronization comments for future maintainers. .. .. bpo: 16893 .. date: 8914 .. nonce: uIi1oB .. section: IDLE Replace help.txt with help.html for Idle doc display. The new idlelib/help.html is rstripped Doc/build/html/library/idle.html. It looks better than help.txt and will better document Idle as released. The tkinter html viewer that works for this file was written by Rose Roseman. The now unused EditorWindow.HelpDialog class and helt.txt file are deprecated. .. .. bpo: 24199 .. date: 8913 .. nonce: VKnZEv .. section: IDLE Deprecate unused idlelib.idlever with possible removal in 3.6. .. .. bpo: 24790 .. date: 8912 .. nonce: hD1hlj .. section: IDLE Remove extraneous code (which also create 2 & 3 conflicts). .. .. bpo: 26736 .. date: 8911 .. nonce: U_Hyqo .. section: Documentation Used HTTPS for external links in the documentation if possible. .. .. bpo: 6953 .. date: 8910 .. nonce: Zk6rno .. section: Documentation Rework the Readline module documentation to group related functions together, and add more details such as what underlying Readline functions and variables are accessed. .. .. bpo: 23606 .. date: 8909 .. nonce: 9MhIso .. section: Documentation Adds note to ctypes documentation regarding cdll.msvcrt. .. .. bpo: 24952 .. date: 8908 .. nonce: RHhFPE .. section: Documentation Clarify the default size argument of stack_size() in the "threading" and "_thread" modules. Patch from Mattip. .. .. bpo: 26014 .. date: 8907 .. nonce: ptdZ_I .. section: Documentation Update 3.x packaging documentation: * "See also" links to the new docs are now provided in the legacy pages * links to setuptools documentation have been updated .. .. bpo: 21916 .. date: 8906 .. nonce: muwCyp .. section: Tests Added tests for the turtle module. Patch by ingrid, Gregory Loyse and Jelle Zijlstra. .. .. bpo: 26295 .. date: 8905 .. nonce: sYBtj5 .. section: Tests When using "python3 -m test --testdir=TESTDIR", regrtest doesn't add "test." prefix to test module names. .. .. bpo: 26523 .. date: 8904 .. nonce: em_Uzt .. section: Tests The multiprocessing thread pool (multiprocessing.dummy.Pool) was untested. .. .. bpo: 26015 .. date: 8903 .. nonce: p3oWK3 .. section: Tests Added new tests for pickling iterators of mutable sequences. .. .. bpo: 26325 .. date: 8902 .. nonce: KOUc82 .. section: Tests Added test.support.check_no_resource_warning() to check that no ResourceWarning is emitted. .. .. bpo: 25940 .. date: 8901 .. nonce: MvBwSe .. section: Tests Changed test_ssl to use its internal local server more. This avoids relying on svn.python.org, which recently changed root certificate. .. .. bpo: 25616 .. date: 8900 .. nonce: Qr-60p .. section: Tests Tests for OrderedDict are extracted from test_collections into separate file test_ordered_dict. .. .. bpo: 25449 .. date: 8899 .. nonce: MP6KNs .. section: Tests Added tests for OrderedDict subclasses. .. .. bpo: 25188 .. date: 8898 .. nonce: lnLnIW .. section: Tests Add -P/--pgo to test.regrtest to suppress error output when running the test suite for the purposes of a PGO build. Initial patch by Alecsandru Patrascu. .. .. bpo: 22806 .. date: 8897 .. nonce: _QHyyV .. section: Tests Add ``python -m test --list-tests`` command to list tests. .. .. bpo: 18174 .. date: 8896 .. nonce: TzH9d_ .. section: Tests ``python -m test --huntrleaks ...`` now also checks for leak of file descriptors. Patch written by Richard Oudkerk. .. .. bpo: 25260 .. date: 8895 .. nonce: jw3p83 .. section: Tests Fix ``python -m test --coverage`` on Windows. Remove the list of ignored directories. .. .. bpo: 0 .. date: 8894 .. nonce: X-Bk5l .. section: Tests ``PCbuild\rt.bat`` now accepts an unlimited number of arguments to pass along to regrtest.py. Previously there was a limit of 9. .. .. bpo: 26583 .. date: 8893 .. nonce: Up7hTl .. section: Tests Skip test_timestamp_overflow in test_import if bytecode files cannot be written. .. .. bpo: 21277 .. date: 8892 .. nonce: 7y1j9a .. section: Build Don't try to link _ctypes with a ffi_convenience library. .. .. bpo: 26884 .. date: 8891 .. nonce: O8-azL .. section: Build Fix linking extension modules for cross builds. Patch by Xavier de Gaye. .. .. bpo: 26932 .. date: 8890 .. nonce: 5kzaG9 .. section: Build Fixed support of RTLD_* constants defined as enum values, not via macros (in particular on Android). Patch by Chi Hsuan Yen. .. .. bpo: 22359 .. date: 8889 .. nonce: HDjM4s .. section: Build Disable the rules for running _freeze_importlib and pgen when cross-compiling. The output of these programs is normally saved with the source code anyway, and is still regenerated when doing a native build. Patch by Xavier de Gaye. .. .. bpo: 21668 .. date: 8888 .. nonce: qWwBui .. section: Build Link audioop, _datetime, _ctypes_test modules to libm, except on Mac OS X. Patch written by Chi Hsuan Yen. .. .. bpo: 25702 .. date: 8887 .. nonce: ipxyJs .. section: Build A --with-lto configure option has been added that will enable link time optimizations at build time during a make profile-opt. Some compilers and toolchains are known to not produce stable code when using LTO, be sure to test things thoroughly before relying on it. It can provide a few % speed up over profile-opt alone. .. .. bpo: 26624 .. date: 8886 .. nonce: 4fGrTl .. section: Build Adds validation of ucrtbase[d].dll version with warning for old versions. .. .. bpo: 17603 .. date: 8885 .. nonce: 102DA- .. section: Build Avoid error about nonexistent fileblocks.o file by using a lower-level check for st_blocks in struct stat. .. .. bpo: 26079 .. date: 8884 .. nonce: mEzW0O .. section: Build Fixing the build output folder for tix-8.4.3.6. Patch by Bjoern Thiel. .. .. bpo: 26465 .. date: 8883 .. nonce: _YR608 .. section: Build Update Windows builds to use OpenSSL 1.0.2g. .. .. bpo: 25348 .. date: 8882 .. nonce: FLSPfp .. section: Build Added ``--pgo`` and ``--pgo-job`` arguments to ``PCbuild\build.bat`` for building with Profile-Guided Optimization. The old ``PCbuild\build_pgo.bat`` script is removed. .. .. bpo: 25827 .. date: 8881 .. nonce: yg3DMM .. section: Build Add support for building with ICC to ``configure``, including a new ``--with-icc`` flag. .. .. bpo: 25696 .. date: 8880 .. nonce: 2R_wIv .. section: Build Fix installation of Python on UNIX with make -j9. .. .. bpo: 24986 .. date: 8879 .. nonce: 1WyXeU .. section: Build It is now possible to build Python on Windows without errors when external libraries are not available. .. .. bpo: 24421 .. date: 8878 .. nonce: 2zY7vM .. section: Build Compile Modules/_math.c once, before building extensions. Previously it could fail to compile properly if the math and cmath builds were concurrent. .. .. bpo: 26465 .. date: 8877 .. nonce: PkIaV8 .. section: Build Update OS X 10.5+ 32-bit-only installer to build and link with OpenSSL 1.0.2g. .. .. bpo: 26268 .. date: 8876 .. nonce: I3-YLh .. section: Build Update Windows builds to use OpenSSL 1.0.2f. .. .. bpo: 25136 .. date: 8875 .. nonce: Vi-fmO .. section: Build Support Apple Xcode 7's new textual SDK stub libraries. .. .. bpo: 24324 .. date: 8874 .. nonce: m6DZMx .. section: Build Do not enable unreachable code warnings when using gcc as the option does not work correctly in older versions of gcc and has been silently removed as of gcc-4.5. .. .. bpo: 27053 .. date: 8873 .. nonce: 1IRbae .. section: Windows Updates make_zip.py to correctly generate library ZIP file. .. .. bpo: 26268 .. date: 8872 .. nonce: Z-lJEh .. section: Windows Update the prepare_ssl.py script to handle OpenSSL releases that don't include the contents of the include directory (that is, 1.0.2e and later). .. .. bpo: 26071 .. date: 8871 .. nonce: wLxL2l .. section: Windows bdist_wininst created binaries fail to start and find 32bit Python .. .. bpo: 26073 .. date: 8870 .. nonce: XwWgHp .. section: Windows Update the list of magic numbers in launcher .. .. bpo: 26065 .. date: 8869 .. nonce: SkVLJp .. section: Windows Excludes venv from library when generating embeddable distro. .. .. bpo: 25022 .. date: 8868 .. nonce: vAt_zr .. section: Windows Removed very outdated PC/example_nt/ directory. .. .. bpo: 26799 .. date: 8867 .. nonce: gK2VXX .. section: Tools/Demos Fix python-gdb.py: don't get C types once when the Python code is loaded, but get C types on demand. The C types can change if python-gdb.py is loaded before the Python executable. Patch written by Thomas Ilsche. .. .. bpo: 26271 .. date: 8866 .. nonce: wg-rzr .. section: Tools/Demos Fix the Freeze tool to properly use flags passed through configure. Patch by Daniel Shaulov. .. .. bpo: 26489 .. date: 8865 .. nonce: rJ_U5S .. section: Tools/Demos Add dictionary unpacking support to Tools/parser/unparse.py. Patch by Guo Ci Teo. .. .. bpo: 26316 .. date: 8864 .. nonce: QJvVOi .. section: Tools/Demos Fix variable name typo in Argument Clinic. .. .. bpo: 25440 .. date: 8863 .. nonce: 5xhyGr .. section: Tools/Demos Fix output of python-config --extension-suffix. .. .. bpo: 25154 .. date: 8862 .. nonce: yLO-r4 .. section: Tools/Demos The pyvenv script has been deprecated in favour of ``python3 -m venv``. .. .. bpo: 26312 .. date: 8861 .. nonce: h1T61B .. section: C API SystemError is now raised in all programming bugs with using PyArg_ParseTupleAndKeywords(). RuntimeError did raised before in some programming bugs. .. .. bpo: 26198 .. date: 8860 .. nonce: lVn1HX .. section: C API ValueError is now raised instead of TypeError on buffer overflow in parsing "es#" and "et#" format units. SystemError is now raised instead of TypeError on programmatical error in parsing format string.