forked from tornadoweb/tornado
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
53 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. |