1603d86393- 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.
devel
Dirk Mueller2024-10-29 17:04:19 +0000
d16e1f2cabAccepting request 1141312 from devel:languages:python
Ana Guerrero
2024-01-29 21:25:50 +0000
63a2ad2a30- Disable broken tests with openssl 3.2 and python < 3.11 bsc#1217782Daniel Garcia2024-01-24 16:30:35 +0000
fe29046a4bAccepting request 1131292 from devel:languages:python
Ana Guerrero
2023-12-07 18:09:05 +0000
eb8262d0fe- 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) protocol.Protocol, server.ServerProtocol`, and - Update to 10.4Dirk Mueller2023-12-06 09:19:34 +0000
781b5890a4Accepting request 1112605 from devel:languages:python
Ana Guerrero
2023-09-22 19:47:16 +0000
c5cb3d81f6Accepting request 1112595 from home:mcalabkova:branches:devel:languages:python:312Ondřej Súkup2023-09-20 16:04:07 +0000
27810f6d13Accepting request 1109360 from devel:languages:python
Ana Guerrero
2023-09-07 19:12:55 +0000
d8691c83dc- Include in SLE-15 (bsc#1199282, jsc#PM-3243, jsc#SLE-24629)Dirk Mueller2023-09-06 21:49:10 +0000
7ddf42e8ceAccepting request 1088821 from devel:languages:python
Dominique Leuenberger
2023-05-26 18:14:23 +0000
f04943187a- Run tests with pytest - Disable flaky test gh#python-websockets/websockets#1322Daniel Garcia2023-05-24 11:13:16 +0000
38c47a0d14Accepting request 1087125 from devel:languages:python
Dominique Leuenberger
2023-05-19 09:55:18 +0000
c083aba17f- update to 11.0.3: * Fixed the :mod:threading implementation of servers on Windows.Dirk Mueller2023-05-14 18:45:11 +0000
2a045d24e0- 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.Dirk Mueller2023-05-10 06:59:05 +0000
e6d0ef2c74Accepting request 1081725 from devel:languages:python
Dominique Leuenberger
2023-04-22 19:58:09 +0000
18bd57f078Accepting request 1081696 from home:dirkmueller:acdc:as_python3_moduleDirk Mueller2023-04-21 13:28:15 +0000
91ce7ad1baAccepting request 1035269 from devel:languages:python
Dominique Leuenberger
2022-11-12 16:40:19 +0000
f1dbe987a7Accepting request 1034940 from home:yarunachalam:branches:devel:languages:pythonMarkéta Machová2022-11-11 13:28:34 +0000
cd75130fc0Accepting request 1005792 from devel:languages:python
Dominique Leuenberger
2022-09-25 13:34:43 +0000
5b751bd6c5- 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.Dirk Mueller2022-09-24 16:19:07 +0000
34b5c70db7Accepting request 951678 from devel:languages:python
Dominique Leuenberger
2022-02-09 19:38:07 +0000
4438c717b0- 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): ...Dirk Mueller2022-02-04 22:09:57 +0000
0482f1b4f9Accepting request 928437 from devel:languages:python
Dominique Leuenberger
2021-11-01 17:35:42 +0000
8798c73929Accepting request 928326 from home:bnavigator:branches:devel:languages:pythonMatej Cepl2021-10-31 22:35:16 +0000
c82edabef4Accepting request 928264 from devel:languages:python
Dominique Leuenberger
2021-10-30 21:13:58 +0000
a70bdba5bb- The test suite is temporarily broken on Python 3.9.7 (gh#aaugustin/websockets#1051).Matej Cepl2021-10-30 12:32:16 +0000
efcfc1a210Accepting request 928132 from devel:languages:python
Dominique Leuenberger
2021-10-29 20:34:31 +0000
eed2c397fc- 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.Matej Cepl2021-10-29 13:14:59 +0000
8bac15f579Accepting request 911402 from devel:languages:python
Richard Brown
2021-08-12 07:01:26 +0000
2bb628a6c4- 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.Matej Cepl2021-08-11 09:19:36 +0000
99b8f93569- Add skip-test_keepalive_ping_with_no_ping_timeout.patch for gh#aaugustin/websockets#1026.Matej Cepl2021-08-10 07:52:37 +0000
44a7704273- Use %pyunittest macro instead of doing it on our own.Matej Cepl2021-08-10 07:18:23 +0000
9ab67a5292Accepting request 897837 from devel:languages:python
Dominique Leuenberger
2021-06-06 20:40:58 +0000
ec0b5addeb- 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` toDirk Mueller2021-06-06 12:01:51 +0000
36f43e5bcfAccepting request 851871 from devel:languages:python
Dominique Leuenberger
2020-12-01 13:22:57 +0000
bb2e419fd2Accepting request 851475 from home:jayvdb:branches:devel:languages:pythonMarkéta Machová2020-11-30 14:56:05 +0000
64d89def92Accepting request 770600 from devel:languages:python
Dominique Leuenberger
2020-02-07 14:54:22 +0000
545814b52fAccepting request 770596 from home:mcalabkova:branches:devel:languages:python
Tomáš Chvátal
2020-02-06 14:02:22 +0000
9252de4e34Accepting request 738721 from devel:languages:python
Dominique Leuenberger
2019-10-16 07:18:54 +0000
5d7a8a7115- Add python38-support.patch from upstream that fixes build failures against Python 3.8.
Steve Kowalik
2019-10-16 03:20:52 +0000
6f7e7b1817Accepting request 723124 from devel:languages:python
Dominique Leuenberger
2019-08-13 18:45:27 +0000
7b88575164- 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.
Tomáš Chvátal
2019-08-13 16:38:51 +0000
29fc4a9775Accepting request 717556 from devel:languages:python
Dominique Leuenberger
2019-07-22 15:19:25 +0000
0cb733750b- Update to 8.0.1: * Version 8.0 drops compatibility with Python 3.4 and 3.5. * Various fixes
Tomáš Chvátal
2019-07-22 11:43:21 +0000
f868567a6fAccepting request 694783 from devel:languages:python
Dominique Leuenberger
2019-05-22 08:58:08 +0000
8dfd9c5d56- Update to 7.0: * Various fixes * Repository layout changes
Tomáš Chvátal
2019-04-16 11:12:33 +0000
7c3dbc1e7cAccepting request 639323 from devel:languages:python
Dominique Leuenberger
2018-10-02 17:47:27 +0000
591e075f50- Call the tests the same way as upstream to avoid import cycles
Tomáš Chvátal
2018-10-01 07:22:45 +0000
a72473c5d2- Do make sure to error out on test failure.
Tomáš Chvátal
2018-09-24 07:35:33 +0000
f61fa03002Accepting request 632256 from devel:languages:python
Dominique Leuenberger
2018-08-31 08:47:43 +0000