IntelliJ Platform Plugin SDK Help

Incompatible Changes in IntelliJ Platform and Plugins API 2021.*

Please see Incompatible API Changes on how to verify compatibility.

2021.3

Changes in IntelliJ Platform 2021.3

2021.2

Changes in IntelliJ Platform 2021.2

com.intellij.openapi.editor.impl.event.DocumentEventImpl.translateLineViaDiff(int) method removed
Use persistent range markers instead, see com.intellij.openapi.editor.Document.createRangeMarker(int, int, boolean) with surviveOnExternalChange=true.
com.intellij.openapi.editor.impl.event.DocumentEventImpl.translateLineViaDiffStrict(int) method removed
Use persistent range markers instead, see com.intellij.openapi.editor.Document.createRangeMarker(int, int, boolean) with surviveOnExternalChange=true.
com.intellij.openapi.file.exclude.EnforcedPlainTextFileType class removed
Use com.intellij.openapi.fileTypes.PlainTextFileType instead.
com.intellij.openapi.updateSettings.impl.CheckForUpdateResult class removed
Use com.intellij.openapi.updateSettings.impl.PlatformUpdates instead.
com.intellij.openapi.updateSettings.impl.UpdateStrategy.checkForUpdates() method return type changed from com.intellij.openapi.updateSettings.impl.CheckForUpdateResult to com.intellij.openapi.updateSettings.impl.PlatformUpdates
Use com.intellij.openapi.updateSettings.impl.PlatformUpdates instead of com.intellij.openapi.updateSettings.impl.CheckForUpdateResult.
com.intellij.openapi.updateSettings.impl.pluginsAdvertisement.PluginsAdvertiser.Plugin class removed
Use com.intellij.ide.plugins.advertiser.PluginData instead.
com.intellij.ide.plugins.DisabledPluginsState.disablePlugin(PluginId) method removed
Use either com.intellij.ide.plugins.PluginManagerCore.disablePlugin(PluginId) or com.intellij.ide.plugins.PluginEnabler.disablePlugins(Collection) instead.
com.intellij.ide.plugins.PluginManagerMain.suggestToEnableInstalledDependantPlugins(PluginEnabler, List) method parameter type changed from com.intellij.ide.plugins.PluginManagerMain.PluginEnabler to com.intellij.ide.plugins.PluginEnabler
com.intellij.ide.plugins.PluginManagerMain.PluginEnabler has been renamed to com.intellij.ide.plugins.PluginEnabler.
com.intellij.ssh.ui.unified.SshConfigConfigurable.Visibility class removed
Use com.intellij.ssh.ui.unified.SshConfigVisibility instead.
com.intellij.ssh.ui.unified.SshConfigComboBox.reload(PresentableId, SshConfigConfigurable.Visibility) method parameter type changed from com.intellij.ssh.ui.unified.SshConfigConfigurable.Visibility to com.intellij.ssh.ui.unified.SshConfigVisibility
SshConfigConfigurable.Visibility has been renamed to SshConfigVisibility.
com.intellij.ssh.ui.unified.SshConfigComboBox(Project, Disposable, SshConfigConfigurable.Visibility) constructor parameter type changed from com.intellij.ssh.ui.unified.SshConfigConfigurable.Visibility to com.intellij.ssh.ui.unified.SshConfigVisibility
SshConfigConfigurable.Visibility has been renamed to SshConfigVisibility.
org.jetbrains.uast.UAnnotated.getAnnotations() method removed
Use org.jetbrains.uast.UAnnotated.getUAnnotations() instead.
org.jetbrains.uast.UAnnotated.getUAnnotations() marked abstract
Previously this circularly referenced org.jetbrains.uast.UAnnotated.getAnnotations(), which has been removed.

Performance Testing Plugin 2021.2

com.jetbrains.performancePlugin.CommandProvider.getCommands() method return type changed from java.util.List to java.util.Map
Use java.util.List instead of java.util.Map.

Database Plugin 2021.2

com.intellij.database.dataSource.DatabaseCredentialsAuthProvider.UserWidget class removed
Use com.intellij.database.dataSource.DatabaseCredentialsAuthProviderUi.UserWidget instead.
com.intellij.database.actions.DdlActions.DeleteProvider1 class removed
Use com.intellij.database.actions.DbDeleteProvider.getDeleteProvider() instead.
com.intellij.database.model.RawConnectionConfig.getEffectiveUrl(Project) method removed
Use com.intellij.database.model.RawConnectionConfig.getUrl() instead. Or use com.intellij.database.dataSource.DatabaseConnectionEstablisher.processInterceptors()

GitHub Plugin 2021.2

org.jetbrains.plugins.github.util.GithubAuthData class removed
Use org.jetbrains.plugins.github.authentication.GithubAuthenticationManager instead.
org.jetbrains.plugins.github.util.GithubAuthData$BasicAuth class removed
Use org.jetbrains.plugins.github.authentication.GithubAuthenticationManager instead.
org.jetbrains.plugins.github.util.GithubSettings.getAuthData(GithubAuthData) method removed
Use org.jetbrains.plugins.github.authentication.GithubAuthenticationManager instead.
org.jetbrains.plugins.github.util.GithubSettings.getLogin method removed
Use org.jetbrains.plugins.github.authentication.GithubAuthenticationManager instead.
org.jetbrains.plugins.github.util.GithubSettings.isAuthConfigured method removed
Use org.jetbrains.plugins.github.authentication.GithubAuthenticationManager instead.

Spring Plugin 2021.2

icons.SpringApiIcons class moved to package com.intellij.spring
Use com.intellij.spring.SpringApiIcons instead.
icons.SpringApiIcons.Gutter class moved to package com.intellij.spring
Use com.intellij.spring.SpringApiIcons.Gutter instead.

2021.1

Changes in IntelliJ Platform 2021.1

com.intellij.util.io.PersistentHashMap.isCorrupted method removed
The storage checks for corruption automatically, there is no need of any explicit additional checks.
com.intellij.lang.StdLanguages.JSPX field removed
Add a dependency on the com.intellij.jsp plugin and replace the reference with com.intellij.lang.jspx.JspxLanguageImpl.INSTANCE
com.intellij.lang.StdLanguages.JSP field removed
Add a dependency on the com.intellij.jsp plugin and replace the reference with com.intellij.lang.jsp.NewJspLanguage.getInstance()
com.intellij.ide.actions.searcheverywhere.SEResultsEqualityProvider.compareItems(alreadyFoundItem) method parameter type changed from SearchEverywhereFoundElementInfo to List<SearchEverywhereFoundElementInfo>
New API is more abstract which allows to review all already found items before making "deduplication" decision. Also consider implementing com.intellij.ide.actions.searcheverywhere.AbstractEqualityProvider instead of com.intellij.ide.actions.searcheverywhere.SEResultsEqualityProvider.
com.intellij.ide.actions.searcheverywhere.SEResultsEqualityProvider.SEEqualElementsActionType.SKIP field removed
Enum class SEEqualElementsActionType was converted to sealed class with the same name.
com.intellij.ide.actions.searcheverywhere.SEResultsEqualityProvider.SEEqualElementsActionType.DO_NOTHING field removed
Enum class SEEqualElementsActionType was converted to sealed class with the same name.
com.intellij.ide.actions.searcheverywhere.SEResultsEqualityProvider.SEEqualElementsActionType.Replace field removed
Enum class SEEqualElementsActionType was converted to sealed class with the same name.
org.sqlite.SQLiteConfig.setBusyTimeout(String) method parameter type changed from String to int
Please use updated sqlite-jdbc api.
com.intellij.usages.impl.rules.UsageTypeProvider.getUsageType method PsiElement parameter marked @NotNull
This may break source-compatibility with inheritors written in Kotlin if they declare parameter type as nullable.
com.jetbrains.performancePlugin.CommandProvider.getCommands(Project) method parameter Project removed
Project is now only accessible via com.intellij.openapi.ui.playback.PlaybackContext.getProject() since it may change during script execution.
JSON Widget suppressor EP com.intellij.json.jsonWidgetSuppressor
Override new method JsonWidgetSuppressor.isCandidateForSuppress(VirtualFile, Project) for quick check in EDT before suppressSwitcherWidget() is called on background thread.

Changes in HTTP Client Plugin 2021.1

com.intellij.ws.rest.client package removed
Replaced by com.intellij.httpClient.execution in HTTP Client plugin
com.intellij.ws.actions package removed
Replaced by com.intellij.httpClient.actions in HTTP Client plugin
com.intellij.ws.converters package removed
Replaced by com.intellij.httpClient.converters in HTTP Client plugin
com.intellij.ws.http.request package removed
Replaced by com.intellij.httpClient.http.request in HTTP Client plugin

Java UML Plugin 2021.1

Rename of packages to .java. specific variants
A number of packages have been renamed: com.intellij.uml.utils becomes com.intellij.uml.java.utils, com.intellij.uml.project becomes com.intellij.uml.java.project, and com.intellij.uml.jigsaw becomes com.intellij.uml.java.jigsaw.

Kotlin Plugin 2021.1

org.jetbrains.kotlin.idea.refactoring.changeSignature.KotlinChangeInfo(KotlinMethodDescriptor, String, KotlinTypeInfo, Visibility, List, KotlinParameterInfo, PsiElement, Collection) constructor parameter type changed from org.jetbrains.kotlin.descriptors.Visibility to org.jetbrains.kotlin.descriptors.DescriptorVisibility
Visibility has been renamed to DescriptorVisibility.

Go Plugin 2021.1

com.goide.sdk.combobox.GoSdkChooserCombo.getSdk method moved to the superclass
Recompile the dependant code.
Last modified: 14 July 2021