diff --git a/CHANGES.rst b/CHANGES.rst index 89525bf9b51..6f814e43817 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -10,6 +10,48 @@ .. towncrier release notes start +3.11.17 (2025-04-19) +==================== + +Miscellaneous internal changes +------------------------------ + +- Optimized web server performance when access logging is disabled by reducing time syscalls -- by :user:`bdraco`. + + + *Related issues and pull requests on GitHub:* + :issue:`10713`. + + + +- Improved web server performance when connection can be reused -- by :user:`bdraco`. + + + *Related issues and pull requests on GitHub:* + :issue:`10714`. + + + +- Improved performance of the WebSocket reader -- by :user:`bdraco`. + + + *Related issues and pull requests on GitHub:* + :issue:`10740`. + + + +- Improved performance of the WebSocket reader with large messages -- by :user:`bdraco`. + + + *Related issues and pull requests on GitHub:* + :issue:`10744`. + + + + +---- + + 3.11.16 (2025-04-01) ==================== diff --git a/CHANGES/10713.misc.rst b/CHANGES/10713.misc.rst deleted file mode 100644 index a556d11e1e0..00000000000 --- a/CHANGES/10713.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Optimized web server performance when access logging is disabled by reducing time syscalls -- by :user:`bdraco`. diff --git a/CHANGES/10714.misc.rst b/CHANGES/10714.misc.rst deleted file mode 100644 index a36a80872f5..00000000000 --- a/CHANGES/10714.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Improved web server performance when connection can be reused -- by :user:`bdraco`. diff --git a/CHANGES/10740.misc.rst b/CHANGES/10740.misc.rst deleted file mode 100644 index 34ed19aebba..00000000000 --- a/CHANGES/10740.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Improved performance of the WebSocket reader -- by :user:`bdraco`. diff --git a/CHANGES/10744.misc.rst b/CHANGES/10744.misc.rst deleted file mode 100644 index da0d379475d..00000000000 --- a/CHANGES/10744.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Improved performance of the WebSocket reader with large messages -- by :user:`bdraco`. diff --git a/tests/test_websocket_parser.py b/tests/test_websocket_parser.py index 41da6b4e16e..6199abae359 100644 --- a/tests/test_websocket_parser.py +++ b/tests/test_websocket_parser.py @@ -330,6 +330,17 @@ def test_simple_binary( assert res == WSMessageBinary(data=b"binary", size=6, extra="") +def test_one_byte_at_a_time( + out: WebSocketDataQueue, parser: PatchableWebSocketReader +) -> None: + """Send one byte at a time to the parser.""" + data = build_frame(b"binary", WSMsgType.BINARY) + for i in range(len(data)): + parser._feed_data(data[i : i + 1]) + res = out._buffer[0] + assert res == WSMessageBinary(data=b"binary", size=6, extra="") + + def test_fragmentation_header( out: WebSocketDataQueue, parser: PatchableWebSocketReader ) -> None: