16 KiB
Incompatible Changes in IntelliJ Platform and Plugins API 2024.*
List of known Breaking API Changes in 2024.*
2024.1
IntelliJ Platform 2024.2
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)
andcom.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 packagecom.intellij.commandInterface.commandLine.psi
- Update code usages.
com.jetbrains.commandInterface.commandLine.CommandLineLanguage
class moved to packagecom.intellij.commandInterface.commandLine
- Update code usages.
com.jetbrains.commandInterface.commandLine.psi.CommandLineArgument
class moved to packagecom.intellij.commandInterface.commandLine.psi
- Update code usages.
com.jetbrains.commandInterface.commandLine.psi.CommandLineOption
class moved to packagecom.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. Implementcom.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. Implementcom.intellij.vcs.log.VcsLogFileHistoryHandler#getSupportedFilters
to specify which filters are supported by this extension (currently, branch filter, revision filter and range filter are available). - Method
com.intellij.psi.util.PsiTreeUtilKt.getFirstLeaf(PsiElement)
renamed tocom.intellij.psi.util.PsiTreeUtilKt.firstLeaf(PsiElement)
- Update code usages.
- Method
com.intellij.psi.util.PsiTreeUtilKt.getLastLeaf(PsiElement)
renamed tocom.intellij.psi.util.PsiTreeUtilKt.lastLeaf(PsiElement)
- Update code usages.
- Method
com.intellij.psi.util.PsiTreeUtilKt.getChildLeafs(PsiElement)
renamed tocom.intellij.psi.util.PsiTreeUtilKt.childLeafs(PsiElement)
- Update code usages.
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 fromProjectJdkImpl
toSdk
- Update code usages.
com.intellij.openapi.projectRoots.impl.SdkConfigurationUtil.createSdk(Collection<Sdk>, VirtualFile, SdkType, SdkAdditionalData, String)
method return type changed fromProjectJdkImpl
toSdk
- Update code usages.
Java Plugin 2024.1
com.intellij.lang.properties.RemovePropertyLocalFix
class removed- Use
com.intellij.codeInsight.daemon.impl.quickfix.DeleteElementFix
instead. com.intellij.psi.util.PsiUtil#isLanguageLevel10OrHigher()
method removed- It's recommended to use a new method
com.intellij.psi.util.PsiUtil#isAvailable()
instead to check whether a particular feature is available, rather than to check against a language level. If you still need an explicit language level check, you may usePsiUtil.getLanguageLevel(element).isAtLeast(level)
. com.intellij.psi.util.PsiUtil#isLanguageLevel11OrHigher()
method removed- It's recommended to use a new method
com.intellij.psi.util.PsiUtil#isAvailable()
instead to check whether a particular feature is available, rather than to check against a language level. If you still need an explicit language level check, you may usePsiUtil.getLanguageLevel(element).isAtLeast(level)
. com.intellij.psi.util.PsiUtil#isLanguageLevel14OrHigher()
method removed- It's recommended to use a new method
com.intellij.psi.util.PsiUtil#isAvailable()
instead to check whether a particular feature is available, rather than to check against a language level. If you still need an explicit language level check, you may usePsiUtil.getLanguageLevel(element).isAtLeast(level)
. com.intellij.psi.util.PsiUtil#isLanguageLevel16OrHigher()
method removed- It's recommended to use a new method
com.intellij.psi.util.PsiUtil#isAvailable()
instead to check whether a particular feature is available, rather than to check against a language level. If you still need an explicit language level check, you may usePsiUtil.getLanguageLevel(element).isAtLeast(level)
. com.intellij.psi.util.PsiUtil#isLanguageLevel17OrHigher()
method removed- It's recommended to use a new method
com.intellij.psi.util.PsiUtil#isAvailable()
instead to check whether a particular feature is available, rather than to check against a language level. If you still need an explicit language level check, you may usePsiUtil.getLanguageLevel(element).isAtLeast(level)
.
Django Plugin 2024.1
- Package
com.jetbrains.jinja2
renamed tocom.intellij.jinja
- Update code usages.
Restructured Text Plugin 2024.1
com.jetbrains.rest.RestLanguage
class moved to packagecom.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
org.jetbrains.kotlin.ir.visitors.IrElementVisitor.visitReturnableBlock(returnableBlock: IrReturnableBlock, data: D)
abstract method added
org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid.visitInlinedFunctionBlock(inlinedFunctionBlock: IrInlinedFunctionBlock)
abstract method added
org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid.visitInlinedFunctionBlock(inlinedFunctionBlock: IrInlinedFunctionBlock, data: Nothing?)
abstract method added
org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid.visitReturnableBlock(returnableBlock: IrReturnableBlock)
abstract method added
org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid.visitReturnableBlock(retunrableBlock: IrReturnableBlock, data: Nothing?)
abstract method added
org.jetbrains.kotlin.fir.expressions.FirConstExpression
class renamed org.jetbrains.kotlin.fir.expressions.FirLiteralExpression
org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin.DELEGATE
class removedorg.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin.Companion.DELEGATE
should be used insteadorg.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin.DELEGATED_MEMBER
class removedorg.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin.Companion.DELEGATED_MEMBER
should be used insteadorg.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
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. Seea3b55cf758/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrDeclarationOrigin.kt (L20)
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(repos: List, explicit: 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: Project)