Incompatible Changes in IntelliJ Platform and Plugins API 2026.*
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.
2026.1
IntelliJ Platform 2026.1
- AWT input event handlers no longer run under write-intent lock
Custom input handlers (
KeyListener,MouseAdapter, etc.) no longer execute under the write-intent lock. If PSI or other write-intent-protected data needs to be accessed in these handlers, explicitly acquire a read action usingReadAction.nonBlocking().submit()or coroutine-based equivalents such asreadAction {}.
PolySymbols
com.intellij.polySymbols.PolySymbol.getOrigin()method removedThe property was confusing and in many cases was not used. Its functionality is replaced by:
frameworkproperty - providecom.intellij.polySymbols.html.HtmlFrameworkSymbolsSupport.HtmlFrameworkIdPropertyvalue throughPolySymbol.Propertymechanism
defaultIconproperty - implementiconproperty and returntrueforPolySymbol.DocHideIconPropertythroughPolySymbol.Propertymechanism
typeSupportproperty - providecom.intellij.polySymbols.utils.PolySymbolTypeSupport.TypeSupportPropertyvalue throughPolySymbol.Propertymechanism
com.intellij.polySymbols.PolySymbolQualifiedKindclass renamed tocom.intellij.polySymbols.PolySymbolKindadditionally
nameproperty was renamed tokindNameandqualifiedKindproperties and parameters across the package were renamed tokind
The following classes no longer implement PsiModificationTracker (this requirement was confusing):
Implementing PsiModificationTracker was replaced by modificationTracker property for the following classes:
Java Plugin 2026.1
The Java plugin has been split into several modules with their own classloaders. This shouldn't affect plugins that use standard <depends>com.intellij.java</depends> dependency. If a plugin depends on specific Java plugin modules directly, the dependencies should be updated to reference the new module names.
2026.2
Kotlin Plugin 2026.2
K1 Plugin Removal
K1 Plugin was completely removed from the distribution. Any access to its classes or to the classes of the K1 Compiler Frontend would lead to runtime errors. The migration should be done according to the migration guide.
org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclarationclass removedorg.jetbrains.kotlin.asJava.classes.KtLightClassImplclass removedorg.jetbrains.kotlin.asJava.classes.KtUltraLightClassclass removedorg.jetbrains.kotlin.asJava.elements.KtLightMemberImplclass removedorg.jetbrains.kotlin.asJava.elements.KtLightPsiLiteralclass removedorg.jetbrains.kotlin.idea.actions.generate.KotlinGenerateMemberActionBaseclass removedorg.jetbrains.kotlin.idea.base.projectStructure.moduleInfo.ModuleSourceInfoclass removedorg.jetbrains.kotlin.idea.base.utils.fqname.FqNameUtilKtclass removedorg.jetbrains.kotlin.idea.caches.project.MultiplatformUtilKtclass removedorg.jetbrains.kotlin.idea.caches.resolve.util.JavaResolutionUtilsclass removedorg.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIdeclass removedorg.jetbrains.kotlin.idea.codeInsight.KtFunctionPsiElementCellRendererclass removedorg.jetbrains.kotlin.idea.codeInsight.ReferenceVariantsHelperclass removedorg.jetbrains.kotlin.idea.codeInsight.postfix.KtPostfixTemplateProviderKtclass removedorg.jetbrains.kotlin.idea.core.ShortenReferencesclass removedorg.jetbrains.kotlin.idea.core.UtilsKtclass removedorg.jetbrains.kotlin.idea.core.overrideImplement.GenerateMembersHandlerclass removedorg.jetbrains.kotlin.idea.core.overrideImplement.GenerateMembersHandler.Companionclass removedorg.jetbrains.kotlin.idea.core.overrideImplement.ImplementMembersHandlerclass removedorg.jetbrains.kotlin.idea.core.overrideImplement.OverrideMemberChooserObjectclass removedorg.jetbrains.kotlin.idea.gradleJava.compilerPlugin.AbstractCompilerPluginGradleImportHandlerclass removedorg.jetbrains.kotlin.idea.imports.ImportsUtilsclass removedorg.jetbrains.kotlin.idea.inspections.IntentionBasedInspectionKtclass removedorg.jetbrains.kotlin.idea.quickfix.KotlinIntentionActionsFactoryclass removedorg.jetbrains.kotlin.idea.quickfix.KotlinQuickFixActionclass removedorg.jetbrains.kotlin.idea.quickfix.KotlinSingleIntentionActionFactoryclass removedorg.jetbrains.kotlin.idea.quickfix.QuickFixContributorclass removedorg.jetbrains.kotlin.idea.quickfix.QuickFixesclass removedorg.jetbrains.kotlin.idea.quickfix.createFromUsage.CreateFromUsageFixBaseclass removedorg.jetbrains.kotlin.idea.refactoring.KotlinRefactoringUtilKtclass removedorg.jetbrains.kotlin.idea.refactoring.changeSignature.ChangeSignatureUtilsKtclass removedorg.jetbrains.kotlin.idea.refactoring.changeSignature.KotlinChangeInfoclass removedorg.jetbrains.kotlin.idea.refactoring.changeSignature.KotlinChangeSignatureDataclass removedorg.jetbrains.kotlin.idea.refactoring.changeSignature.KotlinMethodDescriptorclass removedorg.jetbrains.kotlin.idea.refactoring.memberInfo.MemberInfoUtilsKtclass removedorg.jetbrains.kotlin.idea.refactoring.safeDelete.KotlinSafeDeleteProcessorclass removedorg.jetbrains.kotlin.idea.search.usagesSearch.SearchHelpersKtclass removedorg.jetbrains.kotlin.idea.search.usagesSearch.UtilsKtclass removedorg.jetbrains.kotlin.idea.util.CallTypeAndReceiverclass removedorg.jetbrains.kotlin.idea.util.IdeDescriptorRenderersclass removedorg.jetbrains.kotlin.idea.util.ImportInsertHelperclass removedorg.jetbrains.kotlin.idea.util.ImportInsertHelper.Companionclass removedorg.jetbrains.kotlin.idea.util.ModifierListModifactorKtclass removedorg.jetbrains.kotlin.idea.util.TypeUtilsclass removedorg.jetbrains.kotlin.j2k.UtilsKtclass removedorg.jetbrains.kotlin.resolve.lazy.BodyResolveModeclass removedorg.jetbrains.kotlin.util.DescriptorUtilsKtclass removedorg.jetbrains.kotlin.asJava.KotlinAsJavaSupport.getLightClass(KtClassOrObject)method removedorg.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.analyze$default(KtElement, BodyResolveMode, int, Object)method removedorg.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.analyze(KtElement, BodyResolveMode)method removedorg.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.getResolutionFacade(KtElement)method removedorg.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.resolveImportReference(KtFile, FqName)method removedorg.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.resolveToCall$default(KtElement, BodyResolveMode, int, Object)method removedorg.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.resolveToDescriptorIfAny$default(KtClassOrObject, BodyResolveMode, int, Object)method removedorg.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.resolveToDescriptorIfAny$default(KtDeclaration, BodyResolveMode, int, Object)method removedorg.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.resolveToDescriptorIfAny$default(KtNamedFunction, BodyResolveMode, int, Object)method removedorg.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.resolveToDescriptorIfAny$default(KtProperty, BodyResolveMode, int, Object)method removedorg.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.resolveToDescriptorIfAny(KtDeclaration, BodyResolveMode)method removedorg.jetbrains.kotlin.idea.util.CommentSaver.restore$default(CommentSaver, PsiElement, boolean, int, Object)method removedorg.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsKt.getJetTypeFqName(KotlinType, boolean)method removedorg.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsKt.getNameIfStandardType(KotlinType)method removed