diff --git a/12.0.tar.gz b/12.0.tar.gz deleted file mode 100644 index 6108dd6..0000000 --- a/12.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:49978ae3f2aedf1c40ce9031c547fb766deaf7e86c3ec9677f0f5991bdc160ec -size 352120 diff --git a/python-websockets.changes b/python-websockets.changes index 424bc7e..3f5384f 100644 --- a/python-websockets.changes +++ b/python-websockets.changes @@ -1,3 +1,89 @@ +------------------------------------------------------------------- +Tue May 6 09:28:40 UTC 2025 - Daniel Garcia + +- Skip flaky tests for s390x +- Increase WEBSOCKETS_TESTS_TIMEOUT_FACTOR to 50 to fix flaky tests in + different architectures, bsc#1242254 + +------------------------------------------------------------------- +Fri Feb 14 12:10:52 UTC 2025 - Nico Krapp + +- Update to 14.2 + * Added support for regular expressions in the origins argument of serve() + * Wrapped errors when reading the opening handshake request or response in + InvalidMessage so that connect() raises InvalidHandshake or a subclass + when the opening handshake fails + * Fixed recv() with timeout=0 in the threading implementation. If a message + is already received, it is returned. Previously, TimeoutError was + raised incorrectly + * Fixed a crash in the asyncio implementation when cancelling a ping then + receiving the corresponding pong + * Prevented close() from blocking when the network becomes unavailable or + when receive buffers are saturated in the asyncio and threading + implementations +- Update to 14.1 + * Supported max_queue=None in the asyncio and threading implementations + for consistency with the legacy implementation, even though this is + never a good idea + * Added close_code and close_reason attributes in the asyncio and + threading implementations for consistency with the legacy implementation + * Once the connection is closed, messages previously received and buffered + can be read in the asyncio and threading implementations, just like in + the legacy implementation +- Update to 14.0 + * Added an option to receive text frames as bytes, without decoding, in + the threading implementation; also binary frames as str + * Added an option to send bytes in a text frame in the asyncio and + threading implementations; also str in a binary frame + * The threading implementation receives messages faster. + * Sending or receiving large compressed messages is now faster. + * Errors when a fragmented message is too large are clearer. + * Log messages at the WARNING and INFO levels no longer include + stack traces. + * Clients no longer crash when the server rejects the opening handshake + and the HTTP response doesn’t Include a Content-Length header. + * Returning an HTTP response in process_request or process_response + doesn’t generate a log message at the ERROR level anymore. + * Connections are closed with code 1007 (invalid data) when receiving + invalid UTF-8 in a text frame. + +------------------------------------------------------------------- +Tue Oct 29 16:04:09 UTC 2024 - John Paul Adrian Glaubitz + +- Update to 13.1 + * Added support for reconnecting automatically by using connect() + as an asynchronous iterator to the new asyncio implementation. + * connect() now follows redirects in the new asyncio implementation. + * Added HTTP Basic Auth to the new asyncio and threading implementations + of servers. + * Made the set of active connections available in the Server.connections + property. + * Improved reporting of errors during the opening handshake. + * Raised ConcurrencyError on unsupported concurrent calls. Previously, + RuntimeError was raised. For backwards compatibility, ConcurrencyError + is a subclass of RuntimeError. + * The new asyncio and threading implementations of servers don’t start the + connection handler anymore when process_request or process_response returns + an HTTP response. + * Fixed a bug in the threading implementation that could lead to incorrect + error reporting when closing a connection while recv() is running. +- from version 13.0.1 + * Restored the C extension in the source distribution. +- from version 13.0 + * Validated compatibility with Python 3.12 and 3.13. + * Added environment variables to configure debug logs, the Server and + User-Agent headers, as well as security limits. + * If you were monkey-patching constants, be aware that they were renamed, + which will break your configuration. You must switch to the environment + variables. + * The error message in server logs when a header is too long is more explicit. + * Fixed a bug in the threading implementation that could prevent the program + from exiting when a connection wasn’t closed properly. + * Redirecting from a ws:// URI to a wss:// URI now works. + * broadcast(raise_exceptions=True) no longer crashes when there isn’t + any exception. +- Remove stray speedups.c from websockets Python directory + ------------------------------------------------------------------- Wed Jan 24 16:29:29 UTC 2024 - Daniel Garcia diff --git a/python-websockets.spec b/python-websockets.spec index c6a955b..7370119 100644 --- a/python-websockets.spec +++ b/python-websockets.spec @@ -1,7 +1,7 @@ # # spec file for package python-websockets # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,14 +18,15 @@ %{?sle15_python_module_pythons} Name: python-websockets -Version: 12.0 +Version: 14.2 Release: 0 Summary: An implementation of the WebSocket Protocol (RFC 6455) License: BSD-3-Clause Group: Development/Languages/Python URL: https://github.com/aaugustin/websockets -Source: https://github.com/aaugustin/websockets/archive/%{version}.tar.gz +Source: https://github.com/aaugustin/websockets/archive/%{version}.tar.gz#/websockets-%{version}.tar.gz BuildRequires: %{python_module devel >= 3.8} +BuildRequires: %{python_module pip} BuildRequires: %{python_module pytest} BuildRequires: %{python_module setuptools} BuildRequires: fdupes @@ -46,25 +47,37 @@ concurrent applications. %build export CFLAGS="%{optflags}" -%python_build +%pyproject_wheel %install -%python_install +%pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitearch} +%python_expand rm -f %{buildroot}%{$python_sitearch}/websockets/speedups.c %check # Test execution speed depends on BS load and architecture, relax -export WEBSOCKETS_TESTS_TIMEOUT_FACTOR=10 +export WEBSOCKETS_TESTS_TIMEOUT_FACTOR=50 # Disable flaky tests gh#python-websockets/websockets#1322 donttest="test_close_waits_for_close_frame" # Disable broken tests with openssl 3.2 and python < 3.11 donttest+=" or test_reject_invalid_server_certificate" + +%ifarch s390x +# Skip flaky tests +donttest+=" or test_context_takeover" +donttest+=" or test_decompress_max_size" +donttest+=" or test_encode_decode_fragmented_binary_frame" +donttest+=" or test_encode_decode_fragmented_text_frame" +donttest+=" or test_remote_no_context_takeove" +donttest+=" or test_writing_in_send_context_fails" +%endif + %pytest_arch -v -k "not ($donttest)" tests %files %{python_files} %license LICENSE %doc README.rst %{python_sitearch}/websockets -%{python_sitearch}/websockets-%{version}-py*.egg-info +%{python_sitearch}/websockets-%{version}.dist-info %changelog diff --git a/websockets-14.2.tar.gz b/websockets-14.2.tar.gz new file mode 100644 index 0000000..8b205ce --- /dev/null +++ b/websockets-14.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a66f8b1dfda367398fa4806435d0eca4ef6ae5563d2f192916dfa40a2646696 +size 427526