The WebSocket constructor now throws a SyntaxError if any of the
subprotocol names are invalid or duplicated (0aecf0c9).
The server now aborts the opening handshake if an invalid
Sec-WebSocket-Protocol header field value is received (1877ddeb).
The protocols argument of handleProtocols hook is no longer an Array but
a Set (1877ddeb).
The opening handshake is now aborted if the Sec-WebSocket-Extensions header
field value is empty or it begins or ends with a white space (e814110e).
Dropped support for Node.js < 10.0.0 (552b5067).
The WebSocket constructor now throws a SyntaxError if the connection URL
contains a fragment identifier or if the URL's protocol is not one of 'ws:',
'wss:', or 'ws+unix:' (ebea038f).
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 (e173423c).
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 (78adf5f7).
WebSocketServer.prototype.close() no longer closes existing connections
(df7de574).
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 (abde9cfc).
WebSocket.prototype.addEventListener() is now a noop if the type argument
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps ws from 7.5.2 to 8.0.0.
Release notes
Sourced from ws's releases.
... (truncated)
Commits
fc40248
[dist] 8.0.021e6500
[major] Overhaul event classesbd7febb
[minor] Fix nits6756cf5
[fix] Returnnull
if the event handler is not set8c61563
[fix] Make listeners added via event handler properties independentea95d9c
[major] Ignore listeners not added withWebSocket#addEventListener()
9558ed1
[major] MakeWebSocket#addEventListener()
ignore non standard events77a675c
[minor] Remove unneeded setters64b3c71
[pkg] Update mocha to version 8.4.0abde9cf
[major] Call the callback with an error if the server is closedDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)