pkgsrc/www/py-tornado/PLIST
wiz ac78b002ca Update to 3.2.
What's new in Tornado 3.2
=========================

Jan 14, 2014
------------

Installation
~~~~~~~~~~
* Tornado now depends on the `backports.ssl_match_hostname
  <https://pypi.python.org/pypi/backports.ssl_match_hostname>`_ when
  running on Python 2.  This will be installed automatically when using ``pip``
  or ``easy_install``
* Tornado now includes an optional C extension module, which greatly improves
  performance of websockets.  This extension will be built automatically
  if a C compiler is found at install time.

New modules
~~~~~~~~~

* The `tornado.platform.asyncio` module provides integration with the
  ``asyncio`` module introduced in Python 3.4 (also available for Python
  3.3 with ``pip install asyncio``).

`tornado.auth`
~~~~~~~~~~~~

* Added `.GoogleOAuth2Mixin` support authentication to Google services
  with OAuth 2 instead of OpenID and OAuth 1.
* `.FacebookGraphMixin` has been updated to use the current Facebook login
  URL, which saves a redirect.

`tornado.concurrent`
~~~~~~~~~~~~~~~~~~

* `.TracebackFuture` now accepts a ``timeout`` keyword argument (although
  it is still incorrect to use a non-zero timeout in non-blocking code).

``tornado.curl_httpclient``
~~~~~~~~~~~~~~~~~~~~~~~~~

* ``tornado.curl_httpclient`` now works on Python 3 with the
  soon-to-be-released pycurl 7.19.3, which will officially support
  Python 3 for the first time.  Note that there are some unofficial
  Python 3 ports of pycurl (Ubuntu has included one for its past
  several releases); these are not supported for use with Tornado.

`tornado.escape`
~~~~~~~~~~~~~~

* `.xhtml_escape` now escapes apostrophes as well.
* `tornado.escape.utf8`, `.to_unicode`, and `.native_str` now raise
  `TypeError` instead of `AssertionError` when given an invalid value.

`tornado.gen`
~~~~~~~~~~~

* Coroutines may now yield dicts in addition to lists to wait for
  multiple tasks in parallel.
* Improved performance of `tornado.gen` when yielding a `.Future` that is
  already done.

`tornado.httpclient`
~~~~~~~~~~~~~~~~~~

* `tornado.httpclient.HTTPRequest` now uses property setters so that
  setting attributes after construction applies the same conversions
  as ``__init__`` (e.g. converting the body attribute to bytes).

`tornado.httpserver`
~~~~~~~~~~~~~~~~~~

* Malformed ``x-www-form-urlencoded`` request bodies will now log a warning
  and continue instead of causing the request to fail (similar to the existing
  handling of malformed ``multipart/form-data`` bodies.  This is done mainly
  because some libraries send this content type by default even when the data
  is not form-encoded.
* Fix some error messages for unix sockets (and other non-IP sockets)

`tornado.ioloop`
~~~~~~~~~~~~~~

* `.IOLoop` now uses `~.IOLoop.handle_callback_exception` consistently for
  error logging.
* `.IOLoop` now frees callback objects earlier, reducing memory usage
  while idle.
* `.IOLoop` will no longer call `logging.basicConfig` if there is a handler
  defined for the root logger or for the ``tornado`` or ``tornado.application``
  loggers (previously it only looked at the root logger).

`tornado.iostream`
~~~~~~~~~~~~~~~~

* `.IOStream` now recognizes ``ECONNABORTED`` error codes in more places
  (which was mainly an issue on Windows).
* `.IOStream` now frees memory earlier if a connection is closed while
  there is data in the write buffer.
* `.PipeIOStream` now handles ``EAGAIN`` error codes correctly.
* `.SSLIOStream` now initiates the SSL handshake automatically without
  waiting for the application to try and read or write to the connection.
* Swallow a spurious exception from ``set_nodelay`` when a connection
  has been reset.

`tornado.locale`
~~~~~~~~~~~~~~

* `.Locale.format_date` no longer forces the use of absolute
  dates in Russian.

`tornado.log`
~~~~~~~~~~~

* Fix an error from `tornado.log.enable_pretty_logging` when
  `sys.stderr` does not have an ``isatty`` method.
* `tornado.log.LogFormatter` now accepts keyword arguments ``fmt``
  and ``datefmt``.

`tornado.netutil`
~~~~~~~~~~~~~~~

* `.is_valid_ip` (and therefore ``HTTPRequest.remote_ip``) now rejects
  empty strings.
* Synchronously using `.ThreadedResolver` at import time to resolve
  a unicode hostname no longer deadlocks.

`tornado.platform.twisted`
~~~~~~~~~~~~~~~~~~~~~~~~

* `.TwistedResolver` now has better error handling.

`tornado.process`
~~~~~~~~~~~~~~~

* `.Subprocess` no longer leaks file descriptors if `subprocess.Popen` fails.

``tornado.simple_httpclient``
~~~~~~~~~~~~~~~~~~~~~~~~~~~

* ``simple_httpclient`` now applies the ``connect_timeout`` to requests
  that are queued and have not yet started.
* On Python 2.6, ``simple_httpclient`` now uses TLSv1 instead of SSLv3.
* ``simple_httpclient`` now enforces the connect timeout during DNS resolution.
* The embedded ``ca-certificates.crt`` file has been updated with the current
  Mozilla CA list.

`tornado.web`
~~~~~~~~~~~

* `.StaticFileHandler` no longer fails if the client requests a ``Range`` that
  is larger than the entire file (Facebook has a crawler that does this).
* `.RequestHandler.on_connection_close` now works correctly on subsequent
  requests of a keep-alive connection.
* New application setting ``default_handler_class`` can be used to easily
  set up custom 404 pages.
* New application settings ``autoreload``, ``compiled_template_cache``,
  ``static_hash_cache``, and ``serve_traceback`` can be used to control
  individual aspects of debug mode.
* New methods `.RequestHandler.get_query_argument` and
  `.RequestHandler.get_body_argument` and new attributes
  `.HTTPRequest.query_arguments` and `.HTTPRequest.body_arguments` allow access
  to arguments without intermingling those from the query string with those
  from the request body.
* `.RequestHandler.decode_argument` and related methods now raise
  an ``HTTPError(400)`` instead of `UnicodeDecodeError` when the
  argument could not be decoded.
* `.RequestHandler.clear_all_cookies` now accepts ``domain`` and ``path``
  arguments, just like `~.RequestHandler.clear_cookie`.
* It is now possible to specify handlers by name when using the `.URLSpec`
  class.
* `.Application` now accepts 4-tuples to specify the ``name`` parameter
  (which previously required constructing a `.URLSpec` object instead of
  a tuple).
* Fixed an incorrect error message when handler methods return a value
  other than None or a Future.
* Exceptions will no longer be logged twice when using both ``@asynchronous``
  and ``@gen.coroutine``


`tornado.websocket`
~~~~~~~~~~~~~~~~~

* `.WebSocketHandler.write_message` now raises `.WebSocketClosedError` instead
  of `AttributeError` when the connection has been closed.
* `.websocket_connect` now accepts preconstructed ``HTTPRequest`` objects.
* Fix a bug with `.WebSocketHandler` when used with some proxies that
  unconditionally modify the ``Connection`` header.
* `.websocket_connect` now returns an error immediately for refused connections
  instead of waiting for the timeout.
* `.WebSocketClientConnection` now has a ``close`` method.

`tornado.wsgi`
~~~~~~~~~~~~

* `.WSGIContainer` now calls the iterable's ``close()`` method even if
  an error is raised, in compliance with the spec.
2014-01-27 19:58:33 +00:00

219 lines
8.5 KiB
Text

@comment $NetBSD: PLIST,v 1.3 2014/01/27 19:58:33 wiz Exp $
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
${PLIST.py2x}${PYSITELIB}/${EGG_INFODIR}/requires.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
${PYSITELIB}/tornado/__init__.py
${PYSITELIB}/tornado/__init__.pyc
${PYSITELIB}/tornado/__init__.pyo
${PYSITELIB}/tornado/auth.py
${PYSITELIB}/tornado/auth.pyc
${PYSITELIB}/tornado/auth.pyo
${PYSITELIB}/tornado/autoreload.py
${PYSITELIB}/tornado/autoreload.pyc
${PYSITELIB}/tornado/autoreload.pyo
${PYSITELIB}/tornado/ca-certificates.crt
${PYSITELIB}/tornado/concurrent.py
${PYSITELIB}/tornado/concurrent.pyc
${PYSITELIB}/tornado/concurrent.pyo
${PYSITELIB}/tornado/curl_httpclient.py
${PYSITELIB}/tornado/curl_httpclient.pyc
${PYSITELIB}/tornado/curl_httpclient.pyo
${PYSITELIB}/tornado/escape.py
${PYSITELIB}/tornado/escape.pyc
${PYSITELIB}/tornado/escape.pyo
${PYSITELIB}/tornado/gen.py
${PYSITELIB}/tornado/gen.pyc
${PYSITELIB}/tornado/gen.pyo
${PYSITELIB}/tornado/httpclient.py
${PYSITELIB}/tornado/httpclient.pyc
${PYSITELIB}/tornado/httpclient.pyo
${PYSITELIB}/tornado/httpserver.py
${PYSITELIB}/tornado/httpserver.pyc
${PYSITELIB}/tornado/httpserver.pyo
${PYSITELIB}/tornado/httputil.py
${PYSITELIB}/tornado/httputil.pyc
${PYSITELIB}/tornado/httputil.pyo
${PYSITELIB}/tornado/ioloop.py
${PYSITELIB}/tornado/ioloop.pyc
${PYSITELIB}/tornado/ioloop.pyo
${PYSITELIB}/tornado/iostream.py
${PYSITELIB}/tornado/iostream.pyc
${PYSITELIB}/tornado/iostream.pyo
${PYSITELIB}/tornado/locale.py
${PYSITELIB}/tornado/locale.pyc
${PYSITELIB}/tornado/locale.pyo
${PYSITELIB}/tornado/log.py
${PYSITELIB}/tornado/log.pyc
${PYSITELIB}/tornado/log.pyo
${PYSITELIB}/tornado/netutil.py
${PYSITELIB}/tornado/netutil.pyc
${PYSITELIB}/tornado/netutil.pyo
${PYSITELIB}/tornado/options.py
${PYSITELIB}/tornado/options.pyc
${PYSITELIB}/tornado/options.pyo
${PYSITELIB}/tornado/platform/__init__.py
${PYSITELIB}/tornado/platform/__init__.pyc
${PYSITELIB}/tornado/platform/__init__.pyo
${PYSITELIB}/tornado/platform/asyncio.py
${PYSITELIB}/tornado/platform/asyncio.pyc
${PYSITELIB}/tornado/platform/asyncio.pyo
${PYSITELIB}/tornado/platform/auto.py
${PYSITELIB}/tornado/platform/auto.pyc
${PYSITELIB}/tornado/platform/auto.pyo
${PYSITELIB}/tornado/platform/caresresolver.py
${PYSITELIB}/tornado/platform/caresresolver.pyc
${PYSITELIB}/tornado/platform/caresresolver.pyo
${PYSITELIB}/tornado/platform/common.py
${PYSITELIB}/tornado/platform/common.pyc
${PYSITELIB}/tornado/platform/common.pyo
${PYSITELIB}/tornado/platform/epoll.py
${PYSITELIB}/tornado/platform/epoll.pyc
${PYSITELIB}/tornado/platform/epoll.pyo
${PYSITELIB}/tornado/platform/interface.py
${PYSITELIB}/tornado/platform/interface.pyc
${PYSITELIB}/tornado/platform/interface.pyo
${PYSITELIB}/tornado/platform/kqueue.py
${PYSITELIB}/tornado/platform/kqueue.pyc
${PYSITELIB}/tornado/platform/kqueue.pyo
${PYSITELIB}/tornado/platform/posix.py
${PYSITELIB}/tornado/platform/posix.pyc
${PYSITELIB}/tornado/platform/posix.pyo
${PYSITELIB}/tornado/platform/select.py
${PYSITELIB}/tornado/platform/select.pyc
${PYSITELIB}/tornado/platform/select.pyo
${PYSITELIB}/tornado/platform/twisted.py
${PYSITELIB}/tornado/platform/twisted.pyc
${PYSITELIB}/tornado/platform/twisted.pyo
${PYSITELIB}/tornado/platform/windows.py
${PYSITELIB}/tornado/platform/windows.pyc
${PYSITELIB}/tornado/platform/windows.pyo
${PYSITELIB}/tornado/process.py
${PYSITELIB}/tornado/process.pyc
${PYSITELIB}/tornado/process.pyo
${PYSITELIB}/tornado/simple_httpclient.py
${PYSITELIB}/tornado/simple_httpclient.pyc
${PYSITELIB}/tornado/simple_httpclient.pyo
${PYSITELIB}/tornado/speedups.so
${PYSITELIB}/tornado/stack_context.py
${PYSITELIB}/tornado/stack_context.pyc
${PYSITELIB}/tornado/stack_context.pyo
${PYSITELIB}/tornado/tcpserver.py
${PYSITELIB}/tornado/tcpserver.pyc
${PYSITELIB}/tornado/tcpserver.pyo
${PYSITELIB}/tornado/template.py
${PYSITELIB}/tornado/template.pyc
${PYSITELIB}/tornado/template.pyo
${PYSITELIB}/tornado/test/README
${PYSITELIB}/tornado/test/__init__.py
${PYSITELIB}/tornado/test/__init__.pyc
${PYSITELIB}/tornado/test/__init__.pyo
${PYSITELIB}/tornado/test/auth_test.py
${PYSITELIB}/tornado/test/auth_test.pyc
${PYSITELIB}/tornado/test/auth_test.pyo
${PYSITELIB}/tornado/test/concurrent_test.py
${PYSITELIB}/tornado/test/concurrent_test.pyc
${PYSITELIB}/tornado/test/concurrent_test.pyo
${PYSITELIB}/tornado/test/csv_translations/fr_FR.csv
${PYSITELIB}/tornado/test/curl_httpclient_test.py
${PYSITELIB}/tornado/test/curl_httpclient_test.pyc
${PYSITELIB}/tornado/test/curl_httpclient_test.pyo
${PYSITELIB}/tornado/test/escape_test.py
${PYSITELIB}/tornado/test/escape_test.pyc
${PYSITELIB}/tornado/test/escape_test.pyo
${PYSITELIB}/tornado/test/gen_test.py
${PYSITELIB}/tornado/test/gen_test.pyc
${PYSITELIB}/tornado/test/gen_test.pyo
${PYSITELIB}/tornado/test/gettext_translations/fr_FR/LC_MESSAGES/tornado_test.mo
${PYSITELIB}/tornado/test/gettext_translations/fr_FR/LC_MESSAGES/tornado_test.po
${PYSITELIB}/tornado/test/httpclient_test.py
${PYSITELIB}/tornado/test/httpclient_test.pyc
${PYSITELIB}/tornado/test/httpclient_test.pyo
${PYSITELIB}/tornado/test/httpserver_test.py
${PYSITELIB}/tornado/test/httpserver_test.pyc
${PYSITELIB}/tornado/test/httpserver_test.pyo
${PYSITELIB}/tornado/test/httputil_test.py
${PYSITELIB}/tornado/test/httputil_test.pyc
${PYSITELIB}/tornado/test/httputil_test.pyo
${PYSITELIB}/tornado/test/import_test.py
${PYSITELIB}/tornado/test/import_test.pyc
${PYSITELIB}/tornado/test/import_test.pyo
${PYSITELIB}/tornado/test/ioloop_test.py
${PYSITELIB}/tornado/test/ioloop_test.pyc
${PYSITELIB}/tornado/test/ioloop_test.pyo
${PYSITELIB}/tornado/test/iostream_test.py
${PYSITELIB}/tornado/test/iostream_test.pyc
${PYSITELIB}/tornado/test/iostream_test.pyo
${PYSITELIB}/tornado/test/locale_test.py
${PYSITELIB}/tornado/test/locale_test.pyc
${PYSITELIB}/tornado/test/locale_test.pyo
${PYSITELIB}/tornado/test/log_test.py
${PYSITELIB}/tornado/test/log_test.pyc
${PYSITELIB}/tornado/test/log_test.pyo
${PYSITELIB}/tornado/test/netutil_test.py
${PYSITELIB}/tornado/test/netutil_test.pyc
${PYSITELIB}/tornado/test/netutil_test.pyo
${PYSITELIB}/tornado/test/options_test.cfg
${PYSITELIB}/tornado/test/options_test.py
${PYSITELIB}/tornado/test/options_test.pyc
${PYSITELIB}/tornado/test/options_test.pyo
${PYSITELIB}/tornado/test/process_test.py
${PYSITELIB}/tornado/test/process_test.pyc
${PYSITELIB}/tornado/test/process_test.pyo
${PYSITELIB}/tornado/test/resolve_test_helper.py
${PYSITELIB}/tornado/test/resolve_test_helper.pyc
${PYSITELIB}/tornado/test/resolve_test_helper.pyo
${PYSITELIB}/tornado/test/runtests.py
${PYSITELIB}/tornado/test/runtests.pyc
${PYSITELIB}/tornado/test/runtests.pyo
${PYSITELIB}/tornado/test/simple_httpclient_test.py
${PYSITELIB}/tornado/test/simple_httpclient_test.pyc
${PYSITELIB}/tornado/test/simple_httpclient_test.pyo
${PYSITELIB}/tornado/test/stack_context_test.py
${PYSITELIB}/tornado/test/stack_context_test.pyc
${PYSITELIB}/tornado/test/stack_context_test.pyo
${PYSITELIB}/tornado/test/static/dir/index.html
${PYSITELIB}/tornado/test/static/robots.txt
${PYSITELIB}/tornado/test/template_test.py
${PYSITELIB}/tornado/test/template_test.pyc
${PYSITELIB}/tornado/test/template_test.pyo
${PYSITELIB}/tornado/test/templates/utf8.html
${PYSITELIB}/tornado/test/test.crt
${PYSITELIB}/tornado/test/test.key
${PYSITELIB}/tornado/test/testing_test.py
${PYSITELIB}/tornado/test/testing_test.pyc
${PYSITELIB}/tornado/test/testing_test.pyo
${PYSITELIB}/tornado/test/twisted_test.py
${PYSITELIB}/tornado/test/twisted_test.pyc
${PYSITELIB}/tornado/test/twisted_test.pyo
${PYSITELIB}/tornado/test/util.py
${PYSITELIB}/tornado/test/util.pyc
${PYSITELIB}/tornado/test/util.pyo
${PYSITELIB}/tornado/test/util_test.py
${PYSITELIB}/tornado/test/util_test.pyc
${PYSITELIB}/tornado/test/util_test.pyo
${PYSITELIB}/tornado/test/web_test.py
${PYSITELIB}/tornado/test/web_test.pyc
${PYSITELIB}/tornado/test/web_test.pyo
${PYSITELIB}/tornado/test/websocket_test.py
${PYSITELIB}/tornado/test/websocket_test.pyc
${PYSITELIB}/tornado/test/websocket_test.pyo
${PYSITELIB}/tornado/test/wsgi_test.py
${PYSITELIB}/tornado/test/wsgi_test.pyc
${PYSITELIB}/tornado/test/wsgi_test.pyo
${PYSITELIB}/tornado/testing.py
${PYSITELIB}/tornado/testing.pyc
${PYSITELIB}/tornado/testing.pyo
${PYSITELIB}/tornado/util.py
${PYSITELIB}/tornado/util.pyc
${PYSITELIB}/tornado/util.pyo
${PYSITELIB}/tornado/web.py
${PYSITELIB}/tornado/web.pyc
${PYSITELIB}/tornado/web.pyo
${PYSITELIB}/tornado/websocket.py
${PYSITELIB}/tornado/websocket.pyc
${PYSITELIB}/tornado/websocket.pyo
${PYSITELIB}/tornado/wsgi.py
${PYSITELIB}/tornado/wsgi.pyc
${PYSITELIB}/tornado/wsgi.pyo