intellij-sdk-code-samples/reference_guide/api_changes_list_2022.md
2022-03-07 22:31:00 +01:00

9.6 KiB

Please see Incompatible API Changes on how to verify compatibility.

Changes from API marked with @Deprecated(forRemoval=true) or any of org.jetbrains.annotations.ApiStatus @Experimental, @ScheduledForRemoval, or @Internal are not listed here, as incompatible changes are to be expected.

{type="note"}

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

{type="note"}

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

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

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.