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 |
dd3d5a7 | airtable-keyhanvakil | 10 March 2022, 07:12:29 UTC | [doc] document the default value of the `maxPayload` option (#2020) | 10 March 2022, 07:12:29 UTC |
9c18b1e | Luigi Pinca | 06 March 2022, 19:27:31 UTC | [ci] Update actions/checkout action to v3 | 06 March 2022, 19:28:09 UTC |
7cf94db | Proxtx | 05 March 2022, 07:30:11 UTC | [doc] Fix typo in code snippet (#2018) | 05 March 2022, 07:30:11 UTC |
a0524e1 | Luigi Pinca | 25 February 2022, 20:34:18 UTC | [ci] Update actions/setup-node action to v3 | 25 February 2022, 20:34:18 UTC |
c9d5436 | Luigi Pinca | 07 February 2022, 19:23:55 UTC | [dist] 8.5.0 | 07 February 2022, 19:23:55 UTC |
6946f5f | Luigi Pinca | 07 February 2022, 19:21:37 UTC | [security] Drop sensitive headers when following redirects (#2013) Do not forward the `Authorization` and `Cookie` headers if the redirect host is different from the original host. | 07 February 2022, 19:21:37 UTC |
75fdfa9 | Luigi Pinca | 04 February 2022, 21:17:50 UTC | [test] Fix nits | 04 February 2022, 21:21:13 UTC |
e1ddacc | Sergey Bakulin | 01 February 2022, 19:25:02 UTC | [feature] Introduce the `WebSocket` option (#2007) Add the ability to use a custom class that extends the `WebSocket` class. | 01 February 2022, 19:25:02 UTC |
8a7016d | Luigi Pinca | 30 January 2022, 19:27:45 UTC | [test] Simplify test | 30 January 2022, 19:27:45 UTC |
33fd101 | Luigi Pinca | 14 January 2022, 14:28:24 UTC | [dist] 8.4.2 | 14 January 2022, 14:28:24 UTC |
0c0754b | Robert Nagy | 14 January 2022, 14:26:07 UTC | [fix] Use the byte length of the data (#2004) Ensure that the correct length is used when framing the data. | 14 January 2022, 14:26:07 UTC |
6ebfeb8 | Luigi Pinca | 13 January 2022, 19:40:28 UTC | [dist] 8.4.1 | 13 January 2022, 19:40:28 UTC |
5b7fbb0 | Luigi Pinca | 13 January 2022, 19:26:14 UTC | [perf] Reduce buffer allocations (#2000) Do not convert strings to `Buffer`s if data does not need to be masked. Refs: https://github.com/websockets/ws/pull/1998 | 13 January 2022, 19:26:14 UTC |
8de448f | Luigi Pinca | 09 January 2022, 15:10:24 UTC | [test] Fix failing tests Refs: https://github.com/websockets/ws/commit/e173423c | 09 January 2022, 15:10:24 UTC |
91f3c07 | Luigi Pinca | 09 January 2022, 14:32:28 UTC | [minor] Replace echo.websocket.org with websocket-echo.com The echo.websocket.org service is no longer available. | 09 January 2022, 14:57:01 UTC |
ad3fe6d | Luigi Pinca | 06 January 2022, 17:25:52 UTC | [test] Improve test title | 06 January 2022, 17:25:52 UTC |
4081a36 | Luigi Pinca | 06 January 2022, 14:36:53 UTC | [test] Do not call the `done` callback prematurely | 06 January 2022, 14:51:18 UTC |
d2c935a | Tobias Nießen | 04 January 2022, 06:48:06 UTC | [doc] Fix typo in `WebSocketServer` description (#1996) | 04 January 2022, 06:48:06 UTC |
5edf1f4 | jugglinmike | 30 December 2021, 19:14:29 UTC | [doc] Clarify interpretation of `verifyClient` (#1994) Prior to this commit, the documentation for the `verifyClient` option was somewhat confusing due to its use of the passive voice and an uncommon interpretation of the term "arguments". Explain the way `ws` interprets the value of `verifyClient` using an active voice and more traditional meanings of "parameters" and "arguments". | 30 December 2021, 19:16:37 UTC |
00c34d7 | Luigi Pinca | 20 December 2021, 20:07:56 UTC | [dist] 8.4.0 | 20 December 2021, 20:07:56 UTC |
35d45c2 | Luigi Pinca | 19 December 2021, 19:49:13 UTC | [perf] Skip masking and unmasking if the masking key is zero | 20 December 2021, 20:02:56 UTC |
eb2e3a8 | Luigi Pinca | 19 December 2021, 19:41:24 UTC | [feature] Introduce the `generateMask` option The `generateMask` option specifies a function that can be used to generate custom masking keys. Refs: https://github.com/websockets/ws/pull/1986 Refs: https://github.com/websockets/ws/pull/1988 Refs: https://github.com/websockets/ws/pull/1989 | 20 December 2021, 20:02:56 UTC |
c82b087 | Luigi Pinca | 23 November 2021, 14:21:00 UTC | [dist] 8.3.0 | 23 November 2021, 14:32:40 UTC |
0a8c7a9 | Luigi Pinca | 23 November 2021, 13:50:20 UTC | [api] Add `WebSocket#pause()` and `WebSocket#resume()` Add ability to pause and resume a `WebSocket`. | 23 November 2021, 14:32:22 UTC |
ed2b803 | Luigi Pinca | 22 November 2021, 20:32:18 UTC | [fix] Resume the socket in the `CLOSING` state When the value of the `readyState` attribute is `CLOSING`, the internal socket might still be open. Resume it to read any remaining data and to allow the connection to be closed cleanly. | 23 November 2021, 09:14:20 UTC |
b8186dd | Luigi Pinca | 22 November 2021, 14:27:29 UTC | [fix] Do not throw if the redirect URL is invalid (#1980) If the redirect URL is invalid, then emit the error instead of throwing it, otherwise there is no way to handle it. Closes #1975 | 22 November 2021, 14:27:29 UTC |
5a905e4 | Luigi Pinca | 20 November 2021, 07:07:59 UTC | [minor] Add missing label to the issue form Fixes #1974 | 20 November 2021, 19:53:54 UTC |
89d81e8 | Luigi Pinca | 16 November 2021, 19:08:00 UTC | [minor] Fix nit | 16 November 2021, 19:08:00 UTC |
4916d03 | Austin Cheney | 16 November 2021, 19:00:16 UTC | [minor] Allow to write frames with up to 2^48 - 1 bytes of data (#1973) | 16 November 2021, 19:00:16 UTC |
5991c35 | Luigi Pinca | 01 November 2021, 20:06:17 UTC | [doc] Fix nits | 01 November 2021, 20:06:17 UTC |
65717f6 | Luigi Pinca | 20 October 2021, 17:23:28 UTC | [ci] Test on node 17 | 20 October 2021, 17:23:28 UTC |
a3a22e4 | Luigi Pinca | 11 October 2021, 06:32:09 UTC | [pkg] Update eslint to version 8.0.0 | 11 October 2021, 06:32:09 UTC |
cfd99b6 | Luigi Pinca | 02 October 2021, 18:31:21 UTC | [dist] 8.2.3 | 02 October 2021, 18:31:21 UTC |
fef7942 | Luigi Pinca | 30 September 2021, 10:54:28 UTC | [ci] Fix typo | 30 September 2021, 10:54:28 UTC |