From: Ben Darnell Date: Mon, 5 Sep 2011 00:47:39 +0000 (-0700) Subject: Reorganize release notes X-Git-Tag: v2.1.0~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f05f9b9eae375b7ad04ef99cffef6758c2fdd45f;p=thirdparty%2Ftornado.git Reorganize release notes --- diff --git a/website/sphinx/releases/next.rst b/website/sphinx/releases/next.rst index ac44a6ef0..eaa6be786 100644 --- a/website/sphinx/releases/next.rst +++ b/website/sphinx/releases/next.rst @@ -14,119 +14,137 @@ Backwards-incompatible changes in the browser on uncaught exceptions. Since this may leak sensitive information, debug mode is not recommended for public-facing servers. -New features -~~~~~~~~~~~~ +New modules +~~~~~~~~~~~ + +* `tornado.gen`: A generator-based interface to simplify writing + asynchronous functions. +* `tornado.platform.twisted`: A bridge between the Tornado IOLoop and the + Twisted Reactor, allowing code written for Twisted to be run on Tornado. +* `tornado.process`: Multi-process mode has been improved, and can now restart + crashed child processes. A new entry point has been added at + `tornado.process.fork_processes`, although + `tornado.httpserver.HTTPServer.start` is still supported. +* `tornado.netutil`: To facilitate some advanced multi-process scenarios, + ``HTTPServer`` has a new method ``add_sockets``, and socket-opening code is + available separately as `tornado.netutil.bind_sockets`. + +``tornado.web`` +~~~~~~~~~~~~~~~ -* New methods `tornado.iostream.IOStream.read_until_close` and - `tornado.iostream.IOStream.read_until_regex` -* `tornado.autoreload` has a new command-line interface which can be used - to wrap any script. This replaces the ``--autoreload`` argument to - `tornado.testing.main` and is more robust against syntax errors. -* `tornado.autoreload.watch` can be used to watch files other than - the sources of imported modules. -* `tornado.web.RequestHandler.get_secure_cookie` now has a ``max_age_days`` - parameter to allow applications to override the default one-month expiration. -* `tornado.ioloop.IOLoop` and `tornado.httpclient.HTTPClient` now have - ``close()`` methods that should be used in applications that create - and destroy many of these objects. -* `tornado.simple_httpclient` now supports client SSL certificates with the - ``client_key`` and ``client_cert`` parameters to - `tornado.httpclient.HTTPRequest` -* `tornado.httpserver.HTTPServer.bind` now takes a backlog argument with the - same meaning as ``socket.listen``. -* In `tornado.web.Application`, handlers may be specified by - (fully-qualified) name instead of importing and passing the class object - itself. -* `tornado.web.RequestHandler.set_default_headers` may be overridden to set - headers in a way that does not get reset during error handling. * `tornado.web.RequestHandler.write_error` replaces ``get_error_html`` as the preferred way to generate custom error pages (``get_error_html`` is still supported, but deprecated) -* Multi-process mode has been improved, and can now restart crashed child - processes. A new entry point has been added at - `tornado.process.fork_processes`, although - `tornado.httpserver.HTTPServer.start` is still supported. -* To facilitate some advanced multi-process scenarios, ``HTTPServer`` has a - new method ``add_sockets``, and socket-opening code is available separately - as `tornado.netutil.bind_sockets`. -* Windows support has been improved. Windows is still not an officially - supported platform, but the test suite now passes. -* `~tornado.iostream.IOStream` performance has been improved, especially for - small synchronous requests. -* `~tornado.httpserver.HTTPServer` can now be run on a unix socket as well - as TCP. +* In `tornado.web.Application`, handlers may be specified by + (fully-qualified) name instead of importing and passing the class object + itself. +* It is now possible to use a custom subclass of ``StaticFileHandler`` + with the ``static_handler_class`` application setting, and this subclass + can override the behavior of the ``static_url`` method. * `~tornado.web.StaticFileHandler` subclasses can now override ``get_cache_time`` to customize cache control behavior. -* `tornado.websocket` now supports the latest ("hybi-10") version of the - protocol (the old version, "hixie-76" is still supported; the correct - version is detected automatically). -* New module `tornado.platform.twisted` contains a bridge between the - Tornado IOLoop and the Twisted Reactor, allowing code written for Twisted - to be run on Tornado. -* `RequestHandler.flush` can now take a callback for flow control. -* `SimpleAsyncHTTPClient` now takes a maximum buffer size, to allow reading - files larger than 100MB -* `IOLoop.install` can now be used to use a custom subclass of IOLoop - as the singleton without monkey-patching. +* `tornado.web.RequestHandler.get_secure_cookie` now has a ``max_age_days`` + parameter to allow applications to override the default one-month expiration. +* `~tornado.web.RequestHandler.set_cookie` now accepts a ``max_age`` keyword + argument to set the ``max-age`` cookie attribute (note underscore vs dash) +* `tornado.web.RequestHandler.set_default_headers` may be overridden to set + headers in a way that does not get reset during error handling. * `RequestHandler.add_header` can now be used to set a header that can appear multiple times in the response. -* `IOLoop.add_timeout` now accepts `datetime.timedelta` objects in addition - to absolute timestamps. -* It is now possible to use a custom subclass of ``StaticFileHandler`` - with the ``static_handler_class`` application setting, and this subclass - can override the behavior of the ``static_url`` method. +* `RequestHandler.flush` can now take a callback for flow control. +* The ``application/json`` content type can now be gzipped. + +``tornado.httpserver`` +~~~~~~~~~~~~~~~~~~~~~~ + * The ``cookies`` property is now available on `tornado.httpserver.HTTPRequest` (it is also available in its old location as a property of `~tornado.web.RequestHandler`) -* Template loaders now take a ``namespace`` constructor argument to add - entries to the template namespace. +* `tornado.httpserver.HTTPServer.bind` now takes a backlog argument with the + same meaning as ``socket.listen``. +* `~tornado.httpserver.HTTPServer` can now be run on a unix socket as well + as TCP. +* Fixed exception at startup when ``socket.AI_ADDRCONFIG`` is not available, + as on Windows XP + +``IOLoop`` and ``IOStream`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* `~tornado.iostream.IOStream` performance has been improved, especially for + small synchronous requests. +* New methods `tornado.iostream.IOStream.read_until_close` and + `tornado.iostream.IOStream.read_until_regex`. +* `IOLoop.add_timeout` now accepts `datetime.timedelta` objects in addition + to absolute timestamps. +* `~tornado.ioloop.PeriodicCallback` now sticks to the specified period + instead of creeping later due to accumulated errors. +* `tornado.ioloop.IOLoop` and `tornado.httpclient.HTTPClient` now have + ``close()`` methods that should be used in applications that create + and destroy many of these objects. +* `IOLoop.install` can now be used to use a custom subclass of IOLoop + as the singleton without monkey-patching. +* `~tornado.iostream.IOStream` should now always call the close callback + instead of the connect callback on a connection error. +* The `IOStream` close callback will no longer be called while there + are pending read callbacks that can be satisfied with buffered data. + + +``tornado.simple_httpclient`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* Now supports client SSL certificates with the ``client_key`` and + ``client_cert`` parameters to `tornado.httpclient.HTTPRequest` +* Now takes a maximum buffer size, to allow reading files larger than 100MB +* Now works with HTTP 1.0 servers that don't send a Content-Length header +* The ``allow_nonstandard_methods`` flag on HTTP client requests now + permits methods other than ``POST`` and ``PUT`` to contain bodies. +* Fixed file descriptor leaks and multiple callback invocations in + `SimpleAsyncHTTPClient` +* No longer consumes extra connection resources when following redirects. +* Now works with buggy web servers that separate headers with ``\n`` instead + of ``\r\n\r\n``. +* Now sets ``response.request_time`` correctly. +* Connect timeouts now work correctly. + + +Other modules +~~~~~~~~~~~~~ + +* `tornado.auth.OpenIDMixin` now uses the correct realm when the + callback URI is on a different domain. +* `tornado.autoreload` has a new command-line interface which can be used + to wrap any script. This replaces the ``--autoreload`` argument to + `tornado.testing.main` and is more robust against syntax errors. +* `tornado.autoreload.watch` can be used to watch files other than + the sources of imported modules. * `tornado.database.Connection` has new variants of ``execute`` and ``executemany`` that return the number of rows affected instead of the last inserted row id. -* `tornado.autoreload` now works on Windows. +* `tornado.locale.load_translations` now accepts any properly-formatted + locale name, not just those in the predefined ``LOCALE_NAMES`` list. * `tornado.options.define` now takes a ``group`` parameter to group options in ``--help`` output. -* New module `tornado.gen` is a generator-based interface to simplify - writing asynchronous functions. +* Template loaders now take a ``namespace`` constructor argument to add + entries to the template namespace. +* `tornado.websocket` now supports the latest ("hybi-10") version of the + protocol (the old version, "hixie-76" is still supported; the correct + version is detected automatically). +* `tornado.websocket` now works on Python 3 Bug fixes ~~~~~~~~~ -* `HTTPServer`: fixed exception at startup when ``socket.AI_ADDRCONFIG`` is - not available, as on Windows XP -* `tornado.websocket`: now works on Python 3 -* `SimpleAsyncHTTPClient`: now works with HTTP 1.0 servers that don't send - a Content-Length header -* `tornado.iostream.IOStream` should now always call the close callback - instead of the connect callback on a connection error. -* The ``allow_nonstandard_methods`` flag on HTTP client requests now - permits methods other than ``POST`` and ``PUT`` to contain bodies. -* `tornado.locale.load_translations` now accepts any properly-formatted - locale name, not just those in the predefined ``LOCALE_NAMES`` list. +* Windows support has been improved. Windows is still not an officially + supported platform, but the test suite now passes and + `tornado.autoreload` works. * Uploading files whose names contain special characters will now work. * Cookie values containing special characters are now properly quoted and unquoted. * Multi-line headers are now supported. -* The `IOStream` close callback will no longer be called while there - are pending read callbacks that can be satisfied with buffered data. -* Fixed file descriptor leaks and multiple callback invocations in - `SimpleAsyncHTTPClient` * Repeated Content-Length headers (which may be added by certain proxies) are now supported in `HTTPServer`. * Unicode string literals now work in template expressions. -* `~tornado.ioloop.PeriodicCallback` now sticks to the specified period - instead of creeping later due to accumulated errors. * The template ``{% module %}`` directive now works even if applications use a template variable named ``modules``. -* `~tornado.auth.OpenIDMixin` now uses the correct realm when the - callback URI is on a different domain. -* `SimpleAsyncHTTPClient` no longer consumes extra connection resources - when following redirects. -* `SimpleAsyncHTTPClient` now works with buggy web servers that separate - headers with ``\n`` instead of ``\r\n\r\n``. -* `tornado.web.RequestHandler.set_cookie` now accepts a ``max_age`` keyword - argument to set the ``max-age`` cookie attribute (note underscore vs dash) -* `SimpleAsyncHTTPClient` now sets response.request_time correctly. -* The ``application/json`` content type can now be gzipped. -* Connect timeouts now work correctly in `SimpleAsyncHTTPClient` +