Please see Verifying Plugin Compatibility on how to use Plugin Verifier and IDE inspections to check such problems.
Early Access Program (EAP) releases of upcoming versions are available here.
Changes from API marked with @Deprecated(forRemoval=true)
or any of ApiStatus
@Experimental
, @ScheduledForRemoval
, or @Internal
are not listed here, as incompatible changes are to be expected.
For API annotated with @ApiStatus.Internal
/@IntellijInternalApi
, see Internal API Migration for more details and replacements.
Java version must be set depending on the target platform version.
Java 21
Java 17
The Gradle plugin must be chosen depending on the target platform version.
Recommended IntelliJ Platform Gradle Plugin (2.x)
Requires Gradle IntelliJ Plugin (1.x) (Obsolete) 1.10.1+
Several modules were extracted from the core plugin to separate modules with their own classloaders. This shouldn't affect binary compatibility, but an explicit dependency should be added in build.gradle.kts
using bundledModule(<moduleName>)
if a plugin uses API from these modules:
intellij.platform.tasks
intellij.spellchecker
intellij.relaxng
icons.JavaUltimateIcons
class moved to package com.intellij.java.ultimate.icons
Update code usages and make sure your plugin depends on the Java plugin.
com.intellij.psi.xml.HtmlFileElementType.getHtmlStubVersion()
method removed
Use com.intellij.xml.HtmlLanguageStubVersionUtil.getHtmlStubVersion()
instead.
com.intellij.openapi.actionSystem.ActionGroup.getChildren(AnActionEvent, ActionManager)
method removed
Avoid expanding an action group manually
com.intellij.openapi.actionSystem.DefaultActionGroup.getChildren(AnActionEvent, ActionManager)
method removed
Avoid expanding an action group manually or use DefaultActionGroup.getChildren(ActionManager)
com.intellij.diff.util.ThreeSide.map(Function)
method parameter type changed from com.intellij.util.Function
to kotlin.jvm.functions.Function1
Use kotlin.jvm.functions.Function1
as a parameter.
com.intellij.webSymbols
package together with all the classes and extension points has been renamed to com.intellij.polySymbols
.
The classes were renamed using pattern WebSymbol[s]?(.*)
-> PolySymbol$1
. Some classes have also been moved to more specific packages.
From other notable changes:
PolySymbol
interface no longer extends PolySymbolScope
PolySymbol
interface no longer contains documentation-specific properties (description
, docUrl
, sections
and defaultValue
), instead getDocumentationTarget
method should be overridden and the new PolySymbolDocumentationTarget.create
method used to lazily build documentation for the symbol
PolySymbol
no longer has abstract
, required
and virtual
properties. They've been replaced by a more generic modifiers
property
PolySymbol
no longer has properties
property, which returned a map of properties. It's been replaced by get
method, which should return value for the requested property.
PolySymbol
no longer has attributeValue
property, instead get
method should be overridden to return the value for com.intellij.polySymbols.html.PROP_HTML_ATTRIBUTE_VALUE
property
The WebSymbolsQueryConfigurator$getScope
has been removed and replaced with a pattern-based PolySymbolQueryScopeContributor
API
The PolySymbolDelegate
and PsiSourcePolySymbolDelegate
are interfaces now
All APIs have been refactored to use PolySymbolQualifiedKind
instead of separate parameters namespace
and kind
Builder patterns have been introduced in various classes, like PolySymbolQueryExecutor
, PolySymbolQueryParams
, or PolySymbolDocumentation
instead of now removed Kotlin methods with default parameters.
Please note that the module is under active development and further major API changes are to be expected in the upcoming releases.
com.intellij.packageChecker.api.PackageDeclaration(Package)
method parameter type changed from org.jetbrains.security.package.Package
to com.intellij.packageChecker.model.Package
Use com.intellij.packageChecker.model.Package
as a parameter.
com.intellij.packageChecker.api.PackageDeclaration(Package, PsiElement, TextRange)
method parameter type changed from org.jetbrains.security.package.Package
to com.intellij.packageChecker.model.Package
Use com.intellij.packageChecker.model.Package
as a parameter.
com.intellij.packageChecker.api.PackageDeclaration.getPkg()
method return type changed from org.jetbrains.security.package.Package
to com.intellij.packageChecker.model.Package
Update code usages.
com.intellij.packageChecker.PackagesInterner.intern(Package)
method parameter type changed from org.jetbrains.security.package.Package
to com.intellij.packageChecker.model.Package
Use com.intellij.packageChecker.model.Package
as a parameter.
com.intellij.packageChecker.PackagesInterner.intern(Package)
method return type changed from org.jetbrains.security.package.Package
to com.intellij.packageChecker.model.Package
Update code usages.
com.intellij.lang.javascript.JSStubElementTypes.DEFINITION_EXPRESSION
field type changed from com.intellij.lang.javascript.psi.JSStubElementType
to com.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.XML_ATTRIBUTE
field type changed from com.intellij.psi.stubs.IStubElementType
to com.intellij.psi.tree.IElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.XML_JS_SCRIPT
field type changed from com.intellij.psi.tree.IElementType
to com.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.ES6_EMBEDDED_CONTENT
field type changed from com.intellij.psi.tree.IElementType
to com.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.VARIABLE
field type changed from com.intellij.lang.javascript.psi.JSStubElementType
to com.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.LITERAL_EXPRESSION
field type changed from com.intellij.lang.javascript.psi.JSStubElementType
to com.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.EMBEDDED_EXPRESSION
field type changed from com.intellij.psi.tree.IElementType
to com.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.typescript.TypeScriptStubElementTypes.TYPESCRIPT_VARIABLE
field type changed from com.intellij.lang.javascript.psi.JSStubElementType
to com.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.ARRAY_LITERAL_EXPRESSION
field type changed from com.intellij.lang.javascript.psi.JSStubElementType
to com.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.CALL_EXPRESSION
field type changed from com.intellij.lang.javascript.psi.JSStubElementType
to com.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.ecmascript6.ES6StubElementTypes.FIELD_STATEMENT
field type changed from com.intellij.lang.javascript.psi.JSStubElementType
to com.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.EMBEDDED_CONTENT
field type changed from com.intellij.psi.tree.IElementType
to com.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
org.jetbrains.vuejs.lang.expr.VueJSLanguage.Companion
class removed
Use org.jetbrains.vuejs.lang.expr.VueJSLanguage
instead.
com.intellij.kubernetes.api.KubernetesApiProvider.getInstance(Project)
method return type changed from com.intellij.kubernetes.api.KubernetesApiProvider
to com.intellij.kubernetes.api.KubernetesApiProviderInterface
Update code usages.
com.intellij.kubernetes.api.KubernetesApiProvider.State
class renamed to com.intellij.kubernetes.api.KubernetesApiProviderInterface.KubeconfigState
Update code usages.
SwingUtilities.invokeLater
and SwingUtilities.invokeAndWait
does not hold the write-intent lock
Consider using an explicit wrapping with ReadAction.compute()
or WriteAction.run(ThrowableRunnable<E>)
. See Threading Model.
Dispatchers.Main
do not hold the write-intent lock
To restore the old behavior, consider using Dispatchers.EDT
. See Threading Model.
com.intellij.psi.xml.XmlTokenType
class now interface
Use XmlTokenType
constants directly.
com.intellij.psi.xml.XmlElementType
no longer extends com.intellij.psi.xml.XmlTokenType
Update code usages.
filetype.xml.description
property removed from resource bundle messages.XmlPsiBundle
Use property from resource bundle messages.XmlParserBundle
xml.parsing.closing.tag.matches.nothing
property removed from resource bundle messages.XmlPsiBundle
Use property from resource bundle messages.XmlParserBundle
xml.parsing.unclosed.attribute.value
property removed from resource bundle messages.XmlPsiBundle
Use property from resource bundle messages.XmlParserBundle
xml.parsing.unescaped.ampersand.or.nonterminated.character.entity.reference
property removed from resource bundle messages.XmlPsiBundle
Use property from resource bundle messages.XmlParserBundle
com.intellij.database.view.models
package removed
Old table modification dialog was finally removed. Use com.intellij.database.actions.ddl.ModifyObjectAction.showDialog()
for new dialog invocation.
com.intellij.database.schemaEditor.model.DeObject
class removed
Old table modification dialog was finally removed. Use com.intellij.database.actions.ddl.ModifyObjectAction.showDialog()
for new dialog invocation.
com.intellij.database.view.editors.DatabaseEditorContext
class removed
Old table modification dialog was finally removed. Use com.intellij.database.actions.ddl.ModifyObjectAction.showDialog()
for new dialog invocation.
com.intellij.database.view.editors.DatabaseTableEditor
class removed
Old table modification dialog was finally removed. Use com.intellij.database.actions.ddl.ModifyObjectAction.showDialog()
for new dialog invocation.
com.intellij.database.view.ui.DbRefactoringDialogHelper
class removed
Old table modification dialog was finally removed. Use com.intellij.database.actions.ddl.ModifyObjectAction.showDialog()
for new dialog invocation.
com.intellij.database.view.ui.DbTableDialog
class removed
Old table modification dialog was finally removed. Use com.intellij.database.actions.ddl.ModifyObjectAction.showDialog()
for new dialog invocation.
com.intellij.openapi.externalSystem.service.internal.ExternalSystemProcessingManager
class now interface
Recompile code usages.
com.intellij.lang.javascript.service.JSAsyncLanguageServiceBase.JSLanguageServiceInfoReporter
class moved to package com.intellij.lang.javascript.service
Update all usages
com.intellij.lang.javascript.JSElementTypes.toModuleContentType(IElementType type)
method removed
Use com.intellij.lang.javascript.JSModuleContentType.toModuleContentType(IElementType type)
method instead
com.intellij.lang.javascript.BaseJSTokenTypes
class removed
Use com.intellij.lang.javascript.JSTokenTypes
class instead
com.intellij.lang.javascript.highlighting.TypeScriptHighlighter(DialectOptionHolder dialectOptionsHolder, boolean skipKeywordHighlights)
constructor removed
Use constructor without skipKeywordHighlights
parameter
com.intellij.lang.javascript.dialects.ECMA6SyntaxHighlighterFactory.ECMA6SyntaxHighlighter(DialectOptionHolder dialectOptionsHolder, boolean skipKeywordHighlights)
constructor removed
Use constructor without skipKeywordHighlights
parameter
com.intellij.lang.javascript.highlighting.JSHighlighter(DialectOptionHolder dialectOptionsHolder, boolean skipKeywordHighlights)
constructor removed
Use constructor without skipKeywordHighlights
parameter
org.jetbrains.kotlin.KtFakeSourceElement
class renamed to org.jetbrains.kotlin.KtFakePsiSourceElement
Update code usages.
org.jetbrains.kotlin.ir.linkage.IrDeserializer.IrLinkerExtension
class removed
This class was removed from the Kotlin compiler and is no longer available.
org.jetbrains.kotlin.ir.builders.TranslationPluginContext
class removed
This class was removed from the Kotlin compiler and is no longer available.
org.jetbrains.kotlin.analysis.decompiler.stub.file.ClsClassFinder.isKotlinInternalCompiledFile$default(ClsClassFinder, VirtualFile, byte[], int, Object)
method removed
Recompile code usages.
com.jetbrains.rd.ide.model.AddToGroupRuleModel
class removed
Remove all usages.
com.jetbrains.rd.ide.model.ActionConstraintModel
class removed
Remove all usages.
com.jediterm.terminal.model.TextBufferChangesListener.historyCleared()
abstract method added
Must be implemented.
com.intellij.terminal.ui.TerminalWidget.connectToSession(TerminalSession session)
abstract method added
Must be implemented.
com.intellij.terminal.ui.TerminalWidget.getSession()
abstract method added
Must be implemented.
com.intellij.terminal.ui.TerminalWidget.getTerminalSizeInitializedFuture()
abstract method added
Must be implemented.
07 August 2025
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4