docs/releases/v6.4.0.rst
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.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``
--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``
.AddThreadSelectorEventLoop now requires the use of asyncio.run or
asyncio.loop.shutdown_asyncgens to avoid leaking the thread..SelectorThread class containing the core functionality of
.AddThreadSelectorEventLoop.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``
ping_interval option was used.subprotocols argument to .WebSocketClientConnection now defaults to None instead of an
empty list (which was mutable and reused)