.. bpo: 25678 .. date: 9701 .. nonce: aOCs4y .. release date: 2015-11-21 .. section: Core and Builtins Avoid buffer overreads when int(), long(), float(), and compile() are passed buffer objects. These objects are not necessarily terminated by a null byte, but the functions assumed they were. .. .. bpo: 25388 .. date: 9700 .. nonce: Yl4HRL .. section: Core and Builtins Fixed tokenizer hang when processing undecodable source code with a null byte. .. .. bpo: 22995 .. date: 9699 .. nonce: 90kpuP .. section: Core and Builtins Default implementation of __reduce__ and __reduce_ex__ now rejects builtin types with not defined __new__. .. .. bpo: 7267 .. date: 9698 .. nonce: eje_k4 .. section: Core and Builtins format(int, 'c') now raises OverflowError when the argument is not in range(0, 256). .. .. bpo: 24806 .. date: 9697 .. nonce: Nb0znT .. section: Core and Builtins Prevent builtin types that are not allowed to be subclassed from being subclassed through multiple inheritance. .. .. bpo: 24848 .. date: 9696 .. nonce: HlUSuy .. section: Core and Builtins Fixed a number of bugs in UTF-7 decoding of misformed data. .. .. bpo: 25003 .. date: 9695 .. nonce: -bdxOl .. section: Core and Builtins os.urandom() doesn't use getentropy() on Solaris because getentropy() is blocking, whereas os.urandom() should not block. getentropy() is supported since Solaris 11.3. .. .. bpo: 21167 .. date: 9694 .. nonce: uom-Dq .. section: Core and Builtins NAN operations are now handled correctly when python is compiled with ICC even if -fp-model strict is not specified. .. .. bpo: 24467 .. date: 9693 .. nonce: BAJ80- .. section: Core and Builtins Fixed possible buffer over-read in bytearray. The bytearray object now always allocates place for trailing null byte and it's buffer now is always null-terminated. .. .. bpo: 19543 .. date: 9692 .. nonce: OT7JMe .. section: Core and Builtins encode() and decode() methods and constructors of str, unicode and bytearray classes now emit deprecation warning for known non-text encodings when Python is ran with the -3 option. .. .. bpo: 24115 .. date: 9691 .. nonce: y9e_MO .. section: Core and Builtins Update uses of PyObject_IsTrue(), PyObject_Not(), PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains() to check for and handle errors correctly. .. .. bpo: 4753 .. date: 9690 .. nonce: o7jpYf .. section: Core and Builtins On compilers where it is supported, use "computed gotos" for bytecode dispatch in the interpreter. This improves interpretation performance. .. .. bpo: 22939 .. date: 9689 .. nonce: grBMzV .. section: Core and Builtins Fixed integer overflow in iterator object. Original patch by Clement Rouault. .. .. bpo: 24102 .. date: 9688 .. nonce: 9T6h3m .. section: Core and Builtins Fixed exception type checking in standard error handlers. .. .. bpo: 10128 .. date: 9687 .. nonce: 0pRKCf .. section: Library backport issue #10845's mitigation of incompatibilities between the multiprocessing module and directory and zipfile execution. Multiprocessing on Windows will now automatically skip rerunning __main__ in spawned processes, rather than failing with AssertionError. .. .. bpo: 25578 .. date: 9686 .. nonce: G6S-ft .. section: Library Fix (another) memory leak in SSLSocket.getpeercer(). .. .. bpo: 25590 .. date: 9685 .. nonce: aCt-yW .. section: Library In the Readline completer, only call getattr() once per attribute. .. .. bpo: 25530 .. date: 9684 .. nonce: hDFkwu .. section: Library Disable the vulnerable SSLv3 protocol by default when creating ssl.SSLContext. .. .. bpo: 25569 .. date: 9683 .. nonce: CfvQjK .. section: Library Fix memory leak in SSLSocket.getpeercert(). .. .. bpo: 7759 .. date: 9682 .. nonce: a72qAb .. section: Library Fixed the mhlib module on filesystems that doesn't support link counting for directories. .. .. bpo: 892902 .. date: 9681 .. nonce: V_kMwt .. section: Library Fixed pickling recursive objects. .. .. bpo: 18010 .. date: 9680 .. nonce: pHcjnp .. section: Library Fix the pydoc GUI's search function to handle exceptions from importing packages. .. .. bpo: 25515 .. date: 9679 .. nonce: fQsyYG .. section: Library Always use os.urandom as a source of randomness in uuid.uuid4. .. .. bpo: 21827 .. date: 9678 .. 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: 21709 .. date: 9677 .. nonce: hiATOK .. section: Library Fix the logging module to not depend upon __file__ being set properly to get the filename of its caller from the stack. This allows it to work if run in a frozen or embedded environment where the module's .__file__ attribute does not match its code object's .co_filename. .. .. bpo: 25319 .. date: 9676 .. nonce: iyuglv .. section: Library When threading.Event is reinitialized, the underlying condition should use a regular lock rather than a recursive lock. .. .. bpo: 25232 .. date: 9675 .. 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: 9674 .. 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: 22958 .. date: 9673 .. nonce: 04wca1 .. section: Library Constructor and update method of weakref.WeakValueDictionary now accept the self keyword argument. .. .. bpo: 22609 .. date: 9672 .. nonce: aTCKbk .. section: Library Constructor and the update method of collections.UserDict now accept the self keyword argument. .. .. bpo: 25203 .. date: 9671 .. nonce: IgDEbt .. section: Library Failed readline.set_completer_delims() no longer left the module in inconsistent state. .. .. bpo: 19143 .. date: 9670 .. nonce: 76SBSO .. section: Library platform module now reads Windows version from kernel32.dll to avoid compatibility shims. .. .. bpo: 25135 .. date: 9669 .. nonce: gVHNy- .. section: Library Make deque_clear() safer by emptying the deque before clearing. This helps avoid possible reentrancy issues. .. .. bpo: 24684 .. date: 9668 .. nonce: 7ewUAL .. section: Library socket.socket.getaddrinfo() now calls PyUnicode_AsEncodedString() instead of calling the encode() method of the host, to handle correctly custom unicode string with an encode() method which doesn't return a byte string. The encoder of the IDNA codec is now called directly instead of calling the encode() method of the string. .. .. bpo: 24982 .. date: 9667 .. nonce: sGMMAR .. section: Library shutil.make_archive() with the "zip" format now adds entries for directories (including empty directories) in ZIP file. .. .. bpo: 17849 .. date: 9666 .. nonce: prwvGY .. section: Library Raise a sensible exception if an invalid response is received for a HTTP tunnel request, as seen with some servers that do not support tunnelling. Initial patch from Cory Benfield. .. .. bpo: 16180 .. date: 9665 .. nonce: 6IUcNS .. section: Library Exit pdb if file has syntax error, instead of trapping user in an infinite loop. Patch by Xavier de Gaye. .. .. bpo: 22812 .. date: 9664 .. nonce: kLCF0G .. section: Library Fix unittest discovery examples. Patch from Pam McA'Nulty. .. .. bpo: 24634 .. date: 9663 .. nonce: 7bnVgr .. section: Library Importing uuid should not try to load libc on Windows .. .. bpo: 23652 .. date: 9662 .. nonce: DdZRSr .. section: Library Make it possible to compile the select module against the libc headers from the Linux Standard Base, which do not include some EPOLL macros. Initial patch by Matt Frank. .. .. bpo: 15138 .. date: 9661 .. nonce: PXj7mj .. section: Library Speed up base64.urlsafe_b64{en,de}code considerably. .. .. bpo: 23319 .. date: 9660 .. nonce: FXyUH- .. section: Library Fix ctypes.BigEndianStructure, swap correctly bytes. Patch written by Matthieu Gautier. .. .. bpo: 23254 .. date: 9659 .. nonce: zNiy1X .. section: Library Document how to close the TCPServer listening socket. Patch from Martin Panter. .. .. bpo: 17527 .. date: 9658 .. nonce: ve9fyw .. section: Library Add PATCH to wsgiref.validator. Patch from Luca Sbardella. .. .. bpo: 24613 .. date: 9657 .. nonce: QZrd_P .. section: Library Calling array.fromstring() with self is no longer allowed to prevent the use-after-free error. Patch by John Leitch. .. .. bpo: 24708 .. date: 9656 .. nonce: WIZWbu .. section: Library Fix possible integer overflow in strop.replace(). .. .. bpo: 24620 .. date: 9655 .. nonce: rrnxB- .. section: Library Random.setstate() now validates the value of state last element. .. .. bpo: 13938 .. date: 9654 .. nonce: e5NSE1 .. section: Library 2to3 converts StringTypes to a tuple. Patch from Mark Hammond. .. .. bpo: 24611 .. date: 9653 .. nonce: _KNs8d .. section: Library Fixed compiling the posix module on non-Windows platforms without mknod() or makedev() (e.g. on Unixware). .. .. bpo: 18684 .. date: 9652 .. nonce: S2es0F .. section: Library Fixed reading out of the buffer in the re module. .. .. bpo: 24259 .. date: 9651 .. nonce: vMAi1A .. section: Library tarfile now raises a ReadError if an archive is truncated inside a data segment. .. .. bpo: 24514 .. date: 9650 .. nonce: _xRb2r .. section: Library tarfile now tolerates number fields consisting of only whitespace. .. .. bpo: 20387 .. date: 9649 .. nonce: aAbWbQ .. section: Library Restore semantic round-trip correctness in tokenize/untokenize for tab-indented blocks. .. .. bpo: 24456 .. date: 9648 .. nonce: swkJgS .. section: Library Fixed possible buffer over-read in adpcm2lin() and lin2adpcm() functions of the audioop module. Fixed SystemError when the state is not a tuple. Fixed possible memory leak. .. .. bpo: 24481 .. date: 9647 .. nonce: EsJTQ7 .. section: Library Fix possible memory corruption with large profiler info strings in hotshot. .. .. bpo: 24489 .. date: 9646 .. nonce: GJnMcW .. section: Library ensure a previously set C errno doesn't disturb cmath.polar(). .. .. bpo: 19543 .. date: 9645 .. nonce: 8XxBDj .. section: Library io.TextIOWrapper (and hence io.open()) now uses the internal codec marking system added to emit deprecation warning for known non-text encodings at stream construction time when Python is ran with the -3 option. .. .. bpo: 24264 .. date: 9644 .. nonce: 3zMc38 .. section: Library Fixed buffer overflow in the imageop module. .. .. bpo: 5633 .. date: 9643 .. nonce: JNzKZq .. section: Library Fixed timeit when the statement is a string and the setup is not. .. .. bpo: 24326 .. date: 9642 .. nonce: 4t_6Gy .. section: Library Fixed audioop.ratecv() with non-default weightB argument. Original patch by David Moore. .. .. bpo: 22095 .. date: 9641 .. nonce: iISzxM .. section: Library Fixed HTTPConnection.set_tunnel with default port. The port value in the host header was set to "None". Patch by Demian Brecht. .. .. bpo: 24257 .. date: 9640 .. nonce: L_efq0 .. section: Library Fixed segmentation fault in sqlite3.Row constructor with faked cursor type. .. .. bpo: 24286 .. date: 9639 .. nonce: QTU65z .. section: Library Dict view were not registered with the MappingView abstract base classes. This caused key and item views in OrderedDict to not be equal to their regular dict counterparts. .. .. bpo: 22107 .. date: 9638 .. nonce: 2F8k4W .. section: Library tempfile.gettempdir() and tempfile.mkdtemp() now try again when a directory with the chosen name already exists on Windows as well as on Unix. tempfile.mkstemp() now fails early if parent directory is not valid (not exists or is a file) on Windows. .. .. bpo: 6598 .. date: 9637 .. nonce: JdZNDt .. section: Library Increased time precision and random number range in email.utils.make_msgid() to strengthen the uniqueness of the message ID. .. .. bpo: 24091 .. date: 9636 .. nonce: vBNeTI .. section: Library Fixed various crashes in corner cases in cElementTree. .. .. bpo: 15267 .. date: 9635 .. nonce: xT65mc .. section: Library HTTPConnection.request() now is compatible with old-style classes (such as TemporaryFile). Original patch by Atsuo Ishimoto. .. .. bpo: 20014 .. date: 9634 .. nonce: NfHQd1 .. section: Library array.array() now accepts unicode typecodes. Based on patch by Vajrasky Kok. .. .. bpo: 23637 .. date: 9633 .. nonce: 1yFWAy .. section: Library Showing a warning no longer fails with UnicodeError. Formatting unicode warning in the file with the path containing non-ascii characters no longer fails with UnicodeError. .. .. bpo: 24134 .. date: 9632 .. nonce: 4cPfh1 .. section: Library Reverted issue #24134 changes. .. .. bpo: 15348 .. date: 9631 .. 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: 9630 .. 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: 9629 .. 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: 9628 .. nonce: xgsi-K .. section: IDLE Improve the appearance of the IDLE editor window status bar. Patch by Mark Roseman. .. .. bpo: 25313 .. date: 9627 .. 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: 9626 .. nonce: PCsWad .. 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: 9625 .. 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: 9624 .. 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: 9623 .. 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: 9622 .. nonce: ZUz9Fn .. section: IDLE Users can now set breakpoint colors in Settings -> Custom Highlighting. Original patch by Mark Roseman. .. .. bpo: 24972 .. date: 9621 .. 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: 9620 .. 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: 9619 .. nonce: tXqq4T .. section: IDLE Idle ScrolledList context menus (used in debugger) now work on Mac Aqua. Patch by Mark Roseman. .. .. bpo: 24801 .. date: 9618 .. nonce: -bj_Ou .. section: IDLE Make right-click for context menu work on Mac Aqua. Patch by Mark Roseman. .. .. bpo: 25173 .. date: 9617 .. 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: 9616 .. 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: 9615 .. nonce: 9pvdq6 .. section: IDLE Condense and rewrite Idle doc section on text colors. .. .. bpo: 21995 .. date: 9614 .. nonce: C5Rmzx .. section: IDLE Explain some differences between IDLE and console Python. .. .. bpo: 22820 .. date: 9613 .. nonce: hix_8X .. section: IDLE Explain need for *print* when running file from Idle editor. .. .. bpo: 25224 .. date: 9612 .. nonce: UVMYQq .. section: IDLE Doc: augment Idle feature list and no-subprocess section. .. .. bpo: 25219 .. date: 9611 .. nonce: 8_9DYg .. section: IDLE Update doc for Idle command line options. Some were missing and notes were not correct. .. .. bpo: 24861 .. date: 9610 .. 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: 9609 .. nonce: ih7yY3 .. section: IDLE Idle: add synchronization comments for future maintainers. .. .. bpo: 16893 .. date: 9608 .. nonce: bZtPgJ .. 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 Mark Roseman. The now unused EditorWindow.HelpDialog class and helt.txt file are deprecated. .. .. bpo: 24199 .. date: 9607 .. nonce: VKnZEv .. section: IDLE Deprecate unused idlelib.idlever with possible removal in 3.6. .. .. bpo: 24790 .. date: 9606 .. nonce: hD1hlj .. section: IDLE Remove extraneous code (which also create 2 & 3 conflicts). .. .. bpo: 23672 .. date: 9605 .. nonce: 8td2se .. section: IDLE Allow Idle to edit and run files with astral chars in name. Patch by Mohd Sanad Zaki Rizvi. .. .. bpo: 24745 .. date: 9604 .. nonce: edbziT .. section: IDLE Idle editor default font. Switch from Courier to platform-sensitive TkFixedFont. This should not affect current customized font selections. If there is a problem, edit $HOME/.idlerc/config-main.cfg and remove 'fontxxx' entries from [Editor Window]. Patch by Mark Roseman. .. .. bpo: 21192 .. date: 9603 .. nonce: CdbipH .. section: IDLE Idle editor. When a file is run, put its name in the restart bar. Do not print false prompts. Original patch by Adnan Umer. .. .. bpo: 13884 .. date: 9602 .. nonce: vVcO1E .. section: IDLE Idle menus. Remove tearoff lines. Patch by Roger Serwy. .. .. bpo: 15809 .. date: 9601 .. nonce: mfawdr .. section: IDLE IDLE shell now uses locale encoding instead of Latin1 for decoding unicode literals. .. .. bpo: 24952 .. date: 9600 .. nonce: aJv9x1 .. section: Documentation Clarify the default size argument of stack_size() in the "threading" and "thread" modules. Patch from Mattip. .. .. bpo: 20769 .. date: 9599 .. nonce: ZUc9z9 .. section: Documentation Improve reload() docs. Patch by Dorian Pula. .. .. bpo: 23589 .. date: 9598 .. nonce: rjU421 .. section: Documentation Remove duplicate sentence from the FAQ. Patch by Yongzhi Pan. .. .. bpo: 22155 .. date: 9597 .. nonce: 6Kq5Tv .. section: Documentation Add File Handlers subsection with createfilehandler to Tkinter doc. Remove obsolete example from FAQ. Patch by Martin Panter. .. .. bpo: 24751 .. date: 9596 .. nonce: pL2pbj .. section: Tests When running regrtest with the ``-w`` command line option, a test run is no longer marked as a failure if all tests succeed when re-run. .. .. bpo: 0 .. date: 9595 .. nonce: yeHJKJ .. 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: 24915 .. date: 9594 .. nonce: N9MrQY .. section: Build When doing a PGO build, the test suite is now used instead of pybench; Clang support was also added as part off this work. Initial patch by Alecsandru Patrascu of Intel. .. .. bpo: 24986 .. date: 9593 .. nonce: 1WyXeU .. section: Build It is now possible to build Python on Windows without errors when external libraries are not available. .. .. bpo: 24508 .. date: 9592 .. nonce: m8-La8 .. section: Build Backported the MSBuild project files from Python 3.5. The backported files replace the old project files in PCbuild; the old files moved to PC/VS9.0 and remain supported. .. .. bpo: 24603 .. date: 9591 .. nonce: PyHyF5 .. section: Build Update Windows builds and OS X 10.5 installer to use OpenSSL 1.0.2d. .. .. bpo: 25022 .. date: 9590 .. nonce: vAt_zr .. section: Windows Removed very outdated PC/example_nt/ directory.