# Content Updates Notable updates and additions to this documentation. This page lists notable additions and updates to the SDK documentation and [](code_samples.md). See [GitHub Changelog](https://github.com/JetBrains/intellij-sdk-docs/commits/main) ([RSS](https://github.com/JetBrains/intellij-sdk-docs/commits/main.atom)) for a detailed changelog. ## 2025 ### May {#may-25} New Project Wizard : Add a new section about implementing project wizards: [](new_project_wizard.md). ### March {march-25} Integration Testing : Add new section [](integration_tests.md). Minor Changes and Additions : - Document [](action_system.md#action-id-code-insight) added in 2025.1. ### February {february-25} Support Channel Update : Updated support channels to the new [JetBrains Platform](https://platform.jetbrains.com) community forum. See the [The JetBrains Platform Gets a New Community Space](https://blog.jetbrains.com/platform/2025/02/the-jetbrains-platform-gets-a-new-community-space/) blog post for more context. Revamped Threading and Execution Context topics : Reorganized [threading](threading_model.md) and [coroutines](kotlin_coroutines.md) topics structure. Updated [](execution_contexts.topic) with the information about contexts available since 2024.2. ### January {january-25} Coroutines on EDT and Locks : Added a [page](coroutine_edt_and_locks.md) describing the current implicit locking behavior on EDT launched from coroutines and planned changes with migration hints. ## 2024 ### December {december-24} Live Templates Configuration File : Added a page describing the structure and elements of [live templates configuration files](live_templates_configuration_file.md). ### August {august-24} Workspace Model : [](workspace_model.md) represents the project's structure and all its elements and replaces the existing [](project_model.md). Minor Changes and Additions : - Updated list of [supported features](language_server_protocol.md#supported-features) for Language Server Protocol (LSP). ### July {july-24} Threading Model : Revamp the [Threading Model](threading_model.md) page (formerly _General Threading Rules_) and add a new page describing [background processes](background_processes.md), including cancellation and progress tracking. Coroutines Read Actions : Added FAQ section and explanation of [why suspending inside the block is not allowed](coroutine_read_actions.topic#why-can-t-i-suspend-inside-the-block). ### June {june-24} Code Formatter : Rework [](code_formatting.md) page, extending explanations and updating content. ### May {may-24} Minor Changes and Additions : - How to support [grammar checks](spell_checking.md#grammar-checks) provided by Grazie plugin in custom languages. - How to provide [code vision provider](inlay_hints.md#code-vision-provider) name and description in the settings. - How to manage [Web Symbols context](websymbols_context.md) detection. ### April {april-24} Plugin Internationalization : Add [](internationalization.md) and [](providing_translations.md) pages describing IDE and plugin translation possibilities and best practices. Minor Changes and Additions : - How to mark functionality available during indexing via [](indexing_and_psi_stubs.md#DumbAwareAPI). - Move Extension Point and Listener Lists to the _Resources_ section and split the main _Extension Point and Listener List_ into: _IntelliJ Platform_, _IntelliJ Community Plugins_, and _Android Plugin_. ### March {#march-24} Kotlin Coroutines : Add [](kotlin_coroutines.md) describing how to write asynchronous code in an imperative style. Minor Changes and Additions : - Add [documentation](plugin_extension_points.md#error-handling) on how to handle errors and deprecations in extensions. - Note changes in how highlighting is now [performed more efficiently](syntax_highlighting_and_error_highlighting.md#order-of-running-highlighting) in 2024.1. ### February {#february-24} IntelliJ Platform Gradle Plugin 2.x (Early Access Preview) : Add [documentation](tools_intellij_platform_gradle_plugin.md) for the next generation of Gradle tooling for plugin development. ## 2023 ### December {#december-23} JCEF : Revamp [JCEF (Java Chromium Embedded Framework)](embedded_browser_jcef.md) page. User Interface FAQ : Added [](ui_faq.md). Language Server Protocol (LSP) : Added [](language_server_protocol.md). ### November {#november-23} Minor Changes and Additions : - Add information about [executing actions programmatically](action_system.md#executing-actions-programmatically). - Please see [](tools_gradle_intellij_plugin.md#attaching-sources) on how to set up 2023.2/3 IDEs for Gradle plugin projects. ### October {#october-23} Kotlin Persisting State Component : Add an [example](persisting_state_of_components.md#implementing-the-persistentstatecomponent-interface) of a persistent state component implemented in Kotlin. Minor Changes and Additions : - Add section [](module.md#storing-a-reference-to-a-module). ### September {#september-23} Run Configuration Macros : Add [](run_configurations.md#macros) section describing how to support dynamic expandable values in run configuration settings. Inlay Hints : Update [](inlay_hints.md) page with the information about new APIs. Threading Model : Update [](threading_model.md) to reflect changes in 2023.3 platform. Minor Changes and Additions : - Add information about ordering [quick fixes](code_inspections.md#quick-fix-implementation) and [intentions actions](code_intentions.md#techniques-used). - Clarify the information about [declarative inlay hints](inlay_hints.md#declarative-inlay-hints-provider) customization possibilities. ### July {#july-23} Run Configurations : Describe techniques for [simplifying run configuration settings editors](run_configurations.md#simplifying-settings-editors). ### June {#june-23} Execution : Rework [](execution.md), [](run_configurations.md), and [](run_configurations_tutorial.md) pages. Minor Changes and Additions : - Clarify [the syntax highlighting](testing_highlighting.md#syntax-highlighting) test file format and test implementation initial approach. - Clarify referencing icons by paths and icon holder class constants in [](icons.md). - Add information about requirements for persistent state components to be included in [the _Settings Sync_ plugin synchronization mechanism](persisting_state_of_components.md#backup-and-sync-plugin). ### April {#april-23} Documentation : Rework [](documentation.md) page and adapt it to the new `DocumentationTargetProvider` framework. ### March {#march-23} Web Symbols : Add [](websymbols.md) documentation, which is a framework that simplifies web technology development by utilizing the [](symbols.md) API and supporting custom syntaxes. Open Source Plugins Extension Points : Added [](oss_plugins_extension_point_list.md) for plugins bundled with [](idea_ultimate.md) and other IDEs. ### February {#february-23} Inspection Options : Add a section on [](inspection_options.md), which allows extending inspection behavior based on the input provided by user at runtime. Minor Changes and Additions : - Add section on [](icons.md#new-ui-icons). - Document [](spell_checking.md#runtimedictionaryprovider) EP for spellchecking. ### January {#january-23} Minor Changes and Additions : - Update _IDE Support_ section in [](verifying_plugin_compatibility.md). - UI Inspector: update [](internal_ui_inspector.md#specific-component-properties) and add section [](internal_ui_inspector.md#inspecting-settings). ## 2022 ### December {#december-22} Intention Preview : Add information about how to prepare intentions to show [](code_intentions_preview.md). Minor Changes and Additions : - Add information for new [](kotlin_ui_dsl_version_2.md#cell-align) methods in Kotlin UI DSL Version 2. ### November {#november-22} Plugin User Experience : Add a new section about how to improve [plugin UX](plugin_user_experience.md) and overall plugin quality. Minor Changes and Additions : - Add information about threading in Actions in [](action_system.md#principal-implementation-overrides). ### October {#october-22} Minor Changes and Additions : - Add information about [sharing settings](persisting_state_of_components.md#sharing-settings-between-ide-installations) between different IDEs installations. ### September {#september-22} Extract "Themes" part : All the content related to [themes customization](theme_structure.md) and creating a project using the [DevKit approach](developing_themes.md) has been moved to a new [_Themes_](themes_getting_started.md) part. Content has been refreshed to match the current state of the project and SDK wizards. Spell Checking : Add [](spell_checking.md) section with an [accompanying tutorial](spell_checking_strategy.md) showing how to implement a spell checking for a custom language. Minor Changes and Additions : - Add descriptions for the following EPs to [](additional_minor_features.md): [](additional_minor_features.md#prevent-error-highlighting-of-files), [](additional_minor_features.md#provide-fully-qualified-names-fqn-for-elements), [](additional_minor_features.md#label-files-as-test-files), [](additional_minor_features.md#move-statements-up-and-down-in-the-editor). - Add section about [](ide_infrastructure.md#power-save-mode). - Highlight references automatically via [](references_and_resolve.md#additional-highlighting) - Language injections: controlling [](language_injection.md#formatting) ### August {#august-22} Plugin Configuration Page : Update the [](plugin_configuration_file.md) page to describe all the elements in detail. Source links migrated from Upsource to GitHub : All source links now point to GitHub instead of Upsource (which is going to be [sunset](https://blog.jetbrains.com/upsource/2022/01/31/upsource-end-of-sales-announcement/)). ### July {#july-22} Status Bar Widgets : Add section [](status_bar_widgets.md) describing how to implement your own status bar widgets. Minor Changes and Additions : - Add overview of [](action_system.md#useful-action-base-classes). ### June {#june-22} PHP Type Providers : Add section [](php_open_api_php_type_providers.md) about type providers describing type inference in PhpStorm and how to implement your own type provider. Postfix Completion : Add [](postfix_completion.md) section explaining how to implement generating or wrapping the existing code into additional constructs without navigating the caret back. Gradle IntelliJ Plugin : Add [](tools_gradle_intellij_plugin.md) documentation to _Tooling_. Bundling Plugin API Sources : Add the [](bundling_plugin_openapi_sources.md) section explaining how to expose plugin API sources to dependent plugin developers. Minor Changes and Additions : - Add a small section to [](php_open_api.md#utility-classes) describing `PhpFilePathUtils` utility class. - Add mention of the way to programmatically open an autocomplete popup to [](code_completion.md). - Add a small section to [](icons.md#animated-icons) describing animated icons. - Moved [](tools_gradle_grammar_kit_plugin.md) documentation to _Tooling_. ### May {#may-22} Navigation Bar : Add [](navbar.md) section with an [accompanying tutorial](structure_aware_navbar.md) showing how to implement a navigation bar for a custom language. Inlay Hints : Add section [](inlay_hints.md) describing special markers that appear in the editor and provide additional information, like the names of the parameters that a called method expects. Minor Changes and Additions : - Add a small section to [](editor_components.md) describing convenient `EditorTextField` subclasses. - Add descriptions for the following EPs to [](additional_minor_features.md): [](additional_minor_features.md#recognizing-complex-multi-block-expressions), [](additional_minor_features.md#breadcrumbs), [](additional_minor_features.md#plain-text-completion), [](additional_minor_features.md#splitting-and-joining-list-constructs), [](additional_minor_features.md#suggesting-rename-and-change-signature-refactorings), [](additional_minor_features.md#reader-mode), [](additional_minor_features.md#background-colors-for-editors-and-project-view), [](additional_minor_features.md#custom-names-and-tooltips-for-editor-tabs). - Add small section to [](project_view.md#decorating-project-view-nodes) describing how to modify the representation of nodes in the project view. - Add [](rename_refactoring.md) paragraphs mentioning `RenameInputValidator(Ex)`. ### April {#april-22} Internal API Migration : As API annotated with `@ApiStatus.Internal` must not be used in plugins, refer to [](api_internal.md) for a list corresponding API replacements and additional information. ### March {#march-22} Code Samples Build Scripts Migrated to Kotlin : All [](code_samples.md) now use Kotlin DSL in their Gradle build scripts. Android Studio Releases List : Add [](android_studio_releases_list.md) section containing a complete list of the Android Studio releases with the relevant IntelliJ IDEA release version specified. Alternatives to Implementing a Plugin : Add [](plugin_alternatives.md) section describing alternative approaches to extending IDE functionality without actual plugin development. ### February {#february-22} Parameter Info : Add [](parameter_info.md) section explaining how information about function parameters can be shown in the editor. File and Code Templates : Add [](file_and_code_templates.md) section explaining how to implement functionality that allows generating files and code fragments containing repetitive text and patterns. ### January {#january-22} Highlighting : Add [](syntax_errors.md) and [](controlling_highlighting.md) sections explaining syntax highlighting basics and filtering highlighting information. IDE Infrastructure : Add sections [](ide_infrastructure.md#application-events) and [](ide_infrastructure.md#plugin-management). ## 2021 ### December {#december-21} Trusted Project : Potentially unsafe features must be guarded using [Trusted Project API](trusted_projects.md). ### November {#november-21} Language Injection : Add [](language_injection.md) section that shows how the IntelliJ Platform handles different languages within the same source file. ### September {#september-21} IDE Infrastructure : [](ide_infrastructure.md) handles Logging, Error Reporting, Runtime Information, and how to provide Context Help. Extension Point Lists: Listeners, Deprecation status : [](intellij_platform_extension_point_list.md) now contains sections listing all provided [Listener](plugin_listeners.md) Topics. See also corresponding Extension Point Lists under _Product Specific_. Also, all deprecated API now has a dedicated tag. ### July {#july-21} Plugin Signing : [](plugin_signing.md) describes the plugin signing process, explains how to generate a certificate, configure the Gradle [`signPlugin`](tools_gradle_intellij_plugin.md#tasks-signplugin) task, and introduces a standalone CLI tool. ### June {#june-21} Testing FAQ : [](testing_faq.md) page lists common issues, useful classes, and techniques for writing and maintaining tests. Documentation Provider : Add [](documentation.md) section with an [accompanying tutorial](documentation_provider.md) that show how to implement a `DocumentationProvider` for custom languages. ### May {#may-21} IDE specific Extension Point Lists : See _Product Specific_. New Guide - Explore the IntelliJ Platform API : Add a new section [](explore_api.md) that describes how plugin authors work with the IntelliJ Platform API and what tools they use. ### March {#march-21} Element Patterns : Add a new section about [Element Patterns](element_patterns.md) that are used when implementing [Completion Contributors](completion_contributor.md) or [PSI Reference Contributors](psi_references.md#contributed-references). Editor - Text Selection : Add a new section about [Text Selection EPs](text_selection.md) and describe [`ExtendWordSelectionHandler`](%gh-ic%/platform/lang-api/src/com/intellij/codeInsight/editorActions/ExtendWordSelectionHandler.java). SDK Setup Assistance : Added a code sample to the SDK tutorial that expands on [assisting in the setup of an SDK](sdk.md#assisting-in-setting-up-an-sdk). Unified AST : [Unified Abstract Syntax Tree (UAST)](uast.md) allows providing features that will work across all supported JVM languages (Java, Kotlin, Scala, Groovy). ## 2020 ### December {#december-20} IntelliJ Platform Explorer : Explore usages of [Extension Points](intellij_platform_extension_point_list.md) in open-source plugins using [IntelliJ Platform Explorer](https://jb.gg/ipe). ### November {#november-20} Extension Point List : All EPs [available in IJ Platform and Android](intellij_platform_extension_point_list.md) can now be browsed conveniently. ### August {#august-20} README added to Code Samples : All code samples used in this guide now come with README, making it easier to browse them. They can be conveniently accessed via a [separate GitHub repository](https://github.com/JetBrains/intellij-sdk-code-samples). ### June {#june-20} Dynamic Plugins update : Added new sections _Code_ and _Troubleshooting_ to [Dynamic Plugins](dynamic_plugins.md). GitHub IntelliJ Platform Plugin Template : Create new plugins with a preconfigured project scaffold and CI in [one click](plugin_github_template.md). Disposer & Disposable : Added [reference](disposers.md) discussing resource cleanup/management. ### May {#may-20} Settings (Preferences) : Added [guide](settings_guide.md) and [tutorial](settings_tutorial.md) on integrating with IDE Settings dialog. UI Inspector : Inspect Swing components and associated data (like `AnAction` for menu item) using [UI Inspector](internal_ui_inspector.md). ### March {#march-20} JCEF Support : Allows [embedding](embedded_browser_jcef.md) Chromium-based browser in the IDE. ### February {#february-20} All Code Samples converted to Gradle : [All samples](https://github.com/JetBrains/intellij-sdk-docs/tree/main/code_samples) now use the [recommended solution](creating_plugin_project.md) of setting up plugin projects. ### January {#january-20} Custom Language Support Tutorial converted to Gradle : The [corresponding tutorial](custom_language_support_tutorial.md) and [Testing a Custom Language Plugin](writing_tests_for_plugins.md) have been updated and enhanced as well. Targeting specific IDEs : [Product Specific](plugin_compatibility.md) has been expanded massively, now also covering each IDE with its dedicated page. ## 2019 ### December {#december-19} Dynamic Plugins support : Added starting point [Dynamic Plugins](dynamic_plugins.md) for migrating plugins (IntelliJ Platform 2020.1 and later). Plugin Components migration : Components being a legacy feature, the [updated page](plugin_components.md) describes migrating them to modern replacement API. ### October {#october-19} Plugin Repository moved : All contents have been moved to [JetBrains Marketplace Documentation](https://plugins.jetbrains.com/docs/marketplace/). ### July {#july-19} New page: Optimizing Performance : Optimizing performance when [working with PSI](psi_performance.md), [during indexing](indexing_and_psi_stubs.md#improving-indexing-performance), and [](threading_model.md#avoiding-ui-freezes). ### May {#may-19} New Page: Kotlin UI DSL : [Describes preferred way](kotlin_ui_dsl.md) of building UI/dialogs for IntelliJ Platform 2019.2 and later.