什么新的龙卷风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
(最新版本使用GET
303后,无论原始方法如何)。设置
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
现在在遇到重定向而不是挂起时引发错误。