python-tornado6/python-tornado6.changes

1531 lines
69 KiB
Plaintext
Raw Normal View History

-------------------------------------------------------------------
Thu Jan 11 13:28:34 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Add patch openssl-3.2.patch gh#tornadoweb/tornado#3355
-------------------------------------------------------------------
Wed Jan 3 10:27:22 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 6.4:
* https://www.tornadoweb.org/en/stable/releases/v6.4.0.html
* Python 3.12 is now supported.
- drop py312-datetime.patch (upstream)
-------------------------------------------------------------------
Thu Sep 21 10:04:28 UTC 2023 - Markéta Machová <mmachova@suse.com>
- Update to 6.3.3
* The Content-Length header and chunked Transfer-Encoding sizes
are now parsed more strictly (according to the relevant RFCs)
to avoid potential request-smuggling vulnerabilities when
deployed behind certain proxies.
- Add py312-datetime.patch to fix build with Python 3.12
-------------------------------------------------------------------
Tue May 30 08:04:10 UTC 2023 - Dan Čermák <dcermak@suse.com>
- New upstream release 6.3.2 (bsc#1211741, CVE-2023-28370)
- Security improvements
- Fixed an open redirect vulnerability in StaticFileHandler
under certain configurations.
- ``tornado.web``
- `.RequestHandler.set_cookie` once again accepts capitalized
keyword arguments for backwards compatibility. This is
deprecated and in Tornado 7.0 only lowercase arguments will
be accepted.
- What's new in Tornado 6.3.0
- The new `.Application` setting ``xsrf_cookie_name``
can now be used to take advantage of the ``__Host``
cookie prefix for improved security. To use it, add
``{"xsrf_cookie_name": "__Host-xsrf", "xsrf_cookie_kwargs":
{"secure": True}}`` to your `.Application` settings. Note
that this feature currently only works when HTTPS is used.
- `.WSGIContainer` now supports running the application in
a ``ThreadPoolExecutor`` so the event loop is no longer
blocked.
- `.AsyncTestCase` and `.AsyncHTTPTestCase`, which were
deprecated in Tornado 6.2, are no longer deprecated.
- WebSockets are now much faster at receiving large messages
split into many fragments.
- General changes
- Python 3.7 is no longer supported; the minimum supported .
Python version is 3.8 Python 3.12 is now supported .
- To avoid spurious deprecation warnings, users of Python
3.10 should upgrade to at least version 3.10.9, and users
of Python 3.11 should upgrade to at least version 3.11.1.
- Tornado submodules are now imported automatically on
demand. This means it is now possible to use a single
``import tornado`` statement and refer to objects in
submodules such as `tornado.web.RequestHandler`.
- Deprecation notices
- In Tornado 7.0, `tornado.testing.ExpectLog` will match
``WARNING`` and above regardless of the current logging
configuration, unless the ``level`` argument is used.
- `.RequestHandler.get_secure_cookie` is now a deprecated
alias for `.RequestHandler.get_signed_cookie`.
`.RequestHandler.set_secure_cookie` is now a deprecated
alias for `.RequestHandler.set_signed_cookie`.
- `.RequestHandler.clear_all_cookies` is
deprecated. No direct replacement is provided;
`.RequestHandler.clear_cookie` should be used on individual
cookies.
- Calling the `.IOLoop` constructor without a
``make_current`` argument, which was deprecated in Tornado
6.2, is no longer deprecated.
- `.AsyncTestCase` and `.AsyncHTTPTestCase`, which were
deprecated in Tornado 6.2, are no longer deprecated.
- `.AsyncTestCase.get_new_ioloop` is deprecated.
- ``tornado.auth``
- New method `.GoogleOAuth2Mixin.get_google_oauth_settings`
can now be overridden to get credentials from a source
other than the `.Application` settings.
- ``tornado.gen``
- `contextvars` now work properly when a ``@gen.coroutine``
calls a native coroutine.
- ``tornado.options``
- `~.OptionParser.parse_config_file` now recognizes single
comma-separated strings (in addition to lists of strings)
for options with ``multiple=True``.
- ``tornado.web``
- New `.Application` setting ``xsrf_cookie_name`` can be used
to change the name of the XSRF cookie. This is most useful
to take advantage of the ``__Host-`` cookie prefix.
- `.RequestHandler.get_secure_cookie` and
`.RequestHandler.set_secure_cookie` (and related
methods and attributes) have been renamed
to `~.RequestHandler.get_signed_cookie` and
`~.RequestHandler.set_signed_cookie`. This makes it
more explicit what kind of security is provided, and
avoids confusion with the ``Secure`` cookie attribute
and ``__Secure-`` cookie prefix. The old names remain
supported as deprecated aliases.
- `.RequestHandler.clear_cookie` now accepts all keyword
arguments accepted by `~.RequestHandler.set_cookie`. In
some cases clearing a cookie requires certain arguments to
be passed the same way in which it was set.
- `.RequestHandler.clear_all_cookies` now accepts
additional keyword arguments for the same reason as
``clear_cookie``. However, since the requirements for
additional arguments mean that it cannot reliably clear all
cookies, this method is now deprecated.
- ``tornado.websocket``
- It is now much faster (no longer quadratic) to receive
large messages that have been split into many fragments.
- `.websocket_connect` now accepts a ``resolver`` parameter.
- ``tornado.wsgi``
- `.WSGIContainer` now accepts an ``executor`` parameter
which can be used to run the WSGI application on a thread
pool.
- What's new in Tornado 6.2.0
- Deprecation notice
- Python 3.10 has begun the process of significant changes
to the APIs for managing the event loop. Calls to
methods such as `asyncio.get_event_loop` may now raise
`DeprecationWarning` if no event loop is running. This
has significant impact on the patterns for initializing
applications, and in particular invalidates patterns that
have long been the norm in Tornado's documentation and
actual usage. In the future (with some as-yet-unspecified
future version of Python), the old APIs will be
removed. The new recommended pattern is to start the event
loop with `asyncio.run`. More detailed migration guides
will be coming in the future.
- The `.IOLoop` constructor is deprecated unless
the ``make_current=False`` argument is used. Use
`.IOLoop.current` when the loop is already running
instead.
- `.AsyncTestCase` (and `.AsyncHTTPTestCase`) are
deprecated. Use `unittest.IsolatedAsyncioTestCase`
instead.
- Multi-process `.TCPServer.bind`/`.TCPServer.start`
is deprecated. See `.TCPServer` docs for supported
alternatives.
- `.AnyThreadEventLoopPolicy` is deprecated. This class
controls the creation of the "current" event loop so it
will be removed when that concept is no longer supported.
- `.IOLoop.make_current` and `.IOLoop.clear_current` are
deprecated. In the future the concept of a "current"
event loop as distinct from one that is currently running
will be removed.
- ``TwistedResolver`` and ``CaresResolver`` are deprecated
and will be removed in Tornado 7.0.
- General changes
- The minimum supported Python version is now 3.7.
- Wheels are now published with the Python stable ABI
(``abi3``) for compatibility across versions of Python.
- SSL certificate verfication and hostname checks are now
enabled by default in more places (primarily in client-side
usage of `.SSLIOStream`).
- Various improvements to type hints throughout the package.
- CI has moved from Travis and Appveyor to Github Actions.
- `tornado.gen`
- Fixed a bug in which ``WaitIterator.current_index`` could
be incorrect.
- ``tornado.gen.TimeoutError``` is now an alias for
`asyncio.TimeoutError`.
- `tornado.http1connection`
- ``max_body_size`` may now be set to zero to disallow a
non-empty body.
- ``Content-Encoding: gzip`` is now recognized
case-insensitively.
- `tornado.httpclient`
- ``curl_httpclient`` now supports non-ASCII (ISO-8859-1)
header values, same as ``simple_httpclient``.
- `tornado.ioloop`
- `.PeriodicCallback` now understands coroutines and will not
start multiple copies if a previous invocation runs too
long.
- `.PeriodicCallback` now accepts `datetime.timedelta`
objects in addition to numbers of milliseconds.
- Avoid logging "Event loop is closed" during
shutdown-related race conditions.
- Tornado no longer calls `logging.basicConfig` when starting
an IOLoop; this has been unnecessary since Python 3.2 added
a logger of last resort.
- The `.IOLoop` constructor now accepts an ``asyncio_loop``
keyword argument to initialize with a specfied asyncio
event loop.
- It is now possible to construct an `.IOLoop` on one thread
(with ``make_current=False``) and start it on a different
thread.
- `tornado.iostream`
- `.SSLIOStream` now supports reading more than 2GB at a
time.
- ``IOStream.write`` now supports typed `memoryview` objects.
- `tornado.locale`
- `.load_gettext_translations` no longer logs errors when
language directories exist but do not contain the expected
file.
- `tornado.netutil`
- `.is_valid_ip` no longer raises exceptions when the input
is too long.
- The default resolver now uses the same methods (and thread
pool) as `asyncio`.
- `tornado.tcpserver`
- `.TCPServer.listen` now supports more arguments to pass
through to `.netutil.bind_sockets`.
- `tornado.testing`
- `.bind_unused_port` now takes an optional ``address``
argument.
- Wrapped test methods now include the ``__wrapped__``
attribute.
- `tornado.web`
- When using a custom `.StaticFileHandler` subclass, the
``reset()`` method is now called on this subclass instead
of the base class.
- Improved handling of the ``Accept-Language`` header.
- `.Application.listen` now supports more arguments to pass
through to `.netutil.bind_sockets`.
- `tornado.websocket`
- `.WebSocketClientConnection.write_message` now
accepts `dict` arguments for consistency with
`.WebSocketHandler.write_message`.
- `.WebSocketClientConnection.write_message` now raises
an exception as documented if the connection is already
closed.
- Gave rpmlint a hug
- Remove upstreamed ignore-py310-deprecation-warnings.patch
-------------------------------------------------------------------
Fri Apr 21 12:37:44 UTC 2023 - Dirk Müller <dmueller@suse.com>
- add sle15_python_module_pythons (jsc#PED-68)
-------------------------------------------------------------------
Fri Aug 19 16:29:16 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 6.2:
* https://www.tornadoweb.org/en/stable/releases/v6.2.0.html
- drop remove-multiheader-http-test.patch (upstream)
-------------------------------------------------------------------
Thu Apr 28 07:13:53 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>
- Add patch remove-multiheader-http-test.patch:
* Do not test multi-line headers.
-------------------------------------------------------------------
Sat Dec 11 16:16:20 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Filter Python 3.10 deprecation warnings during testing
* ignore-py310-deprecation-warnings.patch
* gh#tornadoweb/tornado#3033
-------------------------------------------------------------------
Thu Aug 5 12:51:05 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Remove exec bits from demos: fix boo#1189066
- Add python-tornado6-rpmlintrc for empty JS resource in demo
-------------------------------------------------------------------
Mon Feb 8 20:46:57 UTC 2021 - Ben Greiner <code@bnavigator.de>
- back to version 6.1. Tornado pin in distributed is removed.
- Dear bot, here are the patch names:
* re-drop python-tornado6-httpclient-test.patch
* re-drop skip-failing-tests.patch
* re-drop tornado-testsuite_timeout.patch
* refreshed ignore-resourcewarning-doctests.patch
-------------------------------------------------------------------
Sun Feb 7 12:53:21 UTC 2021 - Matej Cepl <mcepl@suse.com>
- Revert back to 6.0.4 for incompatibility with python-distributed.
- Adds back patches:
* python-tornado6-httpclient-test.patch
* skip-failing-tests.patch
* tornado-testsuite_timeout.patch
-------------------------------------------------------------------
Sat Jan 30 20:22:29 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to version 6.1.0
* Full changelog can be found at
https://www.tornadoweb.org/en/stable/releases/v6.1.0.html
- Drop patches not applying anymore.
* python-tornado6-httpclient-test.patch
* skip-failing-tests.patch
* tornado-testsuite_timeout.patch
- Refresh and comment ignore-resourcewarning-doctests.patch
- Fix documentation deduplication
-------------------------------------------------------------------
Tue May 5 16:36:45 UTC 2020 - Pedro Monreal Gonzalez <pmonrealgonzalez@suse.com>
- Fix build with curl 7.70.0:
* Revert commit c443fb7bf8a87ba8ab02b9a6af9e140cabc0ab0d which
introduces test_method_after_redirect() test.
- Add python-tornado6-httpclient-test.patch
-------------------------------------------------------------------
Wed Mar 11 10:47:24 UTC 2020 - pgajdos@suse.com
- version update to 6.0.4
General changes
~~~~~~~~~~~~~~
``asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())`` for
this platform/version.
Bug fixes
~~~~~~~~
- Fixed an issue in `.IOStream` (introduced in 6.0.0) that resulted in
``StreamClosedError`` being incorrectly raised if a stream is closed mid-read
but there is enough buffered data to satisfy the read.
- `.AnyThreadEventLoopPolicy` now always uses the selector event loop on Windows.
- modified patches
% ignore-resourcewarning-doctests.patch (refreshed)
% skip-failing-tests.patch (refreshed)
% tornado-testsuite_timeout.patch (refreshed)
-------------------------------------------------------------------
Mon Nov 18 04:00:14 UTC 2019 - Steve Kowalik <steven.kowalik@suse.com>
- Add ignore-resourcewarning-doctests.patch to ignore ResourceWarnings
when running doctests.
- Use %autopatch macro instead of specific patch number macros
-------------------------------------------------------------------
Fri Nov 8 13:28:37 UTC 2019 - Andreas Schwab <schwab@suse.de>
- Define TRAVIS to disable unreliable tests
-------------------------------------------------------------------
Mon Oct 14 14:45:59 UTC 2019 - Matej Cepl <mcepl@suse.com>
- Replace %fdupes -s with plain %fdupes; hardlinks are better.
-------------------------------------------------------------------
Thu Oct 10 14:11:48 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>
- Provide versioned python-tornado symbol, making this package a
full option in case the meta package is not applicable.
-------------------------------------------------------------------
Tue Oct 1 13:21:22 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Per discussion with RM switch back to python-tornado<version>
system with python-tornado standing in as a metapkg
-------------------------------------------------------------------
Thu Sep 19 07:56:21 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Provide and obsolete python-toro that was integrated in tornado
-------------------------------------------------------------------
Wed Sep 18 07:58:23 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Minimal version is 3.5 and as such remove 3.4 compat deps
- Change this package back to latest python tornado to use
same approach like we do with pytest
-------------------------------------------------------------------
Tue Sep 17 11:03:40 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Provide %oldpython-tornado symbol too
-------------------------------------------------------------------
Tue Sep 17 11:03:20 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Reduce the conflicts even more
-------------------------------------------------------------------
Thu Sep 12 09:29:42 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Remove duplicate entry
-------------------------------------------------------------------
Thu Sep 12 09:27:05 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Remove cruft dependencies that should not be needed
-------------------------------------------------------------------
Wed Aug 14 15:09:36 UTC 2019 - Todd R <toddrme2178@gmail.com>
- Switch to tornado 4 temporarily.
-------------------------------------------------------------------
Fri Aug 9 17:26:02 UTC 2019 - Todd R <toddrme2178@gmail.com>
- Conflicts fixes
-------------------------------------------------------------------
Fri Aug 9 16:49:01 UTC 2019 - Todd R <toddrme2178@gmail.com>
- Fix package name
-------------------------------------------------------------------
Fri Aug 9 16:30:37 UTC 2019 - Todd R <toddrme2178@gmail.com>
- Split tornado versions into their own packages.
This package now depends on the current preferred version.
- Remove patches since there is no longer a source here:
* asyncio.patch
* openssl-cert-size.patch
* skip-failing-tests.patch
* tornado-testsuite_timeout.patch
-------------------------------------------------------------------
Fri Aug 9 15:59:16 UTC 2019 - Todd R <toddrme2178@gmail.com>
- Use a different conflicts with other tornado versions.
-------------------------------------------------------------------
Mon Jul 29 16:15:27 UTC 2019 - Todd R <toddrme2178@gmail.com>
- Rename to python-tornado6 to handle version incompatibilities
- Update to 6.0.3
+ Bug fixes
* `.gen.with_timeout` always treats ``asyncio.CancelledError`` as a
``quiet_exception`` (this improves compatibility with Python 3.8,
which changed ``CancelledError`` to a ``BaseException``).
* ``IOStream`` now checks for closed streams earlier, avoiding
spurious logged errors in some situations (mainly with websockets).
- Update to 6.0.2
+ Bug fixes
* `.WebSocketHandler.set_nodelay` works again.
* Accessing ``HTTPResponse.body`` now returns an empty byte string
instead of raising ``ValueError`` for error responses that don't
have a body (it returned None in this case in Tornado 5).
- Update to 6.0.1
+ Bug fixes
* Fixed issues with type annotations that caused errors while
importing Tornado on Python 3.5.2.
- Update to 6.0.0
+ Backwards-incompatible changes
* Python 2.7 and 3.4 are no longer supported; the minimum supported
Python version is 3.5.2.
* APIs deprecated in Tornado 5.1 have been removed. This includes the
``tornado.stack_context`` module and most ``callback`` arguments
throughout the package. All removed APIs emitted
`DeprecationWarning` when used in Tornado 5.1, so running your
application with the ``-Wd`` Python command-line flag or the
environment variable ``PYTHONWARNINGS=d`` should tell you whether
your application is ready to move to Tornado 6.0.
* ``.WebSocketHandler.get`` is now a coroutine and must be called
accordingly in any subclasses that override this method (but note
that overriding ``get`` is not recommended; either ``prepare`` or
``open`` should be used instead).
+ General changes
* Tornado now includes type annotations compatible with ``mypy``.
These annotations will be used when type-checking your application
with ``mypy``, and may be usable in editors and other tools.
* Tornado now uses native coroutines internally, improving performance.
+ tornado.auth
* All ``callback`` arguments in this package have been removed. Use
the coroutine interfaces instead.
* The ``OAuthMixin._oauth_get_user`` method has been removed.
Override `~.OAuthMixin._oauth_get_user_future` instead.
+ tornado.concurrent
* The ``callback`` argument to `.run_on_executor` has been removed.
* ``return_future`` has been removed.
+ tornado.gen
* Some older portions of this module have been removed. This includes
``engine``, ``YieldPoint``, ``Callback``, ``Wait``, ``WaitAll``,
``MultiYieldPoint``, and ``Task``.
* Functions decorated with ``@gen.coroutine`` no longer accept
``callback`` arguments.
+ tornado.httpclient
* The behavior of ``raise_error=False`` has changed. Now only
suppresses the errors raised due to completed responses with non-200
status codes (previously it suppressed all errors).
* The ``callback`` argument to `.AsyncHTTPClient.fetch` has been removed.
+ tornado.httputil
* ``HTTPServerRequest.write`` has been removed. Use the methods of
``request.connection`` instead.
* Unrecognized ``Content-Encoding`` values now log warnings only for
content types that we would otherwise attempt to parse.
+ tornado.ioloop
* ``IOLoop.set_blocking_signal_threshold``,
``IOLoop.set_blocking_log_threshold``, ``IOLoop.log_stack``,
and ``IOLoop.handle_callback_exception`` have been removed.
* Improved performance of `.IOLoop.add_callback`.
+ tornado.iostream
* All ``callback`` arguments in this module have been removed except
for `.BaseIOStream.set_close_callback`.
* ``streaming_callback`` arguments to `.BaseIOStream.read_bytes` and
`.BaseIOStream.read_until_close` have been removed.
* Eliminated unnecessary logging of "Errno 0".
+ tornado.log
* Log files opened by this module are now explicitly set to UTF-8 encoding.
+ tornado.netutil
* The results of ``getaddrinfo`` are now sorted by address family to
avoid partial failures and deadlocks.
+ tornado.platform.twisted
* ``TornadoReactor`` and ``TwistedIOLoop`` have been removed.
+ tornado.simple_httpclient
* The default HTTP client now supports the ``network_interface``
request argument to specify the source IP for the connection.
* If a server returns a 3xx response code without a ``Location``
header, the response is raised or returned directly instead of
trying and failing to follow the redirect.
* When following redirects, methods other than ``POST`` will no longer
be transformed into ``GET`` requests. 301 (permanent) redirects are
now treated the same way as 302 (temporary) and 303 (see other)
redirects in this respect.
* Following redirects now works with ``body_producer``.
+ tornado.stack_context
* The ``tornado.stack_context`` module has been removed.
+ tornado.tcpserver
* `.TCPServer.start` now supports a ``max_restarts`` argument (same as
`.fork_processes`).
+ tornado.testing
* `.AsyncHTTPTestCase` now drops all references to the `.Application`
during ``tearDown``, allowing its memory to be reclaimed sooner.
* `.AsyncTestCase` now cancels all pending coroutines in ``tearDown``,
in an effort to reduce warnings from the python runtime about
coroutines that were not awaited. Note that this may cause
``asyncio.CancelledError`` to be logged in other places. Coroutines
that expect to be running at test shutdown may need to catch this
exception.
+ tornado.web
* The ``asynchronous`` decorator has been removed.
* The ``callback`` argument to `.RequestHandler.flush` has been removed.
* `.StaticFileHandler` now supports large negative values for the
``Range`` header and returns an appropriate error for ``end >
start``.
* It is now possible to set ``expires_days`` in ``xsrf_cookie_kwargs``.
+ tornado.websocket
* Pings and other messages sent while the connection is closing are
now silently dropped instead of logging exceptions.
* Errors raised by ``open()`` are now caught correctly when this method
is a coroutine.
+ tornado.wsgi
* ``WSGIApplication`` and ``WSGIAdapter`` have been removed.
- Rebase patches:
* tornado-testsuite_timeout.patch
* skip-failing-tests.patch
- Remove upstream-included openssl-cert-size.patch
-------------------------------------------------------------------
Mon Jul 29 16:04:26 UTC 2019 - Todd R <toddrme2178@gmail.com>
- Rename to python-tornado5 to handle version incompatibilities
- Update to 5.1.1
+ Bug fixes
* Fixed an case in which the `.Future` returned by
`.RequestHandler.finish` could fail to resolve.
* The `.TwitterMixin.authenticate_redirect` method works again.
* Improved error handling in the `tornado.auth` module, fixing hanging
requests when a network or other error occurs.
- Update to 5.1.0
+ Deprecation notice
* Tornado 6.0 will drop support for Python 2.7 and 3.4. The minimum
supported Python version will be 3.5.2.
* The ``tornado.stack_context`` module is deprecated and will be removed
in Tornado 6.0. The reason for this is that it is not feasible to
provide this module's semantics in the presence of ``async def``
native coroutines. ``ExceptionStackContext`` is mainly obsolete
thanks to coroutines. ``StackContext`` lacks a direct replacement
although the new ``contextvars`` package (in the Python standard
library beginning in Python 3.7) may be an alternative.
* Callback-oriented code often relies on ``ExceptionStackContext`` to
handle errors and prevent leaked connections. In order to avoid the
risk of silently introducing subtle leaks (and to consolidate all of
Tornado's interfaces behind the coroutine pattern), ``callback``
arguments throughout the package are deprecated and will be removed
in version 6.0. All functions that had a ``callback`` argument
removed now return a `.Future` which should be used instead.
* Where possible, deprecation warnings are emitted when any of these
deprecated interfaces is used. However, Python does not display
deprecation warnings by default. To prepare your application for
Tornado 6.0, run Python with the ``-Wd`` argument or set the
environment variable ``PYTHONWARNINGS`` to ``d``. If your
application runs on Python 3 without deprecation warnings, it should
be able to move to Tornado 6.0 without disruption.
+ tornado.auth
* `.OAuthMixin._oauth_get_user_future` may now be a native coroutine.
* All ``callback`` arguments in this package are deprecated and will
be removed in 6.0. Use the coroutine interfaces instead.
* The ``OAuthMixin._oauth_get_user`` method is deprecated and will be removed in
6.0. Override `~.OAuthMixin._oauth_get_user_future` instead.
+ tornado.autoreload
* The command-line autoreload wrapper is now preserved if an internal
autoreload fires.
* The command-line wrapper no longer starts duplicated processes on windows
when combined with internal autoreload.
+ tornado.concurrent
* `.run_on_executor` now returns `.Future` objects that are compatible
with ``await``.
* The ``callback`` argument to `.run_on_executor` is deprecated and will
be removed in 6.0.
* ``return_future`` is deprecated and will be removed in 6.0.
+ tornado.gen
* Some older portions of this module are deprecated and will be removed
in 6.0. This includes ``engine``, ``YieldPoint``, ``Callback``,
``Wait``, ``WaitAll``, ``MultiYieldPoint``, and ``Task``.
* Functions decorated with ``@gen.coroutine`` will no longer accept
``callback`` arguments in 6.0.
+ tornado.httpclient
* The behavior of ``raise_error=False`` is changing in 6.0. Currently
it suppresses all errors; in 6.0 it will only suppress the errors
raised due to completed responses with non-200 status codes.
* The ``callback`` argument to `.AsyncHTTPClient.fetch` is deprecated
and will be removed in 6.0.
* `tornado.httpclient.HTTPError` has been renamed to
`.HTTPClientError` to avoid ambiguity in code that also has to deal
with `tornado.web.HTTPError`. The old name remains as an alias.
* ``tornado.curl_httpclient`` now supports non-ASCII characters in
username and password arguments.
* ``.HTTPResponse.request_time`` now behaves consistently across
``simple_httpclient`` and ``curl_httpclient``, excluding time spent
in the ``max_clients`` queue in both cases (previously this time was
included in ``simple_httpclient`` but excluded in
``curl_httpclient``). In both cases the time is now computed using
a monotonic clock where available.
* `.HTTPResponse` now has a ``start_time`` attribute recording a
wall-clock (`time.time`) timestamp at which the request started
(after leaving the ``max_clients`` queue if applicable).
+ tornado.httputil
* `.parse_multipart_form_data` now recognizes non-ASCII filenames in
RFC 2231/5987 (``filename*=``) format.
* ``HTTPServerRequest.write`` is deprecated and will be removed in 6.0. Use
the methods of ``request.connection`` instead.
* Malformed HTTP headers are now logged less noisily.
+ tornado.ioloop
* `.PeriodicCallback` now supports a ``jitter`` argument to randomly
vary the timeout.
* ``IOLoop.set_blocking_signal_threshold``,
``IOLoop.set_blocking_log_threshold``, ``IOLoop.log_stack``,
and ``IOLoop.handle_callback_exception`` are deprecated and will
be removed in 6.0.
* Fixed a `KeyError` in `.IOLoop.close` when `.IOLoop` objects are
being opened and closed in multiple threads.
+ tornado.iostream
* All ``callback`` arguments in this module are deprecated except for
`.BaseIOStream.set_close_callback`. They will be removed in 6.0.
* ``streaming_callback`` arguments to `.BaseIOStream.read_bytes` and
`.BaseIOStream.read_until_close` are deprecated and will be removed
in 6.0.
+ tornado.netutil
* Improved compatibility with GNU Hurd.
+ tornado.options
* `tornado.options.parse_config_file` now allows setting options to
strings (which will be parsed the same way as
`tornado.options.parse_command_line`) in addition to the specified
type for the option.
+ tornado.platform.twisted
* ``TornadoReactor`` and ``TwistedIOLoop`` are deprecated and will be
removed in 6.0. Instead, Tornado will always use the asyncio event loop
and twisted can be configured to do so as well.
``tornado.stack_context``
* The ``tornado.stack_context`` module is deprecated and will be removed
in 6.0.
+ tornado.testing
* `.AsyncHTTPTestCase.fetch` now takes a ``raise_error`` argument.
This argument has the same semantics as `.AsyncHTTPClient.fetch`,
but defaults to false because tests often need to deal with non-200
responses (and for backwards-compatibility).
* The `.AsyncTestCase.stop` and `.AsyncTestCase.wait` methods are
deprecated.
+ tornado.web
* New method `.RequestHandler.detach` can be used from methods
that are not decorated with ``@asynchronous`` (the decorator
was required to use ``self.request.connection.detach()``.
* `.RequestHandler.finish` and `.RequestHandler.render` now return
``Futures`` that can be used to wait for the last part of the
response to be sent to the client.
* `.FallbackHandler` now calls ``on_finish`` for the benefit of
subclasses that may have overridden it.
* The ``asynchronous`` decorator is deprecated and will be removed in 6.0.
* The ``callback`` argument to `.RequestHandler.flush` is deprecated
and will be removed in 6.0.
+ tornado.websocket
* When compression is enabled, memory limits now apply to the
post-decompression size of the data, protecting against DoS attacks.
* `.websocket_connect` now supports subprotocols.
* `.WebSocketHandler` and `.WebSocketClientConnection` now have
``selected_subprotocol`` attributes to see the subprotocol in use.
* The `.WebSocketHandler.select_subprotocol` method is now called with
an empty list instead of a list containing an empty string if no
subprotocols were requested by the client.
* `.WebSocketHandler.open` may now be a coroutine.
* The ``data`` argument to `.WebSocketHandler.ping` is now optional.
* Client-side websocket connections no longer buffer more than one
message in memory at a time.
* Exception logging now uses `.RequestHandler.log_exception`.
+ tornado.wsgi
* ``WSGIApplication`` and ``WSGIAdapter`` are deprecated and will be removed
in Tornado 6.0.
- Update to 5.0.2
+ Bug fixes
* Fixed a memory leak when `.IOLoop` objects are created and destroyed.
* If `.AsyncTestCase.get_new_ioloop` returns a reference to a
preexisting event loop (typically when it has been overridden to
return `.IOLoop.current()`), the test's ``tearDown`` method will not
close this loop.
* Fixed a confusing error message when the synchronous `.HTTPClient`
fails to initialize because an event loop is already running.
* `.PeriodicCallback` no longer executes twice in a row due to
backwards clock adjustments.
- Update to 5.0.1
+ Bug fix
* This release restores support for versions of Python 3.4 prior to
3.4.4. This is important for compatibility with Debian Jessie which
has 3.4.2 as its version of Python 3.
+ Highlights
* The focus of this release is improving integration with `asyncio`.
On Python 3, the `.IOLoop` is always a wrapper around the `asyncio`
event loop, and `asyncio.Future` and `asyncio.Task` are used instead
of their Tornado counterparts. This means that libraries based on
`asyncio` can be mixed relatively seamlessly with those using
Tornado. While care has been taken to minimize the disruption from
this change, code changes may be required for compatibility with
Tornado 5.0, as detailed in the following section.
* Tornado 5.0 supports Python 2.7.9+ and 3.4+. Python 2.7 and 3.4 are
deprecated and support for them will be removed in Tornado 6.0,
which will require Python 3.5+.
+ Backwards-compatibility notes
* Python 3.3 is no longer supported.
* Versions of Python 2.7 that predate the `ssl` module update are no
longer supported. (The `ssl` module was updated in version 2.7.9,
although in some distributions the updates are present in builds
with a lower version number. Tornado requires `ssl.SSLContext`,
`ssl.create_default_context`, and `ssl.match_hostname`)
* Versions of Python 3.5 prior to 3.5.2 are no longer supported due to
a change in the async iterator protocol in that version.
* The ``trollius`` project (`asyncio` backported to Python 2) is no
longer supported.
* `tornado.concurrent.Future` is now an alias for `asyncio.Future`
when running on Python 3. This results in a number of minor
behavioral changes:
> `.Future` objects can only be created while there is a current
`.IOLoop`
> The timing of callbacks scheduled with
``Future.add_done_callback`` has changed.
`tornado.concurrent.future_add_done_callback` can be used to
make the behavior more like older versions of Tornado (but not
identical). Some of these changes are also present in the Python
2 version of `tornado.concurrent.Future` to minimize the
difference between Python 2 and 3.
> Cancellation is now partially supported, via
`asyncio.Future.cancel`. A canceled `.Future` can no longer have
its result set. Applications that handle `~asyncio.Future`
objects directly may want to use
`tornado.concurrent.future_set_result_unless_cancelled`. In
native coroutines, cancellation will cause an exception to be
raised in the coroutine.
> The ``exc_info`` and ``set_exc_info`` methods are no longer
present. Use `tornado.concurrent.future_set_exc_info` to replace
the latter, and raise the exception with
`~asyncio.Future.result` to replace the former.
* ``io_loop`` arguments to many Tornado functions have been removed.
Use `.IOLoop.current()` instead of passing `.IOLoop` objects
explicitly.
* On Python 3, `.IOLoop` is always a wrapper around the `asyncio`
event loop. ``IOLoop.configure`` is effectively removed on Python 3
(for compatibility, it may be called to redundantly specify the
`asyncio`-backed `.IOLoop`)
* `.IOLoop.instance` is now a deprecated alias for `.IOLoop.current`.
Applications that need the cross-thread communication behavior
facilitated by `.IOLoop.instance` should use their own global variable
instead.
+ Other notes
* The ``futures`` (`concurrent.futures` backport) package is now required
on Python 2.7.
* The ``certifi`` and ``backports.ssl-match-hostname`` packages are no
longer required on Python 2.7.
* Python 3.6 or higher is recommended, because it features more
efficient garbage collection of `asyncio.Future` objects.
+ tornado.auth
* `.GoogleOAuth2Mixin` now uses a newer set of URLs.
+ tornado.autoreload
* On Python 3, uses ``__main__.__spec`` to more reliably reconstruct
the original command line and avoid modifying ``PYTHONPATH``.
* The ``io_loop`` argument to `tornado.autoreload.start` has been removed.
+ tornado.concurrent
* `tornado.concurrent.Future` is now an alias for `asyncio.Future`
when running on Python 3. See "Backwards-compatibility notes" for
more.
* Setting the result of a ``Future`` no longer blocks while callbacks
are being run. Instead, the callbacks are scheduled on the next
`.IOLoop` iteration.
* The deprecated alias ``tornado.concurrent.TracebackFuture`` has been
removed.
* `tornado.concurrent.chain_future` now works with all three kinds of
``Futures`` (Tornado, `asyncio`, and `concurrent.futures`)
* The ``io_loop`` argument to `tornado.concurrent.run_on_executor` has
been removed.
* New functions `.future_set_result_unless_cancelled`,
`.future_set_exc_info`, and `.future_add_done_callback` help mask
the difference between `asyncio.Future` and Tornado's previous
``Future`` implementation.
+ tornado.curl_httpclient
* Improved debug logging on Python 3.
* The ``time_info`` response attribute now includes ``appconnect`` in
addition to other measurements.
* Closing a `.CurlAsyncHTTPClient` now breaks circular references that
could delay garbage collection.
* The ``io_loop`` argument to the `.CurlAsyncHTTPClient` constructor
has been removed.
+ tornado.gen
* ``tornado.gen.TimeoutError`` is now an alias for
`tornado.util.TimeoutError`.
* Leak detection for ``Futures`` created by this module now attributes
them to their proper caller instead of the coroutine machinery.
* Several circular references that could delay garbage collection have
been broken up.
* On Python 3, `asyncio.Task` is used instead of the Tornado coroutine
runner. This improves compatibility with some `asyncio` libraries
and adds support for cancellation.
* The ``io_loop`` arguments to ``YieldFuture`` and `.with_timeout` have
been removed.
+ tornado.httpclient
* The ``io_loop`` argument to all `.AsyncHTTPClient` constructors has
been removed.
+ tornado.httpserver
* It is now possible for a client to reuse a connection after sending
a chunked request.
* If a client sends a malformed request, the server now responds with
a 400 error instead of simply closing the connection.
* ``Content-Length`` and ``Transfer-Encoding`` headers are no longer
sent with 1xx or 204 responses (this was already true of 304
responses).
* When closing a connection to a HTTP/1.1 client, the ``Connection:
close`` header is sent with the response.
* The ``io_loop`` argument to the `.HTTPServer` constructor has been
removed.
* If more than one ``X-Scheme`` or ``X-Forwarded-Proto`` header is
present, only the last is used.
+ tornado.httputil
* The string representation of `.HTTPServerRequest` objects (which are
sometimes used in log messages) no longer includes the request
headers.
* New function `.qs_to_qsl` converts the result of
`urllib.parse.parse_qs` to name-value pairs.
+ tornado.ioloop
* ``tornado.ioloop.TimeoutError`` is now an alias for
`tornado.util.TimeoutError`.
* `.IOLoop.instance` is now a deprecated alias for `.IOLoop.current`.
* `.IOLoop.install` and `.IOLoop.clear_instance` are deprecated.
* The ``IOLoop.initialized`` method has been removed.
* On Python 3, the `asyncio`-backed `.IOLoop` is always used and
alternative `.IOLoop` implementations cannot be configured.
`.IOLoop.current` and related methods pass through to
`asyncio.get_event_loop`.
* `~.IOLoop.run_sync` cancels its argument on a timeout. This
results in better stack traces (and avoids log messages about leaks)
in native coroutines.
* New methods `.IOLoop.run_in_executor` and
`.IOLoop.set_default_executor` make it easier to run functions in
other threads from native coroutines (since
`concurrent.futures.Future` does not support ``await``).
* ``PollIOLoop`` (the default on Python 2) attempts to detect misuse
of `.IOLoop` instances across `os.fork`.
* The ``io_loop`` argument to `.PeriodicCallback` has been removed.
* It is now possible to create a `.PeriodicCallback` in one thread
and start it in another without passing an explicit event loop.
* The ``IOLoop.set_blocking_signal_threshold`` and
``IOLoop.set_blocking_log_threshold`` methods are deprecated because
they are not implemented for the `asyncio` event loop`. Use the
``PYTHONASYNCIODEBUG=1`` environment variable instead.
* `.IOLoop.clear_current` now works if it is called before any
current loop is established.
+ tornado.iostream
* The ``io_loop`` argument to the `.IOStream` constructor has been removed.
* New method `.BaseIOStream.read_into` provides a minimal-copy alternative to
`.BaseIOStream.read_bytes`.
* `.BaseIOStream.write` is now much more efficient for very large amounts of data.
* Fixed some cases in which ``IOStream.error`` could be inaccurate.
* Writing a `memoryview` can no longer result in "BufferError:
Existing exports of data: object cannot be re-sized".
+ tornado.locks
* As a side effect of the ``Future`` changes, waiters are always
notified asynchronously with respect to `.Condition.notify`.
+ tornado.netutil
* The default `.Resolver` now uses `.IOLoop.run_in_executor`.
`.ExecutorResolver`, `.BlockingResolver`, and `.ThreadedResolver` are
deprecated.
* The ``io_loop`` arguments to `.add_accept_handler`,
`.ExecutorResolver`, and `.ThreadedResolver` have been removed.
* `.add_accept_handler` returns a callable which can be used to remove
all handlers that were added.
* `.OverrideResolver` now accepts per-family overrides.
+ tornado.options
* Duplicate option names are now detected properly whether they use
hyphens or underscores.
+ tornado.platform.asyncio
* `.AsyncIOLoop` and `.AsyncIOMainLoop` are now used automatically
when appropriate; referencing them explicitly is no longer
recommended.
* Starting an `.IOLoop` or making it current now also sets the
`asyncio` event loop for the current thread. Closing an `.IOLoop`
closes the corresponding `asyncio` event loop.
* `.to_tornado_future` and `.to_asyncio_future` are deprecated since
they are now no-ops.
* `~.AnyThreadEventLoopPolicy` can now be used to easily allow the creation
of event loops on any thread (similar to Tornado's prior policy).
+ tornado.platform.caresresolver
* The ``io_loop`` argument to `.CaresResolver` has been removed.
+ tornado.platform.twisted
* The ``io_loop`` arguments to ``TornadoReactor``, `.TwistedResolver`,
and ``tornado.platform.twisted.install`` have been removed.
+ tornado.process
* The ``io_loop`` argument to the `.Subprocess` constructor and
`.Subprocess.initialize` has been removed.
+ tornado.routing
* A default 404 response is now generated if no delegate is found for
a request.
+ tornado.simple_httpclient
* The ``io_loop`` argument to `.SimpleAsyncHTTPClient` has been removed.
* TLS is now configured according to `ssl.create_default_context` by
default.
+ tornado.tcpclient
* The ``io_loop`` argument to the `.TCPClient` constructor has been
removed.
* `.TCPClient.connect` has a new ``timeout`` argument.
+ tornado.tcpserver
* The ``io_loop`` argument to the `.TCPServer` constructor has been
removed.
* `.TCPServer` no longer logs ``EBADF`` errors during shutdown.
+ tornado.testing
* The deprecated ``tornado.testing.get_unused_port`` and
``tornado.testing.LogTrapTestCase`` have been removed.
* `.AsyncHTTPTestCase.fetch` now supports absolute URLs.
* `.AsyncHTTPTestCase.fetch` now connects to ``127.0.0.1``
instead of ``localhost`` to be more robust against faulty
ipv6 configurations.
+ tornado.util
* `tornado.util.TimeoutError` replaces ``tornado.gen.TimeoutError``
and ``tornado.ioloop.TimeoutError``.
* `.Configurable` now supports configuration at multiple levels of an
inheritance hierarchy.
+ tornado.web
* `.RequestHandler.set_status` no longer requires that the given
status code appear in `http.client.responses`.
* It is no longer allowed to send a body with 1xx or 204 responses.
* Exception handling now breaks up reference cycles that could delay
garbage collection.
* `.RedirectHandler` now copies any query arguments from the request
to the redirect location.
* If both ``If-None-Match`` and ``If-Modified-Since`` headers are present
in a request to `.StaticFileHandler`, the latter is now ignored.
+ tornado.websocket
* The C accelerator now operates on multiple bytes at a time to
improve performance.
* Requests with invalid websocket headers now get a response with
status code 400 instead of a closed connection.
* `.WebSocketHandler.write_message` now raises `.WebSocketClosedError` if
the connection closes while the write is in progress.
* The ``io_loop`` argument to `.websocket_connect` has been removed.
- Rebase patches:
* tornado-testsuite_timeout.patch
* skip-failing-tests.patch
- Remove upstream-included asyncio.patch
-------------------------------------------------------------------
Thu Mar 7 11:27:44 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Fix fdupes macro expansion
-------------------------------------------------------------------
Wed Jan 30 11:13:17 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Add patch to skip tests failing with openss-1.1.1; this happens
only when using TLS 1.3 so if user wants to use tornado they
can hand disable the TLS and continue:
* skip-failing-tests.patch
-------------------------------------------------------------------
Mon Jan 28 18:28:14 UTC 2019 - Jonathan Brownell <jbrownell@suse.com>
- Import necessary dependencies on Red Hat platforms
-------------------------------------------------------------------
Thu Jan 10 14:50:55 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Add patch really fixing the tests/tool to work on py3.7:
* asyncio.patch
- Add patch to enlarge key size for openssl 1.1.1:
* openssl-cert-size.patch
-------------------------------------------------------------------
Thu Jan 10 14:47:39 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Drop patch tornado-async-deprecations.patch that does not fix
stuff on py3.7
-------------------------------------------------------------------
Thu May 10 16:35:09 UTC 2018 - toddrme2178@gmail.com
- Fix building on SLE
-------------------------------------------------------------------
Wed Apr 18 17:10:06 UTC 2018 - toddrme2178@gmail.com
- Don't require backport_abc for python >= 3.5
-------------------------------------------------------------------
Fri Mar 16 14:46:55 CET 2018 - ro@suse.de
- add tornado-testsuite_timeout.patch (bsc#1085661)
extend timeouts in testsuite to allow successful build on ppc64le
-------------------------------------------------------------------
Wed Mar 7 15:38:39 UTC 2018 - aplanas@suse.com
- Allows Recommends and Suggest in Fedora
-------------------------------------------------------------------
Tue Feb 27 18:38:27 UTC 2018 - aplanas@suse.com
- Recommends only for SUSE
-------------------------------------------------------------------
Tue Feb 13 19:19:32 UTC 2018 - toddrme2178@gmail.com
- Update to version 4.5.3
+ tornado.curl_httpclient
* Improved debug logging on Python 3.
+ tornado.httpserver
* ``Content-Length`` and ``Transfer-Encoding`` headers are no longer
sent with 1xx or 204 responses (this was already true of 304
responses).
* Reading chunked requests no longer leaves the connection in a broken
state.
+ tornado.iostream
* Writing a `memoryview` can no longer result in "BufferError:
Existing exports of data: object cannot be re-sized".
+ tornado.options
* Duplicate option names are now detected properly whether they use
hyphens or underscores.
+ tornado.testing
* `.AsyncHTTPTestCase.fetch` now uses ``127.0.0.1`` instead of
``localhost``, improving compatibility with systems that have
partially-working ipv6 stacks.
+ tornado.web
* It is no longer allowed to send a body with 1xx or 204 responses.
+ tornado.websocket
* Requests with invalid websocket headers now get a response with
status code 400 instead of a closed connection.
-------------------------------------------------------------------
Thu Jan 4 15:56:26 UTC 2018 - jmatejek@suse.com
- only buildrequire futures / singledispatch if python2 is present
(fixes build in environments that don't have python2 at all)
-------------------------------------------------------------------
Wed Dec 6 13:59:31 UTC 2017 - tchvatal@suse.com
- Distribute license file
-------------------------------------------------------------------
Wed Nov 22 22:55:01 UTC 2017 - arun@gmx.de
- specfile:
* removed tornado-configtest.patch: fixed upstream
* update tornado-async-deprecation.patch (partly integrated)
- update to version 4.5.2:
* Tornado now sets the FD_CLOEXEC flag on all file descriptors it
creates. This prevents hanging client connections and resource
leaks when the tornado.autoreload module (or
Application(debug=True)) is used.
- changes from version 4.5.1:
* tornado.log
+ Improved detection of libraries for colorized logging.
* tornado.httputil
+ url_concat once again treats None as equivalent to an empty
sequence.
- changes from version 4.5.0:
* long changelog, see http://www.tornadoweb.org/en/stable/releases/v4.5.0.html
for details
-------------------------------------------------------------------
Tue Oct 17 10:03:04 UTC 2017 - opensuse_buildservice@ojkastl.de
- added %{python_module backports.ssl_match_hostname}
on SLES12 GA aka SP0, to avoid build errors
- explicit BuildRequires for certifi on SLES12 GA aka SP0 only
-------------------------------------------------------------------
Tue Oct 17 09:24:48 UTC 2017 - opensuse_buildservice@ojkastl.de
- added certifi to BuildRequires, to fix 'ImportError: No module named certifi'
-------------------------------------------------------------------
Wed Aug 9 19:03:51 UTC 2017 - toddrme2178@gmail.com
- Fix tests
-------------------------------------------------------------------
Fri Jun 23 17:41:45 UTC 2017 - jmatejek@suse.com
- in %pre, remove egg-info file if installed, because it's being
replaced by a directory (bsc#1035604)
-------------------------------------------------------------------
Tue Jun 13 14:57:15 UTC 2017 - jmatejek@suse.com
- replace the complicated condition for requiring backports.ssl_match_hostname
with unconditional requirement for Python >= 2.7.9
-------------------------------------------------------------------
Wed May 31 19:25:46 UTC 2017 - dmueller@suse.com
- require python-backports.ssl_hostname only on python 2.x
-------------------------------------------------------------------
Fri Apr 7 19:59:28 UTC 2017 - toddrme2178@gmail.com
- update to 4.4.3
* The `tornado.auth` module has been updated for compatibility with `a
change to Facebook's access_token endpoint.
-------------------------------------------------------------------
Thu Apr 6 15:30:33 UTC 2017 - jmatejek@suse.com
- tornado-configtest.patch: fix test failure when __file__ is not absolute
- tornado-async-deprecations.patch: filter test failures due to async
deprecation warnings, to fix build on python 3.6
- update for multipython build
- enable test suite
-------------------------------------------------------------------
Mon Nov 14 14:39:26 UTC 2016 - dmueller@suse.com
- update to 4.4.2:
* Tornado now requires Python 2.7 or 3.3+; versions 2.6 and 3.2 are no
longer supported. Pypy3 is still supported even though its latest
release is mainly based on Python 3.2.
* The `monotonic <https://pypi.python.org/pypi/monotonic>`_ package is
now supported as an alternative to `Monotime
<https://pypi.python.org/pypi/Monotime>`_ for monotonic clock support
on Python 2.
-------------------------------------------------------------------
Wed Dec 23 12:48:58 UTC 2015 - jmassaguerpla@suse.com
- add singledispatch and backports_abc dependencies
as stated in docs/releases/v4.3.0.rst
* Tornado has several new dependencies: (...)
``singledispatch`` on all Python versions prior to 3.4 (This was an
optional dependency in prior versions of Tornado, and is now
mandatory), and ``backports_abc>=0.4`` on all versions prior to
3.5
Since this python module works with python version >= 2.7.9 (otherwise it would be called python3-tornado, afaiu)
-------------------------------------------------------------------
Wed Dec 9 11:26:45 UTC 2015 - toddrme2178@gmail.com
- Switch to pypi tarball. It uses "4.3" instead of "4.3.0"
-------------------------------------------------------------------
Tue Dec 8 10:51:12 UTC 2015 - kkaempf@suse.com
- Update to 4.3.0
- The new async/await keywords in Python 3.5 are supported.
Deprecation notice
- This will be the last release of Tornado to support Python 2.6
or 3.2.
See http://www.tornadoweb.org/en/stable/releases/v4.3.0.html
-------------------------------------------------------------------
Sat Oct 17 11:45:08 UTC 2015 - mc@suse.com
- fix macro
- use package name python-backports-ssl_match_hostname on rhel7
- define py_ver where it does not exist
-------------------------------------------------------------------
Wed Sep 30 09:11:37 UTC 2015 - fcastelli@suse.com
- python-certifi is an optional depedency when python 2.7.9 is available.
-------------------------------------------------------------------
Sat Sep 26 10:21:28 UTC 2015 - toddrme2178@gmail.com
- python-certifi is a hard dependency, not an optional one.
-------------------------------------------------------------------
Wed Sep 23 10:39:53 UTC 2015 - tampakrap@opensuse.org
- Remove python-Twisted BuildRequires. It causes a python-cryptography build
dependency, which is currently broken on SLE11SP4 due to old OpenSSL version
-------------------------------------------------------------------
Thu Sep 10 19:39:18 UTC 2015 - aboe76@gmail.com
- Update to 4.2.1:
Security fix:
* This release fixes a path traversal vulnerability in StaticFileHandler,
in which files whose names started with the static_path directory
but were not actually in that directory could be accessed.
- Update to 4.2:
Backwards-compatibility:
* SSLIOStream.connect and IOStream.start_tls now
validate certificates by default.
* Certificate validation will now use the system CA root certificates
instead of certifi when possible (i.e. Python 2.7.9+ or 3.4+).
This includes IOStream and simple_httpclient, but not curl_httpclient
* The default SSL configuration has become stricter,
using ssl.create_default_context where available on the client side.
(On the server side, applications are encouraged to migrate from
the ssl_options dict-based API to pass an ssl.SSLContext instead).
* The deprecated classes in the tornado.auth module, GoogleMixin,
FacebookMixin, and FriendFeedMixin have been removed.
* see more details:
http://www.tornadoweb.org/en/stable/releases/v4.2.0.html
-------------------------------------------------------------------
Wed Aug 12 14:29:56 UTC 2015 - seife+obs@b1-systems.com
- fix build with non-SUSE distributions
-------------------------------------------------------------------
Wed Apr 22 13:21:19 UTC 2015 - mcihar@suse.cz
- Update to 4.1:
* If a `.Future` contains an exception but that exception is never
examined or re-raised (e.g. by yielding the `.Future`), a stack
trace will be logged when the `.Future` is garbage-collected.
* New class `tornado.gen.WaitIterator` provides a way to iterate
over ``Futures`` in the order they resolve.
* The `tornado.websocket` module now supports compression via the
"permessage-deflate" extension. Override
`.WebSocketHandler.get_compression_options` to enable on the server
side, and use the ``compression_options`` keyword argument to
`.websocket_connect` on the client side.
* When the appropriate packages are installed, it is possible to yield
`asyncio.Future` or Twisted ``Defered`` objects in Tornado coroutines.
-------------------------------------------------------------------
Thu Oct 2 16:05:54 UTC 2014 - toddrme2178@gmail.com
- Remove python-pycares BuildRequires since it is optional and
not in openSUSE:Factory
-------------------------------------------------------------------
Wed Oct 1 15:23:31 UTC 2014 - toddrme2178@gmail.com
- Update to version 4.0.2
+ Bug fixes
* Fixed a bug that could sometimes cause a timeout to fire after being
cancelled.
* `.AsyncTestCase` once again passes along arguments to test methods,
making it compatible with extensions such as Nose's test generators.
* `.StaticFileHandler` can again compress its responses when gzip is enabled.
* ``simple_httpclient`` passes its ``max_buffer_size`` argument to the
underlying stream.
* Fixed a reference cycle that can lead to increased memory consumption.
* `.add_accept_handler` will now limit the number of times it will call
`~socket.socket.accept` per `.IOLoop` iteration, addressing a potential
starvation issue.
* Improved error handling in `.IOStream.connect` (primarily for FreeBSD
systems)
- Update to version 4.0.1
+ Bug fixes
* The build will now fall back to pure-python mode if the C extension
fails to build for any reason (previously it would fall back for some
errors but not others).
* `.IOLoop.call_at` and `.IOLoop.call_later` now always return
a timeout handle for use with `.IOLoop.remove_timeout`.
* If any callback of a `.PeriodicCallback` or `.IOStream` returns a
`.Future`, any error raised in that future will now be logged
(similar to the behavior of `.IOLoop.add_callback`).
* Fixed an exception in client-side websocket connections when the
connection is closed.
* ``simple_httpclient`` once again correctly handles 204 status
codes with no content-length header.
* Fixed a regression in ``simple_httpclient`` that would result in
timeouts for certain kinds of errors.
- Update to version 4.0.0
+ Highlights
* The `tornado.web.stream_request_body` decorator allows large files to be
uploaded with limited memory usage.
* Coroutines are now faster and are used extensively throughout Tornado itself.
More methods now return `Futures <.Future>`, including most `.IOStream`
methods and `.RequestHandler.flush`.
* Many user-overridden methods are now allowed to return a `.Future`
for flow control.
* HTTP-related code is now shared between the `tornado.httpserver`,
``tornado.simple_httpclient`` and `tornado.wsgi` modules, making support
for features such as chunked and gzip encoding more consistent.
`.HTTPServer` now uses new delegate interfaces defined in `tornado.httputil`
in addition to its old single-callback interface.
* New module `tornado.tcpclient` creates TCP connections with non-blocking
DNS, SSL handshaking, and support for IPv6.
+ See more release details at
http://www.tornadoweb.org/en/stable/releases/v4.0.0.html
- Update to version 3.2.2
+ Security fixes
* The XSRF token is now encoded with a random mask on each request.
This makes it safe to include in compressed pages without being
vulnerable to the `BREACH attack <http://breachattack.com>`_.
This applies to most applications that use both the ``xsrf_cookies``
and ``gzip`` options (or have gzip applied by a proxy).
+ Backwards-compatibility notes
* If Tornado 3.2.2 is run at the same time as older versions on the same
domain, there is some potential for issues with the differing cookie
versions. The `.Application` setting ``xsrf_cookie_version=1`` can
be used for a transitional period to generate the older cookie format
on newer servers.
+ Other changes
* ``tornado.platform.asyncio`` is now compatible with ``trollius`` version 0.3.
-------------------------------------------------------------------
Tue May 20 13:05:18 UTC 2014 - toddrme2178@gmail.com
- Update dependencies
-------------------------------------------------------------------
Sun May 11 14:00:00 UTC 2014 - andrea@opensuse.org
- new upstream version 3.2.1
- several new modules and bugfixes check website for details
http://www.tornadoweb.org/en/stable/releases.html
-------------------------------------------------------------------
Sun Nov 17 16:07:37 UTC 2013 - p.drouand@gmail.com
- Update to version 3.1.1
+ 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.
-------------------------------------------------------------------
Thu Aug 15 11:03:17 UTC 2013 - speilicke@suse.com
- Update to version 3.1:
+ See http://www.tornadoweb.org/en/stable/releases/v3.1.0.html
- Fix rpmlint issues properly
- Use upstream URL
-------------------------------------------------------------------
Thu Apr 11 16:47:30 UTC 2013 - alexandre@exatati.com.br
- Update to 3.0.1:
- The interface of tornado.auth.FacebookGraphMixin is now
consistent with its documentation and the rest of the module.
The get_authenticated_user and facebook_request methods return
a Future and the callback argument is optional.
- The tornado.testing.gen_test decorator will no longer be
recognized as a (broken) test by nose.
- Work around a bug in Ubuntu 13.04 betas involving an
incomplete backport of the ssl.match_hostname function.
- tornado.websocket.websocket_connect now fails cleanly when it
attempts to connect to a non-websocket url.
- tornado.testing.LogTrapTestCase once again works with byte
strings on Python 2.
- The request attribute of tornado.httpclient.HTTPResponse is
now always an HTTPRequest, never a _RequestProxy.
- Exceptions raised by the tornado.gen module now have better
messages when tuples are used as callback keys.
-------------------------------------------------------------------
Sat Mar 30 17:46:48 UTC 2013 - alexandre@exatati.com.br
- Update to 3.0:
- Please read full changelog at
http://www.tornadoweb.org/en/stable/releases/v3.0.0.html
-------------------------------------------------------------------
Sun Nov 25 11:41:29 UTC 2012 - alexandre@exatati.com.br
- Update to 2.4.1:
- Fixed a memory leak in tornado.stack_context that was especially
likely with long-running @gen.engine functions.
- tornado.auth.TwitterMixin now works on Python 3.
- Fixed a bug in which IOStream.read_until_close with a streaming
callback would sometimes pass the last chunk of data to the
final callback instead of the streaming callback.
-------------------------------------------------------------------
Wed Sep 5 03:54:59 UTC 2012 - alexandre@exatati.com.br
- Update to 2.4:
- Please check changelog at
http://www.tornadoweb.org/documentation/releases/v2.4.0.html
-------------------------------------------------------------------
Fri Jun 1 11:59:36 UTC 2012 - alexandre@exatati.com.br
- Update to 2.3:
- Please check changelog at
http://www.tornadoweb.org/documentation/releases/v2.3.0.html
-------------------------------------------------------------------
Fri May 18 15:27:08 UTC 2012 - toddrme2178@gmail.com
- Fix rpmlint warnings
- Improve openSUSE 11.4 build fix
- Clean up spec file
-------------------------------------------------------------------
Mon Apr 30 13:06:58 UTC 2012 - toddrme2178@gmail.com
- Fix building python 3 package on openSUSE 11.4 x86_64
-------------------------------------------------------------------
Sat Apr 28 05:42:29 UTC 2012 - highwaystar.ru@gmail.com
- added python3 package
-------------------------------------------------------------------
Tue Apr 24 11:01:28 UTC 2012 - alexandre@exatati.com.br
- Update to 2.2.1:
- tornado.web.RequestHandler.set_header now properly sanitizes
input values to protect against header injection, response
splitting, etc. (it has always attempted to do this, but the
check was incorrect). Note that redirects, the most likely
source of such bugs, are protected by a separate check in
RequestHandler.redirect.
- Colored logging configuration in tornado.options is compatible
with Python 3.2.3 (and 3.3).
-------------------------------------------------------------------
Wed Mar 21 18:51:00 UTC 2012 - saschpe@gmx.de
- Update requires on python-curl to python-pycurl
-------------------------------------------------------------------
Mon Mar 12 21:38:08 UTC 2012 - saschpe@gmx.de
- Simplified macro usage
- Use upstream tarball
-------------------------------------------------------------------
Mon Jan 30 23:17:07 UTC 2012 - alexandre@exatati.com.br
- Update to 2.2:
- Please read http://www.tornadoweb.org/documentation/releases/v2.2.0.html
for all changes in this release.
-------------------------------------------------------------------
Tue Oct 4 23:57:09 UTC 2011 - alexandre@exatati.com.br
- Update to 2.1.1
Bug fixes:
- Fixed handling of closed connections with the epoll
(i.e. Linux) IOLoop. Previously, closed connections could be
shut down too early, which most often manifested as “Stream
is closed” exceptions in SimpleAsyncHTTPClient.
- Fixed a case in which chunked responses could be closed
prematurely, leading to truncated output.
- IOStream.connect now reports errors more consistently via
logging and the close callback (this affects e.g. connections
to localhost on FreeBSD).
- IOStream.read_bytes again accepts both int and long arguments.
- PeriodicCallback no longer runs repeatedly when IOLoop
iterations complete faster than the resolution of time.time()
(mainly a problem on Windows).
Backwards-compatibility note
- Listening for IOLoop.ERROR alone is no longer sufficient for
detecting closed connections on an otherwise unused socket.
IOLoop.ERROR must always be used in combination with READ or
WRITE.
-------------------------------------------------------------------
Wed Sep 21 11:27:02 UTC 2011 - alexandre@exatati.com.br
- Update to 2.1:
- There are security fixes, backwards-incompatible changes,
new modules, and bug fixes.
For full changes please read
http://www.tornadoweb.org/documentation/releases/v2.1.0.html
-------------------------------------------------------------------
Thu Jul 7 20:19:08 UTC 2011 - saschpe@gmx.de
- Added README and examples to documentation
- Fixed license string to "Apache-2.0"
-------------------------------------------------------------------
Wed Jun 22 11:47:26 UTC 2011 - alexandre@exatati.com.br
- Update to 2.0:
Major changes:
* Template output is automatically escaped by default; see backwards
compatibility note below.
* The default AsyncHTTPClient implementation is now simple_httpclient.
* Python 3.2 is now supported.
For backwards compatibility and other changes in this release,
please read http://www.tornadoweb.org/documentation/releases/v2.0.0.html
- Regenerate spec file with py2pack.
-------------------------------------------------------------------
Fri Mar 4 04:10:43 UTC 2011 - alexandre@exatati.com.br
- Update to 1.2.1.
-------------------------------------------------------------------
Sun Feb 20 21:25:09 UTC 2011 - alexandre@exatati.com.br
- Update to 1.2.
-------------------------------------------------------------------
Wed Feb 9 10:51:01 UTC 2011 - alexandre@exatati.com.br
- Update to 1.1.1.
-------------------------------------------------------------------
Fri Sep 10 05:14:00 UTC 2010 - alexandre@exatati.com.br
- Update to 1.1.
-------------------------------------------------------------------
Tue May 18 12:22:11 UTC 2010 - alexandre@exatati.com.br
- New tarball release on PyPI.
-------------------------------------------------------------------
Fri Nov 13 00:54:15 UTC 2009 - alexandre@exatati.com.br
- Update to 0.2;
- Building as noarch for openSUSE >= 11.2.
-------------------------------------------------------------------
Mon Sep 14 11:50:08 UTC 2009 - alexandre@exatati.com.br
- Initial package (0.1) for openSUSE.