From: Tim Orling Date: Mon, 3 Aug 2026 23:26:40 +0000 (-0700) Subject: python3-websockets: upgrade 16.1.1 -> 17.0.1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=07f2da2dcf2c242e13ff6f2d01958fd1cd7b9e91;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git python3-websockets: upgrade 16.1.1 -> 17.0.1 For a full comparison of changes (82 commits, changing 137 files), see: https://github.com/python-websockets/websockets/compare/16.1.1...17.0.1 Upstream release notes: https://websockets.readthedocs.io/en/stable/project/changelog.html 17.0.1 ====== July 31, 2026 Bug fixes --------- * Restored compatibility of serve_forever() in the asyncio implementation with third-party event loops such as uvloop. * Prevented the Trio implementation from crashing when backpressure kicks in, i.e. when receiving data faster than the application can process it. 17.0 ==== July 29, 2026 Backwards-incompatible changes ------------------------------ * websockets 17.0 requires Python ≥ 3.11. - websockets 16.1 is the last version supporting Python 3.10. * Aliases for modules moved or deprecated in 9.0 are removed. - See the changelog of version 9.0 for details. * process_request may receive requests using an HTTP method other than GET or using the HTTP/1.0 protocol. - Previously, the server closed the connection without returning an HTTP response. Now, process_request runs and can return an HTTP response. * Several boolean arguments are now keyword-only. - If you were passing some of the following as positional arguments, you must update your code to pass them as keyword arguments. * send(text=...) * ping(ack_on_close=...) * broadcast(raise_exceptions=...) * Encoding and decoding non-ASCII headers in handshake requests and responses changed. - The previous behavior was undocumented, inconsistent, and didn’t match the HTTP specification. If you relied on the encoding being UTF-8 or ASCII with surrogate escapes, depending on the context, you must switch to ISO-8859-1. * In the threading implementation, the socket argument is renamed to sock. - The first argument of ClientConnection and ServerConnection is renamed from socket to sock for consistency with connect() and serve(). The first argument of Server is also renamed. If you’re passing it as a keyword argument, you must change your code. New features ------------ * websockets 17.0 introduces a trio implementation. - It is an alternative to the asyncio implementation. - See websockets.trio.client.connect() and websockets.trio.server.serve() for details. * Validated compatibility with Python 3.15. * Added broadcast() to the threading implementation. * Made the set of active connections available in the Server.connections property in the threading implementation. * Closed connections when shutting down the server in the threading implementation. See shutdown() for details. * Added the --insecure option to the websockets CLI to disable TLS certificate validation. Improvements ------------ * Supported non-ASCII headers consistently in handshake requests and responses, using ISO-8859-1 encoding. * Replied with HTTP 405 Method Not Allowed when the handshake request doesn’t use the GET method, and with HTTP 505 HTTP Version Not Supported when it doesn’t use HTTP/1.1, instead of closing the connection. * Replied with HTTP 414 URI Too Long or 431 Request Header Fields Too Large when the handshake request exceeds a security limit, instead of closing the connection. * Reduced noise in server logs when clients fail to establish a connection. * Clarified logs when process_request sends a plain HTTP response, without attempting to open a WebSocket connection. * Added the reconnect_delays argument for customizing the delays between reconnection attempts in connect(), beyond existing WEBSOCKETS_BACKOFF_* environment variables. * Added wheels for Windows ARM64 and Linux i686. Bug fixes --------- * Restored compatibility of the websockets CLI with Windows. * Fixed serve_forever() in the asyncio implementation so that canceling it always closes connections gracefully. * Fixed a bug that could delay or block the client in the threading implementation on macOS when the opening handshake fails. Signed-off-by: Tim Orling Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-devtools/python/python3-websockets_16.1.1.bb b/meta/recipes-devtools/python/python3-websockets_17.0.1.bb similarity index 91% rename from meta/recipes-devtools/python/python3-websockets_16.1.1.bb rename to meta/recipes-devtools/python/python3-websockets_17.0.1.bb index 6baa744fac3..b84aa0dceff 100644 --- a/meta/recipes-devtools/python/python3-websockets_16.1.1.bb +++ b/meta/recipes-devtools/python/python3-websockets_17.0.1.bb @@ -8,7 +8,7 @@ inherit pypi python_setuptools_build_meta ptest-python-pytest SRC_URI += "file://run-ptest" -SRC_URI[sha256sum] = "db234eda965dcce15df96bb9709f587cd87d4d52aaf0e80e2f34ec04c7670c57" +SRC_URI[sha256sum] = "5baa9bc0dfbae8c507e51c8cf1b6d4628086f7a87bbd3a9952bd5f035451f1cc" BBCLASSEXTEND = "native nativesdk"