|
| 1 | +--- |
| 2 | +title: GraphiQL 4.1 is Released |
| 3 | +tags: [announcements, grants] |
| 4 | +date: 2025-05-31 |
| 5 | +byline: Dimitri Postolov |
| 6 | +--- |
| 7 | + |
| 8 | +import { Callout } from "nextra/components" |
| 9 | + |
| 10 | +I'm thrilled to announce the release of **GraphiQL 4.1**! 🎉 |
| 11 | + |
| 12 | +Thanks to funding from the **GraphQL Foundation**, I'm working on migrating |
| 13 | +GraphiQL to the Monaco code editor — a long-awaited update that's been on our |
| 14 | +roadmap for years. |
| 15 | + |
| 16 | +> In fact, the [original issue](https://github.com/graphql/graphiql/issues/2326) |
| 17 | +> was opened over **three years ago**! |
| 18 | +
|
| 19 | +## Roadmap |
| 20 | + |
| 21 | +Migrating to the Monaco editor is a major milestone, and to ensure a smooth |
| 22 | +transition for everyone, I've broken it down into several incremental releases: |
| 23 | + |
| 24 | +### GraphiQL 3.9 |
| 25 | + |
| 26 | +- Switched build system from Webpack to Vite |
| 27 | +- Compiled the codebase using the new |
| 28 | + [React Compiler](https://react.dev/learn/react-compiler) |
| 29 | + |
| 30 | +### GraphiQL 4 |
| 31 | + |
| 32 | +- Dropped support for React 16/17 |
| 33 | +- Added support for React 19 |
| 34 | +- Introduced a refreshed tabs UI |
| 35 | +- New ESM-based CDN example |
| 36 | +- Deprecated the legacy UMD CDN build |
| 37 | + |
| 38 | +### GraphiQL 4.1 _(This release)_ |
| 39 | + |
| 40 | +- Standalone Doc Explorer plugin |
| 41 | +- Standalone History plugin |
| 42 | +- Migrated state management from React context to |
| 43 | + [zustand](https://zustand-demo.pmnd.rs) |
| 44 | + |
| 45 | +### GraphiQL 5 _(Coming Soon)_ |
| 46 | + |
| 47 | +- Migration from Codemirror to |
| 48 | + [Monaco Editor](https://github.com/microsoft/monaco-editor) |
| 49 | +- Replacing `codemirror-graphql` with |
| 50 | + [`monaco-graphql`](https://github.com/graphql/graphiql/tree/main/packages/monaco-graphql) |
| 51 | +- Support for comments in **Variables** and **Headers** editors |
| 52 | +- New examples: **GraphiQL x Vite** and **GraphiQL x Next.js** |
| 53 | + |
| 54 | +<Callout type="info"> |
| 55 | + For the full roadmap, check out the [tracking issue on |
| 56 | + GitHub](https://github.com/graphql/graphiql/issues/3874). |
| 57 | +</Callout> |
| 58 | + |
| 59 | +## What's New |
| 60 | + |
| 61 | +GraphiQL 4 serves as a gateway to the upcoming GraphiQL 5, which will be powered |
| 62 | +by the Monaco editor, the same editor used in VSCode. Upgrading to GraphiQL 4 is |
| 63 | +an essential step if you're already using React 19. |
| 64 | + |
| 65 | +We've extracted **Doc Explorer** and **History** into standalone plugins, |
| 66 | +allowing full customization of GraphiQL's built-in plugins in the **GraphiQL |
| 67 | +5**. |
| 68 | + |
| 69 | +Under the hood, we've replaced React context with zustand, making the internal |
| 70 | +state management simpler and more maintainable, and enabling faster iteration on |
| 71 | +new features. |
| 72 | + |
| 73 | +### Time to Say Goodbye to UMD Builds! |
| 74 | + |
| 75 | +With React 19, |
| 76 | +[UMD builds have been removed](https://react.dev/blog/2024/04/25/react-19-upgrade-guide#umd-builds-removed). |
| 77 | +The React team now recommends using ESM-based CDNs like |
| 78 | +[esm.sh](https://esm.sh). |
| 79 | + |
| 80 | +We've updated the |
| 81 | +[CDN example](https://github.com/graphql/graphiql/tree/main/examples/graphiql-cdn) |
| 82 | +to show how to use GraphiQL with [esm.sh](https://esm.sh). |
| 83 | + |
| 84 | +### How to Update |
| 85 | + |
| 86 | +Follow the step-by-step guide in our |
| 87 | +[GraphiQL 4 migration documentation](https://github.com/graphql/graphiql/blob/main/docs/migration/graphiql-4.0.0.md). |
| 88 | + |
| 89 | +## What's Next? |
| 90 | + |
| 91 | +The development of **GraphiQL 5** is almost complete! You can checkout the last |
| 92 | +[Live Preview](https://deploy-preview-3234--graphiql-test.netlify.app). |
| 93 | + |
| 94 | +The official release is just around the corner — arriving later **this June**! |
| 95 | + |
| 96 | +## Stay Connected |
| 97 | + |
| 98 | +Follow me, **Dima Machina**, on [𝕏](https://x.com/dimaMachina_) and |
| 99 | +[GitHub](https://github.com/dimaMachina) to stay up to date with the latest |
| 100 | +updates! |
0 commit comments