mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-28 01:07:49 +08:00
24 KiB
24 KiB
Incompatible Changes in IntelliJ Platform and Plugins API 2024.*
List of known Breaking API Changes in 2024.*
2024.3
IntelliJ Platform 2024.3
com.intellij.psi.stubs.StubElement.getChildrenStubs()
method return type changed fromList<StubElement>
toList<StubElement<?>>
- Raw-type changed to a properly parameterized type. This is binary compatible change but may cause compilation errors. In most of the cases, it's enough to add
<?>
at the use site to fix the issue. - Unbundled JUnit library
- Add an explicit dependency in the plugin project.
2024.2
IntelliJ Platform 2024.2
Constructor of com.intellij.ui.tabs.TabInfo
requires not-null JComponent
argument.
com.intellij.execution.lineMarker.ExecutorAction.Companion.wrap(RunContextAction, Int)
method removed- Use
com.intellij.execution.lineMarker.ExecutorAction.Companion.wrap(AnAction, Executor, Int)
instead. org.apache.sanselan.util
package removedorg.apache.sanselan.util.IOUtils
compatibility shim is obsolete; instead, please use JRE methods ororg.apache.commons.io.IOUtils
.com.intellij.platform.workspace.storage.url.VirtualFileUrlManager.getOrCreateFromUri(String)
method removed- Use
com.intellij.platform.workspace.storage.url.VirtualFileUrlManager.getOrCreateFromUrl(String)
instead. com.intellij.platform.workspace.jps.entities.DependenciesKt.modifyEntity(MutableEntityStorage, LibraryEntity, Function1)
method removed- Use
com.intellij.platform.workspace.jps.entities.DependenciesKt.modifyLibraryEntity(MutableEntityStorage, LibraryEntity, Function1)
instead.
UML Plugin 2024.2
com.intellij.uml.UmlGraphBuilder(Project, Graph2D, Graph2DView, DiagramDataModel<?>, DiagramPresentationModel)
constructor removed- Use
com.intellij.uml.UmlGraphBuilder(Project, Graph2D, Graph2DView, DiagramDataModel<?>, GraphThreadingType, DiagramPresentationModel)
instead. com.intellij.openapi.graph.impl.builder.GraphBuilderImpl.addEdge(Object, Object, Object)
method removed- Use
com.intellij.openapi.graph.impl.builder.GraphBuilderImpl.addEdge(Object, Object, String, Object, Object[], Function<? super E,? extends Edge>)
instead.
Python Plugin 2024.2
com.jetbrains.python.PyElementTypes.STATEMENT_LIST
field type changed fromPyElementType
toIElementType
- Update code usages.
Kotlin Plugin 2024.2
org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirResolveSessionService.getFirResolveSessionNoCaching(module: KtModule)
method removed- Internals of Kotlin plugin.
org.jetbrains.kotlin.analysis.project.structure.ProjectStructureProvider.Companion.getModule(Project, PsiElement, KtModule)
method removed- Use
org.jetbrains.kotlin.analysis.api.projectStructure.KaModuleProvider.Companion.getModule(Project, PsiElement, KtModule)
instead. org.jetbrains.kotlin.codegen.state.TypeMappingUtil.getJVM_SUPPRESS_WILDCARDS_ANNOTATION_FQ_NAME
method removed- Use
org.jetbrains.kotlin.name.JvmStandardClassIds.getJVM_SUPPRESS_WILDCARDS_ANNOTATION_FQ_NAME
instead. org.jetbrains.kotlin.fir.types.ConeTypeUtilsKt.renderReadableWithFqNames(ConeKotlinType)
method removed- Internals of Kotlin compiler.
org.jetbrains.kotlin.analysis.project.structure.KtModule
class renamed toorg.jetbrains.kotlin.analysis.api.projectStructure.KaModule
- Update code usages.
org.jetbrains.kotlin.fir.expressions.FirAssignmentOperatorStatement
class removed- Internals of Kotlin compiler.
Database Plugin 2024.2
com.intellij.database.datagrid.DataGrid.getCoroutineScope()
abstract method added- Only recompilation is needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation. com.intellij.database.datagrid.DataGrid.getModificationTracker()
abstract method added- Only recompilation is needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation. com.intellij.database.datagrid.DataGrid.adaptForNewQuery()
abstract method added- Only recompilation is needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation.
HTTP Client Plugin 2024.2
com.intellij.httpClient.http.request.HttpRequestPsiConverter.toRequestConfig(HttpRequest)
method visibility changed frompublic
toprivate
- This method is an implementation detail.
Dependency Analysis Plugin 2024.2
com.jetbrains.dependencyAnalysis
package removed- The package
com.jetbrains.dependencyAnalysis
has been removed. Please update your code to use the new packagecom.jetbrains.dependencyAnalysis.core
instead.
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)
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). 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.
- Class
com.intellij.diff.editor.DiffVirtualFile
now extendscom.intellij.diff.editor.DiffViewerVirtualFile
and inherits its abstract methodcom.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 fromAnAction
toActionItem
- 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 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- 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 renamedorg.jetbrains.kotlin.fir.expressions.FirLiteralExpression
- Update code usages.
org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin.DELEGATE
class removedorg.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin.Companion.DELEGATE
should be used instead.org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin.DELEGATED_MEMBER
class removedorg.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 toorg.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. Seea3b55cf758/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 withMavenIndexImpl
as the only implementation, consider usingMavenGAVIndex
to get information about available Maven GAV coordinates, orMavenSearchIndex
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 withMavenIndexImpl
as the only implementation, consider usingMavenGAVIndex
to get information about available Maven GAV coordinates, orMavenSearchIndex
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 useMavenSystemIndicesManager.getClassIndexForRepository()
, you can get a list of all repositories withMavenIndexUtils.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 actualDataGrid
implementation. com.intellij.database.datagrid.DataGrid.getColumnAttributes()
abstract method added- Only recompilation is needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
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
andcom.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 packagecom.jetbrains.python.extensions
- Update code usages.
com.jetbrains.extensions.QualifiedNameExt
class moved to packagecom.jetbrains.python.extensions
- Update code usages.
com.jetbrains.extensions.python.PyCallExpressionExt
class moved to packagecom.jetbrains.python.extensions.python
- Update code usages.
com.jetbrains.extensions.python.FileChooserDescriptorExtKt
class moved to packagecom.jetbrains.python.extensions
- Update code usages.
com.jetbrains.python.module.PythonModuleBuilder
class moved to packagecom.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, thegetId
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, thegetId
method is removed at runtime, causing unresolved method invocations. UseAbstractBuffer.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, thegetId
method is removed at runtime, causing unresolved method invocations. Use the method that returnslong
in Java and recompile the Kotlin code. com.jetbrains.rd.framework.RdId.Companion.read(AbstractBuffer)
method removed- Due to
RdId
becoming a value class, thegetId
method is removed at runtime, causing unresolved method invocations. UseAbstractBuffer.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, thegetId
method is removed at runtime, causing unresolved method invocations. UsewithId(RdBindableBase, long)
method in Java and recompile the Kotlin code.
Properties Plugin 2024.1
- Added method parameter
Property
tocom.intellij.lang.properties.PropertiesQuickFixFactory.createRemovePropertyLocalFix()
- Supply the property that the fix should be applied for.