]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Organize release notes by module
authorBen Darnell <ben@bendarnell.com>
Sat, 25 May 2013 23:15:24 +0000 (19:15 -0400)
committerBen Darnell <ben@bendarnell.com>
Sat, 25 May 2013 23:15:24 +0000 (19:15 -0400)
docs/releases/next.rst

index 1eb11440fb73b7eeacf38dec0c2e9db8dd7fd7bf..597b1077930437d8d67d5c7241b96a8f9c9fb89c 100644 (file)
@@ -4,82 +4,173 @@ What's new in the next version of Tornado
 In progress
 -----------
 
-* `tornado.util.import_object` now works with top-level module names that
-  do not contain a dot.
-* `tornado.util.import_object` now consistently raises `ImportError`
-  instead of `AttributeError` when it fails.
-* The ``handlers`` list passed to the `tornado.web.Application` constructor
-  and `~tornado.web.Application.add_handlers` methods can now contain
-  lists in addition to tuples and `~tornado.web.URLSpec` objects.
+Multiple modules
+~~~~~~~~~~~~~~~~
+
+* Many reference cycles have been broken up throughout the package,
+  allowing for more efficient garbage collection on CPython.
+* Silenced some log messages when connections are opened and immediately
+  closed (i.e. port scans), or other situations related to closed
+  connections.
+* Various small speedups: `.HTTPHeaders` case normalization, `.UIModule`
+  proxy objects, precompile some regexes.
+
+`tornado.auth`
+~~~~~~~~~~~~~~
+
+* `tornado.auth.OAuthMixin` always sends ``oauth_version=1.0`` in its
+  request as required by the spec.
+
+`tornado.escape`
+~~~~~~~~~~~~~~~~
+
+* `.url_escape` and `.url_unescape` have a new ``plus`` argument (defaulting
+  to True for consistency with the previous behavior) which specifies
+  whether they work like `urllib.parse.unquote` or `urllib.parse.unquote_plus`.
+
+`tornado.gen`
+~~~~~~~~~~~~~
+
+* Fixed a potential memory leak with long chains of `tornado.gen` coroutines.
+
+`tornado.httpclient`
+~~~~~~~~~~~~~~~~~~~~
+
 * `tornado.httpclient.HTTPRequest` takes a new argument ``auth_mode``,
   which can be either ``basic`` or ``digest``.  Digest authentication
   is only supported with ``tornado.curl_httpclient``.
-* `tornado.stack_context` has been rewritten and is now much faster.
 * ``tornado.curl_httpclient`` no longer goes into an infinite loop when
   pycurl returns a negative timeout.
-* `tornado.testing.AsyncTestCase.wait` now raises the correct exception
-  when it has been modified by `tornado.stack_context`.
-* `tornado.web.StaticFileHandler` now works on Windows when the client
-  passes an ``If-Modified-Since`` timestamp before 1970.
+* ``curl_httpclient`` now supports the ``PATCH`` and ``OPTIONS`` methods
+  without the use of ``allow_nonstandard_methods=True``.
+* Worked around a class of bugs in libcurl that would result in
+  errors from `.IOLoop.update_handler` in various scenarios including
+  digest authentication and socks proxies.
+
+`tornado.httpserver`
+~~~~~~~~~~~~~~~~~~~~
+
 * `tornado.httpserver.HTTPServer` handles malformed HTTP headers more
   gracefully.
-* `tornado.auth.OAuthMixin` always sends ``oauth_version=1.0`` in its
-  request as required by the spec.
-* Many reference cycles have been broken up throughout the package,
-  allowing for more efficient garbage collection on CPython.
-* `tornado.testing.gen_test` can now be called as ``@gen_test(timeout=60)``
-  to give some tests a longer timeout than others.
-* The environment variable ``ASYNC_TEST_TIMEOUT`` can now be set to
-  override the default timeout for `.AsyncTestCase.wait` and `.gen_test`.
-* Some `.IOLoop` implementations (such as ``pyzmq``) accept objects
-  other than integer file descriptors; these objects will now have
-  their ``.close()`` method called when the ``IOLoop` is closed with
-  ``all_fds=True``.
 * `.HTTPServer` now supports lists of IPs in ``X-Forwarded-For``
   (it chooses the last, i.e. nearest one).
-* Fixed an exception in `.WSGIContainer` when the connection is closed
-  while output is being written.
-* Silenced some log messages when connections are opened and immediately
-  closed (i.e. port scans), or other situations related to closed
-  connections.
-* The default `.Resolver` implementation now works on Solaris.
 * Memory is now reclaimed promptly on CPython when an HTTP request
   fails because it exceeded the maximum upload size.
-* `tornado.options.define` with ``multiple=True`` now works on Python 3.
-* `.Locale.format_date` now works on Python 3.
-* Some internal names used by the template system have been changed;
-  now all "reserved" names in templates start with ``_tt_``.
-* The constructors of `.TCPServer` and `.HTTPServer` now take a
-  ``max_buffer_size`` keyword argument.
+* The ``TCP_NODELAY`` flag is now set when appropriate in `.HTTPServer`
+  and ``simple_httpclient``.
+* The `.HTTPServer` ``no_keep_alive`` option is now respected with
+  HTTP 1.0 connections that explicitly pass ``Connection: keep-alive``.
+* The ``Connection: keep-alive`` check for HTTP 1.0 connections is now
+  case-insensitive.
+
+`tornado.httputil`
+~~~~~~~~~~~~~~~~~~
+
+* The cache used in `.HTTPHeaders` will no longer grow without bound.
+
+`tornado.ioloop`
+~~~~~~~~~~~~~~~~
+
+* Some `.IOLoop` implementations (such as ``pyzmq``) accept objects
+  other than integer file descriptors; these objects will now have
+  their ``.close()`` method called when the ``IOLoop` is closed with
+  ``all_fds=True``.
+* The stub handles left behind by `.IOLoop.remove_timeout` will now get
+  cleaned up instead of waiting to expire.
+
+`tornado.iostream`
+~~~~~~~~~~~~~~~~~~
+
 * Fixed a bug in `.BaseIOStream.read_until_close` that would sometimes
   cause data to be passed to the final callback instead of the streaming
   callback.
 * The `.IOStream` close callback is now run more reliably if there is
   an exception in ``_try_inline_read``.
-* New method `.RequestHandler.log_exception` can be overridden to
-  customize the logging behavior when an exception is uncaught.  Most
-  apps that currently override ``_handle_request_exception`` can now
-  use a combination of `.RequestHandler.log_exception` and
-  `.write_error`.
-* The ``TCP_NODELAY`` flag is now set when appropriate in `.HTTPServer`
-  and ``simple_httpclient``.
 * New methods `.BaseIOStream.set_nodelay` and
   `.WebSocketHandler.set_nodelay` can be used to set the
   ``TCP_NODELAY`` flag.
-* The cache used in `.HTTPHeaders` will no longer grow without bound.
-* Various small speedups: `.HTTPHeaders` case normalization, `.UIModule`
-  proxy objects, precompile some regexes.
+* Fixed a case where errors in ``SSLIOStream.connect`` (and
+  ``SimpleAsyncHTTPClient``) were not being reported correctly.
+
+`tornado.locale`
+~~~~~~~~~~~~~~~~
+
+* `.Locale.format_date` now works on Python 3.
+
+`tornado.netutil`
+~~~~~~~~~~~~~~~~~
+
+* The default `.Resolver` implementation now works on Solaris.
+* `.Resolver` now has a `~.Resolver.close` method.
+* Fixed a potential CPU DoS when ``tornado.netutil.ssl_match_hostname``
+  is used on certificates with an abusive wildcard pattern.
+
+`tornado.options`
+~~~~~~~~~~~~~~~~~
+
+* `tornado.options.define` with ``multiple=True`` now works on Python 3.
+* `tornado.options.options` and other `.OptionParser` instances support some
+  new dict-like methods: `~.OptionParser.items()`, iteration over keys,
+  and (read-only) access to options with square braket syntax.
+  `.OptionParser.group_dict` returns all options with a given group
+  name, and `.OptionParser.as_dict` returns all options.
+
+`tornado.stack_context`
+~~~~~~~~~~~~~~~~~~~~~~~
+
+* `tornado.stack_context` has been rewritten and is now much faster.
+* New function `.run_with_stack_context` facilitates the use of stack
+  contexts with coroutines.
+
+`tornado.tcpserver`
+~~~~~~~~~~~~~~~~~~~
+
+* The constructors of `.TCPServer` and `.HTTPServer` now take a
+  ``max_buffer_size`` keyword argument.
+
+`tornado.template`
+~~~~~~~~~~~~~~~~~~
+
+* Some internal names used by the template system have been changed;
+  now all "reserved" names in templates start with ``_tt_``.
+
+`tornado.testing`
+~~~~~~~~~~~~~~~~~
+
+* `tornado.testing.AsyncTestCase.wait` now raises the correct exception
+  when it has been modified by `tornado.stack_context`.
+* `tornado.testing.gen_test` can now be called as ``@gen_test(timeout=60)``
+  to give some tests a longer timeout than others.
+* The environment variable ``ASYNC_TEST_TIMEOUT`` can now be set to
+  override the default timeout for `.AsyncTestCase.wait` and `.gen_test`.
 * `.bind_unused_port` now passes ``None`` instead of ``0`` as the port
   to ``getaddrinfo``, which works better with some unusual network
   configurations.
+
+`tornado.util`
+~~~~~~~~~~~~~~
+
+* `tornado.util.import_object` now works with top-level module names that
+  do not contain a dot.
+* `tornado.util.import_object` now consistently raises `ImportError`
+  instead of `AttributeError` when it fails.
+
+`tornado.web`
+~~~~~~~~~~~~~
+
+* The ``handlers`` list passed to the `tornado.web.Application` constructor
+  and `~tornado.web.Application.add_handlers` methods can now contain
+  lists in addition to tuples and `~tornado.web.URLSpec` objects.
+* `tornado.web.StaticFileHandler` now works on Windows when the client
+  passes an ``If-Modified-Since`` timestamp before 1970.
+* New method `.RequestHandler.log_exception` can be overridden to
+  customize the logging behavior when an exception is uncaught.  Most
+  apps that currently override ``_handle_request_exception`` can now
+  use a combination of `.RequestHandler.log_exception` and
+  `.write_error`.
 * `.RequestHandler.get_argument` now raises `.MissingArgumentError`
   (a subclass of `tornado.web.HTTPError`, which is what it raised previously)
   if the argument cannot be found.
-* New function `.run_with_stack_context` facilitates the use of stack
-  contexts with coroutines.
-* `.url_escape` and `.url_unescape` have a new ``plus`` argument (defaulting
-  to True for consistency with the previous behavior) which specifies
-  whether they work like `urllib.parse.unquote` or `urllib.parse.unquote_plus`.
 * `.Application.reverse_url` now uses `.url_escape` with ``plus=False``,
   i.e. spaces are encoded as ``%20`` instead of ``+``.
 * Arguments extracted from the url path are now decoded with
@@ -94,12 +185,6 @@ In progress
   `.Future`.  The `~tornado.web.asynchronous` decorator is not used with
   ``prepare``; one of the `.Future`-related decorators should be used instead.
 * ``RequestHandler.current_user`` may now be assigned to normally.
-* The `.HTTPServer` ``no_keep_alive`` option is now respected with
-  HTTP 1.0 connections that explicitly pass ``Connection: keep-alive``.
-* The ``Connection: keep-alive`` check for HTTP 1.0 connections is now
-  case-insensitive.
-* The stub handles left behind by `.IOLoop.remove_timeout` will now get
-  cleaned up instead of waiting to expire.
 * `.RequestHandler.redirect` no longer silently strips control characters
   and whitespace.  It is now an error to pass control characters, newlines
   or tabs.
@@ -116,21 +201,11 @@ In progress
   the url versioning.
 * `.StaticFileHandler` now reads its file in chunks, which will reduce
   memory fragmentation.
-* Fixed a case where errors in ``SSLIOStream.connect`` (and
-  ``SimpleAsyncHTTPClient``) were not being reported correctly.
-* `.Resolver` now has a `~.Resolver.close` method.
-* Fixed a potential memory leak with long chains of `tornado.gen` coroutines.
-* ``curl_httpclient`` now supports the ``PATCH`` and ``OPTIONS`` methods
-  without the use of ``allow_nonstandard_methods=True``.
-* `tornado.options.options` and other `.OptionParser` instances support some
-  new dict-like methods: `~.OptionParser.items()`, iteration over keys,
-  and (read-only) access to options with square braket syntax.
-  `.OptionParser.group_dict` returns all options with a given group
-  name, and `.OptionParser.as_dict` returns all options.
-* Fixed a potential CPU DoS when ``tornado.netutil.ssl_match_hostname``
-  is used on certificates with an abusive wildcard pattern.
 * Fixed a problem with the ``Date`` header and cookie expiration dates
   when the system locale is set to a non-english configuration.
-* Worked around a class of bugs in libcurl that would result in
-  errors from `.IOLoop.update_handler` in various scenarios including
-  digest authentication and socks proxies.
+
+`tornado.wsgi`
+~~~~~~~~~~~~~~
+
+* Fixed an exception in `.WSGIContainer` when the connection is closed
+  while output is being written.