Please see Verifying Plugin Compatibility on how to use Plugin Verifier and IDE inspections to check such problems.
Early Access Program (EAP) releases of upcoming versions are available here.
Changes from API marked with @Deprecated(forRemoval=true)
or any of ApiStatus
@Experimental
, @ScheduledForRemoval
, or @Internal
are not listed here, as incompatible changes are to be expected.
For API annotated with @ApiStatus.Internal
/@IntellijInternalApi
, see Internal API Migration for more details and replacements.
Java version must be set depending on the target platform version.
Java 21
Java 17
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
.
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.
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.
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.
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.
com.intellij.json.jsonWidgetSuppressor
extension point
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.
05 August 2025
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4