cpython/Misc/NEWS.d/3.7.0a1.rst

6457 lines
122 KiB
ReStructuredText

.. 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
authentification (``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 libray
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 Dong-hee 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 splitted 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 Dong-hee 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 Dong-hee 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
Addded 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 Dong-hee 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 correspondintly). 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 :data:`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
urrlib.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 differen 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 :data:`socket.TCP_CONGESTION` (Linux 2.6.13) and
:data:`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 falsy 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 experimentatin 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 condigdialog 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/performance
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().