Python 3.9.2 和 3.8.8 发布了。虽然在 3 天前才发过 RC 版本,但由于该版本包含两个安全性修复程序,在用户的敦促下,最终选择加急发布正式版。 接下来,将于 2021 年 5 月 3 日发布最后一个完整的 Python 3.8 常规维护版本,此后它将发布安全性错误修复。而 3.9 系列的维护版本将每两个月定期更新一次,并计划于 2021 年 5 月上旬发布 3.9.3 版本。以下是与上个正式版相比的更新内容。
主要更新内容
- 3.9.2 & 3.8.8
- CVE-2021-3177:修复 _ctypes/callproc.c 中 PyCArg_repr 的缓冲区溢出问题
- CVE-2021-23336:通过默认设置查询 args 分隔符并允许用户选择自定义分隔符来修复 Web 缓存中毒漏洞
- readline:明确禁用交互式解释器中的带括号的粘贴,即使已在 inputrc 中设置、默认情况下已启用(例如GNU Readline 8.1)、或用户调用readline.read_init_file()。Python REPL 尚未实现方括号粘贴支持。另外,方括号模式会将 “\x1b[?2004h” 转义序列写入 stdout,这会在不支持它的应用程序中导致测试失败。仍可以通过调用 readline.parse_and_bind(“ set enable-bracketed-paste on”)显式启用它。
- 3.9.2
- 修复括号内的 f-strings ast 节点和产生多行的节点的列偏移
- 单个带括号的加星号表达式是有效的分配目标
- 在 Windows 上运行 .pyc 文件时,PyRun_SimpleFileExFlags() 现在使用正确的编码来解码文件名
- 确定了一些内置库和标准库类型,可确保垃圾收集器始终跟踪其内部结果元组
- 3.8.8
- 修复了 curses 模块中的引用泄漏
- 修复 Linux 上 O_PATH 文件描述符的 os.set_inheritable()
- _PROXY envars 的用户名,密码字段中的允许 '/' 字符
- 修复了 macOS 上 tkinter 中对非 BMP 字符的支持
详细内容请查看更新公告。
注意:本文归作者所有,未经作者允许,不得转载