Skip to content
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

Upcoming Release Changes #1545

Merged
merged 1 commit into from
Oct 12, 2022
Merged

Upcoming Release Changes #1545

merged 1 commit into from
Oct 12, 2022

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Oct 12, 2022

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@envelop/core@3.0.0

Major Changes

  • #1487 dc1e24b5 Thanks @saihaj! - Remove isIntrospectionQuery utility

  • #1487 dc1e24b5 Thanks @saihaj! - Remove async schema loading plugin. This was a mistake from beginning as we cannot asynchronously validate and parse since with GraphQL.js are synchronous in nature.

  • #1487 dc1e24b5 Thanks @saihaj! - Remove onResolverCalled

    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! - Drop useTiming plugin

    This 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! - Remove isIntrospectionDocument utility

  • #1487 dc1e24b5 Thanks @saihaj! - Drop Node v12 support

    Node.js v12 is no longer supported by the Node.js team. https://github.com/nodejs/Release/#end-of-life-releases

  • #1487 dc1e24b5 Thanks @saihaj! - Drop EnvelopError class

    To keep the core agnostic from a specific implementation we no longer provide the EnvelopError class.

  • #1487 dc1e24b5 Thanks @saihaj! - Remove useAsyncSchema plugin

    This 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! - Remove graphql as a peer dependency

    We 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 with envelop 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! - Rename useLazyLoadedSchema to useSchemaByContext since the original name was vert misleading.

  • #1487 dc1e24b5 Thanks @saihaj! - Remove enableIf utility in favor of more type safe way to conditionally enable plugins. It wasn't a great experience to have a utility

    We 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! - Remove handleValidationErrors and handleParseErrors options from useMaskedErrors.

    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).
    Remove handleValidationErrors and handleParseErrors options from useMaskedErrors #1482 (comment)

    Rename formatError function option to maskError

  • #1487 dc1e24b5 Thanks @saihaj! - Removed orchestrator tracing

    GraphQLSchema 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 in useErrorHandler plugin

@envelop/apollo-datasources@2.0.0

Major Changes

@envelop/apollo-federation@3.0.0

Major Changes

@envelop/apollo-server-errors@4.0.0

Major Changes

@envelop/apollo-tracing@4.0.0

Major Changes

Patch Changes

  • Updated dependencies [dc1e24b5]:
    • @envelop/on-resolve@2.0.0

@envelop/auth0@4.0.0

Major Changes

@envelop/dataloader@4.0.0

Major Changes

@envelop/depth-limit@2.0.0

Major Changes

@envelop/disable-introspection@4.0.0

Major Changes

@envelop/execute-subscription-event@3.0.0

Major Changes

@envelop/extended-validation@2.0.0

Major Changes

@envelop/filter-operation-type@4.0.0

Major Changes

@envelop/fragment-arguments@4.0.0

Major Changes

@envelop/generic-auth@5.0.0

Major Changes

Patch Changes

  • Updated dependencies []:
    • @envelop/extended-validation@2.0.0

@envelop/graphql-jit@5.0.0

Major Changes

@envelop/graphql-middleware@4.0.0

Major Changes

@envelop/graphql-modules@4.0.0

Major Changes

@envelop/immediate-introspection@1.0.0

Major Changes

@envelop/live-query@5.0.0

Major Changes

@envelop/newrelic@5.0.0

Major Changes

Patch Changes

  • Updated dependencies [dc1e24b5]:
    • @envelop/on-resolve@2.0.0

@envelop/on-resolve@2.0.0

Major Changes

  • #1487 dc1e24b5 Thanks @saihaj! - Remove onResolverCalled

    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

Patch Changes

  • Updated dependencies [dc1e24b5]:
    • @envelop/on-resolve@2.0.0

@envelop/operation-field-permissions@4.0.0

Major Changes

Patch Changes

  • Updated dependencies []:
    • @envelop/extended-validation@2.0.0

@envelop/parser-cache@5.0.0

Major Changes

@envelop/persisted-operations@5.0.0

Major Changes

@envelop/preload-assets@4.0.0

Major Changes

@envelop/prometheus@7.0.0

Major Changes

Patch Changes

  • Updated dependencies [dc1e24b5]:
    • @envelop/on-resolve@2.0.0

@envelop/rate-limiter@4.0.0

Major Changes

Patch Changes

  • Updated dependencies [dc1e24b5]:
    • @envelop/on-resolve@2.0.0

@envelop/resource-limitations@3.0.0

Major Changes

Patch Changes

  • Updated dependencies []:
    • @envelop/extended-validation@2.0.0

@envelop/response-cache@4.0.0

Major Changes

@envelop/sentry@4.0.0

Major Changes

Patch Changes

  • Updated dependencies [dc1e24b5]:
    • @envelop/on-resolve@2.0.0

@envelop/statsd@3.0.0

Major Changes

@envelop/validation-cache@5.0.0

Major Changes

@envelop/testing@5.0.0

Major Changes

@envelop/response-cache-redis@2.0.0

Patch Changes

  • Updated dependencies []:
    • @envelop/response-cache@4.0.0

@github-actions github-actions bot force-pushed the changeset-release/main branch 5 times, most recently from 41ea534 to 9af59e0 Compare October 12, 2022 16:18
@saihaj saihaj merged commit 8d671ed into main Oct 12, 2022
@saihaj saihaj deleted the changeset-release/main branch October 12, 2022 16:44
@saihaj
Copy link
Collaborator

saihaj commented Oct 12, 2022

/theguild newsletter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant