IntelliJ Platform Plugin SDK Help

Incompatible Changes in IntelliJ Platform and Plugins API 2022.*

Please see Incompatible API Changes on how to verify compatibility.

Early Access Program (EAP) releases of upcoming versions are available here.

2022.2

IntelliJ Platform 2022.2

Java Plugin 2022.2

com.intellij.codeInspection.javaDoc.JavaDocLocalInspection class removed

Use com.intellij.codeInspection.javaDoc.JavadocDeclarationInspection.ADDITIONAL_TAGS field instead of JavaDocLocalInspection.myAdditionalJavadocTags.

Plugin DevKit Plugin 2022.2

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.

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.

Grazie Plugin 2022.2

Method com.intellij.grazie.GrazieBundle.message(key, parameters) marked static

To shorten Java callers.

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 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

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 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.

Database Tools and SQL Plugin 2022.1

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.

Last modified: 17 May 2022