]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
docs: Add release notes for 6.5
authorBen Darnell <ben@bendarnell.com>
Tue, 29 Apr 2025 19:53:32 +0000 (15:53 -0400)
committerBen Darnell <ben@bendarnell.com>
Tue, 29 Apr 2025 20:32:08 +0000 (16:32 -0400)
docs/releases.rst
docs/releases/v6.5.0.rst [new file with mode: 0644]

index 5c7a106d879ae53d6aac11c93374368d617e6616..1e65c337e2819041ddad91d56d935484cb449199 100644 (file)
@@ -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 (file)
index 0000000..3a7907a
--- /dev/null
@@ -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.