24 KiB
Please see on how to use Plugin Verifier and IDE inspections to check such problems.
Changes from API marked with
@Deprecated(forRemoval=true)
or any oforg.jetbrains.annotations.ApiStatus
@Experimental
,@ScheduledForRemoval
, or@Internal
are not listed here, as incompatible changes are to be expected.For API annotated with
ApiStatus.@Internal
/@IntellijInternalApi
, see for more details and replacements.
{type="note"}
Java 17 is required (blog post when targeting 2022.2 or later only.
Java 11 is required (blog post) when targeting 2020.3 and later only.
Please make sure to always upgrade
gradle-intellij-plugin
to the latest version{type="joined"}
{type="note"}
Early Access Program (EAP) releases of upcoming versions are available here.
2022.3
IntelliJ Platform 2022.3
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 parameterProjectSystemId
removed- Adjust your code.
com.intellij.openapi.externalSystem.dependency.analyzer.DependencyAnalyzerExtension.createContributor(Project, Disposable)
method return type changed fromDependencyAnalyzerContributor?
toDependencyAnalyzerContributor
- 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 getTemplateContextType
extensions.
Database Plugin 2022.3
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 fromDatabaseSystem
toRawDataSource
- Prefer
com.intellij.database.psi.DbDataSource.getDelegateDataSource()
. com.intellij.database.psi.DbPsiFacadeImpl.createDataSourceWrapperElement(DasDataSource, DataSourceManager)
method parameter type changed fromDasDataSource
toRawDataSource
- Avoid manually wrapping data sources.
TextMate Plugin 2022.3
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.
HTTP Client Plugin 2022.3
com.intellij.httpClient.http.request.HttpRequestVariableSubstitutor
class now interface- Use
com.intellij.httpClient.http.request.HttpRequestVariableSubstitutorImpl.create(Project, HttpRequestEnvironment)
for constructing instances.
JavaScript Plugin 2022.3
com.intellij.lang.javascript.buildTools.webpack.WebPackConfigManager
class moved to packagecom.intellij.webpack
- Use
com.intellij.webpack.WebpackConfigManager
instead. com.intellij.lang.javascript.buildTools.webpack.WebPackConfigManager.Companion
class moved to packagecom.intellij.webpack
- Use
com.intellij.webpack.WebpackConfigManager.Companion
instead.
Microservices Plugin 2022.3
com.intellij.microservices.url.inlay.UrlPathInlayAction.isAvailable(file: PsiFile, urlPathContext: UrlPathContext)
method parameter type changed fromcom.intellij.microservices.url.references.UrlPathContext
tocom.intellij.microservices.url.inlay.UrlPathInlayHint
- Use
com.intellij.microservices.url.inlay.UrlPathInlayHint.getContext
to obtain correspondingUrlPathContext
instance.
Remote Development Gateway Plugin 2022.3
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.
YAML Plugin 2022.3
- org.jetbrains.yaml.YAMLParserDefinition no longer implements
org.jetbrains.yaml.YAMLElementTypes
. - Use
org.jetbrains.yaml.YAMLElementTypes
fields directly.
Terraform Plugin 2022.3
Top level packages of Terraform org.intellij.plugins.hcl
and org.intellij.plugins.hil
moved to single org.intellij.terraform
.
2022.2
IntelliJ Platform 2022.2
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
orcom.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
orcom.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
Java Plugin 2022.2
com.intellij.codeInspection.javaDoc.JavaDocLocalInspection
class removed- Use
com.intellij.codeInspection.javaDoc.JavadocDeclarationInspection.ADDITIONAL_TAGS
field instead ofJavaDocLocalInspection.myAdditionalJavadocTags
.
Plugin DevKit Plugin 2022.2
icons.DevkitIcons
class renamed toorg.jetbrains.idea.devkit.DevKitIcons
- Use
org.jetbrains.idea.devkit.DevKitIcons
instead. icons.DevkitIcons.Gutter
class renamed toorg.jetbrains.idea.devkit.DevKitIcons.Gutter
- Use
org.jetbrains.idea.devkit.DevKitIcons.Gutter
instead.
Collaboration Tools 2022.2
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 tocom.intellij.collaboration.ui.codereview.avatar.CachingCircleImageIconsProvider
- Icon provider implementation changes to async.
GitHub 2022.2
org.jetbrains.plugins.github.api.GithubApiRequestExecutorManager.getExecutor(GithubAccount)
method return type changed fromorg.jetbrains.plugins.github.api.GithubApiRequestExecutor.WithTokenAuth
toorg.jetbrains.plugins.github.api.GithubApiRequestExecutor
- Hidden implementation details.
org.jetbrains.plugins.github.api.GithubApiRequestExecutorManager.getExecutor(GithubAccount, Project)
method return type changed fromorg.jetbrains.plugins.github.api.GithubApiRequestExecutor.WithTokenAuth
toorg.jetbrains.plugins.github.api.GithubApiRequestExecutor
- Hidden implementation details.
org.jetbrains.plugins.github.api.GithubApiRequestExecutorManager.getExecutor(GithubAccount, JComponent)
method return type changed fromorg.jetbrains.plugins.github.api.GithubApiRequestExecutor.WithTokenAuth
toorg.jetbrains.plugins.github.api.GithubApiRequestExecutor
- Hidden implementation details.
Grazie Plugin 2022.2
- Method
com.intellij.grazie.GrazieBundle.message(key, parameters)
marked static - To shorten Java callers.
Docker Plugin 2022.2
com.intellij.docker.registry.DockerRegistry
class renamed tocom.intellij.docker.registry.DockerRegistryConfiguration
- Please update usages.
JavaScript Plugin 2022.2
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 tocom.intellij.lang.javascript.buildTools.bundler.WebBundlerConfig
- Use
com.intellij.lang.javascript.buildTools.bundler.WebBundlerConfig
instead. com.intellij.lang.javascript.buildTools.webpack.WebPackResolve
class renamed tocom.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.
2022.1
IntelliJ Platform 2022.1
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 fromStubIndexKey<Integer, PsiClass>
toStubIndexKey<CharSequence, PsiClass>
JavaFullClassNameIndex
now takesCharSequence
instead of itshashCode
to allow specific optimizations.com.intellij.psi.impl.java.stubs.index.JavaFullClassNameIndex.getKey
method return type changed fromStubIndexKey<Integer, PsiClass>
toStubIndexKey<CharSequence, PsiClass>
JavaFullClassNameIndex
now takesCharSequence
instead of itshashCode
to allow specific optimizations.com.intellij.psi.impl.java.stubs.index.JavaFullClassNameIndex.get(Integer, Project, GlobalSearchScope)
method parameter type changed fromInteger
toCharSequence
JavaFullClassNameIndex
now takesCharSequence
instead of itshashCode
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 removedDialogAppender
now implementsjava.util.logging.Handler
, usesetFilter
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
orcalcTodoEntries
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
orcalcTodoEntries
method instead. com.intellij.util.ui.StartupUiUtil.createStyleSheet(String)
method removed- Method moved to
com.intellij.util.ui.StyleSheetUtil
Collaboration Tools 2022.1
com.intellij.collaboration.auth.ui.AccountsPanelFactory.accountsPanel(Row, AccountManager, PersistentDefaultAccountHolder, AccountsListModel, AccountsDetailsProvider, Disposable, Icon)
method removed- Support for default accounts required a signature change.
Markdown Plugin 2022.1
org.intellij.markdown.parser.constraints.MarkdownConstraints.Companion
class removed- Some methods from a companion object were moved to
CommonMarkdownConstraints
and to extension functions onMarkdownConstraints
. org.intellij.markdown.parser.constraints.MarkdownConstraints.Companion
field removed- Some methods from a companion object were moved to
CommonMarkdownConstraints
and to extension functions onMarkdownConstraints
. 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 parameterboolean
removedAtxHeaderProvider
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.
Database Tools and SQL Plugin 2022.1
com.intellij.database.datagrid.DataProducer.processRequest(DataRequest)
method parameter type changed fromDataRequest
toGridDataRequest
GridDataRequest
is a part of new API for async loading of table data. It's not possible to keep old method with default implementation becauseDataProducer
will no longer have dependency onDataRequest
. Plugins need to be recompiled to maintain bytecode compatibility.com.intellij.database.datagrid.DataRequest.RawQueryRequest.afterLastRowAdded(DataRequest.Context, int)
method parameter type changed fromDataRequest.Context
toGridDataRequest.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 fromDataRequest.Context
toGridDataRequest.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 fromList<DataConsumer.Row>
toList<? 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 removedDatabaseDataKeys
no longer extendsDatabaseDataKeysCore
becauseDatabaseDataKeys
was moved to a separate module for table editor.DATA_SOURCE_KEY
now has to be accessed directly viaDatabaseDataKeysCore
.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.