文档
gh-85525 [https://github.com/python/cpython/issues/85525]: Remove extra row
gh-86404 [https://github.com/python/cpython/issues/86404]: Deprecated tools
make suspicious
andrstlint.py
are now removed. They have been replaced by sphinx-lint [https://pypi.org/project/sphinx-lint/].gh-97741 [https://github.com/python/cpython/issues/97741]: Fix
!
in c domain ref target syntax via aconf.py
patch, so it works as intended to disable ref target resolution.gh-96432 [https://github.com/python/cpython/issues/96432]: Fraction literals now support whitespace around the forward slash,
Fraction('2 / 3')
.gh-96098 [https://github.com/python/cpython/issues/96098]: Improve discoverability of the higher level concurrent.futures module by providing clearer links from the lower level threading and multiprocessing modules.
gh-95957 [https://github.com/python/cpython/issues/95957]: What's New 3.11 now has instructions for how to provide compiler and linker flags for Tcl/Tk and OpenSSL on RHEL 7 and CentOS 7.
gh-95588 [https://github.com/python/cpython/issues/95588]: Clarified the conflicting advice given in the
ast
documentation aboutast.literal_eval()
being "safe" for use on untrusted input while at the same time warning that it can crash the process. The latter statement is true and is deemed unfixable without a large amount of work unsuitable for a bugfix. So we keep the warning and no longer claim thatliteral_eval
is safe.gh-91207 [https://github.com/python/cpython/issues/91207]: Fix stylesheet not working in Windows CHM htmlhelp docs and add warning that they are deprecated. Contributed by C.A.M. Gerlach.
gh-95454 [https://github.com/python/cpython/issues/95454]: Replaced incorrectly written true/false values in documentation. Patch by Robert O'Shea
gh-95451 [https://github.com/python/cpython/issues/95451]: Update library documentation with availability information on WebAssembly platforms
wasm32-emscripten
andwasm32-wasi
.gh-95415 [https://github.com/python/cpython/issues/95415]: Use consistent syntax for platform availability. The directive now supports a content body and emits a warning when it encounters an unknown platform.
gh-94321 [https://github.com/python/cpython/issues/94321]: Document the PEP 246 [https://peps.python.org/pep-0246/] style protocol type
sqlite3.PrepareProtocol
.gh-86128 [https://github.com/python/cpython/issues/86128]: Document a limitation in ThreadPoolExecutor where its exit handler is executed before any handlers in atexit.
gh-61162 [https://github.com/python/cpython/issues/61162]: Clarify
sqlite3
behavior when 如何使用连接上下文管理器.gh-87260 [https://github.com/python/cpython/issues/87260]: Align
sqlite3
argument specs with the actual implementation.gh-86986 [https://github.com/python/cpython/issues/86986]: The minimum Sphinx version required to build the documentation is now 3.2.
gh-88831 [https://github.com/python/cpython/issues/88831]: Augmented documentation of asyncio.create_task(). Clarified the need to keep strong references to tasks and added a code snippet detailing how to do this.
gh-86438 [https://github.com/python/cpython/issues/86438]: Clarify that
-W
andPYTHONWARNINGS
are matched literally and case-insensitively, rather than as regular expressions, inwarnings
.gh-93031 [https://github.com/python/cpython/issues/93031]: Update tutorial introduction output to use 3.10+ SyntaxError invalid range.
gh-92240 [https://github.com/python/cpython/issues/92240]: Added release dates for "What's New in Python 3.X" for 3.0, 3.1, 3.2, 3.8 and 3.10
bpo-47161 [https://bugs.python.org/issue?@action=redirect&bpo=47161]: Document that
pathlib.PurePath
does not collapse initial double slashes because they denote UNC paths.bpo-40838 [https://bugs.python.org/issue?@action=redirect&bpo=40838]: Document that
inspect.getdoc()
,inspect.getmodule()
, andinspect.getsourcefile()
might returnNone
.bpo-43689 [https://bugs.python.org/issue?@action=redirect&bpo=43689]: The
Differ
documentation now also mentions other whitespace characters, which make it harder to understand the diff output.bpo-38056 [https://bugs.python.org/issue?@action=redirect&bpo=38056]: Overhaul the 错误处理方案 documentation in
codecs
.bpo-13553 [https://bugs.python.org/issue?@action=redirect&bpo=13553]: Document tkinter.Tk args.
测试
gh-95027 [https://github.com/python/cpython/issues/95027]: On Windows, when the Python test suite is run with the
-jN
option, the ANSI code page is now used as the encoding for the stdout temporary file, rather than using UTF-8 which can lead to decoding errors. Patch by Victor Stinner.gh-96624 [https://github.com/python/cpython/issues/96624]: Fixed the failure of repeated runs of
test.test_unittest
caused by side effects intest_dotted_but_module_not_loaded
.gh-95243 [https://github.com/python/cpython/issues/95243]: Mitigate the inherent race condition from using find_unused_port() in testSockName() by trying to find an unused port a few times before failing. Patch by Ross Burton.
gh-95573 [https://github.com/python/cpython/issues/95573]: Lib/test/test_asyncio/test_ssl.py [https://github.com/python/cpython/tree/3.13/Lib/test/test_asyncio/test_ssl.py] exposed a bug in the macOS kernel where intense concurrent load on nonblocking sockets occasionally causes
errno.ENOBUFS
("No buffer space available") to be emitted. FB11063974 filed with Apple, in the mean time as a workaround buffer size used in tests on macOS is decreased to avoid intermittent failures. Patch by Fantix King.gh-95280 [https://github.com/python/cpython/issues/95280]: Fix problem with
test_ssl
testgetciphers
on systems that require perfect forward secrecy (PFS) ciphers.gh-95212 [https://github.com/python/cpython/issues/95212]: Make multiprocessing test case
test_shared_memory_recreate
parallel-safe.gh-95218 [https://github.com/python/cpython/issues/95218]: Move tests for importlib.resources into test_importlib.resources.
gh-93963 [https://github.com/python/cpython/issues/93963]: Updated tests to use preferred location for
importlib.resources
ABCs.gh-94675 [https://github.com/python/cpython/issues/94675]: Add a regression test for
re
exponentional slowdown when using rjsmin.gh-91330 [https://github.com/python/cpython/issues/91330]: Added more tests for
dataclasses
to cover behavior with data descriptor-based fields.gh-94208 [https://github.com/python/cpython/issues/94208]:
test_ssl
is now checking for supported TLS version and protocols in more tests.gh-94315 [https://github.com/python/cpython/issues/94315]: Tests now check for DAC override capability instead of relying on
os.geteuid()
.gh-54781 [https://github.com/python/cpython/issues/54781]: Rename test_tk to test_tkinter, and rename test_ttk_guionly to test_ttk. Patch by Victor Stinner.
gh-93839 [https://github.com/python/cpython/issues/93839]: Move
Lib/ctypes/test/
toLib/test/test_ctypes/
. Patch by Victor Stinner.gh-93951 [https://github.com/python/cpython/issues/93951]: In test_bdb.StateTestCase.test_skip, avoid including auxiliary importers.
gh-93957 [https://github.com/python/cpython/issues/93957]: Provide nicer error reporting from subprocesses in test_venv.EnsurePipTest.test_with_pip.
gh-93884 [https://github.com/python/cpython/issues/93884]: Add test cases for
PyNumber_ToBase()
that take a large number or a non-int object as parameter.gh-93852 [https://github.com/python/cpython/issues/93852]: test_asyncio, test_logging, test_socket and test_socketserver now create AF_UNIX domains in the current directory to no longer fail with
OSError("AF_UNIX path too long")
if the temporary directory (theTMPDIR
environment variable) is too long. Patch by Victor Stinner.gh-93353 [https://github.com/python/cpython/issues/93353]: regrtest now checks if a test leaks temporary files or directories if run with -jN option. Patch by Victor Stinner.
gh-84461 [https://github.com/python/cpython/issues/84461]:
run_tests.py
now handles cross compiling env vars correctly and passHOSTRUNNER
to regression tests.gh-93616 [https://github.com/python/cpython/issues/93616]:
test_modulefinder
now creates a temporary directory inModuleFinderTest.setUp()
instead of module scope.gh-93575 [https://github.com/python/cpython/issues/93575]: Fix issue with test_unicode test_raiseMemError. The test case now use
test.support.calcobjsize
to calculate size of PyUnicode structs.sys.getsizeof()
may return different size when string has UTF-8 memory.gh-90473 [https://github.com/python/cpython/issues/90473]: WASI does not have a
chmod(2)
syscall.os.chmod()
is now a dummy function on WASI. Skip all tests that depend on workingos.chmod()
.gh-90473 [https://github.com/python/cpython/issues/90473]: Skip tests on WASI that require symlinks with absolute paths.
gh-57539 [https://github.com/python/cpython/issues/57539]: Increase calendar test coverage for
calendar.LocaleTextCalendar.formatweekday()
.gh-90473 [https://github.com/python/cpython/issues/90473]: Skip symlink tests on WASI. wasmtime uses
openat2(2)
withRESOLVE_BENEATH
flag, which prevents symlinks with absolute paths.gh-89858 [https://github.com/python/cpython/issues/89858]: Fix
test_embed
for out-of-tree builds. Patch by Kumar Aditya.gh-92886 [https://github.com/python/cpython/issues/92886]: Fixing tests that fail when running with optimizations (
-O
) intest_imaplib.py
.gh-92886 [https://github.com/python/cpython/issues/92886]: Fixing tests that fail when running with optimizations (
-O
) intest_zipimport.py
gh-92886 [https://github.com/python/cpython/issues/92886]: Fixing tests that fail when running with optimizations (
-O
) intest_py_compile.py
gh-92886 [https://github.com/python/cpython/issues/92886]: Fixing tests that fail when running with optimizations (
-O
) intest_sys_settrace.py
.gh-92886 [https://github.com/python/cpython/issues/92886]: Fixing tests that fail when running with optimizations (
-O
) intestmultiprocessing.py
gh-92670 [https://github.com/python/cpython/issues/92670]: Skip
test_shutil.TestCopy.test_copyfile_nonexistent_dir
test on AIX as the test uses a trailing slash to force the OS consider the path as a directory, but on AIX the trailing slash has no effect and is considered as a file.gh-92514 [https://github.com/python/cpython/issues/92514]: Remove unused
test.support.BasicTestRunner
. Patch by Jelle Zijlstra.bpo-47016 [https://bugs.python.org/issue?@action=redirect&bpo=47016]: Create a GitHub Actions workflow for verifying bundled pip and setuptools. Patch by Illia Volochii and Adam Turner.
构建
gh-96761 [https://github.com/python/cpython/issues/96761]: Fix the build process of clang compiler for bootstrappython if LTO optimization is applied. Patch by Matthias Görgens and Donghee Na.
gh-96883 [https://github.com/python/cpython/issues/96883]:
wasm32-emscripten
builds for browsers now includeconcurrent.futures
forasyncio
andunittest.mock
.gh-85936 [https://github.com/python/cpython/issues/85936]: CPython now uses the ThinLTO option as the default policy if the Clang compiler accepts the flag. Patch by Donghee Na.
gh-96729 [https://github.com/python/cpython/issues/96729]: Ensure that Windows releases built with
Tools\msi\buildrelease.bat
are upgradable to and from official Python releases.gh-96269 [https://github.com/python/cpython/issues/96269]: Shared module targets now depend on new
MODULE_DEPS
variable, which includesEXPORTSYMS
. This fixes a build order issue on unsupported AIX platform.gh-84461 [https://github.com/python/cpython/issues/84461]:
wasm32-emscripten
platform no longer buildsresource
module,getresuid()
,getresgid()
, and their setters. The APIs are stubs and not functional.gh-95973 [https://github.com/python/cpython/issues/95973]: Add a new
--with-dsymutil
configure option to link debug information in macOS. Patch by Pablo Galindo.gh-90536 [https://github.com/python/cpython/issues/90536]: Use the BOLT post-link optimizer to improve performance, particularly on medium-to-large applications.
gh-93744 [https://github.com/python/cpython/issues/93744]: Remove the
configure --with-cxx-main
build option: it didn't work for many years. Remove theMAINCC
variable fromconfigure
andMakefile
. Patch by Victor Stinner.gh-94801 [https://github.com/python/cpython/issues/94801]: Fix a regression in
configure
script that caused some header checks to ignore customCPPFLAGS
. The regression was introduced in gh-94802 [https://github.com/python/cpython/issues/94802].gh-95145 [https://github.com/python/cpython/issues/95145]: wasm32-wasi builds no longer depend on WASIX's pthread stubs. Python now has its own stubbed pthread API.
gh-95174 [https://github.com/python/cpython/issues/95174]: Python now detects missing
dup
function in WASI and works around some missingerrno
,select
, andsocket
constants.gh-95174 [https://github.com/python/cpython/issues/95174]: Python now skips missing
socket
functions and methods on WASI. WASI can only create sockets from existing fd / accept and has no netdb.gh-95085 [https://github.com/python/cpython/issues/95085]: Platforms
wasm32-unknown-emscripten
andwasm32-unknown-wasi
have been promoted to PEP 11 [https://peps.python.org/pep-0011/] tier 3 platform support.gh-94847 [https://github.com/python/cpython/issues/94847]: Fixed
_decimal
module build issue on GCC when compiling with LTO and pydebug. Debug builds no longer force inlining of functions.gh-94841 [https://github.com/python/cpython/issues/94841]: Fix the possible performance regression of
PyObject_Free()
compiled with MSVC version 1932.gh-94801 [https://github.com/python/cpython/issues/94801]:
configure
now uses custom flags likeZLIB_CFLAGS
andZLIB_LIBS
when searching for headers and libraries.gh-94773 [https://github.com/python/cpython/issues/94773]:
deepfreeze.py
now supports code object with frozensets that contain incompatible, unsortable types.gh-94682 [https://github.com/python/cpython/issues/94682]: Build and test with OpenSSL 1.1.1q
gh-90005 [https://github.com/python/cpython/issues/90005]: Dependencies of
readline
andcurses
module are now detected inconfigure
script withpkg-config
. Onlyncurses
/ncursesw
are detected automatically. The oldcurses
library is not configured automatically. Workaround for missingtermcap
ortinfo
library has been removed.gh-90005 [https://github.com/python/cpython/issues/90005]: Fix building
_ctypes
extension withoutpkg-config
.gh-90005 [https://github.com/python/cpython/issues/90005]:
_dbm
module dependencies are now detected by configure.gh-94404 [https://github.com/python/cpython/issues/94404]:
makesetup
now works around an issue with sed on macOS and uses correct CFLAGS for object files that end up in a shared extension. Module CFLAGS are used before PY_STDMODULE_CFLAGS to avoid clashes with system headers.gh-93939 [https://github.com/python/cpython/issues/93939]: C extension modules are now built by
configure
andmake
instead ofdistutils
andsetup.py
.gh-93939 [https://github.com/python/cpython/issues/93939]: The
2to3
,idle
, andpydoc
scripts are now generated and installed byMakefile
instead ofsetup.py
.gh-94280 [https://github.com/python/cpython/issues/94280]: Updated pegen regeneration script on Windows to find and use Python 3.9 or higher. Prior to this, pegen regeneration already required 3.9 or higher, but the script may have used lower versions of Python.
gh-93584 [https://github.com/python/cpython/issues/93584]: Address race condition in
Makefile
when installing a PGO build. Alltest
andinstall
targets now depend onall
target.gh-93491 [https://github.com/python/cpython/issues/93491]:
configure
now detects and reports PEP 11 [https://peps.python.org/pep-0011/] support tiers.gh-69093 [https://github.com/python/cpython/issues/69093]: Fix
Modules/Setup.stdlib.in
rule for_sqlite3
extension.gh-93207 [https://github.com/python/cpython/issues/93207]:
va_start()
with two parameters, likeva_start(args, format),
is now required to build Python.va_start()
is no longer called with a single parameter. Patch by Kumar Aditya.gh-93202 [https://github.com/python/cpython/issues/93202]: Python now always use the
%zu
and%zd
printf formats to format asize_t
orPy_ssize_t
number. Building Python 3.12 requires a C11 compiler, so these printf formats are now always supported. Patch by Victor Stinner.gh-90473 [https://github.com/python/cpython/issues/90473]: Disable pymalloc and increase stack size on
wasm32-wasi
.bpo-34449 [https://bugs.python.org/issue?@action=redirect&bpo=34449]: Drop invalid compiler switch
-fPIC
for HP aCC on HP-UX. Patch by Michael Osipov.
Windows
gh-98360 [https://github.com/python/cpython/issues/98360]: Fixes
multiprocessing
spawning child processes on Windows from a virtual environment to ensure that child processes that also usemultiprocessing
to spawn more children will recognize that they are in a virtual environment.gh-98414 [https://github.com/python/cpython/issues/98414]: Fix
py.exe
launcher handling of-V:
option when default preferences have been set in environment variables or configuration files./ gh-97728 [https://github.com/python/cpython/issues/97728]: Fix possible crashes caused by the use of uninitialized variables when pass invalid arguments in
os.system()
on Windows and in Windows-specific modules (likewinreg
).gh-90989 [https://github.com/python/cpython/issues/90989]: Made 适用于Windows的Python启动器 install per-user by default (unless an all users install already exists), and clarify some text in the installer.
gh-97649 [https://github.com/python/cpython/issues/97649]: The
Tools
directory is no longer installed on Windowsgh-96965 [https://github.com/python/cpython/issues/96965]: Update libffi to 3.4.3
gh-96577 [https://github.com/python/cpython/issues/96577]: Fixes a potential buffer overrun in
msilib
.gh-96559 [https://github.com/python/cpython/issues/96559]: Fixes the Windows launcher not using the compatible interpretation of default tags found in configuration files when no tag was passed to the command.
gh-94781 [https://github.com/python/cpython/issues/94781]: Fix
pcbuild.proj
to clean previous instances of output files inPython\deepfreeze
andPython\frozen_modules
directories on Windows. Patch by Charlie Zhao.gh-89545 [https://github.com/python/cpython/issues/89545]: Updates
platform
code getting the Windows version to use native Windows Management Instrumentation (WMI) queries to determine OS version, type, and architecture.gh-95733 [https://github.com/python/cpython/issues/95733]: Make certain requirements of the Windows Store package optional to allow installing on earlier updates of Windows.
gh-95656 [https://github.com/python/cpython/issues/95656]: Enable the
enableloadextension()
sqlite3
API.gh-95587 [https://github.com/python/cpython/issues/95587]: Fixes some issues where the Windows installer would incorrectly detect certain features of an existing install when upgrading.
gh-94399 [https://github.com/python/cpython/issues/94399]: Restores the behaviour of 适用于Windows的Python启动器 for
usrbin/env
shebang lines, which will now searchPATH
for an executable matching the given command. If none is found, the usual search process is used.gh-95445 [https://github.com/python/cpython/issues/95445]: Fixes the unsuccessful removal of the HTML document directory when uninstalling with Windows msi.
gh-95359 [https://github.com/python/cpython/issues/95359]: Fix 适用于Windows的Python启动器 handling of
py.ini
commands (it was incorrectly expecting apy_
prefix on keys) and crashes when reading per-user configuration file.gh-95285 [https://github.com/python/cpython/issues/95285]: Fix 适用于Windows的Python启动器 handling of command lines where it is only passed a short executable name.
gh-90844 [https://github.com/python/cpython/issues/90844]: Allow virtual environments to correctly launch when they have spaces in the path.
gh-94772 [https://github.com/python/cpython/issues/94772]: Fix incorrect handling of shebang lines in py.exe launcher
gh-94018 [https://github.com/python/cpython/issues/94018]:
zipfile
will now remove trailing spaces from path components when extracting files on Windows.gh-93824 [https://github.com/python/cpython/issues/93824]: Drag and drop of files onto Python files in Windows Explorer has been enabled for Windows ARM64.
gh-43414 [https://github.com/python/cpython/issues/43414]:
os.get_terminal_size()
now attempts to read the size from any provided handle, rather than only supporting file descriptors 0, 1 and 2.gh-92817 [https://github.com/python/cpython/issues/92817]: Ensures that
py.exe
will prefer an active virtual environment over default tags specified with environment variables or through apy.ini
file.gh-92984 [https://github.com/python/cpython/issues/92984]: Explicitly disable incremental linking for non-Debug builds
gh-92841 [https://github.com/python/cpython/issues/92841]:
asyncio
no longer throwsRuntimeError: Event loop is closed
on interpreter exit after asynchronous socket activity. Patch by Oleg Iarygin.bpo-46907 [https://bugs.python.org/issue?@action=redirect&bpo=46907]: Update Windows installer to use SQLite 3.38.4.
gh-91061 [https://github.com/python/cpython/issues/91061]: Accept os.PathLike for the argument to winsound.PlaySound
bpo-42658 [https://bugs.python.org/issue?@action=redirect&bpo=42658]: Support native Windows case-insensitive path comparisons by using
LCMapStringEx
instead ofstr.lower()
inntpath.normcase()
. AddLCMapStringEx
to the_winapi
module.bpo-38704 [https://bugs.python.org/issue?@action=redirect&bpo=38704]: Prevent installation on unsupported Windows versions.