IntelliJ Platform Plugin SDK Help

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 using ReadAction.nonBlocking().submit() or coroutine-based equivalents such as readAction {}.

PolySymbols

com.intellij.polySymbols.PolySymbol.getOrigin() method removed

The property was confusing and in many cases was not used. Its functionality is replaced by:

  • framework property - provide com.intellij.polySymbols.html.HtmlFrameworkSymbolsSupport.HtmlFrameworkIdProperty value through PolySymbol.Property mechanism

  • defaultIcon property - implement icon property and return true for PolySymbol.DocHideIconProperty through PolySymbol.Property mechanism

  • typeSupport property - provide com.intellij.polySymbols.utils.PolySymbolTypeSupport.TypeSupportProperty value through PolySymbol.Property mechanism

com.intellij.polySymbols.PolySymbolQualifiedKind class renamed to com.intellij.polySymbols.PolySymbolKind

additionally name property was renamed to kindName and qualifiedKind properties and parameters across the package were renamed to kind

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.KtLightClassForSourceDeclaration class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.asJava.classes.KtLightClassImpl class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.asJava.classes.KtUltraLightClass class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.asJava.elements.KtLightMemberImpl class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.asJava.elements.KtLightPsiLiteral class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.actions.generate.KotlinGenerateMemberActionBase class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.base.projectStructure.moduleInfo.ModuleSourceInfo class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.base.utils.fqname.FqNameUtilKt class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.caches.project.MultiplatformUtilKt class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.caches.resolve.util.JavaResolutionUtils class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.codeInsight.KtFunctionPsiElementCellRenderer class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.codeInsight.ReferenceVariantsHelper class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.codeInsight.postfix.KtPostfixTemplateProviderKt class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.core.ShortenReferences class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.core.UtilsKt class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.core.overrideImplement.GenerateMembersHandler class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.core.overrideImplement.GenerateMembersHandler.Companion class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMembersHandler class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.core.overrideImplement.OverrideMemberChooserObject class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.gradleJava.compilerPlugin.AbstractCompilerPluginGradleImportHandler class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.imports.ImportsUtils class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.inspections.IntentionBasedInspectionKt class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.quickfix.KotlinIntentionActionsFactory class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.quickfix.KotlinQuickFixAction class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.quickfix.KotlinSingleIntentionActionFactory class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.quickfix.QuickFixContributor class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.quickfix.QuickFixes class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.quickfix.createFromUsage.CreateFromUsageFixBase class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.refactoring.KotlinRefactoringUtilKt class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.refactoring.changeSignature.ChangeSignatureUtilsKt class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.refactoring.changeSignature.KotlinChangeInfo class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.refactoring.changeSignature.KotlinChangeSignatureData class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.refactoring.changeSignature.KotlinMethodDescriptor class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.refactoring.memberInfo.MemberInfoUtilsKt class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.refactoring.safeDelete.KotlinSafeDeleteProcessor class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.search.usagesSearch.SearchHelpersKt class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.search.usagesSearch.UtilsKt class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.util.CallTypeAndReceiver class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.util.ImportInsertHelper class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.util.ImportInsertHelper.Companion class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.util.ModifierListModifactorKt class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.util.TypeUtils class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.j2k.UtilsKt class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.resolve.lazy.BodyResolveMode class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.util.DescriptorUtilsKt class removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.asJava.KotlinAsJavaSupport.getLightClass(KtClassOrObject) method removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.analyze$default(KtElement, BodyResolveMode, int, Object) method removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.analyze(KtElement, BodyResolveMode) method removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.getResolutionFacade(KtElement) method removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.resolveImportReference(KtFile, FqName) method removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.resolveToCall$default(KtElement, BodyResolveMode, int, Object) method removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.resolveToDescriptorIfAny$default(KtClassOrObject, BodyResolveMode, int, Object) method removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.resolveToDescriptorIfAny$default(KtDeclaration, BodyResolveMode, int, Object) method removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.resolveToDescriptorIfAny$default(KtNamedFunction, BodyResolveMode, int, Object) method removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.resolveToDescriptorIfAny$default(KtProperty, BodyResolveMode, int, Object) method removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils.resolveToDescriptorIfAny(KtDeclaration, BodyResolveMode) method removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.idea.util.CommentSaver.restore$default(CommentSaver, PsiElement, boolean, int, Object) method removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsKt.getJetTypeFqName(KotlinType, boolean) method removed

Migrate to K2 (Analysis API).

org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsKt.getNameIfStandardType(KotlinType) method removed

Migrate to K2 (Analysis API).

18 June 2026