October 12, 2022
@envelop/core@3.0.0
Major Changes
-
#1487
dc1e24b5
Thanks @saihaj! - RemoveisIntrospectionQuery
utility -
#1487
dc1e24b5
Thanks @saihaj! - Remove async schema loading plugin. This was a mistake from beginning as we cannot asynchronouslyvalidate
andparse
since with GraphQL.js are synchronous in nature. -
#1487
dc1e24b5
Thanks @saihaj! - RemoveonResolverCalled
We decided to drop onResolverCalled hook and instead provide a new plugin that will let you hook into this phase.
import { parse, validate, execute, subscribe } from 'graphql' import { envelop, Plugin, useEngine } from '@envelop/core' + import { useOnResolve } from '@envelop/on-resolve' import { onResolverCalled } from './my-resolver' function useResolve(): Plugin { return { - onResolverCalled: onResolverCalled, + onPluginInit: ({ addPlugin }) => { + addPlugin(useOnResolve(onResolverCalled)) + }, } } const getEnveloped = envelop({ plugins: [ useEngine({ parse, validate, execute, subscribe }), // ... other plugins ... useResolve(), ], });
-
#1487
dc1e24b5
Thanks @saihaj! - DropuseTiming
pluginThis plugin was dependent on tracing the schema. As we no longer support wrap the schema out of the box we decided to drop this plugin.
-
#1487
dc1e24b5
Thanks @saihaj! - RemoveisIntrospectionDocument
utility -
#1487
dc1e24b5
Thanks @saihaj! - Drop Node v12 supportNode.js v12 is no longer supported by the Node.js team. https://github.com/nodejs/Release/#end-of-life-releases
-
#1487
dc1e24b5
Thanks @saihaj! - DropEnvelopError
classTo keep the core agnostic from a specific implementation we no longer provide the
EnvelopError
class. -
#1487
dc1e24b5
Thanks @saihaj! - RemoveuseAsyncSchema
pluginThis was a mistake from beginning as we cannot asynchronously validate and parse since with graphql these functions are synchronous in nature.
-
#1487
dc1e24b5
Thanks @saihaj! - Removegraphql
as a peer dependencyWe have built the new
envelop
to be engine agnostic.graphql-js
is no longer a peer dependency. Now you can use any spec compliant GraphQL engine withenvelop
and get the benefit of building a plugin system. We have introduced a new plugin that can be used to customize the GraphQL Engine.- import { envelop } from '@envelop/core' + import { envelop, useEngine } from '@envelop/core' + import { parse, validate, execute, subscribe } from 'graphql'; - const getEnveloped = envelop([ ... ]) + const getEnveloped = envelop({ plugins: [useEngine({ parse, validate, execute, subscribe })] })
Checkout the migration guide for more details.
-
#1487
dc1e24b5
Thanks @saihaj! - RenameuseLazyLoadedSchema
touseSchemaByContext
since the original name was vert misleading. -
#1487
dc1e24b5
Thanks @saihaj! - RemoveenableIf
utility in favor of more type safe way to conditionally enable plugins. It wasn't a great experience to have a utilityWe can easily replace usage like this:
- import { envelop, useMaskedErrors, enableIf } from '@envelop/core' + import { envelop, useMaskedErrors } from '@envelop/core' import { parse, validate, execute, subscribe } from 'graphql' const isProd = process.env.NODE_ENV === 'production' const getEnveloped = envelop({ parse, validate, execute, subscribe, plugins: [ // This plugin is enabled only in production - enableIf(isProd, useMaskedErrors()) + isProd && useMaskedErrors() ] })
-
#1487
dc1e24b5
Thanks @saihaj! - RemovehandleValidationErrors
andhandleParseErrors
options fromuseMaskedErrors
.ONLY masking validation errors OR ONLY disabling introspection errors does not make sense, as both can be abused for reverse-engineering the GraphQL schema (see https://github.com/nikitastupin/clairvoyance for reverse-engineering the schema based on validation error suggestions).
#1482 (comment)Rename
formatError
function option tomaskError
-
#1487
dc1e24b5
Thanks @saihaj! - Removed orchestrator tracingGraphQLSchema
was wrapped to provide resolvers/fields tracing from the schema. Issue with this approach was it was very specific to the underlying engine's implementation. With the new version we no longer want to depend to a specific implementation. Now users can wrap their schemas and add tracing themselves.
Minor Changes
- #1487
dc1e24b5
Thanks @saihaj! - respond to context, parse and validate errors inuseErrorHandler
plugin
@envelop/apollo-datasources@2.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/apollo-federation@3.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/apollo-server-errors@4.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/apollo-tracing@4.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
Patch Changes
- Updated dependencies [
dc1e24b5
]:- @envelop/on-resolve@2.0.0
@envelop/auth0@4.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/dataloader@4.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/depth-limit@2.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/disable-introspection@4.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/execute-subscription-event@3.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/extended-validation@2.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/filter-operation-type@4.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/fragment-arguments@4.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/generic-auth@5.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
Patch Changes
- Updated dependencies []:
- @envelop/extended-validation@2.0.0
@envelop/graphql-jit@5.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/graphql-middleware@4.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/graphql-modules@4.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/immediate-introspection@1.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/live-query@5.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/newrelic@5.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
Patch Changes
- Updated dependencies [
dc1e24b5
]:- @envelop/on-resolve@2.0.0
@envelop/on-resolve@2.0.0
Major Changes
-
#1487
dc1e24b5
Thanks @saihaj! - RemoveonResolverCalled
We decided to drop onResolverCalled hook and instead provide a new plugin that will let you hook into this phase.
import { parse, validate, execute, subscribe } from 'graphql' import { envelop, Plugin, useEngine } from '@envelop/core' + import { useOnResolve } from '@envelop/on-resolve' import { onResolverCalled } from './my-resolver' function useResolve(): Plugin { return { - onResolverCalled: onResolverCalled, + onPluginInit: ({ addPlugin }) => { + addPlugin(useOnResolve(onResolverCalled)) + }, } } const getEnveloped = envelop({ plugins: [ useEngine({ parse, validate, execute, subscribe }), // ... other plugins ... useResolve(), ], });
-
Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/opentelemetry@4.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
Patch Changes
- Updated dependencies [
dc1e24b5
]:- @envelop/on-resolve@2.0.0
@envelop/operation-field-permissions@4.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
Patch Changes
- Updated dependencies []:
- @envelop/extended-validation@2.0.0
@envelop/parser-cache@5.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/persisted-operations@5.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/preload-assets@4.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/prometheus@7.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
Patch Changes
- Updated dependencies [
dc1e24b5
]:- @envelop/on-resolve@2.0.0
@envelop/rate-limiter@4.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
Patch Changes
- Updated dependencies [
dc1e24b5
]:- @envelop/on-resolve@2.0.0
@envelop/resource-limitations@3.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
Patch Changes
- Updated dependencies []:
- @envelop/extended-validation@2.0.0
@envelop/response-cache@4.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/response-cache-redis@2.0.0
Patch Changes
- Updated dependencies []:
- @envelop/response-cache@4.0.0
@envelop/sentry@4.0.0
Major Changes
-
#1487
dc1e24b5
Thanks @saihaj! - Default skip reportingGraphQLError
-
Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
Patch Changes
- Updated dependencies [
dc1e24b5
]:- @envelop/on-resolve@2.0.0
@envelop/statsd@3.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0
@envelop/validation-cache@5.0.0
Major Changes
- Updated dependencies [
dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
,dc1e24b5
]:- @envelop/core@3.0.0