]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Fix dangling links in next.rst
authorBen Darnell <ben@bendarnell.com>
Sat, 16 Mar 2013 03:29:42 +0000 (23:29 -0400)
committerBen Darnell <ben@bendarnell.com>
Sat, 16 Mar 2013 03:29:42 +0000 (23:29 -0400)
docs/releases/next.rst

index e5a146297c5e832051719b5d8affc45900104bf9..e9f07839b0d37e7de4809a77c0db3e9df91857f3 100644 (file)
@@ -7,28 +7,28 @@ In progress
 Highlights
 ^^^^^^^^^^
 
-* The ``callback`` argument to many asynchronous methods is now optional,
-  and these methods return a `Future`.  The `tornado.gen` module now
-  understands `Futures`, and these methods can be used directly without
-  a `gen.Task` wrapper.
-* New function `IOLoop.current` returns the `IOLoop` that is running
-  on the current thread (as opposed to `IOLoop.instance`, which
+* The ``callback`` argument to many asynchronous methods is now
+  optional, and these methods return a `~concurrent.futures.Future`.
+  The `tornado.gen` module now understands ``Futures``, and these
+  methods can be used directly without a `.gen.Task` wrapper.
+* New function `.IOLoop.current` returns the `.IOLoop` that is running
+  on the current thread (as opposed to `.IOLoop.instance`, which
   returns a specific thread's (usually the main thread's) IOLoop.
 * New class `tornado.netutil.Resolver` provides an asynchronous
   interface to DNS resolution.  The default implementation is still
   blocking, but non-blocking implementations are available using one
   of three optional dependencies: `~tornado.netutil.ThreadedResolver`
   using the `concurrent.futures` thread pool,
-  `~tornado.platform.caresresolver.CaresResolver` using the `pycares`
-  library, or `~tornado.platform.twisted.TwistedResolver` using `twisted`
+  ``tornado.platform.caresresolver.CaresResolver`` using the ``pycares``
+  library, or ``tornado.platform.twisted.TwistedResolver`` using ``twisted``
 * Tornado's logging is now less noisy, and it no longer goes directly
   to the root logger, allowing for finer-grained configuration.
 * New class `tornado.process.Subprocess` wraps `subprocess.Popen` with
-  `PipeIOStream` access to the child's file descriptors.
-* `IOLoop` now has a static ``configure`` method like the one on
-  `AsyncHTTPClient`, which can be used to select an IOLoop implementation
+  `.PipeIOStream` access to the child's file descriptors.
+* `.IOLoop` now has a static ``configure`` method like the one on
+  `.AsyncHTTPClient`, which can be used to select an IOLoop implementation
   other than the default.
-* `IOLoop` can now optionally use a monotonic clock if available
+* `.IOLoop` can now optionally use a monotonic clock if available
   (see below for more details).
 
 
@@ -40,14 +40,15 @@ Backwards-incompatible changes
 * The ``tornado.database`` module has been removed.  It is now available
   as a separate package, `torndb <https://github.com/bdarnell/torndb>`_
 * Functions that take an ``io_loop`` parameter now default to
-  `IOLoop.current()` instead of `IOLoop.instance()`.
+  `.IOLoop.current()` instead of `.IOLoop.instance()`.
 * Empty HTTP request arguments are no longer ignored.  This applies to
   ``HTTPRequest.arguments`` and ``RequestHandler.get_argument[s]``
   in WSGI and non-WSGI modes.
 * On Python 3, `tornado.escape.json_encode` no longer accepts byte strings.
 * On Python 3, the ``get_authenticated_user`` methods in `tornado.auth`
   now return character strings instead of byte strings.
-* `tornado.netutil.TCPServer` has moved to its own module, `tornado.tcpserver`.
+* ``tornado.netutil.TCPServer`` has moved to its own module,
+  `tornado.tcpserver`.
 * The Tornado test suite now requires ``unittest2`` when run on Python 2.6.
 
 
@@ -61,10 +62,10 @@ Multiple modules
   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 order to see any output (perhaps just calling ``logging.basicConfig()``),
-  although both `IOLoop.start()` and `tornado.options.parse_command_line`
+  although both `.IOLoop.start()` and `tornado.options.parse_command_line`
   will do this for you.
 * On python 3.2+, methods that take an ``ssl_options`` argument (on
-  `SSLIOStream`, `TCPServer`, and `HTTPServer`) now accept either a
+  `.SSLIOStream`, `.TCPServer`, and `.HTTPServer`) now accept either a
   dictionary of options or an `ssl.SSLContext` object.
 * New optional dependency on `concurrent.futures` to provide better support
   for working with threads.  `concurrent.futures` is in the standard library
@@ -76,10 +77,10 @@ Multiple modules
 
 * `tornado.autoreload` is now more reliable when there are errors at import
   time.
-* Calling `tornado.autoreload.start` (or creating an `Application` with
-  ``debug=True``) twice on the same `IOLoop` now does nothing (instead of
+* Calling `tornado.autoreload.start` (or creating an `.Application` with
+  ``debug=True``) twice on the same `.IOLoop` now does nothing (instead of
   creating multiple periodic callbacks).  Starting autoreload on
-  more than one `IOLoop` in the same process now logs a warning.
+  more than one `.IOLoop` in the same process now logs a warning.
 * Scripts run by autoreload no longer inherit ``__future__`` imports
   used by Tornado.
 
@@ -88,16 +89,17 @@ Multiple modules
 
 * On Python 3, the ``get_authenticated_user`` method family now returns
   character strings instead of byte strings.
-* Asynchronous methods defined in `tornado.auth` now return a `Future`,
-  and their ``callback`` argument is optional.  The `Future` interface is
-  preferred as it offers better error handling (the previous interface
-  just logged a warning and returned None).
+* Asynchronous methods defined in `tornado.auth` now return a
+  `~concurrent.futures.Future`, and their ``callback`` argument is
+  optional.  The ``Future`` interface is preferred as it offers better
+  error handling (the previous interface just logged a warning and
+  returned None).
 * The `tornado.auth` mixin classes now define a method
   ``get_auth_http_client``, which can be overridden to use a non-default
-  `AsyncHTTPClient` instance (e.g. to use a different `IOLoop`)
-* Subclasses of `OAuthMixin` are encouraged to override
-  `_oauth_get_user_future` instead of `_oauth_get_user`, although both
-  methods are still supported.
+  `.AsyncHTTPClient` instance (e.g. to use a different `.IOLoop`)
+* Subclasses of `.OAuthMixin` are encouraged to override
+  `.OAuthMixin._oauth_get_user_future` instead of ``_oauth_get_user``,
+  although both methods are still supported.
 
 `tornado.concurrent`
 ~~~~~~~~~~~~~~~~~~~~
@@ -106,10 +108,10 @@ Multiple modules
   `concurrent.futures`, or to emulate future-based interface when that module
   is not available.
 
-`tornado.curl_httpclient`
-~~~~~~~~~~~~~~~~~~~~~~~~~
+``tornado.curl_httpclient``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-* Preliminary support for `tornado.curl_httpclient` on Python 3.  The latest
+* Preliminary support for ``tornado.curl_httpclient`` on Python 3.  The latest
   official release of pycurl only supports Python 2, but Ubuntu has a
   port available in 12.10 (``apt-get install python3-pycurl``).  This port
   currently has bugs that prevent it from handling arbitrary binary data
@@ -128,14 +130,15 @@ Multiple modules
 ~~~~~~~~~~~~~
 
 * New decorator ``@gen.coroutine`` is available as an alternative to
-  ``@gen.engine``.  It automatically returns a `Future`, and within the
-  function instead of calling a callback you return a value with
-  ``raise gen.Return(value)`` (or simply ``return value`` in Python 3.3).
+  ``@gen.engine``.  It automatically returns a
+  `~concurrent.futures.Future`, and within the function instead of
+  calling a callback you return a value with ``raise
+  gen.Return(value)`` (or simply ``return value`` in Python 3.3).
 * Generators may now yield ``Future`` objects.
-* Callbacks produced by `gen.Callback` and `gen.Task` are now automatically
+* Callbacks produced by `.gen.Callback` and `.gen.Task` are now automatically
   stack-context-wrapped, to minimize the risk of context leaks when used
   with asynchronous functions that don't do their own wrapping.
-* Fixed a memory leak involving generators, `RequestHandler.flush`,
+* Fixed a memory leak involving generators, `.RequestHandler.flush`,
   and clients closing connections while output is being written.
 * Yielding a large list no longer has quadratic performance.
 
@@ -143,36 +146,37 @@ Multiple modules
 `tornado.httpclient`
 ~~~~~~~~~~~~~~~~~~~~
 
-* `AsyncHTTPClient.fetch` now returns a ``Future`` and its callback argument
+* `.AsyncHTTPClient.fetch` now returns a ``Future`` and its callback argument
   is optional.  When the future interface is used, any error will be raised
-  automatically, as if `HTTPResponse.rethrow` was called.
-* `AsyncHTTPClient.configure` and all `AsyncHTTPClient` constructors
+  automatically, as if `.HTTPResponse.rethrow` was called.
+* `.AsyncHTTPClient.configure` and all `.AsyncHTTPClient` constructors
   now take a ``defaults`` keyword argument.  This argument should be a
   dictionary, and its values will be used in place of corresponding
-  attributes of `HTTPRequest` that are not set.
-* All unset attributes of `tornado.httpclient.HTTPRequest` are now ``None``.
-  The default values of some attributes (``connect_timeout``,
-  ``request_timeout``, ``follow_redirects``, ``max_redirects``,
-  ``use_gzip``, ``proxy_password``, ``allow_nonstandard_methods``,
-  and ``validate_cert`` have been moved from `HTTPRequest` to the
-  client implementations.
-* The ``max_clients`` argument to `AsyncHTTPClient` is now a keyword-only
+  attributes of `~tornado.httpclient.HTTPRequest` that are not set.
+* All unset attributes of `tornado.httpclient.HTTPRequest` are now
+  ``None``.  The default values of some attributes
+  (``connect_timeout``, ``request_timeout``, ``follow_redirects``,
+  ``max_redirects``, ``use_gzip``, ``proxy_password``,
+  ``allow_nonstandard_methods``, and ``validate_cert`` have been moved
+  from `~tornado.httpclient.HTTPRequest` to the client
+  implementations.
+* The ``max_clients`` argument to `.AsyncHTTPClient` is now a keyword-only
   argument.
-* Keyword arguments to `AsyncHTTPClient.configure` are no longer used
+* Keyword arguments to `.AsyncHTTPClient.configure` are no longer used
   when instantiating an implementation subclass directly.
-* Secondary `AsyncHTTPClient` callbacks (``streaming_callback``,
+* Secondary `.AsyncHTTPClient` callbacks (``streaming_callback``,
   ``header_callback``, and ``prepare_curl_callback``) now respect
-  `StackContext`.
+  `.StackContext`.
 
 `tornado.httpserver`
 ~~~~~~~~~~~~~~~~~~~~
 
-* `HTTPServer` no longer logs an error when it is unable to read a second
+* `.HTTPServer` no longer logs an error when it is unable to read a second
   request from an HTTP 1.1 keep-alive connection.
-* `HTTPServer` now takes a ``protocol`` keyword argument which can be set
+* `.HTTPServer` now takes a ``protocol`` keyword argument which can be set
   to ``https`` if the server is behind an SSL-decoding proxy that does not
   set any supported X-headers.
-* `tornado.httpserver.HTTPConnection` now has a `set_close_callback`
+* `tornado.httpserver.HTTPConnection` now has a ``set_close_callback``
   method that should be used instead of reaching into its ``stream``
   attribute.
 * Empty HTTP request arguments are no longer ignored.  This applies to
@@ -182,63 +186,63 @@ Multiple modules
 `tornado.ioloop`
 ~~~~~~~~~~~~~~~~
 
-* New function `IOLoop.current` returns the ``IOLoop`` that is running
-  on the current thread (as opposed to `IOLoop.instance`, which returns a
+* New function `.IOLoop.current` returns the ``IOLoop`` that is running
+  on the current thread (as opposed to `.IOLoop.instance`, which returns a
   specific thread's (usually the main thread's) IOLoop).
-* New method `IOLoop.add_future` to run a callback on the IOLoop when
+* New method `.IOLoop.add_future` to run a callback on the IOLoop when
   an asynchronous ``Future`` finishes.
-* `IOLoop` now has a static ``configure`` method like the one on
-  `AsyncHTTPClient`, which can be used to select an IOLoop implementation
+* `.IOLoop` now has a static ``configure`` method like the one on
+  `.AsyncHTTPClient`, which can be used to select an IOLoop implementation
   other than the default.
-* The `IOLoop` poller implementations (``select``, ``epoll``, ``kqueue``)
-  are now available as distinct subclasses of `IOLoop`.  Instantiating
-  `IOLoop` will continue to automatically choose the best available
+* The `.IOLoop` poller implementations (``select``, ``epoll``, ``kqueue``)
+  are now available as distinct subclasses of `.IOLoop`.  Instantiating
+  `.IOLoop` will continue to automatically choose the best available
   implementation.
-* The `IOLoop` constructor has a new keyword argument ``time_func``,
+* The `.IOLoop` constructor has a new keyword argument ``time_func``,
   which can be used to set the time function used when scheduling callbacks.
-  This is most useful with the `time.monotonic()` function, introduced
+  This is most useful with the `time.monotonic` function, introduced
   in Python 3.3 and backported to older versions via the ``monotime``
   module.  Using a monotonic clock here avoids problems when the system
   clock is changed.
-* New function `IOLoop.time` returns the current time according to the
+* New function `.IOLoop.time` returns the current time according to the
   IOLoop.  To use the new monotonic clock functionality, all calls to
-  `IOLoop.add_timeout` must be either pass a `datetime.timedelta` or
-  a time relative to `IOLoop.time`, not `time.time`.  (`time.time` will
+  `.IOLoop.add_timeout` must be either pass a `datetime.timedelta` or
+  a time relative to `.IOLoop.time`, not `time.time`.  (`time.time` will
   continue to work only as long as the IOLoop's ``time_func`` argument
   is not used).
-* New convenience method `IOLoop.run_sync` can be used to start an IOLoop
+* New convenience method `.IOLoop.run_sync` can be used to start an IOLoop
   just long enough to run a single coroutine.
-* New method `IOLoop.add_callback_from_signal` is safe to use in a signal
-  handler (the regular `add_callback` method may deadlock).
-* `IOLoop` now uses `signal.set_wakeup_fd` where available (Python 2.6+
+* New method `.IOLoop.add_callback_from_signal` is safe to use in a signal
+  handler (the regular `.add_callback` method may deadlock).
+* `.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.
-* Method `IOLoop.running()` has been removed.
-* `IOLoop` has been refactored to better support subclassing.
-* `IOLoop.add_callback` and `add_callback_from_signal` now take
+* Method ``IOLoop.running()`` has been removed.
+* `.IOLoop` has been refactored to better support subclassing.
+* `.IOLoop.add_callback` and `.add_callback_from_signal` now take
   ``*args, **kwargs`` to pass along to the callback.
 
 `tornado.iostream`
 ~~~~~~~~~~~~~~~~~~
 
-* `IOStream.connect` now has an optional ``server_hostname`` argument
+* `.IOStream.connect` now has an optional ``server_hostname`` argument
   which will be used for SSL certificate validation when applicable.
   Additionally, when supported (on Python 3.2+), this hostname
-  will be sent via SNI (and this is supported by `tornado.simple_httpclient`)
-* Much of `IOStream` has been refactored into a separate class
-  `BaseIOStream`.
+  will be sent via SNI (and this is supported by ``tornado.simple_httpclient``)
+* Much of `.IOStream` has been refactored into a separate class
+  `.BaseIOStream`.
 * New class `tornado.iostream.PipeIOStream` provides the IOStream
   interface on pipe file descriptors.
-* `IOStream` now raises a new exception
-  `tornado.iostream.StreamClosedError` when you attempt to read or
+* `.IOStream` now raises a new exception
+  ``tornado.iostream.StreamClosedError`` when you attempt to read or
   write after the stream has been closed (by either side).
-* `IOStream` now simply closes the connection when it gets an
+* `.IOStream` now simply closes the connection when it gets an
   ``ECONNRESET`` error, rather than logging it as an error.
-* `IOStream.error` no longer picks up unrelated exceptions.
-* `IOStream.close` now has an ``exc_info`` argument (similar to the
+* ``IOStream.error`` no longer picks up unrelated exceptions.
+* `.BaseIOStream.close` now has an ``exc_info`` argument (similar to the
   one used in the `logging` module) that can be used to set the stream's
   ``error`` attribute when closing it.
-* `IOStream.read_until_close` now works correctly when it is called
+* `.BaseIOStream.read_until_close` now works correctly when it is called
   while there is buffered data.
 * Fixed a major performance regression when run on PyPy (introduced in
   Tornado 2.3).
@@ -246,9 +250,9 @@ Multiple modules
 `tornado.log`
 ~~~~~~~~~~~~~
 
-* New module containing `enable_pretty_logging` and `LogFormatter`,
+* New module containing `.enable_pretty_logging` and `.LogFormatter`,
   moved from the options module.
-* `LogFormatter` now handles non-ascii data in messages and tracebacks better.
+* `.LogFormatter` now handles non-ascii data in messages and tracebacks better.
 
 `tornado.netutil`
 ~~~~~~~~~~~~~~~~~
@@ -258,8 +262,8 @@ Multiple modules
   blocking, but non-blocking implementations are available using one
   of three optional dependencies: `~tornado.netutil.ThreadedResolver`
   using the `concurrent.futures` thread pool,
-  `~tornado.platform.caresresolver.CaresResolver` using the `pycares`
-  library, or `~tornado.platform.twisted.TwistedResolver` using `twisted`
+  ``tornado.platform.caresresolver.CaresResolver`` using the ``pycares``
+  library, or ``tornado.platform.twisted.TwistedResolver`` using ``twisted``
 * New function `tornado.netutil.is_valid_ip` returns true if a given string
   is a valid IP (v4 or v6) address.
 * `tornado.netutil.bind_sockets` has a new ``flags`` argument that can
@@ -269,7 +273,7 @@ Multiple modules
 * `tornado.netutil.bind_sockets` now works when Python was compiled
   with ``--disable-ipv6`` but IPv6 DNS resolution is available on the
   system.
-* `tornado.netutil.TCPServer` has moved to its own module, `tornado.tcpserver`.
+* ``tornado.netutil.TCPServer`` has moved to its own module, `tornado.tcpserver`.
 
 `tornado.options`
 ~~~~~~~~~~~~~~~~~
@@ -278,7 +282,7 @@ Multiple modules
   (`tornado.options.OptionParser`).  This can be used to create multiple
   independent option sets, such as for subcommands.
 * `tornado.options.parse_config_file` now configures logging automatically
-  by default, in the same way that `parse_command_line` does.
+  by default, in the same way that `~tornado.options.parse_command_line` does.
 * New function `tornado.options.add_parse_callback` schedules a callback
   to be run after the command line or config file has been parsed.  The
   keyword argument ``final=False`` can be used on either parsing function
@@ -287,60 +291,60 @@ Multiple modules
   will be run with the new value whenever the option is changed.  This is
   especially useful for options that set other options, such as by reading
   from a config file.
-* `tornado.option.parse_command_line` ``--help`` output now goes to ``stderr``
+* `tornado.options.parse_command_line` ``--help`` output now goes to ``stderr``
   rather than ``stdout``.
 * `tornado.options.options` is no longer a subclass of `dict`; attribute-style
   access is now required.
-* `tornado.options.options` (and `OptionParser` instances generally) now
-  have a `mockable()` method that returns a wrapper object compatible with
-  `mock.patch`.
-* Function `tornado.options.enable_pretty_logging` has been moved to the
+* `tornado.options.options` (and `.OptionParser` instances generally) now
+  have a `.mockable()` method that returns a wrapper object compatible with
+  `mock.patch <unittest.mock.patch>`.
+* Function ``tornado.options.enable_pretty_logging`` has been moved to the
   `tornado.log` module.
 
-`tornado.platform.caresresolver`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+```tornado.platform.caresresolver``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-* New module containing an asynchronous implementation of the `Resolver`
-  interface, using the `pycares` library.
+* New module containing an asynchronous implementation of the `.Resolver`
+  interface, using the ``pycares`` library.
 
 `tornado.platform.twisted`
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-* New class `tornado.platform.twisted.TwistedIOLoop` allows Tornado
+* New class ``tornado.platform.twisted.TwistedIOLoop`` allows Tornado
   code to be run on the Twisted reactor (as opposed to the existing
-  `TornadoReactor`, which bridges the gap in the other direction).
-* New class `tornado.platform.twisted.TwistedResolver` is an asynchronous
-  implementation of the `Resolver` interface.
+  ``TornadoReactor``, which bridges the gap in the other direction).
+* New class ``tornado.platform.twisted.TwistedResolver`` is an asynchronous
+  implementation of the `.Resolver` interface.
 
 `tornado.process`
 ~~~~~~~~~~~~~~~~~
 
 * New class `tornado.process.Subprocess` wraps `subprocess.Popen` with
-  `PipeIOStream` access to the child's file descriptors.
+  `.PipeIOStream` access to the child's file descriptors.
 
-`tornado.simple_httpclient`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
+``tornado.simple_httpclient``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-* `SimpleAsyncHTTPClient` now takes a ``resolver`` keyword argument (which
+* ``SimpleAsyncHTTPClient`` now takes a ``resolver`` keyword argument (which
   may be passed to either the constructor or ``configure``), to allow it to
   use the new non-blocking `tornado.netutil.Resolver`.
-* When following redirects, `SimpleAsyncHTTPClient` now treats a 302
+* When following redirects, ``SimpleAsyncHTTPClient`` now treats a 302
   response code the same as a 303.  This is contrary to the HTTP spec
   but consistent with all browsers and other major HTTP clients
-  (including `CurlAsyncHTTPClient`).
-* The behavior of ``header_callback`` with `SimpleAsyncHTTPClient` has
-  changed and is now the same as that of `CurlAsyncHTTPClient`.  The
+  (including ``CurlAsyncHTTPClient``).
+* The behavior of ``header_callback`` with ``SimpleAsyncHTTPClient`` has
+  changed and is now the same as that of ``CurlAsyncHTTPClient``.  The
   header callback now receives the first line of the response (e.g.
   ``HTTP/1.0 200 OK``) and the final empty line.
-* `simple_httpclient` now accepts responses with a 304 status code that
-  include a ``Content-Length`` header.
-* Fixed a bug in which `SimpleAsyncHTTPClient` callbacks were being run in the
+* ``tornado.simple_httpclient`` now accepts responses with a 304
+  status code that include a ``Content-Length`` header.
+* Fixed a bug in which ``SimpleAsyncHTTPClient`` callbacks were being run in the
   client's ``stack_context``.
 
 `tornado.stack_context`
 ~~~~~~~~~~~~~~~~~~~~~~~
 
-* `stack_context.wrap` now runs the wrapped callback in a more consistent
+* `.stack_context.wrap` now runs the wrapped callback in a more consistent
   environment by recreating contexts even if they already exist on the
   stack.
 * Fixed a bug in which stack contexts could leak from one callback
@@ -370,7 +374,7 @@ Multiple modules
   using the same port.  ``get_unused_port`` is now deprecated.
 * New decorator `tornado.testing.gen_test` can be used to allow for
   yielding `tornado.gen` objects in tests, as an alternative to the
-  ``stop`` and ``wait`` methods of `AsyncTestCase`.
+  ``stop`` and ``wait`` methods of `.AsyncTestCase`.
 * `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)
@@ -383,26 +387,26 @@ Multiple modules
   been removed.  Use ``python -m tornado.autoreload`` as a prefix command
   instead.
 * The ``--httpclient`` option of `tornado.testing.main` has been moved
-  to `tornado.test.runtests` so as not to pollute the application
+  to ``tornado.test.runtests`` so as not to pollute the application
   option namespace.  The `tornado.options` module's new callback
   support now makes it easy to add options from a wrapper script
   instead of putting all possible options in `tornado.testing.main`.
-* `AsyncHTTPTestCase` no longer calls `AsyncHTTPClient.close` for tests
-  that use the singleton `IOLoop.instance`.
-* `LogTrapTestCase` no longer fails when run in unknown logging
+* `.AsyncHTTPTestCase` no longer calls `.AsyncHTTPClient.close` for tests
+  that use the singleton `.IOLoop.instance`.
+* `.LogTrapTestCase` no longer fails when run in unknown logging
   configurations.  This allows tests to be run under nose, which does its
-  own log buffering (`LogTrapTestCase` doesn't do anything useful in this
+  own log buffering (`.LogTrapTestCase` doesn't do anything useful in this
   case, but at least it doesn't break things any more).
 
-`tornado.util`
-~~~~~~~~~~~~~~
+``tornado.util``
+~~~~~~~~~~~~~~~~
 
-* `tornado.util.b` (which was only intended for internal use) is gone.
+* ``tornado.util.b`` (which was only intended for internal use) is gone.
 
 `tornado.web`
 ~~~~~~~~~~~~~
 
-* `RequestHandler.set_header` now overwrites previous header values
+* `.RequestHandler.set_header` now overwrites previous header values
   case-insensitively.
 * `tornado.web.RequestHandler` has new attributes ``path_args`` and
   ``path_kwargs``, which contain the positional and keyword arguments
@@ -417,12 +421,12 @@ Multiple modules
   "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.
 * The ``Date`` HTTP header is now set by default on all responses.
-* ``Etag``/``If-None-Match`` requests now work with `StaticFileHandler`.
-* `StaticFileHandler` no longer sets ``Cache-Control: public`` unnecessarily.
+* ``Etag``/``If-None-Match`` requests now work with `.StaticFileHandler`.
+* `.StaticFileHandler` no longer sets ``Cache-Control: public`` unnecessarily.
 * When gzip is enabled in a `tornado.web.Application`, appropriate
   ``Vary: Accept-Encoding`` headers are now sent.
 * It is no longer necessary to pass all handlers for a host in a single
-  `Application.add_handlers` call.  Now the request will be matched
+  `.Application.add_handlers` call.  Now the request will be matched
   against the handlers for any ``host_pattern`` that includes the request's
   ``Host`` header.
 
@@ -431,5 +435,6 @@ Multiple modules
 
 * Client-side WebSocket support is now available:
   `tornado.websocket.websocket_connect`
-* `WebSocketHandler` has new methods `ping` and `on_pong` to send pings
-  to the browser (not supported on the ``draft76`` protocol)
+* `.WebSocketHandler` has new methods `~.WebSocketHandler.ping` and
+  `~.WebSocketHandler.on_pong` to send pings to the browser (not
+  supported on the ``draft76`` protocol)