unstale

npm / graphiql

graphiql

What changed in graphiql 1 to 5, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-23.

73 breaking13 deprecations15 new APIs and options3 behavior and defaults1 tooling6 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.4 on npm

graphiql 541 changes

Breaking changes 13

  • Clicking a reference in the operation editor now requires holding Cmd on macOS or Ctrl on Windows/Linux.

    5.0.0upgrade guide

  • The shortcut to focus the search input changes to Cmd/Ctrl+Alt+K because Monaco Editor uses Cmd/Ctrl+K.

    5.0.0upgrade guide

  • Webpack and Turbopack projects must import this module to set up Monaco workers.

    5.0.0upgrade guide

  • The GraphiQL prop is removed; Monaco Vim and Emacs community plugins can provide those keybindings.

    5.0.0upgrade guide

  • This prop is removed from the variable editor.

    5.0.0upgrade guide

  • An empty array removes the default History plugin; include HISTORY_PLUGIN explicitly to keep it alongside custom plugins.

    5.0.0upgrade guide

  • The GraphiQL prop is removed; use initialQuery for the first tab instead.

    5.0.0upgrade guide

  • The button prop should now receive a button element.

    5.0.0upgrade guide

  • The className prop is removed.

    5.0.0upgrade guide

  • The label prop is removed.

    5.0.0upgrade guide

  • This hook is removed.

    5.0.0upgrade guide

  • The GraphiQL prop is removed; custom GraphQL workers can pass non-static configuration to the worker.

    5.0.0upgrade guide

  • Vite projects must install and configure this plugin to set up Monaco workers for GraphiQL 5.

    5.0.0upgrade guide

Deprecations 9

New APIs and options 11

  • Enables opt-in GraphQL 17 fragment argument syntax support across parsing, validation, type information, autocomplete, hover, and editor integrations; it defaults to false.

    5.4.0release notes

  • GraphiQLProvider and GraphiQL expose the per-schema customScalarSchemas configuration, allowing object- or array-valued custom scalars to be accepted by the variable editor’s live JSON Schema linter.

    5.3.0release notes

  • The component now allows children of type ReactNode.

    5.0.0upgrade guide

  • Sets the query for the first tab; newly opened tabs start with an empty operation editor.

    5.0.0upgrade guide

  • A new hook is provided as an alternative to useExplorerContext.

    5.0.0upgrade guide

  • A new hook is provided as an alternative to useExplorerContext.

    5.0.0upgrade guide

  • A new hook is provided as an alternative to the deprecated GraphiQL context hooks.

    5.0.0upgrade guide

  • A new hook is provided as an alternative to the deprecated GraphiQL context hooks.

    5.0.0upgrade guide

  • A new hook is provided as an alternative to useHistoryContext.

    5.0.0upgrade guide

  • A new hook is provided as an alternative to useHistoryContext.

    5.0.0upgrade guide

  • The Variables and Headers editors now support comments.

    5.0.0upgrade guiderelease notes

Behavior and default changes 2

  • Passing IntrospectionQuery data as the schema prop now builds a schema directly and skips a network introspection request.

    5.2.3release notes

  • Set this prop to null to remove the default Doc Explorer plugin; custom Doc Explorers belong here and render first.

    5.0.0upgrade guide

Tooling 1

  • GraphiQL 5 is powered by the latest version of the Monaco editor.

    5.0.0release notes

Fixes and other changes 5

  • Autocomplete now respects operation and fragment scope while including variables from operations that spread the current fragment.

    5.4.0release notes

  • CSS files are marked as side effects so Webpack can import CSS in JavaScript.

    5.2.3release notes

  • An empty string now results in an empty default query; a configured default query is only used for the first tab.

    5.0.0upgrade guide

  • The operation editor shortcut now runs even when there are no operations in the editor.

    5.0.0upgrade guide

  • The last opened plugin is saved in storage.

    5.0.0upgrade guide

graphiql 420 changes

Breaking changes 13

  • The default export was removed; import GraphiQL as a named export instead.

    4.0.0upgrade guide

  • The disableTabs option was removed.

    4.0.0upgrade guide

  • CommonJS build output was dropped; builds are now ESM only.

    4.0.0upgrade guide

  • The CDN stylesheet path changed to graphiql/dist/style.css.

    4.0.0upgrade guide

  • The stylesheet import changed to @graphiql/plugin-code-exporter/style.css.

    4.0.0upgrade guide

  • The stylesheet import changed to @graphiql/plugin-explorer/style.css.

    4.0.0upgrade guide

  • The stylesheet import changed to @graphiql/react/style.css.

    4.0.0upgrade guide

  • The stylesheet import changed from graphiql/graphiql.css to graphiql/style.css.

    4.0.0upgrade guide

  • Single newlines are ignored when handling Markdown.

    4.0.0upgrade guide

  • Support for React 16 and 17 was dropped, and support for React 19 was added.

    4.0.0upgrade guide

  • Tabs are always visible, including when there is only one.

    4.0.0upgrade guide

  • Replace toolbar.additionalComponent with the GraphiQL.Toolbar component to add a component to the toolbar.

    4.0.0upgrade guide

  • Replace toolbar.additionalContent with the GraphiQL.Toolbar component to add toolbar content.

    4.0.0upgrade guide

Deprecations 4

  • The UMD CDN script path changed to graphiql/dist/index.umd.js; the new UMD path is deprecated.

    4.0.0upgrade guide

  • The UMD CDN build is deprecated; switch to the ESM CDN.

    4.0.0upgrade guide

  • The code exporter UMD build is deprecated; migrate to the ESM-based CDN.

    4.0.0upgrade guide

  • The explorer UMD build is deprecated; migrate to the ESM-based CDN.

    4.0.0upgrade guide

New APIs and options 2

  • The toolbar component lets developers customize toolbar content and reorder or remove default buttons.

    4.0.0upgrade guide

  • A callback was added to support custom query formatting.

    4.0.0upgrade guide

Behavior and default changes 1

  • Tabs tooltips now use the HTML title attribute.

    4.0.0upgrade guide

graphiql 31 changes

Breaking changes 1

  • initialTabs was removed; use defaultTabs instead.

    3.0.0release notes

graphiql 248 changes

Breaking changes 46

  • Replaces defaultVariableEditorOpen and defaultSecondaryEditorOpen; controls editor tool visibility, with a default that shows tools when a secondary editor has contents.

    2.0.0release notes

  • Merged with defaultVariableEditorOpen into defaultEditorToolsVisibility.

    2.0.0release notes

  • Merged with defaultSecondaryEditorOpen into defaultEditorToolsVisibility.

    2.0.0release notes

  • Removed from graphiql and now exported from @graphiql/react; its schema prop is removed and it uses the schema from ExplorerContext.

    2.0.0release notes

  • Removed and replaced by visiblePlugin for controlling which plugin is visible.

    2.0.0release notes

  • Removed from graphiql and now exported from @graphiql/toolkit.

    2.0.0release notes

  • Removed from graphiql and now exported from @graphiql/toolkit.

    2.0.0release notes

  • Removed from graphiql and now exported from @graphiql/toolkit.

    2.0.0release notes

  • Removed from graphiql and now exported from @graphiql/toolkit.

    2.0.0release notes

  • Removed from graphiql and now exported from @graphiql/toolkit.

    2.0.0release notes

  • Removed from graphiql and now exported from @graphiql/toolkit.

    2.0.0release notes

  • Removed from graphiql and now exported from @graphiql/toolkit.

    2.0.0release notes

  • GraphiQL is now a function component; refs no longer expose props, state, or class methods. Use contexts and hooks from @graphiql/react to interact with or change its state.

    2.0.0release notes

  • The UI has a new design with changed DOM structure and class names, which may affect custom GraphQL IDEs that rely on those internals.

    2.0.0release notes

  • Removed from GraphiQL; use ToolbarButton from @graphiql/react instead.

    2.0.0release notes

  • Removed from GraphiQL; use formatError from @graphiql/toolkit instead.

    2.0.0release notes

  • Removed from GraphiQL; use formatResult from @graphiql/toolkit instead.

    2.0.0release notes

  • Grouping buttons side-by-side is no longer provided out of the box; custom toolbar styles can implement a similar feature.

    2.0.0release notes

  • Removed from GraphiQL; use HeaderEditor from @graphiql/react instead.

    2.0.0release notes

  • Removed from GraphiQL; use ToolbarMenu from @graphiql/react instead.

    2.0.0release notes

  • Removed from GraphiQL; use ToolbarMenu.Item from @graphiql/react instead.

    2.0.0release notes

  • Removed from GraphiQL; use QueryEditor from @graphiql/react instead.

    2.0.0release notes

  • Removed from GraphiQL; use ResponseEditor from @graphiql/react instead.

    2.0.0release notes

  • Removed; it exposed the same component as GraphiQL.Button.

    2.0.0release notes

  • Removed from GraphiQL; use VariableEditor from @graphiql/react instead.

    2.0.0release notes

  • Renamed to isHeadersEditorEnabled.

    2.0.0release notes

  • Replaces the headerEditorEnabled prop.

    2.0.0release notes

  • Removed from graphiql and now exported from @graphiql/toolkit.

    2.0.0release notes

  • Removed from graphiql and now exported from @graphiql/toolkit.

    2.0.0release notes

  • Removed from graphiql and now exported from @graphiql/react.

    2.0.0release notes

  • Replaces tabs for receiving tab change callbacks; tabs are now always enabled.

    2.0.0release notes

  • Removed and replaced by onTogglePluginVisibility.

    2.0.0release notes

  • Removed and replaced by onTogglePluginVisibility.

    2.0.0release notes

  • Removed from graphiql and now exported from @graphiql/react.

    2.0.0release notes

  • Replaces the ResultsTooltip prop.

    2.0.0release notes

  • Renamed to responseTooltip.

    2.0.0release notes

  • Removed from graphiql and now exported from @graphiql/toolkit.

    2.0.0release notes

  • Removed from graphiql and now exported from @graphiql/toolkit.

    2.0.0release notes

  • Tabs are always enabled; the tabs prop is replaced by onTabChange.

    2.0.0release notes

  • Removed from graphiql and now exported from @graphiql/react.

    2.0.0release notes

  • Removed from graphiql; use ToolbarMenu.Item from @graphiql/react.

    2.0.0release notes

  • Removed from graphiql; ToolbarListbox is exported from @graphiql/react instead.

    2.0.0release notes

  • Removed from graphiql; ToolbarListbox.Option is exported from @graphiql/react instead.

    2.0.0release notes

  • Removed from graphiql and now exported from @graphiql/react.

    2.0.0release notes

  • New generic prop for controlling which plugin is visible.

    2.0.0release notes

  • The GraphiQL component no longer sets window.g.

    2.0.0release notes

New APIs and options 2

  • GraphiQL now ships with a dark theme, respects system settings by default, and allows an explicit theme choice via the settings dialog.

    2.0.0release notes

  • New callback called each time the visibility of any plugin changes.

    2.0.0release notes

graphiql 11 changes

Fixes and other changes 1

  • Fixed server-side rendering by using a type-only CodeMirror import.

    1.0.0release notes