库
bpo-37128 [https://bugs.python.org/issue?@action=redirect&bpo=37128]: Added
math.perm()
.bpo-37120 [https://bugs.python.org/issue?@action=redirect&bpo=37120]: Add SSLContext.num_tickets to control the number of TLSv1.3 session tickets.
bpo-12202 [https://bugs.python.org/issue?@action=redirect&bpo=12202]: Fix the error handling in
msilib.SummaryInformation.GetProperty()
. Patch by Zackery Spytz.bpo-26835 [https://bugs.python.org/issue?@action=redirect&bpo=26835]: The fcntl module now contains file sealing constants for sealing of memfds.
bpo-29262 [https://bugs.python.org/issue?@action=redirect&bpo=29262]: Add
get_origin()
andget_args()
introspection helpers totyping
module.bpo-12639 [https://bugs.python.org/issue?@action=redirect&bpo=12639]:
msilib.Directory.start_component()
no longer fails if keyfile is notNone
.bpo-36999 [https://bugs.python.org/issue?@action=redirect&bpo=36999]: Add the
asyncio.Task.get_coro()
method to publicly expose the tasks's coroutine object.bpo-35246 [https://bugs.python.org/issue?@action=redirect&bpo=35246]: Make
asyncio.create_subprocess_exec()
accept pathlike arguments.bpo-35279 [https://bugs.python.org/issue?@action=redirect&bpo=35279]: Change default max_workers of
ThreadPoolExecutor
fromcpu_count() * 5
tomin(32, cpu_count() + 4)
. Previous value was unreasonably large on many cores machines.bpo-37076 [https://bugs.python.org/issue?@action=redirect&bpo=37076]:
thread.startnew_thread()
now logs uncaught exception raised by the function usingsys.unraisablehook()
, rather thansys.excepthook()
, so the hook gets access to the function which raised the exception.bpo-33725 [https://bugs.python.org/issue?@action=redirect&bpo=33725]: On macOS, the
multiprocessing
module now uses spawn start method by default.bpo-37054 [https://bugs.python.org/issue?@action=redirect&bpo=37054]: Fix destructor
_pyio.BytesIO
and_pyio.TextIOWrapper
: initialize their_buffer
attribute as soon as possible (in the class body), because it's used by__del__()
which callsclose()
.bpo-37058 [https://bugs.python.org/issue?@action=redirect&bpo=37058]: PEP 544: Add
Protocol
and@runtime_checkable
to thetyping
module.bpo-36933 [https://bugs.python.org/issue?@action=redirect&bpo=36933]: The functions
sys.set_coroutine_wrapper
andsys.get_coroutine_wrapper
that were deprecated and marked for removal in 3.8 have been removed.bpo-37047 [https://bugs.python.org/issue?@action=redirect&bpo=37047]: Handle late binding and attribute access in
unittest.mock.AsyncMock
setup for autospeccing. Document newly implemented async methods inunittest.mock.MagicMock
.bpo-37049 [https://bugs.python.org/issue?@action=redirect&bpo=37049]: PEP 589: Add
TypedDict
to thetyping
module.bpo-37046 [https://bugs.python.org/issue?@action=redirect&bpo=37046]: PEP 586: Add
Literal
to thetyping
module.bpo-37045 [https://bugs.python.org/issue?@action=redirect&bpo=37045]: PEP 591: Add
Final
qualifier and@final
decorator to thetyping
module.bpo-37035 [https://bugs.python.org/issue?@action=redirect&bpo=37035]: Don't log OSError based exceptions if a fatal error has occurred in asyncio transport. Peer can generate almost any OSError, user cannot avoid these exceptions by fixing own code. Errors are still propagated to user code, it's just logging them is pointless and pollute asyncio logs.
bpo-37001 [https://bugs.python.org/issue?@action=redirect&bpo=37001]:
symtable.symtable()
now accepts the same input types for source code as the builtincompile()
function. Patch by Dino Viehland.bpo-37028 [https://bugs.python.org/issue?@action=redirect&bpo=37028]: Implement asyncio REPL
bpo-37027 [https://bugs.python.org/issue?@action=redirect&bpo=37027]: Return safe to use proxy socket object from transport.get_extra_info('socket')
bpo-32528 [https://bugs.python.org/issue?@action=redirect&bpo=32528]: Make asyncio.CancelledError a BaseException.
This will address the common mistake many asyncio users make: an "except Exception" clause breaking Tasks cancellation.
In addition to this change, we stop inheriting asyncio.TimeoutError and asyncio.InvalidStateError from their concurrent.futures.* counterparts. There's no point for these exceptions to share the inheritance chain.
bpo-1230540 [https://bugs.python.org/issue?@action=redirect&bpo=1230540]: Add a new
threading.excepthook()
function which handles uncaughtthreading.Thread.run()
exception. It can be overridden to control how uncaughtthreading.Thread.run()
exceptions are handled.bpo-36996 [https://bugs.python.org/issue?@action=redirect&bpo=36996]: Handle
unittest.mock.patch()
used as a decorator on async functions.bpo-37008 [https://bugs.python.org/issue?@action=redirect&bpo=37008]: Add support for calling
next()
with the mock resulting fromunittest.mock.mock_open()
bpo-27737 [https://bugs.python.org/issue?@action=redirect&bpo=27737]: Allow whitespace only header encoding in
email.header
- by Batuhan Taskayabpo-36969 [https://bugs.python.org/issue?@action=redirect&bpo=36969]: PDB command
args
now display positional only arguments. Patch contributed by Rémi Lapeyre.bpo-36969 [https://bugs.python.org/issue?@action=redirect&bpo=36969]: PDB command
args
now display keyword only arguments. Patch contributed by Rémi Lapeyre.bpo-36983 [https://bugs.python.org/issue?@action=redirect&bpo=36983]: Add missing names to
typing.__all__
:ChainMap
,ForwardRef
,OrderedDict
- by Anthony Sottile.bpo-36972 [https://bugs.python.org/issue?@action=redirect&bpo=36972]: Add SupportsIndex protocol to the typing module to allow type checking to detect classes that can be passed to
hex()
,oct()
andbin()
.bpo-32972 [https://bugs.python.org/issue?@action=redirect&bpo=32972]: Implement
unittest.IsolatedAsyncioTestCase
to help testing asyncio-based code.bpo-36952 [https://bugs.python.org/issue?@action=redirect&bpo=36952]:
fileinput.input()
andfileinput.FileInput
bufsize argument has been removed (was deprecated and ignored since Python 3.6), and as a result the mode and openhook arguments have been made keyword-only.bpo-36952 [https://bugs.python.org/issue?@action=redirect&bpo=36952]: Starting with Python 3.3, importing ABCs from
collections
is deprecated, and import should be done fromcollections.abc
. Still being able to import fromcollections
was marked for removal in 3.8, but has been delayed to 3.9; documentation andDeprecationWarning
clarified.bpo-36949 [https://bugs.python.org/issue?@action=redirect&bpo=36949]: Implement repr for WeakSet objects.
bpo-36948 [https://bugs.python.org/issue?@action=redirect&bpo=36948]: Fix
NameError
inurllib.request.URLopener.retrieve()
. Patch by Karthikeyan Singaravelan.bpo-33524 [https://bugs.python.org/issue?@action=redirect&bpo=33524]: Fix the folding of email header when the max_line_length is 0 or None and the header contains nonascii characters. Contributed by Licht Takeuchi (@Licht-T).
bpo-24564 [https://bugs.python.org/issue?@action=redirect&bpo=24564]:
shutil.copystat()
now ignoreserrno.EINVAL
onos.setxattr()
which may occur when copying files on filesystems without extended attributes support.
Original patch by Giampaolo Rodola, updated by Ying Wang.
bpo-36888 [https://bugs.python.org/issue?@action=redirect&bpo=36888]: Python child processes can now access the status of their parent process using multiprocessing.process.parent_process
bpo-36921 [https://bugs.python.org/issue?@action=redirect&bpo=36921]: Deprecate
@coroutine
for sake ofasync def
.bpo-25652 [https://bugs.python.org/issue?@action=redirect&bpo=25652]: Fix bug in
__rmod__
ofUserString
- by Batuhan Taskaya.bpo-36916 [https://bugs.python.org/issue?@action=redirect&bpo=36916]: Remove a message about an unhandled exception in a task when writer.write() is used without await and writer.drain() fails with an exception.
bpo-36889 [https://bugs.python.org/issue?@action=redirect&bpo=36889]: Introduce
asyncio.Stream
class that mergesasyncio.StreamReader
andasyncio.StreamWriter
functionality.asyncio.Stream
can work in readonly, writeonly and readwrite modes. Provideasyncio.connect()
,asyncio.connect_unix()
,asyncio.connectreadpipe()
andasyncio.connectwritepipe()
factories to openasyncio.Stream
connections. Provideasyncio.StreamServer
andUnixStreamServer
to serve servers with asyncio.Stream API. Modifyasyncio.create_subprocess_shell()
andasyncio.create_subprocess_exec()
to useasyncio.Stream
instead of deprecatedStreamReader
andStreamWriter
. Deprecateasyncio.StreamReader
andasyncio.StreamWriter
. Deprecate usage of private classes, e.g.asyncio.FlowControlMixing
andasyncio.StreamReaderProtocol
outside of asyncio package.bpo-36845 [https://bugs.python.org/issue?@action=redirect&bpo=36845]: Added validation of integer prefixes to the construction of IP networks and interfaces in the ipaddress module.
bpo-23378 [https://bugs.python.org/issue?@action=redirect&bpo=23378]: Add an extend action to argparser.
bpo-36867 [https://bugs.python.org/issue?@action=redirect&bpo=36867]: Fix a bug making a SharedMemoryManager instance and its parent process use two separate resource_tracker processes.
bpo-23896 [https://bugs.python.org/issue?@action=redirect&bpo=23896]: Adds a grammar to lib2to3.pygram that contains exec as a function not as statement.
bpo-36895 [https://bugs.python.org/issue?@action=redirect&bpo=36895]: The function
time.clock()
was deprecated in 3.3 in favor oftime.perf_counter()
and marked for removal in 3.8, it has removed.bpo-35545 [https://bugs.python.org/issue?@action=redirect&bpo=35545]: Fix asyncio discarding IPv6 scopes when ensuring hostname resolutions internally
bpo-36887 [https://bugs.python.org/issue?@action=redirect&bpo=36887]: Add new function
math.isqrt()
to compute integer square roots.bpo-34632 [https://bugs.python.org/issue?@action=redirect&bpo=34632]: Introduce the
importlib.metadata
module with (provisional) support for reading metadata from third-party packages.bpo-36878 [https://bugs.python.org/issue?@action=redirect&bpo=36878]: When using
type_comments=True
inast.parse
, treat# type: ignore
followed by a non-alphanumeric character and then arbitrary text as a type ignore, instead of requiring nothing but whitespace or another comment. This is to permit formations such as# type: ignore[E1000]
.bpo-36778 [https://bugs.python.org/issue?@action=redirect&bpo=36778]:
cp65001
encoding (Windows code page 65001) becomes an alias toutf_8
encoding.bpo-36867 [https://bugs.python.org/issue?@action=redirect&bpo=36867]: The multiprocessing.resource_tracker replaces the multiprocessing.semaphore_tracker module. Other than semaphores, resource_tracker also tracks shared_memory segments.
bpo-30262 [https://bugs.python.org/issue?@action=redirect&bpo=30262]: The
Cache
andStatement
objects of thesqlite3
module are not exposed to the user. Patch by Aviv Palivoda.bpo-24538 [https://bugs.python.org/issue?@action=redirect&bpo=24538]: In
shutil.copystat()
, first copy extended file attributes and then file permissions, since extended attributes can only be set on the destination while it is still writeable.bpo-36829 [https://bugs.python.org/issue?@action=redirect&bpo=36829]: Add new
sys.unraisablehook()
function which can be overridden to control how "unraisable exceptions" are handled. It is called when an exception has occurred but there is no way for Python to handle it. For example, when a destructor raises an exception or during garbage collection (gc.collect()
).bpo-36832 [https://bugs.python.org/issue?@action=redirect&bpo=36832]: Introducing
zipfile.Path
, a pathlib-compatible wrapper for traversing zip files.bpo-36814 [https://bugs.python.org/issue?@action=redirect&bpo=36814]: Fix an issue where os.posix_spawnp() would incorrectly raise a TypeError when file_actions is None.
bpo-33110 [https://bugs.python.org/issue?@action=redirect&bpo=33110]: Handle exceptions raised by functions added by concurrent.futures add_done_callback correctly when the Future has already completed.
bpo-26903 [https://bugs.python.org/issue?@action=redirect&bpo=26903]: Limit
max_workers
inProcessPoolExecutor
to 61 to work around a WaitForMultipleObjects limitation.bpo-36813 [https://bugs.python.org/issue?@action=redirect&bpo=36813]: Fix
QueueListener
to callqueue.task_done()
upon stopping. Patch by Bar Harel.bpo-36806 [https://bugs.python.org/issue?@action=redirect&bpo=36806]: Forbid creation of asyncio stream objects like StreamReader, StreamWriter, Process, and their protocols outside of asyncio package.
bpo-36802 [https://bugs.python.org/issue?@action=redirect&bpo=36802]: Provide both sync and async calls for StreamWriter.write() and StreamWriter.close()
bpo-36801 [https://bugs.python.org/issue?@action=redirect&bpo=36801]: Properly handle SSL connection closing in asyncio StreamWriter.drain() call.
bpo-36785 [https://bugs.python.org/issue?@action=redirect&bpo=36785]: Implement PEP 574 (pickle protocol 5 with out-of-band buffers).
bpo-36772 [https://bugs.python.org/issue?@action=redirect&bpo=36772]: functools.lru_cache() can now be used as a straight decorator in addition to its existing usage as a function that returns a decorator.
bpo-6584 [https://bugs.python.org/issue?@action=redirect&bpo=6584]: Add a
BadGzipFile
exception to thegzip
module.bpo-36748 [https://bugs.python.org/issue?@action=redirect&bpo=36748]: Optimized write buffering in C implementation of
TextIOWrapper
. Writing ASCII string toTextIOWrapper
with ascii, latin1, or utf-8 encoding is about 20% faster. Patch by Inada Naoki.bpo-8138 [https://bugs.python.org/issue?@action=redirect&bpo=8138]: Don't mark
wsgiref.simple_server.SimpleServer
as multithreaded sincewsgiref.simple_server.WSGIServer
is single-threaded.bpo-22640 [https://bugs.python.org/issue?@action=redirect&bpo=22640]:
py_compile.compile()
now supports silent mode. Patch by Joannah Nanjekyebpo-29183 [https://bugs.python.org/issue?@action=redirect&bpo=29183]: Fix double exceptions in
wsgiref.handlers.BaseHandler
by calling itsclose()
method only when no exception is raised.bpo-36548 [https://bugs.python.org/issue?@action=redirect&bpo=36548]: Improved the repr of regular expression flags.
bpo-36542 [https://bugs.python.org/issue?@action=redirect&bpo=36542]: The signature of Python functions can now be overridden by specifying the
__textsignature_
attribute.bpo-36533 [https://bugs.python.org/issue?@action=redirect&bpo=36533]: Reinitialize logging.Handler locks in forked child processes instead of attempting to acquire them all in the parent before forking only to be released in the child process. The acquire/release pattern was leading to deadlocks in code that has implemented any form of chained logging handlers that depend upon one another as the lock acquisition order cannot be guaranteed.
bpo-35252 [https://bugs.python.org/issue?@action=redirect&bpo=35252]: Throw a TypeError instead of an AssertionError when using an invalid type annotation with singledispatch.
bpo-35900 [https://bugs.python.org/issue?@action=redirect&bpo=35900]: Allow reduction methods to return a 6-item tuple where the 6th item specifies a custom state-setting method that's called instead of the regular
__setstate__
method.bpo-35900 [https://bugs.python.org/issue?@action=redirect&bpo=35900]: enable custom reduction callback registration for functions and classes in _pickle.c, using the new Pickler's attribute
reducer_override
bpo-36368 [https://bugs.python.org/issue?@action=redirect&bpo=36368]: Fix a bug crashing SharedMemoryManager instances in interactive sessions after a ctrl-c (KeyboardInterrupt) was sent
bpo-31904 [https://bugs.python.org/issue?@action=redirect&bpo=31904]: Fix mmap fail for VxWorks
bpo-27497 [https://bugs.python.org/issue?@action=redirect&bpo=27497]:
csv.DictWriter.writeheader()
now returns the return value of the underlyingcsv.Writer.writerow()
method. Patch contributed by Ashish Nitin Patil.bpo-36239 [https://bugs.python.org/issue?@action=redirect&bpo=36239]: Parsing .mo files now ignores comments starting and ending with #-#-#-#-#.
bpo-26707 [https://bugs.python.org/issue?@action=redirect&bpo=26707]: Enable plistlib to read and write binary plist files that were created as a KeyedArchive file. Specifically, this allows the plistlib to process 0x80 tokens as UID objects.
bpo-31904 [https://bugs.python.org/issue?@action=redirect&bpo=31904]: Add posix module support for VxWorks.
bpo-35125 [https://bugs.python.org/issue?@action=redirect&bpo=35125]: Asyncio: Remove inner callback on outer cancellation in shield
bpo-35721 [https://bugs.python.org/issue?@action=redirect&bpo=35721]: Fix
asyncio.SelectorEventLoop.subprocess_exec()
leaks file descriptors ifPopen
fails and called withstdin=subprocess.PIPE
. Patch by Niklas Fiekas.bpo-31855 [https://bugs.python.org/issue?@action=redirect&bpo=31855]:
unittest.mock.mock_open()
results now respects the argument of read([size]). Patch contributed by Rémi Lapeyre.bpo-35431 [https://bugs.python.org/issue?@action=redirect&bpo=35431]: Implement
math.comb()
that returns binomial coefficient, that computes the number of ways to choose k items from n items without repetition and without order. Patch by Yash Aggarwal and Keller Fuchs.bpo-26660 [https://bugs.python.org/issue?@action=redirect&bpo=26660]: Fixed permission errors in
TemporaryDirectory
clean up. PreviouslyTemporaryDirectory.cleanup()
failed when non-writeable or non-searchable files or directories were created inside a temporary directory.bpo-34271 [https://bugs.python.org/issue?@action=redirect&bpo=34271]: Add debugging helpers to ssl module. It's now possible to dump key material and to trace TLS protocol. The default and stdlib contexts also support SSLKEYLOGFILE env var.
bpo-26467 [https://bugs.python.org/issue?@action=redirect&bpo=26467]: Added AsyncMock to support using unittest to mock asyncio coroutines. Patch by Lisa Roach.
bpo-33569 [https://bugs.python.org/issue?@action=redirect&bpo=33569]: dataclasses.InitVar: Exposes the type used to create the init var.
bpo-34424 [https://bugs.python.org/issue?@action=redirect&bpo=34424]: Fix serialization of messages containing encoded strings when the policy.linesep is set to a multi-character string. Patch by Jens Troeger.
bpo-34303 [https://bugs.python.org/issue?@action=redirect&bpo=34303]: Performance of
functools.reduce()
is slightly improved. Patch by Sergey Fedoseev.bpo-33361 [https://bugs.python.org/issue?@action=redirect&bpo=33361]: Fix a bug in
codecs.StreamRecoder
where seeking might leave old data in a buffer and break subsequent read calls. Patch by Ammar Askar.bpo-22454 [https://bugs.python.org/issue?@action=redirect&bpo=22454]: The
shlex
module now exposesshlex.join()
, the inverse ofshlex.split()
. Patch by Bo Bayles.bpo-31922 [https://bugs.python.org/issue?@action=redirect&bpo=31922]:
asyncio.AbstractEventLoop.create_datagram_endpoint()
: Do not connect UDP socket when broadcast is allowed. This allows to receive replies after a UDP broadcast.bpo-24882 [https://bugs.python.org/issue?@action=redirect&bpo=24882]: Change ThreadPoolExecutor to use existing idle threads before spinning up new ones.
bpo-31961 [https://bugs.python.org/issue?@action=redirect&bpo=31961]: Added support for bytes and pathlike objects in
subprocess.Popen()
on Windows. The args parameter now accepts a pathlike object if shell isFalse
and a sequence containing bytes and pathlike objects. The executable parameter now accepts a bytes and pathlike object. The cwd parameter now accepts a bytes object. Based on patch by Anders Lorentsen.bpo-33123 [https://bugs.python.org/issue?@action=redirect&bpo=33123]:
pathlib.Path.unlink
now accepts a missing_ok parameter to avoid aFileNotFoundError
from being raised. Patch by Robert Buchholz.bpo-32941 [https://bugs.python.org/issue?@action=redirect&bpo=32941]: Allow
mmap.mmap
objects to access the madvise() system call (throughmmap.mmap.madvise()
).bpo-22102 [https://bugs.python.org/issue?@action=redirect&bpo=22102]: Added support for ZIP files with disks set to 0. Such files are commonly created by builtin tools on Windows when use ZIP64 extension. Patch by Francisco Facioni.
bpo-32515 [https://bugs.python.org/issue?@action=redirect&bpo=32515]: trace.py can now run modules via python3 -m trace -t —module module_name
bpo-32299 [https://bugs.python.org/issue?@action=redirect&bpo=32299]: Changed
unittest.mock.patch.dict()
to return the patched dictionary when used as context manager. Patch by Vadim Tsander.bpo-27141 [https://bugs.python.org/issue?@action=redirect&bpo=27141]: Added a
_copy_()
tocollections.UserList
andcollections.UserDict
in order to correctly implement shallow copying of the objects. Patch by Bar Harel.bpo-31829 [https://bugs.python.org/issue?@action=redirect&bpo=31829]:
\r
,\0
and\x1a
(end-of-file on Windows) are now escaped in protocol 0 pickles of Unicode strings. This allows to load them without loss from files open in text mode in Python 2.bpo-23395 [https://bugs.python.org/issue?@action=redirect&bpo=23395]:
thread.interruptmain()
now avoids setting the Python error status if theSIGINT
signal is ignored or not handled by Python.
文档
bpo-36896 [https://bugs.python.org/issue?@action=redirect&bpo=36896]: Clarify that some types have unstable constructor signature between Python versions.
bpo-36686 [https://bugs.python.org/issue?@action=redirect&bpo=36686]: Improve documentation of the stdin, stdout, and stderr arguments of the
asyncio.subprocess_exec
function to specify which values are supported. Also mention that decoding as text is not supported.
Add a few tests to verify that the various values passed to the std* arguments actually work.
bpo-36984 [https://bugs.python.org/issue?@action=redirect&bpo=36984]: Improve version added references in
typing
module - by Anthony Sottile.bpo-36868 [https://bugs.python.org/issue?@action=redirect&bpo=36868]: What's new now mentions SSLContext.hostname_checks_common_name instead of SSLContext.host_flags.
bpo-35924 [https://bugs.python.org/issue?@action=redirect&bpo=35924]: Add a note to the
curses.addstr()
documentation to warn that multiline strings can cause segfaults because of an ncurses bug.bpo-36783 [https://bugs.python.org/issue?@action=redirect&bpo=36783]: Added C API Documentation for Time_FromTimeAndFold and PyDateTime_FromDateAndTimeAndFold as per PEP 495. Patch by Edison Abahurire.
bpo-36797 [https://bugs.python.org/issue?@action=redirect&bpo=36797]: More of the legacy distutils documentation has been either pruned, or else more clearly marked as being retained solely until the setuptools documentation covers it independently.
bpo-22865 [https://bugs.python.org/issue?@action=redirect&bpo=22865]: Add detail to the documentation on the
pty.spawn
function.bpo-35397 [https://bugs.python.org/issue?@action=redirect&bpo=35397]: Remove deprecation and document urllib.parse.unwrap(). Patch contributed by Rémi Lapeyre.
bpo-32995 [https://bugs.python.org/issue?@action=redirect&bpo=32995]: Added the context variable in glossary.
bpo-33519 [https://bugs.python.org/issue?@action=redirect&bpo=33519]: Clarify that
copy()
is not part of theMutableSequence
ABC.bpo-33482 [https://bugs.python.org/issue?@action=redirect&bpo=33482]: Make
codecs.StreamRecoder.writelines
take a list of bytes.bpo-25735 [https://bugs.python.org/issue?@action=redirect&bpo=25735]: Added documentation for func factorial to indicate that returns integer values
bpo-20285 [https://bugs.python.org/issue?@action=redirect&bpo=20285]: Expand object.doc (docstring) to make it clearer. Modify pydoc.py so that help(object) lists object methods (for other classes, help omits methods of the object base class.)
测试
bpo-37069 [https://bugs.python.org/issue?@action=redirect&bpo=37069]: Modify test_coroutines, test_cprofile, test_generators, test_raise, test_ssl and test_yield_from to use
test.support.catch_unraisable_exception()
rather thantest.support.captured_stderr()
.bpo-37098 [https://bugs.python.org/issue?@action=redirect&bpo=37098]: Fix test_memfd_create on older Linux Kernels.
bpo-37081 [https://bugs.python.org/issue?@action=redirect&bpo=37081]: Test with OpenSSL 1.1.1c
bpo-36829 [https://bugs.python.org/issue?@action=redirect&bpo=36829]: Add
test.support.catch_unraisable_exception()
: context manager catching unraisable exception usingsys.unraisablehook()
.bpo-36915 [https://bugs.python.org/issue?@action=redirect&bpo=36915]: The main regrtest process now always removes all temporary directories of worker processes even if they crash or if they are killed on KeyboardInterrupt (CTRL+c).
bpo-36719 [https://bugs.python.org/issue?@action=redirect&bpo=36719]: "python3 -m test -jN …" now continues the execution of next tests when a worker process crash (CHILD_ERROR state). Previously, the test suite stopped immediately. Use —failfast to stop at the first error.
bpo-36816 [https://bugs.python.org/issue?@action=redirect&bpo=36816]: Update Lib/test/selfsigned_pythontestdotnet.pem to match selfsigned.pythontest.net's new TLS certificate.
bpo-35925 [https://bugs.python.org/issue?@action=redirect&bpo=35925]: Skip httplib and nntplib networking tests when they would otherwise fail due to a modern OS or distro with a default OpenSSL policy of rejecting connections to servers with weak certificates.
bpo-36782 [https://bugs.python.org/issue?@action=redirect&bpo=36782]: Add tests for several C API functions in the
datetime
module. Patch by Edison Abahurire.bpo-36342 [https://bugs.python.org/issue?@action=redirect&bpo=36342]: Fix test_multiprocessing in test_venv if platform lacks functioning sem_open.
构建
- bpo-36721 [https://bugs.python.org/issue?@action=redirect&bpo=36721]: To embed Python into an application, a new
--embed
option must be passed topython3-config --libs --embed
to get-lpython3.8
(link the application to libpython). To support both 3.8 and older, trypython3-config --libs --embed
first and fallback topython3-config --libs
(without--embed
) if the previous command fails.
增加一个 pkg-config python3.8-embed
模块用来将 Python 嵌入到一个应用中: pkg-config python3.8-embed --libs
包含 -lpython3.8
。 要同时支持 3.8 和旧版本,请先尝试 pkg-config pythonX.Y-embed --libs
并在此命令失败时回退到 pkg-config pythonX.Y --libs
(即不带 --embed
) (请将 X.Y
替换为 Python 版本号)。
On the other hand, pkg-config python3.8 --libs
no longer contains -lpython3.8
. C extensions must not be linked to libpython (except on Android, case handled by the script); this change is backward incompatible on purpose.
- bpo-36786 [https://bugs.python.org/issue?@action=redirect&bpo=36786]: "make install" now runs compileall in parallel.
Windows
bpo-36965 [https://bugs.python.org/issue?@action=redirect&bpo=36965]: include of STATUS_CONTROL_C_EXIT without depending on MSC compiler
bpo-35926 [https://bugs.python.org/issue?@action=redirect&bpo=35926]: Update to OpenSSL 1.1.1b for Windows.
bpo-29883 [https://bugs.python.org/issue?@action=redirect&bpo=29883]: Add Windows support for UDP transports for the Proactor Event Loop. Patch by Adam Meily.
bpo-33407 [https://bugs.python.org/issue?@action=redirect&bpo=33407]: The
Py_DEPRECATED()
macro has been implemented for MSVC.
macOS
- bpo-36231 [https://bugs.python.org/issue?@action=redirect&bpo=36231]: Support building Python on macOS without usrinclude installed. As of macOS 10.14, system header files are only available within an SDK provided by either the Command Line Tools or the Xcode app.
IDLE
bpo-35610 [https://bugs.python.org/issue?@action=redirect&bpo=35610]: Replace now redundant .contextuseps1 with .prompt_last_line. This finishes change started in bpo-31858 [https://bugs.python.org/issue?@action=redirect&bpo=31858].
bpo-37038 [https://bugs.python.org/issue?@action=redirect&bpo=37038]: Make idlelib.run runnable; add test clause.
bpo-36958 [https://bugs.python.org/issue?@action=redirect&bpo=36958]: Print any argument other than None or int passed to SystemExit or sys.exit().
bpo-36807 [https://bugs.python.org/issue?@action=redirect&bpo=36807]: When saving a file, call os.fsync() so bits are flushed to e.g. USB drive.
bpo-32411 [https://bugs.python.org/issue?@action=redirect&bpo=32411]: In browser.py, remove extraneous sorting by line number since dictionary was created in line number order.
工具/示例
- bpo-37053 [https://bugs.python.org/issue?@action=redirect&bpo=37053]: Handle strings like u"bar" correctly in Tools/parser/unparse.py. Patch by Chih-Hsuan Yen.
C API
bpo-36763 [https://bugs.python.org/issue?@action=redirect&bpo=36763]: Implement the PEP 587 [https://peps.python.org/pep-0587/] "Python Initialization Configuration".
bpo-36379 [https://bugs.python.org/issue?@action=redirect&bpo=36379]: Fix crashes when attempting to use the modulo parameter when
__ipow__
is implemented in C.bpo-37107 [https://bugs.python.org/issue?@action=redirect&bpo=37107]: Update
PyObject_CallMethodObjArgs()
andPyObjectCallMethodIdObjArgs
to usePyObjectGetMethod
to avoid creating a bound method object in many cases. Patch by Michael J. Sullivan.bpo-36974 [https://bugs.python.org/issue?@action=redirect&bpo=36974]: Implement PEP 590 [https://peps.python.org/pep-0590/]: Vectorcall: a fast calling protocol for CPython. This is a new protocol to optimize calls of custom callable objects.
bpo-36763 [https://bugs.python.org/issue?@action=redirect&bpo=36763]:
Py_Main()
now returns the exitcode rather than callingPy_Exit(exitcode)
when callingPyErr_Print()
if the current exception type isSystemExit
.bpo-36922 [https://bugs.python.org/issue?@action=redirect&bpo=36922]: Add new type flag
Py_TPFLAGS_METHOD_DESCRIPTOR
for objects behaving like unbound methods. These are objects supporting the optimization given by theLOAD_METHOD
/CALL_METHOD
opcodes. See PEP 590.bpo-36728 [https://bugs.python.org/issue?@action=redirect&bpo=36728]: The
PyEval_ReInitThreads()
function has been removed from the C API. It should not be called explicitly: usePyOS_AfterFork_Child()
instead.
Python 3.8.0 alpha 4
发布日期: 2019-05-06
安全性
bpo-36742 [https://bugs.python.org/issue?@action=redirect&bpo=36742]: Fixes mishandling of pre-normalization characters in urlsplit().
bpo-30458 [https://bugs.python.org/issue?@action=redirect&bpo=30458]: Address CVE 2019-9740 [https://www.cve.org/CVERecord?id=CVE-2019-9740] by disallowing URL paths with embedded whitespace or control characters through into the underlying http client request. Such potentially malicious header injection URLs now cause an http.client.InvalidURL exception to be raised.
bpo-35755 [https://bugs.python.org/issue?@action=redirect&bpo=35755]:
shutil.which()
now usesos.confstr("CS_PATH")
if available and if thePATH
environment variable is not set. Remove also the current directory fromposixpath.defpath
. On Unix,shutil.which()
and thesubprocess
module no longer search the executable in the current directory if thePATH
environment variable is not set.
核心与内置函数
bpo-36722 [https://bugs.python.org/issue?@action=redirect&bpo=36722]: In debug build, import now also looks for C extensions compiled in release mode and for C extensions compiled in the stable ABI.
bpo-32849 [https://bugs.python.org/issue?@action=redirect&bpo=32849]: Fix Python Initialization code on FreeBSD to detect properly when stdin file descriptor (fd 0) is invalid.
bpo-36623 [https://bugs.python.org/issue?@action=redirect&bpo=36623]: Remove parser headers and related function declarations that lack implementations after the removal of pgen.
bpo-20180 [https://bugs.python.org/issue?@action=redirect&bpo=20180]:
dict.pop()
is now up to 33% faster thanks to Argument Clinic. Patch by Inada Naoki.bpo-36611 [https://bugs.python.org/issue?@action=redirect&bpo=36611]: Debug memory allocators: disable serialno field by default from debug hooks on Python memory allocators to reduce the memory footprint by 5%. Enable
tracemalloc
to get the traceback where a memory block has been allocated when a fatal memory error is logged to decide where to put a breakpoint. Compile Python withPYMEM_DEBUG_SERIALNO
defined to get back the field.bpo-36588 [https://bugs.python.org/issue?@action=redirect&bpo=36588]: On AIX,
sys.platform
doesn't contain the major version anymore. Always return'aix'
, instead of'aix3'
..'aix7'
. Since older Python versions include the version number, it is recommended to always usesys.platform.startswith('aix')
. Contributed by M. Felt.bpo-36549 [https://bugs.python.org/issue?@action=redirect&bpo=36549]: Change str.capitalize to use titlecase for the first character instead of uppercase.
bpo-36540 [https://bugs.python.org/issue?@action=redirect&bpo=36540]: Implement PEP 570 [https://peps.python.org/pep-0570/] (Python positional-only parameters). Patch by Pablo Galindo.
bpo-36475 [https://bugs.python.org/issue?@action=redirect&bpo=36475]:
PyEval_AcquireLock()
andPyEval_AcquireThread()
now terminate the current thread if called while the interpreter is finalizing, making them consistent withPyEval_RestoreThread()
,Py_END_ALLOW_THREADS()
, andPyGILState_Ensure()
.bpo-36504 [https://bugs.python.org/issue?@action=redirect&bpo=36504]: Fix signed integer overflow in _ctypes.c's
PyCArrayType_new()
.bpo-20844 [https://bugs.python.org/issue?@action=redirect&bpo=20844]: Fix running script with encoding cookie and LF line ending may fail on Windows.
bpo-24214 [https://bugs.python.org/issue?@action=redirect&bpo=24214]: Fixed support of the surrogatepass error handler in the UTF-8 incremental decoder.
bpo-36452 [https://bugs.python.org/issue?@action=redirect&bpo=36452]: Changing
dict
keys during iteration of the dict itself,keys()
,values()
, oritems()
will now be detected in certain corner cases where keys are deleted/added so that the number of keys isn't changed. ARuntimeError
will be raised afterlen(dict)
iterations. Contributed by Thomas Perl.bpo-36459 [https://bugs.python.org/issue?@action=redirect&bpo=36459]: Fix a possible double
PyMem_FREE()
due to tokenizer.c'stok_nextc()
.bpo-36433 [https://bugs.python.org/issue?@action=redirect&bpo=36433]: Fixed TypeError message in classmethoddescr_call.
bpo-36430 [https://bugs.python.org/issue?@action=redirect&bpo=36430]: Fix a possible reference leak in
itertools.count()
.bpo-36440 [https://bugs.python.org/issue?@action=redirect&bpo=36440]: Include node names in
ParserError
messages, instead of numeric IDs. Patch by A. Skrobov.bpo-36143 [https://bugs.python.org/issue?@action=redirect&bpo=36143]: Regenerate
keyword
from the Grammar and Tokens file using pgen. Patch by Pablo Galindo.bpo-18372 [https://bugs.python.org/issue?@action=redirect&bpo=18372]: Add missing
PyObject_GC_Track()
calls in thepickle
module. Patch by Zackery Spytz.
库
bpo-35952 [https://bugs.python.org/issue?@action=redirect&bpo=35952]: Fix pythoninfo when the compiler is missing.
bpo-28238 [https://bugs.python.org/issue?@action=redirect&bpo=28238]: The
.find*()
methods of xml.etree.ElementTree can now search for wildcards like{*}tag
and{ns}*
that match a tag in any namespace or all tags in a namespace. Patch by Stefan Behnel.bpo-26978 [https://bugs.python.org/issue?@action=redirect&bpo=26978]:
pathlib.path.link_to()
is now implemented. It creates a hard link pointing to a path.bpo-1613500 [https://bugs.python.org/issue?@action=redirect&bpo=1613500]:
fileinput.FileInput
now uses the input file mode to correctly set the output file mode (previously it was hardcoded to'w'
) wheninplace=True
is passed to its constructor.bpo-36734 [https://bugs.python.org/issue?@action=redirect&bpo=36734]: Fix compilation of
faulthandler.c
on HP-UX. Initializestack_t current_stack
to zero usingmemset()
.bpo-13611 [https://bugs.python.org/issue?@action=redirect&bpo=13611]: The xml.etree.ElementTree packages gained support for C14N 2.0 serialisation. Patch by Stefan Behnel.
bpo-36669 [https://bugs.python.org/issue?@action=redirect&bpo=36669]: Add missing matrix multiplication operator support to weakref.proxy.
bpo-36676 [https://bugs.python.org/issue?@action=redirect&bpo=36676]: The XMLParser() in xml.etree.ElementTree provides namespace prefix context to the parser target if it defines the callback methods "start_ns()" and/or "end_ns()". Patch by Stefan Behnel.
bpo-36673 [https://bugs.python.org/issue?@action=redirect&bpo=36673]: The TreeBuilder and XMLPullParser in xml.etree.ElementTree gained support for parsing comments and processing instructions. Patch by Stefan Behnel.
bpo-36650 [https://bugs.python.org/issue?@action=redirect&bpo=36650]: The C version of functools.lru_cache() was treating calls with an empty
**kwargs
dictionary as being distinct from calls with no keywords at all. This did not result in an incorrect answer, but it did trigger an unexpected cache miss.bpo-28552 [https://bugs.python.org/issue?@action=redirect&bpo=28552]: Fix
distutils.sysconfig
ifsys.executable
isNone
or an empty string: useos.getcwd()
to initializeproject_base
. Fix also the distutils build command: don't usesys.executable
if it isNone
or an empty string.bpo-35755 [https://bugs.python.org/issue?@action=redirect&bpo=35755]:
shutil.which()
anddistutils.spawn.find_executable
now useos.confstr("CS_PATH")
if available instead ofos.defpath
, if thePATH
environment variable is not set. Moreover, don't useos.confstr("CS_PATH")
noros.defpath
if thePATH
environment variable is set to an empty string.bpo-25430 [https://bugs.python.org/issue?@action=redirect&bpo=25430]: improve performance of
IPNetwork.__contains__()
bpo-30485 [https://bugs.python.org/issue?@action=redirect&bpo=30485]: Path expressions in xml.etree.ElementTree can now avoid explicit namespace prefixes for tags (or the "{namespace}tag" notation) by passing a default namespace with an empty string prefix.
bpo-36613 [https://bugs.python.org/issue?@action=redirect&bpo=36613]: Fix
asyncio
wait() not removing callback if exceptionbpo-36598 [https://bugs.python.org/issue?@action=redirect&bpo=36598]: Fix
isinstance
check for Mock objects with spec when the code is executed under tracing. Patch by Karthikeyan Singaravelan.bpo-18748 [https://bugs.python.org/issue?@action=redirect&bpo=18748]: In development mode (
-X
dev
) and in debug build, theio.IOBase
destructor now logsclose()
exceptions. These exceptions are silent by default in release mode.bpo-36575 [https://bugs.python.org/issue?@action=redirect&bpo=36575]: The
_lsprof
module now uses internal timer same totime.perf_counter()
by default.gettimeofday(2)
was used on Unix. New timer has better resolution on most Unix platforms and timings are no longer impacted by system clock updates sinceperf_counter()
is monotonic. Patch by Inada Naoki.bpo-33461 [https://bugs.python.org/issue?@action=redirect&bpo=33461]:
json.loads
now emitsDeprecationWarning
whenencoding
option is specified. Patch by Matthias Bussonnier.bpo-36559 [https://bugs.python.org/issue?@action=redirect&bpo=36559]: The random module now prefers the lean internal _sha512 module over hashlib for seed(version=2) to optimize import time.
bpo-17561 [https://bugs.python.org/issue?@action=redirect&bpo=17561]: Set backlog=None as the default for socket.create_server.
bpo-34373 [https://bugs.python.org/issue?@action=redirect&bpo=34373]: Fix
time.mktime()
error handling on AIX for year before 1970.bpo-36232 [https://bugs.python.org/issue?@action=redirect&bpo=36232]: Improve error message when trying to open existing DBM database that actually doesn't exist. Patch by Marco Rougeth.
bpo-36546 [https://bugs.python.org/issue?@action=redirect&bpo=36546]: Add statistics.quantiles()
bpo-36050 [https://bugs.python.org/issue?@action=redirect&bpo=36050]: Optimized
http.client.HTTPResponse.read()
for large response. Patch by Inada Naoki.bpo-36522 [https://bugs.python.org/issue?@action=redirect&bpo=36522]: If debuglevel is set to >0 in
http.client
, print all values for headers with multiple values for the same header name. Patch by Matt Houglum.bpo-36492 [https://bugs.python.org/issue?@action=redirect&bpo=36492]: Deprecated passing required arguments like func as keyword arguments in functions which should accept arbitrary keyword arguments and pass them to other function. Arbitrary keyword arguments (even with names "self" and "func") can now be passed to these functions if the required arguments are passed as positional arguments.
bpo-27181 [https://bugs.python.org/issue?@action=redirect&bpo=27181]: Add statistics.geometric_mean().
bpo-30427 [https://bugs.python.org/issue?@action=redirect&bpo=30427]:
os.path.normcase()
relies onos.fspath()
to check the type of its argument. Redundant checks have been removed from itsposixpath.normcase()
andntpath.normcase()
implementations. Patch by Wolfgang Maier.bpo-36385 [https://bugs.python.org/issue?@action=redirect&bpo=36385]: Stop rejecting IPv4 octets for being ambiguously octal. Leading zeros are ignored, and no longer are assumed to specify octal octets. Octets are always decimal numbers. Octets must still be no more than three digits, including leading zeroes.
bpo-36434 [https://bugs.python.org/issue?@action=redirect&bpo=36434]: Errors during writing to a ZIP file no longer prevent to properly close it.
bpo-36407 [https://bugs.python.org/issue?@action=redirect&bpo=36407]: Fixed wrong indentation writing for CDATA section in xml.dom.minidom. Patch by Vladimir Surjaninov.
bpo-36326 [https://bugs.python.org/issue?@action=redirect&bpo=36326]: inspect.getdoc() can now find docstrings for member objects when slots is a dictionary.
bpo-36366 [https://bugs.python.org/issue?@action=redirect&bpo=36366]: Calling
stop()
on an unstarted or stoppedunittest.mock.patch()
object will now returnNone
instead of raisingRuntimeError
, making the method idempotent. Patch by Karthikeyan Singaravelan.bpo-36348 [https://bugs.python.org/issue?@action=redirect&bpo=36348]: The
imap.IMAP4.logout()
method no longer ignores silently arbitrary exceptions.bpo-31904 [https://bugs.python.org/issue?@action=redirect&bpo=31904]: Add time module support and fix test_time failures for VxWorks.
bpo-36227 [https://bugs.python.org/issue?@action=redirect&bpo=36227]: Added support for keyword arguments
default_namespace
andxml_declaration
in functionsElementTree.tostring()
andElementTree.tostringlist()
.bpo-36004 [https://bugs.python.org/issue?@action=redirect&bpo=36004]: Added new alternate constructors
datetime.date.fromisocalendar()
anddatetime.datetime.fromisocalendar()
, which construct date objects from ISO year, week number and weekday; these are the inverse of each class'sisocalendar
method. Patch by Paul Ganssle.bpo-35936 [https://bugs.python.org/issue?@action=redirect&bpo=35936]:
modulefinder
no longer depends on the deprecatedimp
module, and the initializer formodulefinder.ModuleFinder
now has immutable default arguments. Patch by Brandt Bucher.bpo-35376 [https://bugs.python.org/issue?@action=redirect&bpo=35376]:
modulefinder
correctly handles modules that have the same name as a bad package. Patch by Brandt Bucher.bpo-17396 [https://bugs.python.org/issue?@action=redirect&bpo=17396]:
modulefinder
no longer crashes when encountering syntax errors in followed imports. Patch by Brandt Bucher.bpo-35934 [https://bugs.python.org/issue?@action=redirect&bpo=35934]: Added
create_server()
andhas_dualstack_ipv6()
convenience functions to automate the necessary tasks usually involved when creating a server socket, including accepting both IPv4 and IPv6 connections on the same socket. (Contributed by Giampaolo Rodola in bpo-17561 [https://bugs.python.org/issue?@action=redirect&bpo=17561].)bpo-23078 [https://bugs.python.org/issue?@action=redirect&bpo=23078]: Add support for
classmethod()
andstaticmethod()
tounittest.mock.create_autospec()
. Initial patch by Felipe Ochoa.bpo-35416 [https://bugs.python.org/issue?@action=redirect&bpo=35416]: Fix potential resource warnings in distutils. Patch by Mickaël Schoentgen.
bpo-25451 [https://bugs.python.org/issue?@action=redirect&bpo=25451]: Add transparency methods to
tkinter.PhotoImage
. Patch by Zackery Spytz.bpo-35082 [https://bugs.python.org/issue?@action=redirect&bpo=35082]: Don't return deleted attributes when calling dir on a
unittest.mock.Mock
.bpo-34547 [https://bugs.python.org/issue?@action=redirect&bpo=34547]:
wsgiref.handlers.BaseHandler
now handles abrupt client connection terminations gracefully. Patch by Petter Strandmark.bpo-31658 [https://bugs.python.org/issue?@action=redirect&bpo=31658]:
xml.sax.parse()
now supports pathlike. Patch by Mickaël Schoentgen.bpo-34139 [https://bugs.python.org/issue?@action=redirect&bpo=34139]: Remove stale unix datagram socket before binding
bpo-33530 [https://bugs.python.org/issue?@action=redirect&bpo=33530]: Implemented Happy Eyeballs in
asyncio.create_connection()
. Added two new arguments, happy_eyeballs_delay and interleave, to specify Happy Eyeballs behavior.bpo-33291 [https://bugs.python.org/issue?@action=redirect&bpo=33291]: Do not raise AttributeError when calling the inspect functions isgeneratorfunction, iscoroutinefunction, isasyncgenfunction on a method created from an arbitrary callable. Instead, return False.
bpo-31310 [https://bugs.python.org/issue?@action=redirect&bpo=31310]: Fix the multiprocessing.semaphore_tracker so it is reused by child processes
bpo-31292 [https://bugs.python.org/issue?@action=redirect&bpo=31292]: Fix
setup.py check --restructuredtext
for files containinginclude
directives.
文档
bpo-36625 [https://bugs.python.org/issue?@action=redirect&bpo=36625]: Remove obsolete comments from docstrings in fractions.Fraction
bpo-30840 [https://bugs.python.org/issue?@action=redirect&bpo=30840]: Document relative imports
bpo-36523 [https://bugs.python.org/issue?@action=redirect&bpo=36523]: Add docstring for io.IOBase.writelines().
bpo-36425 [https://bugs.python.org/issue?@action=redirect&bpo=36425]: New documentation translation: Simplified Chinese [https://docs.python.org/zh-cn/].
bpo-36345 [https://bugs.python.org/issue?@action=redirect&bpo=36345]: Avoid the duplication of code from
Tools/scripts/serve.py
in using theliteralinclude
directive for the basic wsgiref-based web server in the documentation ofwsgiref
. Contributed by Stéphane Wirtel.bpo-36345 [https://bugs.python.org/issue?@action=redirect&bpo=36345]: Using the code of the
Tools/scripts/serve.py
script as an example in thewsgiref
documentation. Contributed by Stéphane Wirtel.bpo-36157 [https://bugs.python.org/issue?@action=redirect&bpo=36157]: Added documentation for PyInterpreterState_Main().
bpo-33043 [https://bugs.python.org/issue?@action=redirect&bpo=33043]: Updates the docs.python.org page with the addition of a 'Contributing to Docs' link at the end of the page (between 'Reporting Bugs' and 'About Documentation'). Updates the 'Found a Bug' page with additional links and information in the Documentation Bugs section.
bpo-35581 [https://bugs.python.org/issue?@action=redirect&bpo=35581]: @typing.type_check_only now allows type stubs to mark functions and classes not available during runtime.
bpo-33832 [https://bugs.python.org/issue?@action=redirect&bpo=33832]: Add glossary entry for 'magic method'.
bpo-32913 [https://bugs.python.org/issue?@action=redirect&bpo=32913]: Added re.Match.groupdict example to regex HOWTO.
测试
bpo-36719 [https://bugs.python.org/issue?@action=redirect&bpo=36719]: regrtest now always detects uncollectable objects. Previously, the check was only enabled by
--findleaks
. The check now also works with-jN/--multiprocess N
.--findleaks
becomes a deprecated alias to--fail-env-changed
.bpo-36725 [https://bugs.python.org/issue?@action=redirect&bpo=36725]: When using multiprocessing mode (-jN), regrtest now better reports errors if a worker process fails, and it exits immediately on a worker thread failure or when interrupted.
bpo-36454 [https://bugs.python.org/issue?@action=redirect&bpo=36454]: Change test_time.test_monotonic() to test only the lower bound of elapsed time after a sleep command rather than the upper bound. This prevents unnecessary test failures on slow buildbots. Patch by Victor Stinner.
bpo-32424 [https://bugs.python.org/issue?@action=redirect&bpo=32424]: Improve test coverage for xml.etree.ElementTree. Patch by Gordon P. Hemsley.
bpo-32424 [https://bugs.python.org/issue?@action=redirect&bpo=32424]: Fix typo in test_cyclic_gc() test for xml.etree.ElementTree. Patch by Gordon P. Hemsley.
bpo-36635 [https://bugs.python.org/issue?@action=redirect&bpo=36635]: Add a new
_testinternalcapi
module to test the internal C API.bpo-36629 [https://bugs.python.org/issue?@action=redirect&bpo=36629]: Fix
test_imap4_host_default_value()
oftest_imaplib
: catch alsoerrno.ENETUNREACH
error.bpo-36611 [https://bugs.python.org/issue?@action=redirect&bpo=36611]: Fix
test_sys.test_getallocatedblocks()
whentracemalloc
is enabled.bpo-36560 [https://bugs.python.org/issue?@action=redirect&bpo=36560]: Fix reference leak hunting in regrtest: compute also deltas (of reference count, allocated memory blocks, file descriptor count) during warmup, to ensure that everything is initialized before starting to hunt reference leaks.
bpo-36565 [https://bugs.python.org/issue?@action=redirect&bpo=36565]: Fix reference hunting (
python3 -m test -R 3:3
) when Python has no builtin abc module.bpo-31904 [https://bugs.python.org/issue?@action=redirect&bpo=31904]: Port test_resource to VxWorks: skip tests cases setting RLIMIT_FSIZE and RLIMIT_CPU.
bpo-31904 [https://bugs.python.org/issue?@action=redirect&bpo=31904]: Fix test_tabnanny on VxWorks: adjust ENOENT error message.
bpo-36436 [https://bugs.python.org/issue?@action=redirect&bpo=36436]: Fix
testcapi.pymembuffer_overflow()
: handle memory allocation failure.bpo-31904 [https://bugs.python.org/issue?@action=redirect&bpo=31904]: Fix test_utf8_mode on VxWorks: Python always use UTF-8 on VxWorks.
bpo-36341 [https://bugs.python.org/issue?@action=redirect&bpo=36341]: Fix tests that may fail with PermissionError upon calling bind() on AF_UNIX sockets.
构建
bpo-36747 [https://bugs.python.org/issue?@action=redirect&bpo=36747]: Remove the stale scriptsinstall Makefile target.
bpo-21536 [https://bugs.python.org/issue?@action=redirect&bpo=21536]: On Unix, C extensions are no longer linked to libpython except on Android and Cygwin.
通过共享库的 Python 构建的 C 扩展现在可以被静态链接的 Python 加载了。
When Python is embedded, libpython
must not be loaded with RTLD_LOCAL
, but RTLD_GLOBAL
instead. Previously, using RTLD_LOCAL
, it was already not possible to load C extensions which were not linked to libpython
, such as C extensions of the standard library built by the shared
section of Modules/Setup
.
distutils,python-config 和 python-config.py 已被修改。
bpo-36707 [https://bugs.python.org/issue?@action=redirect&bpo=36707]:
./configure --with-pymalloc
no longer adds them
flag to SOABI (sys.implementation.cache_tag). Enabling or disabling pymalloc has no impact on the ABI.bpo-36635 [https://bugs.python.org/issue?@action=redirect&bpo=36635]: Change
PyAPI_FUNC(type)
,PyAPI_DATA(type)
andPyMODINIT_FUNC
macros ofpyport.h
whenPy_BUILD_CORE_MODULE
is defined. ThePy_BUILD_CORE_MODULE
define must be now be used to build a C extension as a dynamic library accessing Python internals: export thePyInit_xxx()
function in DLL exports on Windows.bpo-31904 [https://bugs.python.org/issue?@action=redirect&bpo=31904]: Don't build the
_crypt
extension on VxWorks.bpo-36618 [https://bugs.python.org/issue?@action=redirect&bpo=36618]: Add
-fmax-type-align=8
to CFLAGS when clang compiler is detected. The pymalloc memory allocator aligns memory on 8 bytes. On x86-64, clang expects alignment on 16 bytes by default and so uses MOVAPS instruction which can lead to segmentation fault. Instruct clang that Python is limited to alignment on 8 bytes to use MOVUPS instruction instead: slower but don't trigger a SIGSEGV if the memory is not aligned on 16 bytes. Sadly, the flag must be added toCFLAGS
and not justCFLAGS_NODIST
, since third party C extensions can have the same issue.bpo-36605 [https://bugs.python.org/issue?@action=redirect&bpo=36605]:
make tags
andmake TAGS
now also parseModules/_io/*.c
andModules/_io/*.h
.bpo-36465 [https://bugs.python.org/issue?@action=redirect&bpo=36465]: Release builds and debug builds are now ABI compatible: defining the
Py_DEBUG
macro no longer implies thePy_TRACE_REFS
macro, which introduces the only ABI incompatibility. ThePy_TRACE_REFS
macro, which adds thesys.getobjects()
function and thePYTHONDUMPREFS
environment variable, can be set using the new./configure --with-trace-refs
build option.bpo-36577 [https://bugs.python.org/issue?@action=redirect&bpo=36577]: setup.py now correctly reports missing OpenSSL headers and libraries again.
bpo-36544 [https://bugs.python.org/issue?@action=redirect&bpo=36544]: Fix regression introduced in bpo-36146 [https://bugs.python.org/issue?@action=redirect&bpo=36146] refactoring setup.py
bpo-36508 [https://bugs.python.org/issue?@action=redirect&bpo=36508]:
python-config --ldflags
no longer includes flags of theLINKFORSHARED
variable. TheLINKFORSHARED
variable must only be used to build executables.bpo-36503 [https://bugs.python.org/issue?@action=redirect&bpo=36503]: Remove references to "aix3" and "aix4". Patch by M. Felt.
Windows
bpo-35920 [https://bugs.python.org/issue?@action=redirect&bpo=35920]: Added platform.win32_edition() and platform.win32_is_iot(). Added support for cross-compiling packages for Windows ARM32. Skip tests that are not expected to work on Windows IoT Core ARM32.
bpo-36649 [https://bugs.python.org/issue?@action=redirect&bpo=36649]: Remove trailing spaces for registry keys when installed via the Store.
bpo-34144 [https://bugs.python.org/issue?@action=redirect&bpo=34144]: Fixed activate.bat to correctly update codepage when chcp.com returns dots in output. Patch by Lorenz Mende.
bpo-36509 [https://bugs.python.org/issue?@action=redirect&bpo=36509]: Added preset-iot layout for Windows IoT ARM containers. This layout doesn't contain UI components like tkinter or IDLE. It also doesn't contain files to support on-target builds since Windows ARM32 builds must be cross-compiled when using MSVC.
bpo-35941 [https://bugs.python.org/issue?@action=redirect&bpo=35941]: enum_certificates function of the ssl module now returns certificates from all available certificate stores inside windows in a query instead of returning only certificates from the system wide certificate store. This includes certificates from these certificate stores: local machine, local machine enterprise, local machine group policy, current user, current user group policy, services, users. ssl.enum_crls() function is changed in the same way to return all certificate revocation lists inside the windows certificate revocation list stores.
bpo-36441 [https://bugs.python.org/issue?@action=redirect&bpo=36441]: Fixes creating a venv when debug binaries are installed.
bpo-36085 [https://bugs.python.org/issue?@action=redirect&bpo=36085]: Enable better DLL resolution on Windows by using safe DLL search paths and adding
os.add_dll_directory()
.bpo-36010 [https://bugs.python.org/issue?@action=redirect&bpo=36010]: Add the venv standard library module to the nuget distribution for Windows.
bpo-29515 [https://bugs.python.org/issue?@action=redirect&bpo=29515]: Add the following socket module constants on Windows: IPPROTO_AH IPPROTO_CBT IPPROTO_DSTOPTS IPPROTO_EGP IPPROTO_ESP IPPROTO_FRAGMENT IPPROTO_GGP IPPROTO_HOPOPTS IPPROTO_ICLFXBM IPPROTO_ICMPV6 IPPROTO_IDP IPPROTO_IGMP IPPROTO_IGP IPPROTO_IPV4 IPPROTO_IPV6 IPPROTO_L2TP IPPROTO_MAX IPPROTO_ND IPPROTO_NONE IPPROTO_PGM IPPROTO_PIM IPPROTO_PUP IPPROTO_RDP IPPROTO_ROUTING IPPROTO_SCTP IPPROTO_ST
bpo-35947 [https://bugs.python.org/issue?@action=redirect&bpo=35947]: Added current version of libffi to cpython-source-deps. Change _ctypes to use current version of libffi on Windows.
bpo-34060 [https://bugs.python.org/issue?@action=redirect&bpo=34060]: Report system load when running test suite on Windows. Patch by Ammar Askar. Based on prior work by Jeremy Kloth.
bpo-31512 [https://bugs.python.org/issue?@action=redirect&bpo=31512]: With the Windows 10 Creators Update, non-elevated users can now create symlinks as long as the computer has Developer Mode enabled.
macOS
- bpo-34602 [https://bugs.python.org/issue?@action=redirect&bpo=34602]: Avoid failures setting macOS stack resource limit with resource.setrlimit. This reverts an earlier fix for bpo-18075 [https://bugs.python.org/issue?@action=redirect&bpo=18075] which forced a non-default stack size when building the interpreter executable on macOS.
IDLE
- bpo-36429 [https://bugs.python.org/issue?@action=redirect&bpo=36429]: Fix starting IDLE with pyshell. Add idlelib.pyshell alias at top; remove pyshell alias at bottom. Remove obsolete name=='main' command.
工具/示例
- bpo-14546 [https://bugs.python.org/issue?@action=redirect&bpo=14546]: Fix the argument handling in Tools/scripts/lll.py.
C API
bpo-36763 [https://bugs.python.org/issue?@action=redirect&bpo=36763]: Fix memory leak in
Py_SetStandardStreamEncoding()
: release memory if the function is called twice.bpo-36641 [https://bugs.python.org/issue?@action=redirect&bpo=36641]: PyDoc_VAR(name) and PyDoc_STRVAR(name, str) now create
static const char name[]
instead ofstatic char name[]
. Patch by Inada Naoki.bpo-36389 [https://bugs.python.org/issue?@action=redirect&bpo=36389]: Change the value of
CLEANBYTE
,DEADDYTE
andFORBIDDENBYTE
internal constants used by debug hooks on Python memory allocators (PyMem_SetupDebugHooks()
function). Byte patterns0xCB
,0xDB
and0xFB
have been replaced with0xCD
,0xDD
and0xFD
to use the same values than Windows CRT debugmalloc()
andfree()
.bpo-36443 [https://bugs.python.org/issue?@action=redirect&bpo=36443]: Since Python 3.7.0, calling
Py_DecodeLocale()
beforePy_Initialize()
produces mojibake if theLC_CTYPE
locale is coerced and/or if the UTF-8 Mode is enabled by the user configuration. The LC_CTYPE coercion and UTF-8 Mode are now disabled by default to fix the mojibake issue. They must now be enabled explicitly (opt-in) using the newPyPreInitialize()
API with_PyPreConfig
.bpo-36025 [https://bugs.python.org/issue?@action=redirect&bpo=36025]: Fixed an accidental change to the datetime C API where the arguments to the
PyDate_FromTimestamp()
function were incorrectly interpreted as a single timestamp rather than an arguments tuple, which causes existing code to start raisingTypeError
. The backwards-incompatible change was only present in alpha releases of Python 3.8. Patch by Paul Ganssle.bpo-35810 [https://bugs.python.org/issue?@action=redirect&bpo=35810]: Modify
PyObject_Init
to correctly increase the refcount of heap-allocated Type objects. Also fix the refcounts of the heap-allocated types that were either doing this manually or not decreasing the type's refcount in tp_dealloc
Python 3.8.0 alpha 3
发布日期: 2019-03-25
安全性
bpo-36216 [https://bugs.python.org/issue?@action=redirect&bpo=36216]: Changes urlsplit() to raise ValueError when the URL contains characters that decompose under IDNA encoding (NFKC-normalization) into characters that affect how the URL is parsed.
bpo-35121 [https://bugs.python.org/issue?@action=redirect&bpo=35121]: Don't send cookies of domain A without Domain attribute to domain B when domain A is a suffix match of domain B while using a cookiejar with
http.cookiejar.DefaultCookiePolicy
policy. Patch by Karthikeyan Singaravelan.
核心与内置函数
bpo-36421 [https://bugs.python.org/issue?@action=redirect&bpo=36421]: Fix a possible double decref in _ctypes.c's
PyCArrayType_new()
.bpo-36412 [https://bugs.python.org/issue?@action=redirect&bpo=36412]: Fix a possible crash when creating a new dictionary.
bpo-36398 [https://bugs.python.org/issue?@action=redirect&bpo=36398]: Fix a possible crash in
structseq_repr()
.bpo-36256 [https://bugs.python.org/issue?@action=redirect&bpo=36256]: Fix bug in parsermodule when parsing a state in a DFA that has two or more arcs with labels of the same type. Patch by Pablo Galindo.
bpo-36365 [https://bugs.python.org/issue?@action=redirect&bpo=36365]: repr(structseq) is no longer limited to 512 bytes.
bpo-36374 [https://bugs.python.org/issue?@action=redirect&bpo=36374]: Fix a possible null pointer dereference in
merge_consts_recursive()
. Patch by Zackery Spytz.bpo-36236 [https://bugs.python.org/issue?@action=redirect&bpo=36236]: At Python initialization, the current directory is no longer prepended to
sys.path
if it has been removed.bpo-36352 [https://bugs.python.org/issue?@action=redirect&bpo=36352]: Python initialization now fails with an error, rather than silently truncating paths, if a path is too long.
bpo-36301 [https://bugs.python.org/issue?@action=redirect&bpo=36301]: Python initialization now fails if decoding
pybuilddir.txt
configuration file fails at startup.bpo-36333 [https://bugs.python.org/issue?@action=redirect&bpo=36333]: Fix leak in PyRuntimeStateFini. Contributed by Stéphane Wirtel.
bpo-36332 [https://bugs.python.org/issue?@action=redirect&bpo=36332]: The builtin
compile()
can now handle AST objects that contain assignment expressions. Patch by Pablo Galindo.bpo-36282 [https://bugs.python.org/issue?@action=redirect&bpo=36282]: Improved error message for too much positional arguments in some builtin functions.
bpo-30040 [https://bugs.python.org/issue?@action=redirect&bpo=30040]: New empty dict uses fewer memory for now. It used more memory than empty dict created by
dict.clear()
. And empty dict creation and deletion is about 2x faster. Patch by Inada Naoki.bpo-36262 [https://bugs.python.org/issue?@action=redirect&bpo=36262]: Fix an unlikely memory leak on conversion from string to float in the function
Pydg_strtod()
used byfloat(str)
,complex(str)
,pickle.load()
,marshal.load()
, etc.bpo-36252 [https://bugs.python.org/issue?@action=redirect&bpo=36252]: Update Unicode databases to version 12.0.0.
bpo-36218 [https://bugs.python.org/issue?@action=redirect&bpo=36218]: Fix a segfault occurring when sorting a list of heterogeneous values. Patch contributed by Rémi Lapeyre and Elliot Gorokhovsky.
bpo-36188 [https://bugs.python.org/issue?@action=redirect&bpo=36188]: Cleaned up left-over vestiges of Python 2 unbound method handling in method objects and documentation. Patch by Martijn Pieters
bpo-36124 [https://bugs.python.org/issue?@action=redirect&bpo=36124]: Add a new interpreter-specific dict and expose it in the C-API via PyInterpreterState_GetDict(). This parallels PyThreadState_GetDict(). However, extension modules should continue using PyModule_GetState() for their own internal per-interpreter state.
bpo-35975 [https://bugs.python.org/issue?@action=redirect&bpo=35975]: Add a
feature_version
flag toast.parse()
(documented) andcompile()
(hidden) that allows tweaking the parser to support older versions of the grammar. In particular, iffeature_version
is 5 or 6, the hacks for theasync
andawait
keyword from PEP 492 are reinstated. (For 7 or higher, these are unconditionally treated as keywords, but they are still special tokens rather thanNAME
tokens that the parser driver recognizes.)bpo-31904 [https://bugs.python.org/issue?@action=redirect&bpo=31904]: Use UTF-8 as the system encoding on VxWorks.
bpo-36048 [https://bugs.python.org/issue?@action=redirect&bpo=36048]: The
__index__()
special method will be used instead of__int__()
for implicit conversion of Python numbers to C integers. Using the__int__()
method in implicit conversions has been deprecated.bpo-35808 [https://bugs.python.org/issue?@action=redirect&bpo=35808]: Retire pgen and use a modified version of pgen2 to generate the parser. Patch by Pablo Galindo.
库
bpo-36401 [https://bugs.python.org/issue?@action=redirect&bpo=36401]: The class documentation created by pydoc now has a separate section for readonly properties.
bpo-36320 [https://bugs.python.org/issue?@action=redirect&bpo=36320]: The typing.NamedTuple() class has deprecated the fieldtypes attribute in favor of the annotations attribute which carried the same information. Also, both attributes were converted from OrderedDict to a regular dict.
bpo-34745 [https://bugs.python.org/issue?@action=redirect&bpo=34745]: Fix
asyncio
ssl memory issues caused by circular referencesbpo-36324 [https://bugs.python.org/issue?@action=redirect&bpo=36324]: Add method to statistics.NormalDist for computing the inverse cumulative normal distribution.
bpo-36321 [https://bugs.python.org/issue?@action=redirect&bpo=36321]: collections.namedtuple() misspelled the name of an attribute. To be consistent with typing.NamedTuple, the attribute name should have been "fielddefaults" instead of "fieldsdefaults". For backwards compatibility, both spellings are now created. The misspelled version may be removed in the future.
bpo-36297 [https://bugs.python.org/issue?@action=redirect&bpo=36297]: "unicode_internal" codec is removed. It was deprecated since Python 3.3. Patch by Inada Naoki.
bpo-36298 [https://bugs.python.org/issue?@action=redirect&bpo=36298]: Raise ModuleNotFoundError in pyclbr when a module can't be found. Thanks to 'mental' for the bug report.
bpo-36268 [https://bugs.python.org/issue?@action=redirect&bpo=36268]: Switch the default format used for writing tars with
tarfile
to the modern POSIX.1-2001 pax standard, from the vendor-specific GNU. Contributed by C.A.M. Gerlach.bpo-36285 [https://bugs.python.org/issue?@action=redirect&bpo=36285]: Fix integer overflows in the array module. Patch by Stephan Hohe.
bpo-31904 [https://bugs.python.org/issue?@action=redirect&bpo=31904]: Add _signal module support for VxWorks.
bpo-36272 [https://bugs.python.org/issue?@action=redirect&bpo=36272]:
logging
does not silently ignore RecursionError anymore. Patch contributed by Rémi Lapeyre.bpo-36280 [https://bugs.python.org/issue?@action=redirect&bpo=36280]: Add a kind field to ast.Constant. It is 'u' if the literal has a 'u' prefix (i.e. a Python 2 style unicode literal), else None.
bpo-35931 [https://bugs.python.org/issue?@action=redirect&bpo=35931]: The
pdb
debug
command now gracefully handles all exceptions.bpo-36251 [https://bugs.python.org/issue?@action=redirect&bpo=36251]: Fix format strings used for stderrprinter and re.Match reprs. Patch by Stephan Hohe.
bpo-36235 [https://bugs.python.org/issue?@action=redirect&bpo=36235]: Fix
CFLAGS
incustomize_compiler()
ofdistutils.sysconfig
: when theCFLAGS
environment variable is defined, don't overrideCFLAGS
variable with theOPT
variable anymore. Initial patch written by David Malcolm.bpo-35807 [https://bugs.python.org/issue?@action=redirect&bpo=35807]: Update ensurepip to install pip 19.0.3 and setuptools 40.8.0.
bpo-36139 [https://bugs.python.org/issue?@action=redirect&bpo=36139]: Release GIL when closing
mmap
objects.bpo-36179 [https://bugs.python.org/issue?@action=redirect&bpo=36179]: Fix two unlikely reference leaks in _hashopenssl. The leaks only occur in out-of-memory cases.
bpo-36169 [https://bugs.python.org/issue?@action=redirect&bpo=36169]: Add overlap() method to statistics.NormalDist. Computes the overlapping coefficient for two normal distributions.
bpo-36103 [https://bugs.python.org/issue?@action=redirect&bpo=36103]: Default buffer size used by
shutil.copyfileobj()
is changed from 16 KiB to 64 KiB on non-Windows platform to reduce system call overhead. Contributed by Inada Naoki.bpo-36130 [https://bugs.python.org/issue?@action=redirect&bpo=36130]: Fix
pdb
withskip=…
when stepping into a frame without a__name__
global. Patch by Anthony Sottile.bpo-35652 [https://bugs.python.org/issue?@action=redirect&bpo=35652]: shutil.copytree(copy_function=…) erroneously pass DirEntry instead of a path string.
bpo-35178 [https://bugs.python.org/issue?@action=redirect&bpo=35178]: Ensure custom
warnings.formatwarning()
function can receiveline
as positional argument. Based on patch by Tashrif Billah.bpo-36106 [https://bugs.python.org/issue?@action=redirect&bpo=36106]: Resolve potential name clash with libm's sinpi(). Patch by Dmitrii Pasechnik.
bpo-36091 [https://bugs.python.org/issue?@action=redirect&bpo=36091]: Clean up reference to async generator in Lib/types. Patch by Henry Chen.
bpo-36043 [https://bugs.python.org/issue?@action=redirect&bpo=36043]:
FileCookieJar
supports pathlike object. Contributed by Stéphane Wirtelbpo-35899 [https://bugs.python.org/issue?@action=redirect&bpo=35899]: Enum has been fixed to correctly handle empty strings and strings with non-Latin characters (ie. 'α', 'א') without crashing. Original patch contributed by Maxwell. Assisted by Stéphane Wirtel.
bpo-21269 [https://bugs.python.org/issue?@action=redirect&bpo=21269]: Add
args
andkwargs
properties to mock call objects. Contributed by Kumar Akshay.bpo-30670 [https://bugs.python.org/issue?@action=redirect&bpo=30670]:
pprint.pp
has been added to pretty-print objects with dictionary keys being sorted with their insertion order by default. Parameter sort_dicts has been added topprint.pprint
,pprint.pformat
andpprint.PrettyPrinter
. Contributed by Rémi Lapeyre.bpo-35843 [https://bugs.python.org/issue?@action=redirect&bpo=35843]: Implement
__getitem__
for_NamespacePath
. Patch by Anthony Sottile.bpo-35802 [https://bugs.python.org/issue?@action=redirect&bpo=35802]: Clean up code which checked presence of
os.stat
/os.lstat
/os.chmod
which are always present. Patch by Anthony Sottile.bpo-35715 [https://bugs.python.org/issue?@action=redirect&bpo=35715]: Librates the return value of a ProcessPoolExecutor _process_worker after it's no longer needed to free memory
bpo-35493 [https://bugs.python.org/issue?@action=redirect&bpo=35493]: Use
multiprocessing.connection.wait()
instead of polling each 0.2 seconds for worker updates inmultiprocessing.Pool
. Patch by Pablo Galindo.bpo-35661 [https://bugs.python.org/issue?@action=redirect&bpo=35661]: Store the venv prompt in pyvenv.cfg.
bpo-35121 [https://bugs.python.org/issue?@action=redirect&bpo=35121]: Don't set cookie for a request when the request path is a prefix match of the cookie's path attribute but doesn't end with "/". Patch by Karthikeyan Singaravelan.
bpo-21478 [https://bugs.python.org/issue?@action=redirect&bpo=21478]: Calls to a child function created with
unittest.mock.create_autospec()
should propagate to the parent. Patch by Karthikeyan Singaravelan.bpo-35198 [https://bugs.python.org/issue?@action=redirect&bpo=35198]: Fix C++ extension compilation on AIX
文档
bpo-36329 [https://bugs.python.org/issue?@action=redirect&bpo=36329]: Declare the path of the Python binary for the usage of
Tools/scripts/serve.py
when executingmake -C Doc/ serve
. Contributed by Stéphane Wirtelbpo-36138 [https://bugs.python.org/issue?@action=redirect&bpo=36138]: Improve documentation about converting datetime.timedelta to scalars.
bpo-21314 [https://bugs.python.org/issue?@action=redirect&bpo=21314]: A new entry was added to the Core Language Section of the Programming FAQ, which explaines the usage of slash(/) in the signature of a function. Patch by Lysandros Nikolaou
测试
bpo-36234 [https://bugs.python.org/issue?@action=redirect&bpo=36234]: test_posix.PosixUidGidTests: add tests for invalid uid/gid type (str). Initial patch written by David Malcolm.
bpo-29571 [https://bugs.python.org/issue?@action=redirect&bpo=29571]: Fix
test_re.test_locale_flag()
: uselocale.getpreferredencoding()
rather thanlocale.getlocale()
to get the locale encoding. With some locales,locale.getlocale()
returns the wrong encoding.bpo-36123 [https://bugs.python.org/issue?@action=redirect&bpo=36123]: Fix race condition in test_socket.
构建
bpo-36356 [https://bugs.python.org/issue?@action=redirect&bpo=36356]: Fix leaks that led to build failure when configured with address sanitizer.
bpo-36146 [https://bugs.python.org/issue?@action=redirect&bpo=36146]: Add
TEST_EXTENSIONS
constant tosetup.py
to allow to not build test extensions like_testcapi
.bpo-36146 [https://bugs.python.org/issue?@action=redirect&bpo=36146]: Fix setup.py on macOS: only add
usrinclude/ffi
to include directories of _ctypes, not for all extensions.bpo-31904 [https://bugs.python.org/issue?@action=redirect&bpo=31904]: Enable build system to cross-build for VxWorks RTOS.