-
Notifications
You must be signed in to change notification settings - Fork 0
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
Update Apollo GraphQL packages #436
Open
renovate
wants to merge
1
commit into
master
Choose a base branch
from
renovate/apollo-graphql-packages
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
August 20, 2019 04:49
312cbc7
to
4c49a10
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
2 times, most recently
from
September 7, 2019 11:44
e66cb5a
to
8d85afc
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
October 4, 2019 09:55
8d85afc
to
b4ec2c4
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
November 11, 2019 05:00
b4ec2c4
to
be85492
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
November 21, 2019 13:13
be85492
to
4a07aad
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
December 14, 2019 19:56
4a07aad
to
8aeca0c
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
December 22, 2019 01:00
8aeca0c
to
af31a17
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
December 31, 2019 19:57
af31a17
to
5aaed0c
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
January 19, 2020 06:56
5aaed0c
to
7799204
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
February 8, 2020 22:53
7799204
to
e43d793
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
February 22, 2020 06:57
e43d793
to
fd1ba7c
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
March 14, 2020 08:54
fd1ba7c
to
47482eb
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
April 29, 2020 08:58
47482eb
to
43afc8f
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
May 15, 2020 13:01
43afc8f
to
c5c5314
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
July 1, 2020 15:56
c5c5314
to
860a7f2
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
August 25, 2020 01:53
860a7f2
to
4b18a54
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
October 28, 2020 14:59
4b18a54
to
658af1b
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
November 28, 2020 19:52
658af1b
to
ab74090
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
January 7, 2021 00:00
ab74090
to
36d3553
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
January 24, 2021 10:52
36d3553
to
3b3192d
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
February 10, 2021 13:43
3b3192d
to
24cd20a
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
April 26, 2021 14:45
24cd20a
to
d8c895a
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
May 9, 2021 21:06
d8c895a
to
58c87da
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
June 6, 2021 20:41
58c87da
to
304b1fd
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
June 15, 2021 13:08
304b1fd
to
a374e9c
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
October 18, 2021 23:51
a374e9c
to
1673122
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
March 7, 2022 18:00
1673122
to
c5e6ad6
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.5.1
->1.6.6
2.5.1
->2.6.10
1.5.14
->1.5.17
2.4.8
->2.25.3
2.10.1
->2.12.6
Release Notes
apollographql/apollo-client
v1.6.6
Compare Source
v1.6.5
Compare Source
v1.6.3
Compare Source
v1.6.2
Compare Source
v1.6.1
Compare Source
__typename
exists on the root Query when matching fragments.@benjamn in #4853
v1.6.0
Compare Source
Support
new InMemoryCache({ freezeResults: true })
to help enforce immutability.@benjamn in #4514
Allow
IntrospectionFragmentMatcher
to match fragments against the rootQuery
, asHeuristicFragmentMatcher
does.@rynobax in #4620
Rerential identity (
===
) of arrays in cache results will now be preserved for unchanged data.@benjamn in commit f3091d6a
Avoid adding
__typename
field to@client
selection sets that have been@export
ed as input variables.@benjamn in #4784
apollographql/apollo-link
v1.5.17
Compare Source
v1.5.16
Compare Source
v1.5.15
Compare Source
apollographql/apollo-server
v2.25.3
Compare Source
apollo-server-core
: Update default version of the GraphQL Playground React app loaded from the CDN to be@apollographql/[email protected]
. This patches an XSS vulnerability. Note that if you are pinning the Playground React app version in your app withnew ApolloServer({playground: {version: 'some version'}})
, you will need to update the specified version to 1.7.42 or later to avoid this vulnerability. If you disable GraphQL Playground withnew ApolloServer({playground: false})
, this vulnerability does not affect you. See advisory GHSA-qm7x-rc44-rrqw for more details.v2.25.2
Compare Source
apollo-server-express
: Update dependencies on@types/express
and@types/express-serve-static-core
. PR #5352v2.25.1
Compare Source
apollo-server-core
,apollo-server-express
: Upgradesubscriptions-transport-ws
dependency and remove unneeded runtime dependency onws
. This should enable you to install Apollo Server without depending on versions ofws
vulnerable to CVE-2021-32640. Note that the superficial integration of the unmaintainedsubscriptions-transport-ws
package will be removed in Apollo Server 3; you can also avoid this vulnerability by disabling the built-in subscription support withnew ApolloServer({subscriptions: false})
and using a maintained package such asgraphql-ws
instead. (Instead of taking this upgrade, you can also upgradews
to5.2.3
, which was just released.)v2.25.0
Compare Source
apollo-server-core
: You may now specify your Studio graph as a graph ref (id@variant
) via theAPOLLO_GRAPH_REF
environment variable ornew ApolloServer({apollo: {graphRef}})
instead of specifying graph ID and graph variant separately. Theapollo
object passed to pluginserverWillStart
and to gatewayload
now contains agraphRef
field.apollo-server-core
: Fix a race condition where schema reporting could lead to a delay at process shutdown. PR #5222apollo-server-core
: Allow the Fetch API implementation to be overridden for the schema reporting and usage reporting plugins via a newfetcher
option. PR #5179apollo-server-core
: Theserver.executeOperation
method (designed for testing) can now take itsquery
as aDocumentNode
(eg, agql
-tagged string) in addition to as a string. (This matches the behavior of theapollo-server-testing
createTestClient
function which is now deprecated.) We now recommend this method instead ofapollo-server-testing
in our docs. Issue #4952apollo-server-testing
: Replace README with a deprecation notice explaining how to useserver.executeOperation
instead. Issue #4952v2.24.1
Compare Source
apollo-server-core
: Fix a typo that could lead to TypeScript compilation when combined with a recent version of@types/node
. (This bug had no runtime effect.) PR #5149v2.24.0
Compare Source
apollo-server-core
: Apollo Studio usage reporting uses a more efficient format which sends fewer detailed traces to Apollo's server. This change should not have a major effect on the experience of using Apollo Studio. This also fixes a bug in all prior versions where all operations were reported to Studio as "uncached". PR #4142v2.23.0
Compare Source
apollo-server-core
: Add optional argument toApolloServer.executeOperation
allowing the caller to manually specify an argument to theconfig
function analogous to that provided by integration packages. PR #4166 Issue #2886[email protected]
: NewBaseRedisCache
class which takes anioredis
-compatible Redis client as an argument. The existing classesRedisCache
andRedisClusterCache
(which pass their arguments toioredis
constructors) are now implemented in terms of this class. This allows you to use any of theioredis
constructor forms rather than just the ones recognized by our classes. This also fixes a long-standing bug where the Redis cache implementations returned a number fromdelete()
; it now returns a number, matching what theKeyValueCache
interface and the TypeScript types expect. PR #5034 PR #5088 Issue #4870 Issue #5006apollo-server-core
: Fix type forformatResponse
function. It never is called with anull
argument, and is allowed to returnnull
. Issue #5009 PR #5089apollo-server-lambda
: Fix regression in v2.21.2 where thrown errors were replaced by throwing the JS Error class itself. PR #5085apollo-server-core
: If a client sends a variable of the wrong type, this is now reported as an error with anextensions.code
ofBAD_USER_INPUT
rather thanINTERNAL_SERVER_ERROR
. PR #5091 Issue #3498apollo-server-lambda
: Explicitly support API GatewaypayloadFormatVersion
2.0. Previously some codepaths did appropriate checks to partially support 2.0 and other codepaths could lead to errors likeevent.path.endsWith is not a function
(especially since v2.21.1). Note that this changes the TypeScript typing of theonHealthCheck
callback passed tocreateHandler
to indicate that it can receive either type of event. If you are using TypeScript and care about having a precise typing for the argument to youronHealthCheck
callback, you should determine which payload format you want to support and writenew ApolloServer<APIGatewayProxyEvent>(...)
ornew ApolloServer<APIGatewayProxyEventV2>(...)
(importing these types fromaws-lambda
), or differentiate between the two formats by checking to see if'path' in event
. Issue #5084 Issue #5016v2.22.2
Compare Source
apollo-server-core
: Fix a regression in v2.22.0 where combiningapollo-server-core
v2.22 with an older version of an integration package could lead to startup errors likecalled start() with surprising state invoking serverWillStart
. The fix involves changing the semantics of the protectedwillStart
method (which is left in only for backwards compatibility). Issue #5065 Issue #5066 PR #5073v2.22.1
Compare Source
apollo-server-core
: Fix a regression in v2.22.0 where startup errors could be thrown as part of the GraphQL response instead of redacted in one edge case. PR #5064v2.22.0
Compare Source
serverWillStart
handlers successfully before starting an HTTP server. If you're using theapollo-server
package, no code changes are necessary. If you're using an integration such asapollo-server-express
that is not a "serverless framework", you can insertawait server.start()
betweenserver = new ApolloServer()
andserver.applyMiddleware
. (If you don't callserver.start()
yourself, your server will still work, but the previous behavior of starting a web server that may fail to load its schema still applies.) The serverless framework integrations (Lambda, Azure Functions, and Cloud Functions) do not support this functionality. While the protected methodwillStart
still exists for backwards compatibility, you should replace calls to it withstart
or the new protected methodensureStarting
. PR #4981v2.21.2
Compare Source
apollo-server-core
: TheSIGINT
andSIGTERM
signal handlers installed by default (when not disabled bystopOnTerminationSignals: false
) now stay active (preventing process termination) while the server shuts down, instead of letting a second signal terminate the process. The handlers still re-signal the process afterthis.stop()
concludes. Also, ifthis.stop()
throws, the signal handlers will now log and exit 1 instead of throwing an uncaught exception. Issue #4931apollo-server-lambda
: Refactor the handler returned byserver.createHandler
so that if it is not passed a callback, it acts as an async handler instead of a non-async handler. This means you can wrap it in your own async handler without having to create a callback, and makes the code more maintainable. Issue #1989 PR #5004v2.21.1
Compare Source
apollo-server-lambda
: TheonHealthCheck
option did not previously work. Additionally, health checks (withonHealthCheck
or without) didn't work in all Lambda contexts, such as behind Custom Domains; the path check is now more flexible. Issue #3999 PR #4969 Issue #4891 PR #4892debug
option tonew ApolloServer
(which adds stack traces to errors) now affects errors that come from requests executed withserver.executeOperation
(and its wrapperapollo-server-testing
), instead of just errors that come from requests executed over HTTP. Issue #4107 PR #4948@apollographql/graphql-playground-html
to v1.6.27 and@apollographql/graphql-playground-react
to v1.7.39 to resolve incorrectly rendered CDN URL when Playgroundversion
wasfalse
-y. PR #4932 PR #4955 Issue #4937v2.21.0
Compare Source
graphql@15
without causing peer dependency errors or warnings. (Apollo Server has a file upload feature which was implemented as a wrapper around thegraphql-upload
package. We have been unable to upgrade our dependency on that package due to backwards-incompatible changes in later versions, and the version we were stuck on did not allowgraphql@15
as a peer dependency. We have now switched to a fork of that old version called@apollographql/graphql-upload-8-fork
that allowsgraphql@15
.) Also bump thegraphql-tools
dependency from 4.0.0 to 4.0.8 forgraphql@15
support. Issue #4865v2.20.0
Compare Source
apollo-server
: Previously,ApolloServer.stop()
functioned likenet.Server.close()
in that it did not close idle connections or close active connections after a grace period. This meant that trying toawait ApolloServer.stop()
could hang indefinitely if there are open connections. Now, this method closes idle connections, and closes active connections after 10 seconds. The grace period can be adjusted by passing the newstopGracePeriodMillis
option tonew ApolloServer
, or disabled by passingInfinity
(though it will still close idle connections). Note that this only applies to the "batteries-included"ApolloServer
in theapollo-server
package with its own built-in Express and HTTP servers. PR #4908 Issue #4097apollo-server-core
: When used withApolloGateway
,ApolloServer.stop
now invokesApolloGateway.stop
. (This makes sense becauseApolloServer
already invokesApolloGateway.load
which is what starts the behavior stopped byApolloGateway.stop
.) Note that@apollo/gateway
0.23 will expect to be stopped in order for natural program shutdown to occur. PR #4907 Issue #4428apollo-server-core
: Avoid instrumenting schemas for the oldgraphql-extensions
library unless extensions are provided. PR #4893 Issue #4889[email protected]
: TheshouldReadFromCache
andshouldWriteToCache
hooks were always documented as returningValueOrPromise<boolean>
(ie, that they could be either sync or async), but they actually only worked if they returned a bool. Now they can be either sync or async as intended. PR #4890 Issue #4886[email protected]
: TheRESTDataSource.trace
method is nowprotected
instead ofprivate
to allow more control over logging and metrics. PR #3940v2.19.2
Compare Source
apollo-server-express
: types: ExportExpressContext
from main module. PR #4821 Issue #3699apollo-server-env
: types: The first parameter tofetch
is now marked as required, as intended and in accordance with the Fetch API specification. PR #4822 Issue #4741apollo-server-core
: Updategraphql-tag
package tolatest
, now with itsgraphql-js
peerDependencies
expanded to include^15.0.0
PR #4833v2.19.1
Compare Source
apollo-server-core
: ThedebugPrintReports
option toApolloServerPluginUsageReporting
now prints traces as well. PR #4805v2.19.0
Compare Source
apollo-server-testing
: types: Allow genericvariables
usage ofquery
andmutate
functions. PR #4383apollo-server-express
: Export theGetMiddlewareOptions
type. PR #4599apollo-server-lambda
: Fix file uploads - ignore base64 decoding for multipart queries. PR #4506apollo-server-core
: Do not send operation documents that cannot be executed to Apollo Studio. Instead, information about these operations will be combined into one "operation" for parse failures, one for validation failures, and one for unknown operation names.v2.18.2
Compare Source
apollo-server-core
: Explicitly includelru-cache
dependency inapollo-server-core
's dependencies. PR #4600v2.18.1
Compare Source
apollo-server-core
: Fix support for legacy optionengine: {logger}
, broken in v2.18.0. PR #4588apollo-server-plugin-base
: TheApolloServerPlugin
TypeScript type does not need to extendAnyFunctionMap
, which was an unnecessary change in v2.18.0. PR #4588apollo-server-core
: Improve a usage reporting error which occurs when you use Apollo Server in an unsupported way. PR #4588apollo-server-core
: Fix typo in error message for unparsable/invalid schemas provided viaoverrideReportedSchema
. PR #4581v2.18.0
Compare Source
apollo-server-core
: When Apollo Server is configured with an Apollo API key, the URLs it uses to connect to Apollo's servers have changed. If the environment in which you run your servers requires you to explicitly allow connections by domain, you will need to add the new domain names. Usage reporting previously connected to https://engine-report.apollodata.com/ and now connects to https://usage-reporting.api.apollographql.com/; schema reporting previously connected to https://edge-server-reporting.api.apollographql.com/ and now connects to https://schema-reporting.api.apollographql.com/ . PR #4453Apollo Server's support for communicating with Apollo’s commercial products has been refactored into three separate plugins exported from
apollo-server-core
(for usage reporting, schema reporting, and inline tracing), configured using the standardplugins
option. Theengine
option continues to work for backwards compatibility in the 2.x series; support forengine
will be deprecated in Apollo Server 3.x. Full details are available in the migration guide. PR #4453To consistently support tracing, inline tracing is enabled by default on federated implementing services, even when an Apollo API key is provided. Previously it was not enabled when an API key was provided. You can disable it with
ApolloServerPluginInlineTraceDisabled
. PR #4453The
apollo-engine-reporting
npm package has been obsoleted and will no longer receive updates. PR #4453The
apollo-engine-reporting-protobuf
package has been renamed toapollo-reporting-protobuf
. No new versions of the old package will be published. PR #4453Implementations of
ApolloServer
for serverless frameworks such as Lambda now override theserverlessFramework()
method to return true. We have changed our own integrations, but other implementations that extendApolloServer
which need this behavior should do the same. Support forengine.sendReportsImmediately
will be dropped in Apollo Server 3.x. PR #4453The
GraphQLServiceContext
type passed to the plugin serverWillStart method now containsapollo
andserverlessFramework
values. PR #4453apollo-server-core
/apollo-server-plugin-base
: The request pipeline plugin API now supports aserverWillStop
lifecycle hook. PR #4453apollo-server-core
: Previously, the usage reporting functionality registered one-shot handlers for theSIGINT
andSIGTERM
signals, which it used to send one final usage report before re-sending the signal to itself to continue shutdown. These signals handlers were installed by default if you enabled usage or schema reporting, and could be disabled by passingengine.handleSignals: false
. Now, termination signal handling is the responsibility of Apollo Server as a whole rather than something specific to usage reporting. Apollo Server itself now registers these one-shot signal handlers, which triggerApolloServer.stop()
. This allows any plugin that implements the newserverWillStop
callback to hook into shutdown logic, not just the usage reporting code. Similarly to before, these signal handlers are registered by default but can be disabled by via an option. We've changed the option name tostopOnTerminationSignals: false
as it is more explicit about the behavior. PR #4453apollo-server-core
: The default logger implementation (if you don't specify your ownlogger
or specifydebug
) now logs at the INFO level instead of the WARN level. The main effect is on a few built-in plugins which log one INFO message at startup; if a custom plugin logs at the INFO level then those messages will be visible by default as well. PR #4453apollo-server-core
: Parse and validate any schema passed viaoverrideReportedSchema
to the schema reporting plugin, and throw accordingly on unparsable or invalid schemas.Using Apollo Server from TypeScript now requires TypeScript 3.8 due to the use of the
import type
andexport type
directives. (If this proves to be a major problem we can revert this choice, but it makes it easier for us to ensure that certain large dependencies are only loaded when needed.) PR #4453Updated
@apollographql/graphql-playground-react
to 1.7.33 to include an upstream fix. PR #4550v2.17.0
Compare Source
installSubscriptionHandlers
from accepting awebsocket.Server
(as intended in PR #1966) and also added support for otherhttp.Server
variations (e.g., Tls). Issue #4198 PR #4200v2.16.1
Compare Source
v2.16.0
Compare Source
apollo-server-fastify
: Pass Fastify'srequest
andreply
objects into thecontext
function, which previously had been receiving nothing. Issue #3156 [PR #3895(https://github.com/apollographql/apollo-server/pull/3895)apollo-server-lambda
: Automatically decode payloads which are Base64-encoded when theisBase64Encoded
boolean is present on Lambdaevent
payloads. PR #4311v2.15.1
Compare Source
main
. As this changed a number of references in the repository'spackage.json
andREADME.md
files (e.g., for badges, links, etc.), this necessitates a release to publish those changes to npm. PR #4302v2.15.0
Compare Source
apollo-engine-reporting
: Added areportTiming
API to allow trace reporting to be enabled or disabled on a per request basis. The option takes either a boolean or a predicate function that takes aGraphQLRequestContextDidResolveOperation
orGraphQLRequestContextDidEncounterErrors
and returns a boolean. If the boolean is false the request will not be instrumented for tracing and no trace will be sent to Apollo Graph Manager. The default istrue
so all traces will get instrumented and sent, which is the same as the previous default behavior. PR #3918apollo-engine-reporting
: RemovedGraphQLServerOptions.reporting
. It isn't known whether a trace will be reported at the beginning of the request because of the above change. We believe this field was only used internally within Apollo Server; let us know if this is a problem and we can suggest alternatives. Additionally, the fieldrequestContext.metrics.captureTraces
is now initialized later in the request pipeline. PR #3918apollo-engine-reporting
: Make Apollo Server throw if schema reporting is enabled for a gateway or federated service. PR #4246apollo-engine-reporting
: Remove theexperimental_
prefix from schema reporting options, and specifically renameexperimental_schemaReporting
option name toreportSchema
. (The old option names remain functional, but are deprecated.) PR #4236v2.14.5
Compare Source
apollo-engine-reporting
: Make Apollo Server throw if schema reporting is enabled for a gateway or federated service. PR #4246v2.14.4
Compare Source
apollo-engine-reporting
: Add environment variableAPOLLO_SCHEMA_REPORTING
that can enable schema reporting. Ifexperimental__schemaReporting
is set it will override the environment variable. PR #4206apollo-engine-reporting
: The schema reporting URL has been changed to use the new dedicated sub-domainhttps://edge-server-reporting.api.apollographql.com
. PR #4232apollo-server-core
: Though Apollo Server is not affected due to the way it is integrated, in response to an upstream security advisory for GraphQL Playground we have published the same patch on our@apollographql/graphql-playground-html
fork and bumped Apollo Server to use it. Again, this was done out of an abundance of caution since the way that Apollo Server utilizesrenderPlaygroundPage
is not vulnerable as it does not allow per-request Playground configuration that could allow interpolation of user-input. PR #4231v2.14.3
Compare Source
v2.14.2
Compare Source
v2.14.1
Compare Source
apollo-server-testing
: Ensure that user-provided context is cloned when usingcreateTestClient
, per the instructions in the integration testing section of the Apollo Server documentation. Issue #4170 PR #4175v2.14.0
Compare Source
apollo-server-core
/apollo-server-plugin-base
: Add support forwillResolveField
and corresponding end-handler withinexecutionDidStart
. This brings the remaining bit of functionality that was previously only available fromgraphql-extensions
to the new plugin API. Thegraphql-extensions
API (which was never documented) will be deprecated in Apollo Server 3.x. To see the documentation for the request pipeline API, see its documentation. For more details, see the attached PR. PR #3988apollo-server-core
: Deprecategraphql-extensions
. All internal usages of thegraphql-extensions
API have been migrated to the request pipeline plugin API. For any implementor-suppliedextensions
, a deprecation warning will be printed once per-extension, per-server-startup, notifying of the intention to deprecate. Extensions should migrate to the plugin API, which is outlined in its documentation. PR #4135apollo-engine-reporting
: Currently only for non-federated graphs.Added an experimental schema reporting option,
experimental_schemaReporting
, for Apollo Graph Manager users. Duringthis experiment, we'd appreciate testing and feedback from current and new
users of the schema registry!
Prior to the introduction of this feature, the only way to get schemas into
the schema registry in Apollo Graph Manager was to use the CLI and run
apollo schema:push
. Apollo schema reporting protocol is a newspecification for GraphQL servers to automatically report schemas to the
Apollo Graph Manager schema registry.
To enable schema reporting, provide a Graph Manager API key (available
free from Apollo Graph Manager) in the
APOLLO_KEY
environment variable and set theexperimental_schemaReporting
option to
true
in the Apollo Server constructor options, like so:For more details on the implementation of this new protocol, see the PR which
introduced it to Apollo Server and the preview documentation.
PR #4084
apollo-engine-reporting
: The underlying integration of this plugin, which instruments and traces the graph's resolver performance and transmits these metrics to Apollo Graph Manager, has been changed from the (soon to be deprecated)graphql-extensions
API to the new request pipelineplugins
API. PR #3998This change should be purely an implementation detail for a majority of users. There are, however, some special considerations which are worth noting:
ftv1
response onextensions
(which is present on the response from an implementing service to the gateway) is now placed on theextensions
after theformatResponse
hook. Anyone leveraging theextensions
.ftv1
data from theformatResponse
hook will find that it is no longer present at that phase.apollo-tracing
: This package's internal integration with Apollo Server has been switched from using the soon-to-be-deprecatedgraphql-extensions
API to using the request pipeline plugin API. Behavior should remain otherwise the same. PR #3991apollo-cache-control
: This package's internal integration with Apollo Server has been switched from using the soon-to-be-deprecatedgraphql-extensions
API to using the request pipeline plugin API. Behavior should remain otherwise the same. PR #3997v2.13.1
Compare Source
v2.13.0
Compare Source
WebSocket.Server
toApolloServer.installSubscriptionHandlers
. PR #2314apollo-server-lambda
: Support file uploads on AWS Lambda Issue #1419 Issue #1703 PR #3926apollo-engine-reporting
: Fix inadvertent conditional formatting which prevented automated persisted query (APQ) hits and misses from being reported to Apollo Graph Manager. PR #3986apollo-engine-reporting
: Deprecate theENGINE_API_KEY
environment variable in favor of its new name,APOLLO_KEY
. Continued use ofENGINE_API_KEY
will result in deprecation warnings and support for it will be removed in a future major version. #3923apollo-engine-reporting
: Deprecated theAPOLLO_SCHEMA_TAG
environment variable in favor of its new name,APOLLO_GRAPH_VARIANT
. Similarly, within theengine
configuration object, theschemaTag
property has been renamedgraphVariant
. The functionality remains otherwise unchanged, but their new names mirror the name used within Apollo Graph Manager. Continued use of the now-deprecated names will result in deprecation warnings and support will be dropped completely in the next "major" update. To avoid misconfiguration, a runtime error will be thrown if both new and deprecated names are set. PR #3855apollo-engine-reporting-protobuf
: (This is a breaking change only if you directly depend onapollo-engine-reporting-protobuf
.) Drop legacy fields that were never used byapollo-engine-reporting
. Added new fieldsStatsContext
to allowapollo-server
to send summary stats instead of full traces, and renamedFullTracesReport
toReport
andTraces
toTracesAndStats
since reports now can include stats as well as traces.v2.12.0
Compare Source
apollo-server-core
: Support providing a custom logger implementation (e.g.winston
,bunyan
, etc.) to capture server console messages. Though there has historically been limited output from Apollo Server, some messages are important to capture in the larger context of production logging facilities or can benefit from using more advanced structure, like JSON-based logging. This also introduces alogger
property to theGraphQLRequestContext
that is exposed to plugins, making it possible for plugins to leverage the same server-level logger, and allowing implementors to create request-specific log contexts, if desired. When not provided, these will still output toconsole
. PR #3894apollo-server-core
: When operating in gateway mode using thegateway
property of the Apollo Server constructor options, the failure to initialize a schema during initial start-up, e.g. connectivity problems, will no longer result in the federated executor from being assigned when the schema eventually becomes available. This precludes a state where the gateway may never become available to serve federated requests, even when failure conditions are no longer present. PR #3811apollo-server-core
: Prevent a condition which prefixed an error message on each request when the initial gateway initialization resulted in a Promise-rejection which was memoized and re-prepended withInvalid options provided to ApolloServer:
on each request. PR #3811apollo-server-express
: Disable the automatic inclusion of thex-powered-by: express
header. PR #3821apollo-engine-reporting
: Avoid creating new arrays when building trace trees. PR #3479apollo-server-core
: Bumpgraphql
peerDependencies
range to include^15.0.0
. PR #3944v2.11.0
Compare Source
peerDependencies
versions forgraphql
has been widened to includegraphql@^15.0.0-rc.2
so as to accommodate the latest release-candidate of thegraphql@15
package, and an intention to support it when it is finally released on thelatest
npm tag. While this change will subdue peer dependency warnings for Apollo Server packages, many dependencies from outside of this repository will continue to raise similar warnings until those packages ownpeerDependencies
are updated. It is unlikely that all of those packages will update their ranges prior to the final version ofgraphql@15
being released, but if everything is working as expected, the warnings can be safely ignored. PR #3825v2.10.1
Compare Source
apollo-server-core
: Update GraphQL Playground to latest version to remove a rogue curly-brace appearing in the top-right corner of the interface under certain conditions. PR #3702 Playground PRapollo-server-core
: Typings: Allow thecache
property insidepersistedQueries
to be optional. This was already optional at runtime where it defaults to the top-level global cache when unspecified, but with the introduction of thettl
property, it now makes sense that one may be provided without the other. #3671v2.10.0
Compare Source
apollo-server-express
: SupportCorsOptionsDelegate
type oncors
parameter toapplyMiddleware
, to align with the supported type of the underlyingcors
middleware itself. #3613apollo-server-core
: Allow asynchronous initialization of datasources: theinitialize
method on datasources may now return a Promise, which will be settled before any resolvers are called. #3639apollo-server-core
: experimental: Allow configuration of the parsed/validated document store by introducing anexperimental_approximateDocumentStoreMiB
property to theApolloServer
constructor options which overrides the default cache size of 30MiB. #3755v2.9.16
Compare Source
apollo-server-core
: Update apollo-tooling dependencies, resolve TS build error (missing types for node-fetch) #3662v2.9.15
Compare Source
Configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, 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 WhiteSource Renovate. View repository job log here.