# What changed in @graphql-codegen/plugin-helpers

> 12 changes in @graphql-codegen/plugin-helpers 7 from its official release notes, upgrade guides and advisories: 3 breaking, 1 new APIs and options. Each one cited. Sources checked 2026-10-21. HTML: https://unstale.sh/npm/@graphql-codegen/plugin-helpers/

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

## @graphql-codegen/plugin-helpers 7

### Breaking changes

- Federation directives missing their fields argument now throw a descriptive error. (7.4.1) — [release notes](https://github.com/dotansimha/graphql-code-generator/blob/e9081dfafe1aa72d6d069185ac16ef261166aa74/packages/utils/plugins-helpers/CHANGELOG.md#741)
- Operations whose root type is missing from the schema now throw a descriptive error. (7.4.1) — [release notes](https://github.com/dotansimha/graphql-code-generator/blob/e9081dfafe1aa72d6d069185ac16ef261166aa74/packages/utils/plugins-helpers/CHANGELOG.md#741)
- Types the return value instead of returning any: DocumentNode results use OldVisitDocumentResult, and other roots return unknown unless TResult is provided. (7.4.0) — [release notes](https://github.com/dotansimha/graphql-code-generator/blob/e9081dfafe1aa72d6d069185ac16ef261166aa74/packages/utils/plugins-helpers/CHANGELOG.md#740)

### New APIs and options

- The loader type now accepts a CustomSchemaLoaderFn as well as a path string, allowing imported loader functions without a type cast. (7.4.1) — [release notes](https://github.com/dotansimha/graphql-code-generator/blob/e9081dfafe1aa72d6d069185ac16ef261166aa74/packages/utils/plugins-helpers/CHANGELOG.md#741)

### Fixes and other changes

- @graphql-codegen/cli unwraps AggregateError so schema and document syntax errors continue to print the native GraphQLError with its file location. (7.4.2) — [release notes](https://github.com/dotansimha/graphql-code-generator/blob/e9081dfafe1aa72d6d069185ac16ef261166aa74/packages/utils/plugins-helpers/CHANGELOG.md#742)
- Reference selection sets are typed recursively to match nested selections produced by @key, @requires, and @provides. (7.4.1) — [release notes](https://github.com/dotansimha/graphql-code-generator/blob/e9081dfafe1aa72d6d069185ac16ef261166aa74/packages/utils/plugins-helpers/CHANGELOG.md#741)
- Accepts null and undefined and returns an empty array. (7.4.1) — [release notes](https://github.com/dotansimha/graphql-code-generator/blob/e9081dfafe1aa72d6d069185ac16ef261166aa74/packages/utils/plugins-helpers/CHANGELOG.md#741)
- Accepts null and undefined and returns an empty array. (7.4.1) — [release notes](https://github.com/dotansimha/graphql-code-generator/blob/e9081dfafe1aa72d6d069185ac16ef261166aa74/packages/utils/plugins-helpers/CHANGELOG.md#741)
- The visitor parameter is typed as OldVisitor, with enter and leave callbacks receiving typed AST nodes and graphql traversal context. (7.4.1) — [release notes](https://github.com/dotansimha/graphql-code-generator/blob/e9081dfafe1aa72d6d069185ac16ef261166aa74/packages/utils/plugins-helpers/CHANGELOG.md#741)
- The cat property is optional, matching the Trace Event format and Profiler.run. (7.4.1) — [release notes](https://github.com/dotansimha/graphql-code-generator/blob/e9081dfafe1aa72d6d069185ac16ef261166aa74/packages/utils/plugins-helpers/CHANGELOG.md#741)
- The append field now accepts null items, which core already skipped. (7.4.1) — [release notes](https://github.com/dotansimha/graphql-code-generator/blob/e9081dfafe1aa72d6d069185ac16ef261166aa74/packages/utils/plugins-helpers/CHANGELOG.md#741)
- The prepend field now accepts null items, which core already skipped. (7.4.1) — [release notes](https://github.com/dotansimha/graphql-code-generator/blob/e9081dfafe1aa72d6d069185ac16ef261166aa74/packages/utils/plugins-helpers/CHANGELOG.md#741)
