bpo-35845: Add ‘list’ parameter to memoryview.tobytes().
bpo-35864: The _asdict() technique for collections.namedtuple now returns a
traditional dict in mutter of an OrderedDict.
bpo-35537: An ExitStack is now archaic internally internal subprocess.Popen to
natty up pipe file handles. No habits exchange in frequent operation. But if
closing one handle had been ever to scrape off an exception, the others will now be
closed in mutter of leaked. (patch by Giampaolo Rodola)
bpo-35847: RISC-V wanted the CTYPES_PASS_BY_REF_HACK. Fixes ctypes
Building test_pass_by_value.
bpo-35813: Shared memory submodule added to multiprocessing to lead certain of need
for serialization between processes
bpo-35780: Fix lru_cache() errors developing in recursive, reentrant, or
multi-threaded code. These errors would possibly pause in orphan links and in the
cache being trapped in a mutter with fewer than the specified maximum
sequence of links. Fix dealing with of unfavorable maxsize which must had been
handled as zero. Fix errors in toggling the “tubby” field flag. Fix
misordering of links when errors are encountered. Sync-up the C code and
pure Python code for the space saving route in functions with a single
positional argument. On this frequent case, the space overhead of an lru
cache entry is diminished by almost half of. Fix counting of cache misses. In
error circumstances, the omit count used to be out of sync with the staunch sequence of
cases the underlying client feature used to be known as.
bpo-35537: os.posix_spawn()
and os.posix_spawnp()
now maintain a
setsid parameter.
bpo-23846: asyncio.ProactorEventLoop
now catches and logs send
errors when the self-pipe is tubby.
bpo-34323: asyncio
: Give a boost to IocpProactor.terminate()
log: wait 1
second sooner than the principle log, then log each second. Log also the sequence of
seconds since terminate()
used to be known as.
bpo-35674: Add a unique os.posix_spawnp()
feature. Patch by Joannah
Nanjekye.
bpo-35733: ast.Fixed(boolean)
no longer an instance of
ast.Num
. Patch by Anthony Sottile.
bpo-35726: QueueHandler.prepare() now makes a reproduction of the narrative sooner than
modifying and enqueueing it, to lead certain of affecting assorted handlers in the
chain.
bpo-35719: Sped up multi-argument math
functions atan2(),
copysign(), remainder() and hypot() by 1.3–2.5 cases.
bpo-35717: Fix KeyError exception raised when the utilization of enums and produce collectively.
Patch contributed by Rémi Lapeyre.
bpo-35699: Mounted detection of Visual Studio Construct Instruments 2017 in distutils
bpo-32710: Fix memory leaks in asyncio ProactorEventLoop on overlapped
operation failure.
bpo-35702: The time.CLOCK_UPTIME_RAW
fixed is now available for
macOS 10.12.
bpo-32710: Fix a memory leak in asyncio in the ProactorEventLoop when
ReadFile()
or WSASend()
overlapped operation fail accurate now:
originate the internal buffer.
bpo-35682: Fix asyncio.ProactorEventLoop.sendfile()
: don’t try to
scrape the pause consequence of an interior future if it’s already finished.
bpo-35283: Add a deprecated warning for the
threading.Thread.isAlive()
technique. Patch by Dong-hee Na.
bpo-35664: Beef up operator.itemgetter() performance by 33% with optimized
argument dealing with and with adding a swiftly route for the frequent case of a
single non-unfavorable integer index accurate into a tuple (which is the conventional use
case in the frequent library).
bpo-35643: Mounted a SyntaxWarning: invalid lunge sequence in
Modules/_sha3/cleanup.py. Patch by Mickaël Schoentgen.
bpo-35619: Improved enhance of custom records descriptors in relieve()
and
pydoc
.
bpo-28503: The crypt
module now internally makes use of the crypt_r()
library
feature in mutter of crypt()
when available.
bpo-35614: Mounted relieve() on metaclasses. Patch by Sanyam Khurana.
bpo-35568: Insist raise(signum)
as raise_signal
bpo-35588: The floor division and modulo operations and the divmod()
feature on fractions.Fraction
forms are 2–4x quicker. Patch by
Stefan Behnel.
bpo-35585: Tempo-up building enums by save, e.g. http.HTTPStatus(200).
bpo-30561: random.gammavariate(1.0, beta) now computes the equivalent consequence as
random.expovariate(1.0 / beta). This synchronizes the 2 algorithms and
eliminates some idiosyncrasies in the primitive implementation. It does on the opposite hand
beget a distinction flow of random variables than it archaic to.
bpo-35537: The subprocess
module can now use the
os.posix_spawn()
feature in some circumstances for better performance.
bpo-35526: Delaying the ‘shaggy dog narrative’ of barry_as_FLUFL.mandatory to Python
model 4.0
bpo-35523: Make a choice ctypes
callback workaround: no longer make a
callback at startup. Protect a long way from SELinux alert on import ctypes
and import
.
uuid
bpo-31784: uuid.uuid1()
now calls time.time_ns()
in mutter of
int(time.time() * 1e9)
.
bpo-35513: TextTestRunner
of
unittest.runner
now makes use of time.perf_counter()
in mutter of
time.time()
to measure the execution time of a test:
time.time()
can journey backwards, whereas time.perf_counter()
is
monotonic.
bpo-35502: Mounted reference leaks in
xml.etree.ElementTree.TreeBuilder
in case of unfinished building
of the tree (in explicit when an error used to be raised at some point of parsing XML).
bpo-35348: Discover platform.structure()
parsing of file
present
output more first price: add the -b
possibility to the file
present to
omit the filename, force the utilization of the C locale, and search also the
“shared object” pattern.
bpo-35491: multiprocessing
: Add Pool.__repr__()
and give a boost to
BaseProcess.__repr__()
(add pid and guardian pid) to ease debugging.
Pool mutter fixed values are in actual fact strings in mutter of integers, for
instance RUN
save becomes 'RUN'
in mutter of 0
.
bpo-35477: multiprocessing.Pool.__enter__()
now fails if the pool is
no longer working: with pool:
fails if archaic better than once.
bpo-31446: Replica present line that used to be handed to CreateProcessW since this
feature can exchange the dispute of the input buffer.
bpo-35471: Python 2.4 dropped MacOS 9 enhance. The macpath module used to be
deprecated in Python 3.7. The module is now eliminated.
bpo-23057: Unblock Proactor tournament loop when keyboard interrupt is received
on Windows
bpo-35052: Fix xml.dom.minidom cloneNode() on a story with an entity:
pass the upright arguments to the patron records handler of an entity.
bpo-20239: Allow repeated project deletion of
unittest.mock.Mock
attributes. Patch by Pablo Galindo.
bpo-17185: Dwelling __signature__
on mock for scrutinize
to bag
signature. Patch by Karthikeyan Singaravelan.
bpo-35445: Reminiscence errors at some point of developing posix.environ no longer no longer favorite.
bpo-35415: Validate fileno= argument to socket.socket().
bpo-35424: multiprocessing.Pool
destructor now emits
ResourceWarning
if the pool is peaceful working.
bpo-35330: When a Mock
instance used to be archaic to wrap an object, if
side_effect
is archaic in a single among the mocks of it strategies, don’t name the
long-established implementation and return the pause consequence of the utilization of the aspect effect the
similar scheme that it’s finished with return_value.
bpo-35346: Tumble Mac OS 9 and Rhapsody enhance from the platform
module. Rhapsody final originate used to be in 2000. Mac OS 9 final originate used to be in
2001.
bpo-10496: check_environ()
of
distutils.utils
now catches KeyError
on calling
pwd.getpwuid()
: don’t make the HOME
atmosphere variable in
this case.
bpo-10496: posixpath.expanduser()
now returns the input route
unchanged if the HOME
atmosphere variable is no longer scrape and the present
client has no residence directory (if the present client identifier doesn’t exist
in the password database). This exchange fix the location
module if the
present client doesn’t exist in the password database (if the patron has no
residence directory).
bpo-35389: platform.libc_ver()
now makes use of
os.confstr('CS_GNU_LIBC_VERSION')
if available and the executable
parameter is no longer scrape.
bpo-35394: Add empty slots to asyncio summary protocols.
bpo-35310: Fix a malicious program in glean.glean()
the gain, in some circumstances, the
file descriptor sequences had been returned unmodified after a signal
interruption, even though the file descriptors aren’t ready but.
glean.glean()
will now continuously return empty lists if a timeout has
came about. Patch by Oran Avraham.
bpo-35380: Enable TCP_NODELAY on Windows for proactor asyncio tournament loop.
bpo-35341: Add generic model of collections.OrderedDict
to the
typing
module. Patch by Ismo Toijala.
bpo-35371: Mounted imaginable shatter in os.utime()
on Windows when pass
fallacious arguments.
bpo-35346: platform.uname()
now redirects stderr
to
os.devnull
when working external programs esteem cmd /c ver
.
bpo-35066: Previously, calling the strftime() technique on a datetime object
with a trailing ‘%’ in the format string would pause in an exception.
Nonetheless, this most efficient came about when the datetime C module used to be being archaic; the
python implementation didn’t match this habits. Datetime is now PEP-399
compliant, and must no longer throw an exception on a trailing ‘%’.
bpo-35345: The feature platform.popen
has been eliminated, it used to be
deprecated since Python 3.3: use os.popen()
as one more.
bpo-35344: On macOS, platform.platform()
now makes use of
platform.mac_ver()
, if it returns a non-empty originate string, to bag
the macOS model in mutter of the darwin model.
bpo-35312: Discover lib2to3.pgen2.parse.ParseError
round-time out pickle-ready.
Patch by Anthony Sottile.
bpo-35308: Fix regression in webbrowser
the gain default browsers would possibly moreover very successfully be
most in kind over browsers in the BROWSER
atmosphere variable.
bpo-24746: Protect a long way from stripping trailing whitespace in doctest esteem diff.
Long-established patch by R. David Murray & Jairo Trad. Enhanced by Sanyam
Khurana.
bpo-28604: locale.localeconv()
now sets lickety-split the LC_CTYPE
locale to the LC_MONETARY
locale if the 2 locales are assorted and
financial strings are non-ASCII. This non permanent exchange affects assorted
threads.
bpo-35277: Change ensurepip to set up pip 18.1 and setuptools 40.6.2.
bpo-24209: Adds IPv6 enhance when invoking http.server accurate now.
bpo-35226: Recursively check arguments when testing for equality of
unittest.mock.name
objects and add veil that tracking of
parameters archaic to make ancestors of mocks in mock_calls
is no longer
imaginable.
bpo-29564: The warnings module now suggests to enable tracemalloc if the
source is specified, the tracemalloc module is obtainable, however tracemalloc
is no longer tracing memory allocations.
bpo-35189: Regulate the next fnctl feature to retry if interrupted by
a signal (EINTR): flock, lockf, fnctl
bpo-30064: Utilize add_done_callback() in sock_asyncio API to unsubscribe
reader/writer early on calcellation.
bpo-35186: Eradicated the “constructed with” comment added when setup.py upload
is archaic with either bdist_rpm
or bdist_dumb
.
bpo-35152: Allow sending better than 2 GB presently on a multiprocessing
connection on non-Windows programs.
bpo-35062: Fix fallacious parsing of
_io.IncrementalNewlineDecoder
’s translate argument.
bpo-35065: Make a choice StreamReaderProtocol._untrack_reader
. The choice to
_untrack_reader
is currently performed too rapidly, inflicting the protocol to
neglect regarding the reader sooner than connection_lost
can lunge and feed the EOF
to the reader.
bpo-34160: ElementTree and minidom now retain the attribute list
specified by the patron.
bpo-35079: Beef up difflib.SequenceManager.get_matching_blocks doc by
adding ‘non-overlapping’ and altering ‘!=’ to ‘<’.
bpo-33710: Deprecated l*gettext()
functions and methods in the
gettext
module. They return encoded bytes instead of Unicode
strings and are artifacts from Python 2 times. Also deprecated functions
and methods related to setting the charset for l*gettext()
functions
and methods.
bpo-35017: socketserver.BaseServer.serve_forever()
now exits
immediately if it’s shutdown()
method is
called while it is polling for new events.
bpo-35024: importlib
no longer logs wrote
redundantly
after (created|could not create)
is already logged.
Patch by Quentin Agren.
bpo-35047: unittest.mock
now includes mock calls in exception messages
if assert_not_called
, assert_called_once
, or
assert_called_once_with
fails. Patch by Petter Strandmark.
bpo-31047: Fix ntpath.abspath
regression where it didn’t remove a
trailing separator on Windows. Patch by Tim Graham.
bpo-35053: tracemalloc now tries to update the traceback when an object is
reused from a “free list” (optimization for faster object creation, used
by the builtin list type for example).
bpo-31553: Add the –json-lines option to json.tool. Patch by hongweipeng.
bpo-34794: Fixed a leak in Tkinter when pass the Python wrapper around
Tcl_Obj back to Tcl/Tk.
bpo-34909: Enum: fix grandchildren subclassing when parent mixed with
concrete data types.
bpo-35022: unittest.mock.MagicMock
now supports the
__fspath__
method (from os.PathLike
).
bpo-35008: Fixed references leaks when call the __setstate__()
method
of xml.etree.ElementTree.Element
in the C implementation for
already initialized element.
bpo-23420: Verify the value for the parameter ‘-s’ of the cProfile CLI.
Patch by Robert Kuska
bpo-33947: dataclasses now handle recursive reprs without raising
RecursionError.
bpo-34890: Make inspect.iscoroutinefunction()
,
inspect.isgeneratorfunction()
and inspect.isasyncgenfunction()
work with functools.partial()
. Patch by Pablo Galindo.
bpo-34521: Use socket.CMSG_SPACE()
to calculate ancillary data size
instead of socket.CMSG_LEN()
in
multiprocessing.reduction.recvfds()
as RFC 3542 requires the use
of the former for portable applications.
bpo-31522: The mailbox.mbox.get_string
function from_ parameter can
now successfully be set to a non-default value.
bpo-34970: Protect tasks weak set manipulation in asyncio.all_tasks()
bpo-34969: gzip: Add –fast, –best on the gzip CLI, these parameters will
be used for the fast compression method (quick) or the best method
compress (slower, but smaller file). Also, change the default compression
level to 6 (tradeoff).
bpo-16965: The 2to3 execfile
fixer now opens the file
with mode 'rb'
. Patch by Zackery Spytz.
bpo-34966: pydoc
now supports aliases not only to methods defined
in the end class, but also to inherited methods. The docstring is not
duplicated for aliases.
bpo-34926: mimetypes.MimeTypes.guess_type()
now accepts
path-like object in addition to url strings. Patch by Mayank
Asthana.
bpo-23831: Add moveto()
method to the tkinter.Canvas
widget. Patch
by Juliette Monsel.
bpo-34941: Methods find()
, findtext()
and findall()
of the
Element
class in the xml.etree.ElementTree
module are now able
to find children which are instances of Element
subclasses.
bpo-32680: smtplib.SMTP
objects now always have a sock
attribute present
bpo-34769: Fix for async generators not finalizing when event loop is in
debug mode and garbage collector runs in another thread.
bpo-34936: Fix TclError
in tkinter.Spinbox.selection_element()
.
Patch by Juliette Monsel.
bpo-34829: Add methods selection_from
, selection_range
,
selection_present
and selection_to
to the tkinter.Spinbox
for
consistency with the tkinter.Entry
widget. Patch by Juliette Monsel.
bpo-34911: Added secure_protocols argument to
http.cookiejar.DefaultCookiePolicy to allow for tweaking of protocols
and also to add support by default for wss, the secure websocket
protocol.
bpo-34922: Fixed integer overflow in the digest()
and hexdigest()
methods for the SHAKE algorithm in
the hashlib
module.
bpo-34925: 25% speedup in argument parsing for the functions in the bisect
module.
bpo-34900: Fixed unittest.TestCase.debug()
when used to call test
methods with subtests. Patch by Bruno Oliveira.
bpo-34844: logging.Formatter enhancement – Ensure styles and fmt matches
in logging.Formatter – Added validate method in each format style class:
StrFormatStyle, PercentStyle, StringTemplateStyle. – This method is called
in the constructor of logging.Formatter class – Also re-raise the KeyError
in the format method of each style class, so it would a bit clear that
it’s an error with the invalid format fields.
bpo-34897: Adjust test.support.missing_compiler_executable check so that a
nominal command name of “” is ignored. Patch by Michael Felt.
bpo-34871: Fix inspect module polluted sys.modules
when parsing
__text_signature__
of callable.
bpo-34898: Add mtime
argument to gzip.compress
for reproducible
output. Patch by Guo Ci Teo.
bpo-28441: On Cygwin and MinGW, ensure that sys.executable
always
includes the full filename in the path, including the .exe
suffix
(unless it is a symbolic link).
bpo-34866: Adding max_num_fields
to cgi.FieldStorage
to make DOS
attacks harder by limiting the number of MiniFieldStorage
objects
created by FieldStorage
.
bpo-34711: http.server ensures it reports HTTPStatus.NOT_FOUND when the
local path ends with “/” and is not a directory, even if the underlying OS
(e.g. AIX) accepts such paths as a valid file reference. Patch by Michael
Felt.
bpo-34872: Fix self-cancellation in C implementation of asyncio.Task
bpo-34849: Don’t log waiting for selector.select
in asyncio loop
iteration. The waiting is pretty normal for any asyncio program, logging
its time just adds a noise to logs without any useful information
provided.
bpo-34022: The SOURCE_DATE_EPOCH
environment variable no longer
overrides the value of the invalidation_mode argument to
py_compile.compile()
, and determines its default value instead.
bpo-34819: Use a monotonic clock to compute timeouts in
Executor.map()
and as_completed()
, in order to prevent
timeouts from deviating when the system clock is adjusted.
bpo-34758: Add .wasm -> application/wasm to checklist of diagnosed file forms
and dispute form headers
bpo-34789: xml.sax.make_parser()
now accepts any iterable as its
parser_list argument. Patch by Andrés Delfino.
bpo-34334: In QueueHandler
, certain exc_text
from
LogRecord
to forestall traceback from being written twice.
bpo-34687: On Windows, asyncio now makes use of ProactorEventLoop, in mutter of
SelectorEventLoop, by default.
bpo-5950: Make stronger studying zip files with archive comments in
zipimport
.
bpo-32892: The parser now represents all constants as
ast.Fixed
in mutter of the utilization of explicit fixed AST forms
(Num
, Str
, Bytes
, NameConstant
and Ellipsis
). These
classes are even handed deprecated and must be eliminated in future Python
versions.
bpo-34728: Add deprecation warning when loop
is archaic in strategies:
asyncio.sleep
, asyncio.wait
and asyncio.wait_for
.
bpo-34738: ZIP files created by distutils
will now encompass entries
for directories.
bpo-34659: Add an no longer mandatory initial argument to itertools.glean().
bpo-29577: Make stronger multiple mixin classes when developing Enums.
bpo-34670: Add SSLContext.post_handshake_auth and
SSLSocket.verify_client_post_handshake for TLS 1.3’s publish handshake
authentication feature.
bpo-32718: The Set off.ps1 script from venv works with PowerShell Core
6.1 and is now available beneath all operating programs.
bpo-31177: Fix malicious program that kept a long way from the utilization of reset_mock
on mock circumstances with deleted attributes
bpo-34672: Add a workaround, so the 'Z'
time.strftime()
specifier on the musl C library can work in some circumstances.
bpo-34666: Implement asyncio.StreamWriter.awrite
and
asyncio.StreamWriter.aclose()
coroutines. Systems are wanted for
providing a fixed flow API with retain a watch on movement switched on by
default.
bpo-6721: Develop the logging module’s continuously archaic interior locks whereas
fork()ing to lead certain of deadlocks in the baby route of.
bpo-34658: Fix a rare interpreter unhandled exception mutter SystemError
most efficient seen when the utilization of subprocess with a preexec_fn whereas an after_parent
handler has been registered with os.register_at_fork and the fork procedure
name fails.
bpo-34652: Make certain os.lchmod()
is infrequently ever defined on Linux.
bpo-34638: Store a archaic reference to flow reader to fracture valid
references loop between reader and protocol. It enables to detect and
terminate the socket if the flow is deleted (rubbish serene) without
terminate()
name.
bpo-34536: Enum._missing_
: raise ValueError
if None returned and
TypeError
if non-member is returned.
bpo-34636: Tempo up re scanning of many non-matching characters for s w
and d internal bytes objects. (microoptimization)
bpo-24412: Add addModuleCleanup()
and
addClassCleanup()
to unittest to spice up
cleanups for setUpModule()
and
setUpClass()
. Patch by Lisa Roach.
bpo-34630: Don’t log SSL certificate errors in asyncio code (connection
error logging is skipped already).
bpo-32490: Quit filename duplication in subprocess
exception
messages. Patch by Zackery Spytz.
bpo-34363: dataclasses.asdict() and .astuple() now handle namedtuples
precisely.
bpo-34625: Change vendorized expat library model to 2.2.6.
bpo-32270: The subprocess module no longer mistakenly closes redirected
fds even when they had been in pass_fds when out of doorways of the default {0, 1, 2}
scrape.
bpo-34622: Construct a devoted asyncio.CancelledError
,
asyncio.InvalidStateError
and asyncio.TimeoutError
exception
classes. Inherit them from corresponding exceptions from
concurrent.futures
kit. Extract asyncio
exceptions accurate into a
separate file.
bpo-34610: Mounted iterator of multiprocessing.managers.DictProxy
.
bpo-34421: Fix distutils logging for non-ASCII strings. This brought on
set up issues on Windows.
bpo-34604: Fix imaginable mojibake in the error message of pwd.getpwnam
and grp.getgrnam
the utilization of string illustration attributable to invisible
characters or trailing whitespaces. Patch by William Grzybowski.
bpo-30977: Discover uuid.UUID use __slots__
to in the discount of its memory
footprint. Based entirely on long-established patch by Wouter Bolsterlee.
bpo-34574: OrderedDict iterators are no longer exhausted at some point of pickling
anymore. Patch by Sergey Fedoseev.
bpo-8110: Refactored subprocess
to verify for Windows-explicit
modules in mutter of sys.platform == 'glean32'
.
bpo-34530: distutils.spawn.find_executable()
now falls again on
os.defpath
if the PATH
atmosphere variable is no longer scrape.
bpo-34563: On Windows, fix multiprocessing.Connection for very appealing learn:
fix _winapi.PeekNamedPipe() and _winapi.ReadFile() for learn better than
INT_MAX (in most cases 231-1
).
bpo-34558: Factual typo in Lib/ctypes/_aix.py
bpo-34282: Lumber Enum._convert
to EnumMeta._convert_
and fix enum
contributors getting shadowed by guardian attributes.
bpo-22872: When the queue is closed, ValueError
is now raised by
multiprocessing.Queue.gain()
and multiprocessing.Queue.bag()
in mutter of AssertionError
and OSError
, respectively. Patch
by Zackery Spytz.
bpo-34515: Fix parsing non-ASCII identifiers in
lib2to3.pgen2.tokenize
(PEP 3131).
bpo-13312: Avoids a imaginable integer underflow (undefined habits) in the
time module’s One year dealing with code when handed a unquestionably low unfavorable One year
save.
bpo-34472: Improved compatibility for streamed files in zipfile
.
Previously an no longer mandatory signature used to be no longer being written and sure ZIP
functions had been no longer supported. Patch by Silas Sewell.
bpo-34454: Fix the .fromisoformat() strategies of datetime forms crashing
when given unicode with non-UTF-8-encodable code functions. Namely,
datetime.fromisoformat() now accepts surrogate unicode code functions archaic as
the separator. Story and tests by Alexey Izbyshev, patch by Paul Ganssle.
bpo-6700: Fix scrutinize.getsourcelines for module level frames/tracebacks.
Patch by Vladimir Matveev.
bpo-34171: Running the save
module no longer creates the
save.quilt
file.
bpo-34441: Fix shatter when an ABC
-derived class with invalid
__subclasses__
is handed because the second argument to
issubclass()
. Patch by Alexey Izbyshev.
bpo-34427: Fix endless loop in a.lengthen(a)
for MutableSequence
subclasses.
bpo-34412: Discover signal.strsignal()
work on HP-UX. Patch by Michael
Osipov.
bpo-20849: shutil.copytree now accepts a unique dirs_exist_ok
key phrase
argument. Patch by Josh Bronson.
bpo-31715: Affiliate .mjs
file extension with
application/javascript
MIME Form.
bpo-34384: os.readlink()
now accepts route-esteem and bytes
objects on Windows.
bpo-22602: The UTF-7 decoder now raises UnicodeDecodeError
for
in unhappy health-formed sequences starting with “+” (as specified in RFC 2152). Patch
by Zackery Spytz.
bpo-2122: The mmap.flush()
technique now returns
None
on success, raises an exception on error beneath all platforms.
bpo-34341: Appending to the ZIP archive with the ZIP64 extension no longer
grows the dimension of additional fields of existing entries.
bpo-34333: Fix %-formatting in pathlib.PurePath.with_suffix()
when
formatting an error message.
bpo-18540: The imaplib.IMAP4
and imaplib.IMAP4_SSL
classes now unravel to the native host IP precisely when the default save
of host parameter (''
) is archaic.
bpo-26502: Implement traceback.FrameSummary.__len__()
technique to
retain compatibility with the primitive tuple API.
bpo-34318: assertRaises()
,
assertRaisesRegex()
,
assertWarns()
and
assertWarnsRegex()
no longer success if the
handed callable is None. They no longer ignore unknown key phrase arguments
in the context manager mode. A DeprecationWarning used to be raised in these
circumstances since Python 3.5.
bpo-9372: Deprecate __getitem__()
strategies of
xml.dom.pulldom.DOMEventStream
, wsgiref.util.FileWrapper
and fileinput.FileInput
.
bpo-33613: Fix a flee condition in multiprocessing.semaphore_tracker
when the tracker receives SIGINT sooner than it’ll register signal handlers
for ignoring it.
bpo-34248: Story filename in the exception raised when the database file
can no longer be opened by dbm.gnu.launch()
and dbm.ndbm.launch()
attributable to
OS-linked error. Patch by Zsolt Cserna.
bpo-33089: Add math.dist() to compute the Euclidean distance between two
functions.
bpo-34246: smtplib.SMTP.send_message()
no longer modifies the
dispute of the mail_options argument. Patch by Pablo S. Blum de Aguiar.
bpo-31047: Fix ntpath.abspath
for invalid paths on residence windows. Patch by
Franz Woellert.
bpo-32321: Add pure Python fallback for functools.in the discount of. Patch by Robert
Wright.
bpo-34270: The default asyncio job class now continuously has a title which can
be bag or scrape the utilization of two unique strategies (get_name()
and
set_name()
) and is visible in the repr()
output.
An initial title will almost definitely be scrape the utilization of the unique title
key phrase argument to
asyncio.create_task()
or the
create_task()
technique of the tournament loop.
If no initial title is decided, the default Process implementation generates a
title esteem Process-1
the utilization of a monotonic counter.
bpo-34263: asyncio’s tournament loop will not pass timeouts longer than in the future
to epoll/glean and hundreds others.
bpo-34035: Fix a complete lot of AttributeError in zipfile look() strategies. Patch by
Mickaël Schoentgen.
bpo-32215: Fix performance regression in sqlite3
when a DML
assertion appeared in a assorted line than the rest of the SQL ask.
bpo-34075: Deprecate passing non-ThreadPoolExecutor circumstances to
AbstractEventLoop.set_default_executor()
.
bpo-34251: Restore msilib.Grab64
to retain backwards compatibility
because it’s already archaic by distutils
’ bdist_msi
present.
bpo-19891: Ignore errors brought on by missing / non-writable homedir whereas
writing historical past at some point of exit of an interactive session. Patch by Anthony
Sottile.
bpo-33089: Enhanced math.hypot() to spice up better than two dimensions.
bpo-34228: tracemalloc: PYTHONTRACEMALLOC=0 atmosphere variable and -X
tracemalloc=0 present line possibility are in actual fact allowed to disable explicitly
tracemalloc at startup.
bpo-13041: Utilize shutil.get_terminal_size()
to calculate the terminal
width precisely in the argparse.HelpFormatter
class. Preliminary patch by
Zbyszek J?drzejewski-Szmek.
bpo-34213: Allow frozen dataclasses to maintain a field named “object”.
Previously this conflicted with an interior use of “object”.
bpo-34052: sqlite3.Connection.create_aggregate()
,
sqlite3.Connection.create_function()
,
sqlite3.Connection.set_authorizer()
,
sqlite3.Connection.set_progress_handler()
strategies raises TypeError
when unhashable objects are handed as callable. These strategies now don’t
pass such objects to SQLite API. Outdated habits would possibly consequence in
segfaults. Patch by Sergey Fedoseev.
bpo-34197: Attributes skipinitialspace, doublequote and strict of
the dialect attribute of the csv
reader are in actual fact bool
circumstances in mutter of integers 0 or 1.
bpo-32788: Errors assorted than TypeError
raised in strategies
__adapt__()
and __conform__()
in the sqlite3
module are in actual fact
propagated to the patron.
bpo-21446: The reload
fixer now makes use of importlib.reload()
in mutter of deprecated imp.reload()
.
bpo-940286: pydoc’s Helper.showtopic()
technique now prints the harmful
references of a topic precisely.
bpo-34164: grievous64.b32decode()
would possibly raise UnboundLocalError or
OverflowError for fallacious padding. Now it continuously raises
grievous64.Error
in these circumstances.
bpo-33729: Mounted issues with arguments parsing in hashlib
.
bpo-34097: ZipFile can zip files older than 1980-01-01 and newer than
2107-12-31 the utilization of a unique strict_timestamps
parameter on the price of
environment the timestamp to the limit.
bpo-34108: Make a choice extraneous CR in 2to3 refactor.
bpo-34070: Make certain to most efficient check if the handle is a tty, when opening a
file with buffering=-1
.
bpo-27494: Reverted bpo-27494. 2to3 rejects now a trailing comma in
generator expressions.
bpo-33967: functools.singledispatch now raises TypeError in mutter of
IndexError when no positional arguments are handed.
bpo-34041: Add the parameter deterministic to the
sqlite3.Connection.create_function()
technique. Patch by Sergey
Fedoseev.
bpo-34056: Make certain the loader shim created by imp.load_module
continuously
returns bytes from its get_data()
feature. This fixes the utilization of
imp.load_module
with PEP 552 hash-based pycs.
bpo-34054: The multiprocessing module now makes use of the monotonic clock
time.monotonic()
in mutter of the procedure clock time.time()
to
implement timeout.
bpo-34043: Optimize tarfile uncompress performance about 15% when gzip is
archaic.
bpo-34044: subprocess.Popen
now copies the startupinfo argument to
journey away it unchanged: this is in a position to moreover regulate the replica, so as that the equivalent
STARTUPINFO
object will almost definitely be archaic multiple cases.
bpo-34010: Mounted a performance regression for studying streams with
tarfile. The buffered learn must use a checklist, in mutter of appending to a
bytes object.
bpo-34019: webbrowser: Factual the arguments handed to Opera Browser when
opening a unique URL the utilization of the webbrowser
module. Patch by Bumsik Kim.
bpo-34003: csv.DictReader now creates dicts in mutter of OrderedDicts. Patch
by Michael Selik.
bpo-33978: Closed existing logging handlers sooner than reconfiguration by process of
fileConfig and dictConfig. Patch by Karthikeyan Singaravelan.
bpo-14117: Discover minor tweaks to turtledemo. The ‘wikipedia’ instance is now
‘rosette’, describing what it attracts. The ‘penrose’ print output is
diminished. The’1024’ output of ‘tree’ is eliminated.
bpo-33974: Mounted passing lists and tuples of strings containing special
characters "
, ,
{
, }
and n
as recommendations to
ttk
widgets.
bpo-27500: Fix getaddrinfo to resolve IPv6 addresses precisely.
bpo-24567: Beef up random.picks() to handle subnormal input weights that
would possibly once rapidly scrape off an IndexError.
bpo-33871: Mounted integer overflow in os.readv()
, os.writev()
,
os.preadv()
and os.pwritev()
and in os.sendfile()
with
headers or trailers arguments (on BSD-based OSes and macOS).
bpo-25007: Add replica.replica()
and replica.deepcopy()
enhance to zlib
compressors and decompressors. Patch by Zackery Spytz.
bpo-33929: multiprocessing: Fix a flee condition in Popen of
multiprocessing.popen_spawn_win32. The child route of now duplicates the
learn pause of pipe in mutter of “stealing” it. Previously, the learn pause of
pipe used to be “stolen” by the baby route of, on the opposite hand it leaked a handle if the
child route of had been terminated sooner than it can engage the handle from
the guardian route of.
bpo-33899: Tokenize module now implicitly emits a NEWLINE when equipped
with input that doesn’t maintain a trailing unique line. This habits now
matches what the C tokenizer does internally. Contributed by Ammar Askar.
bpo-33897: Added a ‘force’ key phrase argument to logging.basicConfig().
bpo-33695: shutil.copytree()
makes use of os.scandir()
feature and
all replica functions relying from it use cached os.stat()
values.
The speedup for copying a directory with 8000 files is round +9% on
Linux, +20% on Windows and + 30% on a Windows SMB half. Additionally the amount
of os.stat()
syscalls is diminished by 38% making
shutil.copytree()
in particular quicker on network filesystems.
(Contributed by Giampaolo Rodola’ in bpo-33695.)
bpo-33916: bz2 and lzma: When Decompressor.__init__() is named twice,
free the primitive lock to no longer leak memory.
bpo-32568: Discover glean.epoll() and its documentation fixed in terms of
sizehint and flags.
bpo-33833: Mounted malicious program in asyncio the gain ProactorSocketTransport logs
AssertionError if force closed at some point of write.
bpo-33663: Convert dispute length to string sooner than placing to header.
bpo-33721: os.route
functions that return a boolean consequence esteem
exists()
, lexists()
, isdir()
,
isfile()
, islink()
, and
ismount()
, and pathlib.Course
strategies that return a
boolean consequence esteem exists()
,
is_dir()
, is_file()
,
is_mount()
, is_symlink()
,
is_block_device()
,
is_char_device()
, is_fifo()
,
is_socket()
now return Flawed
in mutter of elevating
ValueError
or its subclasses UnicodeEncodeError
and
UnicodeDecodeError
for paths that enjoy characters or bytes
unrepresentable on the OS level.
bpo-26544: Mounted implementation of platform.libc_ver()
. It almost
continuously returned model ‘2.9’ for glibc.
bpo-33843: Make a choice deprecated cgi.lunge
, cgi.parse_qs
and
cgi.parse_qsl
.
bpo-33842: Make a choice tarfile.filemode
which is deprecated since Python
3.3.
bpo-30167: Quit location.well-known() exception if PYTHONSTARTUP is decided. Patch by
Steve Weber.
bpo-33805: Beef up error message of dataclasses.change() when an InitVar
is no longer specified
bpo-33687: Fix the decision to os.chmod()
for uu.decode()
if a mode is
given or decoded. Patch by Timo Furrer.
bpo-33812: Datetime instance d with non-None tzinfo, however with
d.tzinfo.utcoffset(d) returning None is now handled as naive by the
astimezone() technique.
bpo-32108: In configparser, don’t certain portion when it’s assigned to
itself.
bpo-27397: Discover electronic mail module successfully handle invalid-length grievous64
strings.
bpo-33578: Implement multibyte encoder/decoder mutter strategies
bpo-30805: Protect a long way from flee condition with debug logging
bpo-33476: Fix _header_value_parser.py when contend with neighborhood is missing final
‘;’. Contributed by Enrique Perez-Terron
bpo-33694: asyncio: Fix a flee condition inflicting records loss on
pause_reading()/resume_reading() when the utilization of the ProactorEventLoop.
bpo-32493: Factual test for uuid_enc_be
availability in
configure.ac
. Patch by Michael Felt.
bpo-33792: Add asyncio.WindowsSelectorEventLoopPolicy and
asyncio.WindowsProactorEventLoopPolicy.
bpo-33274: W3C DOM Stage 1 specifies return save of
Part.removeAttributeNode() as “The Attr node that used to be eliminated.”
xml.dom.minidom now complies with this requirement.
bpo-33778: Change unicodedata
’s database to Unicode model 11.0.0.
bpo-33165: Added a stacklevel parameter to logging calls to allow use of
wrapper/helper functions for logging APIs.
bpo-33770: make stronger grievous64 exception message for encoded inputs of invalid
length
bpo-33769: asyncio/start_tls: Fix error message; slay callbacks in case
of an unhandled error; designate SSLTransport as closed if it’s aborted.
bpo-33767: The concatenation (+
) and repetition (*
) sequence
operations now raise TypeError
in mutter of SystemError
when
performed on mmap.mmap
objects. Patch by Zackery Spytz.
bpo-33734: asyncio/ssl: Fix AttributeError, fabricate better default handshake
timeout
bpo-31014: Mounted developing a controller for webbrowser
when a shopper
specifies a route to an entry in the BROWSER atmosphere variable. Based entirely
on patch by John Nonetheless.
bpo-2504: Add gettext.pgettext() and variants.
bpo-33197: Add description property for _ParameterKind
bpo-32751: When cancelling the job attributable to a timeout,
asyncio.wait_for()
will now wait unless the cancellation is full.
bpo-32684: Fix assemble to propagate cancellation of itself even with
return_exceptions.
bpo-33654: Make stronger protocol form switching in SSLTransport.set_protocol().
bpo-33674: Close the transport as early as imaginable to additional in the discount of the
risk of data_received() being known as sooner than connection_made().
bpo-33671: shutil.copyfile()
, shutil.replica()
,
shutil.copy2()
, shutil.copytree()
and shutil.switch()
use
platform-explicit swiftly-replica syscalls on Linux and macOS in list to replica
the file more efficiently. On Windows shutil.copyfile()
makes use of a
better default buffer dimension (1 MiB in mutter of 16 KiB) and a
memoryview()
-based variant of shutil.copyfileobj()
is archaic.
The speedup for copying a 512MiB file is about +26% on Linux, +50% on
macOS and +40% on Windows. Additionally, mighty less CPU cycles are consumed.
(Contributed by Giampaolo Rodola’ in bpo-25427.)
bpo-33674: Fix a flee condition in SSLProtocol.connection_made() of
asyncio.sslproto: launch accurate now the handshake in mutter of the utilization of
call_soon(). Previously, data_received() would possibly moreover very successfully be known as sooner than the
handshake started, inflicting the handshake to grasp or fail.
bpo-31647: Mounted malicious program the gain calling write_eof() on a
_SelectorSocketTransport after it’s already closed raises AttributeError.
bpo-32610: Discover asyncio.all_tasks() return most efficient pending projects.
bpo-32410: Protect a long way from blockading on file IO in sendfile fallback code
bpo-33469: Fix RuntimeError after closing loop that archaic run_in_executor
bpo-33672: Fix Process.__repr__ shatter with Cython’s bogus coroutines
bpo-33654: Fix transport.set_protocol() to spice up switching between
asyncio.Protocol and asyncio.BufferedProtocol. Fix loop.start_tls() to
work with asyncio.BufferedProtocols.
bpo-33652: Pickles of form variables and subscripted generics are in actual fact
future-proof and esteem minded with older Python versions.
bpo-32493: Mounted uuid.uuid1()
on FreeBSD.
bpo-33238: Add InvalidStateError
to concurrent.futures
.
Future.set_result
and Future.set_exception
now raise
InvalidStateError
if the futures are no longer pending or working. Patch by
Jason Haydaman.
bpo-33618: Finalize and narrative preliminary and experimental TLS 1.3
enhance with OpenSSL 1.1.1
bpo-33625: Liberate GIL on grp.getgrnam
, grp.getgrgid
, pwd.getpwnam
and pwd.getpwuid
if reentrant variants of these functions come in.
Patch by William Grzybowski.
bpo-33623: Fix imaginable SIGSGV when asyncio.Future is created in __del__
bpo-11874: Utilize a more in-depth regex when breaking utilization into wrappable aspects.
Avoids bogus assertion errors from custom metavar strings.
bpo-30877: Mounted a malicious program in the Python implementation of the JSON decoder
that kept a long way from the cache of parsed strings from clearing after finishing
the decoding. Based entirely on patch by c-fos.
bpo-33604: Make a choice HMAC default to md5 marked for elimination in 3.8 (elimination
first and well-known deliberate in 3.6, bump to three.8 in gh-7062).
bpo-33582: Emit a deprecation warning for scrutinize.formatargspec
bpo-21145: Add functools.cached_property
decorator, for computed
properties cached for the lifetime of the instance.
bpo-33570: Exchange TLS 1.3 cipher suite settings for compatibility with
OpenSSL 1.1.1-pre6 and newer. OpenSSL 1.1.1 can maintain TLS 1.3 ciphers
enabled by default.
bpo-28556: Enact no longer simplify arguments to typing.Union
. Now
Union[Manager, Employee]
is no longer simplified to Worker
at runtime.
Such simplification beforehand brought on a complete lot of bugs and dinky
probabilities for introspection.
bpo-12486: tokenize.generate_tokens()
is now documented as a public
API to tokenize unicode strings. It used to be beforehand present however
undocumented.
bpo-33540: Add a unique block_on_close
class attribute to
ForkingMixIn
and ThreadingMixIn
classes of socketserver
.
bpo-33548: tempfile._candidate_tempdir_list must gain in thoughts frequent TEMP
locations
bpo-33109: argparse subparsers are once all once more no longer required by default,
reverting the exchange in habits equipped by bpo-26510 in 3.7.0a2.
bpo-33541: Make a choice unused internal most technique _strptime.LocaleTime.__pad
(a.k.a. _LocaleTime__pad
).
bpo-33536: dataclasses.make_dataclass now tests for invalid field names
and reproduction fields. Additionally, added a check for invalid field
specifications.
bpo-33542: Quit uuid.get_node
from the utilization of a DUID in mutter of a MAC on
Windows. Patch by Zvi Effron
bpo-26819: Fix flee condition with ReadTransport.resume_reading
in
Windows proactor tournament loop.
Fix failure in typing.get_type_hints()
when ClassVar used to be equipped as a
string forward reference.
bpo-33516: unittest.mock.MagicMock
now helps the __round__
magic technique.
bpo-28612: Added enhance for Effect Maps to urllib’s RobotFileParser
as
RobotFileParser.site_maps()
. Patch by Lady Crimson, based
on patch by Peter Wirtz.
bpo-28167: Make a choice platform.linux_distribution, which used to be deprecated since
3.5.
bpo-33504: Switch the default dictionary implementation for
configparser
from collections.OrderedDict
to the frequent
dict
form.
bpo-33505: Optimize asyncio.ensure_future() by reordering if tests: 1.17x
quicker.
bpo-33497: Add errors param to cgi.parse_multipart and fabricate an encoding in
FieldStorage use the given errors (wanted for Twisted). Patch by Amber
Brown.
bpo-29235: The cProfile.Profile
class can now be archaic as a
context manager. Patch by Scott Sanderson.
bpo-33495: Exchange dataclasses.Fields repr to use the repr of every of its
contributors, in mutter of str. This makes it more certain what each field
in actual fact represents. Here is extraordinarily aesthetic for the ‘form’ member.
bpo-26103: Factual scrutinize.isdatadescriptor
to survey for __set__
or
__delete__
. Patch by Aaron Hall.
bpo-29209: Eradicated the doctype()
technique and the html parameter of
the constructor of XMLParser
. The
doctype()
technique defined in a subclass will no longer be known as.
Deprecated strategies getchildren()
and getiterator()
in the
ElementTree
module emit now a DeprecationWarning
in mutter of PendingDeprecationWarning
.
bpo-33453: Fix dataclasses to work if the utilization of literal string form
annotations or if the utilization of PEP 563 “Postponed Review of Annotations”.
Most productive explicit string prefixes are detected for each ClassVar (“ClassVar”
and “typing.ClassVar”) and InitVar (“InitVar” and “dataclasses.InitVar”).
bpo-28556: Minor fixes in typing module: add annotations to
NamedTuple.__new__
, pass *args
and kwds
in
Generic.__new__
. Long-established PRs by Paulius Šarka and Chad Dombrova.
bpo-33365: Print the header values along with the header keys as one more good
the header keys if debuglevel is decided to >0 in http.client
. Patch
by Marco Strigl.
bpo-20087: Up so a long way alias mapping with glibc 2.27 supported locales.
bpo-33422: Fix trailing citation marks getting deleted when looking up
byte/string literals on pydoc. Patch by Andrés Delfino.
bpo-28167: The feature platform.linux_distribution
and
platform.dist
now scrape off a DeprecationWarning
and had been
marked for elimination in Python 3.8
bpo-33281: Fix ctypes.util.find_library regression on macOS.
bpo-33311: Text and html output generated by cgitb doesn’t veil
parentheses if the present name is finished accurate now in the module. Patch by
Stéphane Blondon.
bpo-27300: The file classes in tempfile now procure an errors parameter
that enhances the already existing encoding. Patch by Stephan Hohe.
bpo-32933: unittest.mock.mock_open()
now helps iteration over the
file contents. Patch by Tony Flury.
bpo-33217: Elevate TypeError
when looking up non-Enum objects in Enum
classes and Enum contributors.
bpo-33197: Change error message when organising invalid
scrutinize.Parameters Patch by Dong-hee Na.
bpo-33383: Mounted shatter in the bag() technique of the dbm.ndbm
database
object when it’s known as with a single argument.
bpo-33375: The warnings module now finds the Python file linked with a
warning from the code object, in mutter of the frame’s world namespace.
Here is in step with how tracebacks and pdb procure filenames, and would possibly moreover
work better for dynamically completed code.
bpo-33336: imaplib
now enables MOVE
present in IMAP4.uid()
(RFC
6851: IMAP MOVE Extension) and doubtlessly as a title of supported technique
of IMAP4
object.
bpo-32455: Added jump parameter to dis.stack_effect()
.
bpo-27485: Rename and deprecate undocumented functions in
urllib.parse()
.
bpo-33332: Add signal.valid_signals()
to uncover the POSIX sigfillset()
functionality.
bpo-33251: ConfigParser.items()
used to be mounted so as that key-save pairs handed
in by process of vars
are no longer incorporated in the following output.
bpo-33329: Fix multiprocessing regression on newer glibcs
bpo-33334: dis.stack_effect()
now helps all defined opcodes
alongside with NOP and EXTENDED_ARG.
bpo-991266: Fix quoting of the Commentary
attribute of
http.cookies.SimpleCookie
.
bpo-33131: Upgrade bundled model of pip to 10.0.1.
bpo-33308: Mounted a shatter in the parser
module when changing an ST
object to a tree of tuples or lists with line_info=Flawed
and
col_info=Upright
.
bpo-23403: lib2to3 now makes use of pickle protocol 4 for pre-computed grammars.
bpo-33266: lib2to3 now recognizes rf'...'
strings.
bpo-11594: Make certain line-endings are revered when the utilization of lib2to3.
bpo-33254: Possess importlib.sources.contents()
and
importlib.abc.ResourceReader.contents()
return an iterable
in mutter of an iterator.
bpo-33265: contextlib.ExitStack
and contextlib.AsyncExitStack
now
use a formulation in mutter of a wrapper feature for exit callbacks.
bpo-33263: Fix FD leak in _SelectorSocketTransport
Patch by Vlad
Starostin.
bpo-33256: Fix veil of
name in the html produced by
cgitb.html()
. Patch by Stéphane Blondon.
bpo-33144: random.Random()
and its subclassing mechanism received optimized
to verify most efficient once at class/subclass instantiation time whether or no longer its
getrandbits()
technique will almost definitely be relied on by assorted strategies, alongside with
randrange()
, for the skills of arbitrarily appealing random integers.
Patch by Wolfgang Maier.
bpo-33185: Mounted regression when working pydoc with the -m
swap. (The regression used to be equipped in 3.7.0b3 by the resolution of
bpo-33053)
This fix also changed pydoc to add os.getcwd()
to sys.route
when critical, in mutter of adding "."
.
bpo-29613: Added enhance for the SameSite
cookie flag to the
http.cookies
module.
bpo-33169: Delete entries of None
in sys.path_importer_cache
when importlib.machinery.invalidate_caches()
is named.
bpo-33203: random.Random.change()
now raises IndexError
for empty
sequences continuously even when known as from subclasses and not utilizing a
getrandbits()
implementation.
bpo-33224: Change difflib.mdiff() for PEP 479. Convert an uncaught
StopIteration in a generator accurate into a return-assertion.
bpo-33209: Kill framing on the pause of C implementation of
pickle.Pickler.dump()
.
bpo-32861: The urllib.robotparser’s __str__
illustration now
involves wildcard entries and the “Go-extend” and “Query-price” fields.
Additionally gets rid of extra newlines that had been being appended to the pause of the
string. Patch by Michael Lazar.
bpo-23403: DEFAULT_PROTOCOL
in pickle
used to be bumped to 4. Protocol
4 is described in PEP 3154 and available since Python 3.4. It offers
better performance and smaller dimension in comparison to protocol 3 equipped in
Python 3.0.
bpo-20104: Improved error dealing with and mounted a reference leak in
os.posix_spawn()
.
bpo-33106: Deleting a key from a learn-most efficient dbm database raises module
explicit error in mutter of KeyError.
bpo-33175: In dataclasses, Field.__set_name__ now appears to be like to be up the
__set_name__ special technique on the class, no longer the instance, of the default
save.
bpo-32380: Construct functools.singledispatchmethod to spice up generic single
dispatch on descriptors and strategies.
bpo-33141: Possess Field objects journey thru __set_name__ to their default
values, if they’ve their very possess __set_name__.
bpo-33096: Allow ttk.Treeview.insert to insert iid that has a unfounded
boolean save. Insist iid=0 and iid=Flawed would be similar. Patch by Garvit
Khatri.
bpo-32873: Treat form variables and special typing forms as immutable by
replica and pickle. This fixes a complete lot of teenage issues and inconsistencies, and
improves backwards compatibility with Python 3.6.
bpo-33134: When computing dataclass’s __hash__, use the search for table to
enjoy the feature which returns the __hash__ save. Here is an
development over looking up a string, and then testing that string to seem
what to construct.
bpo-33127: The ssl module now compiles with LibreSSL 2.7.1.
bpo-32505: Elevate TypeError if a member variable of a dataclass is of form
Field, however doesn’t maintain a form annotation.
bpo-33078: Fix the failure on OSX brought on by the tests counting on
sem_getvalue
bpo-33116: Add ‘Field’ to dataclasses.__all__.
bpo-32896: Fix an error the gain subclassing a dataclass with a field that
makes use of a default_factory would generate an fallacious class.
bpo-33100: Dataclasses: If a field has a default save that’s a
MemberDescriptorType, then it’s from that field being in __slots__, no longer an
staunch default save.
bpo-32953: If a non-dataclass inherits from a frozen dataclass, allow
attributes to be added to the derived class. Most productive attributes from the
frozen dataclass can no longer be assigned to. Require all dataclasses in a
hierarchy to be either all frozen or all non-frozen.
bpo-33097: Elevate RuntimeError when executor.submit
is named at some point of
interpreter shutdown.
bpo-32968: Modulo and floor division inviting Fraction and drift must
return drift.
bpo-33061: Add missing NoReturn
to __all__
in typing.py
bpo-33078: Fix the dimension dealing with in multiprocessing.Queue when a pickling
error occurs.
bpo-33064: lib2to3 now successfully helps trailing commas after *args
and kwargs
in feature signatures.
bpo-33056: FIX successfully terminate leaking fds in
concurrent.futures.ProcessPoolExecutor.
bpo-33021: Liberate the GIL at some point of fstat() calls, warding off dangle of all
threads when calling mmap.mmap(), os.urandom(), and random.seed(). Patch
by Nir Soffer.
bpo-31804: Protect a long way from failing in multiprocessing.Route of if the frequent
streams are closed or None at exit.
bpo-33034: Providing an explicit error message when casting the port
property to anything else that is no longer an integer save the utilization of urlparse()
and
urlsplit()
. Patch by Matt Eaton.
bpo-30249: Beef up struct.unpack_from() exception messages for problems
with the buffer dimension and offset.
bpo-33037: Skip sending/receiving records after SSL transport closing.
bpo-27683: Fix a regression in ipaddress
that consequence of
hosts()
is empty when the network is constructed by a tuple
containing an integer veil and most efficient 1 bit left for addresses.
bpo-22674: Add the strsignal() feature in the signal module that returns
the procedure description of the given signal, as returned by strsignal(3).
bpo-32999: Fix C implementation of ABC.__subclasscheck__(cls,
crashed when
subclass)subclass
is no longer a form object.
bpo-33009: Fix scrutinize.signature() for single-parameter partialmethods.
bpo-32969: Insist a complete lot of missing constants in zlib and fix corresponding
documentation.
bpo-32056: Improved exceptions raised for invalid sequence of channels and
sample width when learn an audio file in modules aifc
, wave
and sunau
.
bpo-32970: Improved disassembly of the MAKE_FUNCTION instruction.
bpo-32844: Fix disagreeable redirection of a low descriptor (0 or 1) to stderr in
subprocess if one more low descriptor is closed.
bpo-32960: For dataclasses, disallow inheriting frozen from non-frozen
classes, and likewise disallow inheriting non-frozen from frozen classes. This
restriction will possible be relaxed at a future date.
bpo-32713: Mounted tarfile.itn dealing with of out-of-bounds drift values. Patch
by Joffrey Fuhrer.
bpo-32257: The ssl module now contains OP_NO_RENEGOTIATION fixed,
available with OpenSSL 1.1.0h or 1.1.1.
bpo-32951: Recount instantiation of SSLSocket and SSLObject objects is now
prohibited. The constructors had been never documented, tested, or designed as
public constructors. Customers had been sing to use ssl.wrap_socket() or
SSLContext.
bpo-32929: Make a choice the tri-mutter parameter “hash”, and add the boolean
“unsafe_hash”. If unsafe_hash is Upright, add a __hash__ feature, however if a
__hash__ exists, raise TypeError. If unsafe_hash is Flawed, add a __hash__
in step with the values of eq= and frozen=. The unsafe_hash=Flawed habits is
the equivalent because the primitive hash=None habits. unsafe_hash=Flawed is the default,
good as hash=None archaic to be.
bpo-32947: Add OP_ENABLE_MIDDLEBOX_COMPAT and test workaround for TLSv1.3
for future compatibility with OpenSSL 1.1.1.
bpo-32146: Document the interaction between frozen executables and the
spawn and forkserver launch strategies in multiprocessing.
bpo-30622: The ssl module now detects missing NPN enhance in LibreSSL.
bpo-32922: dbm.launch() now encodes filename with the filesystem encoding
in mutter of default encoding.
bpo-32759: Free unused arenas in multiprocessing.heap.
bpo-32859: In os.dup2
, don’t check each name whether or no longer the dup3
syscall exists or no longer.
bpo-32556: nt._getfinalpathname, nt._getvolumepathname and
nt._getdiskusage now precisely convert from bytes.
bpo-21060: Rewrite complex message from setup.py upload from “No dist
file created in earlier present” to the more worthwhile “Must make and
upload files in a single present”.
bpo-32857: In tkinter
, after_cancel(None)
now raises a
ValueError
in mutter of canceling the principle scheduled feature.
Patch by Cheryl Sabella.
bpo-32852: Make certain sys.argv stays as a checklist when working save.
bpo-31333: _abc
module is added. It’s a speedup module with C
implementations for diverse functions and strategies in abc
. Rising an
ABC subclass and calling isinstance
or issubclass
with an ABC
subclass are up to 1.5x quicker. Besides, this makes Python launch-up up
to 10% quicker.
Insist that the unique implementation hides interior registry and caches,
beforehand accessible by process of internal most attributes _abc_registry
,
_abc_cache
, and _abc_negative_cache
. There are three debugging
helper strategies that will almost definitely be archaic as one more _dump_registry
,
_abc_registry_clear
, and _abc_caches_clear
.
bpo-32841: Mounted asyncio.Condition
scenario which silently no longer favorite
cancellation after notifying and cancelling a conditional lock. Patch by
Bar Harel.
bpo-32819: ssl.match_hostname() has been simplified and no longer depends
on re and ipaddress module for wildcard and IP addresses. Error reporting
for invalid wildcards has been improved.
bpo-19675: multiprocessing.Pool
no longer leaks processes if its
initialization fails.
bpo-32394: socket: Make a choice
TCP_FASTOPEN,TCP_KEEPCNT,TCP_KEEPIDLE,TCP_KEEPINTVL flags on older model
Windows at some point of lunge-time.
bpo-31787: Mounted refleaks of __init__()
strategies in diverse modules.
(Contributed by Oren Milman)
bpo-30157: Mounted guessing quote and delimiter in csv.Sniffer.sniff() when
most efficient the final field is quoted. Patch by Jake Davis.
bpo-30688: Added enhance of N{title}
escapes in traditional expressions.
Based entirely on patch by Jonathan Eunice.
bpo-32792: collections.ChainMap() preserves the list of the underlying
mappings.
bpo-32775: fnmatch.translate()
no longer produces patterns which
enjoy scrape operations. Gadgets starting with ‘[‘ or containing ‘–’, ‘&&’,
‘~~’ or ‘||’ will possible be interpreted otherwise in traditional expressions in
future versions. For the time being they emit warnings. fnmatch.translate() now
avoids producing patterns containing such sets by accident.
bpo-32622: Implement native swiftly sendfile for Windows proactor tournament loop.
bpo-32777: Fix a rare however doable pre-exec child route of deadlock in
subprocess on POSIX programs when marking file descriptors inheritable on
exec in the baby route of. This malicious program appears to be like to had been equipped in
3.4.
bpo-32647: The ctypes module archaic to rely on indirect linking for
dlopen. The shared extension is now explicitly linked in opposition to libdl on
platforms with dl.
bpo-32749: A dbm.tiring
database opened with flags ‘r’ is now
learn-most efficient. dbm.tiring.launch()
with flags ‘r’ and ‘w’ no longer creates
a database if it doesn’t exist.
bpo-32741: Implement asyncio.TimerHandle.when()
technique.
bpo-32691: Utilize mod_spec.guardian when working modules with pdb
bpo-32734: Mounted asyncio.Lock()
safety scenario which allowed purchasing
and locking the equivalent lock multiple cases, without it being free. Patch by
Bar Harel.
bpo-32727: Enact no longer encompass title field in SMTP envelope from contend with. Patch
by Stéphane Wirtel
bpo-31453: Add TLSVersion constants and SSLContext.maximum_version /
minimum_version attributes. The unique API wraps OpenSSL 1.1
https://www.openssl.org/doctors/man1.1.0/ssl/SSL_CTX_set_min_proto_version.html
feature.
bpo-24334: Inner implementation particulars of ssl module had been cleaned up.
The SSLSocket has one less layer of indirection. Owner and session
records are in actual fact handled by the SSLSocket and SSLObject constructor.
Channel binding implementation has been simplified.
bpo-31848: Fix the error dealing with in Aifc_read.initfp() when the SSND
chunk is no longer found. Patch by Zackery Spytz.
bpo-32585: Add Ttk spinbox widget to tkinter.ttk
. Patch by Alan D
Moore.
bpo-32512: profile
CLI accepts -m module_name
as one more
to script route.
bpo-8525: relieve() on a form now displays builtin subclasses. Here is
supposed basically to relieve with notification of more explicit exception
subclasses.
Patch by Sanyam Khurana.
bpo-31639: http.server now exposes a ThreadingHTTPServer class and makes use of it
when the module is lunge with -m
to manage with web browsers pre-opening
sockets.
bpo-29877: compileall: import ProcessPoolExecutor most efficient when wanted,
combating hangs on low resource platforms
bpo-32221: Varied functions returning tuple containing IPv6 addresses now
omit %scope
portion since the equivalent records is already encoded in
scopeid tuple merchandise. Especially this quickens socket.recvfrom()
when it receives multicast packet since pointless resolving of network
interface title is no longer favorite.
bpo-32147: binascii.unhexlify()
is now up to 2 cases quicker. Patch
by Sergey Fedoseev.
bpo-30693: The TarFile class now recurses directories in a reproducible
scheme.
bpo-30693: The ZipFile class now recurses directories in a reproducible
scheme.
bpo-31680: Added curses.ncurses_version
.
bpo-31908: Fix output of quilt files for save
module present-line
instrument. Previously emitted quilt files most efficient when --missing
possibility used to be
archaic. Patch by Michael Selik.
bpo-31608: Elevate a TypeError
in mutter of crashing if a
collections.deque
subclass returns a non-deque from __new__
. Patch
by Oren Milman.
bpo-31425: Add enhance for sockets of the AF_QIPCRTR contend with family,
supported by the Linux kernel. Here is archaic to refer to products and services,
corresponding to GPS or radio, working on Qualcomm devices. Patch by Bjorn
Andersson.
bpo-22005: Applied unpickling circumstances of
datetime
, date
and
time
pickled by Python 2. encoding='latin1'
must
be archaic for winning decoding.
bpo-27645: sqlite3.Connection
now exposes a
backup
technique, if the underlying SQLite
library is at model 3.6.11 or increased. Patch by Lele Gaifax.
bpo-16865: Make stronger arrays >=2GiB in ctypes
. Patch by Segev Finer.
bpo-31508: Eradicated enhance of arguments in
tkinter.ttk.Treeview.desire
. It used to be deprecated in 3.6. Utilize
unquestionably good strategies esteem selection_set
for altering the desire.
bpo-29456: Fix bugs in hangul normalization: u1176, u11a7 and u11c3