tornado.simple_httpclient now disables SSLv2 in all cases. Previously
SSLv2 would be allowed if the Python interpreter was linked against a
pre-1.0 version of OpenSSL.
Backwards-incompatible changes
tornado.process.fork_processes now raises SystemExit if all child
processes exit cleanly rather than returning None. The old behavior
was surprising and inconsistent with most of the documented examples
of this function (which did not check the return value).
On Python 2.6, tornado.simple_httpclient only supports SSLv3. This
is because Python 2.6 does not expose a way to support both SSLv3 and TLSv1
without also supporting the insecure SSLv2.
tornado.websocket no longer supports the older “draft 76” version
of the websocket protocol by default, although this version can
be enabled by overriding tornado.websocket.WebSocketHandler.allow_draft76.
tornado.httpclient
SimpleAsyncHTTPClient no longer hangs on HEAD requests,
responses with no content, or empty POST/PUT response bodies.
SimpleAsyncHTTPClient now supports 303 and 307 redirect codes.
tornado.curl_httpclient now accepts non-integer timeouts.
tornado.curl_httpclient now supports basic authentication with an
empty password.
tornado.httpserver
HTTPServer with xheaders=True will no longer accept
X-Real-IP headers that don’t look like valid IP addresses.
HTTPServer now treats the Connection request header as
case-insensitive.
tornado.ioloop and tornado.iostream
IOStream.write now works correctly when given an empty string.
IOStream.read_until (and read_until_regex) now perform better
when there is a lot of buffered data, which improves peformance of
SimpleAsyncHTTPClient when downloading files with lots of
chunks.
SSLIOStream now works correctly when ssl_version is set to
a value other than SSLv23.
Idle IOLoops no longer wake up several times a second.
StaticFileHandler now outputs Content-Length and Etag headers
on HEAD requests.
StaticFileHandler now has overridable get_version and
parse_url_path methods for use in subclasses.
RequestHandler.static_url now takes an include_host parameter
(in addition to the old support for the RequestHandler.include_host
attribute).
tornado.websocket
Updated to support the latest version of the protocol, as finalized
in RFC 6455.
Many bugs were fixed in all supported protocol versions.
tornado.websocket no longer supports the older “draft 76” version
of the websocket protocol by default, although this version can
be enabled by overriding tornado.websocket.WebSocketHandler.allow_draft76.
.WebSocketHandler.get_websocket_scheme can be used to select the
appropriate url scheme (ws:// or wss://) in cases where
HTTPRequest.protocol is not set correctly.
tornado.testing.main supports a new flag --exception_on_interrupt,
which can be set to false to make Ctrl-C kill the process more
reliably (at the expense of stack traces when it does so).
tornado.version_info is now a four-tuple so official releases can be
distinguished from development branches.