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.
note
Non-listed changesChanges from API marked with
@Deprecated(forRemoval=true)
or any ofApiStatus
@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.
note
IDE and Java VersionsJava version must be set depending on the target platform version.
2024.2+: Java 21
2022.3+: Java 17
See Platform Versions for details.
warning
Gradle PluginThe Gradle plugin must be chosen depending on the target platform version.
- 2022.3+
Recommended IntelliJ Platform Gradle Plugin (2.x),
Requires Gradle IntelliJ Plugin (1.x) version 1.10.1+ (current: 1.17.4)
- 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.- 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
com.jediterm.terminal.model.TextBufferChangesListener.historyCleared()
abstract method addedMust be implemented.
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.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
parameter