intellij-sdk-code-samples/reference_guide/api_changes_list_2023.md
Liudmila Kornilova 2d9a169644
Document parameter type change in DataGrid.showCell (#1096)
The method is used only by one plugin https://plugins.jetbrains.com/plugin/20941-tree-view-by-default
And that plugin already was already recompiled and new version was released
2023-08-14 17:43:16 +02:00

13 KiB

Incompatible Changes in IntelliJ Platform and Plugins API 2023.*

List of known Breaking API Changes in 2023.*

2023.3

IntelliJ Platform 2023.3

com.siyeh.ipp.base.Intention class removed
As a part of migration to new experimental ModCommand API, the class was removed completely. It's a part of implementation module and was never intended to be inherited by external plugins. Consider implementing com.intellij.codeInspection.LocalInspectionTool directly.

2023.2

IntelliJ Platform 2023.2

com.intellij.openapi.actionSystem.AnActionEvent.getInputEvent() method return type changed from InputEvent to @Nullable InputEvent
This may break source-compatibility with inheritors written in Kotlin.
Specify displayName/key for Configurable
To improve performance, provide either attribute for com.intellij.applicationConfigurable or com.intellij.projectConfigurable extension point (see ).
com.intellij.remote.RemoteProcess.setWindowSize(int, int) abstract method added
Should implement this method.

Database Plugin 2023.2

com.intellij.database.dataSource.DataSourceStorageCore class removed
Use com.intellij.database.dataSource.DataSourceStorage instead.
com.intellij.database.dataSource.DataSourceStorageUtil class removed
Use com.intellij.database.dataSource.DataSourceStorage instead.
com.intellij.database.dataSource.DataSourceStorageCore$Listener class renamed to com.intellij.database.dataSource.DataSourceStorage$Listener
Core class removed from hierarchy.
com.intellij.database.datagrid.CoreGrid(ModelIndex<Row>, ModelIndex<Column>) method parameter type changed from ModelIndex<Row> to int
ModelIndex class is used to reference data in table model. Row indexes in table model start with 0 even when table is scrolled to page N > 1. Parameter type was changed to int to indicate that it is an absolute index in db table.

Maven Plugin 2023.2

org.jetbrains.idea.maven.server.MavenEmbedderWrapper.customizeForResolve(MavenConsole, MavenProgressIndicator) method removed
Use resolveProject(Collection, MavenExplicitProfiles, ProgressIndicator, MavenSyncConsole, MavenConsole, MavenWorkspaceMap, boolean) instead.
org.jetbrains.idea.maven.server.MavenEmbedderWrapper.execute(VirtualFile, Collection, Collection, List) method removed
Use executeGoal(Collection, String, MavenProgressIndicator, MavenConsole) instead.

2023.1

IntelliJ Platform 2023.1

Apache Batik library unbundled
Please bundle and use echosvg library instead.
com.intellij.grazie.text.RuleGroup.Companion.getLITERALS() method removed
Replaced by constant field LITERALS.
com.intellij.ui.treeStructure.SimpleNode.doUpdate() method removed
It was replaced by doUpdate(PresentationData) which should now only modify the state of its parameter.
com.intellij.ide.ui.laf.darcula.ui.DarculaProgressBarUI.getFinishedColor() method removed
Use getFinishedColor(JComponent c) overload instead.
com.intellij.openapi.externalSystem.view.ExternalSystemNode.setNameAndTooltip(String, String) method removed
Use setNameAndTooltip(PresentationData, String, String) overload instead.
com.intellij.openapi.externalSystem.view.ExternalSystemNode.setNameAndTooltip(String, String, String) method removed
Use setNameAndTooltip(PresentationData, String, String, String) overload instead.
com.intellij.openapi.externalSystem.view.ExternalSystemNode.setNameAndTooltip(String, String, SimpleTextAttributes) method removed
Use setNameAndTooltip(PresentationData, String, String, SimpleTextAttributes) overload instead.
com.intellij.ssh.config.unified.SshConfigManager.register(boolean, String, String, String, String, AuthType, String, String, boolean, boolean, String, String) method parameter String removed
Local port is the part of the tunnel configuration, not SSH settings.
com.intellij.openapi.fileEditor.impl.HTMLEditorProvider.Companion.getAFFINITY_KEY() method removed
It was an accidentally exposed internal API. Please use HTMLEditorProvider.openEditor() methods, or implement your own file editor provider.
com.intellij.execution.RunnerAndConfigurationSettings.setFocusToolWindowBeforeRun(boolean) abstract method added
The interface is not intended to be implemented in external plugins.
com.intellij.execution.RunnerAndConfigurationSettings.getFocusToolWindowBeforeRun() abstract method added
The interface is not intended to be implemented in external plugins.

Database Plugin 2023.1

com.intellij.database.dataSource.url.TypeDescriptor.ParamEditor class moved to package com.intellij.database.dataSource.url
The inner interface was moved to upper level.
com.intellij.database.dataSource.url.TypesRegistry.BaseTypeDescriptor class moved to package com.intellij.database.dataSource.url.ui
UI extracted from TypesRegistry to TypesRegistryUi. Use com.intellij.database.urlParamEditorProvider extension point to register parameter descriptor, use com.intellij.database.urlParamEditorUiProvider extension point to register parameter editor descriptor.
com.intellij.database.datagrid.DataGrid.setAnonymousColumnName(String) method removed
Only recompilation needed for classes that implement DataGrid and delegate calls to an actual DataGrid implementation.
com.intellij.database.datagrid.DataGrid.setResultViewAdditionalRowsCount(int) method removed
Only recompilation needed for classes that implement DataGrid and delegate calls to an actual DataGrid implementation.
com.intellij.database.datagrid.DataGrid.setResultViewAllowMultilineColumnLabels(boolean) method removed
Only recompilation needed for classes that implement DataGrid and delegate calls to an actual DataGrid implementation.
com.intellij.database.datagrid.DataGrid.setResultViewPaintHorizontalLines(boolean) method removed
Only recompilation needed for classes that implement DataGrid and delegate calls to an actual DataGrid implementation.
com.intellij.database.datagrid.DataGrid.setResultViewShowRowNumbers(boolean) method removed
Only recompilation needed for classes that implement DataGrid and delegate calls to an actual DataGrid implementation.
com.intellij.database.datagrid.DataGrid.setResultViewTransparentHeaderBackground(boolean) method removed
Only recompilation needed for classes that implement DataGrid and delegate calls to an actual DataGrid implementation.
com.intellij.database.datagrid.DataGrid.setResultViewVisibleRowCount(int) method removed
Only recompilation needed for classes that implement DataGrid and delegate calls to an actual DataGrid implementation.
com.intellij.database.datagrid.DataGrid.countSortedColumns() abstract method added
Only recompilation needed for classes that implement DataGrid and delegate calls to an actual DataGrid implementation.
com.intellij.database.datagrid.DataGrid.getAppearance() abstract method added
Only recompilation needed for classes that implement DataGrid and delegate calls to an actual DataGrid implementation.
com.intellij.database.datagrid.DataGrid.getHoveredRowBackground() abstract method added
Only recompilation needed for classes that implement DataGrid and delegate calls to an actual DataGrid implementation.
com.intellij.database.datagrid.DataGrid.getStripeRowBackground() abstract method added
Only recompilation needed for classes that implement DataGrid and delegate calls to an actual DataGrid implementation.
com.intellij.database.plan.ExplainPlanProvider.createRawExplainTask(LocalDataSource dataSource, boolean analyze) abstract method added
Should implement this method.

JavaScript Plugin 2023.1

com.intellij.lang.javascript.JavascriptParserDefinition.createFile(FileViewProvider) method return type changed from com.intellij.lang.javascript.psi.JSFile to com.intellij.psi.PsiFile
Required to support Astro file format.

JavaScript Debugger Plugin 2023.1

org.jetbrains.wip.WipVm.initDomains() method return type changed from void to org.jetbrains.concurrency.Promise<*>
initDomains() is now awaitable to make WIP/CDP domains-dependent initialization logic possible.
org.jetbrains.wip.WipVm.ready() method return type changed from void to org.jetbrains.concurrency.Promise<*>
ready() is now awaitable to make WIP/CDP connection-dependent initialization logic possible.

JetBrains Gateway Plugin 2023.1

com.jetbrains.gateway.ssh.HighLevelHostAccessor.isPathPresentOnRemote(String, FileSystemItem) method parameter type changed from String to com.jetbrains.gateway.ssh.deploy.RemotePath
Using strings instead of paths breaks a lot of things when doing cross-platform development, and is generally not a good idea. Use com.jetbrains.gateway.ssh.HighLevelHostAccessor.makeRemotePath to prepare a path to pass into any of the methods requiring it.

PHP Plugin 2023.1

com.jetbrains.php.config.library.PhpIncludePathManager.getRoots() method removed
This class no longer handles all paths configured in non-runtime com.jetbrains.php.config.library.PhpLibraryRootProvider. Paths configured in Include Path Settings are available with PhpIncludePathManager.getIncludePaths(). All additional paths to use as roots for resolving via PhpIncludePathManager.getAllIncludedRoots().