Incompatible Changes in IntelliJ Platform and Plugins API 2025.*
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.
2025.2
IntelliJ Platform 2025.2
icons.JavaUltimateIcons
class moved to packagecom.intellij.java.ultimate.icons
Update code usages and make sure your plugin depends on the Java plugin.
com.intellij.psi.xml.HtmlFileElementType.getHtmlStubVersion()
method removedUse
com.intellij.xml.HtmlLanguageStubVersionUtil.getHtmlStubVersion()
instead.com.intellij.diff.util.ThreeSide.map(Function)
method parameter type changed fromcom.intellij.util.Function
tokotlin.jvm.functions.Function1
Use
kotlin.jvm.functions.Function1
as a parameter.- The experimental
com.intellij.webSymbols
package together with all the classes and extension points has been renamed tocom.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 extendsPolySymbolScope
PolySymbol
interface no longer contains documentation-specific properties (description
,docUrl
,sections
anddefaultValue
), insteadgetDocumentationTarget
method should be overridden and the newPolySymbolDocumentationTarget.create
method used to lazily build documentation for the symbolPolySymbol
no longer hasabstract
,required
andvirtual
properties. They've been replaced by a more genericmodifiers
propertyPolySymbol
no longer hasproperties
property, which returned a map of properties. It's been replaced byget
method, which should return value for the requested property.PolySymbol
no longer hasattributeValue
property, insteadget
method should be overridden to return the value forcom.intellij.polySymbols.html.PROP_HTML_ATTRIBUTE_VALUE
propertyThe
WebSymbolsQueryConfigurator$getScope
has been removed and replaced with a pattern-basedPolySymbolQueryScopeContributor
APIThe
PolySymbolDelegate
andPsiSourcePolySymbolDelegate
are interfaces nowAll APIs have been refactored to use
PolySymbolQualifiedKind
instead of separate parametersnamespace
andkind
Builder patterns have been introduced in various classes, like
PolySymbolQueryExecutor
,PolySymbolQueryParams
, orPolySymbolDocumentation
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.
Package Checker 2025.2
com.intellij.packageChecker.api.PackageDeclaration(Package)
method parameter type changed fromorg.jetbrains.security.package.Package
tocom.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 fromorg.jetbrains.security.package.Package
tocom.intellij.packageChecker.model.Package
Use
com.intellij.packageChecker.model.Package
as a parameter.com.intellij.packageChecker.api.PackageDeclaration.getPkg()
method return type changed fromorg.jetbrains.security.package.Package
tocom.intellij.packageChecker.model.Package
Update code usages.
com.intellij.packageChecker.PackagesInterner.intern(Package)
method parameter type changed fromorg.jetbrains.security.package.Package
tocom.intellij.packageChecker.model.Package
Use
com.intellij.packageChecker.model.Package
as a parameter.com.intellij.packageChecker.PackagesInterner.intern(Package)
method return type changed fromorg.jetbrains.security.package.Package
tocom.intellij.packageChecker.model.Package
Update code usages.
JavaScript and TypeScript Plugin 2025.2
com.intellij.lang.javascript.JSStubElementTypes.DEFINITION_EXPRESSION
field type changed fromcom.intellij.lang.javascript.psi.JSStubElementType
tocom.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.XML_ATTRIBUTE
field type changed fromcom.intellij.psi.stubs.IStubElementType
tocom.intellij.psi.tree.IElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.XML_JS_SCRIPT
field type changed fromcom.intellij.psi.tree.IElementType
tocom.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.ES6_EMBEDDED_CONTENT
field type changed fromcom.intellij.psi.tree.IElementType
tocom.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.VARIABLE
field type changed fromcom.intellij.lang.javascript.psi.JSStubElementType
tocom.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.LITERAL_EXPRESSION
field type changed fromcom.intellij.lang.javascript.psi.JSStubElementType
tocom.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.EMBEDDED_EXPRESSION
field type changed fromcom.intellij.psi.tree.IElementType
tocom.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.typescript.TypeScriptStubElementTypes.TYPESCRIPT_VARIABLE
field type changed fromcom.intellij.lang.javascript.psi.JSStubElementType
tocom.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.ARRAY_LITERAL_EXPRESSION
field type changed fromcom.intellij.lang.javascript.psi.JSStubElementType
tocom.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.CALL_EXPRESSION
field type changed fromcom.intellij.lang.javascript.psi.JSStubElementType
tocom.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.ecmascript6.ES6StubElementTypes.FIELD_STATEMENT
field type changed fromcom.intellij.lang.javascript.psi.JSStubElementType
tocom.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
com.intellij.lang.javascript.JSStubElementTypes.EMBEDDED_CONTENT
field type changed fromcom.intellij.psi.tree.IElementType
tocom.intellij.lang.javascript.psi.JSElementType
Recompile code usages.
org.jetbrains.vuejs.lang.expr.VueJSLanguage.Companion
class removedUse
org.jetbrains.vuejs.lang.expr.VueJSLanguage
instead.
Kubernetes Plugin 2025.2
com.intellij.kubernetes.api.KubernetesApiProvider.getInstance(Project)
method return type changed fromcom.intellij.kubernetes.api.KubernetesApiProvider
tocom.intellij.kubernetes.api.KubernetesApiProviderInterface
Update code usages.
com.intellij.kubernetes.api.KubernetesApiProvider.State
class renamed tocom.intellij.kubernetes.api.KubernetesApiProviderInterface.KubeconfigState
Update code usages.
2025.1
IntelliJ Platform 2025.1
- Code scheduled with
SwingUtilities.invokeLater
andSwingUtilities.invokeAndWait
does not hold the write-intent lock Consider using an explicit wrapping with
ReadAction.compute()
orWriteAction.run(ThrowableRunnable<E>)
. See Threading Model.- Coroutines running under
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 interfaceUse
XmlTokenType
constants directly.- Class
com.intellij.psi.xml.XmlElementType
no longer extendscom.intellij.psi.xml.XmlTokenType
Update code usages.
filetype.xml.description
property removed from resource bundlemessages.XmlPsiBundle
Use property from resource bundle
messages.XmlParserBundle
xml.parsing.closing.tag.matches.nothing
property removed from resource bundlemessages.XmlPsiBundle
Use property from resource bundle
messages.XmlParserBundle
xml.parsing.unclosed.attribute.value
property removed from resource bundlemessages.XmlPsiBundle
Use property from resource bundle
messages.XmlParserBundle
xml.parsing.unescaped.ampersand.or.nonterminated.character.entity.reference
property removed from resource bundlemessages.XmlPsiBundle
Use property from resource bundle
messages.XmlParserBundle
Database Plugin 2025.1
com.intellij.database.view.models
package removedOld 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 removedOld 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 removedOld 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 removedOld 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 removedOld 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 removedOld table modification dialog was finally removed. Use
com.intellij.database.actions.ddl.ModifyObjectAction.showDialog()
for new dialog invocation.
External System 2025.1
com.intellij.openapi.externalSystem.service.internal.ExternalSystemProcessingManager
class now interfaceRecompile code usages.
JavaScript and TypeScript Plugin 2025.1
com.intellij.lang.javascript.service.JSAsyncLanguageServiceBase.JSLanguageServiceInfoReporter
class moved to packagecom.intellij.lang.javascript.service
Update all usages
com.intellij.lang.javascript.JSElementTypes.toModuleContentType(IElementType type)
method removedUse
com.intellij.lang.javascript.JSModuleContentType.toModuleContentType(IElementType type)
method insteadcom.intellij.lang.javascript.BaseJSTokenTypes
class removedUse
com.intellij.lang.javascript.JSTokenTypes
class insteadcom.intellij.lang.javascript.highlighting.TypeScriptHighlighter(DialectOptionHolder dialectOptionsHolder, boolean skipKeywordHighlights)
constructor removedUse constructor without
skipKeywordHighlights
parametercom.intellij.lang.javascript.dialects.ECMA6SyntaxHighlighterFactory.ECMA6SyntaxHighlighter(DialectOptionHolder dialectOptionsHolder, boolean skipKeywordHighlights)
constructor removedUse constructor without
skipKeywordHighlights
parametercom.intellij.lang.javascript.highlighting.JSHighlighter(DialectOptionHolder dialectOptionsHolder, boolean skipKeywordHighlights)
constructor removedUse constructor without
skipKeywordHighlights
parameter
Kotlin Plugin 2025.1
org.jetbrains.kotlin.KtFakeSourceElement
class renamed toorg.jetbrains.kotlin.KtFakePsiSourceElement
Update code usages.
org.jetbrains.kotlin.ir.linkage.IrDeserializer.IrLinkerExtension
class removedThis class was removed from the Kotlin compiler and is no longer available.
org.jetbrains.kotlin.ir.builders.TranslationPluginContext
class removedThis 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 removedRecompile code usages.
Remote Development 2025.1
com.jetbrains.rd.ide.model.AddToGroupRuleModel
class removedRemove all usages.
com.jetbrains.rd.ide.model.ActionConstraintModel
class removedRemove all usages.
Terminal Plugin 2025.1
com.jediterm.terminal.model.TextBufferChangesListener.historyCleared()
abstract method addedMust be implemented.
com.intellij.terminal.ui.TerminalWidget.connectToSession(TerminalSession session)
abstract method addedMust be implemented.
com.intellij.terminal.ui.TerminalWidget.getSession()
abstract method addedMust be implemented.
com.intellij.terminal.ui.TerminalWidget.getTerminalSizeInitializedFuture()
abstract method addedMust be implemented.