From: Ben Darnell Date: Tue, 29 Apr 2025 19:53:32 +0000 (-0400) Subject: docs: Add release notes for 6.5 X-Git-Tag: v6.5.0b1^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=83afedc8cfd4bd6cf3d2c6b1ed076b3d284c7fc6;p=thirdparty%2Ftornado.git docs: Add release notes for 6.5 --- diff --git a/docs/releases.rst b/docs/releases.rst index 5c7a106d..1e65c337 100644 --- a/docs/releases.rst +++ b/docs/releases.rst @@ -4,6 +4,7 @@ Release notes .. toctree:: :maxdepth: 2 + releases/v6.5.0 releases/v6.4.2 releases/v6.4.1 releases/v6.4.0 diff --git a/docs/releases/v6.5.0.rst b/docs/releases/v6.5.0.rst new file mode 100644 index 00000000..3a7907af --- /dev/null +++ b/docs/releases/v6.5.0.rst @@ -0,0 +1,91 @@ +What's new in Tornado 6.5.0 +=========================== + +In progress +----------- + +General Changes +~~~~~~~~~~~~~~~ + +- Python 3.14 is now supported. Older versions of Tornado will work on Python 3.14 but may log + deprecation warnings. +- The minimum supported Python version is 3.9. + +Deprecation Notices +~~~~~~~~~~~~~~~~~~~ + +- Support for ``obs-fold`` continuation lines in HTTP headers is deprecated and will be removed in + Tornado 7.0, as is the use of carriage returns without line feeds as header separators. +- The ``callback`` argument to ``websocket_connect`` is deprecated and will be removed in + Tornado 7.0. Note that ``on_message_callback`` is not deprecated. +- The ``log_message`` and ``args`` attributes of `tornado.web.HTTPError` are deprecated. Use the + new ``get_message`` method instead. + +Type Annotation Changes +~~~~~~~~~~~~~~~~~~~~~~~ + +- `tornado.concurrent.chain_future` is now typed as accepting both asyncio and concurrent Futures. +- `tornado.gen.multi` and ``multi_future`` now take ``Sequences`` and ``Mappings`` instead of + ``List`` and ``Dict``. +- `tornado.httputil.RequestStartLine` and `.ResponseStartLine` now have type annotations for + their attributes. +- `.HTTPHeaders` now has type annotations for its elements. +- The ``autoescape`` argument to `tornado.template.BaseLoader` is now marked as optional. +- ``tornado.routing._RuleList`` is now a ``Sequence`` for more flexibility. +- ``.RequestHandler.SUPPPORTED_METHODS`` is now typed to support overriding in a subclass. +- Types for `.RequestHandler.get_body_argument` and ``get_query_argument`` are improved and now + match the ``get_argument`` method. +- `.RequestHandler.get_cookie` now has more accurate types. +- The return type of `.UIModule.render` may now be either `str` or `bytes`. + +``tornado.httputil`` +~~~~~~~~~~~~~~~~~~~~ + +- Support for ``obs-fold`` continuation lines in HTTP headers is deprecated and will be removed in + Tornado 7.0, as is the use of carriage returns without line feeds as header separators. +- Request start lines may no longer include control characters. +- Method names containing invalid characters now return error code 400 instead of 405. +- Header names are now restricted to the set of characters permitted by the RFCs. +- Control characters are no longer allowed in (incoming) header values. +- Handling of trailing whitespace in headers has been improved, especially with ``obs-fold`` + continuation lines. +- The ``Host`` header is now restricted to the set of characters permitted by the RFCs. It is now an + error to send more than one ``Host`` header, or to omit a ``Host`` header for a request that is + not using HTTP/1.0. + +``tornado.netutil`` +~~~~~~~~~~~~~~~~~~~ + +- ``.bind_unix_socket`` now supports the Linux abstract namespace. + + +``tornado.platform.twisted`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- ``TwistedResolver`` has been deleted. It was already deprecated and scheduled for removal + in Tornado 7.0, but due to the adoption of RFC 8482 it no longer works for most + domain names. This class was primarily intended to provide thread-free non-blocking + DNS resolution. If that is still required, ``tornado.platform.caresresolver`` is the + next best option, although it has its own limitations which differ from TwistedResolver, + and it is also deprecated. Most users should switch to the default resolver, which uses + threads. + +``tornado.web`` +~~~~~~~~~~~~~~~ + +- The set of characters allowed in (outgoing) HTTP headers now matches the RFCs. Specifically, tab + characters are now allowed and DEL is not. +- Invalid ``If-Modified-Since`` headers are now ignored instead of causing a 500 error. +- ``%`` characters in the log message of ``tornado.web.HTTPError`` are no longer doubled when no + additional arguments are passed. This matches the behavior of `logging.LogRecord`. A new method + ``get_message`` has been added to ``HTTPError`` to allow access to the fully-substituted message; + directly accessing ``log_message`` and ``args`` is deprecated. + +``tornado.websocket`` +~~~~~~~~~~~~~~~~~~~~~ + +- Some bugs involving ``ping_interval`` and ``ping_timeout`` have been fixed. Setting the + ``ping_timeout`` greater than the ``ping_interval`` is no longer supported. The default + ``ping_timeout`` is now equal to the ``ping_interval``. +- The ``callback`` argument to ``websocket_connect`` is deprecated and will be removed in + Tornado 7.0. Note that ``on_message_callback`` is not deprecated.