intellij-sdk-code-samples/reference_guide/api_changes_list_2024.md
Ilya Kazakevich 7e5eebf490
com.jetbrains.python.facet removed (#1255)
* `com.jetbrains.python.facet` removed

* Update reference_guide/api_changes_list_2024.md

Co-authored-by: Karol Lewandowski <karol86@gmail.com>

---------

Co-authored-by: Karol Lewandowski <karol86@gmail.com>
Co-authored-by: Yann Cébron <yann.cebron@jetbrains.com>
2024-03-11 09:43:23 +01:00

15 KiB

Incompatible Changes in IntelliJ Platform and Plugins API 2024.*

List of known Breaking API Changes in 2024.*

2024.1

IntelliJ Platform 2024.2

com.jetbrains.django.testRunner package removed
Private package is no longer available as an API.

IntelliJ Platform 2024.1

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.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.
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

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 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

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 a3b55cf758/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(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.

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

org.intellij.plugins.markdown.ui.split.SplitTextEditorProvider class removed
Use com.intellij.openapi.fileEditor.TextEditorWithPreviewProvider instead.