websockets/ws
### [`v8.2.2`](https://togithub.com/websockets/ws/releases/8.2.2)
[Compare Source](https://togithub.com/websockets/ws/compare/8.2.1...8.2.2)
### Bug fixes
- Some closing operations are now run only if needed ([`ec9377c`](https://togithub.com/websockets/ws/commit/ec9377ca)).
### [`v8.2.1`](https://togithub.com/websockets/ws/releases/8.2.1)
[Compare Source](https://togithub.com/websockets/ws/compare/8.2.0...8.2.1)
### Bug fixes
- Fixed an issue where the socket was not resumed, preventing the connection
from being closed cleanly ([`869c989`](https://togithub.com/websockets/ws/commit/869c9892)).
### [`v8.2.0`](https://togithub.com/websockets/ws/releases/8.2.0)
[Compare Source](https://togithub.com/websockets/ws/compare/8.1.0...8.2.0)
### Features
- Added `WebSocket.WebSocket` as an alias for `WebSocket` and
`WebSocket.WebSocketServer` as an alias for `WebSocket.Server` to fix name
consistency and improve interoperability with the ES module wrapper ([#1935](https://togithub.com/websockets/ws/issues/1935)).
### [`v8.1.0`](https://togithub.com/websockets/ws/releases/8.1.0)
[Compare Source](https://togithub.com/websockets/ws/compare/8.0.0...8.1.0)
### Features
- Added ability to skip UTF-8 validation ([#1928](https://togithub.com/websockets/ws/issues/1928)).
### Bug fixes
- Fixed an issue with a breaking change in Node.js master ([`6a72da3`](https://togithub.com/websockets/ws/commit/6a72da3e)).
- Fixed a misleading error message ([`c95e695`](https://togithub.com/websockets/ws/commit/c95e695d)).
### [`v8.0.0`](https://togithub.com/websockets/ws/releases/8.0.0)
[Compare Source](https://togithub.com/websockets/ws/compare/7.5.5...8.0.0)
### Breaking changes
- The `WebSocket` constructor now throws a `SyntaxError` if any of the
subprotocol names are invalid or duplicated ([`0aecf0c`](https://togithub.com/websockets/ws/commit/0aecf0c9)).
- The server now aborts the opening handshake if an invalid
`Sec-WebSocket-Protocol` header field value is received ([`1877dde`](https://togithub.com/websockets/ws/commit/1877ddeb)).
- The `protocols` argument of `handleProtocols` hook is no longer an `Array` but
a `Set` ([`1877dde`](https://togithub.com/websockets/ws/commit/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 ([`e814110`](https://togithub.com/websockets/ws/commit/e814110e)).
- Dropped support for Node.js < 10.0.0 ([`552b506`](https://togithub.com/websockets/ws/commit/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:'` ([`ebea038`](https://togithub.com/websockets/ws/commit/ebea038f)).
- Text messages and close reasons are no longer decoded to strings. They are
passed as `Buffer`s 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`](https://togithub.com/websockets/ws/commit/e173423c)).
Existing code can be migrated by decoding the buffer explicitly.
```js
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`](https://togithub.com/websockets/ws/commit/78adf5f7)).
- `WebSocketServer.prototype.close()` no longer closes existing connections
([`df7de57`](https://togithub.com/websockets/ws/commit/df7de574)).
Existing code can be migrated by closing the connections manually.
```js
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`](https://togithub.com/websockets/ws/commit/abde9cfc)).
- `WebSocket.prototype.addEventListener()` is now a noop if the `type` argument
is not one of `'close'`, `'error'`, `'message'`, or `'open'` ([`9558ed1`](https://togithub.com/websockets/ws/commit/9558ed1c)).
- `WebSocket.prototype.removeEventListener()` now only removes listeners added
with `WebSocket.prototype.addEventListener()` and only one at time ([`ea95d9c`](https://togithub.com/websockets/ws/commit/ea95d9c4)).
- The value of the `onclose`, `onerror`, `onmessage`, and `onopen` properties is
now `null` if the respective event handler is not set ([`6756cf5`](https://togithub.com/websockets/ws/commit/6756cf58)).
- The `OpenEvent` class has been removed ([`21e6500`](https://togithub.com/websockets/ws/commit/21e65004)).
### Bug fixes
- The event listeners added via handler properties are now independent from the
event listeners added with `WebSocket.prototype.addEventListener()`
([`0b21c03`](https://togithub.com/websockets/ws/commit/0b21c03a)).
Configuration
📅 Schedule: 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 this update again.
[ ] If you want to rebase/retry this PR, check this box.
This PR contains the following updates:
7.5.5
->8.2.2
Release Notes
websockets/ws
### [`v8.2.2`](https://togithub.com/websockets/ws/releases/8.2.2) [Compare Source](https://togithub.com/websockets/ws/compare/8.2.1...8.2.2) ### Bug fixes - Some closing operations are now run only if needed ([`ec9377c`](https://togithub.com/websockets/ws/commit/ec9377ca)). ### [`v8.2.1`](https://togithub.com/websockets/ws/releases/8.2.1) [Compare Source](https://togithub.com/websockets/ws/compare/8.2.0...8.2.1) ### Bug fixes - Fixed an issue where the socket was not resumed, preventing the connection from being closed cleanly ([`869c989`](https://togithub.com/websockets/ws/commit/869c9892)). ### [`v8.2.0`](https://togithub.com/websockets/ws/releases/8.2.0) [Compare Source](https://togithub.com/websockets/ws/compare/8.1.0...8.2.0) ### Features - Added `WebSocket.WebSocket` as an alias for `WebSocket` and `WebSocket.WebSocketServer` as an alias for `WebSocket.Server` to fix name consistency and improve interoperability with the ES module wrapper ([#1935](https://togithub.com/websockets/ws/issues/1935)). ### [`v8.1.0`](https://togithub.com/websockets/ws/releases/8.1.0) [Compare Source](https://togithub.com/websockets/ws/compare/8.0.0...8.1.0) ### Features - Added ability to skip UTF-8 validation ([#1928](https://togithub.com/websockets/ws/issues/1928)). ### Bug fixes - Fixed an issue with a breaking change in Node.js master ([`6a72da3`](https://togithub.com/websockets/ws/commit/6a72da3e)). - Fixed a misleading error message ([`c95e695`](https://togithub.com/websockets/ws/commit/c95e695d)). ### [`v8.0.0`](https://togithub.com/websockets/ws/releases/8.0.0) [Compare Source](https://togithub.com/websockets/ws/compare/7.5.5...8.0.0) ### Breaking changes - The `WebSocket` constructor now throws a `SyntaxError` if any of the subprotocol names are invalid or duplicated ([`0aecf0c`](https://togithub.com/websockets/ws/commit/0aecf0c9)). - The server now aborts the opening handshake if an invalid `Sec-WebSocket-Protocol` header field value is received ([`1877dde`](https://togithub.com/websockets/ws/commit/1877ddeb)). - The `protocols` argument of `handleProtocols` hook is no longer an `Array` but a `Set` ([`1877dde`](https://togithub.com/websockets/ws/commit/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 ([`e814110`](https://togithub.com/websockets/ws/commit/e814110e)). - Dropped support for Node.js < 10.0.0 ([`552b506`](https://togithub.com/websockets/ws/commit/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:'` ([`ebea038`](https://togithub.com/websockets/ws/commit/ebea038f)). - Text messages and close reasons are no longer decoded to strings. They are passed as `Buffer`s 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`](https://togithub.com/websockets/ws/commit/e173423c)). Existing code can be migrated by decoding the buffer explicitly. ```js 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`](https://togithub.com/websockets/ws/commit/78adf5f7)). - `WebSocketServer.prototype.close()` no longer closes existing connections ([`df7de57`](https://togithub.com/websockets/ws/commit/df7de574)). Existing code can be migrated by closing the connections manually. ```js 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`](https://togithub.com/websockets/ws/commit/abde9cfc)). - `WebSocket.prototype.addEventListener()` is now a noop if the `type` argument is not one of `'close'`, `'error'`, `'message'`, or `'open'` ([`9558ed1`](https://togithub.com/websockets/ws/commit/9558ed1c)). - `WebSocket.prototype.removeEventListener()` now only removes listeners added with `WebSocket.prototype.addEventListener()` and only one at time ([`ea95d9c`](https://togithub.com/websockets/ws/commit/ea95d9c4)). - The value of the `onclose`, `onerror`, `onmessage`, and `onopen` properties is now `null` if the respective event handler is not set ([`6756cf5`](https://togithub.com/websockets/ws/commit/6756cf58)). - The `OpenEvent` class has been removed ([`21e6500`](https://togithub.com/websockets/ws/commit/21e65004)). ### Bug fixes - The event listeners added via handler properties are now independent from the event listeners added with `WebSocket.prototype.addEventListener()` ([`0b21c03`](https://togithub.com/websockets/ws/commit/0b21c03a)).Configuration
📅 Schedule: 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 this update again.
This PR has been generated by WhiteSource Renovate. View repository job log here.