graphql-compose-examples
graphql-compose-examples copied to clipboard
build(deps): bump apollo-server-core from 3.3.0 to 3.11.0
Bumps apollo-server-core from 3.3.0 to 3.11.0.
Changelog
Sourced from apollo-server-core's changelog.
v3.11.0
- ⚠️ SECURITY: The cache control plugin no longer sets the
cache-controlHTTP response header if the operation is part of a batched HTTP request. Previously, it would set the header to a value describing the cache policy of only one of the operations in the request, which could lead to data being unintentionally cached by proxies or clients. This bug was introduced in v3.0.0 and this fix restores the behavior of Apollo Server 2. (In Apollo Server 4 (specifically,@apollo/[email protected]or newer), the features work properly together, setting the header based on the combined cache policy of all operations.) This could theoretically have led to data tagged as uncacheable being cached and potentially served to different users. More details are available at the security advisory.apollo-server-core: New fieldGraphQLRequestContext.requestIsBatchedavailable to plugins.v3.10.4
apollo-server-core: Manage memory more efficiently in the usage reporting plugin by allowing large objects to be garbage collected more quickly. [PR #7106](apollographql/apollo-server#7106)apollo-server-core: The usage reporting plugin now defaults to a 30 second timeout for each attempt to send reports to Apollo Server instead of no timeout; the timeout can be adjusted with the newrequestTimeoutMsoption toApolloServerPluginUsageReporting. (Apollo's servers already enforced a 30 second timeout, so this is unlikely to break any existing use cases.) [PR #7106](apollographql/apollo-server#7106)v3.10.3
apollo-server-core: Fix memory leak in usage reporting plugin. [Issue #6983](apollographql/apollo-server#6983) [PR #6999](https://github.com/apollographql/apollo-server/[Issue #6983](apollographql/apollo-server#6983)v3.10.2
apollo-server-fastify: Usereturn reply.sendin handlers to match the pattern encouraged by Fastify 4 (althoughapollo-server-fastify@3only works with Fastify 3). [PR #6798](apollographql/apollo-server#6798)[email protected]: Add optionmemoizeGetRequeststo disable GET cache [PR #6650](apollographql/apollo-server#6650) and [PR #6834](apollographql/apollo-server#6834)v3.10.1
- ⚠️ SECURITY: The default landing page contained HTML to display a sample
curlcommand which is made visible if the full landing page bundle could not be fetched from Apollo's CDN. The server's URL is directly interpolated into this command inside the browser fromwindow.location.href. On some older browsers such as IE11, this value is not URI-encoded. On such browsers, opening a malicious URL pointing at an Apollo Router could cause execution of attacker-controlled JavaScript. In this release, the fallback page does not display acurlcommand. More details are available at the security advisory.- Improve error message when both a graph ref and a graph variant are specified. [PR #6709](apollographql/apollo-server#6709)
- Fix the TypeScript declaration of the
fieldLevelInstrumentationoption toApolloServerPluginUsageReportingto show that the function may return a number in addition to a boolean. This now matches the implementation and docs. [PR #6763](apollographql/apollo-server#6763)v3.10.0
- Add
document,variables,headersas an option in theApolloServerPluginLandingPageLocalDefaultplugins. The embedded version of Apollo Sandbox can now use these options as an initial state. [PR #6628](apollographql/apollo-server#6628)- Add
generateCacheKeytoApolloServerPluginResponseCacheto allow for custom cache keys. [PR #6655](apollographql/apollo-server#6655)v3.9.0
- ⚠️ SECURITY
apollo-server-core: The default configuration of Apollo Server is vulnerable to denial of service attacks via memory exhaustion. If you do not currently specify thecacheoption tonew ApolloServer(), we strongly recommend you specifycache: 'bounded', which replaces the default in-memory unbounded cache with a 30MB in-memory cache, or disable automatic persisted queries withpersistedQueries: false. Apollo Server now logs a warning in production if you do not configure the cache or disable APQs. See the docs for more details.- The
apollo-server-cachingpackage is no longer published. The TypeScript typesKeyValueCacheandKeyValueCacheSetOptionsand the classesPrefixingKeyValueCacheandInMemoryLRUCachecan be imported from@apollo/utils.keyvaluecacheinstead. The first three exports are identical;InMemoryLRUCacheis based onlru-cachev7 instead of v6, and no longer supports creating unbounded caches (which was the default behavior forapollo-server-caching'sInMemoryLRUCache). [PR #6522](apollographql/apollo-server#6522)- The
apollo-server-cache-redisandapollo-server-cache-memcachedpackages are no longer published (though previous versions continue to work). We recommend that users of these packages migrate to@apollo/utils.keyvadapter, which lets you connect to Redis, Memcached, or any other backend supported by the Keyv project. See the new cache backend docs for more details. [PR #6541](apollographql/apollo-server#6541)- Avoid unhandled rejection errors if the end hook from a
parsingDidStartplugin method rejects. [Issue #6567](apollographql/apollo-server#6567) [PR #6559](apollographql/apollo-server#6559)v3.8.2
apollo-server-core: Fix usage reporting plugin "willResolveField called after stopTiming!" error caused by a race condition related to null bubbling. [Issue #4472](apollographql/apollo-server#4472) [PR #6398](apollographql/apollo-server#6398)v3.8.1
- This is a patch release strictly for republishing over what appears to be a hiccup in NPMs service. [Issue #6469](apollographql/apollo-server#6469)
v3.8.0
- Add
embedas an option in theApolloServerPluginLandingPageLocalDefaultandApolloServerPluginLandingPageProductionDefaultplugins. If you pass theembedoption toApolloServerPluginLandingPageLocalDefault, the Apollo Studio Sandbox will be embedded on your Apollo Server endpoint. If you pass theembedoption toApolloServerPluginLandingPageProductionDefault, the Apollo Studio embedded Explorer will be embedded on your Apollo Server endpoint. In both cases, users can use the embedded app to run GraphQL operations without any special CORS setup.- Add a few missing dependencies to packages. [PR #6393](apollographql/apollo-server#6393)
- Factor out some usage reporting code to a shared package in the
apollo-utilsrepository. Should not be a visible change. [PR #6449](apollographql/apollo-server#6449)
... (truncated)
Commits
538151bRelease69be2f7Merge pull request from GHSA-8r69-3cvp-wxc340fcd3dBackport #7107 (docs: document new usage reporting option)f519e1dRelease8ca2c11Backport usage reporting improvements #7101 to AS3 (#7106)985c079Releasecd31e33usage reporting: fix memory leak (#7000)ca928e4Upgradetypescriptversion and resolve "unconstrained generic" errors (#6940)40ed23fchore(deps): update dependency uuid to v9 (main) (#6883)f6c5c9fRelease- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labelswill set the current labels as the default for future PRs for this repo and language@dependabot use these reviewerswill set the current reviewers as the default for future PRs for this repo and language@dependabot use these assigneeswill set the current assignees as the default for future PRs for this repo and language@dependabot use this milestonewill set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.