IntelliJ Platform Plugin SDK Help

Incompatible Changes in IntelliJ Platform and Plugins API 2024.*

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.

2024.2

IntelliJ Platform 2024.2

org.apache.sanselan.util package removed

org.apache.sanselan.util.IOUtils compatibility shim is obsolete; instead, please use JRE methods or org.apache.commons.io.IOUtils.

2024.1

IntelliJ Platform 2024.1

com.intellij.refactoring.RefactoringHelper.prepareOperation(UsageInfo [] usages, List<PsiElement> elements) abstract method added

Use instead of com.intellij.refactoring.RefactoringHelper.prepareOperation(UsageInfo [] usages) and com.intellij.refactoring.RefactoringHelper.prepareOperation(UsageInfo [] usages, PsiElement primaryElement).

com.intellij.refactoring.RefactoringHelper.prepareOperation(UsageInfo [] usages) method removed

Use com.intellij.refactoring.RefactoringHelper.prepareOperation(UsageInfo [] usages, List<PsiElement> elements) instead.

com.intellij.refactoring.RefactoringHelper.prepareOperation(UsageInfo [] usages, PsiElement primaryElement) method removed

Use com.intellij.refactoring.RefactoringHelper.prepareOperation(UsageInfo [] usages, List<PsiElement> elements) instead.

com.jetbrains.commandInterface.commandLine.psi.CommandLineFile class moved to package com.intellij.commandInterface.commandLine.psi

Update code usages.

com.jetbrains.commandInterface.commandLine.CommandLineLanguage class moved to package com.intellij.commandInterface.commandLine

Update code usages.

com.jetbrains.commandInterface.commandLine.psi.CommandLineArgument class moved to package com.intellij.commandInterface.commandLine.psi

Update code usages.

com.jetbrains.commandInterface.commandLine.psi.CommandLineOption class moved to package com.intellij.commandInterface.commandLine.psi

Update code usages.

com.intellij.application.options.editor.CodeFoldingConfigurable.applyCodeFoldingSettingsChanges() method removed

Use top-level method CodeFoldingConfigurableKt.applyCodeFoldingSettingsChanges instead.

com.intellij.ide.bookmark.providers.LineBookmarkProvider.Companion class removed

Use com.intellij.ide.bookmark.providers.LineBookmarkProvider.Util instead.

com.intellij.execution.process.mediator.util package removed

The sole extension method Deferred<T>.blockingGet() contained in this package is an anti-pattern, and was not supposed to be exposed in the first place. The process mediator and the elevation service are now product modules, and no longer part of the platform.

com.intellij.vcs.log.VcsLogFileHistoryHandler.getSupportedVcs() abstract method added

Must be implemented.

com.intellij.vcs.log.VcsLogFileHistoryHandler.getHistoryFast(root: VirtualFile, filePath: FilePath, hash: Hash?, filters: VcsLogFilterCollection, commitCount: Int) abstract method added

Parameter filters: VcsLogFilterCollection was added to provide filtering capabilities to file history. Implement com.intellij.vcs.log.VcsLogFileHistoryHandler.getSupportedFilters to specify which filters are supported by this extension (currently, branch filter, revision filter and range filter are available).

com.intellij.vcs.log.VcsLogFileHistoryHandler.collectHistory(root: VirtualFile, filePath: FilePath, hash: Hash?, filters: VcsLogFilterCollection, consumer) abstract method added

Parameter filters: VcsLogFilterCollection was added to provide filtering capabilities to file history. Implement com.intellij.vcs.log.VcsLogFileHistoryHandler.getSupportedFilters to specify which filters are supported by this extension (currently, branch filter, revision filter and range filter are available).

org.apache.tools package removed

Please provide all necessary libraries in your plugin distribution.

com.intellij.openapi.projectRoots.impl.ProjectJdkImpl.readExternal(Element, ProjectJdkTable) method removed

Use com.intellij.openapi.projectRoots.impl.ProjectJdkImpl.readExternal(Element, Function<String, SdkTypeId>) instead.

com.intellij.openapi.projectRoots.impl.SdkConfigurationUtil.createSdk(Collection<Sdk>, String, SdkType, SdkAdditionalData, String) method return type changed from ProjectJdkImpl to Sdk

Update code usages.

com.intellij.openapi.projectRoots.impl.SdkConfigurationUtil.createSdk(Collection<Sdk>, VirtualFile, SdkType, SdkAdditionalData, String) method return type changed from ProjectJdkImpl to Sdk

Update code usages.

Class com.intellij.diff.editor.DiffVirtualFile now extends com.intellij.diff.editor.DiffViewerVirtualFile and inherits its abstract method com.intellij.diff.editor.DiffViewerVirtualFile.createViewer(Project)

Update code usages.

com.intellij.diff.tools.combined.CombinedDiffVirtualFile.getSourceId() method removed

Update code usages.

com.intellij.diff.tools.combined.CombinedDiffModel interface removed

Use com.intellij.diff.tools.combined.CombinedDiffModel class instead.

com.intellij.diff.tools.combined.CombinedDiffVirtualFile.createViewer(Project) abstract method added

Must be implemented.

com.intellij.openapi.util.io.NioPathUtil.isAncestor(Path, Path, boolean) method removed

Use Path.startsWith() instead.

com.intellij.util.CachedValueBase.setData(CachedValueBase.Data) abstract method added

Must be implemented.

com.intellij.util.CachedValueBase.getRawData() abstract method added

Must be implemented.

Visibility of class com.intellij.util.CachedValuesFactory changed from public to internal

The class is not supposed to be used directly.

com.intellij.ui.popup.ActionPopupStep.performAction(AnAction, InputEvent) method parameter type changed from AnAction to ActionItem

Use com.intellij.ui.popup.ActionPopupStep.performActionItem(ActionItem, InputEvent) instead.

com.intellij.openapi.actionSystem.AnAction.getTemplateText() method marked final

Use AnAction.getTemplatePresentation().setText() instead.

com.intellij.openapi.actionSystem.ActionGroup.isPopup() method marked final

Use ActionGroup.getTemplatePresentation().setPopupGroup(boolean) instead.

com.intellij.webcore.packaging.InstalledPackagesPanel.myInstallButton field removed

Use InstalledPackagesPanel.myInstallEnabled instead.

UML Plugin 2024.1

com.intellij.uml.core.actions.ShowDiagramBase.findProviders(AnActionEvent, DiagramProvider, BiFunction) method removed

Use com.intellij.uml.core.actions.ShowDiagramBase.findProviders(DiagramProvider<?>, BiFunction<? super DiagramProvider<?>,? super DataContext,java.lang.Object>, DataContext) instead.

Java Plugin 2024.1

com.intellij.lang.properties.RemovePropertyLocalFix class removed

Use com.intellij.codeInsight.daemon.impl.quickfix.DeleteElementFix instead.

Django Plugin 2024.1

Package com.jetbrains.jinja2 renamed to com.intellij.jinja

Update code usages.

Restructured Text Plugin 2024.1

com.jetbrains.rest.RestLanguage class moved to package com.intellij.python.reStructuredText

Update code usages.

GitHub Plugin 2024.1

org.jetbrains.plugins.github.pullrequest.comment.GHPRDiffReviewSupport class removed

Migrated to MVVM.

org.jetbrains.plugins.github.pullrequest.comment.GHPRDiffReviewSupport.Companion class removed

Migrated to MVVM.

org.jetbrains.plugins.github.pullrequest.action.GHPRActionKeys.getPULL_REQUEST_DATA_PROVIDER() method removed

Migrated to MVVM, hidden implementation details.

Kotlin Plugin 2024.1

org.jetbrains.kotlin.ir.visitors.IrElementVisitor.visitInlinedFunctionBlock(inlinedFunctionBlock: IrInlinedFunctionBlock, data: D) abstract method added

Update code usages.

org.jetbrains.kotlin.ir.visitors.IrElementVisitor.visitReturnableBlock(returnableBlock: IrReturnableBlock, data: D) abstract method added

Update code usages.

org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid.visitInlinedFunctionBlock(inlinedFunctionBlock: IrInlinedFunctionBlock) abstract method added

Update code usages.

org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid.visitInlinedFunctionBlock(inlinedFunctionBlock: IrInlinedFunctionBlock, data: Nothing?) abstract method added

Update code usages.

org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid.visitReturnableBlock(returnableBlock: IrReturnableBlock) abstract method added

Update code usages.

org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid.visitReturnableBlock(retunrableBlock: IrReturnableBlock, data: Nothing?) abstract method added

Update code usages.

org.jetbrains.kotlin.fir.expressions.FirConstExpression class renamed org.jetbrains.kotlin.fir.expressions.FirLiteralExpression

Update code usages.

org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin.DELEGATE class removed

org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin.Companion.DELEGATE should be used instead.

org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin.DELEGATED_MEMBER class removed

org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin.Companion.DELEGATED_MEMBER should be used instead.

org.jetbrains.kotlin.config.JvmDefaultMode.DEFAULT field removed

Use org.jetbrains.kotlin.config.JvmDefaultMode.DISABLE.

Method org.jetbrains.kotlin.backend.common.lower.LocalDeclarationsLoweringKt.getParentsWithSelf(IrDeclaration) renamed to org.jetbrains.kotlin.ir.util.IrUtilsKt.getParentsWithSelf

Update code usages.

org.jetbrains.kotlin.daemon.common.CompileService.Companion.getNO_SESSION() method removed

Use org.jetbrains.kotlin.daemon.common.CompileService.NO_SESSION const instead.

Class org.jetbrains.kotlin.ir.declarations.IrDeclarationOriginImpl made final

Create a new IrDeclarationOrigin by delegation. See https://github.com/JetBrains/kotlin/blob/a3b55cf758f3a7ceb596f65507c2f61ada5266af/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrDeclarationOrigin.kt#L20.

org.jetbrains.kotlin.idea.refactoring.introduce.extractFunction.ExtractKotlinFunctionHandlerKt class removed

Use com.intellij.lang.refactoring.RefactoringSupportProvider.getExtractMethodHandler instead to invoke Kotlin extract function refactoring

Maven Plugin 2024.1

org.jetbrains.idea.maven.indices.MavenIndex.getUpdateTimestamp() method removed

Use org.jetbrains.idea.maven.indices.MavenIndexImpl.getUpdateTimestamp() instead. MavenIndex is an obsolete interface now with MavenIndexImpl as the only implementation, consider using MavenGAVIndex to get information about available Maven GAV coordinates, or MavenSearchIndex to search Maven artifacts by content.

org.jetbrains.idea.maven.indices.MavenIndex.getFailureMessage() method removed

Use org.jetbrains.idea.maven.indices.MavenIndexImpl.getFailureMessage() instead. MavenIndex is an obsolete interface now with MavenIndexImpl as the only implementation, consider using MavenGAVIndex to get information about available Maven GAV coordinates, or MavenSearchIndex to search Maven artifacts by content.

org.jetbrains.idea.maven.indices.MavenIndex.getRepositoryPathOrUrl() method removed

Use org.jetbrains.idea.maven.indices.MavenRepositoryIndex.getRepository().getUrl() instead. Also, MavenRepositoryInfo.getKind() could be used to distinguish between local and remote repo.

org.jetbrains.idea.maven.indices.MavenIndicesManager.scheduleUpdateContent(List<MavenIndex>, boolean) method removed

Use org.jetbrains.idea.maven.indices.searcher.MavenLuceneIndexer.update(List<MavenRepositoryInfo>, Boolean) to update content for lucene indices. You should not care of GAV indices update.

org.jetbrains.idea.maven.indices.MavenIndicesManager.scheduleUpdateIndicesList(Consumer<MavenIndex>) method removed

Use org.jetbrains.idea.maven.indices.searcher.MavenIndicesManager.scheduleUpdateIndicesList() to update an indices list for a specific project. To get all search indices for specific project use MavenSystemIndicesManager.getClassIndexForRepository(), you can get a list of all repositories with MavenIndexUtils.getAllRepositories(Project).

Database Plugin 2024.1

com.intellij.database.datagrid.DataGrid.getLocalFilterState() abstract method added

Only recompilation is needed for classes that implement DataGrid and delegate calls to an actual DataGrid implementation.

com.intellij.database.datagrid.DataGrid.getColumnAttributes() abstract method added

Only recompilation is needed for classes that implement DataGrid and delegate calls to an actual DataGrid implementation.

com.intellij.sql.psi.SqlTableExpression.getSqlType() method removed

Use getDasType() instead

HTTP Client Plugin 2024.1

com.intellij.httpClient.actions.generation.RequestUrlContextInfo(requestContextData: RequestContextData) constructor parameter removed

Use com.intellij.httpClient.actions.generation.RequestBody and com.intellij.httpClient.actions.generation.HttpRequestUrlPathInfo.Companion.create() to describe a request body that will be coomputed lazily during the corresponding request generation.

Markdown Plugin 2024.1

org.intellij.plugins.markdown.ui.split package removed

Update code usages.

org.intellij.plugins.markdown.ui.split.SplitTextEditorProvider class removed

Use com.intellij.openapi.fileEditor.TextEditorWithPreviewProvider instead.

Python Plugin 2024.1

com.jetbrains.extensions.ModuleExt class moved to package com.jetbrains.python.extensions

Update code usages.

com.jetbrains.extensions.QualifiedNameExt class moved to package com.jetbrains.python.extensions

Update code usages.

com.jetbrains.extensions.python.PyCallExpressionExt class moved to package com.jetbrains.python.extensions.python

Update code usages.

com.jetbrains.extensions.python.FileChooserDescriptorExtKt class moved to package com.jetbrains.python.extensions

Update code usages.

com.jetbrains.python.module.PythonModuleBuilder class moved to package com.intellij.python.community.plugin.java.facet

Update code usages.

com.jetbrains.python.facet package removed

Private package is no longer available as an API.

com.jetbrains.python.debugger.remote package removed

Private package is no longer available as an API.

com.jetbrains.django.util.DjangoUtil class removed

Private class is no longer available as an API.

com.jetbrains.django.testRunner package removed

Private package is no longer available as an API.

JavaScript Plugin 2024.1

com.intellij.lang.javascript.documentation.JSDocumentationProvider.generateDoc(PsiElement, PsiElement) method marked final

Override com.intellij.lang.javascript.documentation.JSDocumentationProvider.generateDoc(PsiElement, PsiElement, Ref<String>) instead

Rd Framework 2024.1

com.jetbrains.rd.framework.IMarshaller.DefaultImpls.getId(IMarshaller) method removed

Due to RdId becoming a value class, the getId method is removed at runtime, causing unresolved method invocations. Use the method that returns long in Java and recompile the Kotlin code.

com.jetbrains.rd.framework.RdId.write(AbstractBuffer) method removed

Due to RdId becoming a value class, the getId method is removed at runtime, causing unresolved method invocations. Use AbstractBuffer.writeLong(long) method in Java and recompile the Kotlin code.

org.digma.intellij.plugin.rider.protocol.LensPerObjectId.getRdid() method removed

Due to RdId becoming a value class, the getId method is removed at runtime, causing unresolved method invocations. Use the method that returns long in Java and recompile the Kotlin code.

com.jetbrains.rd.framework.RdId.Companion.read(AbstractBuffer) method removed

Due to RdId becoming a value class, the getId method is removed at runtime, causing unresolved method invocations. Use AbstractBuffer.readLong() method in Java and recompile the Kotlin code.

com.jetbrains.rd.framework.base.RdBindableBaseKt.withId(RdBindableBase, RdId) method removed

Due to RdId becoming a value class, the getId method is removed at runtime, causing unresolved method invocations. Use withId(RdBindableBase, long) method in Java and recompile the Kotlin code.

Last modified: 11 April 2024