# What changed in @graphql-tools/merge

> 13 changes in @graphql-tools/merge 7 to 10 from its official release notes, upgrade guides and advisories: 8 breaking, 1 deprecations, 1 new APIs and options. Each one cited. Sources checked 2026-11-13. HTML: https://unstale.sh/npm/@graphql-tools/merge/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @graphql-tools/merge 10

### Breaking changes

- GraphQL v14/v15 support is dropped; the graphql peer range is now ^16.0.0 || ^17.0.0. (10.0.0) — [release notes](https://github.com/ardatan/graphql-tools/blob/fa0bb8e22c21e826b3332879b50f4da65274ccfb/packages/merge/CHANGELOG.md#1000)
- Node.js >=22.18.0 is required. (10.0.0) — [release notes](https://github.com/ardatan/graphql-tools/blob/fa0bb8e22c21e826b3332879b50f4da65274ccfb/packages/merge/CHANGELOG.md#1000)

## @graphql-tools/merge 9

### Breaking changes

- Node 14 support is dropped; Node.js >= 16 is required. (9.0.0) — [release notes](https://github.com/ardatan/graphql-tools/blob/HEAD/packages/merge/CHANGELOG.md)

### Deprecations

- mergeDeep accepts an options object; the old positional boolean arguments still work but are deprecated. (9.2.8) — [release notes](https://github.com/ardatan/graphql-tools/blob/fa0bb8e22c21e826b3332879b50f4da65274ccfb/packages/merge/CHANGELOG.md#928)

### Fixes and other changes

- Resolver map types use ExtensionsObject, allowing symbol-keyed resolver extensions to type-check under GraphQL.js v17+. (9.2.8) — [release notes](https://github.com/ardatan/graphql-tools/blob/fa0bb8e22c21e826b3332879b50f4da65274ccfb/packages/merge/CHANGELOG.md#928)
- Schema extension merge/extract and resolver merging preserve symbol-keyed extensions, including non-enumerable symbols. (9.2.8) — [release notes](https://github.com/ardatan/graphql-tools/blob/fa0bb8e22c21e826b3332879b50f4da65274ccfb/packages/merge/CHANGELOG.md#928)

## @graphql-tools/merge 8

### Breaking changes

- NamedDefinitionNode, resetComments, collectComment, pushComment, and printComment moved from @graphql-tools/merge to @graphql-tools/utils. (8.0.0) — [release notes](https://github.com/ardatan/graphql-tools/releases/tag/%40graphql-tools/merge%408.0.0)
- Moved mergeSchemas from @graphql-tools/merge to @graphql-tools/schema to prevent a circular dependency. (8.0.0) — [release notes](https://github.com/ardatan/graphql-tools/releases/tag/%40graphql-tools/merge%408.0.0)
- Removed mergeSchemasAsync. (8.0.0) — [release notes](https://github.com/ardatan/graphql-tools/releases/tag/%40graphql-tools/merge%408.0.0)
- Moved MergeSchemasConfig from @graphql-tools/merge to @graphql-tools/schema to prevent a circular dependency. (8.0.0) — [release notes](https://github.com/ardatan/graphql-tools/releases/tag/%40graphql-tools/merge%408.0.0)

### New APIs and options

- Added the schemaExtensions option to mergeSchemas, makeExecutableSchema, and stitchSchemas configurations. (8.0.0) — [release notes](https://github.com/ardatan/graphql-tools/releases/tag/%40graphql-tools/merge%408.0.0)

### Fixes and other changes

- Comments are ignored while merging directives. (8.0.0) — [release notes](https://github.com/ardatan/graphql-tools/releases/tag/%40graphql-tools/merge%408.0.0)

## @graphql-tools/merge 7

### Breaking changes

- The type signature and generic parameters of mergeResolvers changed, which may require updates to existing usage. (7.0.0) — [release notes](https://github.com/ardatan/graphql-tools/releases/tag/%40graphql-tools/merge%407.0.0)
