Python 3.9.6 发布
Python 3.9.6 正式发布,该版本更新内容如下:安全
mod: http.client 现在可以避免在服务器发出 100 Continue 状态响应后无限地读取潜在的HTTP headers 信息;
核心和内置程序
修复标记生成器初始化时引发的标记生成器错误的错误位置信息;
改进了 Oracle Solaris 上非 UTF 语言环境中的 Unicode 支持,此问题不会影响其他 Solaris 系统;
修复解析器中涉及带有无效表达式的关键字参数的错误消息;
修复了 C 代码中不正确的 dictkeys_reversed 和 dictitems_reversed 函数签名,这会破坏 webassembly 构建;
不再急切地使导入文件名绝对化,除了在 3.9.5 中引入的扩展模块。
修正 str.format() 中一个令人困惑的错误信息;
当通过 compile() 编译带有递归引用的 ast.AST 对象时,解释器不再崩溃,而是引发 RecursionError。
库
将 vendored pip 更新为 21.1.3;
修复在其他 Python 实现中非常不可能发生的 glob 资源泄漏;
修正在 bz2.BZ2File.write() / lzma.LZMAFile.write() 方法中,当输入数据是支持缓冲区协议的对象时,文件长度可能是错误的问题。
修正 as_string() 函数,以正确传递 unixfrom;
在使一个枚举类成为 unpicklable 之前,要更稳健地搜索 pickle 支持;
允许多个数据类型混合,如果它们都是一样的;
在 Mac 上,给 turtledemo 按钮文本一个颜色,在浅色或深色背景下都可以使用;
修正当线程对象从未被加入时的引用泄露问题;
修正前一版本中用 pathlib.Path 对象的列表调用 pkgutil.iter_modules() 时的回归问题;
当为 ARM 平台编译时, hashlib 模块不再进行未对齐的内存访问;
将 IO、 BinaryIO、 TextIO、 Match 和 Pattern 加入 typing._**all_;**
bpo-43972: When (<https://docs.python.org/release/3.9.6/library/http.server.html#http.server.SimpleHTTPRequestHandler>) sends a 301 (Moved Permanently) for a directory path not ending with /, add a Content-Length: 0 header. This improves the behavior for certain clients.
修正 pdb 中 checkline() 如果在 reset() 之后被调用会引发 AttributeError 的错误;
构建
bpo-44381: Windows 版现在可以接受 EnableControlFlowGuard 设置为 guard 来启用 CFG。
Windows
修正在 threading 中使用超时时,例如使用 threading.Lock.acquisition() 或 threading.Condition.wait() 时的 16ms 抖动;
macOS
bpo-43568:在为 macOS 构建扩展模块时放宽不必要的限制性 MACOSX_DEPLOYMENT_TARGET 检查;
允许 –with-lto 配置选项与 Apple 提供的 Xcode 或命令行工具一起使用;
IDLE
将缩进空间设置从“字体”选项卡移动到新的 Windows 选项卡;
将设置对话框 General 选项卡拆分为 Windows 和 Shell/ED 选项卡。将扩展帮助菜单的帮助源移动到扩展选项卡。为新选项腾出空间并缩短对话框;
避免 AutoCompleteWindow.winconfig_event() 中未捕获的异常;
修正 IDLE 在 macOS 上完成标签时有时会冻结的问题;
页:
[1]