库
bpo-35845 [https://bugs.python.org/issue?@action=redirect&bpo=35845]: Add 'order' parameter to memoryview.tobytes().
bpo-35864 [https://bugs.python.org/issue?@action=redirect&bpo=35864]: The _asdict() method for collections.namedtuple now returns a regular dict instead of an OrderedDict.
bpo-35537 [https://bugs.python.org/issue?@action=redirect&bpo=35537]: An ExitStack is now used internally within subprocess.Popen to clean up pipe file handles. No behavior change in normal operation. But if closing one handle were ever to cause an exception, the others will now be closed instead of leaked. (patch by Giampaolo Rodola)
bpo-35847 [https://bugs.python.org/issue?@action=redirect&bpo=35847]: RISC-V needed the CTYPES_PASS_BY_REF_HACK. Fixes ctypes Structure test_pass_by_value.
bpo-35813 [https://bugs.python.org/issue?@action=redirect&bpo=35813]: Shared memory submodule added to multiprocessing to avoid need for serialization between processes
bpo-35780 [https://bugs.python.org/issue?@action=redirect&bpo=35780]: Fix lru_cache() errors arising in recursive, reentrant, or multithreaded code. These errors could result in orphan links and in the cache being trapped in a state with fewer than the specified maximum number of links. Fix handling of negative maxsize which should have been treated as zero. Fix errors in toggling the "full" status flag. Fix misordering of links when errors are encountered. Sync-up the C code and pure Python code for the space saving path in functions with a single positional argument. In this common case, the space overhead of an lru cache entry is reduced by almost half. Fix counting of cache misses. In error cases, the miss count was out of sync with the actual number of times the underlying user function was called.
bpo-35537 [https://bugs.python.org/issue?@action=redirect&bpo=35537]:
os.posix_spawn()
andos.posix_spawnp()
now have a setsid parameter.bpo-23846 [https://bugs.python.org/issue?@action=redirect&bpo=23846]:
asyncio.ProactorEventLoop
now catches and logs send errors when the self-pipe is full.bpo-34323 [https://bugs.python.org/issue?@action=redirect&bpo=34323]:
asyncio
: EnhanceIocpProactor.close()
log: wait 1 second before the first log, then log every second. Log also the number of seconds sinceclose()
was called.bpo-35674 [https://bugs.python.org/issue?@action=redirect&bpo=35674]: Add a new
os.posix_spawnp()
function. Patch by Joannah Nanjekye.bpo-35733 [https://bugs.python.org/issue?@action=redirect&bpo=35733]:
ast.Constant(boolean)
no longer an instance ofast.Num
. Patch by Anthony Sottile.bpo-35726 [https://bugs.python.org/issue?@action=redirect&bpo=35726]: QueueHandler.prepare() now makes a copy of the record before modifying and enqueueing it, to avoid affecting other handlers in the chain.
bpo-35719 [https://bugs.python.org/issue?@action=redirect&bpo=35719]: Sped up multi-argument
math
functions atan2(), copysign(), remainder() and hypot() by 1.3—2.5 times.bpo-35717 [https://bugs.python.org/issue?@action=redirect&bpo=35717]: Fix KeyError exception raised when using enums and compile. Patch contributed by Rémi Lapeyre.
bpo-35699 [https://bugs.python.org/issue?@action=redirect&bpo=35699]: Fixed detection of Visual Studio Build Tools 2017 in distutils
bpo-32710 [https://bugs.python.org/issue?@action=redirect&bpo=32710]: Fix memory leaks in asyncio ProactorEventLoop on overlapped operation failure.
bpo-35702 [https://bugs.python.org/issue?@action=redirect&bpo=35702]: The
time.CLOCK_UPTIME_RAW
constant is now available for macOS 10.12.bpo-32710 [https://bugs.python.org/issue?@action=redirect&bpo=32710]: Fix a memory leak in asyncio in the ProactorEventLoop when
ReadFile()
orWSASend()
overlapped operation fail immediately: release the internal buffer.bpo-35682 [https://bugs.python.org/issue?@action=redirect&bpo=35682]: Fix
asyncio.ProactorEventLoop.sendfile()
: don't attempt to set the result of an internal future if it's already done.bpo-35283 [https://bugs.python.org/issue?@action=redirect&bpo=35283]: Add a deprecated warning for the
threading.Thread.isAlive()
method. Patch by Donghee Na.bpo-35664 [https://bugs.python.org/issue?@action=redirect&bpo=35664]: Improve operator.itemgetter() performance by 33% with optimized argument handling and with adding a fast path for the common case of a single non-negative integer index into a tuple (which is the typical use case in the standard library).
bpo-35643 [https://bugs.python.org/issue?@action=redirect&bpo=35643]: Fixed a SyntaxWarning: invalid escape sequence in Modules/_sha3/cleanup.py. Patch by Mickaël Schoentgen.
bpo-35619 [https://bugs.python.org/issue?@action=redirect&bpo=35619]: Improved support of custom data descriptors in
help()
andpydoc
.bpo-28503 [https://bugs.python.org/issue?@action=redirect&bpo=28503]: The
crypt
module now internally uses thecrypt_r()
library function instead ofcrypt()
when available.bpo-35614 [https://bugs.python.org/issue?@action=redirect&bpo=35614]: Fixed help() on metaclasses. Patch by Sanyam Khurana.
bpo-35568 [https://bugs.python.org/issue?@action=redirect&bpo=35568]: Expose
raise(signum)
asraise_signal
bpo-35588 [https://bugs.python.org/issue?@action=redirect&bpo=35588]: The floor division and modulo operations and the
divmod()
function onfractions.Fraction
types are 2—4x faster. Patch by Stefan Behnel.bpo-35585 [https://bugs.python.org/issue?@action=redirect&bpo=35585]: Speedup building enums by value, e.g. http.HTTPStatus(200).
bpo-30561 [https://bugs.python.org/issue?@action=redirect&bpo=30561]: random.gammavariate(1.0, beta) now computes the same result as random.expovariate(1.0 / beta). This synchronizes the two algorithms and eliminates some idiosyncrasies in the old implementation. It does however produce a difference stream of random variables than it used to.
bpo-35537 [https://bugs.python.org/issue?@action=redirect&bpo=35537]: The
subprocess
module can now use theos.posix_spawn()
function in some cases for better performance.bpo-35526 [https://bugs.python.org/issue?@action=redirect&bpo=35526]: Delaying the 'joke' of barryasFLUFL.mandatory to Python version 4.0
bpo-35523 [https://bugs.python.org/issue?@action=redirect&bpo=35523]: Remove
ctypes
callback workaround: no longer create a callback at startup. Avoid SELinux alert onimport ctypes
andimport uuid
.bpo-31784 [https://bugs.python.org/issue?@action=redirect&bpo=31784]:
uuid.uuid1()
now callstime.time_ns()
rather thanint(time.time() * 1e9)
.bpo-35513 [https://bugs.python.org/issue?@action=redirect&bpo=35513]:
TextTestRunner
ofunittest.runner
now usestime.perf_counter()
rather thantime.time()
to measure the execution time of a test:time.time()
can go backwards, whereastime.perf_counter()
is monotonic.bpo-35502 [https://bugs.python.org/issue?@action=redirect&bpo=35502]: Fixed reference leaks in
xml.etree.ElementTree.TreeBuilder
in case of unfinished building of the tree (in particular when an error was raised during parsing XML).bpo-35348 [https://bugs.python.org/issue?@action=redirect&bpo=35348]: Make
platform.architecture()
parsing offile
command output more reliable: add the-b
option to thefile
command to omit the filename, force the usage of the C locale, and search also the "shared object" pattern.bpo-35491 [https://bugs.python.org/issue?@action=redirect&bpo=35491]:
multiprocessing
: AddPool._repr_()
and enhanceBaseProcess._repr_()
(add pid and parent pid) to ease debugging. Pool state constant values are now strings instead of integers, for exampleRUN
value becomes'RUN'
instead of0
.bpo-35477 [https://bugs.python.org/issue?@action=redirect&bpo=35477]:
multiprocessing.Pool.__enter__()
now fails if the pool is not running:with pool:
fails if used more than once.bpo-31446 [https://bugs.python.org/issue?@action=redirect&bpo=31446]: Copy command line that was passed to CreateProcessW since this function can change the content of the input buffer.
bpo-35471 [https://bugs.python.org/issue?@action=redirect&bpo=35471]: Python 2.4 dropped MacOS 9 support. The macpath module was deprecated in Python 3.7. The module is now removed.
bpo-23057 [https://bugs.python.org/issue?@action=redirect&bpo=23057]: Unblock Proactor event loop when keyboard interrupt is received on Windows
bpo-35052 [https://bugs.python.org/issue?@action=redirect&bpo=35052]: Fix xml.dom.minidom cloneNode() on a document with an entity: pass the correct arguments to the user data handler of an entity.
bpo-20239 [https://bugs.python.org/issue?@action=redirect&bpo=20239]: Allow repeated assignment deletion of
unittest.mock.Mock
attributes. Patch by Pablo Galindo.bpo-17185 [https://bugs.python.org/issue?@action=redirect&bpo=17185]: Set
_signature_
on mock forinspect
to get signature. Patch by Karthikeyan Singaravelan.bpo-35445 [https://bugs.python.org/issue?@action=redirect&bpo=35445]: Memory errors during creating posix.environ no longer ignored.
bpo-35415 [https://bugs.python.org/issue?@action=redirect&bpo=35415]: Validate fileno= argument to socket.socket().
bpo-35424 [https://bugs.python.org/issue?@action=redirect&bpo=35424]:
multiprocessing.Pool
destructor now emitsResourceWarning
if the pool is still running.bpo-35330 [https://bugs.python.org/issue?@action=redirect&bpo=35330]: When a
Mock
instance was used to wrap an object, ifside_effect
is used in one of the mocks of it methods, don't call the original implementation and return the result of using the side effect the same way that it is done with return_value.bpo-35346 [https://bugs.python.org/issue?@action=redirect&bpo=35346]: Drop Mac OS 9 and Rhapsody support from the
platform
module. Rhapsody last release was in 2000. Mac OS 9 last release was in 2001.bpo-10496 [https://bugs.python.org/issue?@action=redirect&bpo=10496]:
check_environ()
ofdistutils.utils
now catchesKeyError
on callingpwd.getpwuid()
: don't create theHOME
environment variable in this case.bpo-10496 [https://bugs.python.org/issue?@action=redirect&bpo=10496]:
posixpath.expanduser()
now returns the input path unchanged if theHOME
environment variable is not set and the current user has no home directory (if the current user identifier doesn't exist in the password database). This change fix thesite
module if the current user doesn't exist in the password database (if the user has no home directory).bpo-35389 [https://bugs.python.org/issue?@action=redirect&bpo=35389]:
platform.libc_ver()
now usesos.confstr('CS_GNU_LIBC_VERSION')
if available and the executable parameter is not set.bpo-35394 [https://bugs.python.org/issue?@action=redirect&bpo=35394]: Add empty slots to asyncio abstract protocols.
bpo-35310 [https://bugs.python.org/issue?@action=redirect&bpo=35310]: Fix a bug in
select.select()
where, in some cases, the file descriptor sequences were returned unmodified after a signal interruption, even though the file descriptors might not be ready yet.select.select()
will now always return empty lists if a timeout has occurred. Patch by Oran Avraham.bpo-35380 [https://bugs.python.org/issue?@action=redirect&bpo=35380]: Enable TCP_NODELAY on Windows for proactor asyncio event loop.
bpo-35341 [https://bugs.python.org/issue?@action=redirect&bpo=35341]: Add generic version of
collections.OrderedDict
to thetyping
module. Patch by Ismo Toijala.bpo-35371 [https://bugs.python.org/issue?@action=redirect&bpo=35371]: Fixed possible crash in
os.utime()
on Windows when pass incorrect arguments.bpo-35346 [https://bugs.python.org/issue?@action=redirect&bpo=35346]:
platform.uname()
now redirectsstderr
toos.devnull
when running external programs likecmd /c ver
.bpo-35066 [https://bugs.python.org/issue?@action=redirect&bpo=35066]: Previously, calling the strftime() method on a datetime object with a trailing '%' in the format string would result in an exception. However, this only occurred when the datetime C module was being used; the python implementation did not match this behavior. Datetime is now PEP-399 compliant, and will not throw an exception on a trailing '%'.
bpo-35345 [https://bugs.python.org/issue?@action=redirect&bpo=35345]: The function
platform.popen
has been removed, it was deprecated since Python 3.3: useos.popen()
instead.bpo-35344 [https://bugs.python.org/issue?@action=redirect&bpo=35344]: On macOS,
platform.platform()
now usesplatform.mac_ver()
, if it returns a non-empty release string, to get the macOS version rather than the darwin version.bpo-35312 [https://bugs.python.org/issue?@action=redirect&bpo=35312]: Make
lib2to3.pgen2.parse.ParseError
round-trip pickleable. Patch by Anthony Sottile.bpo-35308 [https://bugs.python.org/issue?@action=redirect&bpo=35308]: Fix regression in
webbrowser
where default browsers may be preferred over browsers in theBROWSER
environment variable.bpo-24746 [https://bugs.python.org/issue?@action=redirect&bpo=24746]: Avoid stripping trailing whitespace in doctest fancy diff. Original patch by R. David Murray & Jairo Trad. Enhanced by Sanyam Khurana.
bpo-28604 [https://bugs.python.org/issue?@action=redirect&bpo=28604]:
locale.localeconv()
now sets temporarily theLC_CTYPE
locale to theLC_MONETARY
locale if the two locales are different and monetary strings are nonASCII. This temporary change affects other threads.bpo-35277 [https://bugs.python.org/issue?@action=redirect&bpo=35277]: Update ensurepip to install pip 18.1 and setuptools 40.6.2.
bpo-24209 [https://bugs.python.org/issue?@action=redirect&bpo=24209]: Adds IPv6 support when invoking http.server directly.
bpo-35226 [https://bugs.python.org/issue?@action=redirect&bpo=35226]: Recursively check arguments when testing for equality of
unittest.mock.call
objects and add note that tracking of parameters used to create ancestors of mocks inmock_calls
is not possible.bpo-29564 [https://bugs.python.org/issue?@action=redirect&bpo=29564]: The warnings module now suggests to enable tracemalloc if the source is specified, the tracemalloc module is available, but tracemalloc is not tracing memory allocations.
bpo-35189 [https://bugs.python.org/issue?@action=redirect&bpo=35189]: Modify the following fnctl function to retry if interrupted by a signal (EINTR): flock, lockf, fnctl
bpo-30064 [https://bugs.python.org/issue?@action=redirect&bpo=30064]: Use adddone_callback() in sock* asyncio API to unsubscribe reader/writer early on calcellation.
bpo-35186 [https://bugs.python.org/issue?@action=redirect&bpo=35186]: Removed the "built with" comment added when
setup.py upload
is used with eitherbdist_rpm
orbdist_dumb
.bpo-35152 [https://bugs.python.org/issue?@action=redirect&bpo=35152]: Allow sending more than 2 GB at once on a multiprocessing connection on non-Windows systems.
bpo-35062 [https://bugs.python.org/issue?@action=redirect&bpo=35062]: Fix incorrect parsing of
io.IncrementalNewlineDecoder
's translate argument.bpo-35065 [https://bugs.python.org/issue?@action=redirect&bpo=35065]: Remove
StreamReaderProtocol.untrackreader
. The call tountrackreader
is currently performed too soon, causing the protocol to forget about the reader beforeconnection_lost
can run and feed the EOF to the reader.bpo-34160 [https://bugs.python.org/issue?@action=redirect&bpo=34160]: ElementTree and minidom now preserve the attribute order specified by the user.
bpo-35079 [https://bugs.python.org/issue?@action=redirect&bpo=35079]: Improve difflib.SequenceManager.get_matching_blocks doc by adding 'non-overlapping' and changing '!=' to '<'.
bpo-33710 [https://bugs.python.org/issue?@action=redirect&bpo=33710]: Deprecated
l*gettext()
functions and methods in thegettext
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 forl*gettext()
functions and methods.bpo-35017 [https://bugs.python.org/issue?@action=redirect&bpo=35017]:
socketserver.BaseServer.serve_forever()
now exits immediately if it'sshutdown()
method is called while it is polling for new events.bpo-35024 [https://bugs.python.org/issue?@action=redirect&bpo=35024]:
importlib
no longer logswrote
redundantly after(created|could not create)
is already logged. Patch by Quentin Agren.bpo-35047 [https://bugs.python.org/issue?@action=redirect&bpo=35047]:
unittest.mock
now includes mock calls in exception messages ifassert_not_called
,assert_called_once
, orassert_called_once_with
fails. Patch by Petter Strandmark.bpo-31047 [https://bugs.python.org/issue?@action=redirect&bpo=31047]: Fix
ntpath.abspath
regression where it didn't remove a trailing separator on Windows. Patch by Tim Graham.bpo-35053 [https://bugs.python.org/issue?@action=redirect&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 [https://bugs.python.org/issue?@action=redirect&bpo=31553]: Add the —json-lines option to json.tool. Patch by hongweipeng.
bpo-34794 [https://bugs.python.org/issue?@action=redirect&bpo=34794]: Fixed a leak in Tkinter when pass the Python wrapper around Tcl_Obj back to Tcl/Tk.
bpo-34909 [https://bugs.python.org/issue?@action=redirect&bpo=34909]: Enum: fix grandchildren subclassing when parent mixed with concrete data types.
bpo-35022 [https://bugs.python.org/issue?@action=redirect&bpo=35022]:
unittest.mock.MagicMock
now supports the__fspath__
method (fromos.PathLike
).bpo-35008 [https://bugs.python.org/issue?@action=redirect&bpo=35008]: Fixed references leaks when call the
__setstate__()
method ofxml.etree.ElementTree.Element
in the C implementation for already initialized element.bpo-23420 [https://bugs.python.org/issue?@action=redirect&bpo=23420]: Verify the value for the parameter '-s' of the cProfile CLI. Patch by Robert Kuska
bpo-33947 [https://bugs.python.org/issue?@action=redirect&bpo=33947]: dataclasses now handle recursive reprs without raising RecursionError.
bpo-34890 [https://bugs.python.org/issue?@action=redirect&bpo=34890]: Make
inspect.iscoroutinefunction()
,inspect.isgeneratorfunction()
andinspect.isasyncgenfunction()
work withfunctools.partial()
. Patch by Pablo Galindo.bpo-34521 [https://bugs.python.org/issue?@action=redirect&bpo=34521]: Use
socket.CMSG_SPACE()
to calculate ancillary data size instead ofsocket.CMSG_LEN()
inmultiprocessing.reduction.recvfds()
as RFC 3542 [https://datatracker.ietf.org/doc/html/rfc3542.html] requires the use of the former for portable applications.bpo-31522 [https://bugs.python.org/issue?@action=redirect&bpo=31522]: The
mailbox.mbox.get_string
function from_ parameter can now successfully be set to a non-default value.bpo-34970 [https://bugs.python.org/issue?@action=redirect&bpo=34970]: Protect tasks weak set manipulation in
asyncio.all_tasks()
bpo-34969 [https://bugs.python.org/issue?@action=redirect&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 [https://bugs.python.org/issue?@action=redirect&bpo=16965]: The 2to3
execfile
fixer now opens the file with mode'rb'
. Patch by Zackery Spytz.bpo-34966 [https://bugs.python.org/issue?@action=redirect&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 [https://bugs.python.org/issue?@action=redirect&bpo=34926]:
mimetypes.MimeTypes.guess_type()
now accepts pathlike object in addition to url strings. Patch by Mayank Asthana.bpo-23831 [https://bugs.python.org/issue?@action=redirect&bpo=23831]: Add
moveto()
method to thetkinter.Canvas
widget. Patch by Juliette Monsel.bpo-34941 [https://bugs.python.org/issue?@action=redirect&bpo=34941]: Methods
find()
,findtext()
andfindall()
of theElement
class in thexml.etree.ElementTree
module are now able to find children which are instances ofElement
subclasses.bpo-32680 [https://bugs.python.org/issue?@action=redirect&bpo=32680]:
smtplib.SMTP
objects now always have asock
attribute presentbpo-34769 [https://bugs.python.org/issue?@action=redirect&bpo=34769]: Fix for async generators not finalizing when event loop is in debug mode and garbage collector runs in another thread.
bpo-34936 [https://bugs.python.org/issue?@action=redirect&bpo=34936]: Fix
TclError
intkinter.Spinbox.selection_element()
. Patch by Juliette Monsel.bpo-34829 [https://bugs.python.org/issue?@action=redirect&bpo=34829]: Add methods
selection_from
,selection_range
,selection_present
andselection_to
to thetkinter.Spinbox
for consistency with thetkinter.Entry
widget. Patch by Juliette Monsel.bpo-34911 [https://bugs.python.org/issue?@action=redirect&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 [https://bugs.python.org/issue?@action=redirect&bpo=34922]: Fixed integer overflow in the
digest()
andhexdigest()
methods for the SHAKE algorithm in thehashlib
module.bpo-34925 [https://bugs.python.org/issue?@action=redirect&bpo=34925]: 25% speedup in argument parsing for the functions in the bisect module.
bpo-34900 [https://bugs.python.org/issue?@action=redirect&bpo=34900]: Fixed
unittest.TestCase.debug()
when used to call test methods with subtests. Patch by Bruno Oliveira.bpo-34844 [https://bugs.python.org/issue?@action=redirect&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 reraise 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 [https://bugs.python.org/issue?@action=redirect&bpo=34897]: Adjust test.support.missing_compiler_executable check so that a nominal command name of "" is ignored. Patch by Michael Felt.
bpo-34871 [https://bugs.python.org/issue?@action=redirect&bpo=34871]: Fix inspect module polluted
sys.modules
when parsing__textsignature_
of callable.bpo-34898 [https://bugs.python.org/issue?@action=redirect&bpo=34898]: Add
mtime
argument togzip.compress
for reproducible output. Patch by Guo Ci Teo.bpo-28441 [https://bugs.python.org/issue?@action=redirect&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 [https://bugs.python.org/issue?@action=redirect&bpo=34866]: Adding
max_num_fields
tocgi.FieldStorage
to make DOS attacks harder by limiting the number ofMiniFieldStorage
objects created byFieldStorage
.bpo-34711 [https://bugs.python.org/issue?@action=redirect&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 [https://bugs.python.org/issue?@action=redirect&bpo=34872]: Fix self-cancellation in C implementation of asyncio.Task
bpo-34849 [https://bugs.python.org/issue?@action=redirect&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 [https://bugs.python.org/issue?@action=redirect&bpo=34022]: The
SOURCE_DATE_EPOCH
environment variable no longer overrides the value of the invalidation_mode argument topy_compile.compile()
, and determines its default value instead.bpo-34819 [https://bugs.python.org/issue?@action=redirect&bpo=34819]: Use a monotonic clock to compute timeouts in
Executor.map()
andas_completed()
, in order to prevent timeouts from deviating when the system clock is adjusted.bpo-34758 [https://bugs.python.org/issue?@action=redirect&bpo=34758]: Add .wasm -> application/wasm to list of recognized file types and content type headers
bpo-34789 [https://bugs.python.org/issue?@action=redirect&bpo=34789]:
xml.sax.make_parser()
now accepts any iterable as its parser_list argument. Patch by Andrés Delfino.bpo-34334 [https://bugs.python.org/issue?@action=redirect&bpo=34334]: In
QueueHandler
, clearexc_text
fromLogRecord
to prevent traceback from being written twice.bpo-34687 [https://bugs.python.org/issue?@action=redirect&bpo=34687]: On Windows, asyncio now uses ProactorEventLoop, instead of SelectorEventLoop, by default.
bpo-5950 [https://bugs.python.org/issue?@action=redirect&bpo=5950]: Support reading zip files with archive comments in
zipimport
.bpo-32892 [https://bugs.python.org/issue?@action=redirect&bpo=32892]: The parser now represents all constants as
ast.Constant
instead of using specific constant AST types (Num
,Str
,Bytes
,NameConstant
andEllipsis
). These classes are considered deprecated and will be removed in future Python versions.bpo-34728 [https://bugs.python.org/issue?@action=redirect&bpo=34728]: Add deprecation warning when
loop
is used in methods:asyncio.sleep
,asyncio.wait
andasyncio.wait_for
.bpo-34738 [https://bugs.python.org/issue?@action=redirect&bpo=34738]: ZIP files created by
distutils
will now include entries for directories.bpo-34659 [https://bugs.python.org/issue?@action=redirect&bpo=34659]: Add an optional initial argument to itertools.accumulate().
bpo-29577 [https://bugs.python.org/issue?@action=redirect&bpo=29577]: Support multiple mixin classes when creating Enums.
bpo-34670 [https://bugs.python.org/issue?@action=redirect&bpo=34670]: Add SSLContext.post_handshake_auth and SSLSocket.verify_client_post_handshake for TLS 1.3's post handshake authentication feature.
bpo-32718 [https://bugs.python.org/issue?@action=redirect&bpo=32718]: The Activate.ps1 script from venv works with PowerShell Core 6.1 and is now available under all operating systems.
bpo-31177 [https://bugs.python.org/issue?@action=redirect&bpo=31177]: Fix bug that prevented using
reset_mock
on mock instances with deleted attributesbpo-34672 [https://bugs.python.org/issue?@action=redirect&bpo=34672]: Add a workaround, so the
'Z'
time.strftime()
specifier on the musl C library can work in some cases.bpo-34666 [https://bugs.python.org/issue?@action=redirect&bpo=34666]: Implement
asyncio.StreamWriter.awrite
andasyncio.StreamWriter.aclose()
coroutines. Methods are needed for providing a consistent stream API with control flow switched on by default.bpo-6721 [https://bugs.python.org/issue?@action=redirect&bpo=6721]: Acquire the logging module's commonly used internal locks while fork()ing to avoid deadlocks in the child process.
bpo-34658 [https://bugs.python.org/issue?@action=redirect&bpo=34658]: Fix a rare interpreter unhandled exception state SystemError only seen when using subprocess with a preexec_fn while an after_parent handler has been registered with os.registeratfork and the fork system call fails.
bpo-34652 [https://bugs.python.org/issue?@action=redirect&bpo=34652]: Ensure
os.lchmod()
is never defined on Linux.bpo-34638 [https://bugs.python.org/issue?@action=redirect&bpo=34638]: Store a weak reference to stream reader to break strong references loop between reader and protocol. It allows to detect and close the socket if the stream is deleted (garbage collected) without
close()
call.bpo-34536 [https://bugs.python.org/issue?@action=redirect&bpo=34536]:
Enum.missing
: raiseValueError
if None returned andTypeError
if nonmember is returned.bpo-34636 [https://bugs.python.org/issue?@action=redirect&bpo=34636]: Speed up re scanning of many non-matching characters for s w and d within bytes objects. (microoptimization)
bpo-24412 [https://bugs.python.org/issue?@action=redirect&bpo=24412]: Add
addModuleCleanup()
andaddClassCleanup()
to unittest to support cleanups forsetUpModule()
andsetUpClass()
. Patch by Lisa Roach.bpo-34630 [https://bugs.python.org/issue?@action=redirect&bpo=34630]: Don't log SSL certificate errors in asyncio code (connection error logging is skipped already).
bpo-32490 [https://bugs.python.org/issue?@action=redirect&bpo=32490]: Prevent filename duplication in
subprocess
exception messages. Patch by Zackery Spytz.bpo-34363 [https://bugs.python.org/issue?@action=redirect&bpo=34363]: dataclasses.asdict() and .astuple() now handle namedtuples correctly.
bpo-34625 [https://bugs.python.org/issue?@action=redirect&bpo=34625]: Update vendorized expat library version to 2.2.6.
bpo-32270 [https://bugs.python.org/issue?@action=redirect&bpo=32270]: The subprocess module no longer mistakenly closes redirected fds even when they were in pass_fds when outside of the default {0, 1, 2} set.
bpo-34622 [https://bugs.python.org/issue?@action=redirect&bpo=34622]: Create a dedicated
asyncio.CancelledError
,asyncio.InvalidStateError
andasyncio.TimeoutError
exception classes. Inherit them from corresponding exceptions fromconcurrent.futures
package. Extractasyncio
exceptions into a separate file.bpo-34610 [https://bugs.python.org/issue?@action=redirect&bpo=34610]: Fixed iterator of
multiprocessing.managers.DictProxy
.bpo-34421 [https://bugs.python.org/issue?@action=redirect&bpo=34421]: Fix distutils logging for nonASCII strings. This caused installation issues on Windows.
bpo-34604 [https://bugs.python.org/issue?@action=redirect&bpo=34604]: Fix possible mojibake in the error message of
pwd.getpwnam
andgrp.getgrnam
using string representation because of invisible characters or trailing whitespaces. Patch by William Grzybowski.bpo-30977 [https://bugs.python.org/issue?@action=redirect&bpo=30977]: Make uuid.UUID use
__slots__
to reduce its memory footprint. Based on original patch by Wouter Bolsterlee.bpo-34574 [https://bugs.python.org/issue?@action=redirect&bpo=34574]: OrderedDict iterators are not exhausted during pickling anymore. Patch by Sergey Fedoseev.
bpo-8110 [https://bugs.python.org/issue?@action=redirect&bpo=8110]: Refactored
subprocess
to check for Windows-specific modules rather thansys.platform == 'win32'
.bpo-34530 [https://bugs.python.org/issue?@action=redirect&bpo=34530]:
distutils.spawn.find_executable()
now falls back onos.defpath
if thePATH
environment variable is not set.bpo-34563 [https://bugs.python.org/issue?@action=redirect&bpo=34563]: On Windows, fix multiprocessing.Connection for very large read: fix winapi.PeekNamedPipe() and winapi.ReadFile() for read larger than INT_MAX (usually
2**31-1
).bpo-34558 [https://bugs.python.org/issue?@action=redirect&bpo=34558]: Correct typo in Lib/ctypes/_aix.py
bpo-34282 [https://bugs.python.org/issue?@action=redirect&bpo=34282]: Move
Enum._convert
toEnumMeta._convert_
and fix enum members getting shadowed by parent attributes.bpo-22872 [https://bugs.python.org/issue?@action=redirect&bpo=22872]: When the queue is closed,
ValueError
is now raised bymultiprocessing.Queue.put()
andmultiprocessing.Queue.get()
instead ofAssertionError
andOSError
, respectively. Patch by Zackery Spytz.bpo-34515 [https://bugs.python.org/issue?@action=redirect&bpo=34515]: Fix parsing nonASCII identifiers in
lib2to3.pgen2.tokenize
( PEP 3131 [https://peps.python.org/pep-3131/]).bpo-13312 [https://bugs.python.org/issue?@action=redirect&bpo=13312]: Avoids a possible integer underflow (undefined behavior) in the time module's year handling code when passed a very low negative year value.
bpo-34472 [https://bugs.python.org/issue?@action=redirect&bpo=34472]: Improved compatibility for streamed files in
zipfile
. Previously an optional signature was not being written and certain ZIP applications were not supported. Patch by Silas Sewell.bpo-34454 [https://bugs.python.org/issue?@action=redirect&bpo=34454]: Fix the .fromisoformat() methods of datetime types crashing when given unicode with non-UTF-8-encodable code points. Specifically, datetime.fromisoformat() now accepts surrogate unicode code points used as the separator. Report and tests by Alexey Izbyshev, patch by Paul Ganssle.
bpo-6700 [https://bugs.python.org/issue?@action=redirect&bpo=6700]: Fix inspect.getsourcelines for module level frames/tracebacks. Patch by Vladimir Matveev.
bpo-34171 [https://bugs.python.org/issue?@action=redirect&bpo=34171]: Running the
trace
module no longer creates thetrace.cover
file.bpo-34441 [https://bugs.python.org/issue?@action=redirect&bpo=34441]: Fix crash when an
ABC
-derived class with invalid__subclasses__
is passed as the second argument toissubclass()
. Patch by Alexey Izbyshev.bpo-34427 [https://bugs.python.org/issue?@action=redirect&bpo=34427]: Fix infinite loop in
a.extend(a)
forMutableSequence
subclasses.bpo-34412 [https://bugs.python.org/issue?@action=redirect&bpo=34412]: Make
signal.strsignal()
work on HP-UX. Patch by Michael Osipov.bpo-20849 [https://bugs.python.org/issue?@action=redirect&bpo=20849]: shutil.copytree now accepts a new
dirs_exist_ok
keyword argument. Patch by Josh Bronson.bpo-31715 [https://bugs.python.org/issue?@action=redirect&bpo=31715]: Associate
.mjs
file extension withapplication/javascript
MIME Type.bpo-34384 [https://bugs.python.org/issue?@action=redirect&bpo=34384]:
os.readlink()
now accepts pathlike andbytes
objects on Windows.bpo-22602 [https://bugs.python.org/issue?@action=redirect&bpo=22602]: The UTF-7 decoder now raises
UnicodeDecodeError
for ill-formed sequences starting with "+" (as specified in RFC 2152). Patch by Zackery Spytz.bpo-2122 [https://bugs.python.org/issue?@action=redirect&bpo=2122]: The
mmap.flush()
method now returnsNone
on success, raises an exception on error under all platforms.bpo-34341 [https://bugs.python.org/issue?@action=redirect&bpo=34341]: Appending to the ZIP archive with the ZIP64 extension no longer grows the size of extra fields of existing entries.
bpo-34333 [https://bugs.python.org/issue?@action=redirect&bpo=34333]: Fix %-formatting in
pathlib.PurePath.with_suffix()
when formatting an error message.bpo-18540 [https://bugs.python.org/issue?@action=redirect&bpo=18540]: The
imaplib.IMAP4
andimaplib.IMAP4_SSL
classes now resolve to the local host IP correctly when the default value of host parameter (''
) is used.bpo-26502 [https://bugs.python.org/issue?@action=redirect&bpo=26502]: Implement
traceback.FrameSummary.__len__()
method to preserve compatibility with the old tuple API.bpo-34318 [https://bugs.python.org/issue?@action=redirect&bpo=34318]:
assertRaises()
,assertRaisesRegex()
,assertWarns()
andassertWarnsRegex()
no longer success if the passed callable is None. They no longer ignore unknown keyword arguments in the context manager mode. A DeprecationWarning was raised in these cases since Python 3.5.bpo-9372 [https://bugs.python.org/issue?@action=redirect&bpo=9372]: Deprecate
__getitem__()
methods ofxml.dom.pulldom.DOMEventStream
,wsgiref.util.FileWrapper
andfileinput.FileInput
.bpo-33613 [https://bugs.python.org/issue?@action=redirect&bpo=33613]: Fix a race condition in
multiprocessing.semaphore_tracker
when the tracker receives SIGINT before it can register signal handlers for ignoring it.bpo-34248 [https://bugs.python.org/issue?@action=redirect&bpo=34248]: Report filename in the exception raised when the database file cannot be opened by
dbm.gnu.open()
anddbm.ndbm.open()
due to OS-related error. Patch by Zsolt Cserna.bpo-33089 [https://bugs.python.org/issue?@action=redirect&bpo=33089]: Add math.dist() to compute the Euclidean distance between two points.
bpo-34246 [https://bugs.python.org/issue?@action=redirect&bpo=34246]:
smtplib.SMTP.send_message()
no longer modifies the content of the mail_options argument. Patch by Pablo S. Blum de Aguiar.bpo-31047 [https://bugs.python.org/issue?@action=redirect&bpo=31047]: Fix
ntpath.abspath
for invalid paths on windows. Patch by Franz Woellert.bpo-32321 [https://bugs.python.org/issue?@action=redirect&bpo=32321]: Add pure Python fallback for functools.reduce. Patch by Robert Wright.
bpo-34270 [https://bugs.python.org/issue?@action=redirect&bpo=34270]: The default asyncio task class now always has a name which can be get or set using two new methods (
get_name()
andset_name()
) and is visible in therepr()
output. An initial name can also be set using the newname
keyword argument toasyncio.create_task()
or thecreate_task()
method of the event loop. If no initial name is set, the default Task implementation generates a name likeTask-1
using a monotonic counter.bpo-34263 [https://bugs.python.org/issue?@action=redirect&bpo=34263]: asyncio's event loop will not pass timeouts longer than one day to epoll/select etc.
bpo-34035 [https://bugs.python.org/issue?@action=redirect&bpo=34035]: Fix several AttributeError in zipfile seek() methods. Patch by Mickaël Schoentgen.
bpo-32215 [https://bugs.python.org/issue?@action=redirect&bpo=32215]: Fix performance regression in
sqlite3
when a DML statement appeared in a different line than the rest of the SQL query.bpo-34075 [https://bugs.python.org/issue?@action=redirect&bpo=34075]: Deprecate passing non-ThreadPoolExecutor instances to
AbstractEventLoop.set_default_executor()
.bpo-34251 [https://bugs.python.org/issue?@action=redirect&bpo=34251]: Restore
msilib.Win64
to preserve backwards compatibility since it's already used bydistutils
'bdist_msi
command.bpo-19891 [https://bugs.python.org/issue?@action=redirect&bpo=19891]: Ignore errors caused by missing / non-writable homedir while writing history during exit of an interactive session. Patch by Anthony Sottile.
bpo-33089 [https://bugs.python.org/issue?@action=redirect&bpo=33089]: Enhanced math.hypot() to support more than two dimensions.
bpo-34228 [https://bugs.python.org/issue?@action=redirect&bpo=34228]: tracemalloc: PYTHONTRACEMALLOC=0 environment variable and -X tracemalloc=0 command line option are now allowed to disable explicitly tracemalloc at startup.
bpo-13041 [https://bugs.python.org/issue?@action=redirect&bpo=13041]: Use
shutil.get_terminal_size()
to calculate the terminal width correctly in theargparse.HelpFormatter
class. Initial patch by Zbyszek Jędrzejewski-Szmek.bpo-34213 [https://bugs.python.org/issue?@action=redirect&bpo=34213]: Allow frozen dataclasses to have a field named "object". Previously this conflicted with an internal use of "object".
bpo-34052 [https://bugs.python.org/issue?@action=redirect&bpo=34052]:
sqlite3.Connection.create_aggregate()
,sqlite3.Connection.create_function()
,sqlite3.Connection.set_authorizer()
,sqlite3.Connection.set_progress_handler()
methods raises TypeError when unhashable objects are passed as callable. These methods now don't pass such objects to SQLite API. Previous behavior could lead to segfaults. Patch by Sergey Fedoseev.bpo-34197 [https://bugs.python.org/issue?@action=redirect&bpo=34197]: Attributes skipinitialspace, doublequote and strict of the dialect attribute of the
csv
reader are nowbool
instances instead of integers 0 or 1.bpo-32788 [https://bugs.python.org/issue?@action=redirect&bpo=32788]: Errors other than
TypeError
raised in methods__adapt__()
and__conform__()
in thesqlite3
module are now propagated to the user.bpo-21446 [https://bugs.python.org/issue?@action=redirect&bpo=21446]: The
reload
fixer now usesimportlib.reload()
instead of deprecatedimp.reload()
.bpo-940286 [https://bugs.python.org/issue?@action=redirect&bpo=940286]: pydoc's
Helper.showtopic()
method now prints the cross references of a topic correctly.bpo-34164 [https://bugs.python.org/issue?@action=redirect&bpo=34164]:
base64.b32decode()
could raise UnboundLocalError or OverflowError for incorrect padding. Now it always raisesbase64.Error
in these cases.bpo-33729 [https://bugs.python.org/issue?@action=redirect&bpo=33729]: Fixed issues with arguments parsing in
hashlib
.bpo-34097 [https://bugs.python.org/issue?@action=redirect&bpo=34097]: ZipFile can zip files older than 1980-01-01 and newer than 2107-12-31 using a new
strict_timestamps
parameter at the cost of setting the timestamp to the limit.bpo-34108 [https://bugs.python.org/issue?@action=redirect&bpo=34108]: Remove extraneous CR in 2to3 refactor.
bpo-34070 [https://bugs.python.org/issue?@action=redirect&bpo=34070]: Make sure to only check if the handle is a tty, when opening a file with
buffering=-1
.bpo-27494 [https://bugs.python.org/issue?@action=redirect&bpo=27494]: Reverted bpo-27494 [https://bugs.python.org/issue?@action=redirect&bpo=27494]. 2to3 rejects now a trailing comma in generator expressions.
bpo-33967 [https://bugs.python.org/issue?@action=redirect&bpo=33967]: functools.singledispatch now raises TypeError instead of IndexError when no positional arguments are passed.
bpo-34041 [https://bugs.python.org/issue?@action=redirect&bpo=34041]: Add the parameter deterministic to the
sqlite3.Connection.create_function()
method. Patch by Sergey Fedoseev.bpo-34056 [https://bugs.python.org/issue?@action=redirect&bpo=34056]: Ensure the loader shim created by
imp.load_module
always returns bytes from itsget_data()
function. This fixes usingimp.load_module
with PEP 552 [https://peps.python.org/pep-0552/] hash-based pycs.bpo-34054 [https://bugs.python.org/issue?@action=redirect&bpo=34054]: The multiprocessing module now uses the monotonic clock
time.monotonic()
instead of the system clocktime.time()
to implement timeout.bpo-34043 [https://bugs.python.org/issue?@action=redirect&bpo=34043]: Optimize tarfile uncompress performance about 15% when gzip is used.
bpo-34044 [https://bugs.python.org/issue?@action=redirect&bpo=34044]:
subprocess.Popen
now copies the startupinfo argument to leave it unchanged: it will modify the copy, so that the sameSTARTUPINFO
object can be used multiple times.bpo-34010 [https://bugs.python.org/issue?@action=redirect&bpo=34010]: Fixed a performance regression for reading streams with tarfile. The buffered read should use a list, instead of appending to a bytes object.
bpo-34019 [https://bugs.python.org/issue?@action=redirect&bpo=34019]: webbrowser: Correct the arguments passed to Opera Browser when opening a new URL using the
webbrowser
module. Patch by Bumsik Kim.bpo-34003 [https://bugs.python.org/issue?@action=redirect&bpo=34003]: csv.DictReader now creates dicts instead of OrderedDicts. Patch by Michael Selik.
bpo-33978 [https://bugs.python.org/issue?@action=redirect&bpo=33978]: Closed existing logging handlers before reconfiguration via fileConfig and dictConfig. Patch by Karthikeyan Singaravelan.
bpo-14117 [https://bugs.python.org/issue?@action=redirect&bpo=14117]: Make minor tweaks to turtledemo. The 'wikipedia' example is now 'rosette', describing what it draws. The 'penrose' print output is reduced. The'1024' output of 'tree' is eliminated.
bpo-33974 [https://bugs.python.org/issue?@action=redirect&bpo=33974]: Fixed passing lists and tuples of strings containing special characters
"
,\
,{
,}
and\n
as options tottk
widgets.bpo-27500 [https://bugs.python.org/issue?@action=redirect&bpo=27500]: Fix getaddrinfo to resolve IPv6 addresses correctly.
bpo-24567 [https://bugs.python.org/issue?@action=redirect&bpo=24567]: Improve random.choices() to handle subnormal input weights that could occasionally trigger an IndexError.
bpo-33871 [https://bugs.python.org/issue?@action=redirect&bpo=33871]: Fixed integer overflow in
os.readv()
,os.writev()
,os.preadv()
andos.pwritev()
and inos.sendfile()
with headers or trailers arguments (on BSD-based OSes and macOS).bpo-25007 [https://bugs.python.org/issue?@action=redirect&bpo=25007]: Add
copy.copy()
andcopy.deepcopy()
support to zlib compressors and decompressors. Patch by Zackery Spytz.bpo-33929 [https://bugs.python.org/issue?@action=redirect&bpo=33929]: multiprocessing: Fix a race condition in Popen of multiprocessing.popen_spawn_win32. The child process now duplicates the read end of pipe instead of "stealing" it. Previously, the read end of pipe was "stolen" by the child process, but it leaked a handle if the child process had been terminated before it could steal the handle from the parent process.
bpo-33899 [https://bugs.python.org/issue?@action=redirect&bpo=33899]: Tokenize module now implicitly emits a NEWLINE when provided with input that does not have a trailing new line. This behavior now matches what the C tokenizer does internally. Contributed by Ammar Askar.
bpo-33897 [https://bugs.python.org/issue?@action=redirect&bpo=33897]: Added a 'force' keyword argument to logging.basicConfig().
bpo-33695 [https://bugs.python.org/issue?@action=redirect&bpo=33695]:
shutil.copytree()
usesos.scandir()
function and all copy functions depending from it use cachedos.stat()
values. The speedup for copying a directory with 8000 files is around +9% on Linux, +20% on Windows and + 30% on a Windows SMB share. Also the number ofos.stat()
syscalls is reduced by 38% makingshutil.copytree()
especially faster on network filesystems. (Contributed by Giampaolo Rodola' in bpo-33695 [https://bugs.python.org/issue?@action=redirect&bpo=33695].)bpo-33916 [https://bugs.python.org/issue?@action=redirect&bpo=33916]: bz2 and lzma: When Decompressor.init() is called twice, free the old lock to not leak memory.
bpo-32568 [https://bugs.python.org/issue?@action=redirect&bpo=32568]: Make select.epoll() and its documentation consistent regarding sizehint and flags.
bpo-33833 [https://bugs.python.org/issue?@action=redirect&bpo=33833]: Fixed bug in asyncio where ProactorSocketTransport logs AssertionError if force closed during write.
bpo-33663 [https://bugs.python.org/issue?@action=redirect&bpo=33663]: Convert content length to string before putting to header.
bpo-33721 [https://bugs.python.org/issue?@action=redirect&bpo=33721]:
os.path
functions that return a boolean result likeexists()
,lexists()
,isdir()
,isfile()
,islink()
, andismount()
, andpathlib.Path
methods that return a boolean result likeexists()
,is_dir()
,is_file()
,is_mount()
,is_symlink()
,is_block_device()
,is_char_device()
,is_fifo()
,is_socket()
now returnFalse
instead of raisingValueError
or its subclassesUnicodeEncodeError
andUnicodeDecodeError
for paths that contain characters or bytes unrepresentable at the OS level.bpo-26544 [https://bugs.python.org/issue?@action=redirect&bpo=26544]: Fixed implementation of
platform.libc_ver()
. It almost always returned version '2.9' for glibc.bpo-33843 [https://bugs.python.org/issue?@action=redirect&bpo=33843]: Remove deprecated
cgi.escape
,cgi.parse_qs
andcgi.parse_qsl
.bpo-33842 [https://bugs.python.org/issue?@action=redirect&bpo=33842]: Remove
tarfile.filemode
which is deprecated since Python 3.3.bpo-30167 [https://bugs.python.org/issue?@action=redirect&bpo=30167]: Prevent site.main() exception if PYTHONSTARTUP is set. Patch by Steve Weber.
bpo-33805 [https://bugs.python.org/issue?@action=redirect&bpo=33805]: Improve error message of dataclasses.replace() when an InitVar is not specified
bpo-33687 [https://bugs.python.org/issue?@action=redirect&bpo=33687]: Fix the call to
os.chmod()
foruu.decode()
if a mode is given or decoded. Patch by Timo Furrer.bpo-33812 [https://bugs.python.org/issue?@action=redirect&bpo=33812]: Datetime instance d with non-None tzinfo, but with d.tzinfo.utcoffset(d) returning None is now treated as naive by the astimezone() method.
bpo-32108 [https://bugs.python.org/issue?@action=redirect&bpo=32108]: In configparser, don't clear section when it is assigned to itself.
bpo-27397 [https://bugs.python.org/issue?@action=redirect&bpo=27397]: Make email module properly handle invalid-length base64 strings.
bpo-33578 [https://bugs.python.org/issue?@action=redirect&bpo=33578]: Implement multibyte encoder/decoder state methods
bpo-30805 [https://bugs.python.org/issue?@action=redirect&bpo=30805]: Avoid race condition with debug logging
bpo-33476 [https://bugs.python.org/issue?@action=redirect&bpo=33476]: Fix headervalue_parser.py when address group is missing final ';'. Contributed by Enrique Perez-Terron
bpo-33694 [https://bugs.python.org/issue?@action=redirect&bpo=33694]: asyncio: Fix a race condition causing data loss on pause_reading()/resume_reading() when using the ProactorEventLoop.
bpo-32493 [https://bugs.python.org/issue?@action=redirect&bpo=32493]: Correct test for
uuid_enc_be
availability inconfigure.ac
. Patch by Michael Felt.bpo-33792 [https://bugs.python.org/issue?@action=redirect&bpo=33792]: Add asyncio.WindowsSelectorEventLoopPolicy and asyncio.WindowsProactorEventLoopPolicy.
bpo-33274 [https://bugs.python.org/issue?@action=redirect&bpo=33274]: W3C DOM Level 1 specifies return value of Element.removeAttributeNode() as "The Attr node that was removed." xml.dom.minidom now complies with this requirement.
bpo-33778 [https://bugs.python.org/issue?@action=redirect&bpo=33778]: Update
unicodedata
's database to Unicode version 11.0.0.bpo-33165 [https://bugs.python.org/issue?@action=redirect&bpo=33165]: Added a stacklevel parameter to logging calls to allow use of wrapper/helper functions for logging APIs.
bpo-33770 [https://bugs.python.org/issue?@action=redirect&bpo=33770]: improve base64 exception message for encoded inputs of invalid length
bpo-33769 [https://bugs.python.org/issue?@action=redirect&bpo=33769]: asyncio/start_tls: Fix error message; cancel callbacks in case of an unhandled error; mark SSLTransport as closed if it is aborted.
bpo-33767 [https://bugs.python.org/issue?@action=redirect&bpo=33767]: The concatenation (
+
) and repetition (*
) sequence operations now raiseTypeError
instead ofSystemError
when performed onmmap.mmap
objects. Patch by Zackery Spytz.bpo-33734 [https://bugs.python.org/issue?@action=redirect&bpo=33734]: asyncio/ssl: Fix AttributeError, increase default handshake timeout
bpo-31014 [https://bugs.python.org/issue?@action=redirect&bpo=31014]: Fixed creating a controller for
webbrowser
when a user specifies a path to an entry in the BROWSER environment variable. Based on patch by John Still.bpo-2504 [https://bugs.python.org/issue?@action=redirect&bpo=2504]: Add gettext.pgettext() and variants.
bpo-33197 [https://bugs.python.org/issue?@action=redirect&bpo=33197]: Add description property for _ParameterKind
bpo-32751 [https://bugs.python.org/issue?@action=redirect&bpo=32751]: When cancelling the task due to a timeout,
asyncio.wait_for()
will now wait until the cancellation is complete.bpo-32684 [https://bugs.python.org/issue?@action=redirect&bpo=32684]: Fix gather to propagate cancellation of itself even with return_exceptions.
bpo-33654 [https://bugs.python.org/issue?@action=redirect&bpo=33654]: Support protocol type switching in SSLTransport.set_protocol().
bpo-33674 [https://bugs.python.org/issue?@action=redirect&bpo=33674]: Pause the transport as early as possible to further reduce the risk of data_received() being called before connection_made().
bpo-33671 [https://bugs.python.org/issue?@action=redirect&bpo=33671]:
shutil.copyfile()
,shutil.copy()
,shutil.copy2()
,shutil.copytree()
andshutil.move()
use platform-specific fast-copy syscalls on Linux and macOS in order to copy the file more efficiently. On Windowsshutil.copyfile()
uses a bigger default buffer size (1 MiB instead of 16 KiB) and amemoryview()
-based variant ofshutil.copyfileobj()
is used. The speedup for copying a 512MiB file is about +26% on Linux, +50% on macOS and +40% on Windows. Also, much less CPU cycles are consumed. (Contributed by Giampaolo Rodola' in bpo-25427 [https://bugs.python.org/issue?@action=redirect&bpo=25427].)bpo-33674 [https://bugs.python.org/issue?@action=redirect&bpo=33674]: Fix a race condition in SSLProtocol.connection_made() of asyncio.sslproto: start immediately the handshake instead of using call_soon(). Previously, data_received() could be called before the handshake started, causing the handshake to hang or fail.
bpo-31647 [https://bugs.python.org/issue?@action=redirect&bpo=31647]: Fixed bug where calling write_eof() on a _SelectorSocketTransport after it's already closed raises AttributeError.
bpo-32610 [https://bugs.python.org/issue?@action=redirect&bpo=32610]: Make asyncio.all_tasks() return only pending tasks.
bpo-32410 [https://bugs.python.org/issue?@action=redirect&bpo=32410]: Avoid blocking on file IO in sendfile fallback code
bpo-33469 [https://bugs.python.org/issue?@action=redirect&bpo=33469]: Fix RuntimeError after closing loop that used run_in_executor
bpo-33672 [https://bugs.python.org/issue?@action=redirect&bpo=33672]: Fix Task.repr crash with Cython's bogus coroutines
bpo-33654 [https://bugs.python.org/issue?@action=redirect&bpo=33654]: Fix transport.set_protocol() to support switching between asyncio.Protocol and asyncio.BufferedProtocol. Fix loop.start_tls() to work with asyncio.BufferedProtocols.
bpo-33652 [https://bugs.python.org/issue?@action=redirect&bpo=33652]: Pickles of type variables and subscripted generics are now future-proof and compatible with older Python versions.
bpo-32493 [https://bugs.python.org/issue?@action=redirect&bpo=32493]: Fixed
uuid.uuid1()
on FreeBSD.bpo-33238 [https://bugs.python.org/issue?@action=redirect&bpo=33238]: Add
InvalidStateError
toconcurrent.futures
.Future.set_result
andFuture.set_exception
now raiseInvalidStateError
if the futures are not pending or running. Patch by Jason Haydaman.bpo-33618 [https://bugs.python.org/issue?@action=redirect&bpo=33618]: Finalize and document preliminary and experimental TLS 1.3 support with OpenSSL 1.1.1
bpo-33625 [https://bugs.python.org/issue?@action=redirect&bpo=33625]: Release GIL on
grp.getgrnam
,grp.getgrgid
,pwd.getpwnam
andpwd.getpwuid
if reentrant variants of these functions are available. Patch by William Grzybowski.bpo-33623 [https://bugs.python.org/issue?@action=redirect&bpo=33623]: Fix possible SIGSGV when asyncio.Future is created in del
bpo-11874 [https://bugs.python.org/issue?@action=redirect&bpo=11874]: Use a better regex when breaking usage into wrappable parts. Avoids bogus assertion errors from custom metavar strings.
bpo-30877 [https://bugs.python.org/issue?@action=redirect&bpo=30877]: Fixed a bug in the Python implementation of the JSON decoder that prevented the cache of parsed strings from clearing after finishing the decoding. Based on patch by c-fos.
bpo-33604 [https://bugs.python.org/issue?@action=redirect&bpo=33604]: Remove HMAC default to md5 marked for removal in 3.8 (removal originally planned in 3.6, bump to 3.8 in PR 7062).
bpo-33582 [https://bugs.python.org/issue?@action=redirect&bpo=33582]: Emit a deprecation warning for inspect.formatargspec
bpo-21145 [https://bugs.python.org/issue?@action=redirect&bpo=21145]: Add
functools.cached_property
decorator, for computed properties cached for the life of the instance.bpo-33570 [https://bugs.python.org/issue?@action=redirect&bpo=33570]: Change TLS 1.3 cipher suite settings for compatibility with OpenSSL 1.1.1-pre6 and newer. OpenSSL 1.1.1 will have TLS 1.3 ciphers enabled by default.
bpo-28556 [https://bugs.python.org/issue?@action=redirect&bpo=28556]: Do not simplify arguments to
typing.Union
. NowUnion[Manager, Employee]
is not simplified toEmployee
at runtime. Such simplification previously caused several bugs and limited possibilities for introspection.bpo-12486 [https://bugs.python.org/issue?@action=redirect&bpo=12486]:
tokenize.generate_tokens()
is now documented as a public API to tokenize unicode strings. It was previously present but undocumented.bpo-33540 [https://bugs.python.org/issue?@action=redirect&bpo=33540]: Add a new
block_on_close
class attribute toForkingMixIn
andThreadingMixIn
classes ofsocketserver
.bpo-33548 [https://bugs.python.org/issue?@action=redirect&bpo=33548]: tempfile._candidate_tempdir_list should consider common TEMP locations
bpo-33109 [https://bugs.python.org/issue?@action=redirect&bpo=33109]: argparse subparsers are once again not required by default, reverting the change in behavior introduced by bpo-26510 [https://bugs.python.org/issue?@action=redirect&bpo=26510] in 3.7.0a2.
bpo-33541 [https://bugs.python.org/issue?@action=redirect&bpo=33541]: Remove unused private method
strptime.LocaleTime._pad
(a.k.a.LocaleTime_pad
).bpo-33536 [https://bugs.python.org/issue?@action=redirect&bpo=33536]: dataclasses.make_dataclass now checks for invalid field names and duplicate fields. Also, added a check for invalid field specifications.
bpo-33542 [https://bugs.python.org/issue?@action=redirect&bpo=33542]: Prevent
uuid.get_node
from using a DUID instead of a MAC on Windows. Patch by Zvi Effronbpo-26819 [https://bugs.python.org/issue?@action=redirect&bpo=26819]: Fix race condition with
ReadTransport.resume_reading
in Windows proactor event loop.Fix failure in
typing.get_type_hints()
when ClassVar was provided as a string forward reference.bpo-33516 [https://bugs.python.org/issue?@action=redirect&bpo=33516]:
unittest.mock.MagicMock
now supports the__round__
magic method.bpo-28612 [https://bugs.python.org/issue?@action=redirect&bpo=28612]: Added support for Site Maps to urllib's
RobotFileParser
asRobotFileParser.site_maps()
. Patch by Lady Red, based on patch by Peter Wirtz.bpo-28167 [https://bugs.python.org/issue?@action=redirect&bpo=28167]: Remove platform.linux_distribution, which was deprecated since 3.5.
bpo-33504 [https://bugs.python.org/issue?@action=redirect&bpo=33504]: Switch the default dictionary implementation for
configparser
fromcollections.OrderedDict
to the standarddict
type.bpo-33505 [https://bugs.python.org/issue?@action=redirect&bpo=33505]: Optimize asyncio.ensure_future() by reordering if checks: 1.17x faster.
bpo-33497 [https://bugs.python.org/issue?@action=redirect&bpo=33497]: Add errors param to cgi.parse_multipart and make an encoding in FieldStorage use the given errors (needed for Twisted). Patch by Amber Brown.
bpo-29235 [https://bugs.python.org/issue?@action=redirect&bpo=29235]: The
cProfile.Profile
class can now be used as a context manager. Patch by Scott Sanderson.bpo-33495 [https://bugs.python.org/issue?@action=redirect&bpo=33495]: Change dataclasses.Fields repr to use the repr of each of its members, instead of str. This makes it more clear what each field actually represents. This is especially true for the 'type' member.
bpo-26103 [https://bugs.python.org/issue?@action=redirect&bpo=26103]: Correct
inspect.isdatadescriptor
to look for_set_
or__delete__
. Patch by Aaron Hall.bpo-29209 [https://bugs.python.org/issue?@action=redirect&bpo=29209]: Removed the
doctype()
method and the html parameter of the constructor ofXMLParser
. Thedoctype()
method defined in a subclass will no longer be called. Deprecated methodsgetchildren()
andgetiterator()
in theElementTree
module emit now aDeprecationWarning
instead ofPendingDeprecationWarning
.bpo-33453 [https://bugs.python.org/issue?@action=redirect&bpo=33453]: Fix dataclasses to work if using literal string type annotations or if using PEP 563 "Postponed Evaluation of Annotations". Only specific string prefixes are detected for both ClassVar ("ClassVar" and "typing.ClassVar") and InitVar ("InitVar" and "dataclasses.InitVar").
bpo-28556 [https://bugs.python.org/issue?@action=redirect&bpo=28556]: Minor fixes in typing module: add annotations to
NamedTuple._new_
, pass*args
and**kwds
inGeneric._new_
. Original PRs by Paulius Šarka and Chad Dombrova.bpo-33365 [https://bugs.python.org/issue?@action=redirect&bpo=33365]: Print the header values besides the header keys instead just the header keys if debuglevel is set to >0 in
http.client
. Patch by Marco Strigl.bpo-20087 [https://bugs.python.org/issue?@action=redirect&bpo=20087]: Updated alias mapping with glibc 2.27 supported locales.
bpo-33422 [https://bugs.python.org/issue?@action=redirect&bpo=33422]: Fix trailing quotation marks getting deleted when looking up byte/string literals on pydoc. Patch by Andrés Delfino.
bpo-28167 [https://bugs.python.org/issue?@action=redirect&bpo=28167]: The function
platform.linux_distribution
andplatform.dist
now trigger aDeprecationWarning
and have been marked for removal in Python 3.8bpo-33281 [https://bugs.python.org/issue?@action=redirect&bpo=33281]: Fix ctypes.util.find_library regression on macOS.
bpo-33311 [https://bugs.python.org/issue?@action=redirect&bpo=33311]: Text and html output generated by cgitb does not display parentheses if the current call is done directly in the module. Patch by Stéphane Blondon.
bpo-27300 [https://bugs.python.org/issue?@action=redirect&bpo=27300]: The file classes in tempfile now accept an errors parameter that complements the already existing encoding. Patch by Stephan Hohe.
bpo-32933 [https://bugs.python.org/issue?@action=redirect&bpo=32933]:
unittest.mock.mock_open()
now supports iteration over the file contents. Patch by Tony Flury.bpo-33217 [https://bugs.python.org/issue?@action=redirect&bpo=33217]: Raise
TypeError
when looking up non-Enum objects in Enum classes and Enum members.bpo-33197 [https://bugs.python.org/issue?@action=redirect&bpo=33197]: Update error message when constructing invalid inspect.Parameters Patch by Donghee Na.
bpo-33383 [https://bugs.python.org/issue?@action=redirect&bpo=33383]: Fixed crash in the get() method of the
dbm.ndbm
database object when it is called with a single argument.bpo-33375 [https://bugs.python.org/issue?@action=redirect&bpo=33375]: The warnings module now finds the Python file associated with a warning from the code object, rather than the frame's global namespace. This is consistent with how tracebacks and pdb find filenames, and should work better for dynamically executed code.
bpo-33336 [https://bugs.python.org/issue?@action=redirect&bpo=33336]:
imaplib
now allowsMOVE
command inIMAP4.uid()
(RFC 6851: IMAP MOVE Extension) and potentially as a name of supported method ofIMAP4
object.bpo-32455 [https://bugs.python.org/issue?@action=redirect&bpo=32455]: Added jump parameter to
dis.stack_effect()
.bpo-27485 [https://bugs.python.org/issue?@action=redirect&bpo=27485]: Rename and deprecate undocumented functions in
urllib.parse()
.bpo-33332 [https://bugs.python.org/issue?@action=redirect&bpo=33332]: Add
signal.valid_signals()
to expose the POSIX sigfillset() functionality.bpo-33251 [https://bugs.python.org/issue?@action=redirect&bpo=33251]:
ConfigParser.items()
was fixed so that key-value pairs passed in viavars()
are not included in the resulting output.bpo-33329 [https://bugs.python.org/issue?@action=redirect&bpo=33329]: Fix multiprocessing regression on newer glibcs
bpo-33334 [https://bugs.python.org/issue?@action=redirect&bpo=33334]:
dis.stack_effect()
now supports all defined opcodes including NOP and EXTENDED_ARG.bpo-991266 [https://bugs.python.org/issue?@action=redirect&bpo=991266]: Fix quoting of the
Comment
attribute ofhttp.cookies.SimpleCookie
.bpo-33131 [https://bugs.python.org/issue?@action=redirect&bpo=33131]: Upgrade bundled version of pip to 10.0.1.
bpo-33308 [https://bugs.python.org/issue?@action=redirect&bpo=33308]: Fixed a crash in the
parser
module when converting an ST object to a tree of tuples or lists withline_info=False
andcol_info=True
.bpo-23403 [https://bugs.python.org/issue?@action=redirect&bpo=23403]: lib2to3 now uses pickle protocol 4 for precomputed grammars.
bpo-33266 [https://bugs.python.org/issue?@action=redirect&bpo=33266]: lib2to3 now recognizes
rf'…'
strings.bpo-11594 [https://bugs.python.org/issue?@action=redirect&bpo=11594]: Ensure line-endings are respected when using lib2to3.
bpo-33254 [https://bugs.python.org/issue?@action=redirect&bpo=33254]: Have
importlib.resources.contents()
andimportlib.abc.ResourceReader.contents()
return an iterable instead of an iterator.bpo-33265 [https://bugs.python.org/issue?@action=redirect&bpo=33265]:
contextlib.ExitStack
andcontextlib.AsyncExitStack
now use a method instead of a wrapper function for exit callbacks.bpo-33263 [https://bugs.python.org/issue?@action=redirect&bpo=33263]: Fix FD leak in
_SelectorSocketTransport
Patch by Vlad Starostin.bpo-33256 [https://bugs.python.org/issue?@action=redirect&bpo=33256]: Fix display of
call in the html produced bycgitb.html()
. Patch by Stéphane Blondon.bpo-33144 [https://bugs.python.org/issue?@action=redirect&bpo=33144]:
random.Random()
and its subclassing mechanism got optimized to check only once at class/subclass instantiation time whether itsgetrandbits()
method can be relied on by other methods, includingrandrange()
, for the generation of arbitrarily large random integers. Patch by Wolfgang Maier.bpo-33185 [https://bugs.python.org/issue?@action=redirect&bpo=33185]: Fixed regression when running pydoc with the
-m
switch. (The regression was introduced in 3.7.0b3 by the resolution of bpo-33053 [https://bugs.python.org/issue?@action=redirect&bpo=33053]) This fix also changed pydoc to addos.getcwd()
tosys.path
when necessary, rather than adding"."
.bpo-29613 [https://bugs.python.org/issue?@action=redirect&bpo=29613]: Added support for the
SameSite
cookie flag to thehttp.cookies
module.bpo-33169 [https://bugs.python.org/issue?@action=redirect&bpo=33169]: Delete entries of
None
insys.path_importer_cache
whenimportlib.machinery.invalidate_caches()
is called.bpo-33203 [https://bugs.python.org/issue?@action=redirect&bpo=33203]:
random.Random.choice()
now raisesIndexError
for empty sequences consistently even when called from subclasses without agetrandbits()
implementation.bpo-33224 [https://bugs.python.org/issue?@action=redirect&bpo=33224]: Update difflib.mdiff() for PEP 479 [https://peps.python.org/pep-0479/]. Convert an uncaught StopIteration in a generator into a return-statement.
bpo-33209 [https://bugs.python.org/issue?@action=redirect&bpo=33209]: End framing at the end of C implementation of
pickle.Pickler.dump()
.bpo-32861 [https://bugs.python.org/issue?@action=redirect&bpo=32861]: The urllib.robotparser's
__str__
representation now includes wildcard entries and the "Crawl-delay" and "Request-rate" fields. Also removes extra newlines that were being appended to the end of the string. Patch by Michael Lazar.bpo-23403 [https://bugs.python.org/issue?@action=redirect&bpo=23403]:
DEFAULT_PROTOCOL
inpickle
was bumped to 4. Protocol 4 is described in PEP 3154 [https://peps.python.org/pep-3154/] and available since Python 3.4. It offers better performance and smaller size compared to protocol 3 introduced in Python 3.0.bpo-20104 [https://bugs.python.org/issue?@action=redirect&bpo=20104]: Improved error handling and fixed a reference leak in
os.posix_spawn()
.bpo-33106 [https://bugs.python.org/issue?@action=redirect&bpo=33106]: Deleting a key from a readonly dbm database raises module specific error instead of KeyError.
bpo-33175 [https://bugs.python.org/issue?@action=redirect&bpo=33175]: In dataclasses, Field.setname_ now looks up the _setname special method on the class, not the instance, of the default value.
bpo-32380 [https://bugs.python.org/issue?@action=redirect&bpo=32380]: Create functools.singledispatchmethod to support generic single dispatch on descriptors and methods.
bpo-33141 [https://bugs.python.org/issue?@action=redirect&bpo=33141]: Have Field objects pass through setname_ to their default values, if they have their own _setname.
bpo-33096 [https://bugs.python.org/issue?@action=redirect&bpo=33096]: Allow ttk.Treeview.insert to insert iid that has a false boolean value. Note iid=0 and iid=False would be same. Patch by Garvit Khatri.
bpo-32873 [https://bugs.python.org/issue?@action=redirect&bpo=32873]: Treat type variables and special typing forms as immutable by copy and pickle. This fixes several minor issues and inconsistencies, and improves backwards compatibility with Python 3.6.
bpo-33134 [https://bugs.python.org/issue?@action=redirect&bpo=33134]: When computing dataclass's hash, use the lookup table to contain the function which returns the hash value. This is an improvement over looking up a string, and then testing that string to see what to do.
bpo-33127 [https://bugs.python.org/issue?@action=redirect&bpo=33127]: The ssl module now compiles with LibreSSL 2.7.1.
bpo-32505 [https://bugs.python.org/issue?@action=redirect&bpo=32505]: Raise TypeError if a member variable of a dataclass is of type Field, but doesn't have a type annotation.
bpo-33078 [https://bugs.python.org/issue?@action=redirect&bpo=33078]: Fix the failure on OSX caused by the tests relying on sem_getvalue
bpo-33116 [https://bugs.python.org/issue?@action=redirect&bpo=33116]: Add 'Field' to dataclasses.all.
bpo-32896 [https://bugs.python.org/issue?@action=redirect&bpo=32896]: Fix an error where subclassing a dataclass with a field that uses a default_factory would generate an incorrect class.
bpo-33100 [https://bugs.python.org/issue?@action=redirect&bpo=33100]: Dataclasses: If a field has a default value that's a MemberDescriptorType, then it's from that field being in slots, not an actual default value.
bpo-32953 [https://bugs.python.org/issue?@action=redirect&bpo=32953]: If a non-dataclass inherits from a frozen dataclass, allow attributes to be added to the derived class. Only attributes from the frozen dataclass cannot be assigned to. Require all dataclasses in a hierarchy to be either all frozen or all non-frozen.
bpo-33097 [https://bugs.python.org/issue?@action=redirect&bpo=33097]: Raise RuntimeError when
executor.submit
is called during interpreter shutdown.bpo-32968 [https://bugs.python.org/issue?@action=redirect&bpo=32968]: Modulo and floor division involving Fraction and float should return float.
bpo-33061 [https://bugs.python.org/issue?@action=redirect&bpo=33061]: Add missing
NoReturn
to__all__
in typing.pybpo-33078 [https://bugs.python.org/issue?@action=redirect&bpo=33078]: Fix the size handling in multiprocessing.Queue when a pickling error occurs.
bpo-33064 [https://bugs.python.org/issue?@action=redirect&bpo=33064]: lib2to3 now properly supports trailing commas after
*args
and**kwargs
in function signatures.bpo-33056 [https://bugs.python.org/issue?@action=redirect&bpo=33056]: FIX properly close leaking fds in concurrent.futures.ProcessPoolExecutor.
bpo-33021 [https://bugs.python.org/issue?@action=redirect&bpo=33021]: Release the GIL during fstat() calls, avoiding hang of all threads when calling mmap.mmap(), os.urandom(), and random.seed(). Patch by Nir Soffer.
bpo-31804 [https://bugs.python.org/issue?@action=redirect&bpo=31804]: Avoid failing in multiprocessing.Process if the standard streams are closed or None at exit.
bpo-33034 [https://bugs.python.org/issue?@action=redirect&bpo=33034]: Providing an explicit error message when casting the port property to anything that is not an integer value using
urlparse()
andurlsplit()
. Patch by Matt Eaton.bpo-30249 [https://bugs.python.org/issue?@action=redirect&bpo=30249]: Improve struct.unpack_from() exception messages for problems with the buffer size and offset.
bpo-33037 [https://bugs.python.org/issue?@action=redirect&bpo=33037]: Skip sending/receiving data after SSL transport closing.
bpo-27683 [https://bugs.python.org/issue?@action=redirect&bpo=27683]: Fix a regression in
ipaddress
that result ofhosts()
is empty when the network is constructed by a tuple containing an integer mask and only 1 bit left for addresses.bpo-22674 [https://bugs.python.org/issue?@action=redirect&bpo=22674]: Add the strsignal() function in the signal module that returns the system description of the given signal, as returned by strsignal(3).
bpo-32999 [https://bugs.python.org/issue?@action=redirect&bpo=32999]: Fix C implementation of
ABC.__subclasscheck__(cls, subclass)
crashed whensubclass
is not a type object.bpo-33009 [https://bugs.python.org/issue?@action=redirect&bpo=33009]: Fix inspect.signature() for single-parameter partialmethods.
bpo-32969 [https://bugs.python.org/issue?@action=redirect&bpo=32969]: Expose several missing constants in zlib and fix corresponding documentation.
bpo-32056 [https://bugs.python.org/issue?@action=redirect&bpo=32056]: Improved exceptions raised for invalid number of channels and sample width when read an audio file in modules
aifc
,wave
andsunau
.bpo-32970 [https://bugs.python.org/issue?@action=redirect&bpo=32970]: Improved disassembly of the MAKE_FUNCTION instruction.
bpo-32844 [https://bugs.python.org/issue?@action=redirect&bpo=32844]: Fix wrong redirection of a low descriptor (0 or 1) to stderr in subprocess if another low descriptor is closed.
bpo-32960 [https://bugs.python.org/issue?@action=redirect&bpo=32960]: For dataclasses, disallow inheriting frozen from non-frozen classes, and also disallow inheriting non-frozen from frozen classes. This restriction will be relaxed at a future date.
bpo-32713 [https://bugs.python.org/issue?@action=redirect&bpo=32713]: Fixed tarfile.itn handling of out-of-bounds float values. Patch by Joffrey Fuhrer.
bpo-32257 [https://bugs.python.org/issue?@action=redirect&bpo=32257]: The ssl module now contains OP_NO_RENEGOTIATION constant, available with OpenSSL 1.1.0h or 1.1.1.
bpo-32951 [https://bugs.python.org/issue?@action=redirect&bpo=32951]: Direct instantiation of SSLSocket and SSLObject objects is now prohibited. The constructors were never documented, tested, or designed as public constructors. Users were suppose to use ssl.wrap_socket() or SSLContext.
bpo-32929 [https://bugs.python.org/issue?@action=redirect&bpo=32929]: Remove the tri-state parameter "hash", and add the boolean "unsafehash". If unsafehash is True, add a hash function, but if a hash exists, raise TypeError. If unsafe_hash is False, add a __hash based on the values of eq= and frozen=. The unsafe_hash=False behavior is the same as the old hash=None behavior. unsafe_hash=False is the default, just as hash=None used to be.
bpo-32947 [https://bugs.python.org/issue?@action=redirect&bpo=32947]: Add OP_ENABLE_MIDDLEBOX_COMPAT and test workaround for TLSv1.3 for future compatibility with OpenSSL 1.1.1.
bpo-32146 [https://bugs.python.org/issue?@action=redirect&bpo=32146]: Document the interaction between frozen executables and the spawn and forkserver start methods in multiprocessing.
bpo-30622 [https://bugs.python.org/issue?@action=redirect&bpo=30622]: The ssl module now detects missing NPN support in LibreSSL.
bpo-32922 [https://bugs.python.org/issue?@action=redirect&bpo=32922]: dbm.open() now encodes filename with the filesystem encoding rather than default encoding.
bpo-32759 [https://bugs.python.org/issue?@action=redirect&bpo=32759]: Free unused arenas in multiprocessing.heap.
bpo-32859 [https://bugs.python.org/issue?@action=redirect&bpo=32859]: In
os.dup2
, don't check every call whether thedup3
syscall exists or not.bpo-32556 [https://bugs.python.org/issue?@action=redirect&bpo=32556]: nt._getfinalpathname, nt._getvolumepathname and nt._getdiskusage now correctly convert from bytes.
bpo-21060 [https://bugs.python.org/issue?@action=redirect&bpo=21060]: Rewrite confusing message from setup.py upload from "No dist file created in earlier command" to the more helpful "Must create and upload files in one command".
bpo-32857 [https://bugs.python.org/issue?@action=redirect&bpo=32857]: In
tkinter
,after_cancel(None)
now raises aValueError
instead of canceling the first scheduled function. Patch by Cheryl Sabella.bpo-32852 [https://bugs.python.org/issue?@action=redirect&bpo=32852]: Make sure sys.argv remains as a list when running trace.
bpo-31333 [https://bugs.python.org/issue?@action=redirect&bpo=31333]:
_abc
module is added. It is a speedup module with C implementations for various functions and methods inabc
. Creating an ABC subclass and callingisinstance
orissubclass
with an ABC subclass are up to 1.5x faster. In addition, this makes Python startup up to 10% faster.
Note that the new implementation hides internal registry and caches, previously accessible via private attributes abcregistry
, abccache
, and abcnegative_cache
. There are three debugging helper methods that can be used instead dumpregistry
, abcregistry_clear
, and abccaches_clear
.
bpo-32841 [https://bugs.python.org/issue?@action=redirect&bpo=32841]: Fixed
asyncio.Condition
issue which silently ignored cancellation after notifying and cancelling a conditional lock. Patch by Bar Harel.bpo-32819 [https://bugs.python.org/issue?@action=redirect&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 [https://bugs.python.org/issue?@action=redirect&bpo=19675]:
multiprocessing.Pool
no longer leaks processes if its initialization fails.bpo-32394 [https://bugs.python.org/issue?@action=redirect&bpo=32394]: socket: Remove TCP_FASTOPEN,TCP_KEEPCNT,TCP_KEEPIDLE,TCP_KEEPINTVL flags on older version Windows during runtime.
bpo-31787 [https://bugs.python.org/issue?@action=redirect&bpo=31787]: Fixed refleaks of
__init__()
methods in various modules. (Contributed by Oren Milman)bpo-30157 [https://bugs.python.org/issue?@action=redirect&bpo=30157]: Fixed guessing quote and delimiter in csv.Sniffer.sniff() when only the last field is quoted. Patch by Jake Davis.
bpo-30688 [https://bugs.python.org/issue?@action=redirect&bpo=30688]: Added support of
\N{name}
escapes in regular expressions. Based on patch by Jonathan Eunice.bpo-32792 [https://bugs.python.org/issue?@action=redirect&bpo=32792]: collections.ChainMap() preserves the order of the underlying mappings.
bpo-32775 [https://bugs.python.org/issue?@action=redirect&bpo=32775]:
fnmatch.translate()
no longer produces patterns which contain set operations. Sets starting with '[' or containing '—', '&&', '~~' or '||' will be interpreted differently in regular expressions in future versions. Currently they emit warnings. fnmatch.translate() now avoids producing patterns containing such sets by accident.bpo-32622 [https://bugs.python.org/issue?@action=redirect&bpo=32622]: Implement native fast sendfile for Windows proactor event loop.
bpo-32777 [https://bugs.python.org/issue?@action=redirect&bpo=32777]: Fix a rare but potential preexec child process deadlock in subprocess on POSIX systems when marking file descriptors inheritable on exec in the child process. This bug appears to have been introduced in 3.4.
bpo-32647 [https://bugs.python.org/issue?@action=redirect&bpo=32647]: The ctypes module used to depend on indirect linking for dlopen. The shared extension is now explicitly linked against libdl on platforms with dl.
bpo-32749 [https://bugs.python.org/issue?@action=redirect&bpo=32749]: A
dbm.dumb
database opened with flags 'r' is now readonly.dbm.dumb.open()
with flags 'r' and 'w' no longer creates a database if it does not exist.bpo-32741 [https://bugs.python.org/issue?@action=redirect&bpo=32741]: Implement
asyncio.TimerHandle.when()
method.bpo-32691 [https://bugs.python.org/issue?@action=redirect&bpo=32691]: Use mod_spec.parent when running modules with pdb
bpo-32734 [https://bugs.python.org/issue?@action=redirect&bpo=32734]: Fixed
asyncio.Lock()
safety issue which allowed acquiring and locking the same lock multiple times, without it being free. Patch by Bar Harel.bpo-32727 [https://bugs.python.org/issue?@action=redirect&bpo=32727]: Do not include name field in SMTP envelope from address. Patch by Stéphane Wirtel
bpo-31453 [https://bugs.python.org/issue?@action=redirect&bpo=31453]: Add TLSVersion constants and SSLContext.maximum_version / minimum_version attributes. The new API wraps OpenSSL 1.1 https://web.archive.org/web/20180309043602/https://www.openssl.org/docs/man1.1.0/ssl/SSL_CTXsetminprotoversion.html feature.
bpo-24334 [https://bugs.python.org/issue?@action=redirect&bpo=24334]: Internal implementation details of ssl module were cleaned up. The SSLSocket has one less layer of indirection. Owner and session information are now handled by the SSLSocket and SSLObject constructor. Channel binding implementation has been simplified.
bpo-31848 [https://bugs.python.org/issue?@action=redirect&bpo=31848]: Fix the error handling in Aifc_read.initfp() when the SSND chunk is not found. Patch by Zackery Spytz.
bpo-32585 [https://bugs.python.org/issue?@action=redirect&bpo=32585]: Add Ttk spinbox widget to
tkinter.ttk
. Patch by Alan D Moore.bpo-32512 [https://bugs.python.org/issue?@action=redirect&bpo=32512]:
profile
CLI accepts-m module_name
as an alternative to script path.bpo-8525 [https://bugs.python.org/issue?@action=redirect&bpo=8525]: help() on a type now displays builtin subclasses. This is intended primarily to help with notification of more specific exception subclasses.
Patch by Sanyam Khurana.
bpo-31639 [https://bugs.python.org/issue?@action=redirect&bpo=31639]: http.server now exposes a ThreadingHTTPServer class and uses it when the module is run with
-m
to cope with web browsers pre-opening sockets.bpo-29877 [https://bugs.python.org/issue?@action=redirect&bpo=29877]: compileall: import ProcessPoolExecutor only when needed, preventing hangs on low resource platforms
bpo-32221 [https://bugs.python.org/issue?@action=redirect&bpo=32221]: Various functions returning tuple containing IPv6 addresses now omit
%scope
part since the same information is already encoded in scopeid tuple item. Especially this speeds upsocket.recvfrom()
when it receives multicast packet since useless resolving of network interface name is omitted.bpo-32147 [https://bugs.python.org/issue?@action=redirect&bpo=32147]:
binascii.unhexlify()
is now up to 2 times faster. Patch by Sergey Fedoseev.bpo-30693 [https://bugs.python.org/issue?@action=redirect&bpo=30693]: The TarFile class now recurses directories in a reproducible way.
bpo-30693 [https://bugs.python.org/issue?@action=redirect&bpo=30693]: The ZipFile class now recurses directories in a reproducible way.
bpo-31680 [https://bugs.python.org/issue?@action=redirect&bpo=31680]: Added
curses.ncurses_version
.bpo-31908 [https://bugs.python.org/issue?@action=redirect&bpo=31908]: Fix output of cover files for
trace
module commandline tool. Previously emitted cover files only when--missing
option was used. Patch by Michael Selik.bpo-31608 [https://bugs.python.org/issue?@action=redirect&bpo=31608]: Raise a
TypeError
instead of crashing if acollections.deque
subclass returns a non-deque from_new_
. Patch by Oren Milman.bpo-31425 [https://bugs.python.org/issue?@action=redirect&bpo=31425]: Add support for sockets of the AF_QIPCRTR address family, supported by the Linux kernel. This is used to communicate with services, such as GPS or radio, running on Qualcomm devices. Patch by Bjorn Andersson.
bpo-22005 [https://bugs.python.org/issue?@action=redirect&bpo=22005]: Implemented unpickling instances of
datetime
,date
andtime
pickled by Python 2.encoding='latin1'
should be used for successful decoding.bpo-27645 [https://bugs.python.org/issue?@action=redirect&bpo=27645]:
sqlite3.Connection
now exposes abackup
method, if the underlying SQLite library is at version 3.6.11 or higher. Patch by Lele Gaifax.bpo-16865 [https://bugs.python.org/issue?@action=redirect&bpo=16865]: Support arrays >=2GiB in
ctypes
. Patch by Segev Finer.bpo-31508 [https://bugs.python.org/issue?@action=redirect&bpo=31508]: Removed support of arguments in
tkinter.ttk.Treeview.selection
. It was deprecated in 3.6. Use specialized methods likeselection_set
for changing the selection.bpo-29456 [https://bugs.python.org/issue?@action=redirect&bpo=29456]: Fix bugs in hangul normalization: u1176, u11a7 and u11c3