File python-websockets.changes of Package python-websockets

-------------------------------------------------------------------
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 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 <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 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 <daniel.garcia@suse.com>

- Disable broken tests with openssl 3.2 and python < 3.11 bsc#1217782

-------------------------------------------------------------------
Wed Dec  6 09:18:32 UTC 2023 - Dirk Müller <dmueller@suse.com>

- update to 12.0:
  * websockets 12.0 requires Python ≥ 3.8.
  * Made convenience imports from ``websockets`` compatible with
    static code analysis tools such as auto-completion in an IDE
    or type checking with mypy_.
  * Accepted a plain :class:`int` where an
    :class:`~http.HTTPStatus` is expected.
  * Added :class:`~frames.CloseCode`.
- drop py312-shutdown.patch (upstream)

-------------------------------------------------------------------
Wed Sep 20 14:58:11 UTC 2023 - Markéta Machová <mmachova@suse.com>

- Add py312-shutdown.patch to fix server shutdown on Python 3.12

-------------------------------------------------------------------
Wed May 24 11:10:45 UTC 2023 - Daniel Garcia <daniel.garcia@suse.com>

- Run tests with pytest
- Disable flaky test gh#python-websockets/websockets#1322

-------------------------------------------------------------------
Sun May 14 18:45:02 UTC 2023 - Dirk Müller <dmueller@suse.com>

- update to 11.0.3:
  * Fixed the :mod:`threading` implementation of servers on
    Windows.

-------------------------------------------------------------------
Wed May 10 06:57:26 UTC 2023 - Dirk Müller <dmueller@suse.com>

- update to 11.0.2:
  * Fixed a deadlock in the :mod:`threading` implementation when
    closing a connection without reading all messages.
  * Restored the C extension in the source distribution.
  * Backwards-incompatible changes
  * The Sans-I/O implementation was moved.
  * The ``connection`` module was renamed to ``protocol``.
  * The ``connection.Connection``, ``server.ServerConnection``,
    and ``client.ClientConnection`` classes were renamed to
    ``protocol.Protocol``, ``server.ServerProtocol``, and
    ``client.ClientProtocol``.
  * If you instantiate :class:`~server.ServerProtocol` or
    :class:`~client.ClientProtocol` directly, make sure you are
    using keyword arguments.
  * Closing a connection without an empty close frame is OK.
  * .. admonition:: websockets 10.0 introduces a implementation
    on top of :mod:`threading`.
  * It may be more convenient if you don't need to manage many
    connections and you're more comfortable with :mod:`threading`
    than :mod:`asyncio`.
  * It is particularly suited to client applications that
    establish only one connection. It may be used for servers
    handling few connections.
  * See :func:`~sync.client.connect` and
    :func:`~sync.server.serve` for details.
  * Added ``open_timeout`` to :func:`~server.serve`.
  * Made it possible to close a server without closing existing
    connections.
  * Added :attr:`~server.ServerProtocol.select_subprotocol` to
    customize negotiation of subprotocols in the Sans-I/O layer.
  * Added platform-independent wheels.
  * Improved error handling in :func:`~websockets.broadcast`.
  * Set ``server_hostname`` automatically on TLS connections when
    providing a ``sock`` argument to :func:`~sync.client.connect`.

-------------------------------------------------------------------
Fri Apr 21 12:38:50 UTC 2023 - Dirk Müller <dmueller@suse.com>

- add sle15_python_module_pythons (jsc#PED-68)

-------------------------------------------------------------------
Thu Apr 13 22:45:55 UTC 2023 - Matej Cepl <mcepl@suse.com>

- Make calling of %{sle15modernpython} optional.

-------------------------------------------------------------------
Wed Nov  9 19:45:34 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>

- Update to 10.4
  New features
  * Validated compatibility with Python 3.11.
  * Added the latency property to protocols.
  * Changed ping to return the latency of the connection.
  * Supported overriding or removing the User-Agent header in clients and the Server header in servers.
  * Added deployment guides for more Platform as a Service providers.

-------------------------------------------------------------------
Sat Sep 24 16:17:47 UTC 2022 - Dirk Müller <dmueller@suse.com>

- update to 10.3:
  * Reduced noise in logs when :mod:`ssl` or :mod:`zlib` raise exceptions.
  * Made compression negotiation more lax for compatibility with Firefox.
  * Improved FAQ and quick start guide.
  * Fixed backwards-incompatibility in 10.1 for connection handlers created with
  * Avoided leaking open sockets when :func:`~client.connect` is canceled.

-------------------------------------------------------------------
Thu Jul 21 11:39:54 UTC 2022 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>

- Include in SLE-15 (bsc#1199282, jsc#PM-3243, jsc#SLE-24629)

-------------------------------------------------------------------
Fri Feb  4 22:08:32 UTC 2022 - Dirk Müller <dmueller@suse.com>

- update to 10.1:
  * Made the second parameter of connection handlers optional. It will be
    deprecated in the next major release. The request path is available in
    the :attr:`~legacy.protocol.WebSocketCommonProtocol.path` attribute of
    the first argument.
    If you implemented the connection handler of a server as::
        async def handler(request, path):
            ...

    You should replace it by::

        async def handler(request):
            path = request.path  # if handler() uses the path argument
            ...
  * Added ``python -m websockets --version``.
  * Reverted optimization of default compression settings for clients, mainly to
    avoid triggering bugs in poorly implemented servers like `AWS API Gateway`_.
  * Mirrored the entire :class:`~asyncio.Server` API
    in :class:`~server.WebSocketServer`.
  * Improved performance for large messages on ARM processors.
  * Documented how to auto-reload on code changes in development.
  * Avoided half-closing TCP connections that are already closed.

-------------------------------------------------------------------
Sat Oct 30 22:51:02 UTC 2021 - Ben Greiner <code@bnavigator.de>

- Reactivate python39 build, only disable testing. No need to break
  consuming packages -- gh#aaugustin/websockets#1051

-------------------------------------------------------------------
Fri Oct 29 05:31:17 UTC 2021 - Matej Cepl <mcepl@suse.com>

- Update to 10.0:
  - Backwards-incompatible changes
    - websockets 10.0 requires Python ≥ 3.7.
    - The ``loop`` parameter is deprecated from all APIs.
      The ``loop`` parameter is also removed
      from `~server.WebSocketServer`. This should be transparent.
    - `~client.connect` times out after 10 seconds by default.
      You can adjust the timeout with the ``open_timeout`` parameter. Set it to
      `None` to disable the timeout entirely.
    - The ``legacy_recv`` option is deprecated.
    - The signature of `~exceptions.ConnectionClosed` changed.
      If you raise `~exceptions.ConnectionClosed` or a subclass, rather
      than catch them when websockets raises them, you must change your code.
    - A ``msg`` parameter was added to `~exceptions.InvalidURI`.
      If you raise `~exceptions.InvalidURI`, rather than catch it when
      websockets raises it, you must change your code.
  - New features
    - websockets 10.0 introduces a Sans-I/O API for easier
      integration in third-party libraries.
    - Added compatibility with Python 3.10.
    - Added `~websockets.broadcast` to send a message to many
      clients.
    - Added support for reconnecting automatically by using
      `~client.connect` as an asynchronous iterator.
    - Added ``open_timeout`` to :func:`~client.connect`.
    - Documented how to integrate with Django.
    - Documented how to deploy websockets in production, with
      several options.
    - Documented how to authenticate connections.
    - Documented how to broadcast messages to many connections.
  - Improvements
    - Improved logging.
    - Optimized default compression settings to reduce memory
      usage.
    - Optimized processing of client-to-server messages when the
      C extension isn't available.
    - Supported relative redirects in `~client.connect`.
    - Handled TCP connection drops during the opening handshake.
    - Made it easier to customize authentication with
      `~auth.BasicAuthWebSocketServerProtocol.check_credentials`.
    - Provided additional information in
      `~exceptions.ConnectionClosed` exceptions.
    - Clarified several exceptions or log messages.
    - Restructured documentation.
    - Improved API documentation.
    - Extended FAQ.
  - Bug fixes
    - Avoided a crash when receiving a ping while the connection
      is closing.
- The test suite is temporarily broken on Python 3.9.7
  (gh#aaugustin/websockets#1051).

-------------------------------------------------------------------
Wed Aug 11 09:17:13 UTC 2021 - Matej Cepl <mcepl@suse.com>

- Increase WEBSOCKETS_TESTS_TIMEOUT_FACTOR to 10 to make
  test_keepalive_ping_with_no_ping_timeout pass again.
- Remove skip-test_keepalive_ping_with_no_ping_timeout.patch, of course.

-------------------------------------------------------------------
Tue Aug 10 07:18:14 UTC 2021 - Matej Cepl <mcepl@suse.com>

- Use %pyunittest macro instead of doing it on our own.
- Add skip-test_keepalive_ping_with_no_ping_timeout.patch for
  gh#aaugustin/websockets#1026.

-------------------------------------------------------------------
Sun Jun  6 12:00:22 UTC 2021 - Dirk Müller <dmueller@suse.com>

- update to 9.1:
   **Version 9.1 fixes a security issue introduced in version 8.0.**
  * Restored compatibility of ``python -m websockets`` with Python < 3.9.
  * Restored compatibility with mypy.
  * Fixed issues with the packaging of the 9.0 release.
      * :class:`~datastructures.Headers` and
	:exc:`~datastructures.MultipleValuesError` were moved from
	``websockets.http`` to :mod:`websockets.datastructures`. If you're using
	them, you should adjust the import path.
      * The ``client``, ``server``, ``protocol``, and ``auth`` modules were
	moved from the ``websockets`` package to ``websockets.legacy``
	sub-package, as part of an upcoming refactoring. Despite the name,
	they're still fully supported. The refactoring should be a transparent
	upgrade for most uses when it's available. The legacy implementation
	will be preserved according to the `backwards-compatibility policy`_.
      * The ``framing``, ``handshake``, ``headers``, ``http``, and ``uri``
	modules in the ``websockets`` package are deprecated. These modules
	provided low-level APIs for reuse by other WebSocket implementations,
	but that never happened. Keeping these APIs public makes it more
	difficult to improve websockets for no actual benefit.
  * Added compatibility with Python 3.9.
  * Added support for IRIs in addition to URIs.
  * Added close codes 1012, 1013, and 1014.
  * Raised an error when passing a :class:`dict` to

-------------------------------------------------------------------
Sat Nov 28 10:59:12 UTC 2020 - John Vandenberg <jayvdb@gmail.com>

- Remove Suggest python-asyncio, which is in Python 3 stdlib

-------------------------------------------------------------------
Thu Feb  6 13:45:03 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>

- update to 8.1
  * Added compatibility with Python 3.8.
- drop upstreamed patch python38-support.patch

-------------------------------------------------------------------
Wed Oct 16 03:19:43 UTC 2019 - Steve Kowalik <steven.kowalik@suse.com>

- Add python38-support.patch from upstream that fixes build failures
  against Python 3.8.

-------------------------------------------------------------------
Tue Aug 13 16:35:47 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>

- Update to 8.0.2:
  * Restored the ability to pass a socket with the sock parameter of :func:`~server.serve`.
  * Removed an incorrect assertion when a connection drops.

-------------------------------------------------------------------
Mon Jul 22 11:41:40 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>

- Update to 8.0.1:
  * Version 8.0 drops compatibility with Python 3.4 and 3.5.
  * Various fixes

-------------------------------------------------------------------
Tue Apr 16 11:11:59 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>

- Update to 7.0:
  * Various fixes
  * Repository layout changes

-------------------------------------------------------------------
Mon Oct  1 07:22:29 UTC 2018 - Tomáš Chvátal <tchvatal@suse.com>

- Call the tests the same way as upstream to avoid import cycles

-------------------------------------------------------------------
Mon Sep 24 07:35:18 UTC 2018 - Tomáš Chvátal <tchvatal@suse.com>

- Do make sure to error out on test failure.

-------------------------------------------------------------------
Wed Aug 29 11:41:58 UTC 2018 - tchvatal@suse.com

- Version update to 6.0:
  * compatibility with python 3.6

-------------------------------------------------------------------
Wed Jun 27 09:20:26 UTC 2018 - abergmann@suse.com

- Update to version 5.0.1
  * CVE-2018-1000518: Defend against zip bombs (boo#1099269).

-------------------------------------------------------------------
Sat Oct  7 16:20:14 UTC 2017 - stefan.bruens@rwth-aachen.de

- Add WEBSOCKETS_TESTS_TIMEOUT_FACTOR=5, otherwise tests in several
  projects fail

-------------------------------------------------------------------
Thu Sep  7 22:42:52 UTC 2017 - toddrme2178@gmail.com

- initial version
openSUSE Build Service is sponsored by