部分新特性
PEP 572,赋值表达式(Assignment expressions)
PEP 570,仅位置的参数
PEP 587,Python初始化配置(改进嵌入)
PEP 590,Vectorcall:用于CPython的快速调用协议
PEP 578,运行时审核挂钩
PEP 574,带外数据的Pickle协议5
并行文件系统缓存,用于编译的字节码
调试版本与发行版本共享ABI
typed_ast合并回CPython
LOAD_GLOBAL现在快40%
pickle现在默认使用协议4,提高了性能
Python 3.8.0 final
Release date: 2019-10-14
核心与内置
bpo-38469: Fixed a bug where the scope of named expressions was not being resolved correctly in the presence of the global keyword. Patch by Pablo Galindo.
bpo-38379: When cyclic garbage collection (gc) runs finalizers that resurrect unreachable objects, the current gc run ends, without collecting any cyclic trash. However, the statistics reported by
collect()
andget_stats()
claimed that all cyclic trash found was collected, and that the resurrected objects were collected. Changed the stats to report that none were collected.
库
bpo-38449: Revert GH-15522, which introduces a regression in
mimetypes.guess_type()
due to improper handling of filenames as urls.bpo-38431: Fix
__repr__
method fordataclasses.InitVar
to support typing objects, patch by Samuel Colvin.bpo-38109: Add missing
stat.S_IFDOOR
,stat.S_IFPORT
,stat.S_IFWHT
,stat.S_ISDOOR()
,stat.S_ISPORT()
, andstat.S_ISWHT()
values to the Python implementation ofstat
.bpo-38405: Nested subclasses of
typing.NamedTuple
are now pickleable.bpo-38332: Prevent
KeyError
thrown by_encoded_words.decode()
when given an encoded-word with invalid content-type encoding from propagating all the way toemail.message.get()
.bpo-38341: Add
smtplib.SMTPNotSupportedError
to thesmtplib
exported names.bpo-13153: OS native encoding is now used for converting between Python strings and Tcl objects. This allows to display, copy and paste to clipboard emoji and other non-BMP characters. Converting strings from Tcl to Python and back now never fails (except MemoryError).
文档
bpo-38294: Add list of no-longer-escaped chars to re.escape documentation
测试
bpo-37531: On timeout, regrtest no longer attempts to call
popen.communicate()
again: it can hang until all child processes using stdout and stderr pipes completes. Kill the worker process and ignores its output. Change also the faulthandler timeout of the main process from 1 minute to 5 minutes, for Python slowest buildbots.
Windows
bpo-38344: Fix error message in activate.bat
bpo-38359: Ensures
pyw.exe
launcher reads correct registry key.bpo-38355: Fixes
ntpath.realpath
failing onsys.executable
.
IDLE
bpo-36698: IDLE no longer fails when write non-encodable characters to stderr. It now escapes them with a backslash, as the regular Python interpreter. Added the
errors
field to the standard streams.
工具/示例
bpo-38118: Update Valgrind suppression file to ignore a false alarm in
PyUnicode_Decode()
when using GCC builtin strcmp().bpo-38347: pathfix.py: Assume all files that end on '.py' are Python scripts when working recursively.
C API
bpo-38395: Fix a crash in
weakref.proxy
objects due to incorrect lifetime management when calling some associated methods that may delete the last reference to object being referenced by the proxy. Patch by Pablo Galindo.
评论列表(0条)