Permalink
Browse files

Doc updates

  • Loading branch information...
1 parent c11efb4 commit 0219bd5e1b5b5a84dfdd9df84cda92bdf83c3596 @bdarnell bdarnell committed May 28, 2012
Showing with 89 additions and 49 deletions.
  1. +7 −0 tornado/stack_context.py
  2. +78 −49 website/sphinx/releases/next.rst
  3. +4 −0 website/static/sphinx.css
@@ -96,6 +96,13 @@ class StackContext(object):
StackContext takes the function itself rather than its result::
with StackContext(my_context):
+
+ The result of ``with StackContext() as cb:`` is a deactivation
+ callback. Run this callback when the StackContext is no longer
+ needed to ensure that it is not propagated any further (note that
+ deactivating a context does not affect any instances of that
+ context that are currently pending). This is an advanced feature
+ and not necessary in most applications.
'''
def __init__(self, context_factory, _active_cell=None):
self.context_factory = context_factory
@@ -4,79 +4,108 @@ What's new in the next version of Tornado
In progress
-----------
+HTTP clients
+~~~~~~~~~~~~
+
+* `tornado.httpclient.HTTPClient` now supports the same constructor
+ keyword arguments as `AsyncHTTPClient`.
+* The ``max_clients`` keyword argument to `AsyncHTTPClient.configure` now works.
+* `tornado.simple_httpclient` now supports the ``OPTIONS`` and ``PATCH``
+ HTTP methods.
* `tornado.simple_httpclient` is better about closing its sockets
instead of leaving them for garbage collection.
-* Repeated calls to `RequestHandler.set_cookie` with the same name now
- overwrite the previous cookie instead of producing additional copies.
* `tornado.simple_httpclient` correctly verifies SSL certificates for
URLs containing IPv6 literals (This bug affected Python 2.5 and 2.6).
-* Fixed a bug on python versions before 2.6.5 when `URLSpec` regexes
- are constructed from unicode strings and keyword arguments are extracted.
-* `tornado.curl_httpclient` now supports client SSL certificates (using
- the same ``client_cert`` and ``client_key`` arguments as
- `tornado.simple_httpclient`)
-* `tornado.httpclient.HTTPClient` now supports the same constructor
- keyword arguments as `AsyncHTTPClient`.
-* `tornado.locale.get_supported_locales` no longer takes a meaningless
- ``cls`` argument.
-* The ``reverse_url`` function in the template namespace now comes from
- the `RequestHandler` rather than the `Application`. (Unless overridden,
- `RequestHandler.reverse_url` is just an alias for the `Application`
- method).
-* The ``Etag`` header is now returned on 304 responses to an ``If-None-Match``
- request, improving compatibility with some caches.
* `tornado.simple_httpclient` no longer includes basic auth credentials
in the ``Host`` header when those credentials are extracted from the URL.
-* `tornado.testing.AsyncTestCase.wait` now resets its timeout on each call.
* `tornado.simple_httpclient` no longer modifies the caller-supplied header
dictionary, which caused problems when following redirects.
-* `tornado.web.addslash` and ``removeslash`` decorators now send permanent
- redirects (301) instead of temporary (302).
-* `tornado.wsgi.WSGIApplication` now parses arguments correctly on Python 3.
-* `tornado.auth.FacebookGraphMixin` no longer sends ``post_args`` redundantly
- in the url.
+* `tornado.curl_httpclient` now supports client SSL certificates (using
+ the same ``client_cert`` and ``client_key`` arguments as
+ `tornado.simple_httpclient`)
+
+HTTP Server
+~~~~~~~~~~~
+
+* `HTTPServer` now works correctly with paths starting with ``//``
+* `HTTPHeaders.copy` (inherited from `dict.copy`) now works correctly.
+* `HTTPConnection.address` is now always the socket address, even for non-IP
+ sockets. `HTTPRequest.remote_ip` is still always an IP-style address
+ (fake data is used for non-IP sockets)
+* Extra data at the end of multipart form bodies is now ignored, which fixes
+ a compatibility problem with an iOS HTTP client library.
+
+
+``IOLoop`` and ``IOStream``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+* `IOStream` now has an ``error`` attribute that can be used to determine
+ why a socket was closed.
* `tornado.iostream.IOStream.read_until` and ``read_until_regex`` are much
faster with large input.
-* `tornado.simple_httpclient` now supports the ``OPTIONS`` and ``PATCH``
- HTTP methods.
-* `tornado.web.RequestHandler` now supports the ``PATCH`` HTTP method.
- Note that this means any existing methods named ``patch`` in
- ``RequestHandler`` subclasses will need to be renamed.
+* `IOStream.write` performs better when given very large strings.
+* `IOLoop.instance()` is now thread-safe.
+
+``tornado.options``
+~~~~~~~~~~~~~~~~~~~
+
* `tornado.options` options with ``multiple=True`` that are set more than
once now overwrite rather than append. This makes it possible to override
values set in `parse_config_file` with `parse_command_line`.
* `tornado.options` ``--help`` output is now prettier.
-* Templates now support ``else`` clauses in
- ``try``/``except``/``finally``/``else`` blocks.
+* `tornado.options.options` now supports attribute assignment.
+
+``tornado.template``
+~~~~~~~~~~~~~~~~~~~~
+
* Template files containing non-ASCII (utf8) characters now work on Python 3
regardless of the locale environment variables.
+* Templates now support ``else`` clauses in
+ ``try``/``except``/``finally``/``else`` blocks.
+
+``tornado.web``
+~~~~~~~~~~~~~~~
+
+* `tornado.web.RequestHandler` now supports the ``PATCH`` HTTP method.
+ Note that this means any existing methods named ``patch`` in
+ ``RequestHandler`` subclasses will need to be renamed.
+* `tornado.web.addslash` and ``removeslash`` decorators now send permanent
+ redirects (301) instead of temporary (302).
* `RequestHandler.flush` now invokes its callback whether there was any data
to flush or not.
-* `IOLoop.instance()` is now thread-safe.
-* `tornado.options.options` now supports attribute assignment.
-* The ``max_clients`` keyword argument to `AsyncHTTPClient.configure` now works.
-* The ``extra_params`` argument to `tornado.escape.linkify` may now be
- a callable, to allow parameters to be chosen separately for each link.
-* `HTTPServer` now works correctly with paths starting with ``//``
-* Exception handling on Python 3 has been improved; previously some exceptions
- such as `UnicodeDecodeError` would generate `TypeErrors`
+* Repeated calls to `RequestHandler.set_cookie` with the same name now
+ overwrite the previous cookie instead of producing additional copies.
* `tornado.web.OutputTransform.transform_first_chunk` now takes and returns
a status code in addition to the headers and chunk. This is a
backwards-incompatible change to an interface that was never technically
private, but was not included in the documentation and does not appear
to have been used outside Tornado itself.
+* Fixed a bug on python versions before 2.6.5 when `URLSpec` regexes
+ are constructed from unicode strings and keyword arguments are extracted.
+* The ``reverse_url`` function in the template namespace now comes from
+ the `RequestHandler` rather than the `Application`. (Unless overridden,
+ `RequestHandler.reverse_url` is just an alias for the `Application`
+ method).
+* The ``Etag`` header is now returned on 304 responses to an ``If-None-Match``
+ request, improving compatibility with some caches.
* `tornado.web` will no longer produce responses with status code 304
that also have entity headers such as ``Content-Length``.
-* `StackContext` instances now have a deactivation callback that can be
- used to prevent further propagation.
+
+Other modules
+~~~~~~~~~~~~~
+
+* `tornado.auth.FacebookGraphMixin` no longer sends ``post_args`` redundantly
+ in the url.
+* The ``extra_params`` argument to `tornado.escape.linkify` may now be
+ a callable, to allow parameters to be chosen separately for each link.
* `tornado.gen` no longer leaks `StackContexts` when a ``@gen.engine`` wrapped
function is called repeatedly.
-* Extra data at the end of multipart form bodies is now ignored, which fixes
- a compatibility problem with an iOS HTTP client library.
-* `IOStream.write` performs better when given very large strings.
-* `HTTPHeaders.copy` (inherited from `dict.copy`) now works correctly.
-* `HTTPConnection.address` is now always the socket address, even for non-IP
- sockets. `HTTPRequest.remote_ip` is still always an IP-style address
- (fake data is used for non-IP sockets)
-* `IOStream` now has an ``error`` attribute that can be used to determine
- why a socket was closed.
+* `tornado.locale.get_supported_locales` no longer takes a meaningless
+ ``cls`` argument.
+* `StackContext` instances now have a deactivation callback that can be
+ used to prevent further propagation.
+* `tornado.testing.AsyncTestCase.wait` now resets its timeout on each call.
+* `tornado.wsgi.WSGIApplication` now parses arguments correctly on Python 3.
+* Exception handling on Python 3 has been improved; previously some exceptions
+ such as `UnicodeDecodeError` would generate `TypeErrors`
+
@@ -36,6 +36,10 @@ th.field-name {
background: #fff;
}
+tt {
+ background: #fff;
+}
+
/* "related" = top header */
div.related {
position: fixed;

0 comments on commit 0219bd5

Please sign in to comment.