@graphql-tools/executor-legacy-ws
2.0.1
Patch Changes
- Updated dependencies [
15efe55]:- @graphql-tools/utils@13.0.1
2.0.0
Major Changes
-
#8515
1d70c62Thanks @ardatan ! - Drop GraphQL v14/v15 support and require Node.js >= 22.18.graphqlpeer range is now^16.0.0 || ^17.0.0.engines.nodeis now>=22.18.0(Nodefs.glob+ Babel 8).- Dev tooling and
@graphql-tools/graphql-tag-pluckmove to Babel 8 (@babel/core/ parser / traverse / types). - The standalone
cross-inspectpackage is discontinued. Useinspectfrom@graphql-tools/utilsinstead (Nodeutil.inspectviaprocess.getBuiltinModule, with a smallJSON.stringify/Stringfallback).
Removed
@graphql-tools/utilsexportsRemoved Use instead getArgumentValuesimport { getArgumentValues } from 'graphql'coerceInputs/graphqlJSCompatgraphql@16+ APIs ( getArgumentValues, etc.)createDeferred/createDeferredPromiseconst { promise, resolve, reject } = Promise.withResolvers()createGraphQLErrornew GraphQLError(message, options)fromgraphqlmapMaybePromisehandleMaybePromisefrom@whatwg-node/promise-helpersisPromise/fakePromise/mapAsyncIterator/MaybePromise@whatwg-node/promise-helpersregisterAbortSignalListener/getAbortPromiseAbortSignalAPIs (throwIfAborted,addEventListener('abort', …, { once: true }),AbortSignal.any, …)withCancel/getAsyncIterableWithCancel/getAsyncIteratorWithCancelHandle cancellation on the async iterator’s return()(or your transport abort path)debugTimerStart/debugTimerEndYour own timing / console.timeif neededPromiseWithResolvers(type)Built-in PromiseWithResolvers<T>/ return type ofPromise.withResolvers()inspectand the WeakMapmemoize1…memoize2of5helpers remain on@graphql-tools/utils(inspect is no longer re-exported fromcross-inspect).File matching (
globby→fs.glob)Loaders and
@graphql-tools/load-filesnow use Node’sfs.globthrough:import { matchFiles, matchFilesSync } from '@graphql-tools/load-files';Directory symlinks are followed for recursive (
**) patterns:- On Node.js ≥26.1 (and ≥24.16 where backported),
fs.globfollowSymlinksis used. - On older engines, symlink directories are discovered only under each pattern’s literal prefix (not the whole
cwd) and patterns are re-rooted. - Non-recursive / literal patterns skip the symlink walk entirely.
@graphql-tools/executorhot-path caches (collectSubfields, argument coercion,@streamdetection) usememoize2/memoize3from utils.collectSubFieldsin utils stays unmemoized so the executor can own a single memoize3 layer.Errors and other cleanup
- Prefer
new GraphQLError(message, options)fromgraphql. Experimental schemacoordinatesupport remains onlocatedError/relocatedError/getSchemaCoordinate. - Removed GraphQL versions older than 16 compatibility branches (error construction, validation rule name suffixes,
URL.canParsefallback). - Promise helpers should be imported from
@whatwg-node/promise-helpers(handleMaybePromise,isPromise,fakePromise,mapAsyncIterator,MaybePromise) rather than re-exported from utils.
Patch Changes
- #8515
1d70c62Thanks @ardatan ! - dependencies updates:- Updated dependency
graphql@^16.0.0 || ^17.0.0↗︎ (from^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0, inpeerDependencies)
- Updated dependency
- Updated dependencies [
1d70c62,1d70c62]:- @graphql-tools/utils@13.0.0
1.1.39
Patch Changes
- #8445
82457d1Thanks @ardatan ! - dependencies updates:- Updated dependency
@graphql-tools/utils@^12.0.4↗︎ (from^12.0.3, independencies) - Updated dependency
@types/ws@^8.18.2↗︎ (from^8.0.0, independencies)
- Updated dependency
- Updated dependencies [
98673c3,a75d725,82457d1]:- @graphql-tools/utils@12.1.0
1.1.38
Patch Changes
- #8485
b81e412Thanks @dependabot ! - dependencies updates:- Updated dependency
@types/ws@^8.18.2↗︎ (from^8.0.0, independencies)
- Updated dependency
- Updated dependencies [
fd95dc9]:- @graphql-tools/utils@12.0.4
1.1.37
Patch Changes
- Updated dependencies [
19f5b33]:- @graphql-tools/utils@12.0.3
1.1.36
Patch Changes
-
#8480
c2f226eThanks @ardatan ! - Security: Isolate legacy GraphQL WebSocket executions on a sharedbuildWSLegacyExecutor().A single executor reused across callers kept
extensions.connectionParamsfor the lifetime of the closure and installed onewebsocket.onmessagehandler. A later request could be authenticated with a previous caller’sconnection_initpayload (GHSA-434m-5hcj-pxf3 , CWE-613), and an overlapping subscription could receive another operation’sdataframes because the handler ignored the protocol operation id (GHSA-mp66-8ww2-pcwm , CWE-200).Corrected behavior
- Each execution opens its own socket.
connection_initis built from the executor’s baseconnectionParamsplus that request’sextensions.connectionParamsonly. data,error, andcompleteframes are delivered only whenidmatches the operation that socket started.- Operation ids are no longer
Date.now().
- Each execution opens its own socket.
-
Updated dependencies [
b1fbba2,20d36a5]:- @graphql-tools/utils@12.0.2
1.1.35
Patch Changes
-
#8426
3831a06Thanks @ardatan ! - Security: Enable TLS certificate validation by default for legacy GraphQL WebSocket (graphql-wsprotocol) connections overwss://.buildWSLegacyExecutor()previously hardcodedrejectUnauthorized: false, so Node.js clients accepted any certificate (including self-signed or attacker-controlled ones). Credentials inconnectionParams/headersand subscription payloads could be exposed to a network MITM. This addresses GHSA-6fw5-9hq8-w87g (CWE-295).Corrected behavior
- Default is now
rejectUnauthorized: true(Node TLS verifies the peer certificate), matching secure-by-default expectations. - Connections to endpoints with untrusted/self-signed certificates will fail unless you opt out.
Opt-out (trusted / local self-signed only)
buildWSLegacyExecutor(url, WebSocket, { rejectUnauthorized: false, connectionParams: { /* ... */ }, })Or via
UrlLoader/LoadFromUrlOptionswhensubscriptionsProtocolisLEGACY_WS:{ subscriptionsProtocol: SubscriptionProtocol.LEGACY_WS, rejectUnauthorized: false, }Browser WebSocket clients were never affected by this flag (browsers always validate certificates).
- Default is now
1.1.34
Patch Changes
1.1.33
Patch Changes
-
#8353
755d699Thanks @dependabot ! - dependencies updates:- Updated dependency
ws@^8.21.2↗︎ (from^8.21.1, independencies)
- Updated dependency
-
#8358
07cd760Thanks @dependabot ! - dependencies updates:- Updated dependency
ws@^8.21.3↗︎ (from^8.21.2, independencies)
- Updated dependency
-
Updated dependencies [
2273c21]:- @graphql-tools/utils@12.0.0
1.1.32
Patch Changes
- Updated dependencies
[
e90719b]:- @graphql-tools/utils@11.2.2
1.1.31
Patch Changes
- Updated dependencies
[
615c1a2]:- @graphql-tools/utils@11.2.1
1.1.30
Patch Changes
- Updated dependencies
[
2609c94]:- @graphql-tools/utils@11.2.0
1.1.29
Patch Changes
- Updated dependencies
[
981d461]:- @graphql-tools/utils@11.1.1
1.1.28
Patch Changes
- Updated dependencies
[
a4b7dce]:- @graphql-tools/utils@11.1.0
1.1.27
Patch Changes
- Updated dependencies
[
ae36a0e]:- @graphql-tools/utils@11.0.1
1.1.26
Patch Changes
- #8072
f91433aThanks @dependabot ! - dependencies updates:- Updated dependency
ws@^8.20.0↗︎ (from^8.19.0, independencies)
- Updated dependency
1.1.25
Patch Changes
- #7834
f794c47Thanks @dependabot ! - dependencies updates:- Updated dependency
ws@^8.19.0↗︎ (from^8.17.1, independencies)
- Updated dependency
- Updated dependencies
[
6f3776c]:- @graphql-tools/utils@11.0.0
1.1.24
Patch Changes
- Updated dependencies
[
2118a80]:- @graphql-tools/utils@10.11.0
1.1.23
Patch Changes
- Updated dependencies
[
2fe123a]:- @graphql-tools/utils@10.10.3
1.1.22
Patch Changes
- Updated dependencies
[
dddc5f6]:- @graphql-tools/utils@10.10.2
1.1.21
Patch Changes
- Updated dependencies
[
fbb58b5]:- @graphql-tools/utils@10.10.1
1.1.20
Patch Changes
1.1.19
Patch Changes
- Updated dependencies
[
32d0457]:- @graphql-tools/utils@10.9.1
1.1.18
Patch Changes
1.1.17
Patch Changes
- Updated dependencies
[
d123e26]:- @graphql-tools/utils@10.8.6
1.1.16
Patch Changes
1.1.15
Patch Changes
- Updated dependencies
[
155944b]:- @graphql-tools/utils@10.8.4
1.1.14
Patch Changes
- Updated dependencies
[
4a2eb14]:- @graphql-tools/utils@10.8.3
1.1.13
Patch Changes
- Updated dependencies
[
3547bba]:- @graphql-tools/utils@10.8.2
1.1.12
Patch Changes
- Updated dependencies
[
651a5dc]:- @graphql-tools/utils@10.8.1
1.1.11
Patch Changes
1.1.10
Patch Changes
1.1.9
Patch Changes
- Updated dependencies
[
4912f19]:- @graphql-tools/utils@10.7.1
1.1.8
Patch Changes
- Updated dependencies
[
2c70d27]:- @graphql-tools/utils@10.7.0
1.1.7
Patch Changes
- Updated dependencies
[
6a8123b]:- @graphql-tools/utils@10.6.4
1.1.6
Patch Changes
- Updated dependencies
[
020b9e4]:- @graphql-tools/utils@10.6.3
1.1.5
Patch Changes
- #6662
696a0d5Thanks @renovate ! - dependencies updates:- Updated dependency
@graphql-tools/utils@^10.6.1↗︎ (from^10.6.0, independencies)
- Updated dependency
- Updated dependencies
[
1b24656]:- @graphql-tools/utils@10.6.2
1.1.4
Patch Changes
- Updated dependencies
[
1e02935]:- @graphql-tools/utils@10.6.1
1.1.3
Patch Changes
- Updated dependencies
[
414e404]:- @graphql-tools/utils@10.6.0
1.1.2
Patch Changes
- Updated dependencies
[
dc5043b]:- @graphql-tools/utils@10.5.6
1.1.1
Patch Changes
- Updated dependencies
[
cf2ce5e]:- @graphql-tools/utils@10.5.5
1.1.0
Minor Changes
- #6323
cacf20fThanks @ardatan ! - Implement Symbol.dispose or Symbol.asyncDispose to make `Executor`s `Disposable`
Patch Changes
- Updated dependencies
[
cacf20f]:- @graphql-tools/utils@10.3.0
1.0.6
Patch Changes
- #5913
83c0af0Thanks @enisdenjo ! - dependencies updates:- Updated dependency
@graphql-tools/utils@^10.0.13↗︎ (from^10.0.0, independencies)
- Updated dependency
1.0.5
Patch Changes
- #5762
701cfd3Thanks @renovate ! - dependencies updates:- Updated dependency
ws@8.15.0↗︎ (from8.14.2, independencies)
- Updated dependency
1.0.4
Patch Changes
- #5603
6c26c4fbThanks @renovate ! - dependencies updates:- Updated dependency
ws@8.14.2↗︎ (from8.14.1, independencies)
- Updated dependency
1.0.3
Patch Changes
- #5575
b1531913Thanks @renovate ! - dependencies updates:- Updated dependency
ws@8.14.1↗︎ (from8.14.0, independencies)
- Updated dependency
1.0.2
Patch Changes
- #5570
4f6f5642Thanks @renovate ! - dependencies updates:- Updated dependency
ws@8.14.0↗︎ (from8.13.0, independencies)
- Updated dependency
1.0.1
Patch Changes
1.0.0
Major Changes
Patch Changes
0.0.11
Patch Changes
0.0.10
Patch Changes
- #5112
828fbf93Thanks @renovate ! - dependencies updates:- Updated dependency
ws@8.13.0↗︎ (from8.12.1, independencies)
- Updated dependency
0.0.9
Patch Changes
- #5058
1298727cThanks @renovate ! - dependencies updates:- Updated dependency
ws@8.12.1↗︎ (from8.12.0, independencies)
- Updated dependency
0.0.8
Patch Changes
- Updated dependencies
[
b5c8f640]:- @graphql-tools/utils@9.2.1
0.0.7
Patch Changes
0.0.6
Patch Changes
- #4952
1c4853cbThanks @renovate ! - dependencies updates:- Updated dependency
ws@8.12.0↗︎ (from8.11.0, independencies)
- Updated dependency
- Updated dependencies
[
e3ec35ed]:- @graphql-tools/utils@9.1.4
0.0.5
Patch Changes
- Updated dependencies
[
904fe770]:- @graphql-tools/utils@9.1.3
0.0.4
Patch Changes
- Updated dependencies
[
13c24883]:- @graphql-tools/utils@9.1.2
0.0.3
Patch Changes
- Updated dependencies
[
7411a5e7]:- @graphql-tools/utils@9.1.1