What’s new in Tornado 4.4
What’s new in Tornado 4.4
Jul 15, 2016
General
-
Tornado now requires Python 2.7 or 3.3+; versions 2.6 and 3.2 are no longer supported. Pypy3 is still supported even though its latest release is mainly based on Python 3.2.
-
The monotonic package is now supported as an alternative to Monotime for monotonic clock support on Python 2.
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_timeout now accepts any yieldable object (except
YieldPoint), not just tornado.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 repr on a tornado.httpclient.HTTPError no 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.bind now accepts a
reuse_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 uses super, which improves support for multiple inheritance.
