What’s new in Tornado 4.4¶
Jul 15, 2016¶
General¶
tornado.curl_httpclient¶
Failures in
_curl_setup_requestno longer cause themax_clientspool to be exhausted.Non-ascii header values are now handled correctly.
tornado.gen¶
with_timeoutnow accepts any yieldable object (exceptYieldPoint), not justtornado.concurrent.Future.
tornado.httpclient¶
The errors raised by timeouts now indicate what state the request was in; the error message is no longer simply “599 Timeout”.
Calling
repron atornado.httpclient.HTTPErrorno longer raises an error.
tornado.httpserver¶
Int-like enums (including
http.HTTPStatus) can now be used as status codes.Responses with status code
204 No Contentno longer emit aContent-Length: 0header.
tornado.ioloop¶
Improved performance when there are large numbers of active timeouts.
tornado.netutil¶
tornado.options¶
Options can now be modified with subscript syntax in addition to attribute syntax.
The special variable
__file__is now available inside config files.
tornado.simple_httpclient¶
HTTP/1.0 (not 1.1) responses without a
Content-Lengthheader now work correctly.
tornado.tcpserver¶
TCPServer.bindnow accepts areuse_portargument.
tornado.testing¶
Test sockets now always use
127.0.0.1instead oflocalhost. This avoids conflicts when the automatically-assigned port is available on IPv4 but not IPv6, or in unusual network configurations whenlocalhosthas multiple IP addresses.
tornado.web¶
image/svg+xmlis now on the list of compressible mime types.Fixed an error on Python 3 when compression is used with multiple
Varyheaders.
tornado.websocket¶
WebSocketHandler.__init__now usessuper, which improves support for multiple inheritance.