Incompatible Changes in IntelliJ Platform and Plugins API 2018.*
Please see Incompatible API Changes on how to verify compatibility.
2018.3
Changes in IntelliJ Platform 2018.3
com.intellij.openapi.externalSystem.action.ExternalSystemAction.isEnabledmethodAnActionEventparameter marked@NotNull- This may break source-compatibility with inheritors written in Kotlin if they declare parameter type as nullable.
com.intellij.openapi.externalSystem.action.ExternalSystemAction.isVisiblemethodAnActionEventparameter marked@NotNull- This may break source-compatibility with inheritors written in Kotlin if they declare parameter type as nullable.
com.intellij.openapi.actionSystem.AnAction.actionPerformedmethodAnActionEventparameter marked@NotNull- This may break source-compatibility with inheritors written in Kotlin if they declare parameter type as nullable.
com.intellij.openapi.actionSystem.DataContext.getDatamethoddataIdparameter marked@NotNull- This may break source-compatibility with inheritors written in Kotlin if they declare parameter type as nullable.
com.intellij.openapi.actionSystem.ToggleAction.isSelectedmethodAnActionEventparameter marked@NotNull- This may break source-compatibility with inheritors written in Kotlin if they declare parameter type as nullable.
com.intellij.openapi.actionSystem.ToggleAction.setSelectedmethodAnActionEventparameter marked@NotNull- This may break source-compatibility with inheritors written in Kotlin if they declare parameter type as nullable.
com.intellij.openapi.actionSystem.DataProvider.getDatamethoddataIdparameter marked@NotNull- This may break source-compatibility with inheritors written in Kotlin if they declare parameter type as nullable.
com.intellij.psi.meta.PsiMetaData.getDependencesmethod removed- Use
com.intellij.psi.meta.PsiMetaData.getDependenciesinstead.
2018.2
Changes in IntelliJ Platform 2018.2
com.intellij.util.Query.forEachmethod parameter type changed fromProcessor<Result>toProcessor<? super Result>- Update
Queryimplementations accordingly. com.intellij.util.Query.forEachAsyncmethod parameter type changed fromProcessor<Result>toProcessor<? super Result>- Update
Queryimplementations accordingly. com.intellij.util.QueryExecutor.executemethod parameter type changed fromProcessor<Result>toProcessor<? super Result>- Update
QueryExecutorimplementations accordingly. com.intellij.openapi.application.QueryExecutorBase.processQuerymethod parameter type changed fromProcessor<Result>toProcessor<? super Result>- Update
QueryExecutorBaseinheritors accordingly. com.intellij.util.InstanceofQueryclass type parameterTadded- Set this parameter at call sites to base query type.
com.intellij.task.ProjectTaskManager.buildmethod parameter type changed fromArtifact[]toProjectModelBuildableElement[]- In most of the cases, it’s enough to recompile the code.
com.intellij.task.ProjectTaskManager.rebuildmethod parameter type changed fromArtifact[]toProjectModelBuildableElement[]- In most of the cases, it’s enough to recompile the code.
org.apache.batik.script.InterpreterFactory.createInterpreterabstract method added- Update
InterpreterFactoryimplementations accordingly.
2018.1
Changes in IntelliJ Platform 2018.1
com.google.common.base.Objects.ToStringHelperclass removed- Use
com.google.common.base.MoreObjects.ToStringHelperinstead. com.google.common.util.concurrent.Futures.getmethod removed- Use
com.google.common.util.concurrent.Futures.getCheckedinstead. org.tmatesoft.svnpackage removed- Use classes from
org.jetbrains.idea.svninstead. org.jetbrains.idea.svn.svnkit.SvnKitManagerclass removed- Use
org.jetbrains.idea.svn.api.ClientFactoryinstead. clojurepackage removed- Clojure 1.8 jars are removed from IntelliJ Ultimate package, provide your own jars if needed.
com.intellij.ide.structureView.newStructureView.StructureViewComponent.getTreeBuildermethod removed- Use
queueUpdateandgetTreeinstead.
Changes in PhpStorm and PHP plugin 2018.1
com.jetbrains.php.lang.documentation.phpdoc.parser.PhpDocElementTypes.DOC_COMMENTfield type changed fromcom.intellij.psi.tree.ILazyParseableElementTypetocom.jetbrains.php.lang.documentation.phpdoc.psi.stubs.PhpDocCommentElementType- 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.
com.jetbrains.php.lang.documentation.phpdoc.parser.PhpDocElementTypes.phpDocSpecialTagfield type changed fromcom.intellij.psi.tree.ILazyParseableElementTypetocom.jetbrains.php.lang.documentation.phpdoc.psi.stubs.PhpDocMethodTagElementType- 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.
com.jetbrains.php.lang.documentation.phpdoc.parser.PhpDocElementTypes.phpDocTagfield type changed fromcom.jetbrains.php.lang.documentation.phpdoc.psi.PhpDocElementTypetocom.jetbrains.php.lang.documentation.phpdoc.psi.stubs.PhpDocTagElementType- 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.
com.jetbrains.php.lang.documentation.phpdoc.parser.PhpDocElementTypes.phpDocReturnfield type changed fromcom.jetbrains.php.lang.documentation.phpdoc.psi.PhpDocElementTypetocom.jetbrains.php.lang.documentation.phpdoc.psi.stubs.PhpDocTagElementType- 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.
com.jetbrains.php.lang.documentation.phpdoc.parser.PhpDocElementTypes.phpDocMixinfield type changed fromcom.jetbrains.php.lang.documentation.phpdoc.psi.PhpDocElementTypetocom.jetbrains.php.lang.documentation.phpdoc.psi.stubs.PhpDocTagElementType- 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.
com.jetbrains.php.lang.documentation.phpdoc.parser.PhpDocElementTypes.phpDocThrowsfield type changed fromcom.jetbrains.php.lang.documentation.phpdoc.psi.PhpDocElementTypetocom.jetbrains.php.lang.documentation.phpdoc.psi.stubs.PhpDocTagElementType- 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.
com.jetbrains.php.lang.documentation.phpdoc.parser.PhpDocElementTypes.phpDocParamfield type changed fromcom.jetbrains.php.lang.documentation.phpdoc.psi.PhpDocElementTypetocom.jetbrains.php.lang.documentation.phpdoc.psi.stubs.PhpDocTagElementType- 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.
com.jetbrains.php.lang.documentation.phpdoc.parser.PhpDocElementTypes.phpDocInlineTagfield type changed fromcom.jetbrains.php.lang.documentation.phpdoc.psi.PhpDocElementTypetocom.jetbrains.php.lang.documentation.phpdoc.psi.stubs.PhpDocTagElementType- 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.
com.jetbrains.php.lang.documentation.phpdoc.parser.PhpDocElementTypes.phpDocMethodfield type changed fromcom.jetbrains.php.lang.documentation.phpdoc.psi.PhpDocElementTypetocom.jetbrains.php.lang.documentation.phpdoc.psi.stubs.PhpDocMethodElementType- 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.
com.jetbrains.php.lang.documentation.phpdoc.parser.PhpDocElementTypes.phpDocPropertyfield type changed fromcom.jetbrains.php.lang.documentation.phpdoc.psi.PhpDocElementTypetocom.jetbrains.php.lang.documentation.phpdoc.psi.stubs.PhpDocPropertyElementType- 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.
com.jetbrains.php.lang.documentation.phpdoc.parser.tags.PhpDocTagParser.getElementTypemethod return type changed fromcom.jetbrains.php.lang.documentation.phpdoc.psi.PhpDocElementTypetocom.intellij.psi.tree.IElementType- In most of the cases, it’s enough to recompile the code. It’s also necessary to change the return type of subclasses.
com.jetbrains.php.lang.documentation.phpdoc.psi.impl.PhpDocCommentImplsuperclass changed fromcom.intellij.psi.impl.source.tree.LazyParseablePsiElementtocom.jetbrains.php.lang.psi.elements.impl.PhpPsiElementImpl- It’s necessary to check that the code doesn’t rely on the superclass.
com.jetbrains.php.lang.documentation.phpdoc.psi.impl.tags.PhpDocTagImplsuperclass changed fromcom.jetbrains.php.lang.documentation.phpdoc.psi.impl.PhpDocPsiElementImpltocom.jetbrains.php.lang.psi.elements.impl.PhpTypedElementImpl- It’s necessary to check that the code doesn’t rely on the superclass. The change also affects all the inheritors of
PhpDocTagImpl. com.jetbrains.php.lang.documentation.phpdoc.psi.impl.tags.PhpDocMethodTagImplsuperclass changed fromcom.intellij.psi.impl.source.tree.LazyParseablePsiElementtocom.jetbrains.php.lang.documentation.phpdoc.psi.impl.tags.PhpDocTagImpl- It’s necessary to check that the code doesn’t rely on the superclass.
com.jetbrains.php.lang.documentation.phpdoc.psi.impl.tags.PhpDocMethodImplsuperclass changed fromcom.jetbrains.php.lang.documentation.phpdoc.psi.impl.PhpDocPsiElementImpltocom.jetbrains.php.lang.psi.elements.impl.PhpNamedElementImpl- It’s necessary to check that the code doesn’t rely on the superclass.
Last modified: 19 February 2020