- remove exceptiongroup dependency for Python >= 3.11
- fix client hang when connection lost just after remote closes
- fixed exception when installed trio package version has a suffix like
+dev
- fixed a race condition where, just after a local-initiated close, the
closed
attribute would beNone
, andsend_message()
would be silently ignored (wsproto < 0.2.0) or leak aLocalProtocolError
(wsproto >= 0.2.0) rather than raiseConnectionClosed
(#158)
send_message()
is changed to raiseConnectionClosed
when a close handshake is in progress. Previously, it would silently ignore the call, which was an oversight, given thatConnectionClosed
is defined to cover connections "closed or in the process of closing". Notably, this fixessend_message()
leaking a wsprotoLocalProtocolError
with wsproto >= 1.2.0. (#175)
Released as a minor version increment, since code calling send_message()
is expected to handle ConnectionClosed
anyway.
- avoid MultiError warnings with trio >= 0.22
- drop support for Python 3.5, 3.6
- the server will now correctly close the TCP stream on a CloseConnection event (#115)
- fix client open_websocket_url() when the URL path component is empty (#148)
NOTE:
wsaccel
, which was important for good performance ofwsproto <= 0.14
, has been dropped as a trio-websocket requirement. So ensure that your app either upgrades towsproto >= 0.15
or explicitly requireswsaccel
.
- allow dependency on recent
wsproto
versions - eliminate
yarl
,ipaddress
, andwsaccel
dependencies
- avoid contributing to dropped exceptions during finalization. (See Trio issue python-trio/trio#1559 for background.)
- reader task no longer raises unhandled exception on ClosedResourceError (#134)
- minor issues in example code, documentation, and type-hinting