297fff8 | Luigi Pinca | 09 December 2023, 14:36:51 UTC | [dist] 8.15.0 | 09 December 2023, 14:49:10 UTC |
93e3552 | Luigi Pinca | 09 December 2023, 13:21:18 UTC | [feature] Introduce the `allowMultipleEventsPerMicrotask` option The `allowMultipleEventsPerMicrotask` option allows the `'message'`, `'ping'`, and `'pong'` events to be emitted more than once per microtask. Refs: https://github.com/websockets/ws/pull/2160 | 09 December 2023, 14:49:10 UTC |
603a039 | Luigi Pinca | 09 December 2023, 12:23:48 UTC | [doc] Add JSDoc for the `finishRequest` option | 09 December 2023, 14:49:10 UTC |
c320738 | Luigi Pinca | 09 December 2023, 10:00:40 UTC | [test] Fix nits | 09 December 2023, 14:49:10 UTC |
5a3036e | Luigi Pinca | 09 December 2023, 07:38:10 UTC | [test] Merge some tests | 09 December 2023, 14:49:00 UTC |
dd1994d | Luigi Pinca | 08 December 2023, 20:13:55 UTC | [ci] Test on node 21 | 08 December 2023, 20:13:55 UTC |
208220d | Luigi Pinca | 08 December 2023, 16:45:44 UTC | [lint] Fix prettier error | 08 December 2023, 16:45:44 UTC |
726abc3 | Luigi Pinca | 08 December 2023, 16:43:13 UTC | [test] Fix flaky test | 08 December 2023, 16:43:13 UTC |
a049674 | Luigi Pinca | 04 November 2023, 19:49:31 UTC | [ci] Update actions/setup-node action to v4 | 04 November 2023, 19:49:31 UTC |
d8dd485 | Luigi Pinca | 19 September 2023, 15:20:57 UTC | [dist] 8.14.2 | 19 September 2023, 15:21:19 UTC |
7f4e1a7 | Luigi Pinca | 19 September 2023, 13:33:39 UTC | [fix] Add missing rejection handler Use `queueMicrotask()` when available and add a rejection handler to the shim for it. | 19 September 2023, 13:50:08 UTC |
7460049 | Luigi Pinca | 08 September 2023, 15:52:39 UTC | [dist] 8.14.1 | 08 September 2023, 15:52:39 UTC |
397b89e | Luigi Pinca | 08 September 2023, 15:41:04 UTC | [ci] Update actions/checkout action to v4 | 08 September 2023, 15:41:04 UTC |
fd3c64c | Luigi Pinca | 08 September 2023, 14:03:26 UTC | [test] Fix flaky tests on Windows | 08 September 2023, 15:30:59 UTC |
ae60ce0 | Jérôme Benoit | 08 September 2023, 14:12:32 UTC | [ci] Cache downloaded npm dependencies (#2166) | 08 September 2023, 14:12:32 UTC |
511aefe | Luigi Pinca | 06 September 2023, 14:18:08 UTC | [pkg] Silence npm warning | 06 September 2023, 14:18:08 UTC |
ddba690 | Luigi Pinca | 06 September 2023, 14:14:55 UTC | [doc] Fix the type of the `socket` argument | 06 September 2023, 14:17:06 UTC |
d307684 | Luigi Pinca | 06 September 2023, 13:35:25 UTC | [dist] 8.14.0 | 06 September 2023, 13:35:25 UTC |
c1d26c3 | Luigi Pinca | 06 September 2023, 13:30:33 UTC | [test] Fix failing test | 06 September 2023, 13:30:33 UTC |
5b577fe | Luigi Pinca | 06 September 2023, 13:06:15 UTC | [pkg] Remove native-duplexpair dev dependency It seems to be no longer maintained. | 06 September 2023, 13:06:15 UTC |
62521f2 | Luigi Pinca | 31 August 2023, 19:37:11 UTC | [minor] Fix nits | 31 August 2023, 19:37:11 UTC |
31da417 | Tim Perry | 31 August 2023, 19:09:31 UTC | [fix] Make `server.handleUpgrade()` work with any duplex stream (#2165) | 31 August 2023, 19:09:31 UTC |
347aab6 | Luigi Pinca | 28 August 2023, 13:05:57 UTC | [feature] Allow http and https schemes (#2162) Allow HTTP(S) URLs to be used in the WebSocket constructor. They are immediately converted to the ws and wss schemes. Refs: https://github.com/whatwg/websockets/pull/45 | 28 August 2023, 13:05:57 UTC |
79dab96 | Luigi Pinca | 28 August 2023, 13:05:11 UTC | [fix] Emit at most one event per microtask (#2160) To improve compatibility with the WHATWG standard, emit at most one of `'message'`, `'ping'`, and `'pong'` events per tick. Fixes #2159 | 28 August 2023, 13:05:11 UTC |
67007fc | Luigi Pinca | 21 August 2023, 14:50:15 UTC | [test] Reduce message size from 20 MiB to 4 MiB | 21 August 2023, 14:50:15 UTC |
8eb2c47 | Luigi Pinca | 20 August 2023, 09:12:01 UTC | [test] Fix nits | 20 August 2023, 09:13:58 UTC |
5299b0e | Luigi Pinca | 20 August 2023, 08:54:08 UTC | [test] Remove redundant tests | 20 August 2023, 09:13:46 UTC |
8f5cc9d | Luigi Pinca | 19 August 2023, 08:30:15 UTC | [pkg] Update eslint-config-prettier to version 9.0.0 | 19 August 2023, 08:30:15 UTC |
0b235e0 | Luigi Pinca | 11 July 2023, 12:09:24 UTC | [ci] Run the lint step on node 20 | 11 July 2023, 12:10:14 UTC |
12a0a9c | Luigi Pinca | 11 July 2023, 12:06:34 UTC | [pkg] Update eslint-plugin-prettier to version 5.0.0 | 11 July 2023, 12:06:34 UTC |
0368beb | Luigi Pinca | 11 July 2023, 12:05:48 UTC | [pkg] Update prettier to version 3.0.0 | 11 July 2023, 12:05:48 UTC |
06728e4 | Luigi Pinca | 25 April 2023, 18:29:28 UTC | [ci] Update coverallsapp/github-action action to v2 | 25 April 2023, 18:40:37 UTC |
d1bb536 | Luigi Pinca | 19 April 2023, 19:25:01 UTC | [ci] Test on node 20 | 19 April 2023, 19:25:01 UTC |
5bdc880 | Luigi Pinca | 19 April 2023, 19:24:12 UTC | [ci] Do not test on node 19 | 19 April 2023, 19:24:12 UTC |
45e17ac | Luigi Pinca | 10 March 2023, 17:47:00 UTC | [pkg] 8.13.0 | 10 March 2023, 17:47:00 UTC |
23acf8c | Luigi Pinca | 10 March 2023, 15:00:24 UTC | [test] Fix nits | 10 March 2023, 15:13:07 UTC |
cd89e07 | Matthijs van Duin | 10 March 2023, 14:16:35 UTC | [feature] Add option to support late addition of headers (#2123) This supports the use-case where headers need to be added that depend on the socket connection (e.g. for TLS channel binding). | 10 March 2023, 14:16:35 UTC |
b4b9d5a | Matthijs van Duin | 09 March 2023, 20:24:34 UTC | [test] Fix failing test when using the domain module (#2126) Fix a failure in `test/create-websocket-stream.test.js` if the domain module is loaded (e.g. due to `NODE_OPTIONS` in environment). The cause of the failure was that installing an `'uncaughtException'` event handler on `process` causes the domain module to prepend its own handler for the same event, which confused the test. Fixes #2124 | 09 March 2023, 20:24:34 UTC |
41dc56a | Luigi Pinca | 14 February 2023, 20:01:42 UTC | [doc] Remove misleading information | 14 February 2023, 20:01:42 UTC |
a04578e | Luigi Pinca | 13 February 2023, 20:14:47 UTC | [dist] 8.12.1 | 13 February 2023, 20:14:47 UTC |
0d114ef | Kalin Kostov | 13 February 2023, 20:12:13 UTC | [pkg] Add browser condition (#2118) Fixes #2117 | 13 February 2023, 20:12:13 UTC |
2862c2f | Luigi Pinca | 23 January 2023, 20:32:38 UTC | [doc] Add error handlers to examples and code snippets Closes #2112 | 23 January 2023, 21:20:23 UTC |
a3214d3 | Luigi Pinca | 07 January 2023, 19:27:46 UTC | [dist] 8.12.0 | 07 January 2023, 19:27:46 UTC |
42d79f6 | Luigi Pinca | 07 January 2023, 15:47:14 UTC | [minor] Use `buffer.isUtf8()` if possible Closes #2110 | 07 January 2023, 19:04:25 UTC |
ff63bba | Luigi Pinca | 06 January 2023, 20:31:34 UTC | [pkg] Update utf-8-validate to version 6.0.0 | 06 January 2023, 21:54:43 UTC |
d412358 | Luigi Pinca | 20 December 2022, 20:41:28 UTC | [minor] Fix nits | 20 December 2022, 20:41:28 UTC |
2dc2812 | Luigi Pinca | 20 December 2022, 19:07:00 UTC | [minor] Make `sendAfterClose()` call the callback in the next tick | 20 December 2022, 20:36:13 UTC |
fb1dfd2 | Luigi Pinca | 16 December 2022, 09:30:38 UTC | [doc] Fix badge URL | 16 December 2022, 09:30:38 UTC |
83c72cf | Luigi Pinca | 13 December 2022, 17:47:29 UTC | [perf] Make `toBuffer()` use `FastBuffer` Skip unnecessary parameter validation performed by `Buffer.from()` when possible. | 13 December 2022, 20:50:47 UTC |
1b057f9 | Luigi Pinca | 13 December 2022, 10:32:20 UTC | [minor] Fix nit | 13 December 2022, 10:32:20 UTC |
e6a32f8 | Luigi Pinca | 13 December 2022, 09:05:18 UTC | [perf] Use `FastBuffer` instead of `Buffer#subarray()` `Buffer.prototype.subarray()` performance is subpar on Node.js < 16.15.0. | 13 December 2022, 09:43:28 UTC |
9e0fd77 | Luigi Pinca | 12 December 2022, 10:18:17 UTC | [minor] Use `Buffer#subarray()` instead of `Buffer#slice()` `Buffer.prototype.slice()` is deprecated. | 12 December 2022, 10:18:17 UTC |
a6fa37a | Luigi Pinca | 09 December 2022, 14:47:38 UTC | [license] Update copyright notice | 09 December 2022, 14:47:38 UTC |
8a8fc88 | Luigi Pinca | 09 December 2022, 11:34:03 UTC | [minor] Validate the payload length of the close frame sooner Avoid unnecessary work if the payload length is 1. | 09 December 2022, 13:25:50 UTC |
ea76193 | Luigi Pinca | 25 November 2022, 17:57:14 UTC | [doc] Improve doc for the `callback` argument of `WebSocketServer` Clarify that the `callback` argument is added as a listener for the `'listening'` event only when the `port` option is set. Fixes #2100 | 25 November 2022, 18:04:43 UTC |
afd8c62 | Luigi Pinca | 06 November 2022, 18:30:29 UTC | [dist] 8.11.0 | 06 November 2022, 18:30:29 UTC |
1cec17d | Luigi Pinca | 04 November 2022, 20:34:26 UTC | [fix] Add the same event listener only once Prevent `WebSocket.prototype.addEventListener()` from adding the same event listener multiple times. | 06 November 2022, 18:30:09 UTC |
9ab743a | Luigi Pinca | 04 November 2022, 16:13:56 UTC | [feature] Add support for objets with a `handleEvent()` method Make `WebSocket.prototype.addEventListener()` support an event listener specified as an object with a `handleEvent()` method. Fixes #2092 | 06 November 2022, 18:30:05 UTC |
38f7879 | Luigi Pinca | 02 November 2022, 15:35:35 UTC | [ci] Test on node 19 | 02 November 2022, 15:35:35 UTC |
cdca711 | Luigi Pinca | 24 October 2022, 18:59:36 UTC | [dist] 8.10.0 | 24 October 2022, 18:59:36 UTC |
211d5d3 | Luigi Pinca | 24 October 2022, 18:36:48 UTC | [pkg] Add package.json export Fixes #2091 | 24 October 2022, 18:36:48 UTC |
c4d6eb3 | Luigi Pinca | 20 October 2022, 19:17:02 UTC | [ci] Do not use the set-output command The `set-output` command is deprecated. Use the `GITHUB_OUTPUT` environment file. Refs: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ | 20 October 2022, 19:30:47 UTC |
966f9d4 | Luigi Pinca | 22 September 2022, 18:45:50 UTC | [dist] 8.9.0 | 22 September 2022, 20:17:12 UTC |
e628f2b | Luigi Pinca | 22 September 2022, 18:37:20 UTC | [feature] Support Windows named pipes (#2079) Document how to connect to a named pipe endpoint and the limitations. Refs: https://github.com/websockets/ws/pull/1808 Refs: https://github.com/websockets/ws/pull/2075 | 22 September 2022, 20:16:59 UTC |
7ff26d9 | Luigi Pinca | 21 September 2022, 14:39:27 UTC | [doc] Fix nits | 21 September 2022, 14:39:27 UTC |
4ed2c87 | Luigi Pinca | 21 September 2022, 14:38:30 UTC | [doc] Remove "note that" | 21 September 2022, 14:38:30 UTC |
0da6036 | Luigi Pinca | 21 September 2022, 10:05:53 UTC | [test] Remove leftover from test Refs: https://github.com/websockets/ws/commit/2995349f | 21 September 2022, 10:05:53 UTC |
6b71a49 | Luigi Pinca | 21 September 2022, 08:01:04 UTC | [minor] Rename the `invalidURLMessage` variable Rename the `invalidURLMessage` variable to `invalidUrlMessage`. | 21 September 2022, 08:01:04 UTC |
2995349 | Luigi Pinca | 20 September 2022, 18:46:57 UTC | [minor] Simplify the ws+unix: URL form Remove the two forward slashes after the scheme. The URL is parsed in the same way and it is easier to grok. | 20 September 2022, 18:57:40 UTC |
c22cbc9 | Dathan | 18 September 2022, 18:48:05 UTC | [doc] Revise `WebSocket#send()` docs for clarity (#2077) Add reference to Node.js's own related documentation about the constraints on `Object` values. Fixes #2076 | 18 September 2022, 18:48:05 UTC |
9753821 | Luigi Pinca | 15 July 2022, 11:34:15 UTC | [dist] 8.8.1 | 15 July 2022, 15:23:55 UTC |
bc8bd34 | Luigi Pinca | 15 July 2022, 07:32:52 UTC | [security] Fix same host check for ws+unix: redirects Drop the `Authorization` and `Cookie` headers if the original request for the opening handshake is sent to an IPC server and the client is redirected to a TCP server (ws+unix: to ws: or wss:), and vice versa (ws: or wss: to ws+unix). Also drop the `Authorization` and `Cookie` headers if the original request for the opening handshake is sent to an IPC server and the client is redirected to another IPC server. Refs: https://github.com/websockets/ws/commit/6946f5fe | 15 July 2022, 15:23:52 UTC |
0ae302a | Luigi Pinca | 14 July 2022, 17:21:59 UTC | [test] Fix nits | 15 July 2022, 07:17:41 UTC |
1117af6 | Lee Trout | 30 June 2022, 18:12:20 UTC | [doc] Fix typo (#2062) | 30 June 2022, 18:12:20 UTC |
3b6af82 | Luigi Pinca | 20 June 2022, 13:35:00 UTC | [minor] Prevent opening handshake headers from being overridden Ensure that the `Connection`, `Sec-WebSocket-Key`, `Sec-WebSocket-Version`, and `Upgrade` headers are not overridden. Refs: https://github.com/websockets/ws/issues/2048#issuecomment-1159832034 | 20 June 2022, 13:35:00 UTC |
982b782 | Luigi Pinca | 09 June 2022, 17:16:41 UTC | [dist] 8.8.0 | 09 June 2022, 17:16:41 UTC |
becf237 | Luigi Pinca | 09 June 2022, 17:00:23 UTC | [feature] Add the `WS_NO_{BUFFER_UTIL, UTF_8_VALIDATE}` variables When set to non empty values, the `WS_NO_BUFFER_UTIL` and `WS_NO_UTF_8_VALIDATE` environment variables, prevent the optional `bufferutil` and `utf-8-validate` dependencies from being required, respectively. These might be useful to enhance security in systems where a user can put a package in the package search path of an application of another user, due to how the Node.js resolver algorithm works. | 09 June 2022, 17:00:23 UTC |
0792742 | Luigi Pinca | 08 June 2022, 19:19:07 UTC | [doc] Fix nit | 08 June 2022, 19:19:07 UTC |
c1a126f | Luigi Pinca | 08 June 2022, 14:16:15 UTC | [doc] Rename WS Error Codes section to Error codes | 08 June 2022, 14:19:31 UTC |
a6dbd1c | neilnaveen | 04 June 2022, 06:53:40 UTC | [ci] Set permissions explicitly (#2051) | 04 June 2022, 06:53:40 UTC |
5e4149e | Luigi Pinca | 30 May 2022, 15:32:18 UTC | [test] Fix typo | 30 May 2022, 15:32:18 UTC |
4b62fbf | Luigi Pinca | 26 May 2022, 17:16:17 UTC | [dist] 8.7.0 | 26 May 2022, 17:16:17 UTC |
6e5a5ce | Luigi Pinca | 26 May 2022, 10:42:53 UTC | [feature] Introduce the `'wsClientError'` event (#2046) Add the ability to inspect the invalid handshake requests and respond to them with a custom HTTP response. Closes #2045 | 26 May 2022, 16:54:39 UTC |
903ec62 | Luigi Pinca | 25 May 2022, 18:43:21 UTC | [doc] Update the type of the `socket` argument | 26 May 2022, 16:54:39 UTC |
d68ba9e | Luigi Pinca | 25 May 2022, 13:33:05 UTC | [security] Drop sensitive headers when following insecure redirects Drop the `Authorization` and `Cookie` headers if the original request for the opening handshake is sent over HTTPS and the client is redirected to the same host over plain HTTP (wss: to ws:). If an HTTPS server redirects to same host over plain HTTP, the problem is on the server, but handling this condition is not hard and reduces the risk of leaking credentials due to MITM issues. Refs: https://github.com/websockets/ws/commit/6946f5fe | 26 May 2022, 16:54:34 UTC |
a690791 | Luigi Pinca | 21 May 2022, 05:51:32 UTC | [ci] Exclude node 18 on Windows x86 from the test matrix | 21 May 2022, 05:51:32 UTC |
8889e48 | Luigi Pinca | 21 May 2022, 05:46:20 UTC | [test] Increase code coverage | 21 May 2022, 05:46:20 UTC |
fb658bd | Luigi Pinca | 21 May 2022, 05:25:52 UTC | [minor] Use consistent error messages Make some server error messages consistent with the respective client error messages. | 21 May 2022, 05:25:52 UTC |
0fdcc0a | Luigi Pinca | 21 May 2022, 05:02:12 UTC | [fix] Abort the handshake if the Upgrade header is invalid Close the connection if the Upgrade header field in the HTTP response contains a value that is not an ASCII case-insensitive match for the value "websocket". | 21 May 2022, 05:14:20 UTC |
e56cdfe | Luigi Pinca | 20 May 2022, 13:21:06 UTC | [minor] Clarify why the handshake is aborted Add more details about why the handshake is aborted in the HTTP response. Refs: https://github.com/websockets/ws/issues/2045#issuecomment-1130081274 | 20 May 2022, 14:47:22 UTC |
ba214d9 | Luigi Pinca | 01 May 2022, 19:05:41 UTC | [dist] 8.6.0 | 01 May 2022, 19:05:41 UTC |
8e3f118 | Luigi Pinca | 24 April 2022, 05:12:02 UTC | [feature] Introduce the `'redirect'` event (#2030) Add the ability to remove confidential headers on a per-redirect basis. Closes #2014 | 24 April 2022, 05:12:02 UTC |
69e6828 | Luigi Pinca | 22 April 2022, 06:34:23 UTC | [ci] Test on node 18 | 22 April 2022, 06:34:23 UTC |
0b6eb71 | Luigi Pinca | 22 April 2022, 06:33:54 UTC | [ci] Do not test on node 17 | 22 April 2022, 06:33:54 UTC |
d062ded | Luigi Pinca | 15 April 2022, 11:10:21 UTC | [example] Fix require path | 15 April 2022, 11:10:21 UTC |
2cf6202 | Luigi Pinca | 12 April 2022, 19:32:23 UTC | [example] Use the `WebSocket.WebSocket{,Server}` aliases Closes #2034 | 12 April 2022, 19:39:04 UTC |
62e9b19 | Luigi Pinca | 07 April 2022, 13:51:59 UTC | [doc] Fix nits | 07 April 2022, 13:51:59 UTC |
2619c00 | Luigi Pinca | 06 April 2022, 18:48:41 UTC | [minor] Fix nit in comment | 06 April 2022, 18:48:41 UTC |
d086f4b | Luigi Pinca | 26 March 2022, 19:32:45 UTC | [minor] Make `abortHandshake()` emit the error in the next tick | 26 March 2022, 19:58:51 UTC |
ff80d66 | Luigi Pinca | 24 March 2022, 13:21:49 UTC | [test] Do not use a relative URL Use different username and password in the redirect URL. | 24 March 2022, 13:21:49 UTC |