Incompatible Changes in IntelliJ Platform and Plugins API 2019.*
Please see Incompatible API Changes on how to verify compatibility.
2019.3
Changes in IntelliJ Platform 2019.3
com.intellij.codeInsight.TailType.getLocalCodeStyleSettings(Editor, int)
method removed- Use
com.intellij.psi.codeStyle.CommonCodeStyleSettings.getLocalCodeStyleSettings(Editor, int)
instead. com.intellij.codeInsight.TailType.EQ
field removed- Use
com.intellij.codeInsight.lookup.EqTailType.INSTANCE
instead. com.intellij.codeInsight.TailType.COMMA
field removed- Use
com.intellij.codeInsight.lookup.CommaTailType.INSTANCE
instead. com.intellij.codeInsight.completion.CompletionContributor.getActionShortcut(String)
method removed- Use
com.intellij.codeInsight.completion.CompletionUtil.getActionShortcut(String)
instead com.intellij.codeInsight.AutoPopupController.runTransactionWithEverythingCommitted(Project, Runnable)
method removed- Use
com.intellij.codeInsight.AutoPopupControllerImpl.runTransactionWithEverythingCommitted(Project, Runnable)
instead com.intellij.codeInsight.completion.InsertionContext.getCodeStyleSettings()
method removed- Use
com.intellij.codeInsight.completion.util.CompletionStyleUtil.getCodeStyleSettings(InsertionContext)
instead com.intellij.codeInsight.completion.CompletionUtil.sortMatching(PrefixMatcher, Collection)
method removed- Use
com.intellij.codeInsight.completion.PrefixMatcher.sortMatching(Collection)
instead com.intellij.json.JsonFileTypeFactory
class removed- Use
com.intellij.fileType
extension point instead. com.intellij.util.containers.ConcurrentHashSet
class removed- Use
com.intellij.util.containers.ContainerUtil#newConcurrentSet
instead. com.intellij.openapi.editor.impl.EditorFactoryImpl(EditorActionManager)
constructor removed- Use
com.intellij.openapi.editor.EditorFactory.getInstance()
instead. com.intellij.util.net.ssl.CertificateManager.HOSTNAME_VERIFIER
field removed- Use
org.apache.http.conn.ssl.DefaultHostnameVerifier
instead. com.intellij.openapi.util.BuildNumber.getBuildNumber()
method removed- See
BuildNumber.asString
,BuildNumber.getBaselineVersion()
andBuildNumber.getComponents()
as alternatives. com.intellij.remoteServer.configuration.deployment.DeploymentConfigurationManager.createAndRunConfiguration(ServerType, RemoteServer)
method removed- Use
DeploymentConfigurationManager.createAndRunConfiguration(ServerType, RemoteServer, DeploymentSourceType)
instead.
VCS
com.intellij.openapi.vcs.changes.ui.ChangesListView.UNVERSIONED_FILES_DATA_KEY
field removed- Use
com.intellij.openapi.vcs.changes.ui.ChangesListView.UNVERSIONED_FILE_PATHS_DATA_KEY
instead. com.intellij.openapi.vcs.VcsVFSListener.myAddedFiles
field removed- Use
com.intellij.openapi.vcs.VcsVFSListener.myProcessor.acquireAddedFiles()
instead. com.intellij.openapi.vcs.VcsVFSListener.myDeletedFiles
field removed- Use
com.intellij.openapi.vcs.VcsVFSListener.myProcessor.acquireAllDeletedFiles().deletedFiles
instead. com.intellij.openapi.vcs.VcsVFSListener.myDeletedWithoutConfirmFiles
field removed- Use
com.intellij.openapi.vcs.VcsVFSListener.myProcessor.acquireAllDeletedFiles().deletedWithoutConfirmFiles
instead. com.intellij.openapi.vcs.VcsVFSListener.myExceptions
field removed- Use
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 removed- Use
com.intellij.testFramework.ServiceContainerUtil#registerExtension(BaseExtensionPointName, T, Disposable)
instead. com.intellij.testFramework.PlatformTestUtil.registerExtension(ExtensionsArea, BaseExtensionPointName, T, Disposable)
method removed- Use
com.intellij.testFramework.ServiceContainerUtil#registerExtension(BaseExtensionPointName, T, Disposable)
instead. com.intellij.testFramework.fixtures.DefaultLightProjectDescriptor.getModuleType()
method removed- Use
com.intellij.testFramework.fixtures.DefaultLightProjectDescriptor.getModuleTypeId()
instead (seecom.intellij.openapi.module.ModuleTypeId
).
Changes in 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.
Changes in Groovy plugin 2019.3
org.jetbrains.plugins.groovy.extensions.GroovyScriptTypeDetector(GroovyScriptType, String[])
constructor removed- Use constructor
GroovyScriptTypeDetector(GroovyScriptType)
instead, andcom.intellij.fileType
to register additional extensions.
Changes in Cucumber plugin 2019.3
org.jetbrains.plugins.cucumber.javascript.CucumberJavaScriptStepDefinitionCreator#createStepDefinition(GherkinStep, PsiFile)
method removed- Use
org.jetbrains.plugins.cucumber.javascript.CucumberJavaScriptStepDefinitionCreator#createStepDefinition(GherkinStep, PsiFile, boolean)
instead. org.jetbrains.plugins.cucumber.psi.GherkinStep#getStepName()
method removed- Use
org.jetbrains.plugins.cucumber.psi.GherkinStep#getName()
instead. org.jetbrains.plugins.cucumber.CucumberJvmExtensionPoint#resolveStep()
method removed- See
org.jetbrains.plugins.cucumber.steps.reference.CucumberStepReference#multiResolveInner()
instead. org.jetbrains.plugins.cucumber.CucumberJvmExtensionPoint#getGlues()
method removed- Java specific method was moved to CucumberJava implementation.
Changes in 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.
Changes in RubyMine and Ruby plugin 2019.3
org.jetbrains.plugins.ruby.ruby.codeInsight.types.RubyTypeProvider.createTypeBySymbolFromProviders(Symbol symbol, Context context)
method parameterContext
removed- This was done as part of
RUBY-24760
in order to move to new Context-less approach.
Changes in 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 removed- Use
com.jetbrains.python.refactoring.PyRefactoringUtil.addElementToStatementList(PsiElement, PyStatementList, boolean)
instead com.jetbrains.python.psi.search.PyProjectScopeBuilder.excludeSdkTestsScope(Project)
method removed- Use
com.jetbrains.python.psi.search.PySearchUtilBase.excludeSdkTestsScope(Project)
instead. icons.PythonIcons.Python.PropertySetter
field removed- Use
icons.PythonPsiApiIcons.PropertySetter
instead. icons.PythonIcons.Python.PropertyGetter
field removed- Use
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
Changes in 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 removed- Use
com.intellij.openapi.components.BaseState.map()
instead. org.nustaq
package removed- fast-serialization library was removed, please use
com.intellij.serialization.ObjectSerializer
instead. java.org.java_websocket
package removed- Java-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 changed- Signature of this function has been seriously changed without 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 removed- This 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 removed- YourKit 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 purpose. 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 removed- Please bundle performanceTesting plugin in case you would like to bundle YourKit profiler within your IDE.
org.jetbrains.intellij.build.ProductProperties.enableYourkitAgentInEAP
field removed- Please bundle performanceTesting plugin in case you would like to bundle YourKit profiler within your IDE.
com.intellij.extapi.psi.PsiElementBase
class removed- Please 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 removed- Please 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 removed- Please use
com.intellij.lexer.RestartableLexer.isRestartableState(int state)
instead. com.intellij.lexer.RestartableLexer.isRestartableState(int state)
abstract method added- Implement method in
RestartableLexer
implementations. com.intellij.lexer.RestartableLexer.start(CharSequence buffer, int startOffset, int endOffset, int initialState, TokenIterator tokenIterator)
abstract method added- Implement method in
RestartableLexer
implementations.
2019.1
Changes in IntelliJ Platform 2019.1
kotlinx.coroutines.experimental
package removed- Bundled 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 removed- Use
com.intellij.openapi.vcs.impl.ProjectLevelVcsManagerImpl.<init>(Project, FileStatusManager, FileIndexFacade, ProjectManager, DefaultVcsRootPolicy)
. com.intellij.injected.editor.DocumentWindow.injectedToHost(int, boolean)
abstract method added- Implement the method in
DocumentWindow
implementations. git4idea.rebase.GitCommitEditingAction.actionPerformed(AnActionEvent)
method marked final- Implement
actionPerformedAfterChecks
instead ofactionPerformed
. git4idea.rebase.GitCommitEditingAction.actionPerformedAfterChecks(AnActionEvent)
abstract method added- Implement
actionPerformedAfterChecks
instead ofactionPerformed
. com.intellij.util.lang.UrlClassLoader.loadPlatformLibrary
method removed- Use
com.intellij.util.loader.NativeLibraryLoader.loadPlatformLibrary
instead. com.intellij.openapi.util.KeyedExtensionCollector.getExtensions()
method marked final- Remove custom implementation.
Changes in 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.
Changes in 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.
Last modified: 19 February 2020