Update dependency ws to v8
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| ws | ^7.4.6 -> ^8.7.0 |
||||
| @types/ws | 7.4.4 -> 8.5.3 |
Test plan: CI should pass with updated dependencies. No review required: this is an automated dependency update PR.
Release Notes
websockets/ws
v8.7.0
Features
- Added the ability to inspect the invalid handshake requests and respond to
them with a custom HTTP response. (
6e5a5ce).
Bug fixes
- The handshake is now aborted if the
Upgradeheader field value in the HTTP response is not a case-insensitive match for the value "websocket" (0fdcc0a). - The
AuthorizationandCookieheaders are no longer sent when following an insecure redirect (wss: to ws:) to the same host (d68ba9e).
v8.6.0
Features
- Added the ability to remove confidential headers on a per-redirect basis (#2030).
v8.5.0
Features
- Added the ability to use a custom
WebSocketclass on the server (#2007).
Bug fixes
- When following redirects, the
AuthorizationandCookieheaders are no longer sent if the redirect host is different from the original host (#2013).
v8.4.2
Bug fixes
- Fixed a data framing issue introduced in version 8.4.1 (#2004).
v8.4.1
Notable changes
- To improve performance, strings sent via
websocket.ping(),websocket.pong(), andwebsocket.send()are no longer converted toBuffers if the data does not need to be masked (#2000).
v8.4.0
Features
- Added ability to generate custom masking keys (#1990).
v8.3.0
Features
- Added ability to pause and resume a
WebSocket(0a8c7a9).
Bug fixes
- Fixed a bug that could prevent the connection from being closed cleanly when
using the stream API (
ed2b803). - When following redirects, an error is now emitted and not thrown if the redirect URL is invalid (#1980).
v8.2.3
Bug fixes
- When context takeover is enabled, messages are now compressed even if their size
is below the value of the
perMessageDeflate.thresholdoption (41ae563).
v8.2.2
Bug fixes
- Some closing operations are now run only if needed (
ec9377c).
v8.2.1
Bug fixes
- Fixed an issue where the socket was not resumed, preventing the connection
from being closed cleanly (
869c989).
v8.2.0
Features
- Added
WebSocket.WebSocketas an alias forWebSocketandWebSocket.WebSocketServeras an alias forWebSocket.Serverto fix name consistency and improve interoperability with the ES module wrapper (#1935).
v8.1.0
Features
- Added ability to skip UTF-8 validation (#1928).
Bug fixes
- Fixed an issue with a breaking change in Node.js master (
6a72da3). - Fixed a misleading error message (
c95e695).
v8.0.0
Breaking changes
-
The
WebSocketconstructor now throws aSyntaxErrorif any of the subprotocol names are invalid or duplicated (0aecf0c). -
The server now aborts the opening handshake if an invalid
Sec-WebSocket-Protocolheader field value is received (1877dde). -
The
protocolsargument ofhandleProtocolshook is no longer anArraybut aSet(1877dde). -
The opening handshake is now aborted if the
Sec-WebSocket-Extensionsheader field value is empty or it begins or ends with a white space (e814110). -
Dropped support for Node.js < 10.0.0 (
552b506). -
The
WebSocketconstructor now throws aSyntaxErrorif the connection URL contains a fragment identifier or if the URL's protocol is not one of'ws:','wss:', or'ws+unix:'(ebea038). -
Text messages and close reasons are no longer decoded to strings. They are passed as
Buffers to the listeners of their respective events. The listeners of the'message'event now take a boolean argument specifying whether or not the message is binary (e173423).Existing code can be migrated by decoding the buffer explicitly.
websocket.on('message', function message(data, isBinary) { const message = isBinary ? data : data.toString(); // Continue as before. }); websocket.on('close', function close(code, data) { const reason = data.toString(); // Continue as before. }); -
The package now uses an ES module wrapper (
78adf5f). -
WebSocketServer.prototype.close()no longer closes existing connections (df7de57).Existing code can be migrated by closing the connections manually.
websocketServer.close(); for (const ws of websocketServer.clients) { ws.terminate(); } -
The callback of
WebSocketServer.prototype.close()is now called with an error if the server is already closed (abde9cf). -
WebSocket.prototype.addEventListener()is now a noop if thetypeargument is not one of'close','error','message', or'open'(9558ed1). -
WebSocket.prototype.removeEventListener()now only removes listeners added withWebSocket.prototype.addEventListener()and only one at time (ea95d9c). -
The value of the
onclose,onerror,onmessage, andonopenproperties is nownullif the respective event handler is not set (6756cf5). -
The
OpenEventclass has been removed (21e6500).
Bug fixes
- The event listeners added via handler properties are now independent from the
event listeners added with
WebSocket.prototype.addEventListener()(0b21c03).
v7.5.8
Bug fixes
- Backported
0fdcc0ato the 7.x release line (2758ed3). - Backported
d68ba9eto the 7.x release line (dc1781b).
v7.5.7
Bug fixes
v7.5.6
Bug fixes
- Backported
b8186ddto the 7.x release line (73dec34). - Backported
ed2b803to the 7.x release line (22a26af).
v7.5.5
Bug fixes
v7.5.4
Bug fixes
- Backported
6a72da3to the 7.x release line (76087fb). - Backported
869c989to the 7.x release line (2799793).
v7.5.3
Bug fixes
- The
WebSocketServerconstructor now throws an error if more than one of thenoServer,server, andportoptions are specefied (66e58d2). - Fixed a bug where a
'close'event was emitted by aWebSocketServerbefore the internal HTTP/S server was actually closed (5a58730). - Fixed a bug that allowed WebSocket connections to be established after
WebSocketServer.prototype.close()was called (772236a).
v7.5.2
Bug fixes
- The opening handshake is now aborted if the client receives a
Sec-WebSocket-Extensionsheader but no extension was requested or if the server indicates an extension not requested by the client (aca94c8).
v7.5.1
Bug fixes
- Fixed an issue that prevented the connection from being closed properly if an
error occurred simultaneously on both peers (
b434b9f).
v7.5.0
Features
- Some errors now have a
codeproperty describing the specific type of error that has occurred (#1901).
Bug fixes
Configuration
📅 Schedule: Branch creation - "on the 1st through 7th day of the month" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
- [ ] If you want to rebase/retry this PR, click this checkbox.
This PR has been generated by Mend Renovate. View repository job log here.