You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
and ensured only negotiated subprotocols are echoed in responses.
11
-
- Added graceful close attempts when recv/send fails during WebSocket message handling.
12
-
- Introduced `WsEvent<T>` for split WebSockets to distinguish data messages from close events.
13
-
- Made `WebSocket::recv<T>` data-only; ping/pong and close frames are handled internally.
14
-
- Centralized raw message receiving to avoid parsing control frames as application data.
15
-
- Implemented best-effort close handshakes with proper error filtering for expected disconnects.
16
-
- Added protocol invariants (`debug_assert!`) for unexpected raw frames.
17
-
- Updated SSE message handling to store multiple fields while preserving replace semantics for data/event/id/retry and allowing dynamic comments, plus fixed append to split multi-line data correctly.
18
-
- Expanded SSE response headers to include charset, keep-alive, and proxy buffering control, with tests updated to match.
19
-
- Added `SseStream` that implements `IntoResponse`, and can be created from `Message` by calling `once`/`repeat` methods.
20
-
- Added implementations of async-stream for SSE and byte stream responses;
21
-
- Added zero-cost incoming HTTP body stream extractor
22
-
- Relaxed requirements for middleware and handler args, they no longer needed to be `Sync`.
23
-
- Relaxed requirements for stream and box bodies, they no longer needed to be `Sync`.
8
+
## 0.8.3
9
+
10
+
### Added
11
+
* New async stream macro, helpers and extractors (#155)
12
+
13
+
### Changed
14
+
* WebSocket improvements (#153)
15
+
* SSE Improvements (#154)
16
+
* SSE improvements + relaxed Sync requirements for middleware and handers (#156)
0 commit comments