From a3391633337eec0752a7c7c6b973ea013fea057c Mon Sep 17 00:00:00 2001 From: Ben Darnell Date: Tue, 21 Jun 2011 22:28:20 -0700 Subject: [PATCH] Add 2.0 release notes --- website/sphinx/releases.rst | 1 + website/sphinx/releases/v2.0.0.rst | 52 ++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 website/sphinx/releases/v2.0.0.rst diff --git a/website/sphinx/releases.rst b/website/sphinx/releases.rst index 9baaab88..69606afc 100644 --- a/website/sphinx/releases.rst +++ b/website/sphinx/releases.rst @@ -4,6 +4,7 @@ Release notes .. toctree:: :maxdepth: 2 + releases/v2.0.0 releases/v1.2.1 releases/v1.2.0 releases/v1.1.1 diff --git a/website/sphinx/releases/v2.0.0.rst b/website/sphinx/releases/v2.0.0.rst new file mode 100644 index 00000000..f53432b9 --- /dev/null +++ b/website/sphinx/releases/v2.0.0.rst @@ -0,0 +1,52 @@ +What's new in Tornado 2.0 +========================= + +Jun 21, 2011 +------------ + +:: + + Major changes: + * Template output is automatically escaped by default; see backwards + compatibility note below. + * The default AsyncHTTPClient implementation is now simple_httpclient. + * Python 3.2 is now supported. + + Backwards compatibility: + * Template autoescaping is enabled by default. Applications upgrading from + a previous release of Tornado must either disable autoescaping or adapt + their templates to work with it. For most applications, the simplest + way to do this is to pass autoescape=None to the Application constructor. + * Applications that wish to continue using curl_httpclient instead of + simple_httpclient may do so by calling + AsyncHTTPClient.configure("tornado.curl_httpclient.CurlAsyncHTTPClient") + at the beginning of the process. Users of Python 2.5 will probably want + to use curl_httpclient as simple_httpclient only supports ssl on Python 2.6+. + * Python 3 compatibility involved many changes throughout the codebase, + so users are encouraged to test their applications more thoroughly than + usual when upgrading to this release. + + Other changes in this release: + * Templates support several new directives: + - {% autoescape ...%} to control escaping behavior + - {% raw ... %} for unescaped output + - {% module ... %} for calling UIModules + * {% module Template(path, **kwargs) %} may now be used to call another + template with an independent namespace + * All IOStream callbacks are now run directly on the IOLoop via add_callback. + * HTTPServer now supports IPv6 where available. To disable, pass + family=socket.AF_INET to HTTPServer.bind(). + * HTTPClient now supports IPv6, configurable via allow_ipv6=bool on the + HTTPRequest. allow_ipv6 defaults to false on simple_httpclient and true + on curl_httpclient. + * RequestHandlers can use an encoding other than utf-8 for query parameters + by overriding decode_argument() + * Performance improvements, especially for applications that use a lot of + IOLoop timeouts + * HTTP OPTIONS method no longer requires an XSRF token. + * JSON output (RequestHandler.write(dict)) now sets Content-Type to + application/json + * Etag computation can now be customized or disabled by overriding + RequestHandler.compute_etag + * USE_SIMPLE_HTTPCLIENT environment variable is no longer supported. + Use AsyncHTTPClient.configure instead.