- Fix template strings usage in guessSchemaByRootField error message.
@nagelflorian in #936 - Update
IFieldResolverto allow typed input args.
@luk3thomas in #932 - Changes to
extractExtensionDefinitionsto properly supportgraphql-jsinput 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 - Documentation updates.
@Amorites in #944
@trevor-scheer in #946
@dnalborczyk in #934
@zcei in #933
- Revert the added
casualdependency for mocking, since it was causing issues for people usinggraphql-toolsin the browser.
- Loosens the apollo-link dependency PR #765
- Use
getDescriptionfromgraphql-jspackage PR #672 - Update
IResolversto use source & context generics and to support all resolver use cases. #896 WrapQuery'swrapperparam 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
inheritResolversFromInterfacesoption tomergeSchemasPR #812 - Added filtering of empty selection sets in FilterToSchema #827
- Add support for overlapping fragments in ReplaceFieldWithFragment. #894
delegateToSchemanow behaves likeinfo.mergeInfo.delegateToSchemafor 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
- Update apollo-link to 1.2.2 #785
- Make sure
dist/generateisn't excluded when published.
- 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
- 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
-
Fixed an array cloning bug in the
RenameTypestransform #756 -
Fixed a fragments bug in the
ReplaceFieldWithFragmenttransform #763
-
Schema transforms and delegation
- Substantial rewrite of internals of
mergeSchemasanddelegateToSchema - A new API for schema transforms has been introduced: Docs
delegateToSchemais now a public API: DocsdelegateToSchemanow accepts an object of named parameters; positional arguments are deprecateddelegateToSchemano longer acceptsfragmentReplacements; instead usetransformsinfo.mergeInfo.delegateToSchemais now the preferred delegation API, rather thaninfo.mergeInfo.delegate
- Substantial rewrite of internals of
-
Other changes
- Allow
extend interfacedefinitions in merged schemas PR #703 - Fix typo in
@deprecatedexample inschema-directives.mdPR #706 - Fix timezone bug in test for
@datedirective PR #686 - Expose
defaultMergedResolverfor schema stitching PR #685 - Add
requireResolversForResolveTypeto resolver validation options PR #698 - Add
inheritResolversFromInterfacesoption tomakeExecutableSchemaandaddResolveFunctionsToSchemaPR #720
- The
SchemaDirectiveVisitorabstraction 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
- 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
getErrorsFromParentPR #667
- Make iterall a runtime dependency PR #627
- Added support for lexical parser options PR #567
- Support
graphql@^0.13.0PR #567 - Don't use
Symbolin incompatible envs Issue #535 PR #631
- Pass through apollo-link-http errors to originalError PR #621
- Fix
error.pathcould beundefinedfor schema stitching PR #617
- Recreate enums and scalars for more consistent behaviour of merged schemas PR #613
makeExecutableSchemaandmergeSchemanow accept an array ofIResolverPR #612 PR #576 PR #577- Fix
delegateToSchema.tsto remove duplicate new variable definitions when delegating to schemas PR #607 - Fix duplicate subscriptions for schema stitching PR #609
- Also recreate
astNodeproperty for fields, not only types, when recreating schemas. PR #580 - Fix
delegateToSchema.jsto accept and move forward args with zero or false values PR #586
- Fix a bug where inline fragments got filtered in merged schemas when a type implemented multiple interfaces PR #546
- IEnumResolver value can be a
numbertype PR #568
- Include
astNodeproperty in schema recreation PR #569
- Added GraphQL Subscriptions support for schema stitching and
makeRemoteExecutableSchemaPR #563 - Make
apollo-linka direct dependency PR #561 - Update tests to use
graphql-js@0.12docstring format PR #559
- Validate query before delegation PR #551
- Add guard against invalid schemas being constructed from AST PR #547
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.
- Visit the
graphqlreleases page to keep track of for breaking changes to the underlying package. - PR #541
- (Experimental) Added support for custom directives on FIELD_DEFINITION that wrap resolvers with custom reusable logic. Issue #212 PR #518 and PR #529
- Allow passing in a string
schematomakeRemoteExecutableSchemaPR #521
- Merge schema now can accept resolvers in a plain object format, mergeInfo added to GraphQLResolveInfo object in merged schema resolvers PR #511
- Added basic support for custom Enums Issue #363 PR #507 Read the docs here
- Added basic subscription support for local schemas Issue #420 PR #463
- Fix input object default value not propagating to merged schema Issue #497 [PR #498](PR #463](ardatan#498)
- Add the option
resolverValidationOptions.allowResolversNotInSchemato 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
isTypeOfguards from merged schemas PR #484
- Incompatible fragments are now properly filtered PR #470
- Made
resolversparameter optional formergeSchemasIssue #461 PR #462 - Make it possible to define interfaces in schema extensions PR #464
- Upgraded versions of dependencies
- Fix one place where
apollo-linkwas being used directly
- 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 likemergeSchemas().
- Add ability to pass types in extension strings Issue #427 PR #430
- Translate errors better in merged schema Issue #419 PR #425
- Fix alias issues Issue #415 PR #418
- Make
@types/graphqla dev dependency and make it's version as flexible asgraphqlPR #421
- Fix inability to add recursive queries PR #413
- Change link API to pass GraphQL context as
graphqlContextfield of link context to avoid merging problems - Fix alias problems in schema merging PR #411
- Added support for passing an Apollo Link instead of a fetcher
- Add schema merging utilities PR #382
- Update package.json to allow GraphQL.js 0.11 Issue #394 PR #395
- Fix typings for resolver options: Issue #372 PR #374
- Use defaultFieldResolver from graphql-js package instead of own one PR #373
- Remove
lodashdependency PR #356
- Improve mocking of union and interface types PR #332
- Add argument validation in
addMockFunctionsToSchemafor 'schema' property in parameter object PR #321
- Remove dependency on
graphql-subscriptionand 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
- Update dependencies PR #287
- Restrict version range of graphql-js peer dependency to ^0.8.0 || ^0.9.0 PR #266
- 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
- use function reference instead of string for concatenateTypeDefs. PR #252
- Migrate from
typed-graphqlto@types/graphql. PR #249
addSchemaLevelResolveFunctionresolves 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
- Remove peer dependency on
graphql-subscriptions. #210
- 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)
- Support custom scalar types developed for GraphQL.js, such as graphql-type-json. (@oricordeau in #189)
- Update default resolve function to match the one from GraphQL.js (@stubailo in #183)
- Move
typed-graphqltooptionalDependencies(@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
- Fix dependency on lodash
-
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
-
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)
-
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
requireResolversForAllFieldsresolver validation option (@nevir in #107)
- Make mocking partial objects match expected behavior (@sebastienbarre in #96)
- Improved behavior when mocking interfaces & unions (@itajaja in #102)
- Unpin babel-core version to solve build problem (PR #92)
- Added support for
extendkeyword to schemaGenerator (PR #90)
- Fix a bug with addSchemaLevelResolveFunction. It now runs once per tick (PR #91)
- Add addSchemaLevelResolveFunction to exports
- Remove dist folder before prepublish to make sure files deleted in source are not included in build
- Updated GraphQL dependency to 0.6.0
- Removed all tracer code, including
Tracer,addTracingToResolversanddecorateWithTracer