Back to Cpython

3.7.0a1

Misc/NEWS.d/3.7.0a1.rst

3.15.0a8122.2 KB
Original Source

.. bpo: 29781 .. date: 2017-09-05-15-26-30 .. nonce: LwYtBP .. release date: 2017-09-19 .. section: Security

SSLObject.version() now correctly returns None when handshake over BIO has not been performed yet.

..

.. bpo: 29505 .. date: 2017-08-23-17-02-55 .. nonce: BL6Yt8 .. section: Security

Add fuzz tests for float(str), int(str), unicode(str); for oss-fuzz.

..

.. bpo: 30947 .. date: 2017-08-16-16-35-59 .. nonce: iNMmm4 .. section: Security

Upgrade libexpat embedded copy from version 2.2.1 to 2.2.3 to get security fixes.

..

.. bpo: 30730 .. date: 0347 .. nonce: rJsyTH .. original section: Library .. section: Security

Prevent environment variables injection in subprocess on Windows. Prevent passing other environment variables and command arguments.

..

.. bpo: 30694 .. date: 0344 .. nonce: WkMWM_ .. original section: Library .. section: Security

Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of multiple security vulnerabilities including: :cve:2017-9233 (External entity infinite loop DoS), :cve:2016-9063 (Integer overflow, re-fix), :cve:2016-0718 (Fix regression bugs from 2.2.0's fix to :cve:2016-0718) and :cve:2012-0876 (Counter hash flooding with SipHash). Note: the :cve:2016-5300 (Use os-specific entropy sources like getrandom) doesn't impact Python, since Python already gets entropy from the OS to set the expat secret using XML_SetHashSalt().

..

.. bpo: 30500 .. date: 0342 .. nonce: 1VG7R- .. original section: Library .. section: Security

Fix urllib.parse.splithost() to correctly parse fragments. For example, splithost('//127.0.0.1#@evil.com/') now correctly returns the 127.0.0.1 host, instead of treating @evil.com as the host in an authentication (login@host).

..

.. bpo: 29591 .. date: 0338 .. nonce: ExKblw .. original section: Library .. section: Security

Update expat copy from 2.1.1 to 2.2.0 to get fixes of :cve:2016-0718 and :cve:2016-4472. See https://sourceforge.net/p/expat/bugs/537/ for more information.

..

.. bpo: 31490 .. date: 2017-09-16-13-32-35 .. nonce: r7m2sj .. section: Core and Builtins

Fix an assertion failure in ctypes class definition, in case the class has an attribute whose name is specified in _anonymous_ but not in _fields_. Patch by Oren Milman.

..

.. bpo: 31471 .. date: 2017-09-14-19-47-57 .. nonce: 0yiA5Q .. section: Core and Builtins

Fix an assertion failure in subprocess.Popen() on Windows, in case the env argument has a bad keys() method. Patch by Oren Milman.

..

.. bpo: 31418 .. date: 2017-09-13-13-03-52 .. nonce: rS-FlC .. section: Core and Builtins

Fix an assertion failure in PyErr_WriteUnraisable() in case of an exception with a bad __module__ attribute. Patch by Oren Milman.

..

.. bpo: 31416 .. date: 2017-09-11-12-54-35 .. nonce: 2hlQFd .. section: Core and Builtins

Fix assertion failures in case of a bad warnings.filters or warnings.defaultaction. Patch by Oren Milman.

..

.. bpo: 28411 .. date: 2017-09-11-09-24-21 .. nonce: 12SpAm .. section: Core and Builtins

Change direct usage of PyInterpreterState.modules to PyImport_GetModuleDict(). Also introduce more uniformity in other code that deals with sys.modules. This helps reduce complications when working on sys.modules.

..

.. bpo: 28411 .. date: 2017-09-11-09-11-20 .. nonce: Ax91lz .. section: Core and Builtins

Switch to the abstract API when dealing with PyInterpreterState.modules. This allows later support for all dict subclasses and other Mapping implementations. Also add a PyImport_GetModule() function to reduce a bunch of duplicated code.

..

.. bpo: 31411 .. date: 2017-09-11-08-50-41 .. nonce: HZz82I .. section: Core and Builtins

Raise a TypeError instead of SystemError in case warnings.onceregistry is not a dictionary. Patch by Oren Milman.

..

.. bpo: 31344 .. date: 2017-09-06-20-25-47 .. nonce: XpFs-q .. section: Core and Builtins

For finer control of tracing behaviour when testing the interpreter, two new frame attributes have been added to control the emission of particular trace events: f_trace_lines (True by default) to turn off per-line trace events; and f_trace_opcodes (False by default) to turn on per-opcode trace events.

..

.. bpo: 31373 .. date: 2017-09-06-15-25-59 .. nonce: dC4jd4 .. section: Core and Builtins

Fix several possible instances of undefined behavior due to floating-point demotions.

..

.. bpo: 30465 .. date: 2017-09-06-10-47-29 .. nonce: oe-3GD .. section: Core and Builtins

Location information (lineno and col_offset) in f-strings is now (mostly) correct. This fixes tools like flake8 from showing warnings on the wrong line (typically the first line of the file).

..

.. bpo: 30860 .. date: 2017-09-05-13-47-49 .. nonce: MROpZw .. section: Core and Builtins

Consolidate CPython's global runtime state under a single struct. This improves discoverability of the runtime state.

..

.. bpo: 31347 .. date: 2017-09-04-16-35-06 .. nonce: KDuf2w .. section: Core and Builtins

Fix possible undefined behavior in _PyObject_FastCall_Prepend.

..

.. bpo: 31343 .. date: 2017-09-04-14-57-27 .. nonce: Kl_fS5 .. section: Core and Builtins

Include sys/sysmacros.h for major(), minor(), and makedev(). GNU C library plans to remove the functions from sys/types.h.

..

.. bpo: 31291 .. date: 2017-08-28-11-51-29 .. nonce: t8QggK .. section: Core and Builtins

Fix an assertion failure in zipimport.zipimporter.get_data on Windows, when the return value of pathname.replace('/','\\') isn't a string. Patch by Oren Milman.

..

.. bpo: 31271 .. date: 2017-08-25-20-43-22 .. nonce: YMduKF .. section: Core and Builtins

Fix an assertion failure in the write() method of io.TextIOWrapper, when the encoder doesn't return a bytes object. Patch by Oren Milman.

..

.. bpo: 31243 .. date: 2017-08-24-13-34-49 .. nonce: dRJzqR .. section: Core and Builtins

Fix a crash in some methods of io.TextIOWrapper, when the decoder's state is invalid. Patch by Oren Milman.

..

.. bpo: 30721 .. date: 2017-08-18-15-15-20 .. nonce: Hmc56z .. section: Core and Builtins

print now shows correct usage hint for using Python 2 redirection syntax. Patch by Sanyam Khurana.

..

.. bpo: 31070 .. date: 2017-08-09-09-40-54 .. nonce: oDyLiI .. section: Core and Builtins

Fix a race condition in importlib _get_module_lock().

..

.. bpo: 30747 .. date: 2017-08-08-12-00-29 .. nonce: g2kZRT .. section: Core and Builtins

Add a non-dummy implementation of _Py_atomic_store and _Py_atomic_load on MSVC.

..

.. bpo: 31095 .. date: 2017-08-01-18-48-30 .. nonce: bXWZDb .. section: Core and Builtins

Fix potential crash during GC caused by tp_dealloc which doesn't call PyObject_GC_UnTrack().

..

.. bpo: 31071 .. date: 2017-07-31-13-28-53 .. nonce: P9UBDy .. section: Core and Builtins

Avoid masking original TypeError in call with * unpacking when other arguments are passed.

..

.. bpo: 30978 .. date: 2017-07-21-07-39-05 .. nonce: f0jODc .. section: Core and Builtins

str.format_map() now passes key lookup exceptions through. Previously any exception was replaced with a KeyError exception.

..

.. bpo: 30808 .. date: 2017-07-17-12-12-59 .. nonce: bA3zOv .. section: Core and Builtins

Use _Py_atomic API for concurrency-sensitive signal state.

..

.. bpo: 30876 .. date: 2017-07-11-06-31-32 .. nonce: x35jZX .. section: Core and Builtins

Relative import from unloaded package now reimports the package instead of failing with SystemError. Relative import from non-package now fails with ImportError rather than SystemError.

..

.. bpo: 30703 .. date: 2017-06-28-21-07-32 .. nonce: ULCdFp .. section: Core and Builtins

Improve signal delivery. Avoid using Py_AddPendingCall from signal handler, to avoid calling signal-unsafe functions. The tests I'm adding here fail without the rest of the patch, on Linux and OS X. This means our signal delivery logic had defects (some signals could be lost).

..

.. bpo: 30765 .. date: 2017-06-26-14-29-50 .. nonce: Q5iBmf .. section: Core and Builtins

Avoid blocking in pthread_mutex_lock() when PyThread_acquire_lock() is asked not to block.

..

.. bpo: 31161 .. date: 0470 .. nonce: FcUAA0 .. section: Core and Builtins

Make sure the 'Missing parentheses' syntax error message is only applied to SyntaxError, not to subclasses. Patch by Martijn Pieters.

..

.. bpo: 30814 .. date: 0469 .. nonce: HcYsfM .. section: Core and Builtins

Fixed a race condition when import a submodule from a package.

..

.. bpo: 30736 .. date: 0468 .. nonce: kA4J9v .. section: Core and Builtins

The internal unicodedata database has been upgraded to Unicode 10.0.

..

.. bpo: 30604 .. date: 0467 .. nonce: zGPGoX .. section: Core and Builtins

Move co_extra_freefuncs from per-thread to per-interpreter to avoid crashes.

..

.. bpo: 30597 .. date: 0466 .. nonce: 7erHiP .. section: Core and Builtins

print now shows expected input in custom error message when used as a Python 2 statement. Patch by Sanyam Khurana.

..

.. bpo: 30682 .. date: 0465 .. nonce: zZm88E .. section: Core and Builtins

Removed a too-strict assertion that failed for certain f-strings, such as eval("f'\\n'") and eval("f'\\r'").

..

.. bpo: 30501 .. date: 0464 .. nonce: BWJByG .. section: Core and Builtins

The compiler now produces more optimal code for complex condition expressions in the "if", "while" and "assert" statement, the "if" expression, and generator expressions and comprehensions.

..

.. bpo: 28180 .. date: 0463 .. nonce: f_IHor .. section: Core and Builtins

Implement :pep:538 (legacy C locale coercion). This means that when a suitable coercion target locale is available, both the core interpreter and locale-aware C extensions will assume the use of UTF-8 as the default text encoding, rather than ASCII.

..

.. bpo: 30486 .. date: 0462 .. nonce: KZi3nB .. section: Core and Builtins

Allows setting cell values for closure. Patch by Lisa Roach.

..

.. bpo: 30537 .. date: 0461 .. nonce: sGC27r .. section: Core and Builtins

itertools.islice now accepts integer-like objects (having an index method) as start, stop, and slice arguments

..

.. bpo: 25324 .. date: 0460 .. nonce: l12VjO .. section: Core and Builtins

Tokens needed for parsing in Python moved to C. COMMENT, NL and ENCODING. This way the tokens and tok_names in the token module don't get changed when you import the tokenize module.

..

.. bpo: 29104 .. date: 0459 .. nonce: u26yCx .. section: Core and Builtins

Fixed parsing backslashes in f-strings.

..

.. bpo: 27945 .. date: 0458 .. nonce: p29r3O .. section: Core and Builtins

Fixed various segfaults with dict when input collections are mutated during searching, inserting or comparing. Based on patches by Duane Griffin and Tim Mitchell.

..

.. bpo: 25794 .. date: 0457 .. nonce: xfPwqm .. section: Core and Builtins

Fixed type.setattr() and type.delattr() for non-interned attribute names. Based on patch by Eryk Sun.

..

.. bpo: 30039 .. date: 0456 .. nonce: e0u4DG .. section: Core and Builtins

If a KeyboardInterrupt happens when the interpreter is in the middle of resuming a chain of nested 'yield from' or 'await' calls, it's now correctly delivered to the innermost frame.

..

.. bpo: 28974 .. date: 0455 .. nonce: jVewS0 .. section: Core and Builtins

object.__format__(x, '') is now equivalent to str(x) rather than format(str(self), '').

..

.. bpo: 30024 .. date: 0454 .. nonce: kSOlED .. section: Core and Builtins

Circular imports involving absolute imports with binding a submodule to a name are now supported.

..

.. bpo: 12414 .. date: 0453 .. nonce: T9ix8O .. section: Core and Builtins

sys.getsizeof() on a code object now returns the sizes which includes the code struct and sizes of objects which it references. Patch by Donghee Na.

..

.. bpo: 29839 .. date: 0452 .. nonce: rUmfay .. section: Core and Builtins

len() now raises ValueError rather than OverflowError if len() returned a large negative integer.

..

.. bpo: 11913 .. date: 0451 .. nonce: 5uiMX9 .. section: Core and Builtins

README.rst is now included in the list of distutils standard READMEs and therefore included in source distributions.

..

.. bpo: 29914 .. date: 0450 .. nonce: nqFSRR .. section: Core and Builtins

Fixed default implementations of reduce and reduce_ex(). object.reduce() no longer takes arguments, object.reduce_ex() now requires one argument.

..

.. bpo: 29949 .. date: 0449 .. nonce: DevGPS .. section: Core and Builtins

Fix memory usage regression of set and frozenset object.

..

.. bpo: 29935 .. date: 0448 .. nonce: vgjdJo .. section: Core and Builtins

Fixed error messages in the index() method of tuple, list and deque when pass indices of wrong type.

..

.. bpo: 29816 .. date: 0447 .. nonce: 0H75Nl .. section: Core and Builtins

Shift operation now has less opportunity to raise OverflowError. ValueError always is raised rather than OverflowError for negative counts. Shifting zero with non-negative count always returns zero.

..

.. bpo: 24821 .. date: 0446 .. nonce: 4DINGV .. section: Core and Builtins

Fixed the slowing down to 25 times in the searching of some unlucky Unicode characters.

..

.. bpo: 29102 .. date: 0445 .. nonce: AW4YPj .. section: Core and Builtins

Add a unique ID to PyInterpreterState. This makes it easier to identify each subinterpreter.

..

.. bpo: 29894 .. date: 0444 .. nonce: Vev6t- .. section: Core and Builtins

The deprecation warning is emitted if complex returns an instance of a strict subclass of complex. In a future versions of Python this can be an error.

..

.. bpo: 29859 .. date: 0443 .. nonce: Z1MLcA .. section: Core and Builtins

Show correct error messages when any of the pthread_* calls in thread_pthread.h fails.

..

.. bpo: 29849 .. date: 0442 .. nonce: hafvBD .. section: Core and Builtins

Fix a memory leak when an ImportError is raised during from import.

..

.. bpo: 28856 .. date: 0441 .. nonce: AFRmo4 .. section: Core and Builtins

Fix an oversight that %b format for bytes should support objects follow the buffer protocol.

..

.. bpo: 29723 .. date: 0440 .. nonce: M5omgP .. section: Core and Builtins

The sys.path[0] initialization change for bpo-29139 caused a regression by revealing an inconsistency in how sys.path is initialized when executing __main__ from a zipfile, directory, or other import location. The interpreter now consistently avoids ever adding the import location's parent directory to sys.path, and ensures no other sys.path entries are inadvertently modified when inserting the import location named on the command line.

..

.. bpo: 29568 .. date: 0439 .. nonce: 3EtOC- .. section: Core and Builtins

Escaped percent "%%" in the format string for classic string formatting no longer allows any characters between two percents.

..

.. bpo: 29714 .. date: 0438 .. nonce: z-BhVd .. section: Core and Builtins

Fix a regression that bytes format may fail when containing zero bytes inside.

..

.. bpo: 29695 .. date: 0437 .. nonce: z75xXa .. section: Core and Builtins

bool(), float(), list() and tuple() no longer take keyword arguments. The first argument of int() can now be passes only as positional argument.

..

.. bpo: 28893 .. date: 0436 .. nonce: WTKnpj .. section: Core and Builtins

Set correct cause for errors about invalid awaitables returned from aiter and anext.

..

.. bpo: 28876 .. date: 0435 .. nonce: cU-sGT .. section: Core and Builtins

bool(range) works even if len(range) raises :exc:OverflowError.

..

.. bpo: 29683 .. date: 0434 .. nonce: G5iS-P .. section: Core and Builtins

Fixes to memory allocation in _PyCode_SetExtra. Patch by Brian Coleman.

..

.. bpo: 29684 .. date: 0433 .. nonce: wTgEoh .. section: Core and Builtins

Fix minor regression of PyEval_CallObjectWithKeywords. It should raise TypeError when kwargs is not a dict. But it might cause segv when args=NULL and kwargs is not a dict.

..

.. bpo: 28598 .. date: 0432 .. nonce: QxbzQn .. section: Core and Builtins

Support rmod for subclasses of str being called before str.mod. Patch by Martijn Pieters.

..

.. bpo: 29607 .. date: 0431 .. nonce: 7NvBA1 .. section: Core and Builtins

Fix stack_effect computation for CALL_FUNCTION_EX. Patch by Matthieu Dartiailh.

..

.. bpo: 29602 .. date: 0430 .. nonce: qyyskC .. section: Core and Builtins

Fix incorrect handling of signed zeros in complex constructor for complex subclasses and for inputs having a complex method. Patch by Serhiy Storchaka.

..

.. bpo: 29347 .. date: 0429 .. nonce: 1RPPGN .. section: Core and Builtins

Fixed possibly dereferencing undefined pointers when creating weakref objects.

..

.. bpo: 29463 .. date: 0428 .. nonce: h2bg8A .. section: Core and Builtins

Add docstring field to Module, ClassDef, FunctionDef, and AsyncFunctionDef ast nodes. docstring is not first stmt in their body anymore. It affects co_firstlineno and co_lnotab of code object for module and class. (Reverted in :issue:32911.)

..

.. bpo: 29438 .. date: 0427 .. nonce: IKxD6I .. section: Core and Builtins

Fixed use-after-free problem in key sharing dict.

..

.. bpo: 29546 .. date: 0426 .. nonce: PS1I1T .. section: Core and Builtins

Set the 'path' and 'name' attribute on ImportError for from ... import ....

..

.. bpo: 29546 .. date: 0425 .. nonce: O1rmG_ .. section: Core and Builtins

Improve from-import error message with location

..

.. bpo: 29478 .. date: 0424 .. nonce: rTQ-qy .. section: Core and Builtins

If max_line_length=None is specified while using the Compat32 policy, it is no longer ignored. Patch by Mircea Cosbuc.

..

.. bpo: 29319 .. date: 0423 .. nonce: KLDUZf .. section: Core and Builtins

Prevent RunMainFromImporter overwriting sys.path[0].

..

.. bpo: 29337 .. date: 0422 .. nonce: bjX8AE .. section: Core and Builtins

Fixed possible BytesWarning when compare the code objects. Warnings could be emitted at compile time.

..

.. bpo: 29327 .. date: 0421 .. nonce: XXQarW .. section: Core and Builtins

Fixed a crash when pass the iterable keyword argument to sorted().

..

.. bpo: 29034 .. date: 0420 .. nonce: 7-uEDT .. section: Core and Builtins

Fix memory leak and use-after-free in os module (path_converter).

..

.. bpo: 29159 .. date: 0419 .. nonce: gEn_kP .. section: Core and Builtins

Fix regression in bytes(x) when x.index() raises Exception.

..

.. bpo: 29049 .. date: 0418 .. nonce: KpVXBw .. section: Core and Builtins

Call _PyObject_GC_TRACK() lazily when calling Python function. Calling function is up to 5% faster.

..

.. bpo: 28927 .. date: 0417 .. nonce: 9fxf6y .. section: Core and Builtins

bytes.fromhex() and bytearray.fromhex() now ignore all ASCII whitespace, not only spaces. Patch by Robert Xiao.

..

.. bpo: 28932 .. date: 0416 .. nonce: QnLx8A .. section: Core and Builtins

Do not include <sys/random.h> if it does not exist.

..

.. bpo: 25677 .. date: 0415 .. nonce: RWhZrb .. section: Core and Builtins

Correct the positioning of the syntax error caret for indented blocks. Based on patch by Michael Layzell.

..

.. bpo: 29000 .. date: 0414 .. nonce: K6wQ-3 .. section: Core and Builtins

Fixed bytes formatting of octals with zero padding in alternate form.

..

.. bpo: 18896 .. date: 0413 .. nonce: Pqe0bg .. section: Core and Builtins

Python function can now have more than 255 parameters. collections.namedtuple() now supports tuples with more than 255 elements.

..

.. bpo: 28596 .. date: 0412 .. nonce: snIJRd .. section: Core and Builtins

The preferred encoding is UTF-8 on Android. Patch written by Chi Hsuan Yen.

..

.. bpo: 22257 .. date: 0411 .. nonce: 2a8zxB .. section: Core and Builtins

Clean up interpreter startup (see :pep:432).

..

.. bpo: 26919 .. date: 0410 .. nonce: Cm7MSa .. section: Core and Builtins

On Android, operating system data is now always encoded/decoded to/from UTF-8, instead of the locale encoding to avoid inconsistencies with os.fsencode() and os.fsdecode() which are already using UTF-8.

..

.. bpo: 28991 .. date: 0409 .. nonce: lGA0FK .. section: Core and Builtins

functools.lru_cache() was susceptible to an obscure reentrancy bug triggerable by a monkey-patched len() function.

..

.. bpo: 28147 .. date: 0408 .. nonce: CnK_xf .. section: Core and Builtins

Fix a memory leak in split-table dictionaries: setattr() must not convert combined table into split table. Patch written by INADA Naoki.

..

.. bpo: 28739 .. date: 0407 .. nonce: w1fvhk .. section: Core and Builtins

f-string expressions are no longer accepted as docstrings and by ast.literal_eval() even if they do not include expressions.

..

.. bpo: 28512 .. date: 0406 .. nonce: i-pv6d .. section: Core and Builtins

Fixed setting the offset attribute of SyntaxError by PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject().

..

.. bpo: 28918 .. date: 0405 .. nonce: SFVuPz .. section: Core and Builtins

Fix the cross compilation of xxlimited when Python has been built with Py_DEBUG defined.

..

.. bpo: 23722 .. date: 0404 .. nonce: e8BH5h .. section: Core and Builtins

Rather than silently producing a class that doesn't support zero-argument super() in methods, failing to pass the new __classcell__ namespace entry up to type.__new__ now results in a DeprecationWarning and a class that supports zero-argument super().

..

.. bpo: 28797 .. date: 0403 .. nonce: _A0_Z5 .. section: Core and Builtins

Modifying the class dict inside the set_name method of a descriptor that is used inside that class no longer prevents calling the set_name method of other descriptors.

..

.. bpo: 28799 .. date: 0402 .. nonce: cP6V1N .. section: Core and Builtins

Remove the PyEval_GetCallStats() function and deprecate the untested and undocumented sys.callstats() function. Remove the CALL_PROFILE special build: use the :func:sys.setprofile function, :mod:!cProfile or :mod:!profile to profile function calls.

..

.. bpo: 12844 .. date: 0401 .. nonce: pdr3gY .. section: Core and Builtins

More than 255 arguments can now be passed to a function.

..

.. bpo: 28782 .. date: 0400 .. nonce: foJV_E .. section: Core and Builtins

Fix a bug in the implementation yield from when checking if the next instruction is YIELD_FROM. Regression introduced by WORDCODE (issue #26647).

..

.. bpo: 28774 .. date: 0399 .. nonce: cEehAr .. section: Core and Builtins

Fix error position of the unicode error in ASCII and Latin1 encoders when a string returned by the error handler contains multiple non-encodable characters (non-ASCII for the ASCII codec, characters out of the U+0000-U+00FF range for Latin1).

..

.. bpo: 28731 .. date: 0398 .. nonce: oNF59u .. section: Core and Builtins

Optimize _PyDict_NewPresized() to create correct size dict. Improve speed of dict literal with constant keys up to 30%.

..

.. bpo: 28532 .. date: 0397 .. nonce: KEYJny .. section: Core and Builtins

Show sys.version when -V option is supplied twice.

..

.. bpo: 27100 .. date: 0396 .. nonce: poVjXq .. section: Core and Builtins

The with-statement now checks for enter before it checks for exit. This gives less confusing error messages when both methods are missing. Patch by Jonathan Ellington.

..

.. bpo: 28746 .. date: 0395 .. nonce: r5MXdB .. section: Core and Builtins

Fix the set_inheritable() file descriptor method on platforms that do not have the ioctl FIOCLEX and FIONCLEX commands.

..

.. bpo: 26920 .. date: 0394 .. nonce: 1URwGb .. section: Core and Builtins

Fix not getting the locale's charset upon initializing the interpreter, on platforms that do not have langinfo.

..

.. bpo: 28648 .. date: 0393 .. nonce: z7B52W .. section: Core and Builtins

Fixed crash in Py_DecodeLocale() in debug build on Mac OS X when decode astral characters. Patch by Xiang Zhang.

..

.. bpo: 28665 .. date: 0392 .. nonce: v4nx86 .. section: Core and Builtins

Improve speed of the STORE_DEREF opcode by 40%.

..

.. bpo: 19398 .. date: 0391 .. nonce: RYbEGH .. section: Core and Builtins

Extra slash no longer added to sys.path components in case of empty compile-time PYTHONPATH components.

..

.. bpo: 28621 .. date: 0390 .. nonce: eCD7n- .. section: Core and Builtins

Sped up converting int to float by reusing faster bits counting implementation. Patch by Adrian Wielgosik.

..

.. bpo: 28580 .. date: 0389 .. nonce: 8bqBmG .. section: Core and Builtins

Optimize iterating split table values. Patch by Xiang Zhang.

..

.. bpo: 28583 .. date: 0388 .. nonce: F-QAx1 .. section: Core and Builtins

PyDict_SetDefault didn't combine split table when needed. Patch by Xiang Zhang.

..

.. bpo: 28128 .. date: 0387 .. nonce: Lc2sFu .. section: Core and Builtins

Deprecation warning for invalid str and byte escape sequences now prints better information about where the error occurs. Patch by Serhiy Storchaka and Eric Smith.

..

.. bpo: 28509 .. date: 0386 .. nonce: _Fa4Uq .. section: Core and Builtins

dict.update() no longer allocate unnecessary large memory.

..

.. bpo: 28426 .. date: 0385 .. nonce: E_quyK .. section: Core and Builtins

Fixed potential crash in PyUnicode_AsDecodedObject() in debug build.

..

.. bpo: 28517 .. date: 0384 .. nonce: ExPkm9 .. section: Core and Builtins

Fixed of-by-one error in the peephole optimizer that caused keeping unreachable code.

..

.. bpo: 28214 .. date: 0383 .. nonce: 6ECJox .. section: Core and Builtins

Improved exception reporting for problematic set_name attributes.

..

.. bpo: 23782 .. date: 0382 .. nonce: lonDzj .. section: Core and Builtins

Fixed possible memory leak in _PyTraceback_Add() and exception loss in PyTraceBack_Here().

..

.. bpo: 28183 .. date: 0381 .. nonce: MJZeNd .. section: Core and Builtins

Optimize and cleanup dict iteration.

..

.. bpo: 26081 .. date: 0380 .. nonce: _x5vjl .. section: Core and Builtins

Added C implementation of asyncio.Future. Original patch by Yury Selivanov.

..

.. bpo: 28379 .. date: 0379 .. nonce: DuXlco .. section: Core and Builtins

Added sanity checks and tests for PyUnicode_CopyCharacters(). Patch by Xiang Zhang.

..

.. bpo: 28376 .. date: 0378 .. nonce: oPD-5D .. section: Core and Builtins

The type of long range iterator is now registered as Iterator. Patch by Oren Milman.

..

.. bpo: 28376 .. date: 0377 .. nonce: yTEhEo .. section: Core and Builtins

Creating instances of range_iterator by calling range_iterator type now is disallowed. Calling iter() on range instance is the only way. Patch by Oren Milman.

..

.. bpo: 26906 .. date: 0376 .. nonce: YBjcwI .. section: Core and Builtins

Resolving special methods of uninitialized type now causes implicit initialization of the type instead of a fail.

..

.. bpo: 18287 .. date: 0375 .. nonce: k6jffS .. section: Core and Builtins

PyType_Ready() now checks that tp_name is not NULL. Original patch by Niklas Koep.

..

.. bpo: 24098 .. date: 0374 .. nonce: XqlP_1 .. section: Core and Builtins

Fixed possible crash when AST is changed in process of compiling it.

..

.. bpo: 28201 .. date: 0373 .. nonce: GWUxAy .. section: Core and Builtins

Dict reduces possibility of 2nd conflict in hash table when hashes have same lower bits.

..

.. bpo: 28350 .. date: 0372 .. nonce: 8M5Eg9 .. section: Core and Builtins

String constants with null character no longer interned.

..

.. bpo: 26617 .. date: 0371 .. nonce: Gh5LvN .. section: Core and Builtins

Fix crash when GC runs during weakref callbacks.

..

.. bpo: 27942 .. date: 0370 .. nonce: ZGuhns .. section: Core and Builtins

String constants now interned recursively in tuples and frozensets.

..

.. bpo: 28289 .. date: 0369 .. nonce: l1kHlV .. section: Core and Builtins

ImportError.init now resets not specified attributes.

..

.. bpo: 21578 .. date: 0368 .. nonce: GI1bhj .. section: Core and Builtins

Fixed misleading error message when ImportError called with invalid keyword args.

..

.. bpo: 28203 .. date: 0367 .. nonce: LRn5vp .. section: Core and Builtins

Fix incorrect type in complex(1.0, {2:3}) error message. Patch by Soumya Sharma.

..

.. bpo: 28086 .. date: 0366 .. nonce: JsQPMQ .. section: Core and Builtins

Single var-positional argument of tuple subtype was passed unscathed to the C-defined function. Now it is converted to exact tuple.

..

.. bpo: 28214 .. date: 0365 .. nonce: zQF8Em .. section: Core and Builtins

Now set_name is looked up on the class instead of the instance.

..

.. bpo: 27955 .. date: 0364 .. nonce: HC4pZ4 .. section: Core and Builtins

Fallback on reading /dev/urandom device when the getrandom() syscall fails with EPERM, for example when blocked by SECCOMP.

..

.. bpo: 28192 .. date: 0363 .. nonce: eR6stU .. section: Core and Builtins

Don't import readline in isolated mode.

..

.. bpo: 27441 .. date: 0362 .. nonce: scPKax .. section: Core and Builtins

Remove some redundant assignments to ob_size in longobject.c. Thanks Oren Milman.

..

.. bpo: 27222 .. date: 0361 .. nonce: 74PvFk .. section: Core and Builtins

Clean up redundant code in long_rshift function. Thanks Oren Milman.

..

.. bpo: 0 .. date: 0360 .. nonce: 9EbOiD .. section: Core and Builtins

Upgrade internal unicode databases to Unicode version 9.0.0.

..

.. bpo: 28131 .. date: 0359 .. nonce: owq0wW .. section: Core and Builtins

Fix a regression in zipimport's compile_source(). zipimport should use the same optimization level as the interpreter.

..

.. bpo: 28126 .. date: 0358 .. nonce: Qf6-uQ .. section: Core and Builtins

Replace Py_MEMCPY with memcpy(). Visual Studio can properly optimize memcpy().

..

.. bpo: 28120 .. date: 0357 .. nonce: e5xc1i .. section: Core and Builtins

Fix dict.pop() for split dictionary when trying to remove a "pending key" (Not yet inserted in split-table). Patch by Xiang Zhang.

..

.. bpo: 26182 .. date: 0356 .. nonce: jYlqTO .. section: Core and Builtins

Raise DeprecationWarning when async and await keywords are used as variable/attribute/class/function name.

..

.. bpo: 26182 .. date: 0355 .. nonce: a8JXK2 .. section: Core and Builtins

Fix a refleak in code that raises DeprecationWarning.

..

.. bpo: 28721 .. date: 0354 .. nonce: BO9BUF .. section: Core and Builtins

Fix asynchronous generators aclose() and athrow() to handle StopAsyncIteration propagation properly.

..

.. bpo: 26110 .. date: 0353 .. nonce: KRaID6 .. section: Core and Builtins

Speed-up method calls: add LOAD_METHOD and CALL_METHOD opcodes.

..

.. bpo: 31499 .. date: 2017-09-18-10-57-04 .. nonce: BydYhf .. section: Library

xml.etree: Fix a crash when a parser is part of a reference cycle.

..

.. bpo: 31482 .. date: 2017-09-16-01-53-11 .. nonce: 39s5dS .. section: Library

random.seed() now works with bytes in version=1

..

.. bpo: 28556 .. date: 2017-09-14-11-02-56 .. nonce: EUOiYs .. section: Library

typing.get_type_hints now finds the right globalns for classes and modules by default (when no globalns was specified by the caller).

..

.. bpo: 28556 .. date: 2017-09-13-23-27-39 .. nonce: UmTQvv .. section: Library

Speed improvements to the typing module. Original PRs by Ivan Levkivskyi and Mitar.

..

.. bpo: 31544 .. date: 2017-09-13-19-55-35 .. nonce: beTh6t .. section: Library

The C accelerator module of ElementTree ignored exceptions raised when looking up TreeBuilder target methods in XMLParser().

..

.. bpo: 31234 .. date: 2017-09-13-18-05-56 .. nonce: lGkcPg .. section: Library

socket.create_connection() now fixes manually a reference cycle: clear the variable storing the last exception on success.

..

.. bpo: 31457 .. date: 2017-09-13-13-33-39 .. nonce: bIVBtI .. section: Library

LoggerAdapter objects can now be nested.

..

.. bpo: 31431 .. date: 2017-09-13-07-37-20 .. nonce: dj994R .. section: Library

SSLContext.check_hostname now automatically sets SSLContext.verify_mode to ssl.CERT_REQUIRED instead of failing with a ValueError.

..

.. bpo: 31233 .. date: 2017-09-13-02-17-11 .. nonce: r-IPIu .. section: Library

socketserver.ThreadingMixIn now keeps a list of non-daemonic threads to wait until all these threads complete in server_close().

..

.. bpo: 28638 .. date: 2017-09-08-14-31-15 .. nonce: lfbVyH .. section: Library

Changed the implementation strategy for collections.namedtuple() to substantially reduce the use of exec() in favor of precomputed methods. As a result, the verbose parameter and _source attribute are no longer supported. The benefits include 1) having a smaller memory footprint for applications using multiple named tuples, 2) faster creation of the named tuple class (approx 4x to 6x depending on how it is measured), and 3) minor speed-ups for instance creation using new, _make, and _replace. (The primary patch contributor is Jelle Zijlstra with further improvements by INADA Naoki, Serhiy Storchaka, and Raymond Hettinger.)

..

.. bpo: 31400 .. date: 2017-09-08-14-19-57 .. nonce: YOTPKi .. section: Library

Improves SSL error handling to avoid losing error numbers.

..

.. bpo: 27629 .. date: 2017-09-07-12-15-56 .. nonce: 7xJXEy .. section: Library

Make return types of SSLContext.wrap_bio() and SSLContext.wrap_socket() customizable.

..

.. bpo: 28958 .. date: 2017-09-06-19-41-01 .. nonce: x4-K5F .. section: Library

ssl.SSLContext() now uses OpenSSL error information when a context cannot be instantiated.

..

.. bpo: 28182 .. date: 2017-09-06-18-49-16 .. nonce: hRP8Bk .. section: Library

The SSL module now raises SSLCertVerificationError when OpenSSL fails to verify the peer's certificate. The exception contains more information about the error.

..

.. bpo: 27340 .. date: 2017-09-06-06-50-41 .. nonce: GgekV5 .. section: Library

SSLSocket.sendall() now uses memoryview to create slices of data. This fixes support for all bytes-like object. It is also more efficient and avoids costly copies.

..

.. bpo: 14191 .. date: 2017-09-05-17-43-00 .. nonce: vhh2xx .. section: Library

A new function argparse.ArgumentParser.parse_intermixed_args provides the ability to parse command lines where there user intermixes options and positional arguments.

..

.. bpo: 31178 .. date: 2017-09-05-14-55-28 .. nonce: JrSFo7 .. section: Library

Fix string concatenation bug in rare error path in the subprocess module

..

.. bpo: 31350 .. date: 2017-09-05-10-30-48 .. nonce: dXJ-7N .. section: Library

Micro-optimize :func:asyncio._get_running_loop to become up to 10% faster.

..

.. bpo: 31170 .. date: 2017-09-04-23-41-35 .. nonce: QGmJ1t .. section: Library

expat: Update libexpat from 2.2.3 to 2.2.4. Fix copying of partial characters for UTF-8 input (libexpat bug 115): https://github.com/libexpat/libexpat/issues/115

..

.. bpo: 29136 .. date: 2017-09-04-16-39-49 .. nonce: vSn1oR .. section: Library

Add TLS 1.3 cipher suites and OP_NO_TLSv1_3.

..

.. bpo: 1198569 .. date: 2017-09-04-10-53-06 .. nonce: vhh2nY .. section: Library

string.Template subclasses can optionally define braceidpattern if they want to specify different placeholder patterns inside and outside the braces. If None (the default) it falls back to idpattern.

..

.. bpo: 31326 .. date: 2017-09-01-18-48-06 .. nonce: TB05tV .. section: Library

concurrent.futures.ProcessPoolExecutor.shutdown() now explicitly closes the call queue. Moreover, shutdown(wait=True) now also join the call queue thread, to prevent leaking a dangling thread.

..

.. bpo: 27144 .. date: 2017-08-30-11-26-14 .. nonce: PEDJsE .. section: Library

The map() and as_completed() iterators in concurrent.futures now avoid keeping a reference to yielded objects.

..

.. bpo: 31281 .. date: 2017-08-29-07-14-14 .. nonce: DcFyNs .. section: Library

Fix fileinput.FileInput(files, inplace=True) when files contain pathlib.Path objects.

..

.. bpo: 10746 .. date: 2017-08-28-13-01-05 .. nonce: nmAvfu .. section: Library

Fix ctypes producing wrong :pep:3118 type codes for integer types.

..

.. bpo: 27584 .. date: 2017-08-24-14-03-14 .. nonce: r11JHZ .. section: Library

AF_VSOCK has been added to the socket interface which allows communication between virtual machines and their host.

..

.. bpo: 22536 .. date: 2017-08-23 .. nonce: narf .. section: Library

The subprocess module now sets the filename when FileNotFoundError is raised on POSIX systems due to the executable or cwd not being found.

..

.. bpo: 29741 .. date: 2017-08-23-00-31-32 .. nonce: EBn_DM .. section: Library

Update some methods in the _pyio module to also accept integer types. Patch by Oren Milman.

..

.. bpo: 31249 .. date: 2017-08-22-12-44-48 .. nonce: STPbb9 .. section: Library

concurrent.futures: WorkItem.run() used by ThreadPoolExecutor now breaks a reference cycle between an exception object and the WorkItem object.

..

.. bpo: 31247 .. date: 2017-08-21-17-50-27 .. nonce: 8S3zJp .. section: Library

xmlrpc.server now explicitly breaks reference cycles when using sys.exc_info() in code handling exceptions.

..

.. bpo: 23835 .. date: 2017-08-21-16-06-19 .. nonce: da_4Kz .. section: Library

configparser: reading defaults in the ConfigParser() constructor is now using read_dict(), making its behavior consistent with the rest of the parser. Non-string keys and values in the defaults dictionary are now being implicitly converted to strings. Patch by James Tocknell.

..

.. bpo: 31238 .. date: 2017-08-21-12-31-53 .. nonce: Gg0LRH .. section: Library

pydoc: the stop() method of the private ServerThread class now waits until DocServer.serve_until_quit() completes and then explicitly sets its docserver attribute to None to break a reference cycle.

..

.. bpo: 5001 .. date: 2017-08-18-17-16-38 .. nonce: gwnthq .. section: Library

Many asserts in multiprocessing are now more informative, and some error types have been changed to more specific ones.

..

.. bpo: 31109 .. date: 2017-08-17-20-29-45 .. nonce: 7qtC64 .. section: Library

Convert zipimport to use Argument Clinic.

..

.. bpo: 30102 .. date: 2017-08-16-21-14-31 .. nonce: 1sPqmc .. section: Library

The ssl and hashlib modules now call OPENSSL_add_all_algorithms_noconf() on OpenSSL < 1.1.0. The function detects CPU features and enables optimizations on some CPU architectures such as POWER8. Patch is based on research from Gustavo Serra Scalet.

..

.. bpo: 18966 .. date: 2017-08-16-20-28-06 .. nonce: mjHWk2 .. section: Library

Non-daemonic threads created by a multiprocessing.Process are now joined on child exit.

..

.. bpo: 31183 .. date: 2017-08-13-09-17-01 .. nonce: -2_YGj .. section: Library

dis now works with asynchronous generator and coroutine objects. Patch by George Collins based on diagnosis by Luciano Ramalho.

..

.. bpo: 5001 .. date: 2017-08-12-09-25-55 .. nonce: huQi2Y .. section: Library

There are a number of uninformative asserts in the multiprocessing module, as noted in issue 5001. This change fixes two of the most potentially problematic ones, since they are in error-reporting code, in the multiprocessing.managers.convert_to_error function. (It also makes more informative a ValueError message.) The only potentially problematic change is that the AssertionError is now a TypeError; however, this should also help distinguish it from an AssertionError being reported by the function/its caller (such as in issue 31169). - Patch by Allen W. Smith (drallensmith on github).

..

.. bpo: 31185 .. date: 2017-08-11-19-30-00 .. nonce: i6TPgL .. section: Library

Fixed miscellaneous errors in asyncio speedup module.

..

.. bpo: 31151 .. date: 2017-08-10-13-20-02 .. nonce: 730VBI .. section: Library

socketserver.ForkingMixIn.server_close() now waits until all child processes completed to prevent leaking zombie processes.

..

.. bpo: 31072 .. date: 2017-08-09-13-45-23 .. nonce: NLXDPV .. section: Library

Add an include_file parameter to zipapp.create_archive()

..

.. bpo: 24700 .. date: 2017-08-08-15-14-34 .. nonce: 44mvNV .. section: Library

Optimize array.array comparison. It is now from 10x up to 70x faster when comparing arrays holding values of the same integer type.

..

.. bpo: 31135 .. date: 2017-08-08-14-44-37 .. nonce: HH94xR .. section: Library

ttk: fix the destroy() method of LabeledScale and OptionMenu classes. Call the parent destroy() method even if the used attribute doesn't exist. The LabeledScale.destroy() method now also explicitly clears label and scale attributes to help the garbage collector to destroy all widgets.

..

.. bpo: 31107 .. date: 2017-08-02-12-48-15 .. nonce: 1t2hn5 .. section: Library

Fix copyreg._slotnames() mangled attribute calculation for classes whose name begins with an underscore. Patch by Shane Harvey.

..

.. bpo: 31080 .. date: 2017-08-01-18-26-55 .. nonce: 2CFVCO .. section: Library

Allow logging.config.fileConfig to accept kwargs and/or args.

..

.. bpo: 30897 .. date: 2017-08-01-15-56-50 .. nonce: OuT1-Y .. section: Library

pathlib.Path objects now include an is_mount() method (only implemented on POSIX). This is similar to os.path.ismount(p). Patch by Cooper Ry Lees.

..

.. bpo: 31061 .. date: 2017-08-01-09-32-58 .. nonce: husAYX .. section: Library

Fixed a crash when using asyncio and threads.

..

.. bpo: 30987 .. date: 2017-07-30-22-00-12 .. nonce: 228rW0 .. section: Library

Added support for CAN ISO-TP protocol in the socket module.

..

.. bpo: 30522 .. date: 2017-07-30-10-07-58 .. nonce: gAX1N- .. section: Library

Added a setStream method to logging.StreamHandler to allow the stream to be set after creation.

..

.. bpo: 30502 .. date: 2017-07-27-11-33-58 .. nonce: GJlfU8 .. section: Library

Fix handling of long oids in ssl. Based on patch by Christian Heimes.

..

.. bpo: 5288 .. date: 2017-07-26-13-18-29 .. nonce: o_xEGj .. section: Library

Support tzinfo objects with sub-minute offsets.

..

.. bpo: 30919 .. date: 2017-07-23-11-33-10 .. nonce: 5dYRru .. section: Library

Fix shared memory performance regression in multiprocessing in 3.x. Shared memory used anonymous memory mappings in 2.x, while 3.x mmaps actual files. Try to be careful to do as little disk I/O as possible.

..

.. bpo: 26732 .. date: 2017-07-22-12-12-42 .. nonce: lYLWBH .. section: Library

Fix too many fds in processes started with the "forkserver" method. A child process would inherit as many fds as the number of still-running children.

..

.. bpo: 29403 .. date: 2017-07-20-02-29-49 .. nonce: 3RinCV .. section: Library

Fix unittest.mock's autospec to not fail on method-bound builtin functions. Patch by Aaron Gallagher.

..

.. bpo: 30961 .. date: 2017-07-18-23-47-51 .. nonce: 064jz0 .. section: Library

Fix decrementing a borrowed reference in tracemalloc.

..

.. bpo: 19896 .. date: 2017-07-18-13-24-50 .. nonce: -S0IWu .. section: Library

Fix multiprocessing.sharedctypes to recognize typecodes 'q' and 'Q'.

..

.. bpo: 30946 .. date: 2017-07-17-12-32-47 .. nonce: DUo-uA .. section: Library

Remove obsolete code in readline module for platforms where GNU readline is older than 2.1 or where select() is not available.

..

.. bpo: 25684 .. date: 2017-07-17-11-35-00 .. nonce: usELVx .. section: Library

Change ttk.OptionMenu radiobuttons to be unique across instances of OptionMenu.

..

.. bpo: 30886 .. date: 2017-07-10-12-14-22 .. nonce: nqQj34 .. section: Library

Fix multiprocessing.Queue.join_thread(): it now waits until the thread completes, even if the thread was started by the same process which created the queue.

..

.. bpo: 29854 .. date: 2017-07-07-02-18-57 .. nonce: J8wKb_ .. section: Library

Fix segfault in readline when using readline's history-size option. Patch by Nir Soffer.

..

.. bpo: 30794 .. date: 2017-07-04-22-00-20 .. nonce: qFwozm .. section: Library

Added multiprocessing.Process.kill method to terminate using the SIGKILL signal on Unix.

..

.. bpo: 30319 .. date: 2017-07-04-13-48-21 .. nonce: hg_3TX .. section: Library

socket.close() now ignores ECONNRESET error.

..

.. bpo: 30828 .. date: 2017-07-04-13-10-52 .. nonce: CLvEvV .. section: Library

Fix out of bounds write in asyncio.CFuture.remove_done_callback().

..

.. bpo: 30302 .. date: 2017-06-30-23-05-47 .. nonce: itwK_k .. section: Library

Use keywords in the repr of datetime.timedelta.

..

.. bpo: 30807 .. date: 2017-06-29-22-04-44 .. nonce: sLtjY- .. section: Library

signal.setitimer() may disable the timer when passed a tiny value. Tiny values (such as 1e-6) are valid non-zero values for setitimer(), which is specified as taking microsecond-resolution intervals. However, on some platform, our conversion routine could convert 1e-6 into a zero interval, therefore disabling the timer instead of (re-)scheduling it.

..

.. bpo: 30441 .. date: 2017-06-29-14-25-14 .. nonce: 3Wh9kc .. section: Library

Fix bug when modifying os.environ while iterating over it

..

.. bpo: 29585 .. date: 2017-06-29-00-17-38 .. nonce: x2V0my .. section: Library

Avoid importing sysconfig from site to improve startup speed. Python startup is about 5% faster on Linux and 30% faster on macOS.

..

.. bpo: 29293 .. date: 2017-06-29-00-07-22 .. nonce: Z6WZjD .. section: Library

Add missing parameter "n" on multiprocessing.Condition.notify(). The doc claims multiprocessing.Condition behaves like threading.Condition, but its notify() method lacked the optional "n" argument (to specify the number of sleepers to wake up) that threading.Condition.notify() accepts.

..

.. bpo: 30532 .. date: 2017-06-26-11-01-59 .. nonce: qTeL1o .. section: Library

Fix email header value parser dropping folding white space in certain cases.

..

.. bpo: 30596 .. date: 2017-06-24-18-55-58 .. nonce: VhB8iG .. section: Library

Add a close() method to multiprocessing.Process.

..

.. bpo: 9146 .. date: 2017-05-24-00-00-00 .. nonce: pinky_ .. section: Library

Fix a segmentation fault in _hashopenssl when standard hash functions such as md5 are not available in the linked OpenSSL library. As in some special FIPS-140 build environments.

..

.. bpo: 29169 .. date: 0352 .. nonce: 8ypApm .. section: Library

Update zlib to 1.2.11.

..

.. bpo: 30119 .. date: 0351 .. nonce: 4UMLNh .. section: Library

ftplib.FTP.putline() now throws ValueError on commands that contains CR or LF. Patch by Donghee Na.

..

.. bpo: 30879 .. date: 0350 .. nonce: N3KI-o .. section: Library

os.listdir() and os.scandir() now emit bytes names when called with bytes-like argument.

..

.. bpo: 30746 .. date: 0349 .. nonce: 7drQI0 .. section: Library

Prohibited the '=' character in environment variable names in os.putenv() and os.spawn*().

..

.. bpo: 30664 .. date: 0348 .. nonce: oyqiUl .. section: Library

The description of a unittest subtest now preserves the order of keyword arguments of TestCase.subTest().

..

.. bpo: 21071 .. date: 0346 .. nonce: Sw37rs .. section: Library

struct.Struct.format type is now :class:str instead of :class:bytes.

..

.. bpo: 29212 .. date: 0345 .. nonce: HmTdef .. section: Library

Fix concurrent.futures.thread.ThreadPoolExecutor threads to have a non repr() based thread name by default when no thread_name_prefix is supplied. They will now identify themselves as "ThreadPoolExecutor-y_n".

..

.. bpo: 29755 .. date: 0343 .. nonce: diQcY_ .. section: Library

Fixed the lgettext() family of functions in the gettext module. They now always return bytes.

..

.. bpo: 30616 .. date: 0341 .. nonce: I2mDTz .. section: Library

Functional API of enum allows to create empty enums. Patched by Donghee Na

..

.. bpo: 30038 .. date: 0340 .. nonce: vb4DWk .. section: Library

Fix race condition between signal delivery and wakeup file descriptor. Patch by Nathaniel Smith.

..

.. bpo: 23894 .. date: 0339 .. nonce: k2pADV .. section: Library

lib2to3 now recognizes rb'...' and f'...' strings.

..

.. bpo: 24744 .. date: 0337 .. nonce: NKxUj3 .. section: Library

pkgutil.walk_packages function now raises ValueError if path is a string. Patch by Sanyam Khurana.

..

.. bpo: 24484 .. date: 0336 .. nonce: vFem8K .. section: Library

Avoid race condition in multiprocessing cleanup.

..

.. bpo: 30589 .. date: 0335 .. nonce: xyZGM0 .. section: Library

Fix multiprocessing.Process.exitcode to return the opposite of the signal number when the process is killed by a signal (instead of 255) when using the "forkserver" method.

..

.. bpo: 28994 .. date: 0334 .. nonce: 9vzun1 .. section: Library

The traceback no longer displayed for SystemExit raised in a callback registered by atexit.

..

.. bpo: 30508 .. date: 0333 .. nonce: wNWRS2 .. section: Library

Don't log exceptions if Task/Future "cancel()" method was called.

..

.. bpo: 30645 .. date: 0332 .. nonce: xihJ4Y .. section: Library

Fix path calculation in imp.load_package(), fixing it for cases when a package is only shipped with bytecodes. Patch by Alexandru Ardelean.

..

.. bpo: 11822 .. date: 0331 .. nonce: GQmKw3 .. section: Library

The dis.dis() function now is able to disassemble nested code objects.

..

.. bpo: 30624 .. date: 0330 .. nonce: g5oVSn .. section: Library

selectors does not take KeyboardInterrupt and SystemExit into account, leaving a fd in a bad state in case of error. Patch by Giampaolo Rodola'.

..

.. bpo: 30595 .. date: 0329 .. nonce: d0nRRA .. section: Library

multiprocessing.Queue.get() with a timeout now polls its reader in non-blocking mode if it succeeded to acquire the lock but the acquire took longer than the timeout.

..

.. bpo: 28556 .. date: 0328 .. nonce: mESP7G .. section: Library

Updates to typing module: Add generic AsyncContextManager, add support for ContextManager on all versions. Original PRs by Jelle Zijlstra and Ivan Levkivskyi

..

.. bpo: 30605 .. date: 0327 .. nonce: XqGz1r .. section: Library

re.compile() no longer raises a BytesWarning when compiling a bytes instance with misplaced inline modifier. Patch by Roy Williams.

..

.. bpo: 29870 .. date: 0326 .. nonce: p960Ih .. section: Library

Fix ssl sockets leaks when connection is aborted in asyncio/ssl implementation. Patch by Michaël Sghaïer.

..

.. bpo: 29743 .. date: 0325 .. nonce: en2P4s .. section: Library

Closing transport during handshake process leaks open socket. Patch by Nikolay Kim

..

.. bpo: 27585 .. date: 0324 .. nonce: 0Ugqqu .. section: Library

Fix waiter cancellation in asyncio.Lock. Patch by Mathieu Sornay.

..

.. bpo: 30014 .. date: 0323 .. nonce: x7Yx6o .. section: Library

modify() method of poll(), epoll() and devpoll() based classes of selectors module is around 10% faster. Patch by Giampaolo Rodola'.

..

.. bpo: 30418 .. date: 0322 .. nonce: EwISQm .. section: Library

On Windows, subprocess.Popen.communicate() now also ignore EINVAL on stdin.write() if the child process is still running but closed the pipe.

..

.. bpo: 30463 .. date: 0321 .. nonce: CdOuSl .. section: Library

Added empty slots to abc.ABC. This allows subclassers to deny dict and weakref creation. Patch by Aaron Hall.

..

.. bpo: 30520 .. date: 0320 .. nonce: VYzaSn .. section: Library

Loggers are now pickleable.

..

.. bpo: 30557 .. date: 0319 .. nonce: uykrLf .. section: Library

faulthandler now correctly filters and displays exception codes on Windows

..

.. bpo: 30526 .. date: 0318 .. nonce: 7zTG30 .. section: Library

Add TextIOWrapper.reconfigure() and a TextIOWrapper.write_through attribute.

..

.. bpo: 30245 .. date: 0317 .. nonce: Xoa_8Y .. section: Library

Fix possible overflow when organize struct.pack_into error message. Patch by Yuan Liu.

..

.. bpo: 30378 .. date: 0316 .. nonce: R_19_5 .. section: Library

Fix the problem that logging.handlers.SysLogHandler cannot handle IPv6 addresses.

..

.. bpo: 16500 .. date: 0315 .. nonce: 9ypo9k .. section: Library

Allow registering at-fork handlers.

..

.. bpo: 30470 .. date: 0314 .. nonce: wAYhUc .. section: Library

Deprecate invalid ctypes call protection on Windows. Patch by Mariatta Wijaya.

..

.. bpo: 30414 .. date: 0313 .. nonce: jGl1Lb .. section: Library

multiprocessing.Queue._feed background running thread do not break from main loop on exception.

..

.. bpo: 30003 .. date: 0312 .. nonce: BOl9HE .. section: Library

Fix handling escape characters in HZ codec. Based on patch by Ma Lin.

..

.. bpo: 30149 .. date: 0311 .. nonce: hE649r .. section: Library

inspect.signature() now supports callables with variable-argument parameters wrapped with partialmethod. Patch by Donghee Na.

..

.. bpo: 30436 .. date: 0310 .. nonce: b3zqE7 .. section: Library

importlib.find_spec() raises ModuleNotFoundError instead of AttributeError if the specified parent module is not a package (i.e. lacks a path attribute).

..

.. bpo: 30301 .. date: 0309 .. nonce: ywOkjN .. section: Library

Fix AttributeError when using SimpleQueue.empty() under spawn and forkserver start methods.

..

.. bpo: 30375 .. date: 0308 .. nonce: 9c8qM7 .. section: Library

Warnings emitted when compile a regular expression now always point to the line in the user code. Previously they could point into inners of the re module if emitted from inside of groups or conditionals.

..

.. bpo: 30329 .. date: 0307 .. nonce: EuT36N .. section: Library

imaplib and poplib now catch the Windows socket WSAEINVAL error (code 10022) on shutdown(SHUT_RDWR): An invalid operation was attempted. This error occurs sometimes on SSL connections.

..

.. bpo: 29196 .. date: 0306 .. nonce: qBq9eB .. section: Library

Removed previously deprecated in Python 2.4 classes Plist, Dict and _InternalDict in the plistlib module. Dict values in the result of functions readPlist() and readPlistFromBytes() are now normal dicts. You no longer can use attribute access to access items of these dictionaries.

..

.. bpo: 9850 .. date: 0305 .. nonce: c6SMxt .. section: Library

The :mod:macpath is now deprecated and will be removed in Python 3.8.

..

.. bpo: 30299 .. date: 0304 .. nonce: O-5d4A .. section: Library

Compiling regular expression in debug mode on CPython now displays the compiled bytecode in human readable form.

..

.. bpo: 30048 .. date: 0303 .. nonce: ELRx8R .. section: Library

Fixed Task.cancel() can be ignored when the task is running coroutine and the coroutine returned without any more await.

..

.. bpo: 30266 .. date: 0302 .. nonce: YJzHAH .. section: Library

contextlib.AbstractContextManager now supports anti-registration by setting enter = None or exit = None, following the pattern introduced in bpo-25958. Patch by Jelle Zijlstra.

..

.. bpo: 30340 .. date: 0301 .. nonce: kvtGm- .. section: Library

Enhanced regular expressions optimization. This increased the performance of matching some patterns up to 25 times.

..

.. bpo: 30298 .. date: 0300 .. nonce: ZN-bWo .. section: Library

Weaken the condition of deprecation warnings for inline modifiers. Now allowed several subsequential inline modifiers at the start of the pattern (e.g. '(?i)(?s)...'). In verbose mode whitespaces and comments now are allowed before and between inline modifiers (e.g. '(?x) (?i) (?s)...').

..

.. bpo: 30285 .. date: 0299 .. nonce: s1vpsO .. section: Library

Optimized case-insensitive matching and searching of regular expressions.

..

.. bpo: 29990 .. date: 0298 .. nonce: HWV6KE .. section: Library

Fix range checking in GB18030 decoder. Original patch by Ma Lin.

..

.. bpo: 29979 .. date: 0297 .. nonce: jGBMyE .. section: Library

rewrite cgi.parse_multipart, reusing the FieldStorage class and making its results consistent with those of FieldStorage for multipart/form-data requests. Patch by Pierre Quentel.

..

.. bpo: 30243 .. date: 0296 .. nonce: RHQt0v .. section: Library

Removed the init methods of _json's scanner and encoder. Misusing them could cause memory leaks or crashes. Now scanner and encoder objects are completely initialized in the new methods.

..

.. bpo: 30215 .. date: 0295 .. nonce: SY8738 .. section: Library

Compiled regular expression objects with the re.LOCALE flag no longer depend on the locale at compile time. Only the locale at matching time affects the result of matching.

..

.. bpo: 30185 .. date: 0294 .. nonce: Tiu1n8 .. section: Library

Avoid KeyboardInterrupt tracebacks in forkserver helper process when Ctrl-C is received.

..

.. bpo: 30103 .. date: 0293 .. nonce: mmPjf5 .. section: Library

binascii.b2a_uu() and uu.encode() now support using '`' as zero instead of space.

..

.. bpo: 28556 .. date: 0292 .. nonce: 51gjbP .. section: Library

Various updates to typing module: add typing.NoReturn type, use WrapperDescriptorType, minor bug-fixes. Original PRs by Jim Fasarakis-Hilliard and Ivan Levkivskyi.

..

.. bpo: 30205 .. date: 0291 .. nonce: BsxO34 .. section: Library

Fix getsockname() for unbound AF_UNIX sockets on Linux.

..

.. bpo: 30228 .. date: 0290 .. nonce: nF8Ov4 .. section: Library

The seek() and tell() methods of io.FileIO now set the internal seekable attribute to avoid one syscall on open() (in buffered or text mode).

..

.. bpo: 30190 .. date: 0289 .. nonce: 5E7Hyb .. section: Library

unittest's assertAlmostEqual and assertNotAlmostEqual provide a better message in case of failure which includes the difference between left and right arguments. (patch by Giampaolo Rodola')

..

.. bpo: 30101 .. date: 0288 .. nonce: hxUqSL .. section: Library

Add support for curses.A_ITALIC.

..

.. bpo: 29822 .. date: 0287 .. nonce: G7dX13 .. section: Library

inspect.isabstract() now works during init_subclass. Patch by Nate Soares.

..

.. bpo: 29960 .. date: 0286 .. nonce: g0wr3r .. section: Library

Preserve generator state when _random.Random.setstate() raises an exception. Patch by Bryan Olson.

..

.. bpo: 30070 .. date: 0285 .. nonce: XM_B41 .. section: Library

Fixed leaks and crashes in errors handling in the parser module.

..

.. bpo: 22352 .. date: 0284 .. nonce: gIQ5qC .. section: Library

Column widths in the output of dis.dis() are now adjusted for large line numbers and instruction offsets.

..

.. bpo: 30061 .. date: 0283 .. nonce: 2w_dX9 .. section: Library

Fixed crashes in IOBase methods next() and readlines() when readline() or next() respectively return non-sizeable object. Fixed possible other errors caused by not checking results of PyObject_Size(), PySequence_Size(), or PyMapping_Size().

..

.. bpo: 30218 .. date: 0282 .. nonce: ab5oIg .. section: Library

Fix PathLike support for shutil.unpack_archive. Patch by Jelle Zijlstra.

..

.. bpo: 10076 .. date: 0281 .. nonce: qCnwly .. section: Library

Compiled regular expression and match objects in the re module now support copy.copy() and copy.deepcopy() (they are considered atomic).

..

.. bpo: 30068 .. date: 0280 .. nonce: n4q47r .. section: Library

_io._IOBase.readlines will check if it's closed first when hint is present.

..

.. bpo: 29694 .. date: 0279 .. nonce: LWKxb1 .. section: Library

Fixed race condition in pathlib mkdir with flags parents=True. Patch by Armin Rigo.

..

.. bpo: 29692 .. date: 0278 .. nonce: oyWrAE .. section: Library

Fixed arbitrary unchaining of RuntimeError exceptions in contextlib.contextmanager. Patch by Siddharth Velankar.

..

.. bpo: 26187 .. date: 0277 .. nonce: aViyiR .. section: Library

Test that sqlite3 trace callback is not called multiple times when schema is changing. Indirectly fixed by switching to use sqlite3_prepare_v2() in bpo-9303. Patch by Aviv Palivoda.

..

.. bpo: 30017 .. date: 0276 .. nonce: cKBuhU .. section: Library

Allowed calling the close() method of the zip entry writer object multiple times. Writing to a closed writer now always produces a ValueError.

..

.. bpo: 29998 .. date: 0275 .. nonce: poeIKD .. section: Library

Pickling and copying ImportError now preserves name and path attributes.

..

.. bpo: 29995 .. date: 0274 .. nonce: b3mOqx .. section: Library

re.escape() now escapes only regex special characters.

..

.. bpo: 29962 .. date: 0273 .. nonce: r-ibsN .. section: Library

Add math.remainder operation, implementing remainder as specified in IEEE 754.

..

.. bpo: 29649 .. date: 0272 .. nonce: 2eIxQ8 .. section: Library

Improve struct.pack_into() exception messages for problems with the buffer size and offset. Patch by Andrew Nester.

..

.. bpo: 29654 .. date: 0271 .. nonce: xRFPge .. section: Library

Support If-Modified-Since HTTP header (browser cache). Patch by Pierre Quentel.

..

.. bpo: 29931 .. date: 0270 .. nonce: tfcTwK .. section: Library

Fixed comparison check for ipaddress.ip_interface objects. Patch by Sanjay Sundaresan.

..

.. bpo: 29953 .. date: 0269 .. nonce: Q1hSt- .. section: Library

Fixed memory leaks in the replace() method of datetime and time objects when pass out of bound fold argument.

..

.. bpo: 29942 .. date: 0268 .. nonce: CsGNuT .. section: Library

Fix a crash in itertools.chain.from_iterable when encountering long runs of empty iterables.

..

.. bpo: 10030 .. date: 0267 .. nonce: ZdhU3k .. section: Library

Sped up reading encrypted ZIP files by 2 times.

..

.. bpo: 29204 .. date: 0266 .. nonce: 8Hbqn2 .. section: Library

Element.getiterator() and the html parameter of XMLParser() were deprecated only in the documentation (since Python 3.2 and 3.4 correspondingly). Now using them emits a deprecation warning.

..

.. bpo: 27863 .. date: 0265 .. nonce: pPYHHI .. section: Library

Fixed multiple crashes in ElementTree caused by race conditions and wrong types.

..

.. bpo: 25996 .. date: 0264 .. nonce: L2_giP .. section: Library

Added support of file descriptors in os.scandir() on Unix. os.fwalk() is sped up by 2 times by using os.scandir().

..

.. bpo: 28699 .. date: 0263 .. nonce: wZztZP .. section: Library

Fixed a bug in pools in multiprocessing.pool that raising an exception at the very first of an iterable may swallow the exception or make the program hang. Patch by Davin Potts and Xiang Zhang.

..

.. bpo: 23890 .. date: 0262 .. nonce: GCFAAZ .. section: Library

unittest.TestCase.assertRaises() now manually breaks a reference cycle to not keep objects alive longer than expected.

..

.. bpo: 29901 .. date: 0261 .. nonce: QdgMvW .. section: Library

The zipapp module now supports general path-like objects, not just pathlib.Path.

..

.. bpo: 25803 .. date: 0260 .. nonce: CPDR0W .. section: Library

Avoid incorrect errors raised by Path.mkdir(exist_ok=True) when the OS gives priority to errors such as EACCES over EEXIST.

..

.. bpo: 29861 .. date: 0259 .. nonce: t2ZoRK .. section: Library

Release references to tasks, their arguments and their results as soon as they are finished in multiprocessing.Pool.

..

.. bpo: 19930 .. date: 0258 .. nonce: QCjO6A .. section: Library

The mode argument of os.makedirs() no longer affects the file permission bits of newly created intermediate-level directories.

..

.. bpo: 29884 .. date: 0257 .. nonce: kWXR8W .. section: Library

faulthandler: Restore the old sigaltstack during teardown. Patch by Christophe Zeitouny.

..

.. bpo: 25455 .. date: 0256 .. nonce: ZsahHN .. section: Library

Fixed crashes in repr of recursive buffered file-like objects.

..

.. bpo: 29800 .. date: 0255 .. nonce: d2xASa .. section: Library

Fix crashes in partial.repr if the keys of partial.keywords are not strings. Patch by Michael Seifert.

..

.. bpo: 8256 .. date: 0254 .. nonce: jAwGQH .. section: Library

Fixed possible failing or crashing input() if attributes "encoding" or "errors" of sys.stdin or sys.stdout are not set or are not strings.

..

.. bpo: 28692 .. date: 0253 .. nonce: CDt-Gb .. section: Library

Using non-integer value for selecting a plural form in gettext is now deprecated.

..

.. bpo: 26121 .. date: 0252 .. nonce: LX-pQA .. section: Library

Use C library implementation for math functions erf() and erfc().

..

.. bpo: 29619 .. date: 0251 .. nonce: WIGVxO .. section: Library

os.stat() and os.DirEntry.inode() now convert inode (st_ino) using unsigned integers.

..

.. bpo: 28298 .. date: 0250 .. nonce: PNOPsT .. section: Library

Fix a bug that prevented array 'Q', 'L' and 'I' from accepting big intables (objects that have int) as elements.

..

.. bpo: 29645 .. date: 0249 .. nonce: XCxTHM .. section: Library

Speed up importing the webbrowser module. webbrowser.register() is now thread-safe.

..

.. bpo: 28231 .. date: 0248 .. nonce: MG1X09 .. section: Library

The zipfile module now accepts path-like objects for external paths.

..

.. bpo: 26915 .. date: 0247 .. nonce: qShJZO .. section: Library

index() and count() methods of collections.abc.Sequence now check identity before checking equality when do comparisons.

..

.. bpo: 28682 .. date: 0246 .. nonce: hUxdej .. section: Library

Added support for bytes paths in os.fwalk().

..

.. bpo: 29728 .. date: 0245 .. nonce: 37jMwb .. section: Library

Add new :const:socket.TCP_NOTSENT_LOWAT (Linux 3.12) constant. Patch by Nathaniel J. Smith.

..

.. bpo: 29623 .. date: 0244 .. nonce: D3-NP2 .. section: Library

Allow use of path-like object as a single argument in ConfigParser.read(). Patch by David Ellis.

..

.. bpo: 9303 .. date: 0243 .. nonce: kDZRSd .. section: Library

Migrate sqlite3 module to _v2 API. Patch by Aviv Palivoda.

..

.. bpo: 28963 .. date: 0242 .. nonce: tPl8dq .. section: Library

Fix out of bound iteration in asyncio.Future.remove_done_callback implemented in C.

..

.. bpo: 29704 .. date: 0241 .. nonce: WHbx27 .. section: Library

asyncio.subprocess.SubprocessStreamProtocol no longer closes before all pipes are closed.

..

.. bpo: 29271 .. date: 0240 .. nonce: y8Vj2v .. section: Library

Fix Task.current_task and Task.all_tasks implemented in C to accept None argument as their pure Python implementation.

..

.. bpo: 29703 .. date: 0239 .. nonce: ZdsPCR .. section: Library

Fix asyncio to support instantiation of new event loops in child processes.

..

.. bpo: 29615 .. date: 0238 .. nonce: OpFKzg .. section: Library

SimpleXMLRPCDispatcher no longer chains KeyError (or any other exception) to exception(s) raised in the dispatched methods. Patch by Petr Motejlek.

..

.. bpo: 7769 .. date: 0237 .. nonce: xGRJWh .. section: Library

Method register_function() of xmlrpc.server.SimpleXMLRPCDispatcher and its subclasses can now be used as a decorator.

..

.. bpo: 29376 .. date: 0236 .. nonce: rrJhJy .. section: Library

Fix assertion error in threading._DummyThread.is_alive().

..

.. bpo: 28624 .. date: 0235 .. nonce: 43TJib .. section: Library

Add a test that checks that cwd parameter of Popen() accepts PathLike objects. Patch by Sayan Chowdhury.

..

.. bpo: 28518 .. date: 0234 .. nonce: o-Q2Nw .. section: Library

Start a transaction implicitly before a DML statement. Patch by Aviv Palivoda.

..

.. bpo: 29742 .. date: 0233 .. nonce: 8hqfEO .. section: Library

get_extra_info() raises exception if get called on closed ssl transport. Patch by Nikolay Kim.

..

.. bpo: 16285 .. date: 0232 .. nonce: 4f5gbp .. section: Library

urllib.parse.quote is now based on RFC 3986 and hence includes '~' in the set of characters that is not quoted by default. Patch by Christian Theune and Ratnadeep Debnath.

..

.. bpo: 29532 .. date: 0231 .. nonce: YCwVQn .. section: Library

Altering a kwarg dictionary passed to functools.partial() no longer affects a partial object after creation.

..

.. bpo: 29110 .. date: 0230 .. nonce: wmE-_T .. section: Library

Fix file object leak in aifc.open() when file is given as a filesystem path and is not in valid AIFF format. Patch by Anthony Zhang.

..

.. bpo: 22807 .. date: 0229 .. nonce: VmoSkZ .. section: Library

Add uuid.SafeUUID and uuid.UUID.is_safe to relay information from the platform about whether generated UUIDs are generated with a multiprocessing safe method.

..

.. bpo: 29576 .. date: 0228 .. nonce: F-b8_5 .. section: Library

Improve some deprecations in importlib. Some deprecated methods now emit DeprecationWarnings and have better descriptive messages.

..

.. bpo: 29534 .. date: 0227 .. nonce: Ug3HPU .. section: Library

Fixed different behaviour of Decimal.from_float() for _decimal and _pydecimal. Thanks Andrew Nester.

..

.. bpo: 10379 .. date: 0226 .. nonce: mRlZsT .. section: Library

locale.format_string now supports the 'monetary' keyword argument, and locale.format is deprecated.

..

.. bpo: 29851 .. date: 0225 .. nonce: jqs_5s .. section: Library

importlib.reload() now raises ModuleNotFoundError if the module lacks a spec.

..

.. bpo: 28556 .. date: 0224 .. nonce: p6967e .. section: Library

Various updates to typing module: typing.Counter, typing.ChainMap, improved ABC caching, etc. Original PRs by Jelle Zijlstra, Ivan Levkivskyi, Manuel Krebber, and Łukasz Langa.

..

.. bpo: 29100 .. date: 0223 .. nonce: LAAERS .. section: Library

Fix datetime.fromtimestamp() regression introduced in Python 3.6.0: check minimum and maximum years.

..

.. bpo: 29416 .. date: 0222 .. nonce: KJGyI_ .. section: Library

Prevent infinite loop in pathlib.Path.mkdir

..

.. bpo: 29444 .. date: 0221 .. nonce: cEwgmk .. section: Library

Fixed out-of-bounds buffer access in the group() method of the match object. Based on patch by WGH.

..

.. bpo: 29377 .. date: 0220 .. nonce: 4AvSrC .. section: Library

Add WrapperDescriptorType, MethodWrapperType, and MethodDescriptorType built-in types to types module. Original patch by Manuel Krebber.

..

.. bpo: 29218 .. date: 0219 .. nonce: -Qoti0 .. section: Library

Unused install_misc command is now removed. It has been documented as unused since 2000. Patch by Eric N. Vander Weele.

..

.. bpo: 29368 .. date: 0218 .. nonce: nTtA_V .. section: Library

The extend() method is now called instead of the append() method when unpickle collections.deque and other list-like objects. This can speed up unpickling to 2 times.

..

.. bpo: 29338 .. date: 0217 .. nonce: EpvQJl .. section: Library

The help of a builtin or extension class now includes the constructor signature if text_signature is provided for the class.

..

.. bpo: 29335 .. date: 0216 .. nonce: _KC7IK .. section: Library

Fix subprocess.Popen.wait() when the child process has exited to a stopped instead of terminated state (ex: when under ptrace).

..

.. bpo: 29290 .. date: 0215 .. nonce: XBqptF .. section: Library

Fix a regression in argparse that help messages would wrap at non-breaking spaces.

..

.. bpo: 28735 .. date: 0214 .. nonce: admHLO .. section: Library

Fixed the comparison of mock.MagickMock with mock.ANY.

..

.. bpo: 29197 .. date: 0213 .. nonce: sZssFZ .. section: Library

Removed deprecated function ntpath.splitunc().

..

.. bpo: 29210 .. date: 0212 .. nonce: y1UHWf .. section: Library

Removed support of deprecated argument "exclude" in tarfile.TarFile.add().

..

.. bpo: 29219 .. date: 0211 .. nonce: kxui7t .. section: Library

Fixed infinite recursion in the repr of uninitialized ctypes.CDLL instances.

..

.. bpo: 29192 .. date: 0210 .. nonce: mY31H8 .. section: Library

Removed deprecated features in the http.cookies module.

..

.. bpo: 29193 .. date: 0209 .. nonce: CgcjEx .. section: Library

A format string argument for string.Formatter.format() is now positional-only.

..

.. bpo: 29195 .. date: 0208 .. nonce: vK5LjU .. section: Library

Removed support of deprecated undocumented keyword arguments in methods of regular expression objects.

..

.. bpo: 28969 .. date: 0207 .. nonce: j3HJYO .. section: Library

Fixed race condition in C implementation of functools.lru_cache. KeyError could be raised when cached function with full cache was simultaneously called from different threads with the same uncached arguments.

..

.. bpo: 20804 .. date: 0206 .. nonce: XyZhvi .. section: Library

The unittest.mock.sentinel attributes now preserve their identity when they are copied or pickled.

..

.. bpo: 29142 .. date: 0205 .. nonce: xo6kAv .. section: Library

In urllib.request, suffixes in no_proxy environment variable with leading dots could match related hostnames again (e.g. .b.c matches a.b.c). Patch by Milan Oberkirch.

..

.. bpo: 28961 .. date: 0204 .. nonce: Rt93vg .. section: Library

Fix unittest.mock._Call helper: don't ignore the name parameter anymore. Patch written by Jiajun Huang.

..

.. bpo: 15812 .. date: 0203 .. nonce: R1U-Ec .. section: Library

inspect.getframeinfo() now correctly shows the first line of a context. Patch by Sam Breese.

..

.. bpo: 28985 .. date: 0202 .. nonce: TMWJFg .. section: Library

Update authorizer constants in sqlite3 module. Patch by Dingyuan Wang.

..

.. bpo: 29079 .. date: 0201 .. nonce: g4YLix .. section: Library

Prevent infinite loop in pathlib.resolve() on Windows

..

.. bpo: 13051 .. date: 0200 .. nonce: YzC1Te .. section: Library

Fixed recursion errors in large or resized curses.textpad.Textbox. Based on patch by Tycho Andersen.

..

.. bpo: 9770 .. date: 0199 .. nonce: WJJnwP .. section: Library

curses.ascii predicates now work correctly with negative integers.

..

.. bpo: 28427 .. date: 0198 .. nonce: vUd-va .. section: Library

old keys should not remove new values from WeakValueDictionary when collecting from another thread.

..

.. bpo: 28923 .. date: 0197 .. nonce: naVULD .. section: Library

Remove editor artifacts from Tix.py.

..

.. bpo: 28871 .. date: 0196 .. nonce: cPMXCJ .. section: Library

Fixed a crash when deallocate deep ElementTree.

..

.. bpo: 19542 .. date: 0195 .. nonce: 5tCkaK .. section: Library

Fix bugs in WeakValueDictionary.setdefault() and WeakValueDictionary.pop() when a GC collection happens in another thread.

..

.. bpo: 20191 .. date: 0194 .. nonce: Q7uZCS .. section: Library

Fixed a crash in resource.prlimit() when passing a sequence that doesn't own its elements as limits.

..

.. bpo: 16255 .. date: 0193 .. nonce: p2YA85 .. section: Library

subprocess.Popen uses /system/bin/sh on Android as the shell, instead of /bin/sh.

..

.. bpo: 28779 .. date: 0192 .. nonce: t-mjED .. section: Library

multiprocessing.set_forkserver_preload() would crash the forkserver process if a preloaded module instantiated some multiprocessing objects such as locks.

..

.. bpo: 26937 .. date: 0191 .. nonce: c9kgiA .. section: Library

The chown() method of the tarfile.TarFile class does not fail now when the grp module cannot be imported, as for example on Android platforms.

..

.. bpo: 28847 .. date: 0190 .. nonce: GiWd9w .. section: Library

dbm.dumb now supports reading read-only files and no longer writes the index file when it is not changed. A deprecation warning is now emitted if the index file is missed and recreated in the 'r' and 'w' modes (will be an error in future Python releases).

..

.. bpo: 27030 .. date: 0189 .. nonce: GoGlFH .. section: Library

Unknown escapes consisting of '\' and an ASCII letter in re.sub() replacement templates regular expressions now are errors.

..

.. bpo: 28835 .. date: 0188 .. nonce: iWBYH7 .. section: Library

Fix a regression introduced in warnings.catch_warnings(): call warnings.showwarning() if it was overridden inside the context manager.

..

.. bpo: 27172 .. date: 0187 .. nonce: mVKfLT .. section: Library

To assist with upgrades from 2.7, the previously documented deprecation of inspect.getfullargspec() has been reversed. This decision may be revisited again after the Python 2.7 branch is no longer officially supported.

..

.. bpo: 28740 .. date: 0186 .. nonce: rY8kz- .. section: Library

Add sys.getandroidapilevel(): return the build time API version of Android as an integer. Function only available on Android.

..

.. bpo: 26273 .. date: 0185 .. nonce: ilNIWN .. section: Library

Add new :const:socket.TCP_CONGESTION (Linux 2.6.13) and :const:socket.TCP_USER_TIMEOUT (Linux 2.6.37) constants. Patch written by Omar Sandoval.

..

.. bpo: 28752 .. date: 0184 .. nonce: Q-4oRE .. section: Library

Restored the reduce() methods of datetime objects.

..

.. bpo: 28727 .. date: 0183 .. nonce: ubZP_b .. section: Library

Regular expression patterns, _sre.SRE_Pattern objects created by re.compile(), become comparable (only x==y and x!=y operators). This change should fix the issue #18383: don't duplicate warning filters when the warnings module is reloaded (thing usually only done in unit tests).

..

.. bpo: 20572 .. date: 0182 .. nonce: NCRmvz .. section: Library

Remove the subprocess.Popen.wait endtime parameter. It was deprecated in 3.4 and undocumented prior to that.

..

.. bpo: 25659 .. date: 0181 .. nonce: lE2IlT .. section: Library

In ctypes, prevent a crash calling the from_buffer() and from_buffer_copy() methods on abstract classes like Array.

..

.. bpo: 28548 .. date: 0180 .. nonce: IeNrnG .. section: Library

In the "http.server" module, parse the protocol version if possible, to avoid using HTTP 0.9 in some error responses.

..

.. bpo: 19717 .. date: 0179 .. nonce: HXCAIz .. section: Library

Makes Path.resolve() succeed on paths that do not exist. Patch by Vajrasky Kok

..

.. bpo: 28563 .. date: 0178 .. nonce: iweEiw .. section: Library

Fixed possible DoS and arbitrary code execution when handle plural form selections in the gettext module. The expression parser now supports exact syntax supported by GNU gettext.

..

.. bpo: 28387 .. date: 0177 .. nonce: 1clJu7 .. section: Library

Fixed possible crash in _io.TextIOWrapper deallocator when the garbage collector is invoked in other thread. Based on patch by Sebastian Cufre.

..

.. bpo: 27517 .. date: 0176 .. nonce: 1CYM8A .. section: Library

LZMA compressor and decompressor no longer raise exceptions if given empty data twice. Patch by Benjamin Fogle.

..

.. bpo: 28549 .. date: 0175 .. nonce: ShnM2y .. section: Library

Fixed segfault in curses's addch() with ncurses6.

..

.. bpo: 28449 .. date: 0174 .. nonce: 5JK6ES .. section: Library

tarfile.open() with mode "r" or "r:" now tries to open a tar file with compression before trying to open it without compression. Otherwise it had 50% chance failed with ignore_zeros=True.

..

.. bpo: 23262 .. date: 0173 .. nonce: 6EVB7N .. section: Library

The webbrowser module now supports Firefox 36+ and derived browsers. Based on patch by Oleg Broytman.

..

.. bpo: 24241 .. date: 0172 .. nonce: y7N12p .. section: Library

The webbrowser in an X environment now prefers using the default browser directly. Also, the webbrowser register() function now has a documented 'preferred' argument, to specify browsers to be returned by get() with no arguments. Patch by David Steele

..

.. bpo: 27939 .. date: 0171 .. nonce: mTfADV .. section: Library

Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale caused by representing the scale as float value internally in Tk. tkinter.IntVar now works if float value is set to underlying Tk variable.

..

.. bpo: 28255 .. date: 0170 .. nonce: G3iOPm .. section: Library

calendar.TextCalendar.prweek() no longer prints a space after a weeks's calendar. calendar.TextCalendar.pryear() no longer prints redundant newline after a year's calendar. Based on patch by Xiang Zhang.

..

.. bpo: 28255 .. date: 0169 .. nonce: fHNZu0 .. section: Library

calendar.TextCalendar.prmonth() no longer prints a space at the start of new line after printing a month's calendar. Patch by Xiang Zhang.

..

.. bpo: 20491 .. date: 0168 .. nonce: ObgnQ2 .. section: Library

The textwrap.TextWrapper class now honors non-breaking spaces. Based on patch by Kaarle Ritvanen.

..

.. bpo: 28353 .. date: 0167 .. nonce: sKGbLL .. section: Library

os.fwalk() no longer fails on broken links.

..

.. bpo: 28430 .. date: 0166 .. nonce: 4MiEYT .. section: Library

Fix iterator of C implemented asyncio.Future doesn't accept non-None value is passed to it.send(val).

..

.. bpo: 27025 .. date: 0165 .. nonce: foAViS .. section: Library

Generated names for Tkinter widgets now start by the "!" prefix for readability.

..

.. bpo: 25464 .. date: 0164 .. nonce: HDUTCu .. section: Library

Fixed HList.header_exists() in tkinter.tix module by addin a workaround to Tix library bug.

..

.. bpo: 28488 .. date: 0163 .. nonce: TgO112 .. section: Library

shutil.make_archive() no longer adds entry "./" to ZIP archive.

..

.. bpo: 25953 .. date: 0162 .. nonce: EKKJAQ .. section: Library

re.sub() now raises an error for invalid numerical group reference in replacement template even if the pattern is not found in the string. Error message for invalid group reference now includes the group index and the position of the reference. Based on patch by SilentGhost.

..

.. bpo: 28469 .. date: 0161 .. nonce: QZW1Np .. section: Library

timeit now uses the sequence 1, 2, 5, 10, 20, 50,... instead of 1, 10, 100,... for autoranging.

..

.. bpo: 28115 .. date: 0160 .. nonce: 4FIjIE .. section: Library

Command-line interface of the zipfile module now uses argparse. Added support of long options.

..

.. bpo: 18219 .. date: 0159 .. nonce: 1ANQN1 .. section: Library

Optimize csv.DictWriter for large number of columns. Patch by Mariatta Wijaya.

..

.. bpo: 28448 .. date: 0158 .. nonce: 5bduWe .. section: Library

Fix C implemented asyncio.Future didn't work on Windows.

..

.. bpo: 23214 .. date: 0157 .. nonce: -4Q5Z7 .. section: Library

In the "io" module, the argument to BufferedReader and BytesIO's read1() methods is now optional and can be -1, matching the BufferedIOBase specification.

..

.. bpo: 28480 .. date: 0156 .. nonce: 9lHw6m .. section: Library

Fix error building socket module when multithreading is disabled.

..

.. bpo: 28240 .. date: 0155 .. nonce: hqzQvS .. section: Library

timeit: remove -c/--clock and -t/--time command line options which were deprecated since Python 3.3.

..

.. bpo: 28240 .. date: 0154 .. nonce: IwQMgd .. section: Library

timeit now repeats the benchmarks 5 times instead of only 3 to make benchmarks more reliable.

..

.. bpo: 28240 .. date: 0153 .. nonce: cXljq- .. section: Library

timeit autorange now uses a single loop iteration if the benchmark takes less than 10 seconds, instead of 10 iterations. "python3 -m timeit -s 'import time' 'time.sleep(1)'" now takes 4 seconds instead of 40 seconds.

..

.. bpo: 0 .. date: 0152 .. nonce: 5Y0ngw .. section: Library

Distutils.sdist now looks for README and setup.py files with case sensitivity. This behavior matches that found in Setuptools 6.0 and later. See setuptools 100 <https://github.com/pypa/setuptools/issues/100>_ for rationale.

..

.. bpo: 24452 .. date: 0151 .. nonce: pVsjt0 .. section: Library

Make webbrowser support Chrome on Mac OS X. Patch by Ned Batchelder.

..

.. bpo: 20766 .. date: 0150 .. nonce: 4kvCzx .. section: Library

Fix references leaked by pdb in the handling of SIGINT handlers.

..

.. bpo: 27998 .. date: 0149 .. nonce: CPhy4H .. section: Library

Fixed bytes path support in os.scandir() on Windows. Patch by Eryk Sun.

..

.. bpo: 28317 .. date: 0148 .. nonce: LgHleA .. section: Library

The disassembler now decodes FORMAT_VALUE argument.

..

.. bpo: 28380 .. date: 0147 .. nonce: jKPMzH .. section: Library

unittest.mock Mock autospec functions now properly support assert_called, assert_not_called, and assert_called_once.

..

.. bpo: 28229 .. date: 0146 .. nonce: BKAxcS .. section: Library

lzma module now supports pathlib.

..

.. bpo: 28321 .. date: 0145 .. nonce: bQ-IIX .. section: Library

Fixed writing non-BMP characters with binary format in plistlib.

..

.. bpo: 28225 .. date: 0144 .. nonce: 6N28nu .. section: Library

bz2 module now supports pathlib. Initial patch by Ethan Furman.

..

.. bpo: 28227 .. date: 0143 .. nonce: 7lUz8i .. section: Library

gzip now supports pathlib. Patch by Ethan Furman.

..

.. bpo: 28332 .. date: 0142 .. nonce: Ed8fNk .. section: Library

Deprecated silent truncations in socket.htons and socket.ntohs. Original patch by Oren Milman.

..

.. bpo: 27358 .. date: 0141 .. nonce: t288Iv .. section: Library

Optimized merging var-keyword arguments and improved error message when passing a non-mapping as a var-keyword argument.

..

.. bpo: 28257 .. date: 0140 .. nonce: SVD_IH .. section: Library

Improved error message when passing a non-iterable as a var-positional argument. Added opcode BUILD_TUPLE_UNPACK_WITH_CALL.

..

.. bpo: 28322 .. date: 0139 .. nonce: l9hzap .. section: Library

Fixed possible crashes when unpickle itertools objects from incorrect pickle data. Based on patch by John Leitch.

..

.. bpo: 28228 .. date: 0138 .. nonce: 1qBwdM .. section: Library

imghdr now supports pathlib.

..

.. bpo: 28226 .. date: 0137 .. nonce: nMXiwU .. section: Library

compileall now supports pathlib.

..

.. bpo: 28314 .. date: 0136 .. nonce: N7YrkN .. section: Library

Fix function declaration (C flags) for the getiterator() method of xml.etree.ElementTree.Element.

..

.. bpo: 28148 .. date: 0135 .. nonce: Flzndx .. section: Library

Stop using localtime() and gmtime() in the time module. Introduced platform independent _PyTime_localtime API that is similar to POSIX localtime_r, but available on all platforms. Patch by Ed Schouten.

..

.. bpo: 28253 .. date: 0134 .. nonce: aLfmhe .. section: Library

Fixed calendar functions for extreme months: 0001-01 and 9999-12. Methods itermonthdays() and itermonthdays2() are reimplemented so that they don't call itermonthdates() which can cause datetime.date under/overflow.

..

.. bpo: 28275 .. date: 0133 .. nonce: EhWIsz .. section: Library

Fixed possible use after free in the decompress() methods of the LZMADecompressor and BZ2Decompressor classes. Original patch by John Leitch.

..

.. bpo: 27897 .. date: 0132 .. nonce: I0Ppmx .. section: Library

Fixed possible crash in sqlite3.Connection.create_collation() if pass invalid string-like object as a name. Patch by Xiang Zhang.

..

.. bpo: 18844 .. date: 0131 .. nonce: fQsEdn .. section: Library

random.choices() now has k as a keyword-only argument to improve the readability of common cases and come into line with the signature used in other languages.

..

.. bpo: 18893 .. date: 0130 .. nonce: osiX5c .. section: Library

Fix invalid exception handling in Lib/ctypes/macholib/dyld.py. Patch by Madison May.

..

.. bpo: 27611 .. date: 0129 .. nonce: A_ArH_ .. section: Library

Fixed support of default root window in the tkinter.tix module. Added the master parameter in the DisplayStyle constructor.

..

.. bpo: 27348 .. date: 0128 .. nonce: tDx7Vw .. section: Library

In the traceback module, restore the formatting of exception messages like "Exception: None". This fixes a regression introduced in 3.5a2.

..

.. bpo: 25651 .. date: 0127 .. nonce: 3UhyPo .. section: Library

Allow false values to be used for msg parameter of subTest().

..

.. bpo: 27778 .. date: 0126 .. nonce: Yyo1aP .. section: Library

Fix a memory leak in os.getrandom() when the getrandom() is interrupted by a signal and a signal handler raises a Python exception.

..

.. bpo: 28200 .. date: 0125 .. nonce: 4IEbr7 .. section: Library

Fix memory leak on Windows in the os module (fix path_converter() function).

..

.. bpo: 25400 .. date: 0124 .. nonce: d9Qn0E .. section: Library

RobotFileParser now correctly returns default values for crawl_delay and request_rate. Initial patch by Peter Wirtz.

..

.. bpo: 27932 .. date: 0123 .. nonce: mtgl-6 .. section: Library

Prevent memory leak in win32_ver().

..

.. bpo: 0 .. date: 0122 .. nonce: iPpjqX .. section: Library

Fix UnboundLocalError in socket._sendfile_use_sendfile.

..

.. bpo: 28075 .. date: 0121 .. nonce: aLiUs9 .. section: Library

Check for ERROR_ACCESS_DENIED in Windows implementation of os.stat(). Patch by Eryk Sun.

..

.. bpo: 22493 .. date: 0120 .. nonce: Mv_hZf .. section: Library

Warning message emitted by using inline flags in the middle of regular expression now contains a (truncated) regex pattern. Patch by Tim Graham.

..

.. bpo: 25270 .. date: 0119 .. nonce: jrZruM .. section: Library

Prevent codecs.escape_encode() from raising SystemError when an empty bytestring is passed.

..

.. bpo: 28181 .. date: 0118 .. nonce: NGc4Yv .. section: Library

Get antigravity over HTTPS. Patch by Kaartic Sivaraam.

..

.. bpo: 25895 .. date: 0117 .. nonce: j92qoQ .. section: Library

Enable WebSocket URL schemes in urllib.parse.urljoin. Patch by Gergely Imreh and Markus Holtermann.

..

.. bpo: 28114 .. date: 0116 .. nonce: gmFXsA .. section: Library

Fix a crash in parse_envlist() when env contains byte strings. Patch by Eryk Sun.

..

.. bpo: 27599 .. date: 0115 .. nonce: itvm8T .. section: Library

Fixed buffer overrun in binascii.b2a_qp() and binascii.a2b_qp().

..

.. bpo: 27906 .. date: 0114 .. nonce: TBBXrv .. section: Library

Fix socket accept exhaustion during high TCP traffic. Patch by Kevin Conway.

..

.. bpo: 28174 .. date: 0113 .. nonce: CV1UdI .. section: Library

Handle when SO_REUSEPORT isn't properly supported. Patch by Seth Michael Larson.

..

.. bpo: 26654 .. date: 0112 .. nonce: XtzTE9 .. section: Library

Inspect functools.partial in asyncio.Handle.repr. Patch by iceboy.

..

.. bpo: 26909 .. date: 0111 .. nonce: ASiakT .. section: Library

Fix slow pipes IO in asyncio. Patch by INADA Naoki.

..

.. bpo: 28176 .. date: 0110 .. nonce: sU8R6L .. section: Library

Fix callbacks race in asyncio.SelectorLoop.sock_connect.

..

.. bpo: 27759 .. date: 0109 .. nonce: qpMDGq .. section: Library

Fix selectors incorrectly retain invalid file descriptors. Patch by Mark Williams.

..

.. bpo: 28325 .. date: 0108 .. nonce: wAHmnK .. section: Library

Remove vestigial MacOS 9 macurl2path module and its tests.

..

.. bpo: 28368 .. date: 0107 .. nonce: n594X4 .. section: Library

Refuse monitoring processes if the child watcher has no loop attached. Patch by Vincent Michel.

..

.. bpo: 28369 .. date: 0106 .. nonce: 8DTANe .. section: Library

Raise RuntimeError when transport's FD is used with add_reader, add_writer, etc.

..

.. bpo: 28370 .. date: 0105 .. nonce: 18jBuZ .. section: Library

Speedup asyncio.StreamReader.readexactly. Patch by Коренберг Марк.

..

.. bpo: 28371 .. date: 0104 .. nonce: U9Zqdk .. section: Library

Deprecate passing asyncio.Handles to run_in_executor.

..

.. bpo: 28372 .. date: 0103 .. nonce: njcIPk .. section: Library

Fix asyncio to support formatting of non-python coroutines.

..

.. bpo: 28399 .. date: 0102 .. nonce: QKIqRX .. section: Library

Remove UNIX socket from FS before binding. Patch by Коренберг Марк.

..

.. bpo: 27972 .. date: 0101 .. nonce: ZK-GFm .. section: Library

Prohibit Tasks to await on themselves.

..

.. bpo: 24142 .. date: 0100 .. nonce: IrZnFs .. section: Library

Reading a corrupt config file left configparser in an invalid state. Original patch by Florian Höch.

..

.. bpo: 29581 .. date: 0099 .. nonce: gHCrxP .. section: Library

ABCMeta.new now accepts **kwargs, allowing abstract base classes to use keyword parameters in init_subclass. Patch by Nate Soares.

..

.. bpo: 25532 .. date: 0098 .. nonce: ey4Yez .. section: Library

inspect.unwrap() will now only try to unwrap an object sys.getrecursionlimit() times, to protect against objects which create a new object on every attribute access.

..

.. bpo: 30177 .. date: 0097 .. nonce: JGIJNL .. section: Library

path.resolve(strict=False) no longer cuts the path after the first element not present in the filesystem. Patch by Antoine Pietri.

..

.. bpo: 31294 .. date: 2017-09-07-20-49-09 .. nonce: WgI18w .. section: Documentation

Fix incomplete code snippet in the ZeroMQSocketListener and ZeroMQSocketHandler examples and adapt them to Python 3.

..

.. bpo: 21649 .. date: 2017-09-06-10-11-57 .. nonce: EUvqA9 .. section: Documentation

Add RFC 7525 and Mozilla server side TLS links to SSL documentation.

..

.. bpo: 31128 .. date: 2017-08-31 .. nonce: uoa3cr .. section: Documentation

Allow the pydoc server to bind to arbitrary hostnames.

..

.. bpo: 30803 .. date: 2017-07-29-14-55-50 .. nonce: 6hutqQ .. section: Documentation

Clarify doc on truth value testing. Original patch by Peter Thomassen.

..

.. bpo: 30176 .. date: 0060 .. nonce: VivmCg .. section: Documentation

Add missing attribute related constants in curses documentation.

..

.. bpo: 30052 .. date: 0059 .. nonce: TpmpaF .. section: Documentation

the link targets for :func:bytes and :func:bytearray are now their respective type definitions, rather than the corresponding builtin function entries. Use :ref:bytes <func-bytes> and :ref:bytearray <func-bytearray> to reference the latter. In order to ensure this and future cross-reference updates are applied automatically, the daily documentation builds now disable the default output caching features in Sphinx.

..

.. bpo: 26985 .. date: 0058 .. nonce: NB5_9S .. section: Documentation

Add missing info of code object in inspect documentation.

..

.. bpo: 19824 .. date: 0057 .. nonce: We9an6 .. section: Documentation

Improve the documentation for, and links to, template strings by emphasizing their utility for internationalization, and by clarifying some usage constraints. (See also: bpo-20314, bpo-12518)

..

.. bpo: 28929 .. date: 0056 .. nonce: Md7kb0 .. section: Documentation

Link the documentation to its source file on GitHub.

..

.. bpo: 25008 .. date: 0055 .. nonce: CeIzyU .. section: Documentation

Document smtpd.py as effectively deprecated and add a pointer to aiosmtpd, a third-party asyncio-based replacement.

..

.. bpo: 26355 .. date: 0054 .. nonce: SDq_8Y .. section: Documentation

Add canonical header link on each page to corresponding major version of the documentation. Patch by Matthias Bussonnier.

..

.. bpo: 29349 .. date: 0053 .. nonce: PjSo-t .. section: Documentation

Fix Python 2 syntax in code for building the documentation.

..

.. bpo: 23722 .. date: 0052 .. nonce: nFjY3C .. section: Documentation

The data model reference and the porting section in the 3.6 What's New guide now cover the additional __classcell__ handling needed for custom metaclasses to fully support :pep:487 and zero-argument super().

..

.. bpo: 28513 .. date: 0051 .. nonce: L3joAz .. section: Documentation

Documented command-line interface of zipfile.

..

.. bpo: 29639 .. date: 2017-09-08-15-59-07 .. nonce: yIZecp .. section: Tests

test.support.HOST is now "localhost", a new HOSTv4 constant has been added for your 127.0.0.1 needs, similar to the existing HOSTv6 constant.

..

.. bpo: 31320 .. date: 2017-09-05-14-23-35 .. nonce: JRDHx7 .. section: Tests

Silence traceback in test_ssl

..

.. bpo: 31346 .. date: 2017-09-04-16-21-18 .. nonce: xni1VR .. section: Tests

Prefer PROTOCOL_TLS_CLIENT and PROTOCOL_TLS_SERVER protocols for SSLContext.

..

.. bpo: 25674 .. date: 2017-09-04-13-03-55 .. nonce: whVTXh .. section: Tests

Remove sha256.tbs-internet.com ssl test

..

.. bpo: 30715 .. date: 2017-07-25-15-27-44 .. nonce: Sp7bTF .. section: Tests

Address ALPN callback changes for OpenSSL 1.1.0f. The latest version behaves like OpenSSL 1.0.2 and no longer aborts handshake.

..

.. bpo: 30822 .. date: 2017-07-20-14-29-54 .. nonce: X0wREo .. section: Tests

regrtest: Exclude tzdata from regrtest --all. When running the test suite using --use=all / -u all, exclude tzdata since it makes test_datetime too slow (15-20 min on some buildbots) which then times out on some buildbots. Fix also regrtest command line parser to allow passing -u extralargefile to run test_zipfile64.

..

.. bpo: 30695 .. date: 2017-06-30-11-20-20 .. nonce: lo7FQX .. section: Tests

Add the set_nomemory(start, stop) and remove_mem_hooks() functions to the _testcapi module.

..

.. bpo: 30357 .. date: 0012 .. nonce: n4CPEa .. section: Tests

test_thread: setUp() now uses support.threading_setup() and support.threading_cleanup() to wait until threads complete to avoid random side effects on following tests. Initial patch written by Grzegorz Grzywacz.

..

.. bpo: 30197 .. date: 0011 .. nonce: c5wRfu .. section: Tests

Enhanced functions swap_attr() and swap_item() in the test.support module. They now work when delete replaced attribute or item inside the with statement. The old value of the attribute or item (or None if it doesn't exist) now will be assigned to the target of the "as" clause, if there is one.

..

.. bpo: 24932 .. date: 0010 .. nonce: XLTzvR .. section: Tests

Use proper command line parsing in _testembed

..

.. bpo: 28950 .. date: 0009 .. nonce: 1W8Glo .. section: Tests

Disallow -j0 to be combined with -T/-l in regrtest command line arguments.

..

.. bpo: 28683 .. date: 0008 .. nonce: Fp-Hdq .. section: Tests

Fix the tests that bind() a unix socket and raise PermissionError on Android for a non-root user.

..

.. bpo: 26936 .. date: 0007 .. nonce: XSZSVS .. section: Tests

Fix the test_socket failures on Android - getservbyname(), getservbyport() and getaddrinfo() are broken on some Android API levels.

..

.. bpo: 28666 .. date: 0006 .. nonce: RtTk-4 .. section: Tests

Now test.support.rmtree is able to remove unwritable or unreadable directories.

..

.. bpo: 23839 .. date: 0005 .. nonce: zsT_L9 .. section: Tests

Various caches now are cleared before running every test file.

..

.. bpo: 26944 .. date: 0004 .. nonce: ChZ_BO .. section: Tests

Fix test_posix for Android where 'id -G' is entirely wrong or missing the effective gid.

..

.. bpo: 28409 .. date: 0003 .. nonce: Q2IlxJ .. section: Tests

regrtest: fix the parser of command line arguments.

..

.. bpo: 28217 .. date: 0002 .. nonce: Y37OKV .. section: Tests

Adds _testconsole module to test console input.

..

.. bpo: 26939 .. date: 0001 .. nonce: 7j_W5R .. section: Tests

Add the support.setswitchinterval() function to fix test_functools hanging on the Android armv7 qemu emulator.

..

.. bpo: 31354 .. date: 2017-09-08-11-48-11 .. nonce: 4f-VJK .. section: Build

Allow --with-lto to be used on all builds, not just make profile-opt.

..

.. bpo: 31370 .. date: 2017-09-06-23-14-08 .. nonce: -j4kN4 .. section: Build

Remove support for building --without-threads. This option is not really useful anymore in the 21st century. Removing lots of conditional paths allows us to simplify the code base, including in difficult to maintain low-level internal code.

..

.. bpo: 31341 .. date: 2017-09-04-14-43-46 .. nonce: XLuZFk .. section: Build

Per :pep:11, support for the IRIX operating system was removed.

..

.. bpo: 30854 .. date: 2017-07-05-16-54-59 .. nonce: sPADRI .. section: Build

Fix compile error when compiling --without-threads. Patch by Masayuki Yamamoto.

..

.. bpo: 30687 .. date: 0050 .. nonce: 8mqHnu .. section: Build

Locate msbuild.exe on Windows when building rather than vcvarsall.bat

..

.. bpo: 20210 .. date: 0049 .. nonce: MN_n-r .. section: Build

Support the disabled marker in Setup files. Extension modules listed after this marker are not built at all, neither by the Makefile nor by setup.py.

..

.. bpo: 29941 .. date: 0048 .. nonce: ylh45A .. section: Build

Add --with-assertions configure flag to explicitly enable C assert() checks. Defaults to off. --with-pydebug implies --with-assertions.

..

.. bpo: 28787 .. date: 0047 .. nonce: vhH_6a .. section: Build

Fix out-of-tree builds of Python when configured with --with--dtrace.

..

.. bpo: 29243 .. date: 0046 .. nonce: WDK4hT .. section: Build

Prevent unnecessary rebuilding of Python during make test, make install and some other make targets when configured with --enable-optimizations.

..

.. bpo: 23404 .. date: 0045 .. nonce: PdYVWg .. section: Build

Don't regenerate generated files based on file modification time anymore: the action is now explicit. Replace make touch with make regen-all.

..

.. bpo: 29643 .. date: 0044 .. nonce: 4WLIJQ .. section: Build

Fix --enable-optimization didn't work.

..

.. bpo: 27593 .. date: 0043 .. nonce: v87xEr .. section: Build

sys.version and the platform module python_build(), python_branch(), and python_revision() functions now use git information rather than hg when building from a repo.

..

.. bpo: 29572 .. date: 0042 .. nonce: iZ1XKK .. section: Build

Update Windows build and OS X installers to use OpenSSL 1.0.2k.

..

.. bpo: 27659 .. date: 0041 .. nonce: i8UzRC .. section: Build

Prohibit implicit C function declarations: use -Werror=implicit-function-declaration when possible (GCC and Clang, but it depends on the compiler version). Patch written by Chi Hsuan Yen.

..

.. bpo: 29384 .. date: 0040 .. nonce: v3IqBE .. section: Build

Remove old Be OS helper scripts.

..

.. bpo: 26851 .. date: 0039 .. nonce: R5243g .. section: Build

Set Android compilation and link flags.

..

.. bpo: 28768 .. date: 0038 .. nonce: b9_a6E .. section: Build

Fix implicit declaration of function _setmode. Patch by Masayuki Yamamoto

..

.. bpo: 29080 .. date: 0037 .. nonce: b3qLQT .. section: Build

Removes hard dependency on hg.exe from PCBuild/build.bat

..

.. bpo: 23903 .. date: 0036 .. nonce: JXJ889 .. section: Build

Added missed names to PC/python3.def.

..

.. bpo: 28762 .. date: 0035 .. nonce: Ru0YN_ .. section: Build

lockf() is available on Android API level 24, but the F_LOCK macro is not defined in android-ndk-r13.

..

.. bpo: 28538 .. date: 0034 .. nonce: FqtN7v .. section: Build

Fix the compilation error that occurs because if_nameindex() is available on Android API level 24, but the if_nameindex structure is not defined.

..

.. bpo: 20211 .. date: 0033 .. nonce: gpNptI .. section: Build

Do not add the directory for installing C header files and the directory for installing object code libraries to the cross compilation search paths. Original patch by Thomas Petazzoni.

..

.. bpo: 28849 .. date: 0032 .. nonce: AzRRF5 .. section: Build

Do not define sys.implementation._multiarch on Android.

..

.. bpo: 10656 .. date: 0031 .. nonce: pR8FFU .. section: Build

Fix out-of-tree building on AIX. Patch by Tristan Carel and Michael Haubenwallner.

..

.. bpo: 26359 .. date: 0030 .. nonce: CLz6qy .. section: Build

Rename --with-optimiations to --enable-optimizations.

..

.. bpo: 28444 .. date: 0029 .. nonce: zkc9nT .. section: Build

Fix missing extensions modules when cross compiling.

..

.. bpo: 28208 .. date: 0028 .. nonce: DtoP1i .. section: Build

Update Windows build and OS X installers to use SQLite 3.14.2.

..

.. bpo: 28248 .. date: 0027 .. nonce: KY_-en .. section: Build

Update Windows build and OS X installers to use OpenSSL 1.0.2j.

..

.. bpo: 21124 .. date: 0026 .. nonce: 1bbArU .. section: Build

Fix building the _struct module on Cygwin by passing NULL instead of &PyType_Type to PyVarObject_HEAD_INIT. Patch by Masayuki Yamamoto.

..

.. bpo: 13756 .. date: 0025 .. nonce: sslhpC .. section: Build

Fix building extensions modules on Cygwin. Patch by Roumen Petrov, based on original patch by Jason Tishler.

..

.. bpo: 21085 .. date: 0024 .. nonce: 2VvyUF .. section: Build

Add configure check for siginfo_t.si_band, which Cygwin does not provide. Patch by Masayuki Yamamoto with review and rebase by Erik Bray.

..

.. bpo: 28258 .. date: 0023 .. nonce: iKtAHd .. section: Build

Fixed build with Estonian locale (python-config and distclean targets in Makefile). Patch by Arfrever Frehtes Taifersar Arahesis.

..

.. bpo: 26661 .. date: 0022 .. nonce: Z_HNbs .. section: Build

setup.py now detects system libffi with multiarch wrapper.

..

.. bpo: 27979 .. date: 0021 .. nonce: fR0KgM .. section: Build

A full copy of libffi is no longer bundled for use when building _ctypes on non-OSX UNIX platforms. An installed copy of libffi is now required when building _ctypes on such platforms.

..

.. bpo: 15819 .. date: 0020 .. nonce: QVDr3E .. section: Build

Remove redundant include search directory option for building outside the source tree.

..

.. bpo: 28676 .. date: 0019 .. nonce: Wxf6Ds .. section: Build

Prevent missing 'getentropy' declaration warning on macOS. Patch by Gareth Rees.

..

.. bpo: 31392 .. date: 2017-09-07-20-09-04 .. nonce: h92bWF .. section: Windows

Update Windows build to use OpenSSL 1.1.0f

..

.. bpo: 30389 .. date: 2017-09-06-17-14-54 .. nonce: 9Dizrx .. section: Windows

Adds detection of Visual Studio 2017 to distutils on Windows.

..

.. bpo: 31358 .. date: 2017-09-05-19-46-52 .. nonce: n1Fjxc .. section: Windows

zlib is no longer bundled in the CPython source, instead it is downloaded on demand just like bz2, lzma, OpenSSL, Tcl/Tk, and SQLite.

..

.. bpo: 31340 .. date: 2017-09-04-13-19-05 .. nonce: MbkzLi .. section: Windows

Change to building with MSVC v141 (included with Visual Studio 2017)

..

.. bpo: 30581 .. date: 2017-08-04-10-05-19 .. nonce: OQhR7l .. section: Windows

os.cpu_count() now returns the correct number of processors on Windows when the number of logical processors is greater than 64.

..

.. bpo: 30916 .. date: 2017-07-15-00-40-12 .. nonce: BpCrro .. section: Windows

Pre-build OpenSSL, Tcl and Tk and include the binaries in the build.

..

.. bpo: 30731 .. date: 2017-07-13-11-22-53 .. nonce: nmMDwI .. section: Windows

Add a missing xmlns to python.manifest so that it matches the schema.

..

.. bpo: 30291 .. date: 2017-06-28-03-20-48 .. nonce: zBpOl6 .. section: Windows

Allow requiring 64-bit interpreters from py.exe using -64 suffix. Contributed by Steve (Gadget) Barnes.

..

.. bpo: 30362 .. date: 2017-06-28-03-08-22 .. nonce: XxeVMB .. section: Windows

Adds list options (-0, -0p) to py.exe launcher. Contributed by Steve Barnes.

..

.. bpo: 23451 .. date: 2017-06-27-07-04-06 .. nonce: bl_QOB .. section: Windows

Fix socket deprecation warnings in socketmodule.c. Patch by Segev Finer.

..

.. bpo: 30450 .. date: 0088 .. nonce: qsaK8y .. section: Windows

The build process on Windows no longer depends on Subversion, instead pulling external code from GitHub via a Python script. If Python 3.6 is not found on the system (via py -3.6), NuGet is used to download a copy of 32-bit Python.

..

.. bpo: 29579 .. date: 0087 .. nonce: 07B-FQ .. section: Windows

Removes readme.txt from the installer.

..

.. bpo: 25778 .. date: 0086 .. nonce: 8uKJ82 .. section: Windows

winreg does not truncate string correctly (Patch by Eryk Sun)

..

.. bpo: 28896 .. date: 0085 .. nonce: qOcBBL .. section: Windows

Deprecate WindowsRegistryFinder and disable it by default

..

.. bpo: 28522 .. date: 0084 .. nonce: XHMQa7 .. section: Windows

Fixes mishandled buffer reallocation in getpathp.c

..

.. bpo: 28402 .. date: 0083 .. nonce: v9zETJ .. section: Windows

Adds signed catalog files for stdlib on Windows.

..

.. bpo: 28333 .. date: 0082 .. nonce: KnpeO4 .. section: Windows

Enables Unicode for ps1/ps2 and input() prompts. (Patch by Eryk Sun)

..

.. bpo: 28251 .. date: 0081 .. nonce: tR_AFs .. section: Windows

Improvements to help manuals on Windows.

..

.. bpo: 28110 .. date: 0080 .. nonce: cnkP5F .. section: Windows

launcher.msi has different product codes between 32-bit and 64-bit

..

.. bpo: 28161 .. date: 0079 .. nonce: hF91LI .. section: Windows

Opening CON for write access fails

..

.. bpo: 28162 .. date: 0078 .. nonce: 3FHPVD .. section: Windows

WindowsConsoleIO readall() fails if first line starts with Ctrl+Z

..

.. bpo: 28163 .. date: 0077 .. nonce: -DUgJw .. section: Windows

WindowsConsoleIO fileno() passes wrong flags to _open_osfhandle

..

.. bpo: 28164 .. date: 0076 .. nonce: 5MfN0J .. section: Windows

_PyIO_get_console_type fails for various paths

..

.. bpo: 28137 .. date: 0075 .. nonce: C1uvzY .. section: Windows

Renames Windows path file to ._pth

..

.. bpo: 28138 .. date: 0074 .. nonce: pNdv64 .. section: Windows

Windows ._pth file should allow import site

..

.. bpo: 31493 .. date: 2017-09-16-23-43-39 .. nonce: nmHMCR .. section: IDLE

IDLE code context -- fix code update and font update timers. Canceling timers prevents a warning message when test_idle completes.

..

.. bpo: 31488 .. date: 2017-09-16-01-21-20 .. nonce: 0rtXIT .. section: IDLE

IDLE - Update non-key options in former extension classes. When applying configdialog changes, call .reload for each feature class. Change ParenMatch so updated options affect existing instances attached to existing editor windows.

..

.. bpo: 31477 .. date: 2017-09-15-12-38-47 .. nonce: n__6sa .. section: IDLE

IDLE - Improve rstrip entry in doc. Strip trailing whitespace strips more than blank spaces. Multiline string literals are not skipped.

..

.. bpo: 31480 .. date: 2017-09-14-17-53-53 .. nonce: 4WJ0pl .. section: IDLE

IDLE - make tests pass with zzdummy extension disabled by default.

..

.. bpo: 31421 .. date: 2017-09-12-08-38-27 .. nonce: mYfQNq .. section: IDLE

Document how IDLE runs tkinter programs. IDLE calls tcl/tk update in the background in order to make live interaction and experimentation with tkinter applications much easier.

..

.. bpo: 31414 .. date: 2017-09-11-15-46-05 .. nonce: wiepgK .. section: IDLE

IDLE -- fix tk entry box tests by deleting first. Adding to an int entry is not the same as deleting and inserting because int('') will fail.

..

.. bpo: 31051 .. date: 2017-08-30-00-06-58 .. nonce: 50Jp_Q .. section: IDLE

Rearrange IDLE configdialog GenPage into Window, Editor, and Help sections.

..

.. bpo: 30617 .. date: 2017-08-27-16-49-36 .. nonce: UHnswr .. section: IDLE

IDLE - Add docstrings and tests for outwin subclass of editor. Move some data and functions from the class to module level. Patch by Cheryl Sabella.

..

.. bpo: 31287 .. date: 2017-08-27-15-31-33 .. nonce: aZERfI .. section: IDLE

IDLE - Do not modify tkinter.message in test_configdialog.

..

.. bpo: 27099 .. date: 2017-08-24-13-48-16 .. nonce: rENefC .. section: IDLE

Convert IDLE's built-in 'extensions' to regular features. About 10 IDLE features were implemented as supposedly optional extensions. Their different behavior could be confusing or worse for users and not good for maintenance. Hence the conversion. The main difference for users is that user configurable key bindings for builtin features are now handled uniformly. Now, editing a binding in a keyset only affects its value in the keyset. All bindings are defined together in the system-specific default keysets in config-extensions.def. All custom keysets are saved as a whole in config-extension.cfg. All take effect as soon as one clicks Apply or Ok. The affected events are '<<force-open-completions>>', '<<expand-word>>', '<<force-open-calltip>>', '<<flash-paren>>', '<<format-paragraph>>', '<<run-module>>', '<<check-module>>', and '<<zoom-height>>'. Any (global) customizations made before 3.6.3 will not affect their keyset-specific customization after 3.6.3. and vice versa. Initial patch by Charles Wohlganger.

..

.. bpo: 31206 .. date: 2017-08-18-14-13-42 .. nonce: F1-tKK .. section: IDLE

IDLE: Factor HighPage(Frame) class from ConfigDialog. Patch by Cheryl Sabella.

..

.. bpo: 31001 .. date: 2017-08-17-15-00-20 .. nonce: KLxYHC .. section: IDLE

Add tests for configdialog highlight tab. Patch by Cheryl Sabella.

..

.. bpo: 31205 .. date: 2017-08-15-12-58-23 .. nonce: iuziZ5 .. section: IDLE

IDLE: Factor KeysPage(Frame) class from ConfigDialog. The slightly modified tests continue to pass. Patch by Cheryl Sabella.

..

.. bpo: 31130 .. date: 2017-08-07-14-02-56 .. nonce: FbsC7f .. section: IDLE

IDLE -- stop leaks in test_configdialog. Initial patch by Victor Stinner.

..

.. bpo: 31002 .. date: 2017-08-03-17-54-02 .. nonce: kUSgTE .. section: IDLE

Add tests for configdialog keys tab. Patch by Cheryl Sabella.

..

.. bpo: 19903 .. date: 2017-08-03-14-08-42 .. nonce: sqE1FS .. section: IDLE

IDLE: Calltips use inspect.signature instead of inspect.getfullargspec. This improves calltips for builtins converted to use Argument Clinic. Patch by Louie Lu.

..

.. bpo: 31083 .. date: 2017-07-31-23-20-51 .. nonce: 991FXm .. section: IDLE

IDLE - Add an outline of a TabPage class in configdialog. Update existing classes to match outline. Initial patch by Cheryl Sabella.

..

.. bpo: 31050 .. date: 2017-07-30-17-39-59 .. nonce: AXR3kP .. section: IDLE

Factor GenPage(Frame) class from ConfigDialog. The slightly modified tests continue to pass. Patch by Cheryl Sabella.

..

.. bpo: 31004 .. date: 2017-07-30-01-00-58 .. nonce: m8cc1t .. section: IDLE

IDLE - Factor FontPage(Frame) class from ConfigDialog. Slightly modified tests continue to pass. Fix General tests. Patch mostly by Cheryl Sabella.

..

.. bpo: 30781 .. date: 2017-07-28-18-59-06 .. nonce: ud5m18 .. section: IDLE

IDLE - Use ttk widgets in ConfigDialog. Patches by Terry Jan Reedy and Cheryl Sabella.

..

.. bpo: 31060 .. date: 2017-07-27-14-48-42 .. nonce: GdY_VY .. section: IDLE

IDLE - Finish rearranging methods of ConfigDialog Grouping methods pertaining to each tab and the buttons will aid writing tests and improving the tabs and will enable splitting the groups into classes.

..

.. bpo: 30853 .. date: 2017-07-27-10-01-14 .. nonce: enPvvc .. section: IDLE

IDLE -- Factor a VarTrace class out of ConfigDialog. Instance tracers manages pairs consisting of a tk variable and a callback function. When tracing is turned on, setting the variable calls the function. Test coverage for the new class is 100%.

..

.. bpo: 31003 .. date: 2017-07-25-01-28-35 .. nonce: bYINVH .. section: IDLE

IDLE: Add more tests for General tab.

..

.. bpo: 30993 .. date: 2017-07-22-18-08-41 .. nonce: 34vJkB .. section: IDLE

IDLE - Improve configdialog font page and tests. In configdialog: Document causal pathways in create_font_tab docstring. Simplify some attribute names. Move set_samples calls to var_changed_font (idea from Cheryl Sabella). Move related functions to positions after the create widgets function. In test_configdialog: Fix test_font_set so not order dependent. Fix renamed test_indent_scale so it tests the widget. Adjust tests for movement of set_samples call. Add tests for load functions. Put all font tests in one class and tab indent tests in another. Except for two lines, these tests completely cover the related functions.

..

.. bpo: 30981 .. date: 2017-07-21-01-55-14 .. nonce: ZFvQPt .. section: IDLE

IDLE -- Add more configdialog font page tests.

..

.. bpo: 28523 .. date: 2017-07-21-00-54-52 .. nonce: OPcqYJ .. section: IDLE

IDLE: replace 'colour' with 'color' in configdialog.

..

.. bpo: 30917 .. date: 2017-07-17-23-35-57 .. nonce: hSiuuO .. section: IDLE

Add tests for idlelib.config.IdleConf. Increase coverage from 46% to 96%. Patch by Louie Lu.

..

.. bpo: 30934 .. date: 2017-07-15-22-26-57 .. nonce: BanuSB .. section: IDLE

Document coverage details for idlelib tests. Add section to idlelib/idle-test/README.txt. Include check that branches are taken both ways. Exclude IDLE-specific code that does not run during unit tests.

..

.. bpo: 30913 .. date: 2017-07-13-23-07-33 .. nonce: aezn_e .. section: IDLE

IDLE: Document ConfigDialog tk Vars, methods, and widgets in docstrings This will facilitate improving the dialog and splitting up the class. Original patch by Cheryl Sabella.

..

.. bpo: 30899 .. date: 2017-07-11-02-26-17 .. nonce: SQmVO8 .. section: IDLE

IDLE: Add tests for ConfigParser subclasses in config. Patch by Louie Lu.

..

.. bpo: 30881 .. date: 2017-07-11-02-21-42 .. nonce: 4KAq_9 .. section: IDLE

IDLE: Add docstrings to browser.py. Patch by Cheryl Sabella.

..

.. bpo: 30851 .. date: 2017-07-09-23-53-00 .. nonce: AHXBYa .. section: IDLE

IDLE: Remove unused variables in configdialog. One is a duplicate, one is set but cannot be altered by users. Patch by Cheryl Sabella.

..

.. bpo: 30870 .. date: 2017-07-08-17-57-04 .. nonce: IcR2pf .. section: IDLE

IDLE: In Settings dialog, select font with Up, Down keys as well as mouse. Initial patch by Louie Lu.

..

.. bpo: 8231 .. date: 2017-07-07-21-10-55 .. nonce: yEge3L .. section: IDLE

IDLE: call config.IdleConf.GetUserCfgDir only once.

..

.. bpo: 30779 .. date: 2017-07-07-20-26-37 .. nonce: 8KXEXN .. section: IDLE

IDLE: Factor ConfigChanges class from configdialog, put in config; test. * In config, put dump test code in a function; run it and unittest in 'if name == 'main'. * Add class config.ConfigChanges based on changes_class_v4.py on bpo issue. * Add class test_config.ChangesTest, partly using configdialog_tests_v1.py. * Revise configdialog to use ConfigChanges; see tracker msg297804. * Revise test_configdialog to match configdialog changes. * Remove configdialog functions unused or moved to ConfigChanges. Cheryl Sabella contributed parts of the patch.

..

.. bpo: 30777 .. date: 2017-07-04-22-45-46 .. nonce: uxzlMB .. section: IDLE

IDLE: configdialog - Add docstrings and fix comments. Patch by Cheryl Sabella.

..

.. bpo: 30495 .. date: 2017-06-29-18-23-06 .. nonce: qIWgc4 .. section: IDLE

IDLE: Improve textview with docstrings, PEP8 names, and more tests. Patch by Cheryl Sabella.

..

.. bpo: 30723 .. date: 2017-06-27-19-05-40 .. nonce: rQh06y .. section: IDLE

IDLE: Make several improvements to parenmatch. Add 'parens' style to highlight both opener and closer. Make 'default' style, which is not default, a synonym for 'opener'. Make time-delay work the same with all styles. Add help for config dialog extensions tab, including help for parenmatch. Add new tests. Original patch by Charles Wohlganger.

..

.. bpo: 30674 .. date: 2017-06-27-01-40-34 .. nonce: ppK_q8 .. section: IDLE

IDLE: add docstrings to grep module. Patch by Cheryl Sabella

..

.. bpo: 21519 .. date: 2017-06-27-00-29-56 .. nonce: fTj9T0 .. section: IDLE

IDLE's basic custom key entry dialog now detects duplicates properly. Original patch by Saimadhav Heblikar.

..

.. bpo: 29910 .. date: 2017-06-26-22-45-27 .. nonce: mqHh7u .. section: IDLE

IDLE no longer deletes a character after commenting out a region by a key shortcut. Add return 'break' for this and other potential conflicts between IDLE and default key bindings.

..

.. bpo: 30728 .. date: 2017-06-26-15-47-13 .. nonce: qH4TGL .. section: IDLE

Review and change idlelib.configdialog names. Lowercase method and attribute names. Replace 'colour' with 'color', expand overly cryptic names, delete unneeded underscores. Replace import * with specific imports. Patches by Cheryl Sabella.

..

.. bpo: 6739 .. date: 2017-06-26-00-28-59 .. nonce: x5MfhB .. section: IDLE

IDLE: Verify user-entered key sequences by trying to bind them with tk. Add tests for all 3 validation functions. Original patch by G Polo. Tests added by Cheryl Sabella.

..

.. bpo: 15786 .. date: 0096 .. nonce: _XRbaR .. section: IDLE

Fix several problems with IDLE's autocompletion box. The following should now work: clicking on selection box items; using the scrollbar; selecting an item by hitting Return. Hangs on MacOSX should no longer happen. Patch by Louie Lu.

..

.. bpo: 25514 .. date: 0095 .. nonce: 882pXa .. section: IDLE

Add doc subsubsection about IDLE failure to start. Popup no-connection message directs users to this section.

..

.. bpo: 30642 .. date: 0094 .. nonce: 3Zujzt .. section: IDLE

Fix reference leaks in IDLE tests. Patches by Louie Lu and Terry Jan Reedy.

..

.. bpo: 30495 .. date: 0093 .. nonce: I3i5vL .. section: IDLE

Add docstrings for textview.py and use PEP8 names. Patches by Cheryl Sabella and Terry Jan Reedy.

..

.. bpo: 30290 .. date: 0092 .. nonce: fZ3kod .. section: IDLE

Help-about: use pep8 names and add tests. Increase coverage to 100%. Patches by Louie Lu, Cheryl Sabella, and Terry Jan Reedy.

..

.. bpo: 30303 .. date: 0091 .. nonce: 2L2F-4 .. section: IDLE

Add _utest option to textview; add new tests. Increase coverage to 100%. Patches by Louie Lu and Terry Jan Reedy.

..

.. bpo: 29071 .. date: 0090 .. nonce: FCOpJn .. section: IDLE

IDLE colors f-string prefixes (but not invalid ur prefixes).

..

.. bpo: 28572 .. date: 0089 .. nonce: 1_duKY .. section: IDLE

Add 10% to coverage of IDLE's test_configdialog. Update and augment description of the configuration system.

..

.. bpo: 30983 .. date: 2017-08-18-17-19-23 .. nonce: ggGz9z .. section: Tools/Demos

gdb integration commands (py-bt, etc.) work on optimized shared builds now, too. :pep:523 introduced _PyEval_EvalFrameDefault which inlines PyEval_EvalFrameEx on non-debug shared builds. This broke the ability to use py-bt, py-up, and a few other Python-specific gdb integrations. The problem is fixed by only looking for _PyEval_EvalFrameDefault frames in python-gdb.py. Original patch by Bruno "Polaco" Penteado.

..

.. bpo: 29748 .. date: 0018 .. nonce: 6pV6s9 .. section: Tools/Demos

Added the slice index converter in Argument Clinic.

..

.. bpo: 24037 .. date: 0017 .. nonce: KPFC7o .. section: Tools/Demos

Argument Clinic now uses the converter bool(accept={int}) rather than int for semantical booleans. This avoids repeating the default value for Python and C and will help in converting to bool in future.

..

.. bpo: 29367 .. date: 0016 .. nonce: 4dOKL0 .. section: Tools/Demos

python-gdb.py now supports also method-wrapper (wrapperobject) objects.

..

.. bpo: 28023 .. date: 0015 .. nonce: 4gzSGp .. section: Tools/Demos

Fix python-gdb.py didn't support new dict implementation.

..

.. bpo: 15369 .. date: 0014 .. nonce: bdZ3n- .. section: Tools/Demos

The pybench and pystone microbenchmark have been removed from Tools. Please use the new Python benchmark suite https://github.com/python/pyperformance which is more reliable and includes a portable version of pybench working on Python 2 and Python 3.

..

.. bpo: 28102 .. date: 0013 .. nonce: 5fKaek .. section: Tools/Demos

The zipfile module CLI now prints usage to stderr. Patch by Stephen J. Turnbull.

..

.. bpo: 31338 .. date: 2017-09-05-17-51-12 .. nonce: LjA43Y .. section: C API

Added the Py_UNREACHABLE() macro for code paths which are never expected to be reached. This and a few other useful macros are now documented in the C API manual.

..

.. bpo: 30832 .. date: 2017-07-03-17-25-40 .. nonce: PcTAEP .. section: C API

Remove own implementation for thread-local storage. CPython has provided the own implementation for thread-local storage (TLS) on Python/thread.c, it's used in the case which a platform has not supplied native TLS. However, currently all supported platforms (Windows and pthreads) have provided native TLS and defined the Py_HAVE_NATIVE_TLS macro with unconditional in any case.

..

.. bpo: 30708 .. date: 0073 .. nonce: np-l1j .. section: C API

PyUnicode_AsWideCharString() now raises a ValueError if the second argument is NULL and the wchar_t* string contains null characters.

..

.. bpo: 16500 .. date: 0072 .. nonce: lRpooa .. section: C API

Deprecate PyOS_AfterFork() and add PyOS_BeforeFork(), PyOS_AfterFork_Parent() and PyOS_AfterFork_Child().

..

.. bpo: 6532 .. date: 0071 .. nonce: qcH6k1 .. section: C API

The type of results of PyThread_start_new_thread() and PyThread_get_thread_ident(), and the id parameter of PyThreadState_SetAsyncExc() changed from "long" to "unsigned long".

..

.. bpo: 27867 .. date: 0070 .. nonce: J-8CGo .. section: C API

Function PySlice_GetIndicesEx() is deprecated and replaced with a macro if Py_LIMITED_API is not set or set to the value between 0x03050400 and 0x03060000 (not including) or 0x03060100 or higher. Added functions PySlice_Unpack() and PySlice_AdjustIndices().

..

.. bpo: 29083 .. date: 0069 .. nonce: tGTjr_ .. section: C API

Fixed the declaration of some public API functions. PyArg_VaParse() and PyArg_VaParseTupleAndKeywords() were not available in limited API. PyArg_ValidateKeywordArguments(), PyArg_UnpackTuple() and Py_BuildValue() were not available in limited API of version < 3.3 when PY_SSIZE_T_CLEAN is defined.

..

.. bpo: 28769 .. date: 0068 .. nonce: Ecmtn8 .. section: C API

The result of PyUnicode_AsUTF8AndSize() and PyUnicode_AsUTF8() is now of type const char * rather of char *.

..

.. bpo: 29058 .. date: 0067 .. nonce: 0wNVP8 .. section: C API

All stable API extensions added after Python 3.2 are now available only when Py_LIMITED_API is set to the PY_VERSION_HEX value of the minimum Python version supporting this API.

..

.. bpo: 28822 .. date: 0066 .. nonce: gMqwvb .. section: C API

The index parameters start and end of PyUnicode_FindChar() are now adjusted to behave like str[start:end].

..

.. bpo: 28808 .. date: 0065 .. nonce: A03X6r .. section: C API

PyUnicode_CompareWithASCIIString() now never raises exceptions.

..

.. bpo: 28761 .. date: 0064 .. nonce: iOgCoX .. section: C API

The fields name and doc of structures PyMemberDef, PyGetSetDef, PyStructSequence_Field, PyStructSequence_Desc, and wrapperbase are now of type const char * rather of char *.

..

.. bpo: 28748 .. date: 0063 .. nonce: AMgb_G .. section: C API

Private variable _Py_PackageContext is now of type const char * rather of char *.

..

.. bpo: 19569 .. date: 0062 .. nonce: IPke0J .. section: C API

Compiler warnings are now emitted if use most of deprecated functions.

..

.. bpo: 28426 .. date: 0061 .. nonce: zPwvbI .. section: C API

Deprecated undocumented functions PyUnicode_AsEncodedObject(), PyUnicode_AsDecodedObject(), PyUnicode_AsDecodedUnicode() and PyUnicode_AsEncodedUnicode().