.. bpo: 23573 .. date: 9042 .. nonce: ZpM4D- .. release date: 2015-03-28 .. section: Core and Builtins Increased performance of string search operations (str.find, str.index, str.count, the in operator, str.split, str.partition) with arguments of different kinds (UCS1, UCS2, UCS4). .. .. bpo: 23753 .. date: 9041 .. nonce: CREjLC .. section: Core and Builtins Python doesn't support anymore platforms without stat() or fstat(), these functions are always required. .. .. bpo: 23681 .. date: 9040 .. nonce: kh02TF .. section: Core and Builtins The -b option now affects comparisons of bytes with int. .. .. bpo: 23632 .. date: 9039 .. nonce: UVdIZY .. section: Core and Builtins Memoryviews now allow tuple indexing (including for multi-dimensional memoryviews). .. .. bpo: 23192 .. date: 9038 .. nonce: QKqdow .. section: Core and Builtins Fixed generator lambdas. Patch by Bruno Cauet. .. .. bpo: 23629 .. date: 9037 .. nonce: r9Mt2C .. section: Core and Builtins Fix the default __sizeof__ implementation for variable-sized objects. .. .. bpo: 14260 .. date: 9036 .. nonce: b5M04V .. section: Library The groupindex attribute of regular expression pattern object now is non- modifiable mapping. .. .. bpo: 23792 .. date: 9035 .. nonce: Kfm9-f .. section: Library Ignore KeyboardInterrupt when the pydoc pager is active. This mimics the behavior of the standard unix pagers, and prevents pipepager from shutting down while the pager itself is still running. .. .. bpo: 23775 .. date: 9034 .. nonce: xKGrSQ .. section: Library pprint() of OrderedDict now outputs the same representation as repr(). .. .. bpo: 23765 .. date: 9033 .. nonce: 2ta_C4 .. section: Library Removed IsBadStringPtr calls in ctypes .. .. bpo: 22364 .. date: 9032 .. nonce: ejtoKl .. section: Library Improved some re error messages using regex for hints. .. .. bpo: 23742 .. date: 9031 .. nonce: _EkAIa .. section: Library ntpath.expandvars() no longer loses unbalanced single quotes. .. .. bpo: 21717 .. date: 9030 .. nonce: pKndpx .. section: Library The zipfile.ZipFile.open function now supports 'x' (exclusive creation) mode. .. .. bpo: 21802 .. date: 9029 .. nonce: ygSM2A .. section: Library The reader in BufferedRWPair now is closed even when closing writer failed in BufferedRWPair.close(). .. .. bpo: 23622 .. date: 9028 .. nonce: 9-ZRqj .. section: Library Unknown escapes in regular expressions that consist of ``'\'`` and ASCII letter now raise a deprecation warning and will be forbidden in Python 3.6. .. .. bpo: 23671 .. date: 9027 .. nonce: zWPm-a .. section: Library string.Template now allows specifying the "self" parameter as a keyword argument. string.Formatter now allows specifying the "self" and the "format_string" parameters as keyword arguments. .. .. bpo: 23502 .. date: 9026 .. nonce: AH20IQ .. section: Library The pprint module now supports mapping proxies. .. .. bpo: 17530 .. date: 9025 .. nonce: PUp8rL .. section: Library pprint now wraps long bytes objects and bytearrays. .. .. bpo: 22687 .. date: 9024 .. nonce: zEJPd9 .. section: Library Fixed some corner cases in breaking words in tetxtwrap. Got rid of quadratic complexity in breaking long words. .. .. bpo: 4727 .. date: 9023 .. nonce: iDQSpi .. section: Library The copy module now uses pickle protocol 4 (PEP 3154) and supports copying of instances of classes whose __new__ method takes keyword-only arguments. .. .. bpo: 23491 .. date: 9022 .. nonce: P_WKrt .. section: Library Added a zipapp module to support creating executable zip file archives of Python code. Registered ".pyz" and ".pyzw" extensions on Windows for these archives (PEP 441). .. .. bpo: 23657 .. date: 9021 .. nonce: y1OaV- .. section: Library Avoid explicit checks for str in zipapp, adding support for pathlib.Path objects as arguments. .. .. bpo: 23688 .. date: 9020 .. nonce: d6LVy3 .. section: Library Added support of arbitrary bytes-like objects and avoided unnecessary copying of memoryview in gzip.GzipFile.write(). Original patch by Wolfgang Maier. .. .. bpo: 23252 .. date: 9019 .. nonce: Goi18g .. section: Library Added support for writing ZIP files to unseekable streams. .. .. bpo: 23647 .. date: 9018 .. nonce: pX2qrx .. section: Library Increase impalib's MAXLINE to accommodate modern mailbox sizes. .. .. bpo: 23539 .. date: 9017 .. nonce: 5BVUim .. section: Library If body is None, http.client.HTTPConnection.request now sets Content-Length to 0 for PUT, POST, and PATCH headers to avoid 411 errors from some web servers. .. .. bpo: 22351 .. date: 9016 .. nonce: agB8Y3 .. section: Library The nntplib.NNTP constructor no longer leaves the connection and socket open until the garbage collector cleans them up. Patch by Martin Panter. .. .. bpo: 23704 .. date: 9015 .. nonce: LTyyxL .. section: Library collections.deque() objects now support methods for index(), insert(), and copy(). This allows deques to be registered as a MutableSequence and it improves their substitutability for lists. .. .. bpo: 23715 .. date: 9014 .. nonce: Yap3tU .. section: Library :func:`signal.sigwaitinfo` and :func:`signal.sigtimedwait` are now retried when interrupted by a signal not in the *sigset* parameter, if the signal handler does not raise an exception. signal.sigtimedwait() recomputes the timeout with a monotonic clock when it is retried. .. .. bpo: 23001 .. date: 9013 .. nonce: YSFnam .. section: Library Few functions in modules mmap, ossaudiodev, socket, ssl, and codecs, that accepted only read-only bytes-like object now accept writable bytes-like object too. .. .. bpo: 23646 .. date: 9012 .. nonce: Tljc1S .. section: Library If time.sleep() is interrupted by a signal, the sleep is now retried with the recomputed delay, except if the signal handler raises an exception (PEP 475). .. .. bpo: 23136 .. date: 9011 .. nonce: 1bnpnb .. section: Library _strptime now uniformly handles all days in week 0, including Dec 30 of previous year. Based on patch by Jim Carroll. .. .. bpo: 23700 .. date: 9010 .. nonce: VfnWwi .. section: Library Iterator of NamedTemporaryFile now keeps a reference to NamedTemporaryFile instance. Patch by Bohuslav Kabrda. .. .. bpo: 22903 .. date: 9009 .. nonce: 2GjTHY .. section: Library The fake test case created by unittest.loader when it fails importing a test module is now picklable. .. .. bpo: 22181 .. date: 9008 .. nonce: 7mnxea .. section: Library On Linux, os.urandom() now uses the new getrandom() syscall if available, syscall introduced in the Linux kernel 3.17. It is more reliable and more secure, because it avoids the need of a file descriptor and waits until the kernel has enough entropy. .. .. bpo: 2211 .. date: 9007 .. nonce: 17Iz5U .. section: Library Updated the implementation of the http.cookies.Morsel class. Setting attributes key, value and coded_value directly now is deprecated. update() and setdefault() now transform and check keys. Comparing for equality now takes into account attributes key, value and coded_value. copy() now returns a Morsel, not a dict. repr() now contains all attributes. Optimized checking keys and quoting values. Added new tests. Original patch by Demian Brecht. .. .. bpo: 18983 .. date: 9006 .. nonce: vF4i2S .. section: Library Allow selection of output units in timeit. Patch by Julian Gindi. .. .. bpo: 23631 .. date: 9005 .. nonce: GfSqNI .. section: Library Fix traceback.format_list when a traceback has been mutated. .. .. bpo: 23568 .. date: 9004 .. nonce: ffzJc7 .. section: Library Add rdivmod support to MagicMock() objects. Patch by Håkan Lövdahl. .. .. bpo: 2052 .. date: 9003 .. nonce: ujNgna .. section: Library Add charset parameter to HtmlDiff.make_file(). .. .. bpo: 23668 .. date: 9002 .. nonce: nF_jnN .. section: Library Support os.truncate and os.ftruncate on Windows. .. .. bpo: 23138 .. date: 9001 .. nonce: 4vMoMZ .. section: Library Fixed parsing cookies with absent keys or values in cookiejar. Patch by Demian Brecht. .. .. bpo: 23051 .. date: 9000 .. nonce: Vi5tCZ .. section: Library multiprocessing.Pool methods imap() and imap_unordered() now handle exceptions raised by an iterator. Patch by Alon Diamant and Davin Potts. .. .. bpo: 23581 .. date: 8999 .. nonce: D4Lknl .. section: Library Add matmul support to MagicMock. Patch by Håkan Lövdahl. .. .. bpo: 23566 .. date: 8998 .. nonce: F6LSyk .. section: Library enable(), register(), dump_traceback() and dump_traceback_later() functions of faulthandler now accept file descriptors. Patch by Wei Wu. .. .. bpo: 22928 .. date: 8997 .. nonce: q2TmY0 .. section: Library Disabled HTTP header injections in http.client. Original patch by Demian Brecht. .. .. bpo: 23615 .. date: 8996 .. nonce: 5Kx9k5 .. section: Library Modules bz2, tarfile and tokenize now can be reloaded with imp.reload(). Patch by Thomas Kluyver. .. .. bpo: 23605 .. date: 8995 .. nonce: JUOA_X .. section: Library os.walk() now calls os.scandir() instead of os.listdir(). The usage of os.scandir() reduces the number of calls to os.stat(). Initial patch written by Ben Hoyt. .. .. bpo: 23585 .. date: 8994 .. nonce: DTIIoI .. section: Build make patchcheck will ensure the interpreter is built. .. .. bpo: 23583 .. date: 8993 .. nonce: bY8AbM .. section: Tests Added tests for standard IO streams in IDLE. .. .. bpo: 22289 .. date: 8992 .. nonce: ybGcC- .. section: Tests Prevent test_urllib2net failures due to ftp connection timeout. .. .. bpo: 22826 .. date: 8991 .. nonce: 3bcoDL .. section: Tools/Demos The result of open() in Tools/freeze/bkfile.py is now better compatible with regular files (in particular it now supports the context management protocol).