Skip to content

4.0.0

Compare
Choose a tag to compare
@vepanimas vepanimas released this 18 Apr 15:34
· 167 commits to master since this release
  • GraphQL config v3 support. For more details check the documentation.
  • The modern configuration format is supported for .yml, .json, .js and .ts files. Multiple different file names can be used, introspection requests vie line markers should be available inside the editor only for YAML and JSON files. Configuration in package.json and .toml files is not supported, but you can open an issue if you really need it.
  • You don't need to use the endpoints extension to introspect your remote GraphQL schemas. While still supported, it's only useful if you want to store an introspection schema within your project sources. Instead, simply point an entry in the schema section to a valid URL and run the introspection query. Automatic schema fetching by a specified time frame will be implemented later.
  • Validation of configuration files and code completion are enabled through the use of JSON schema.
  • Legacy configuration formats will be supported to ease the transition process.
  • An editor notification action could automatically convert configuration files to a new format when they are opened. It is important to note that during the migration of configuration files, the format of variables has also been changed.
  • The glob matching functionality in configs has been reworked and now should only include schema files that strictly match.
  • Local JSON introspection files have been reworked. Now, their corresponding GraphQL SDLs are stored on disk and indexed as regular project files. This should prevent them from being the source of different exceptions and memory leaks. If generating SDL based on the GraphQL introspection result fails, the editor will display error details.
  • Configuration change tracking has been improved. It is now possible to change a configuration file and consistently see an updated state of the IDE without significant delays.
  • The comment format for GraphQL Scratch files has been updated to better suit modern configuration options. However, the legacy format is still supported, so existing files should function as they did before.
  • The external API for contributing GraphQL configuration is now available. This allows third-party plugins to override the project structure and guide the plugin on which sources should be included in the schema and in which directory.
  • Fragments are resolved in Vue and other HTML-like files.
  • The support for search in language injections has been reworked, allowing us to add it for more languages. However, we still need to rethink how language injections work, as the current implementation has its own limitations. Stay tuned 😉.
  • The search algorithm for .env files has been improved. Previously, it only looked for an .env file in the config folder or project root. Now, it scans all directories from the configuration file up to the project root.
  • Manually provided environment variables are stored per configuration file, rather than being set globally for the entire project. You can set them up from the context menu in the configuration file (accessed via the menu item named Edit GraphQL Environment Variables), via a new button in the editor toolbar, or by using Find Action > Edit GraphQL Environment Variables.
  • It is now possible to perform an introspection query directly from the header of the GraphQL editor. Simply use the Run Introspection Query action on the toolbar. To open an introspection file saved on disk, use the adjacent Open Introspection Schema action.
  • The GraphQL Tool Window has been updated, so it should no longer throw a deprecation exception when opened.
  • Updated Apollo Federation schema.