Sync from SUSE:SLFO:Main python-websockets revision cd9e1fe5ff72aebc4e80e7230ca71f7f

This commit is contained in:
2025-05-17 16:13:47 +02:00
parent 09307c359b
commit 163e76dec7
4 changed files with 109 additions and 10 deletions

BIN
12.0.tar.gz (Stored with Git LFS)

Binary file not shown.

View File

@@ -1,3 +1,89 @@
-------------------------------------------------------------------
Tue May 6 09:28:40 UTC 2025 - Daniel Garcia <daniel.garcia@suse.com>
- 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 <nico.krapp@suse.com>
- 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 doesnt Include a Content-Length header.
* Returning an HTTP response in process_request or process_response
doesnt 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 <adrian.glaubitz@suse.com>
- 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 dont 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 wasnt closed properly.
* Redirecting from a ws:// URI to a wss:// URI now works.
* broadcast(raise_exceptions=True) no longer crashes when there isnt
any exception.
- Remove stray speedups.c from websockets Python directory
-------------------------------------------------------------------
Wed Jan 24 16:29:29 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>

View File

@@ -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

BIN
websockets-14.2.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.