Incompatible Changes in IntelliJ Platform and Plugins API 2019.*
Please see Verifying Plugin Compatibility on how to use Plugin Verifier and IDE inspections to check such problems.
Early Access Program (EAP) releases of upcoming versions are available here.
2019.3
IntelliJ Platform 2019.3
com.intellij.codeInsight.TailType.getLocalCodeStyleSettings(Editor, int)
method removedUse
com.intellij.psi.codeStyle.CommonCodeStyleSettings.getLocalCodeStyleSettings(Editor, int)
instead.com.intellij.codeInsight.TailType.EQ
field removedUse
com.intellij.codeInsight.lookup.EqTailType.INSTANCE
instead.com.intellij.codeInsight.TailType.COMMA
field removedUse
com.intellij.codeInsight.lookup.CommaTailType.INSTANCE
instead.com.intellij.codeInsight.completion.CompletionContributor.getActionShortcut(String)
method removedUse
com.intellij.codeInsight.completion.CompletionUtil.getActionShortcut(String)
insteadcom.intellij.codeInsight.AutoPopupController.runTransactionWithEverythingCommitted(Project, Runnable)
method removedUse
com.intellij.codeInsight.AutoPopupControllerImpl.runTransactionWithEverythingCommitted(Project, Runnable)
insteadcom.intellij.codeInsight.completion.InsertionContext.getCodeStyleSettings()
method removedUse
com.intellij.codeInsight.completion.util.CompletionStyleUtil.getCodeStyleSettings(InsertionContext)
insteadcom.intellij.codeInsight.completion.CompletionUtil.sortMatching(PrefixMatcher, Collection)
method removedUse
com.intellij.codeInsight.completion.PrefixMatcher.sortMatching(Collection)
insteadcom.intellij.json.JsonFileTypeFactory
class removedUse
com.intellij.fileType
extension point instead.com.intellij.util.containers.ConcurrentHashSet
class removedUse
com.intellij.util.containers.ContainerUtil#newConcurrentSet
instead.com.intellij.openapi.editor.impl.EditorFactoryImpl(EditorActionManager)
constructor removedUse
com.intellij.openapi.editor.EditorFactory.getInstance()
instead.com.intellij.util.net.ssl.CertificateManager.HOSTNAME_VERIFIER
field removedUse
org.apache.http.conn.ssl.DefaultHostnameVerifier
instead.com.intellij.openapi.util.BuildNumber.getBuildNumber()
method removedSee
BuildNumber.asString
,BuildNumber.getBaselineVersion()
andBuildNumber.getComponents()
as alternatives.com.intellij.remoteServer.configuration.deployment.DeploymentConfigurationManager.createAndRunConfiguration(ServerType, RemoteServer)
method removedUse
DeploymentConfigurationManager.createAndRunConfiguration(ServerType, RemoteServer, DeploymentSourceType)
instead.
VCS
com.intellij.openapi.vcs.changes.ui.ChangesListView.UNVERSIONED_FILES_DATA_KEY
field removedUse
com.intellij.openapi.vcs.changes.ui.ChangesListView.UNVERSIONED_FILE_PATHS_DATA_KEY
instead.com.intellij.openapi.vcs.VcsVFSListener.myAddedFiles
field removedUse
com.intellij.openapi.vcs.VcsVFSListener.myProcessor.acquireAddedFiles()
instead.com.intellij.openapi.vcs.VcsVFSListener.myDeletedFiles
field removedUse
com.intellij.openapi.vcs.VcsVFSListener.myProcessor.acquireAllDeletedFiles().deletedFiles
instead.com.intellij.openapi.vcs.VcsVFSListener.myDeletedWithoutConfirmFiles
field removedUse
com.intellij.openapi.vcs.VcsVFSListener.myProcessor.acquireAllDeletedFiles().deletedWithoutConfirmFiles
instead.com.intellij.openapi.vcs.VcsVFSListener.myExceptions
field removedUse
com.intellij.openapi.vcs.VcsVFSListener.myProcessor.acquireExceptions()
orcom.intellij.openapi.vcs.VcsVFSListener.myProcessor.addException(VcsException exception)
instead.
Test Framework
com.intellij.testFramework.PlatformTestUtil.registerExtension(ExtensionsArea, T, Disposable)
method removedUse
com.intellij.testFramework.ServiceContainerUtil#registerExtension(BaseExtensionPointName, T, Disposable)
instead.com.intellij.testFramework.PlatformTestUtil.registerExtension(ExtensionsArea, BaseExtensionPointName, T, Disposable)
method removedUse
com.intellij.testFramework.ServiceContainerUtil#registerExtension(BaseExtensionPointName, T, Disposable)
instead.com.intellij.testFramework.fixtures.DefaultLightProjectDescriptor.getModuleType()
method removedUse
com.intellij.testFramework.fixtures.DefaultLightProjectDescriptor.getModuleTypeId()
instead (seecom.intellij.openapi.module.ModuleTypeId
).
Java Plugin 2019.3
com.intellij.codeInspection.magicConstant.MagicCompletionContributor.getAllowedValues(PsiElement)
method return type changed fromcom.intellij.codeInspection.magicConstant.MagicConstantInspection.AllowedValues
tocom.intellij.codeInspection.magicConstant.MagicConstantUtils.AllowedValues
Use new type instead.
Groovy Plugin 2019.3
org.jetbrains.plugins.groovy.extensions.GroovyScriptTypeDetector(GroovyScriptType, String[])
constructor removedUse constructor
GroovyScriptTypeDetector(GroovyScriptType)
instead, andcom.intellij.fileType
to register additional extensions.
Cucumber Plugin 2019.3
org.jetbrains.plugins.cucumber.javascript.CucumberJavaScriptStepDefinitionCreator#createStepDefinition(GherkinStep, PsiFile)
method removedUse
org.jetbrains.plugins.cucumber.javascript.CucumberJavaScriptStepDefinitionCreator#createStepDefinition(GherkinStep, PsiFile, boolean)
instead.org.jetbrains.plugins.cucumber.psi.GherkinStep#getStepName()
method removedUse
org.jetbrains.plugins.cucumber.psi.GherkinStep#getName()
instead.org.jetbrains.plugins.cucumber.CucumberJvmExtensionPoint#resolveStep()
method removedSee
org.jetbrains.plugins.cucumber.steps.reference.CucumberStepReference#multiResolveInner()
instead.org.jetbrains.plugins.cucumber.CucumberJvmExtensionPoint#getGlues()
method removedJava specific method was moved to CucumberJava implementation.
DataGrip and Database Tools Plugin 2019.3
com.intellij.sql.dialects.mssql.MssqlDialect
class renamed tocom.intellij.sql.dialects.mssql.MsDialect
Do not use SQL dialect classes directly.
com.intellij.sql.dialects.oracle.OracleDialect
class renamed tocom.intellij.sql.dialects.oracle.OraDialect
Do not use SQL dialect classes directly.
com.intellij.sql.dialects.postgres.PostgresDialect
class renamed tocom.intellij.sql.dialects.postgres.PgDialect
Do not use SQL dialect classes directly.
RubyMine and Ruby Plugin 2019.3
org.jetbrains.plugins.ruby.ruby.codeInsight.types.RubyTypeProvider.createTypeBySymbolFromProviders(Symbol symbol, Context context)
method parameterContext
removedThis was done as part of
RUBY-24760
in order to move to new Context-less approach.
PyCharm and Python Plugin 2019.3
com.jetbrains.python.inspections.PythonVisitorFilter
class moved to package com.jetbrains.python.psi
com.jetbrains.python.psi.PyUtil.addElementToStatementList(PsiElement, PyStatementList, boolean)
method removedUse
com.jetbrains.python.refactoring.PyRefactoringUtil.addElementToStatementList(PsiElement, PyStatementList, boolean)
insteadcom.jetbrains.python.psi.search.PyProjectScopeBuilder.excludeSdkTestsScope(Project)
method removedUse
com.jetbrains.python.psi.search.PySearchUtilBase.excludeSdkTestsScope(Project)
instead.icons.PythonIcons.Python.PropertySetter
field removedUse
icons.PythonPsiApiIcons.PropertySetter
instead.icons.PythonIcons.Python.PropertyGetter
field removedUse
icons.PythonPsiApiIcons.PropertyGetter
instead.PARSE.expected.colon
property removed from resource bundlecom.jetbrains.python.PyBundle
Use
com.jetbrains.python.PyPsiBundle
instead.PARSE.expected.expression
property removed from resource bundlecom.jetbrains.python.PyBundle
Use
com.jetbrains.python.PyPsiBundle
instead.
2019.2
IntelliJ Platform 2019.2
- Constructor injection referring to extension points not supported
Obtain reference to extension points via
(Project)ExtensionPointName.findExtension()
in your constructor instead.com.intellij.openapi.components.BaseState.map$default(BaseState, Map, int, Object)
method removedUse
com.intellij.openapi.components.BaseState.map()
instead.org.nustaq
package removedfast-serialization library was removed, please use
com.intellij.serialization.ObjectSerializer
instead.java.org.java_websocket
package removedJava-WebSocket library was removed, bundle it with your plugin instead.
com.intellij.ui.layout.Cell.invoke$default(Cell, JComponent, CCFlags[], int, GrowPolicy, String, int, Object)
method parameter type changedThe signature of this function has been seriously changed without the possibility to keep the old function. Change invocations and overriding of that function according to new parameters and recompile the code.
com.intellij.ui.layout.Row.label$default(Row, String, int, UIUtil.ComponentStyle, UIUtil.FontColor, boolean, int, Object)
method removedThis method has been pulled up to the base class
Cell
; since it has default parameters, it's a binary breaking change in Kotlin. Recompile your code to pick up the new signature.com.yourkit
package removedYourKit library has been extracted into the separate plugin, which is not bundled in all IDEs by default. YourKit library is a library for profiling IDE, and its util classes shouldn't be used for general purposes. Instead of
com.yourkit.util.Strings
please useorg.apache.commons.lang.StringUtils
. Instead ofcom.yourkit.util.ArrayUtil
please useorg.apache.commons.lang.ArrayUtils
.org.jetbrains.intellij.build.ProductProperties.yourkitAgentBinariesDirectoryPath
field removedPlease bundle performanceTesting plugin in case you would like to bundle YourKit profiler within your IDE.
org.jetbrains.intellij.build.ProductProperties.enableYourkitAgentInEAP
field removedPlease bundle performanceTesting plugin in case you would like to bundle YourKit profiler within your IDE.
com.intellij.extapi.psi.PsiElementBase
class removedPlease use
com.intellij.psi.impl.PsiElementBase
or one of its descendants as a base class for PSI elements, e.g.com.intellij.extapi.psi.ASTWrapperPsiElement
, as suggested in Custom Language Support Tutorial.com.intellij.extapi.psi.MetadataPsiElementBase
class removedPlease use different base class for PSI elements.
com.intellij.ide.actions.SearchAgainAction
class now extendscom.intellij.openapi.editor.actionSystem.EditorAction
and inherits its final methodactionPerformed
Please use the
com.intellij.editorActionHandler
extension point to register a different handler for the action.com.intellij.ide.actions.SearchBackAction
class now extendscom.intellij.openapi.editor.actionSystem.EditorAction
and inherits its final methodactionPerformed
Please use the
com.intellij.editorActionHandler
extension point to register a different handler for the action.com.intellij.lexer.RestartableLexer.getRestartableState()
method removedPlease use
com.intellij.lexer.RestartableLexer.isRestartableState(int state)
instead.com.intellij.lexer.RestartableLexer.isRestartableState(int state)
abstract method addedImplement method in
RestartableLexer
implementations.com.intellij.lexer.RestartableLexer.start(CharSequence buffer, int startOffset, int endOffset, int initialState, TokenIterator tokenIterator)
abstract method addedImplement method in
RestartableLexer
implementations.
2019.1
IntelliJ Platform 2019.1
kotlinx.coroutines.experimental
package removedBundled Kotlin library is updated to 1.3, so the plugins must migrate to the stable versions of coroutines.
com.intellij.openapi.vcs.impl.ProjectLevelVcsManagerImpl(Project, FileStatusManager, FileIndexFacade, ProjectManager, DefaultVcsRootPolicy, VcsFileListenerContextHelper)
constructor removedUse
com.intellij.openapi.vcs.impl.ProjectLevelVcsManagerImpl.<init>(Project, FileStatusManager, FileIndexFacade, ProjectManager, DefaultVcsRootPolicy)
.com.intellij.injected.editor.DocumentWindow.injectedToHost(int, boolean)
abstract method addedImplement the method in
DocumentWindow
implementations.git4idea.rebase.GitCommitEditingAction.actionPerformed(AnActionEvent)
method marked finalImplement
actionPerformedAfterChecks
instead ofactionPerformed
.git4idea.rebase.GitCommitEditingAction.actionPerformedAfterChecks(AnActionEvent)
abstract method addedImplement
actionPerformedAfterChecks
instead ofactionPerformed
.com.intellij.util.lang.UrlClassLoader.loadPlatformLibrary
method removedUse
com.intellij.util.loader.NativeLibraryLoader.loadPlatformLibrary
instead.com.intellij.openapi.util.KeyedExtensionCollector.getExtensions()
method marked finalRemove custom implementation.
DataGrip and Database Tools Plugin 2019.1
com.intellij.sql.psi.SqlTokens.SQL_IDENT
field type changed fromcom.intellij.sql.psi.impl.SqlTokenType
tocom.intellij.sql.psi.SqlTokenType
In most of the cases, it's enough to recompile the code. It may also be needed to check that the code doesn't rely on the field's type.
Kotlin Plugin API 1.3
org.jetbrains.kotlin.KtNodeTypes.BOOLEAN_CONSTANT
field type changed fromorg.jetbrains.kotlin.KtNodeType
tocom.intellij.psi.tree.IElementType
Field type has been generalized. In most of the cases, it's enough to recompile the code of the plugin.
org.jetbrains.kotlin.KtNodeTypes.CHARACTER_CONSTANT
field type changed fromorg.jetbrains.kotlin.KtNodeType
tocom.intellij.psi.tree.IElementType
Field type has been generalized. In most of the cases, it's enough to recompile the code of the plugin.
org.jetbrains.kotlin.KtNodeTypes.FLOAT_CONSTANT
field type changed fromorg.jetbrains.kotlin.KtNodeType
tocom.intellij.psi.tree.IElementType
Field type has been generalized. In most of the cases, it's enough to recompile the code of the plugin.
org.jetbrains.kotlin.KtNodeTypes.INTEGER_CONSTANT
field type changed fromorg.jetbrains.kotlin.KtNodeType
tocom.intellij.psi.tree.IElementType
Field type has been generalized. In most of the cases, it's enough to recompile the code of the plugin.
org.jetbrains.kotlin.KtNodeTypes.STRING_TEMPLATE
field type changed fromorg.jetbrains.kotlin.KtNodeType
tocom.intellij.psi.tree.IElementType
Field type has been generalized. In most of the cases, it's enough to recompile the code of the plugin.