什么新的龙卷风6.0¶
2020年10月30日¶
折旧通知¶
这是Tornado支持Python3.5的最后一个版本。未来的版本将需要Python3.6或更高版本。
一般变化¶
Windows支持已得到改进。Tornado现在与proactor事件循环(Python3.8中的默认值)兼容,它自动返回到在第二个线程中运行选择器。这意味着不再需要显式地配置选择器事件循环,尽管这样做可以提高性能。这并没有改变这样一个事实,即Tornado在Windows上的可伸缩性明显低于其他平台。
现在为Windows、MacOS和Linux(amd64和arm64)提供了二进制控制盘。
tornado.gen¶
coroutine现在对Python3.7+有更好的支持contextvars模块。特别值得一提的是,ContextVar.reset方法现在受支持。
tornado.http1connection¶
HEAD对使用分块编码的处理程序的请求不再产生格式错误的输出。某种畸形
gzip数据不再导致无限循环。
tornado.httpclient¶
设置
decompress_response=False现在可以正确使用curl_httpclient.混合使用和不使用代理的请求在
curl_httpclient(假设pycurl的版本足够新)。默认设置
User-Agent的Tornado/$VERSION现在使用,如果user_agent未指定参数。在303次改道后,
tornado.simple_httpclient总是使用GET. 以前这将使用GET如果原始请求是POST否则将重用原始请求方法。为curl_httpclient,行为取决于的版本libcurl(最新版本使用GET303后,无论原始方法如何)。设置
request_timeout和/或connect_timeout现在支持归零以禁用超时。
tornado.httputil¶
头解析现在更快了。
parse_body_arguments现在接受不完全转义的非ASCII输入。
tornado.iostream¶
ssl.CertificateError在SSL握手过程中,现在可以正确处理。当流关闭时解析的读取现在被正确处理。
tornado.log¶
启用彩色日志记录时,
logging.CRITICAL消息现在被识别并被涂成洋红色。
tornado.netutil¶
EADDRNOTAVAIL现在绑定到时被忽略localhost使用IPv6。这个错误在docker中很常见。
tornado.platform.asyncio¶
AnyThreadEventLoopPolicy现在还要为这些线程配置一个选择器事件循环(proactor事件循环只在主线程上工作)
tornado.platform.auto¶
这个
set_close_exec函数已被删除。
tornado.testing¶
ExpectLog现在有一个level参数以确保启用给定的日志级别。
tornado.web¶
RedirectHandler.get现在接受关键字参数。当发送304个响应时,更多的头(包括
Allow)现在保存了下来。reverse_url正确处理正则表达式路由中的转义字符。违约
Etag现在用SHA-512而不是MD5生成报头。
tornado.websocket¶
这个
ping_interval现在连接关闭时计时器停止。websocket_connect现在在遇到重定向而不是挂起时引发错误。