Python 3.9.3
发布日期: 2021 年 4 月 2 日
这是 Python 3.9 的第三个维护版本
注意: 您正在查看的版本已被召回,原因是与 Python 3.9.0 - 3.9.2 中构建的 C 扩展的 ABI 兼容性意外中断。 详细信息请参阅 bpo-43710。 请使用 Python 3.9.4 或更新的版本代替。
Python 3.9.3 是一个快速发布版本,其中包含许多安全修复程序,建议所有用户使用
- bpo-43631:针对 OpenSSL 发布了高危漏洞 CVE-2021-3449 和 CVE-2021-3450,CI 中已将其升级到 1.1.1k,并且 macOS 和 Windows 安装程序也已升级。
- bpo-42988:CVE-2021-3426:删除 pydoc 模块的 getfile 功能,该功能可能会被滥用以读取磁盘上的任意文件(目录遍历漏洞)。此外,即使 Python 模块的源代码也可能包含敏感数据(如密码)。该漏洞由 David Schwörer 报告。
- bpo-43285:默认情况下,ftplib 不再信任服务器响应 PASV 命令返回的 IP 地址值。这可以防止恶意 FTP 服务器使用响应来探测客户端网络上的 IPv4 地址和端口组合。需要以前的易受攻击行为的代码可以在其 ftplib.FTP 实例上设置 trust_server_pasv_ipv4_address 属性为 True 以重新启用它。
- bpo-43439:为 gc.get_objects()、gc.get_referrers() 和 gc.get_referents() 添加审计钩子。Pablo Galindo 的补丁。
与 3.8 相比,3.9 系列的主要新功能
Python 3.9 中的一些主要新功能和更改包括
- PEP 573,从 C 扩展方法访问模块状态
- PEP 584,
dict
中的联合运算符 - PEP 585,标准集合中的类型提示泛型
- PEP 593,灵活的函数和变量注释
- PEP 602,Python 采用稳定的年度发布节奏
- PEP 614,放宽装饰器的语法限制
- PEP 615,标准库中对 IANA 时区数据库的支持
- PEP 616,用于删除前缀和后缀的字符串方法
- PEP 617,用于 CPython 的新 PEG 解析器
- BPO 38379,垃圾回收不会阻止复活的对象;
- BPO 38692,添加了 os.pidfd_open,允许在没有竞争和信号的情况下进行进程管理;
- BPO 39926,Unicode 支持更新到 13.0.0 版;
- BPO 1635741,当在同一进程中多次初始化 Python 时,它不再泄漏内存;
- 现在,许多 Python 内置函数(range、tuple、set、frozenset、list、dict)都使用 PEP 590 vectorcall 加快了速度;
- 许多 Python 模块(_abc、audioop、_bz2、_codecs、_contextvars、_crypt、_functools、_json、_locale、operator、resource、time、_weakref)现在都使用 PEP 489 定义的多阶段初始化;
- 许多标准库模块(audioop、ast、grp、_hashlib、pwd、_posixsubprocess、random、select、struct、termios、zlib)现在都使用 PEP 384 定义的稳定 ABI。
您可以在此版本的“新增功能”文档中找到更全面的列表。
更多资源
- 在线文档
- PEP 596,3.9 发布时间表
- 在 https://bugs.python.org 报告错误。
- 帮助资助 Python 及其社区.
文件在哪里?
您正在查看的版本已被召回,原因是与 Python 3.9.0 - 3.9.2 中构建的 C 扩展的 ABI 兼容性意外中断。 详细信息请参阅 bpo-43710。 请使用 Python 3.9.4 或更新的版本代替。
如果您确实需要此版本中的文件用于某些特定目的,可以从 /ftp/python/ 下载它们。
文件
版本 | 操作系统 | 描述 | MD5 校验和 | 文件大小 |
---|