Path to this page:
./
www/py-tornado,
Fast and non-blocking web framework
Branch: CURRENT,
Version: 6.4.2,
Package name: py312-tornado-6.4.2,
Maintainer: imilTornado is an open source version of the scalable, non-blocking web server and
tools that power FriendFeed. The FriendFeed application is written using a web
framework that looks a bit like web.py or Google's webapp, but with additional
tools and optimizations to take advantage of the underlying non-blocking
infrastructure.
The framework is distinct from most mainstream web server frameworks (and
certainly most Python frameworks) because it is non-blocking and reasonably
fast. Because it is non-blocking and uses epoll or kqueue, it can handle
thousands of simultaneous standing connections, which means it is ideal for
real-time web services. We built the web server specifically to handle
FriendFeed's real-time features -- every active user of FriendFeed maintains
an open connection to the FriendFeed servers.
Required to run:[
www/py-curl] [
devel/py-setuptools] [
lang/python37]
Required to build:[
pkgtools/cwrappers]
Master sites:
Filesize: 489.39 KB
Version history: (Expand)
- (2024-11-22) Updated to version: py312-tornado-6.4.2
- (2024-11-11) Updated to version: py312-tornado-6.4.1
- (2024-06-07) Updated to version: py311-tornado-6.4.1
- (2023-12-07) Updated to version: py311-tornado-6.4
- (2023-08-12) Updated to version: py310-tornado-6.3.3
- (2023-05-16) Updated to version: py310-tornado-6.3.2
CVS history: (Expand)
2025-02-02 11:38:04 by Havard Eidnes | Files touched by this commit (28) |
Log message:
lang/python and a number of python packages: re-do atomic64.mk issue.
Evidently, python 3.13 brought in the need to support 64-bit atomics.
This means that python extension packages built with C needs to
use mk/atomic64.mk to make -latomic available on the required 32-bit
ports. Sadly, there is no reliable way to detect in the .mk files
whether the package is using C (or C++), so this change adds an
unconditional include of mk/atomic64.mk when the python version is
equal to or larger than 3.13 for packages using egg.mk or wheel.mk.
This undoes the individual package Makefile inclusions of mk/atomic64.mk
that I've added over the last few days.
|
2025-01-19 17:56:06 by Havard Eidnes | Files touched by this commit (1) |
Log message:
www/py-tornado: use atomic64.mk to fix build on macppc w/python3.13.
|
2024-11-22 09:25:28 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-tornado: updated to 6.4.2
What's new in Tornado 6.4.2
Security Improvements
- Parsing of the cookie header is now much more efficient. The older algorithm \
sometimes had
quadratic performance which allowed for a denial-of-service attack in which \
the server would spend
excessive CPU time parsing cookies and block the event loop. This change fixes \
CVE-2024-7592.
|
2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862) |
Log message:
py-*: remove unused tool dependency
py-setuptools includes the py-wheel functionality nowadays
|
2023-12-07 18:08:05 by Adam Ciarcinski | Files touched by this commit (3) |  |
Log message:
py-tornado: updated to 6.4
What's new in Tornado 6.4.0
===========================
Nov 28, 2023
------------
General Changes
~~~~~~~~~~~~~~~
- Python 3.12 is now supported. Older versions of Tornado will work on Python \
3.12 but may log
deprecation warnings.
Deprecation Notices
~~~~~~~~~~~~~~~~~~~
- `.IOLoop.add_callback_from_signal` is suspected to have been broken since \
Tornado 5.0 and will be
removed in version 7.0. Use `asyncio.loop.add_signal_handler` instead.
- The ``client_secret`` argument to `.OAuth2Mixin.authorize_redirect` is \
deprecated and will be
removed in Tornado 7.0. This argument has never been used and other similar \
methods in this module
don't have it.
- `.TwitterMixin` is deprecated and will be removed in the future.
``tornado.auth``
~~~~~~~~~~~~~~~~
- The ``client_secret`` argument to `.OAuth2Mixin.authorize_redirect` is \
deprecated and will be
removed in Tornado 7.0. This argument has never been used and other similar \
methods in this module
don't have it.
- `.TwitterMixin` is deprecated and will be removed in the future.
``tornado.autoreload``
~~~~~~~~~~~~~~~~~~~~~~
- Autoreload can now be used when the program is run as a directory rather than \
a file or module.
- New CLI flag ``--until-success`` re-runs the program on any failure but stops \
after the first
successful run.
``tornado.concurrent``
~~~~~~~~~~~~~~~~~~~~~~
- Fixed reference cycles that could lead to increased memory usage.
``tornado.escape``
~~~~~~~~~~~~~~~~~~
- Several methods in this module now simply pass through to their equivalents in \
the standard
library.
``tornado.gen``
~~~~~~~~~~~~~~~
- This module now holds a strong reference to all running `asyncio.Task` objects \
it creates. This
prevents premature garbage collection which could cause warnings like \
"Task was destroyed but it
is pending!".
``tornado.ioloop``
~~~~~~~~~~~~~~~~~~
- `.IOLoop.add_callback_from_signal` is suspected to have been broken since \
Tornado 5.0 and will be
removed in version 7.0. Use `asyncio.loop.add_signal_handler` instead.
- The type annotation for `.IOLoop.run_in_executor` has been updated to match \
the updated signature
of `asyncio.loop.run_in_executor`.
- Fixed reference cycles that could lead to increased memory usage.
``tornado.locale``
~~~~~~~~~~~~~~~~~~
- `.format_timestamp` now supports "aware" datetime objects.
``tornado.platform.asyncio``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- The shutdown protocol for `.AddThreadSelectorEventLoop` now requires the use \
of `asyncio.run` or
`asyncio.loop.shutdown_asyncgens` to avoid leaking the thread.
- Introduced `.SelectorThread` class containing the core functionality of
`.AddThreadSelectorEventLoop`.
- The ``close()`` method of `.AddThreadSelectorEventLoop` is now idempotent.
``tornado.web``
~~~~~~~~~~~~~~~
- `.StaticFileHandler.get_modified_time` now supports "aware" datetime \
objects and the default
implementation now returns aware objects.
``tornado.websocket``
~~~~~~~~~~~~~~~~~~~~~
- Unclosed client connections now reliably log a warning. Previously the warning \
was dependent on
garbage collection and whether the ``ping_interval`` option was used.
- The ``subprotocols`` argument to `.WebSocketClientConnection` now defaults to \
None instead of an
empty list (which was mutable and reused)
|
2023-08-12 14:59:54 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-tornado: updated to 6.3.3
What's new in Tornado 6.3.3
Security improvements
- 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.
|
2023-05-16 12:20:23 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-tornado: updated to 6.3.2
What's new in Tornado 6.3.2
===========================
Security improvements
- Fixed an open redirect vulnerability in StaticFileHandler under certain
configurations.
|
2023-04-25 12:53:27 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-tornado: updated to 6.3.1
What's new in Tornado 6.3.1
===========================
Apr 21, 2023
------------
``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
===========================
Apr 17, 2023
------------
Highlights
~~~~~~~~~~
- 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.
|