# Internal API Migration Lists private API annotated with ApiStatus.Internal/IntellijInternalApi and corresponding replacement. This page lists commonly used API annotated with [`org.jetbrains.annotations.ApiStatus.Internal`](https://github.com/JetBrains/java-annotations/blob/master/common/src/main/java/org/jetbrains/annotations/ApiStatus.java) or [`IntellijInternalApi`](%gh-ic%/platform/util/src/com/intellij/openapi/util/IntellijInternalApi.kt) which indicates it is _private API_ and must not be used outside of IntelliJ Platform itself: > Indicates that the annotated element (class, method, field, etc.) **must not be considered as a public API**. It's made visible to allow > usages in other packages of the declaring library, but it **must not be used outside of that library**. Such elements > may be renamed, changed, or removed in future versions. > {title="ApiStatus.Internal Javadoc"} Such violations are reported from [](verifying_plugin_compatibility.md#plugin-verifier) and are highlighted in the IDE using [dedicated inspection](verifying_plugin_compatibility.md#ide-support). Each entry is mapped to its corresponding _Replacement_, pointing to the recommended API. > The lists are not complete and will be updated continuously. Please check corresponding code documentation when encountering any API not listed on this page. > > In some cases, such documentation might not be available inside the IDE for the current target platform version. Please use Go to file to browse the latest version in the [intellij-community](https://github.com/jetbrains/intellij-community) GitHub repository instead. > > Please use the feedback form at the bottom of this page if you encounter missing or unclear information. > {style="note"} ## IntelliJ Platform | Internal API | Replacement | |------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `AnAction.applyTextOverride()` | [](basic_action_system.md#setting-the-override-text-element) | | `ApplicationLoadListener` | See [](plugin_components.md#application-startup) | | `BuildNumber.currentVersion()` | Use `ApplicationInfo.getBuild()` | | `CompactVirtualFileSet` | Use `VfsUtilCore.createCompactVirtualFileSet()` | | `DefaultPicoContainer` | Use [extension points](plugin_extensions.md) and [services](plugin_services.md) | | `EdtDataContext` | [See Doc](%gh-ic%/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/EdtDataContext.kt) | | `ExperimentalUI.isNewUI()` | Use [`NewUI.isEnabled()`](%gh-ic%/platform/platform-api/src/com/intellij/ui/NewUI.java) | | `FileTypeIndex.NAME` | Use static methods in `FileTypeIndex` directly | | `IElementType.getDebugName()` | Override/use `IElementType.toString()` | | `IconLoader.CachedImageIcon` | Use methods exposed in `IconLoader` | | `IconLoader.LazyIcon` | Use `IconLoader.createLazy()` | | `IndexingDataKeys` | [See Doc](%gh-ic%/platform/core-impl/src/com/intellij/util/indexing/IndexingDataKeys.java) | | `Module.getModuleFile()` | [See Doc](%gh-ic%/platform/core-api/src/com/intellij/openapi/module/Module.java) | | `Module.getModuleFilePath()` | [See Doc](%gh-ic%/platform/core-api/src/com/intellij/openapi/module/Module.java) | | `Module.getModuleTypeName()` | [See Doc](%gh-ic%/platform/core-api/src/com/intellij/openapi/module/Module.java) | | `ModuleTypeManager.registerModuleType()` | Use `com.intellij.moduleType` extension point instead, [`ModuleType`](%gh-ic%/platform/lang-core/src/com/intellij/openapi/module/ModuleType.java) | | `PathMacros.setMacro()` | Use `com.intellij.pathMacroContributor` extension point, [`PathMacroContributor`](%gh-ic%/platform/core-api/src/com/intellij/openapi/application/PathMacroContributor.java) | | `PlatformUtils` | [See Doc](%gh-ic%/platform/core-api/src/com/intellij/util/PlatformUtils.java) | | `PluginClassLoader` | Cast to [`PluginAwareClassLoader`](%gh-ic%/platform/extensions/src/com/intellij/ide/plugins/cl/PluginAwareClassLoader.java) | | `PluginManager.getLogger()` | Use own logger, see [](ide_infrastructure.md#logging) | | `PreloadingActivity` | Use `StartupActivity.Background` ([docs](plugin_components.md#project-open)) with atomic flag to run only once during IDE lifetime | | `ProjectLibraryTable` | Use `LibraryTablesRegistrar.getLibraryTable()` | | `SVGLoader` | Use `ImageLoader.loadFromResource()` | | `ScrollBarPainter` | [See Doc](%gh-ic%/platform/platform-api/src/com/intellij/ui/components/ScrollBarPainter.java) | | `UtilKt.targetPresentation()` | [See Doc](%gh-ic%/platform/lang-impl/src/com/intellij/codeInsight/navigation/util.kt) | ## Plugins ### Database Plugin | Internal API | Replacement | |------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------| | `DbDataSource.getDelegate()` | For connection config use `DbDataSource.getConnectionConfig()`, for `LocalDataSource` use `DbImplUtil.getMaybeLocalDataSource(DasDataSource)` | ## Exceptions The API listed in this table is currently (or was previously) marked with `@ApiStatus.Internal`, but its status has changed in the meantime (or will change). Therefore, any reported violations can be disregarded. | Internal API | Note | |----------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------| | [`AnimatedIcon.ANIMATION_IN_RENDERER_ALLOWED`](%gh-ic%/platform/ide-core/src/com/intellij/ui/AnimatedIcon.java) | Made public in 2021.3 | | [`BaseExpirableExecutor.expireWith()`](%gh-ic%/platform/core-api/src/com/intellij/openapi/application/BaseExpirableExecutor.java) | Made public in 2023.2 | | [`BundleBase`](%gh-ic%/platform/util/src/com/intellij/BundleBase.kt) | Made public in 2022.1 | | [`IdFilter`](%gh-ic%/platform/indexing-api/src/com/intellij/util/indexing/IdFilter.java) | Made public in 2021.2/3 | | [`HashingStrategy`](%gh-ic%/platform/util/base/src/com/intellij/util/containers/HashingStrategy.java) | Made public in 2023.1 | | [`JsonCustomStructureViewFactory`](%gh-ic%/json/src/com/intellij/json/structureView/JsonCustomStructureViewFactory.java) | Made public in 2023.2 | | [`RunAnythingCommandLineProvider`](%gh-ic%/platform/lang-impl/src/com/intellij/ide/actions/runAnything/activity/RunAnythingCommandLineProvider.kt) | Made public in 2021.3 | | `PhpExpectedFunctionArgument` | Made public in 2022.1 | | `org.jetbrains.yaml.meta.*` | YAML Metadata API will be made public in 2023.1 |