List of known Breaking API Changes in 2022.*
com.intellij.openapi.externalSystem.dependency.analyzer.DependencyAnalyzerExtension.isApplicable(ProjectSystemId)
abstract method added
: Must be implemented.
com.intellij.openapi.externalSystem.dependency.analyzer.DependencyAnalyzerExtension.createContributor(Project, Disposable)
method parameter ProjectSystemId
removed
: Adjust your code.
com.intellij.openapi.externalSystem.dependency.analyzer.DependencyAnalyzerExtension.createContributor(Project, Disposable)
method return type changed from DependencyAnalyzerContributor?
to DependencyAnalyzerContributor
: Implement isApplicable()
instead.
com.intellij.openapi.editor.EditorCopyPasteHelper.getSelectionTransferable(Editor editor, EditorCopyPasteHelper.CopyPasteOptions options)
abstract method added
: Must be implemented instead of and preferred over com.intellij.openapi.editor.EditorCopyPasteHelper.copySelectionToClipboard(Editor)
which now delegates to the new method.
com.intellij.codeInsight.template.TemplateContextType.EP_NAME
field removed
: Use com.intellij.codeInsight.template.impl.TemplateContextTypes
to get TemplateContextType
extensions.
com.intellij.ide.actions.searcheverywhere.FoundItemDescriptor(I, int, int)
constructor removed
: Use FoundItemDescriptor(I, int)
instead.
com.intellij.database.dataSource.url.TypesRegistry.ParamEditor
class removed
: Use com.intellij.database.dataSource.url.TypeDescriptor.ParamEditor
instead.
com.intellij.database.dataSource.url.TypesRegistry.BaseTypeDescriptor.createFieldImpl(String caption, String configuration, DataInterchange interchange)
abstract method added
: Must be implemented.
com.intellij.database.psi.DbDataSourceImpl.getDelegate()
method return type changed from DatabaseSystem
to RawDataSource
: Prefer com.intellij.database.psi.DbDataSource.getDelegateDataSource()
.
com.intellij.database.psi.DbPsiFacadeImpl.createDataSourceWrapperElement(DasDataSource, DataSourceManager)
method parameter type changed from DasDataSource
to RawDataSource
: Avoid manually wrapping data sources.
com.intellij.database.vfs.DatabaseElementVirtualFileImpl.setBusy(boolean)
method removed
: That method was an internal method.
com.intellij.database.util.TreePatternNode.Group(ObjectKind, TreePatternNode[], TreePatternNode)
constructor removed
: Do not manipulate TreePatternNodes. Use TreePatternUtils
to manipulate TreePatterns
.
com.intellij.database.util.TreePatternNode.NegativeNaming(ObjectName[])
constructor removed
: Do not manipulate TreePatternNodes. Use TreePatternUtils
to manipulate TreePatterns
.
com.intellij.database.dataSource.DataSourceConfigurable.getDataSource()
method return type changed from DasDataSource
to RawDataSource
: Stricter generic bound.
org.jetbrains.plugins.textmate.language.preferences.PreferencesRegistry
class now interface
: Construct and mutate the org.jetbrains.plugins.textmate.language.preferences.PreferencesRegistryImpl
instead.
org.jetbrains.plugins.textmate.language.preferences.PreferencesRegistry.fillFromPList(CharSequence, Plist)
method removed
: Use org.jetbrains.plugins.textmate.language.preferences.PreferencesRegistryImpl.fillFromPList(CharSequence, Plist)
instead.
org.jetbrains.plugins.textmate.language.preferences.PreferencesRegistry.clear()
method removed
: Use org.jetbrains.plugins.textmate.language.preferences.PreferencesRegistryImpl.clear()
instead.
org.jetbrains.plugins.textmate.language.preferences.PreferencesRegistry()
constructor removed
: Instantiate org.jetbrains.plugins.textmate.language.preferences.PreferencesRegistryImpl
instead.
org.jetbrains.plugins.textmate.language.preferences.ShellVariablesRegistry
class now interface
: Construct and mutate the org.jetbrains.plugins.textmate.language.preferences.ShellVariablesRegistryImpl
instead.
org.jetbrains.plugins.textmate.language.preferences.ShellVariablesRegistry.fillVariablesFromPlist(CharSequence, Plist)
method removed
: Use org.jetbrains.plugins.textmate.language.preferences.ShellVariablesRegistryImpl.fillVariablesFromPlist(CharSequence, Plist)
instead.
org.jetbrains.plugins.textmate.language.preferences.ShellVariablesRegistry.clear()
method removed
: Use org.jetbrains.plugins.textmate.language.preferences.ShellVariablesRegistryImpl.clear()
instead.
org.jetbrains.plugins.textmate.language.preferences.ShellVariablesRegistry()
constructor removed
: Instantiate org.jetbrains.plugins.textmate.language.preferences.ShellVariablesRegistryImpl
instead.
org.jetbrains.plugins.textmate.language.preferences.SnippetsRegistry
class now interface
: Construct and mutate the org.jetbrains.plugins.textmate.language.preferences.SnippetsRegistryImpl
instead.
org.jetbrains.plugins.textmate.language.preferences.SnippetsRegistry.register(TextMateSnippet)
method removed
: Use org.jetbrains.plugins.textmate.language.preferences.SnippetsRegistryImpl.register(TextMateSnippet)
instead.
org.jetbrains.plugins.textmate.language.preferences.SnippetsRegistry.clear()
method removed
: Use org.jetbrains.plugins.textmate.language.preferences.SnippetsRegistryImpl.clear()
instead.
org.jetbrains.plugins.textmate.language.preferences.SnippetsRegistry()
constructor removed
: Instantiate org.jetbrains.plugins.textmate.language.preferences.SnippetsRegistryImpl()
instead.
com.intellij.httpClient.http.request.HttpRequestVariableSubstitutor
class now interface
: Use com.intellij.httpClient.http.request.HttpRequestVariableSubstitutorImpl.create(Project, HttpRequestEnvironment)
for constructing instances.
com.intellij.lang.javascript.buildTools.webpack.WebPackConfigManager
class moved to package com.intellij.webpack
: Use com.intellij.webpack.WebpackConfigManager
instead.
com.intellij.lang.javascript.buildTools.webpack.WebPackConfigManager.Companion
class moved to package com.intellij.webpack
: Use com.intellij.webpack.WebpackConfigManager.Companion
instead.
com.intellij.microservices.url.inlay.UrlPathInlayAction.isAvailable(file: PsiFile, urlPathContext: UrlPathContext)
method parameter type changed from com.intellij.microservices.url.references.UrlPathContext
to com.intellij.microservices.url.inlay.UrlPathInlayHint
: Use com.intellij.microservices.url.inlay.UrlPathInlayHint.getContext
to obtain corresponding UrlPathContext
instance.
com.jetbrains.gateway.ssh.SshMultistagePanelContext.getSshConfig()
method removed
: Use com.jetbrains.gateway.ssh.SshMultistagePanelContext.getConfig()
instead.
com.jetbrains.gateway.ssh.SshMultistagePanelContext.setSshConfig(SshConfig)
method removed
: Use com.jetbrains.gateway.ssh.SshMultistagePanelContext.setConfig(SshConfig)
instead.
org.jetbrains.yaml.YAMLParserDefinition no longer implements org.jetbrains.yaml.YAMLElementTypes
.
: Use org.jetbrains.yaml.YAMLElementTypes
fields directly.
Top level packages of Terraform org.intellij.plugins.hcl
and org.intellij.plugins.hil
moved to single org.intellij.terraform
.
com.intellij.openapi.actionSystem.TypeSafeDataProvider
class removed
: Use com.intellij.openapi.actionSystem.DataProvider
class instead.
com.intellij.openapi.actionSystem.DataSink
class removed
: Removed along with com.intellij.openapi.actionSystem.TypeSafeDataProvider
.
com.intellij.openapi.vcs.changes.ui.ChangesBrowser
class removed
: Use com.intellij.openapi.vcs.changes.ui.ChangesBrowserBase
or com.intellij.openapi.vcs.changes.ui.SimpleChangesBrowser
instead.
com.intellij.openapi.vcs.changes.ui.ChangesBrowser.MyUseCase
class removed
: Removed along with com.intellij.openapi.vcs.changes.ui.ChangesBrowser
.
com.intellij.openapi.vcs.changes.ui.ChangesTreeList
class removed
: Use com.intellij.openapi.vcs.changes.ui.ChangesTree
or com.intellij.openapi.vcs.changes.ui.ChangesTreeImpl
instead.
com.intellij.ide.IdeEventQueue.unsafeNonblockingExecute(Runnable)
method removed
: Method does not make sense anymore, please see JBR-4328.
com.intellij.vcs.log.VcsLogHighlighter.getStyle(int, VcsShortCommitDetails, boolean)
method removed
: Use com.intellij.vcs.log.VcsLogHighlighter.getStyle(int, VcsShortCommitDetails, int, boolean)
instead.
com.intellij.AbstractBundle.getResourceBundle(java.lang.String, java.lang.ClassLoader)
method removed
: Use com.intellij.DynamicBundle.getResourceBundle(java.lang.ClassLoader, java.lang.String)
instead
com.intellij.codeInspection.javaDoc.JavaDocLocalInspection
class removed
: Use com.intellij.codeInspection.javaDoc.JavadocDeclarationInspection.ADDITIONAL_TAGS
field instead of JavaDocLocalInspection.myAdditionalJavadocTags
.
icons.DevkitIcons
class renamed to org.jetbrains.idea.devkit.DevKitIcons
: Use org.jetbrains.idea.devkit.DevKitIcons
instead.
icons.DevkitIcons.Gutter
class renamed to org.jetbrains.idea.devkit.DevKitIcons.Gutter
: Use org.jetbrains.idea.devkit.DevKitIcons.Gutter
instead.
com.intellij.collaboration.auth.ui.AccountsListModelBase.notifyCredentialsChanged(A account)
method visibility changed from protected to private
: Method hidden for better encapsulation.
com.intellij.collaboration.auth.ui.AccountsPanelFactory.INSTANCE
field removed
: Factory is now a factory.
com.intellij.collaboration.auth.ui.LoadingAccountsDetailsProvider.DetailsLoadingResult
class removed
: Better API introduced in the form of com.intellij.collaboration.auth.ui.AccountsDetailsLoader
.
com.intellij.collaboration.auth.ui.LoadingAccountsDetailsProvider
class removed
: Better API introduced in the form of com.intellij.collaboration.auth.ui.AccountsDetailsLoader
.
com.intellij.collaboration.ui.codereview.avatar.CachingAvatarIconsProvider
class renamed to com.intellij.collaboration.ui.codereview.avatar.CachingCircleImageIconsProvider
: Icon provider implementation changes to async.
org.jetbrains.plugins.github.api.GithubApiRequestExecutorManager.getExecutor(GithubAccount)
method return type changed from org.jetbrains.plugins.github.api.GithubApiRequestExecutor.WithTokenAuth
to org.jetbrains.plugins.github.api.GithubApiRequestExecutor
: Hidden implementation details.
org.jetbrains.plugins.github.api.GithubApiRequestExecutorManager.getExecutor(GithubAccount, Project)
method return type changed from org.jetbrains.plugins.github.api.GithubApiRequestExecutor.WithTokenAuth
to org.jetbrains.plugins.github.api.GithubApiRequestExecutor
: Hidden implementation details.
org.jetbrains.plugins.github.api.GithubApiRequestExecutorManager.getExecutor(GithubAccount, JComponent)
method return type changed from org.jetbrains.plugins.github.api.GithubApiRequestExecutor.WithTokenAuth
to org.jetbrains.plugins.github.api.GithubApiRequestExecutor
: Hidden implementation details.
Method com.intellij.grazie.GrazieBundle.message(key, parameters)
marked static
: To shorten Java callers.
com.intellij.docker.registry.DockerRegistry
class renamed to com.intellij.docker.registry.DockerRegistryConfiguration
: Please update usages.
com.intellij.lang.javascript.buildTools.webpack.WebPackConfigManager.setConfig(WebPackConfig)
method moved to the superclass
: Should be used only in tests (marked with @TestOnly
).
com.intellij.lang.javascript.buildTools.webpack.WebPackConfig
class renamed to com.intellij.lang.javascript.buildTools.bundler.WebBundlerConfig
: Use com.intellij.lang.javascript.buildTools.bundler.WebBundlerConfig
instead.
com.intellij.lang.javascript.buildTools.webpack.WebPackResolve
class renamed to com.intellij.lang.javascript.buildTools.bundler.WebBundlerResolve
: Use com.intellij.lang.javascript.buildTools.bundler.WebBundlerResolve
instead.
com.intellij.lang.javascript.buildTools.webpack.WebPackConfigPath
class removed
: A regular String class is used instead.
org.apache.log4j
package removed
: log4j library removed from IntelliJ Platform, please see this blog post for migration instructions.
org.slf4j
package removed
: log4j library removed from IntelliJ Platform, please see this blog post for migration instructions.
com.intellij.openapi.diagnostic.Log4jBasedLogger
class removed
: log4j library removed from IntelliJ Platform, please see this blog post for migration instructions.
com.intellij.platform.DirectoryProjectConfigurator.configureProject(Project, VirtualFile, Ref<Module>, boolean)
marked abstract
: Implement it instead of removed one.
com.intellij.psi.impl.java.stubs.index.JavaStubIndexKeys.CLASS_FQN
field type changed from StubIndexKey<Integer, PsiClass>
to StubIndexKey<CharSequence, PsiClass>
: JavaFullClassNameIndex
now takes CharSequence
instead of its hashCode
to allow specific optimizations.
com.intellij.psi.impl.java.stubs.index.JavaFullClassNameIndex.getKey
method return type changed from StubIndexKey<Integer, PsiClass>
to StubIndexKey<CharSequence, PsiClass>
: JavaFullClassNameIndex
now takes CharSequence
instead of its hashCode
to allow specific optimizations.
com.intellij.psi.impl.java.stubs.index.JavaFullClassNameIndex.get(Integer, Project, GlobalSearchScope)
method parameter type changed from Integer
to CharSequence
: JavaFullClassNameIndex
now takes CharSequence
instead of its hashCode
to allow specific optimizations.
com.jcraft.jsch
package removed
: JSch library was removed, bundle it with your plugin instead.
com.intellij.diagnostic.DialogAppender.addFilter(Filter)
method removed
: DialogAppender
now implements java.util.logging.Handler
, use setFilter
method if you need to apply a filter.
com.intellij.psi.impl.cache.impl.BaseFilterLexerUtil.ScanContent
class removed
: Todo index is removed from the indexing procedure, use specific calcIdEntries
or calcTodoEntries
method instead.
com.intellij.psi.impl.cache.impl.BaseFilterLexerUtil.scanContent(FileContent, IdAndToDoScannerBasedOnFilterLexer)
method removed
: Todo index is removed from the indexing procedure, use specific calcIdEntries
or calcTodoEntries
method instead.
com.intellij.util.ui.StartupUiUtil.createStyleSheet(String)
method removed
: Method moved to com.intellij.util.ui.StyleSheetUtil
com.intellij.collaboration.auth.ui.AccountsPanelFactory.accountsPanel(Row, AccountManager, PersistentDefaultAccountHolder, AccountsListModel, AccountsDetailsProvider, Disposable, Icon)
method removed
: Support for default accounts required a signature change.
org.intellij.markdown.parser.constraints.MarkdownConstraints.Companion
class removed
: Some methods from a companion object were moved to CommonMarkdownConstraints
and to extension functions on MarkdownConstraints
.
org.intellij.markdown.parser.constraints.MarkdownConstraints.Companion
field removed
: Some methods from a companion object were moved to CommonMarkdownConstraints
and to extension functions on MarkdownConstraints
.
org.intellij.markdown.parser.constraints.MarkdownConstraints
class now interface
: Use CommonMarkdownConstraints
for default method implementations instead.
org.intellij.markdown.parser.markerblocks.providers.AtxHeaderProvider(boolean)
constructor parameter boolean
removed
: AtxHeaderProvider
now always requires at least one space between #
and its content as specified by the CommonMark spec.
org.intellij.markdown.html.HtmlGenerator.generateHtml()
method removed
: Use org.intellij.markdown.html.HtmlGenerator.generateHtml(org.intellij.markdown.html.HtmlGenerator.TagRenderer)
instead.
org.intellij.markdown.parser.markerblocks.MarkerBlockProvider.Companion.passSmallIndent(CharSequence)
method removed
: Use org.intellij.markdown.parser.markerblocks.MarkerBlockProvider.Companion.passSmallIndent(CharSequence, Integer)
instead.
com.intellij.database.datagrid.DataProducer.processRequest(DataRequest)
method parameter type changed from DataRequest
to GridDataRequest
: GridDataRequest
is a part of new API for async loading of table data. It's not possible to keep old method with default implementation because DataProducer
will no longer have dependency on DataRequest
. Plugins need to be recompiled to maintain bytecode compatibility.
com.intellij.database.datagrid.DataRequest.RawQueryRequest.afterLastRowAdded(DataRequest.Context, int)
method parameter type changed from DataRequest.Context
to GridDataRequest.Context
: The signature of the method was changed in the interface com.intellij.database.datagrid.DataConsumer
that is now a part of new API for async loading of table data. Change the parameter type of the overridden method and recompile plugin to maintain bytecode compatibility.
com.intellij.database.datagrid.DataConsumer.addRows(DataRequest.Context, List<DataConsumer.Row>)
method parameter type changed from DataRequest.Context
to GridDataRequest.Context
: The signature of the method was changed in the interface com.intellij.database.datagrid.DataConsumer
that is now a part of new API for async loading of table data. Change the parameter type of the overridden method and recompile plugin to maintain bytecode compatibility.
com.intellij.database.datagrid.DataConsumer.addRows(DataRequest.Context, List<DataConsumer.Row>)
method parameter type changed from List<DataConsumer.Row>
to List<? extends GridRow>
: The signature of the method was changed in the interface com.intellij.database.datagrid.DataConsumer
that is now a part of new API for async loading of table data. Change the parameter type of the overridden method and recompile plugin to maintain bytecode compatibility.
com.intellij.database.extractors.ObjectFormatter.getPlainValue(Object, DataConsumer.Column, Dbms)
method removed
: Method was removed because we refactor table editor API. It will not depend on Dbms anymore. Please use ObjectFormatter.objectToString
instead.
com.intellij.database.DatabaseDataKeys.DATA_SOURCE_KEY
field removed
: DatabaseDataKeys
no longer extends DatabaseDataKeysCore
because DatabaseDataKeys
was moved to a separate module for table editor. DATA_SOURCE_KEY
now has to be accessed directly via DatabaseDataKeysCore
.
com.intellij.database.extractors.ObjectFormatter
class now interface
: Method was removed because we refactor table editor API. New API will allow to use table editor in other products and fully customize it.