- 
                Notifications
    
You must be signed in to change notification settings  - Fork 23
 
fix(deps): update apollo graphql packages #289
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
          
 | 
    
| 
          
 You can download the latest build of the extension for this PR here: To install the extension, download the file, unzip it and install it in VS Code by selecting "Install from VSIX..." in the Extensions view. Alternatively, run code --install-extension vscode-apollo-0.0.0-build-1762021152.pr-289.commit-718dfb3.vsix --forcefrom the command line. For older builds, please see the edit history of this comment.  | 
    
e2af702    to
    808ade3      
    Compare
  
    808ade3    to
    8496bf2      
    Compare
  
    4110dca    to
    7398af0      
    Compare
  
    7398af0    to
    274ceb9      
    Compare
  
    1df153b    to
    5727d61      
    Compare
  
    5727d61    to
    8ca14f6      
    Compare
  
    ce1430e    to
    f52debb      
    Compare
  
    2033424    to
    d45a5e8      
    Compare
  
    b0f976f    to
    b5c1a37      
    Compare
  
    0274d81    to
    b75a9a0      
    Compare
  
    04e4aea    to
    1b4f1aa      
    Compare
  
    19bdd1c    to
    50fe276      
    Compare
  
    50fe276    to
    9989a69      
    Compare
  
    9989a69    to
    85da1a4      
    Compare
  
    
This PR contains the following updates:
3.12.3->3.14.04.20.1->4.21.102.9.3->2.11.3v2.2.0->v2.8.0Release Notes
apollographql/apollo-client (@apollo/client)
v3.14.0Compare Source
Minor Changes
#12752
8b779b4Thanks @jerelmiller! - Add deprecations and warnings to remaining APIs changed in Apollo Client 4.0.#12746
0bcd2f4Thanks @jerelmiller! - Add warnings and deprecations for options and methods for all React APIs.#12751
567cad8Thanks @jerelmiller! - Add@deprecatedtags to all properties returned from any query API (e.g.client.query,observableQuery.refetch, etc.),client.mutate, andclient.subscribethat are no longer available in Apollo Client 4.0.#12746
0bcd2f4Thanks @jerelmiller! - AddpreloadQuery.toPromise(queryRef)as a replacement forqueryRef.toPromise().queryRef.toPromise()has been removed in Apollo Client 4.0 in favor ofpreloadQuery.toPromiseand is now considered deprecated.#12736
ea89440Thanks @jerelmiller! - Add deprecations and deprecation warnings forApolloClientoptions and methods.#12763
5de6a3dThanks @jerelmiller! - Version bump only to release latest asrc.#12459
1c5a031Thanks @jerelmiller! - ResetaddTypenameTransformandfragmentscaches when callingcache.gc()only whenresetResultCacheistrue.#12743
92ad409Thanks @jerelmiller! - Add deprecations and warnings foraddTypenameinInMemoryCacheandMockedProvider.#12743
92ad409Thanks @jerelmiller! - Add deprecations and warnings forcanonizeResults.#12751
567cad8Thanks @jerelmiller! - Warn when using astandbyfetch policy withclient.query.Patch Changes
ecf3de1Thanks @phryneas! - Prevent field policies from overwriting/merging into supertype field policies.v3.13.9Compare Source
Patch Changes
32c9aa9Thanks @phryneas! - Fix a possible race condition on queries that were reobserved before they were subscribed to the first time.v3.13.8Compare Source
Patch Changes
c19d415Thanks @thearchitector! - Fix in-flight multipart urql subscription cancellationv3.13.7Compare Source
Patch Changes
#12540
0098932Thanks @phryneas! - Refactor: Move notification scheduling logic fromQueryInfotoObservableQuery#12540
0098932Thanks @phryneas! - Refactored cache emit logic for ObservableQuery. This should be an invisible change.v3.13.6Compare Source
Patch Changes
cdc55ffThanks @phryneas! - keep ObservableQuery created by useQuery non-active before it is first subscribedv3.13.5Compare Source
Patch Changes
12c8d06Thanks @jerelmiller! - Fix an issue where acache-firstquery would return the result for previous variables when a cache update is issued after simultaneously changing variables and skipping the query.v3.13.4Compare Source
Patch Changes
fee9368Thanks @jorenbroekema! - Use import star fromrehacktto prevent issues with importing named exports from external CJS modules.v3.13.3Compare Source
Patch Changes
#12362
f6d387cThanks @jerelmiller! - Fixes an issue where callingobservableQuery.getCurrentResult()when theerrorPolicywas set toallwould return thenetworkStatusasNetworkStatus.readywhen there were errors returned in the result. This has been corrected to reportNetworkStatus.error.This bug also affected the
useQueryanduseLazyQueryhooks and may affect you if you check fornetworkStatusin your component.v3.13.2Compare Source
Patch Changes
#12409
6aa2f3eThanks @phryneas! - To mitigate problems when Apollo Client ends up more than once in the bundle, some unique symbols were converted intoSymbol.forcalls.#12392
644bb26Thanks @Joja81! - Fixes an issue where the DeepOmit type would turn optional properties into required properties. This should only affect you if you were using the omitDeep or stripTypename utilities exported by Apollo Client.#12404
4332b88Thanks @jerelmiller! - ShowNaNrather than converting tonullin debug messages fromMockLinkfor unmatchedvariablesvalues.v3.13.1Compare Source
Patch Changes
#12369
bdfc5b2Thanks @phryneas! -ObervableQuery.refetch: don't refetch withcache-and-network, swich tonetwork-onlyinstead#12375
d3f8f13Thanks @jerelmiller! - Export theUseSuspenseFragmentOptionstype.v3.13.0Compare Source
Minor Changes
#12066
c01da5dThanks @jerelmiller! - Adds a newuseSuspenseFragmenthook.useSuspenseFragmentsuspends untildatais complete. It is a drop-in replacement foruseFragmentwhen you prefer to use Suspense to control the loading state of a fragment. See the documentation for more details.#12174
ba5cc33Thanks @jerelmiller! - Ensure errors thrown in theonCompletedcallback fromuseMutationdon't callonError.#12340
716d02eThanks @phryneas! - Deprecate theonCompletedandonErrorcallbacks ofuseQueryanduseLazyQuery.For more context, please see the related issue on GitHub.
#12276
670f112Thanks @Cellule! - Provide a more type-safe option for the previous data value passed toobservableQuery.updateQuery. Using it could result in crashes at runtime as this callback could be called with partial data even though its type reported the value as a complete result.The
updateQuerycallback function is now called with a new type-safepreviousDataproperty and a newcompleteproperty in the 2nd argument that determines whetherpreviousDatais a complete or partial result.As a result of this change, it is recommended to use the
previousDataproperty passed to the 2nd argument of the callback rather than using the previous data value from the first argument since that value is not type-safe. The first argument is now deprecated and will be removed in a future version of Apollo Client.#12174
ba5cc33Thanks @jerelmiller! - Reject the mutation promise if errors are thrown in theonCompletedcallback ofuseMutation.Patch Changes
#12276
670f112Thanks @Cellule! - Fix the return type of theupdateQueryfunction to allow forundefined.updateQueryhad the ability to bail out of the update by returning a falsey value, but the return type enforced a query value.#12296
2422df2Thanks @Cellule! - Deprecate optionignoreResultsinuseMutation.Once this option is removed, existing code still using it might see increase in re-renders.
If you don't want to synchronize your component state with the mutation, please use
useApolloClientto get your ApolloClient instance and callclient.mutatedirectly.#12338
67c16c9Thanks @phryneas! - In case of a multipart response (e.g. with@defer), query deduplication willnow keep going until the final chunk has been received.
#12276
670f112Thanks @Cellule! - Fix the type of thevariablesproperty passed as the 2nd argument to thesubscribeToMorecallback. This was previously reported as thevariablestype for the subscription itself, but is now properly typed as the queryvariables.v3.12.11Compare Source
Patch Changes
#12351
3da908bThanks @jerelmiller! - Fixes an issue where the wrongnetworkStatusandloadingvalue was emitted fromobservableQuerywhen callingfetchMorewith ano-cachefetch policy. ThenetworkStatusnow properly reports asreadyandloadingasfalseafter the result is returned.#12354
a24ef94Thanks @phryneas! - Fix missingmain.d.ctsfilev3.12.10Compare Source
Patch Changes
#12341
f2bb0b9Thanks @phryneas! -useReadQuery/useQueryRefHandlers: Fix a "hook order" warning that might be emitted in React 19 dev mode.#12342
219b26bThanks @phryneas! - Addgraphql-ws^6.0.3as a validpeerDependencyv3.12.9Compare Source
Patch Changes
#12321
daa4f33Thanks @jerelmiller! - Fix type ofextensionsinprotocolErrorsforApolloErrorand theonErrorlink. According to the multipart HTTP subscription protocol, fatal tranport errors follow the GraphQL error format which requireextensionsto be a map as its value instead of an array.#12318
b17968bThanks @jerelmiller! - AllowRetryLinkto retry an operation when fatal transport-level errors are emitted from multipart subscriptions.v3.12.8Compare Source
Patch Changes
#12292
3abd944Thanks @phryneas! - Remove unused dependencyresponse-iterator#12287
bf313a3Thanks @phryneas! - Fixes an issue whereclient.watchFragment/useFragmentwith@includescrashes when a separate cache update writes to the conditionally included fields.v3.12.7Compare Source
Patch Changes
#12281
d638ec3Thanks @jerelmiller! - Make fatal tranport-level errors from multipart subscriptions available to the error link with theprotocolErrorsproperty.#12281
d638ec3Thanks @jerelmiller! - Fix the array type for theerrorsfield on theApolloPayloadResulttype. This type was always in the shape of the GraphQL error format, per the multipart subscriptions protocol and never a plain string or a JavaScript error object.v3.12.6Compare Source
Patch Changes
#12267
d57429dThanks @jerelmiller! - Maintain theTDatatype when used withUnmaskedwhenTDatais not a masked type generated from GraphQL Codegen.#12270
3601246Thanks @jerelmiller! - Fix handling of tagged/branded primitive types when used as scalar values withUnmasked.v3.12.5Compare Source
Patch Changes
#12252
cb9cd4eThanks @jerelmiller! - Changes the default behavior of theMaybeMaskedtype to preserve types unless otherwise specified. This change makes it easier to upgrade from older versions of the client where types could have unexpectedly changed in the application due to the default of trying to unwrap types into unmasked types. This change also fixes the compilation performance regression experienced when simply upgrading the client since types are now preserved by default.A new
modeoption has now been introduced to allow for the old behavior. See the next section on migrating if you wish to maintain the old default behavior after upgrading to this version.Migrating from <= v3.12.4
If you've adopted data masking and have opted in to using masked types by setting the
enabledproperty totrue, you can remove this configuration entirely:If you prefer to specify the behavior explicitly, change the property from
enabled: true, tomode: "preserveTypes":declare module "@​apollo/client" { interface DataMasking { - enabled: true + mode: "preserveTypes" } }If you rely on the default behavior in 3.12.4 or below and would like to continue to use unmasked types by default, set the
modetounmask:v3.12.4Compare Source
Patch Changes
4334d30Thanks @charpeni! - Fix an issue withrefetchQuerieswhere comparingDocumentNodes internally by references could lead to an unknown query, even though theDocumentNodewas indeed an active query—with a different reference.apollographql/apollo-client-devtools (@apollo/client-devtools-vscode)
v4.21.10Compare Source
Patch Changes
17cfb5dThanks @github-actions! - add error codes for new Apollo Client versionv4.21.9Compare Source
Patch Changes
83210f7Thanks @github-actions! - add error codes for new Apollo Client versionv4.21.8Compare Source
Patch Changes
c66090bThanks @github-actions! - add error codes for new Apollo Client versionv4.21.7Compare Source
Patch Changes
c8544b5Thanks @github-actions! - add error codes for new Apollo Client versionv4.21.6Compare Source
Patch Changes
8a74f35Thanks @github-actions! - add error codes for new Apollo Client versionv4.21.5Compare Source
v4.21.4Compare Source
Patch Changes
ab5738bThanks @github-actions! - add error codes for new Apollo Client versionv4.21.3Compare Source
Patch Changes
5e2645aThanks @github-actions! - add error codes for new Apollo Client versionv4.21.2Compare Source
Patch Changes
0302538Thanks @braineo! - fix calling client.stop twice causing app crashing by checking if handler exist before sending tab commandv4.21.1Compare Source
Patch Changes
c0f4446Thanks @github-actions! - add error codes for new Apollo Client versionv4.21.0Compare Source
Minor Changes
b935cf8Thanks @jerelmiller! - Add a memory panel to monitor internal Apollo Client caches.v4.20.2Compare Source
Patch Changes
88ef65dThanks @jerelmiller! - add error codes for new Apollo Client versionapollographql/federation (@apollo/subgraph)
v2.11.3Compare Source
Patch Changes
When a
GraphQLScalarTyperesolver is provided tobuildSubgraphSchema(), omitted configuration options in theGraphQLScalarTypeno longer cause the corresponding properties in the GraphQL document/AST to be cleared. To explicitly clear these properties, usenullfor the configuration option instead. (#3285) (#3285)Updated dependencies [
8c7a2cd655ad3060e9f5c3b106cfbdb59251701c]:v2.11.2Compare Source
Patch Changes
Revert change to @composeDirective definition to specify nullable argument value. (#3283)
We cannot fix the definition as that would break customers using older versions of
subgraph-js. Our validations are already verifying that the values are specified.Updated dependencies [
28c08bef6e691aefc6ed07c0e7057f9cd803b317]:v2.11.1Compare Source
Patch Changes
7799ad1717becf15fb0e82f89619f2ec8a24b4d4,b26794c5724ef23d1f0fd45a40aee3d301557489]:v2.11.0Compare Source
Minor Changes
Patch Changes
1462c91879d41884c0a7e60551d8dd0d67c832d3,9614b26e5a17cbf1f6aaf08f6fcb1c95eb12592d]:v2.10.2Compare Source
Patch Changes
v2.10.1Compare Source
Patch Changes
97d81b79c3da10175bdf92c2209039efe352de79]:v2.10.0Compare Source
Patch Changes
When resolving references, skip type resolution if the reference resolves to null. (#3215)
Updated dependencies [
8927e315ab0e865ef3ff12320f265ee95588b899,8927e315ab0e865ef3ff12320f265ee95588b899]:apollographql/router (ghcr.io/apollographql/router)
v2.8.0Compare Source
🚀 Features
Response caching
Available on all GraphOS plans including Free, Developer, Standard and Enterprise.
Response caching enables the router to cache GraphQL subgraph origin responses using Redis, delivering performance improvements by reducing subgraph load and query latency. Unlike traditional HTTP caching or client-side caching, response caching works at the GraphQL entity level—caching reusable portions of query responses that can be shared across different operations and users.
Response caching caches two types of data:
Benefits include:
Cache-Controlheaders from subgraph originsResponse caching solves traditional GraphQL caching challenges including mixed TTL requirements across a single response, personalized versus public data mixing, and high data duplication.
Configure response caching using the
preview_response_cacheconfiguration option with Redis as the cache backend. For complete setup instructions and advanced configuration, see the Response Caching documentation.Migration from entity caching: For existing entity caching users, migration is as simple as renaming configuration options. For migration details see the Response Caching FAQ.
Support per-stage coprocessor URLs (PR #8384)
You can now configure different coprocessor URLs for each stage of request/response processing (router, supergraph, execution, subgraph). Each stage can specify its own
urlfield that overrides the global default URL.Changes:
urlfield to all stage configuration structsas_servicemethods to accept and resolve URLsThis change maintains full backward compatibility—existing configurations with a single global URL continue to work unchanged.
By @cgati in https://github.com/apollographql/router/pull/8384
Add automatic unit conversion for duration instruments with non-second units
The router now automatically converts duration measurements to match the configured unit for telemetry instruments.
Previously, duration instruments always recorded values in seconds regardless of the configured
unitfield.When you specify units like
"ms"(milliseconds),"us"(microseconds), or"ns"(nanoseconds),the router automatically converts the measured duration to the appropriate scale.
Supported units:
"s"- seconds (default)"ms"- milliseconds"us"- microseconds"ns"- nanosecondsExample:
By @theJC in https://github.com/apollographql/router/pull/8415
Add response reformatting and result coercion errors (PR #8441)
All subgraph responses are checked and corrected to ensure alignment with the schema and query. When a misaligned value is returned, it's nullified. When enabled, errors for this nullification are now included in the errors array in the response.
Enable this feature in your router configuration:
When enabled, the router generates validation errors with the code
RESPONSE_VALIDATION_FAILEDfor any values that don't match the expected GraphQL type. These errors include the specific path and reason for the validation failure, helping you identify data inconsistencies between your subgraphs and schema.While this feature improves GraphQL correctness, clients may encounter errors in responses where they previously did not, which may require consideration based on your specific usage patterns.
By @TylerBloom in https://github.com/apollographql/router/pull/8441
Add router overhead metric (PR #8455)
The
apollo.router.overheadhistogram provides a direct measurement of router processing overhead. This metric tracks the time the router spends on tasks other than waiting for downstream HTTP requests—including GraphQL parsing, validation, query planning, response composition, and plugin execution.The overhead calculation excludes time spent waiting for downstream HTTP services (subgraphs and connectors), giving you visibility into the router's actual processing time versus downstream latency. This metric helps identify when the router itself is a bottleneck versus when delays are caused by downstream services.
Note: Coprocessor request time is currently included in the overhead calculation. In a future release, coprocessor time may be excluded similar to subgraphs and connectors.
By @BrynCooke in https://github.com/apollographql/router/pull/8455
Include invalid Trace ID values in error logs (PR #8149)
Error messages for malformed Trace IDs now include the invalid value to help with debugging. Previously, when the router received an unparseable Trace ID in incoming requests, error logs only indicated that the Trace ID was invalid without showing the actual value.
Trace IDs can be unparseable due to invalid hexadecimal characters, incorrect length, or non-standard formats. Including the invalid value in error logs makes it easier to diagnose and resolve tracing configuration issues.
By @juancarlosjr97 in https://github.com/apollographql/router/pull/8149
Add ability to rename metrics (PR #8424)
The router can now rename instruments via OpenTelemetry views. Details on how to use this feature can be found in the docs.
Benefits:
By @theJC in https://github.com/apollographql/router/pull/8412
🐛 Fixes
Reload telemetry only when configuration changes (PR #8328)
Previously, schema or config reloads would always reload telemetry, dropping existing exporters and creating new ones.
Telemetry exporters are now only recreated when relevant configuration has changed.
By @BrynCooke in https://github.com/apollographql/router/pull/8328
Replace Redis connections metric with clients metric (PR #8161)
The
apollo.router.cache.redis.connectionsmetric has been removed and replaced with theapollo.router.cache.redis.clientsmetric.The
connectionsmetric was implemented with an up-down counter that would sometimes not be collected properly (it could go negative). The nameconnectionswas also inaccurate since Redis clients each make multiple connections, one to each node in the Redis pool (if in clustered mode).The new
clientsmetric counts the number of clients across the router via anAtomicU64and surfaces that value in a gauge.By @carodewig in https://github.com/apollographql/router/pull/8161
Prevent entity caching of expired data based on Age header (PR #8456)
When the
Ageheader is higher than themax-agedirective inCache-Control, the router no longer caches the data because it's already expired.For example, with these headers:
The data won't be cached since
Age(90) exceedsmax-age(5).By @bnjjj in https://github.com/apollographql/router/pull/8456
Reduce config and schema reload log noise (PR #8336)
File watch events during an existing hot reload no longer spam the logs. Hot reload continues as usual after the existing reload finishes.
By @goto-bus-stop in https://github.com/apollographql/router/pull/8336
Prevent query planning errors for
@shareablemutation fields (PR #8352)Query planning a mutation operation that executes a
@shareablemutation field at the top level may unexpectedly error when attempting to generate a plan where that mutation field is called more than once across multiple subgraphs. Query planning now avoids generating such plans.By @sachindshinde in https://github.com/apollographql/router/pull/8352
Prevent UpDownCounter drift using RAII guards (PR #8379)
UpDownCounters now use RAII guards instead of manual incrementing and decrementing, ensuring they're always decremented when dropped.
This fix resolves drift in
apollo.router.opened.subscriptionsthat occurred due to manual incrementing and decrementing.By @BrynCooke in https://github.com/apollographql/router/pull/8379
Reduce Rhai short circuit response log noise (PR #8364)
Rhai scripts that short-circuit the pipeline by throwing now only log an error if a response body isn't present.
For example the following will NOT log:
For example the following WILL log:
By @BrynCooke in https://github.com/apollographql/router/pull/8364
Prevent query planning error where
@requiressubgraph jump fetches@keyfrom wrong subgraph (PR #8016)During query planning, a subgraph jump added due to a
@requiresfield may sometimes try to collect the necessary@keyfields from an upstream subgraph fetch as an optimization, but it wasn't properly checking whether that subgraph had those fields. This is now fixed and resolves query planning errors with messages like "Cannot add selection of fieldT.idto selection set of parent typeT".By @sachindshinde in [https://github.com/a
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - "after 8am and before 4pm on tuesday" in timezone America/Los_Angeles.
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Renovate Bot.