Skip to content

Latest commit

 

History

History
537 lines (380 loc) · 10.3 KB

3.6.0a3.rst

File metadata and controls

537 lines (380 loc) · 10.3 KB

Fixed possible integer overflow in bytes and bytearray concatenations. Patch by Xiang Zhang.

The output of a special Python build with defined COUNT_ALLOCS, SHOW_ALLOC_COUNT or SHOW_TRACK_COUNT macros is now off by default. It can be re-enabled using the "-X showalloccount" option. It now outputs to stderr instead of stdout.

__length_hint__() of bytearray iterators no longer return a negative integer for a resized bytearray.

The fromhex() class methods of bytes and bytearray subclasses now return an instance of corresponding subclass.

Fix error message for imp.find_module() to refer to 'path' instead of 'name'. Patch by Lev Maximov.

Fix SSL zero-length recv() calls to not block and not raise an error about unclean EOF.

Change time format returned by http.cookie.time2netscape, confirming the netscape cookie format and making it consistent with documentation.

Deprecated dbm.dumb behavior that differs from common dbm behavior: creating a database in 'r' and 'w' modes and modifying a database in 'r' mode.

Change the socketserver.StreamRequestHandler.wfile attribute to implement BufferedIOBase. In particular, the write() method no longer does partial writes.

Added methods trace_add, trace_remove and trace_info in the tkinter.Variable class. They replace old methods trace_variable, trace, trace_vdelete and trace_vinfo that use obsolete Tcl commands and might not work in future versions of Tcl. Fixed old tracing methods: trace_vdelete() with wrong mode no longer break tracing, trace_vinfo() now always returns a list of pairs of strings, tracing in the "u" mode now works.

Only the level argument to zlib.compress() is keyword argument now. The first argument is positional-only.

Expose the DirEntry type as os.DirEntry. Code patch by Jelle Zijlstra.

Update os.fspath()/PyOS_FSPath() to check the return value of __fspath__() to be either str or bytes.

All optional parameters of the dump(), dumps(), load() and loads() functions and JSONEncoder and JSONDecoder class constructors in the json module are now keyword-only.

Methods selection_set(), selection_add(), selection_remove() and selection_toggle() of ttk.TreeView now allow passing multiple items as multiple arguments instead of passing them as a tuple. Deprecated undocumented ability of calling the selection() method with arguments.

Fixed curses.ascii functions isblank(), iscntrl() and ispunct().

Numerical state in the repr for Tkinter event objects is now represented as a combination of known flags.

Match objects in the re module now support index-like objects as group indices. Based on patches by Jeroen Demeyer and Xiang Zhang.

Some functions (compile() etc) accepted a filename argument encoded as an iterable of integers. Now only strings and byte-like objects are accepted.

socket.ioctl now supports SIO_LOOPBACK_FAST_PATH. Patch by Daniel Stokes.

Prevents distutils failing on Windows when environment variables contain non-ASCII characters

Fixed possible leaks in the ctypes module.

Got rid of bare excepts in the turtle module. Original patch by Jelle Zijlstra.

When an exception is raised within the context being managed by a contextlib.ExitStack() and one of the exit stack generators catches and raises it in a chain, do not re-raise the original exception when exiting, let the new chained one through. This avoids the PEP 479 bug described in issue25782.

Fix os.urandom() implementation using getrandom() on Linux. Truncate size to INT_MAX and loop until we collected enough random bytes, instead of casting a directly Py_ssize_t to int.

sqlite3.Cursor.lastrowid now supports REPLACE statement. Initial patch by Alex LordThorsen.

Fixed ttk.TreeView selection operations with item id's containing spaces.

Honor a pager set by the env var MANPAGER (in preference to one set by the env var PAGER).

Avoid shell injection problems with ctypes.util.find_library().

Fix various functions in the "readline" module to use the locale encoding, and fix get_begidx() and get_endidx() to return code point indexes.

Add loop.connect_accepted_socket(). Patch by Jim Fulton.

IDLE search dialogs now use ttk widgets.

Add 'IDLE Modern Unix' to the built-in key sets. Make the default key set depend on the platform. Add tests for the changes to the config module.

make command line "idle-test> python test_help.py" work. __file__ is relative when python is started in the file's directory.

add line counter and crc to IDLE configHandler test dump.

IDLE: add query.py with base Query dialog and ttk widgets. Module had subclasses SectionName, ModuleName, and HelpSource, which are used to get information from users by configdialog and file =>Load Module. Each subclass has itw own validity checks. Using ModuleName allows users to edit bad module names instead of starting over. Add tests and delete the two files combined into the new one.

Test_idle no longer changes the locale.

Allow non-ascii chars in IDLE NEWS.txt, for contributor names.

IDLE: Cleanly delete custom themes and key bindings. Previously, when IDLE was started from a console or by import, a cascade of warnings was emitted. Patch by Serhiy Storchaka.

Run IDLE, test_idle, and htest with tkinter default root disabled. Fix code and tests that fail with this restriction. Fix htests to not create a second and redundant root and mainloop.

Fix IDLE.app failure to launch on OS X due to vestigial import.

PyUnicode_FSDecoder() accepted a filename argument encoded as an iterable of integers. Now only strings and byte-like objects are accepted.

Fix the logic that searches build directories for generated include files when building outside the source tree.

Expose the Android API level that python was built against, in sysconfig.get_config_vars() as 'ANDROID_API_LEVEL'.

The interpreter that runs the cross-build, found in PATH, must now be of the same feature version (e.g. 3.6) as the source being built.

Update Windows builds to use OpenSSL 1.0.2h.

Rename the platform directory from plat-$(MACHDEP) to plat-$(PLATFORM_TRIPLET). Rename the config directory (LIBPL) from config-$(LDVERSION) to config-$(LDVERSION)-$(PLATFORM_TRIPLET). Install the platform specific _sysconfigdata module into the platform directory and rename it to include the ABIFLAGS.

Don't use largefile support for GNU/Hurd.

Fixed the type of the first argument of module-level functions generated by Argument Clinic. Patch by Petr Viktorin.

Fixed Tools/importbench/importbench.py.

Moved the search box from the sidebar to the header and footer of each page. Patch by Ammar Askar.

Update documentation to reflect the deprecation of pyvenv and normalize on the term "virtual environment". Patch by Steve Piercy.

Added test.support.is_android that is True when this is an Android build.