2012-09-08 19:49:22 +00:00
|
|
|
What's new in the next release of Tornado
|
|
|
|
=========================================
|
|
|
|
|
|
|
|
In progress
|
|
|
|
-----------
|
|
|
|
|
|
|
|
* The Tornado test suite now requires ``unittest2`` when run on Python 2.5
|
|
|
|
or 2.6.
|
|
|
|
* `tornado.testing.AsyncTestCase` and friends now extend ``unittest2.TestCase``
|
|
|
|
when it is available (and continue to use the standard ``unittest`` module
|
|
|
|
when ``unittest2`` is not available)
|
|
|
|
* `tornado.netutil.bind_sockets` no longer sets ``AI_ADDRCONFIG``; this will
|
|
|
|
cause it to bind to both ipv4 and ipv6 more often than before.
|
|
|
|
* `tornado.netutil.bind_sockets` has a new ``flags`` argument that can
|
|
|
|
be used to pass additional flags to ``getaddrinfo``.
|
2012-09-10 01:43:52 +00:00
|
|
|
* Tornado no longer logs to the root logger. Details on the new logging
|
|
|
|
scheme can be found under the `tornado.log` module. Note that in some
|
|
|
|
cases this will require that you add an explicit logging configuration
|
|
|
|
in ordre to see any output (perhaps just calling ``logging.basicConfig()``),
|
|
|
|
although both `IOLoop.start()` and `tornado.options.parse_command_line`
|
|
|
|
will do this for you.
|
|
|
|
* Errors while rendering templates no longer log the generated code,
|
|
|
|
since the enhanced stack traces (from version 2.1) should make this
|
|
|
|
unnecessary.
|
|
|
|
* `tornado.testing.ExpectLog` can be used as a finer-grained alternative
|
|
|
|
to `tornado.testing.LogTrapTestCase`
|
2012-09-10 01:55:47 +00:00
|
|
|
* The command-line interface to `tornado.testing.main` now supports
|
|
|
|
additional arguments from the underlying `unittest` module:
|
|
|
|
``verbose``, ``quiet``, ``failfast``, ``catch``, ``buffer``.
|
2012-09-10 04:04:58 +00:00
|
|
|
* Empty HTTP request arguments are no longer ignored. This applies to
|
|
|
|
``HTTPRequest.arguments`` and ``RequestHandler.get_argument[s]``
|
|
|
|
in WSGI and non-WSGI modes.
|
2012-09-10 16:53:08 +00:00
|
|
|
* New function `tornado.testing.bind_unused_port` both chooses a port
|
|
|
|
and binds a socket to it, so there is no risk of another process
|
|
|
|
using the same port. ``get_unused_port`` is now deprecated.
|
2012-09-16 21:02:49 +00:00
|
|
|
* The `tornado.database` module has been removed. It is now available
|
|
|
|
as a separate package, `torndb <https://github.com/bdarnell/torndb>`_
|
2012-09-17 02:53:32 +00:00
|
|
|
* New class `tornado.iostream.PipeIOStream` provides the IOStream
|
|
|
|
interface on pipe file descriptors.
|
|
|
|
* Much of `IOStream` has been refactored into a separate class
|
|
|
|
`BaseIOStream`.
|
|
|
|
* New class `tornado.process.Subprocess` wraps `subprocess.Popen` with
|
|
|
|
`PipeIOStream` access to the child's file descriptors.
|
2012-09-29 20:16:23 +00:00
|
|
|
* `IOLoop` now uses `signal.set_wakeup_fd` where available (Python 2.6+
|
|
|
|
on Unix) to avoid a race condition that could result in Python signal
|
|
|
|
handlers being delayed.
|
|
|
|
* `WebSocketHandler` has new methods `ping` and `on_pong` to send pings
|
|
|
|
to the browser (not supported on the ``draft76`` protocol)
|
|
|
|
* The ``Date`` HTTP header is now set by default on all responses.
|
|
|
|
* Several methods related to HTTP status codes now take a ``reason`` keyword
|
|
|
|
argument to specify an alternate "reason" string (i.e. the "Not Found" in
|
|
|
|
"HTTP/1.1 404 Not Found"). It is now possible to set status codes other
|
|
|
|
than those defined in the spec, as long as a reason string is given.
|
|
|
|
* New method `IOLoop.add_callback_from_signal` is safe to use in a signal
|
|
|
|
handler (the regular `add_callback` method may deadlock).
|