Skip to content
This repository has been archived by the owner on Apr 15, 2020. It is now read-only.

Latest commit

 

History

History
1263 lines (677 loc) · 66.7 KB

CHANGELOG.md

File metadata and controls

1263 lines (677 loc) · 66.7 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

9.0.2 (2020-03-30)

4.0.7 (2020-02-19)

4.0.6 (2019-10-24)

9.0.1 (2020-03-27)

Bug Fixes

  • delegation: do not override null defaults (cdec507)

9.0.0 (2020-03-26)

⚠ BREAKING CHANGES

  • stitching: Allow specification of args even with root field transformations. Includes changes to createRequestFromInfo and createRequest signatures and related interfaces, streamlining them to only use the targetOperation and targetFieldName, returning to the original upstream graphql-tools behavior of adding args later as a transform.

args passed to delegateToSchema, however, are still optional. All args passed to delegateToSchema are serialized using the targetSchema serialization, if available.

Bug Fixes

  • delegation: fix argument/variable bugs (74b95c2), closes #46 #44
  • stitching: delegateToSchema args specification (01fddb4)

8.10.0 (2020-03-24)

Features

  • transforms: add interface transforms (48d9cd9)

8.9.9 (2020-03-23)

8.9.8 (2020-03-23)

Bug Fixes

8.9.7 (2020-03-23)

Bug Fixes

  • tests: v15 test failure (e7f901c)
  • toConfig: accept field or inputField as arguments (29c222d), closes #44
  • toConfig: in older versions of graphql (2c4df59)
  • transforms: fix nested field name changes (3020c3c), closes #43

8.9.6 (2020-03-12)

Bug Fixes

  • tests: v12 and v13 extensionASTNode support (ce6a22b)

8.9.5 (2020-03-12)

Bug Fixes

  • SchemaDirectiveVisitor: visit directives added via extend (27b39ad)

8.9.4 (2020-03-11)

Bug Fixes

  • mapSchema: rewire directives last (b50b4ce)

8.9.3 (2020-03-10)

Bug Fixes

  • MapperKind: export MapperKind (03c57dc)
  • mapSchema: fix rewiring (e26da10)

8.9.2 (2020-03-10)

Bug Fixes

  • mapSchema: fix rewiring (4150064)
  • toConfig: touch up types (b87344c)

8.9.1 (2020-03-09)

Bug Fixes

  • tests: use toConfig polyfill for all tests (f19d865)

8.9.0 (2020-03-09)

Features

  • mapSchema: initial version (dfe07b6)

8.8.1 (2020-03-08)

Bug Fixes

  • RenameRootTypes: to work when stitching (619c8b7)

8.8.0 (2020-03-06)

Features

  • stitching: allow specification of custom root object names (49ab7bf)

Bug Fixes

  • stitching: do not reproxy a nested root field (dd3bae0)

8.7.0 (2020-03-06)

Features

  • RenameRootTypes: add new transform (a0362ae)

8.6.4 (2020-03-01)

Bug Fixes

  • extendSchema: adjust polyfill (9ea9521)
  • instanceof: use graphql predicates (9011fad)
  • mergeSchemas: remove unnecessarily healing (6e88b89)

8.6.3 (2020-02-28)

Bug Fixes

  • ci: properly polyfill graphql v14.1 and 14.2 (c3d6515)

8.6.2 (2020-02-27)

8.6.1 (2020-02-17)

Bug Fixes

  • typescript: remove dom requirement (90093c6)

8.6.0 (2020-02-17)

Features

  • graphql: initial v15 support. (4034560)
  • graphql: interfaces implementing interfaces (b0241b7)

Bug Fixes

8.5.5 (2020-02-16)

Bug Fixes

  • transformSchema: handle schemaConfig objects (0c796b7)

8.5.4 (2020-02-13)

8.5.3 (2020-02-13)

8.5.2 (2020-02-06)

Bug Fixes

  • generation: allow modification of default scalar types (722abfa)

8.5.1 (2020-02-04)

Bug Fixes

8.5.0 (2020-02-02)

Features

  • delegation: selectionSet option (338fdd0)
  • merging: allow keys for merged types to also include subfields (cc0cc91)
  • merging: check subschema rather than fragment for merging (299a21f)
  • merging: merge additional types besides GraphQLObjectTypes (574ff85)
  • merging: set up default mergeTypeResolver (eea77bb)

Bug Fixes

  • merging: fixes merging for non root types (7093f10)
  • merging: use proper collectFields when possible (5b6b082)
  • stitching: add arguments as variables (82ed841)

8.4.0 (2020-01-23)

Features

  • stitching: support advanced type merging (3bdc30e)

8.3.4 (2020-01-22)

8.3.3 (2020-01-21)

8.3.2 (2020-01-21)

Bug Fixes

8.3.1 (2020-01-20)

Bug Fixes

  • transforms: refactor TransformRootFields to allow flexible transform ordering (aa02c47), closes #27

8.3.0 (2020-01-16)

Features

  • stitching: add returnType option to delegateToSchema (abe0ee8), closes #33
  • stitching: export createDelegatingRequest and delegateRequest methods. (a665eb9)

Bug Fixes

  • healing: empty types should be pruned even if fields of those types still exist (3545d73), closes #37

8.2.2 (2020-01-15)

Bug Fixes

  • stitching: do not make sync delegation async (cb61a36), closes #36

8.2.1 (2020-01-09)

Bug Fixes

  • stitching: custom scalars/enums (fd1bd8f)

8.2.0 (2020-01-06)

Features

  • transforms: add HoistField transform (becf901)

8.1.1 (2020-01-05)

Bug Fixes

  • TransformObjectFields/MapFields: allow more transformations (daef1e3)
  • wrapping: wrapped field names must be unique. (98601f7)

8.1.0 (2019-12-31)

Features

  • stitching: enable proxying uploads (83f8dd9)

8.0.2 (2019-12-26)

Bug Fixes

  • filterToSchema: remove map in favor of plain object (3a4d5f9)

8.0.1 (2019-12-25)

Bug Fixes

  • stitching: filter unused variables from map (3f0c1b3)

8.0.0 (2019-12-19)

⚠ BREAKING CHANGES

  • stitching: Previous version of createMergedResolver did not work with multiple layers of field wrapping. extractFields was not working, deprecated in favor of hoistFieldNodes. createMergedResolver now relies on two helper functions, dehoistResult, complement to hoistFieldNoes, and unwrapResult, complement to wrapFieldNodes.

Features

  • WrapFields: add new transform (04dc7f1)

Bug Fixes

  • stitching: wrapping and hoisting field transforms (9ebad82)

7.2.3 (2019-12-10)

Bug Fixes

  • handleList: missing context (d7dc47a)

7.2.2 (2019-12-09)

Bug Fixes

  • WrapType: fix root type edge case (c851df0)

7.2.1 (2019-12-09)

Bug Fixes

  • stitching: improve error proxying for lists (045b515)

7.2.0 (2019-11-27)

Bug Fixes

  • stitching: add test (372dcdd)
  • transforms: cloneSchema prior to transformSchema (b2bda0e)

Features

  • mergeTypes: adds abiliity to merge types (563cdce)
  • mergeTypes: initial version (8e9dd52)
  • stitching: precompile fragment replacements (53e3662)

7.1.4 (2019-11-07)

Bug Fixes

  • stitching: don't annotate primitives (13934ac)

7.1.3 (2019-11-07)

Bug Fixes

  • stitching: latest fix breaks zeros (1ce8015)

7.1.2 (2019-11-07)

Bug Fixes

  • stitching: change merged result format (c57c15d), closes #26

7.1.1 (2019-11-06)

Bug Fixes

  • stitching: pass along more errors (e12b962), closes #26

7.1.0 (2019-11-04)

Features

  • mergeSchemas: allow transform specification (5efafbe)

7.0.3 (2019-10-20)

Bug Fixes

  • deps: correct graphql peer dependency. (bd2bc0f)

7.0.2 (2019-10-13)

Bug Fixes

  • RenameTypes: add required arg (75b54c0)

7.0.1 (2019-10-13)

Bug Fixes

  • docs: expands transforms docs (bcd55f6)
  • docs: use delegateToSchema (ec00d65)

7.0.0 (2019-10-13)

⚠ BREAKING CHANGES

  • transforms: Result transforms should be reversed, so that multiple request and result transforms can be properly executed.

Request and result transforms must be inverted when transforming a schema, as these transforms work to move from the final schema back to the original schema.

These CHANGES have the potential to be BREAKING.

Bug Fixes

  • transforms: to properly allow chaining. (b749aeb)
  • types: enforce VisitSchemaKind enum (2e60509)

Features

  • RenameTypes: remove extra result traversal (fac833d)

6.6.0 (2019-10-03)

Features

  • WrapType: add WrapType transform (43f13fc)

6.5.1 (2019-10-03)

Bug Fixes

  • transforms: should work with remote schema execution config. (2661bbd)

6.5.0 (2019-09-26)

Features

  • utils: getResolversFromSchema (630e9a8)

6.4.5 (2019-09-25)

Bug Fixes

  • delegateToSchema: fix typo breaking refactoring (cc44841)

6.4.4 (2019-09-24)

Bug Fixes

  • remote schemas: must add __typename to remote query to properly resolve interfaces. (6e5a707)

Notable list of changes within the fork from the original graphql-tools through v6.4.3

See further below for changes between individual fork versions and above for changes since v6.4.3.

6.4.3 (2019-09-24)

⚠ BREAKING CHANGES

  • stitching: This change allows enums and custom scalars to be used as arguments within merged schemas. It also fixes seralization and deserialization more generally within merged schemas. If an implementation is available for a custom scalar within a merged schema (i.e., the schema is local), the internal representation will be available for use with stitching. Previously, the merged schema internally used the serialized version.

Bug Fixes

  • generate: addResolversToSchema should update enums and scalars of original schema. (f2a7483), closes #19
  • mocking: to work with schema stitching (ea72c6e)
  • stitching: add default value support (4624f5c), closes #1121
  • stitching: Directive disappears when enum has resolvers (85b16cc)
  • stitching: fix default resolver to execute field if specified as function. (5fdc97d)
  • stitching: fix lists of enum and custom scalars, closes #9 (2e0241e)
  • stitching: include specified directives even when merging of directives is disabled (0a25e9b)
  • stitching: input fields without default value (db3163b), closes #15
  • stitching: nested enums (2211068)
  • stitching: observabeToAsyncIterator should preserve graphql errors (86bf0e3)
  • stitching: serialize/deserialize enum/custom scalar values (d3e0888)
  • stitching: support stitching unions of types with enums (faae86a), closes #13
  • transforms: support custom scalar input variables on root fields when transforming. (a8f2785), closes #18
  • transforms: VisitSchemaKind.TYPE should have greatest priority (a8c544a)
  • types: export OnTypeConflict type (557a3a1)
  • typo: typo in import example (: instead of ;) (#1122) (747d0ca)
  • visitSchema: new interfaces should not break schema. (e1393b8)
  • visitSchema: visitSchema must reinitialize private variables when updating interfaces. (925af85)

Features

  • cloning: export methods to shallow clone types and directives and deep clone schemas (470b9c7)
  • errors: Pass through all possible errors. (4de91b8), closes #743 #1037 #1046 apollographql/apollo-server#1582
  • stitching: allow delegateToSchema, mergeSchemas and transformSchema to take remote schema configurations as parameters (48cdd59)
  • stitching: restore onTypeConflict option to mergeSchemas (afdd01e)
  • transformers: TransformQuery transformer adds errorPathTransformer property to properly return errors from transformed queries. (69b963f)
  • transforms: add dedicated filterSchema function to allow schema filtering without a layer of delegation (98dafae)
  • visitSchema: export consolidated visitSchema method (23de82b)

6.4.3 (2019-09-19)

Bug Fixes

  • release: v6.4.0-6.4.2 broken (4733446)
  • stitching: observabeToAsyncIterator should preserve graphql errors (e3ce475)

6.4.2 (2019-09-17)

Bug Fixes

  • filterSchema: should not modify original schema. (9583011)
  • visitSchema: visitSchema must reinitialize private variables when updating interfaces. (c3bbeaf)

6.4.1 (2019-09-15)

Bug Fixes

  • cloneSchema: cloneSchema should preserve extensions (9b97797)

6.4.0 (2019-09-15)

Bug Fixes

  • cloneSchema: healSchema requires a new array for object interfaces and union types. toConfig provides a new map for fields, but not new arrays. (1ff8bd5)
  • transforms: VisitSchemaKind.TYPE should have greatest priority (cb61e68)
  • visitSchema: new interfaces should not break schema. (27c61f8)

Features

  • cloning: export methods to shallow clone types and directives and deep clone schemas (1fc62ee)
  • filterSchema: provide type argument to type filter (68d4c1d)
  • visitSchema: export consolidated visitSchema method (02ff450)

6.3.7 (2019-09-03)

Bug Fixes

  • healSchema: revert 6.3.6 (58b98ac)

6.3.6 (2019-09-02)

Bug Fixes

  • healSchema: healing schema requires reparsing default field values as types are updated. (906752e)

6.3.5 (2019-09-01)

Bug Fixes

  • generate: addResolversToSchema should update enums and scalars of original schema. (62cb094), closes #19

6.3.4 (2019-08-26)

Bug Fixes

  • transforms: support custom scalar input variables on root fields when transforming. (9044976), closes #18

6.3.3 (2019-08-20)

Bug Fixes

  • stitching: input fields without default value (786a855), closes #15

6.3.2 (2019-08-18)

Bug Fixes

  • stitching: map errors along schema transformation path when extracting fields (c132142)

6.3.1 (2019-08-16)

Bug Fixes

  • stitching: fixes error mapping with ExtendSchema transform. Also, refactors! (81959e1)

6.3.0 (2019-08-13)

Features

  • transforms: map object fields to new structures (d017bcd)

6.2.0 (2019-07-31)

Bug Fixes

  • types: export OnTypeConflict type (fcc608b)

Features

  • stitching: allow delegateToSchema, mergeSchemas and transformSchema to take remote schema configurations as parameters (12d2f5a)
  • transformers: TransformQuery transformer adds errorPathTransformer property to properly return errors from transformed queries. (6159ad2)
  • transforms: add dedicated filterSchema function to allow schema filtering without a layer of delegation (8a50f38)

6.1.6 (2019-07-19)

Bug Fixes

  • stitching: support stitching unions of types with enums (119ebc5), closes #13

6.1.5 (2019-07-09)

Bug Fixes

  • mocking: to work with schema stitching (58363ea)

6.1.4 (2019-07-05)

Bug Fixes

  • stitching: do not convert falsy values to null. (26c5d67), closes #10

6.1.3 (2019-07-03)

Bug Fixes

  • stitching: fix lists of enum and custom scalars, closes #8 (0d173b9)

6.1.2 (2019-07-01)

Bug Fixes

  • stitching: fix default resolver to execute field if specified as function. (fa3f7e7)

6.1.1 (2019-06-30)

Bug Fixes

  • stitching: fix reparsing of lists (d766fe4)
  • stitching: include specified directives even when merging of directives is disabled (44ca2c2)

6.1.0 (2019-06-28)

Bug Fixes

  • stitching: Directive disappears when enum has resolvers (ea0d359)
  • stitching: fix legacy custom scalar recreation to more closely match pre-v6.0.1 functionality. (1541a9f)

Features

  • deps: upgrade dependencies to latest minor version. (850f513)
  • generate: Allow user-provided buildSchema options (#1154) (829255e)

6.0.1 (2019-06-27)

Bug Fixes

  • stitching: add default value support (cf8750d), closes #1121

6.0.0 (2019-06-18)

Bug Fixes

  • stitching: serialize/deserialize enum/custom scalar values (2ec9ac2)

BREAKING CHANGES

  • stitching: This change allows enums and custom scalars to be used as arguments within merged schemas. It also fixes seralization and deserialization more generally within merged schemas. If an implementation is available for a custom scalar within a merged schema (i.e., the schema is local), the internal representation will be available for use with stitching. Previously, the merged schema internally used the serialized version.

5.2.0 (2019-06-16)

Bug Fixes

  • stitching: nested enums (0cd8b96)

Features

  • stitching: restore onTypeConflict option to mergeSchemas (d8d418a)

5.1.1 (2019-06-13)

Bug Fixes

  • stitching: fix regression (6eed72e)

5.1.0 (2019-06-12)

Features

  • errors: Pass through all possible errors.

5.0.0 (2019-06-02)

  • First forked version, bumped major version despite lack of breaking changes.
  • Fix delegateToSchema to allow delegation to subscriptions with different root field names, allows the use of the RenameRootFields transform with subscriptions, pull request #1104, fixes #997.
  • Add transformers to rename, filter, and arbitrarily transform object fields.
    Fixes #819.

Prior changes from graphl-tools:

Next

Features

  • Adds graphql-upload compatible scalar and link for proxying remote file uploads #671
  • Add ability to merge fields from types from different schemas
  • Adds transforms to wrap, extract, and rename fields #1183
  • Adds transform to filter object fields #819
  • Exports visitSchema, SchemaVisitor, healSchema, healTypes, cloneSchema, cloneType, cloneDirective to enable more custom transforms. #1070
  • Allows removing extra delegation layers by passing fetcher/link options directly to delegateToSchema, mergeSchemas, and transformSchema and by filtering directly with filterSchema without additional transformation round #1165

Bug Fixes

  • Filter unused variables from map when proxying requests
  • Preserve subscription errors when using makeRemoteExecutableSchema
  • Preserve extensions when transforming schemas
  • Fix merging and transforming of custom scalars and enums #501, #1056, #1200
  • Allow renaming of subscription root fields #997, #1002
  • Fix alias resolution to no longer incorrectly fallback to non-aliased field when null #1171
  • Do not remove default directives (skip, include, deprecated) when not merging custom directives #1159
  • Fixes errors support #743, #1037, #1046
  • Fix mergeSchemas to allow resolvers to return fields defined as functions #1061
  • Fix default values with mergeSchemas and addResolveFunctionsToSchema #1121
  • Fix interface and union healing
  • Fix stitching unions of types with enums
  • Fix mocking to work when schema stitching
  • Fix lost directives when adding an enum resolver

4.0.7

  • Filter extensions prior to passing them to buildASTSchema, in an effort to provide minimum compatibilty for graphql@14-compatible schemas with the upcoming graphql@15 release. This PR does not, however, bring support for newer graphql@15 features like interfaces implementing interfaces. #1284

4.0.6

  • Use getIntrospectionQuery instead of deprecated introspectionQuery constant from graphql-js @derek-miller in #1228

4.0.5

  • Fixes a bug where schemas with scalars could not be merged when passed to mergeSchemas as a string or GraphQLSchema.
    @hayes in #1062
  • Make mergeSchemas optionally merge directive definitions.
    @freiksenet in #1003
  • Allow user-provided buildSchema options.
    @trevor-scheer in #1154
  • Fix delegateToSchema to allow delegation to subscriptions with different root field names, allows the use of the RenameRootFields transform with subscriptions, pull request #1104, fixes #997.
  • Add transformers to rename, filter, and arbitrarily transform object fields.
    Fixes #819.

4.0.4

4.0.3

  • Replaced broken link in docs homepage with Launchpad example
    @kriss1897 in #965
  • Fix invalid query in schema delegation example.
    @nico29 in #980
  • Update package.json repository field.
    @dlukeomalley in #979
  • Add support for passing a parsed schema ast to mergeSchemas
    @ganemone in #977
  • Changes to extractExtensionDefinitions to support graphql-js union and enum extensions.
    @jansuchy in #951
  • Add docs for mockServer (closes #951)
    @mfix22 in PR #982
  • Fix regression where custom scalars were incorrectly replaced while recreating schema with visitSchema.
    @tgriesser in #985

4.0.2

4.0.1

4.0.0

  • Support graphql and @types/graphql 14.x.
    NOTE: graphql 14 includes breaking changes. We're bumping the major version of graphql-tools to accommodate those breaking changes. If you're planning on using graphql 14 with graphql-tools 4.0.0, please make sure you've reviewed the graphql breaking changes list. @hwillson in #953
  • Fix template strings usage in guessSchemaByRootField error message.
    @nagelflorian in #936
  • Update IFieldResolver to allow typed input args.
    @luk3thomas in #932
  • Changes to extractExtensionDefinitions to properly support graphql-js input extensions.
    @jure in #948
  • Stop automatically shallow cloning (via object spread syntax) transformed subscription results. Transformed subscription results are not always objects, which means object spreading can lead to invalid results.
    @ericlewis in #928
  • Re-use errors with an extensions property to make compatible with Apollo Server and it's built-in errors.
    @edorsey in #925
  • Documentation updates.
    @Amorites in #944
    @trevor-scheer in #946
    @dnalborczyk in #934
    @zcei in #933

v3.1.1

  • Revert the added casual dependency for mocking, since it was causing issues for people using graphql-tools in the browser.

v3.1.0

  • Loosens the apollo-link dependency PR #765
  • Use getDescription from graphql-js package PR #672
  • Update IResolvers to use source & context generics and to support all resolver use cases. #896
  • WrapQuery's wrapper param can now return a SelectionSet. PR #902 Issue #901
  • Add null to return type of directive visitors in the TypeScript definition.
  • Make sure mergeSchemas keeps Enum descriptions and deprecation status. PR 898
  • Add inheritResolversFromInterfaces option to mergeSchemas PR #812
  • Added filtering of empty selection sets in FilterToSchema #827
  • Add support for overlapping fragments in ReplaceFieldWithFragment. #894
  • delegateToSchema now behaves like info.mergeInfo.delegateToSchema for fragment handling Issue #876 PR #885
  • Make schema transforms work with subscriptions, make it so that subscription errors don't disappear when using mergeSchemas #793 #780

v3.0.5

  • Update apollo-link to 1.2.2 #785

v3.0.4

  • Make sure dist/generate isn't excluded when published.

v3.0.3

  • Pass on operation name when stitching schemas. Issue #522 PR #849
  • Fixed errors that occurred when a fragment field argument used a variable defined in the parent query. Issue #753 PR #806

v3.0.2

  • Fixed duplicate fragments getting added during transform in FilterToSchema #778
  • Fixed a visitType error printing the name of the variable typeName rather than its value due to a template string being incorrectly formatted. #783

v3.0.1

  • Fixed an array cloning bug in the RenameTypes transform #756

  • Fixed a fragments bug in the ReplaceFieldWithFragment transform #763

v3.0.0

  • Schema transforms and delegation

    • Substantial rewrite of internals of mergeSchemas and delegateToSchema
    • A new API for schema transforms has been introduced: Docs
    • delegateToSchema is now a public API: Docs
    • delegateToSchema now accepts an object of named parameters; positional arguments are deprecated
    • delegateToSchema no longer accepts fragmentReplacements; instead use transforms
    • info.mergeInfo.delegateToSchema is now the preferred delegation API, rather than info.mergeInfo.delegate
  • Other changes

    • Add commentDescription to printSchema call to match other uses PR #745
    • Add createResolver option to makeRemoteExecutableSchema PR #734

v2.24.0

  • Allow extend interface definitions in merged schemas PR #703
  • Fix typo in @deprecated example in schema-directives.md PR #706
  • Fix timezone bug in test for @date directive PR #686
  • Expose defaultMergedResolver for schema stitching PR #685
  • Add requireResolversForResolveType to resolver validation options PR #698
  • Add inheritResolversFromInterfaces option to makeExecutableSchema and addResolveFunctionsToSchema PR #720

v2.23.0

  • The SchemaDirectiveVisitor abstraction for implementing reusable schema @directives has landed. Read our blog post about this new functionality, and/or check out the documentation for even more examples. PR #640

v2.22.0

  • When concatenating errors maintain a reference to the original for use downstream Issue #480 PR #637
  • Improve generic typings for several resolver-related interfaces PR #662
  • Remove copied apollo-link code PR #670
  • Handle undefined path in getErrorsFromParent PR #667

v2.21.0

v2.20.2

  • Pass through apollo-link-http errors to originalError PR #621

v2.20.1

  • Fix error.path could be undefined for schema stitching PR #617

v2.20.0

  • Recreate enums and scalars for more consistent behaviour of merged schemas PR #613
  • makeExecutableSchema and mergeSchema now accept an array of IResolver PR #612 PR #576 PR #577
  • Fix delegateToSchema.ts to remove duplicate new variable definitions when delegating to schemas PR #607
  • Fix duplicate subscriptions for schema stitching PR #609

v2.19.0

  • Also recreate astNode property for fields, not only types, when recreating schemas. PR #580
  • Fix delegateToSchema.js to accept and move forward args with zero or false values PR #586

v2.18.0

  • Fix a bug where inline fragments got filtered in merged schemas when a type implemented multiple interfaces PR #546
  • IEnumResolver value can be a number type PR #568

v2.17.0

  • Include astNode property in schema recreation PR #569

v2.16.0

  • Added GraphQL Subscriptions support for schema stitching and makeRemoteExecutableSchema PR #563
  • Make apollo-link a direct dependency PR #561
  • Update tests to use graphql-js@0.12 docstring format PR #559

v2.15.0

  • Validate query before delegation PR #551

v2.14.1

  • Add guard against invalid schemas being constructed from AST PR #547

v2.14.0

Update to add support for graphql@0.12, and drop versions before 0.11 from the peer dependencies list. The graphql package has some breaking changes you might need to be aware of, but there aren't any breaking changes in graphql-tools itself, or common usage patterns, so we are shipping this as a minor version. We're also running tests on this package with both graphql@0.11 and graphql@0.12 until we confirm most users have updated.

v2.13.0

  • (Experimental) Added support for custom directives on FIELD_DEFINITION that wrap resolvers with custom reusable logic. Issue #212 PR #518 and PR #529

v2.12.0

  • Allow passing in a string schema to makeRemoteExecutableSchema PR #521

v2.11.0

  • Merge schema now can accept resolvers in a plain object format, mergeInfo added to GraphQLResolveInfo object in merged schema resolvers PR #511

v2.10.0

v2.9.0

v2.8.0

  • Add the option resolverValidationOptions.allowResolversNotInSchema to allow resolvers to be set even when they are not defined in the schemas PR #444
  • Fix schema stitching bug when aliases are used with union types and fragments PR #482
  • Remove isTypeOf guards from merged schemas PR #484

v2.7.2

  • Incompatible fragments are now properly filtered PR #470

v2.7.1

  • Made resolvers parameter optional for mergeSchemas Issue #461 PR #462
  • Make it possible to define interfaces in schema extensions PR #464

v2.7.0

  • Upgraded versions of dependencies

v2.6.1

  • Fix one place where apollo-link was being used directly

v2.6.0

  • Removed direct dependency on Apollo Link, while keeping the API the same, to work around a Launchpad npm installation issue temporarily.
  • Parse type, field, and argument descriptions in typeFromAST. This allows the descriptions to be part of the schema when using helpers like mergeSchemas().

v2.5.0

v2.4.0

v2.3.0

  • Fix alias issues Issue #415 PR #418
  • Make @types/graphql a dev dependency and make it's version as flexible as graphql PR #421

v2.2.1

  • Fix inability to add recursive queries PR #413

v2.2.0

  • Change link API to pass GraphQL context as graphqlContext field of link context to avoid merging problems
  • Fix alias problems in schema merging PR #411

v2.1.0

  • Added support for passing an Apollo Link instead of a fetcher

v2.0.0

  • Add schema merging utilities PR #382

v1.2.3

v1.2.1

v.1.2.0

  • Use defaultFieldResolver from graphql-js package instead of own one PR #373
  • Remove lodash dependency PR #356

v.1.1.0

  • Improve mocking of union and interface types PR #332

v1.0.0

  • Add argument validation in addMockFunctionsToSchema for 'schema' property in parameter object PR #321

v0.11.0

  • Remove dependency on graphql-subscription and use an interface for PubSub PR #295
  • Support schema AST as a type definition input PR #300
  • Update graphql typings to 0.9.0 PR #298

v0.10.1

v0.10.0

  • Restrict version range of graphql-js peer dependency to ^0.8.0 || ^0.9.0 PR #266

v0.9.2

  • Update graphql-js dependency to include 0.9.0 PR #264
  • Fix logErrors option so it logs errors if resolve function returns a promise PR #262

v0.9.1

  • use function reference instead of string for concatenateTypeDefs. PR #252

v0.9.0

  • Migrate from typed-graphql to @types/graphql. PR #249

v0.8.4

  • addSchemaLevelResolveFunction resolves once per operation type and not once globally. #220
  • Replace node-uuid with uuid package #227
  • Fix issue that prevented usage of custom scalars as arguments #224

v0.8.3

  • Remove peer dependency on graphql-subscriptions. #210

v0.8.2

  • Accept an async function for the schema level resolver. (@ephemer in #199)
  • Fix for new custom scalar support introduced in 0.8.1. (@oricordeau in #203)

v0.8.1

v0.8.0

  • Update default resolve function to match the one from GraphQL.js (@stubailo in #183)
  • Move typed-graphql to optionalDependencies (@stubailo in #183)
  • Set new defaults for resolver validation to match GraphQL.js so that developers need to opt-in to advanced validation (@stubailo in #183):
    • requireResolversForArgs = false * requireResolversForNonScalar = false

v0.7.2

  • Eliminated babel and moved to native ES5 compilation. (@DxCx in #147)

v0.7.1

  • Fix dependency on lodash

v0.7.0

  • Various Bugfixes (@DxCx in #129) - Istanbul coverage was not working well due to Istanbul bug #549 - Bluebird promise was not converted well on tests - "console.warn" got overwritten on tests

  • Migrated code from Javascript to Typescript (@DxCx in #129)

  • Deprecated addConnectorsToContext (@DxCx in #129)

  • Removed deprecated aplloServer (@DxCx in #129)

  • Removed testing on Node 5 (@DxCx in #129)

  • Changed GraphQL typings requirement from peer to standard (@DxCx in #129)

  • Change the missing resolve function validator to show a warning instead of an error (@nicolaslopezj in #134)

  • Add missing type annotations to avoid typescript compiler errors when 'noImplicitAny' is enabled (@almilo in #133)

v0.6.6

  • Added embedded Typescript definitions (@DxCx in #120)

  • Fix issue in addMockFunctionsToSchema when preserveResolvers is true and connector/logger is used. (@DxCx in #121)

  • Fix multiple issues in addMockFunctionsToSchema when preserveResolvers is true (support for Promises, and props defined using Object.defineProperty) (@sebastienbarre in #115)

  • Make allowUndefinedInResolve true by default (@jbaxleyiii in #117)

  • Add requireResolversForAllFields resolver validation option (@nevir in #107)

v0.6.4

v0.6.3

  • Unpin babel-core version to solve build problem (PR #92)
  • Added support for extend keyword to schemaGenerator (PR #90)

v0.6.2

  • Fix a bug with addSchemaLevelResolveFunction. It now runs once per tick (PR #91)

v0.5.2

  • Add addSchemaLevelResolveFunction to exports
  • Remove dist folder before prepublish to make sure files deleted in source are not included in build

v0.5.1

  • Updated GraphQL dependency to 0.6.0
  • Removed all tracer code, including Tracer, addTracingToResolvers and decorateWithTracer