[//]: # (title: Incompatible Changes in IntelliJ Platform and Plugins API 2022.*) Please see [Incompatible API Changes](api_changes_list.md) on how to verify compatibility. > Changes from API marked with `@Deprecated(forRemoval=true)` or any of [`org.jetbrains.annotations.ApiStatus`](https://github.com/JetBrains/java-annotations/blob/master/common/src/main/java/org/jetbrains/annotations/ApiStatus.java) `@Experimental`, `@ScheduledForRemoval`, or `@Internal` are not listed here, as incompatible changes are to be expected. > {type="note"} > Java 11 is required ([blog post](https://blog.jetbrains.com/platform/2020/09/intellij-project-migrates-to-java-11/)) when targeting 2020.3 and later only. > > Please make sure to always upgrade `gradle-intellij-plugin` to the latest version [![GitHub Release](https://img.shields.io/github/release/jetbrains/gradle-intellij-plugin.svg?style=flat-square)](https://github.com/jetbrains/gradle-intellij-plugin/releases) > {type="note"} _Early Access Program_ (EAP) releases of upcoming versions are available [here](https://eap.jetbrains.com). ## 2022.2 ### IntelliJ Platform 2022.2 ## 2022.1 ### IntelliJ Platform 2022.1 `org.apache.log4j` package removed : log4j library removed from IntelliJ Platform, please see this [blog post](https://blog.jetbrains.com/platform/2022/02/removing-log4j-from-the-intellij-platform/) for migration instructions. `org.slf4j` package removed : log4j library removed from IntelliJ Platform, please see this [blog post](https://blog.jetbrains.com/platform/2022/02/removing-log4j-from-the-intellij-platform/) for migration instructions. `com.intellij.openapi.diagnostic.Log4jBasedLogger` class removed : log4j library removed from IntelliJ Platform, please see this [blog post](https://blog.jetbrains.com/platform/2022/02/removing-log4j-from-the-intellij-platform/) for migration instructions. `com.intellij.platform.DirectoryProjectConfigurator.configureProject(Project, VirtualFile, Ref, boolean)` marked abstract : Implement it instead of removed one. `com.intellij.psi.impl.java.stubs.index.JavaStubIndexKeys.CLASS_FQN` field type changed from `StubIndexKey` to `StubIndexKey` : `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` to `StubIndexKey` : `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](https://mvnrepository.com/artifact/com.jcraft/jsch) 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. ### 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 type of overriden method and recompile plugin to maintain bytecode compatibility.