List of known Breaking API Changes in 2021.*
Running tests fails with jarFiles is not set for [...]
or Created extension classloader is not equal to plugin's one
: Set system property idea.force.use.core.classloader
to true
.
Running tests fails using Gradle setup : Please use workarounds.
com.intellij.ui.mac.MacMessages.showMessageDialog(String, String, String[], boolean, Window, int, int, DialogWrapper.DoNotAskOption)
method removed
: Use com.intellij.ui.mac.MacMessages.showMessageDialog(String, String, String[], boolean, Window, int, int, DoNotAskOption)
instead.
com.intellij.openapi.ui.MessageDialogBuilder.doNotAsk(DialogWrapper.DoNotAskOption)
method removed
: Use com.intellij.openapi.ui.MessageDialogBuilder.doNotAsk(DoNotAskOption)
instead.
com.intellij.ide.util.projectWizard.WizardContext.getWizard()
method removed
: Use com.intellij.ide.util.projectWizard.WizardContext.getUserData(AbstractWizard.KEY)
instead.
com.intellij.openapi.ui.TextComponentAccessor.TEXT_FIELD_WITH_HISTORY_WHOLE_TEXT
field removed
: Use com.intellij.openapi.ui.TextComponentAccessors.TEXT_FIELD_WITH_HISTORY_WHOLE_TEXT
instead.
com.intellij.execution.process.ColoredOutputTypeRegistry.getAnsiColorKey(int)
method removed
: Use com.intellij.execution.process.ColoredOutputTypeRegistryImpl.getAnsiColorKey(int)
instead.
com.intellij.diagnostic.PerformanceWatcher.Snapshot
class now interface
: Recompile the dependant code or use com.intellij.diagnostic.PerformanceWatcherImpl.SnapshotImpl
instead.
com.intellij.openapi.fileEditor.impl.EditorTabPresentationUtil.getEditorTabTitle(Project, VirtualFile, EditorWindow)
method parameter EditorWindow
removed
: This parameter was never needed, but led to code coupling.
com.intellij.openapi.fileEditor.impl.EditorTabPresentationUtil.getUniqueEditorTabTitle(Project, VirtualFile, EditorWindow)
method parameter EditorWindow
removed
: This parameter was never needed, but led to code coupling.
com.intellij.openapi.fileEditor.impl.EditorTabTitleProvider.getEditorTabTitle(Project, VirtualFile, EditorWindow)
method parameter EditorWindow
removed
: This parameter was never needed, but led to code coupling.
Constructor com.intellij.codeInsight.hints.settings.InlayProviderSettingsModel
changed
: Added Language
parameter.
com.intellij.codeInsight.hints.settings.InlayProviderSettingsModel.getDescription()
abstract method added
: Provides short description.
com.intellij.codeInsight.hints.settings.InlayProviderSettingsModel.getCaseDescription(ImmediateConfigurable.Case)
abstract method added
: Provides description text for given case.
com.intellij.codeInsight.hints.settings.InlayProviderSettingsModel.getCasePreview(ImmediateConfigurable.Case)
abstract method added
: Provides preview text for given case.
com.intellij.openapi.wm.ToolWindow.getEmptyText()
method removed
: Please safe-cast and use com.intellij.openapi.wm.ex.ToolWindowEx.getEmptyText()
.
com.intellij.openapi.actionSystem.ex.CustomComponentAction#createCustomComponent(Presentation, String, DataContext)
method removed
: Please use createCustomComponent(Presentation, String)
, one shall not depend on dataContext
there.
com.intellij.ui.EditorTextField.addNotify()
method marked final
: Please use addSettingsProvider(EditorSettingsProvider)
to configure Editor
as editor creation may be postponed now.
com.intellij.vcs.log.ui.frame.CommitPanel
class removed
: Removed unnecessary inheritance.
git4idea.ui.branch.GitBranchActionsUtilKt.checkoutOrReset(Project, List, String, GitNewBranchOptions)
method removed
: Method was dropped to avoid supporting outdated behavior.
git4idea.ui.branch.GitBranchActionsUtilKt.createNewBranch(Project, List, String, GitNewBranchOptions)
method removed
: Method was dropped to avoid supporting outdated behavior.
com.jetbrains.python.console.PydevConsoleRunnerImpl(Project, Sdk, PyConsoleType, String, Map<String, String>, PyConsoleOptions.PyConsoleSettings, Consumer<? super String>, String[])
constructor parameter type com.intellij.util.Consumer<? super String>
removed
: There is no need to pass a Restart action as a constructor parameter, it should be created inside the com.jetbrains.python.console.PydevConsoleRunnerImpl#createRerunAction
method
com.intellij.util.JavaeeIcons
class renamed to com.intellij.javaee.JavaeeIcons
: To support dynamic plugins.
icons.RestClientIcons
class renamed to com.intellij.httpClient.RestClientIcons
: To support dynamic plugins.
Expression Language (EL) was extracted from com.intellij.jsp
("Java Server Pages (JSP)") plugin to new com.intellij.javaee.el
(Java EE: Expression Language (EL)) plugin.
com.intellij.jsp
has mandatory dependency on com.intellij.javaee.el
.
10+ Ultimate plugins (Spring, Java EE, Frameworks) now have optional dependency on com.intellij.javaee.el
plugin (mandatory dependency to com.intellij.jsp
was removed).
com.intellij.jsp.el.impl.ELResolveUtil.VariableInfoData
class renamed to com.intellij.jsp.el.impl.JspELResolveUtil.VariableInfoData
: To support dynamic plugins.
com.intellij.jsp.el.impl.ELResolveUtil
class renamed to com.intellij.javaee.el.util.ELResolveUtil
: Use new class from com.intellij.javaee.el
plugin instead or com.intellij.jsp.el.impl.JspELResolveUtil
from com.intellij.jsp
plugin.
com.intellij.jsp.el.impl.ELElementProcessor
class renamed to com.intellij.javaee.el.ELElementProcessor
: Use new class from com.intellij.javaee.el
plugin instead.
com.intellij.psi.jsp.el.ELElementTypes
class renamed to com.intellij.javaee.el.psi.ELElementTypes
: Use new class from com.intellij.javaee.el
plugin instead.
com.intellij.psi.jsp.el.ELLiteralExpression
class renamed to com.intellij.javaee.el.psi.ELLiteralExpression
: Use new class from com.intellij.javaee.el
plugin instead.
com.intellij.psi.jsp.el.ELElementType
class renamed to com.intellij.javaee.el.psi.ELElementType
: Use new class from com.intellij.javaee.el
plugin instead.
com.intellij.psi.jsp.el.ELExpressionHolder
class renamed to com.intellij.javaee.el.psi.ELExpressionHolder
: Use new class from com.intellij.javaee.el
plugin instead.
com.intellij.jsp.el.impl.ElVariablesProvider
class renamed to com.intellij.javaee.el.providers.ElVariablesProvider
: Use new class from com.intellij.javaee.el
plugin instead.
com.intellij.psi.jsp.el.ELVariable
class renamed to com.intellij.javaee.el.psi.ELVariable
: Use new class from com.intellij.javaee.el
plugin instead.
com.intellij.psi.jsp.el.ElLiteralCustomReferenceProvider
class renamed to com.intellij.javaee.el.psi.ElLiteralCustomReferenceProvider
: Use new class from com.intellij.javaee.el
plugin instead.
com.intellij.psi.jsp.JspImplicitVariable
class renamed to com.intellij.javaee.el.util.ELImplicitVariable
: Use new class from com.intellij.javaee.el
plugin instead.
Package com.intellij.javaee.model.xml.persistence
renamed to com.intellij.jpa.model.xml.persistence
: To support dynamic plugins.
Various package renames to support dynamic plugins
Old package name | New package name |
---|---|
com.intellij.javaee.serverInstances |
com.intellij.javaee.appServers.serverInstances |
com.intellij.javaee.appServerIntegrations |
com.intellij.javaee.appServers.appServerIntegrations |
com.intellij.javaee.deployment |
com.intellij.javaee.appServers.deployment |
com.intellij.javaee.run |
com.intellij.javaee.appServers.run |
com.intellij.javaee.deployment.DeploymentModel
class renamed to com.intellij.javaee.appServers.deployment.DeploymentModel
: To support dynamic plugins.
com.intellij.javaee.deployment.DeploymentSource
class renamed to com.intellij.javaee.appServers.deployment.DeploymentSource
: To support dynamic plugins.
com.intellij.javaee.deployment.DeploymentProvider
class renamed to com.intellij.javaee.appServers.deployment.DeploymentProvider
: To support dynamic plugins.
com.intellij.javaee.openapi.ex.AppServerIntegrationsManager
class renamed to com.intellij.javaee.appServers.openapi.ex.AppServerIntegrationsManager
: To support dynamic plugins.
com.intellij.javaee.appServerIntegrations.AppServerIntegration
class renamed to com.intellij.javaee.appServers.appServerIntegrations.AppServerIntegration
: To support dynamic plugins.
com.intellij.javaee.appServerIntegrations.ApplicationServerPersistentData
class renamed to com.intellij.javaee.appServers.appServerIntegrations.ApplicationServerPersistentData
: To support dynamic plugins.
com.intellij.javaee.facet.JavaeeFrameworkSupportInfoCollector
class renamed to com.intellij.javaee.appServers.facet.JavaeeFrameworkSupportInfoCollector
: To support dynamic plugins.
com.intellij.javaee.appServerIntegrations.ApplicationServer
class renamed to com.intellij.javaee.appServers.appServerIntegrations.ApplicationServer
: To support dynamic plugins.
com.intellij.javaee.appServerIntegrations.ApplicationServerHelper
class renamed to com.intellij.javaee.appServers.appServerIntegrations.ApplicationServerHelper
: To support dynamic plugins.
com.intellij.javaee.serverInstances.J2EEServerInstance
class renamed to com.intellij.javaee.appServers.serverInstances.J2EEServerInstance
: To support dynamic plugins.
com.intellij.javaee.run.configuration.CommonModel
class renamed to com.intellij.javaee.appServers.run.configuration.CommonModel
: To support dynamic plugins.
com.intellij.javaee.run.localRun.ExecutableObjectStartupPolicy
class renamed to com.intellij.javaee.appServers.run.localRun.ExecutableObjectStartupPolicy
: To support dynamic plugins.
com.intellij.database.model.ModelLightCopierUtils
class removed
: Internal class not to be used by 3rd party.
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.
com.intellij.openapi.actionSystem.ActionPlaces.isMainMenuOrShortcut(String)
method removed
: Use isMainMenuOrActionSearch(String)
method instead.
Add implementation for com.intellij.openapi.fileEditor.FileEditor.getFile()
: Implementations should return non-null VirtualFile
instance.
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
.
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()
.
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.
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.
com.jetbrains.python.psi.types.PyTypedDictType.Companion.match(PyTypedDictType, PyDictLiteralExpression, TypeEvalContext)
method removed
: As the result of the refactoring aimed at fixing PY-48799, for dict literals containing only string keys we infer PyTypedDictType
now, so there's no need to match dict literals with TypedDict
s. There's a new method for comparing the inferred TypedDict
s with the given ones: com.jetbrains.python.psi.types.PyTypedDictType.Companion.match(PyType, PyTypedDictType, TypeEvalContext)
.
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
: Override new method JsonWidgetSuppressor.isCandidateForSuppress(VirtualFile, Project)
for quick check in EDT before suppressSwitcherWidget()
is called on a background thread.
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.
Rename of packages to .java.
specific variants
Old package name | New package name |
---|---|
com.intellij.uml.utils |
com.intellij.uml.java.utils |
com.intellij.uml.project |
com.intellij.uml.java.project |
com.intellij.uml.jigsaw |
com.intellij.uml.java.jigsaw |
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
.
com.goide.sdk.combobox.GoSdkChooserCombo.getSdk
method moved to the superclass
: Recompile the dependant code.
icons.CoffeescriptIcons
class renamed to org.coffeescript.CoffeescriptIcons
: To support dynamic plugins.