Internal API Problem

Hello,
I received this message from JetBrains: “The latest update of your plugin uses an Internal API.” But my previous version was approved with the same code. I only changed the logo. I don’t use any Internal API in my code. Why is this happening now?

Could you share the exact message and the code signature in question?

Here is the exact message I received from JetBrains:

“The latest update of your plugin uses an Internal API, which is private and cannot be used outside the IntelliJ Platform itself.”

However, I did not use any Internal API in my code. My previous plugin version was approved without this issue, and the code is exactly the same. For the latest update, I only changed the logo no code changes at all. So I don’t know where this Internal API usage is coming from.

What is your plugin ID / link? It is hard to discuss unknown things

Here is the link to my plugin:

Let me know if you need anything else.

And where did you receive the message? How it looked?

I so far only see the plugin builds are incompatible with the latest release of IDE because they use removed deprecated APIs of Kotlin UI DSL:

Method GenerateApiDialog.createCenterPanel.mainPanel$1$9.invoke(...) contains an invokestatic instruction referencing an unresolved method Cell.invoke$default(...). This can lead to NoSuchMethodError exception at runtime.
The method might have been declared in the super interface: BaseBuilder

I received the message by email from JetBrains Marketplace support. I wasn’t getting this error before the previous version of my plugin was approved without any issues. I only changed the logo and uploaded an update, without modifying any code. After that, they told me that my plugin “uses an Internal API,” but I don’t know the exact source of this issue, so they redirected me here to ask.

Let me manage your expectations a bit:

  1. New versions of IDEs get released and we remove deprecated APIs. The latest build of your plugin contains references to removed deprecated APIs and incompatible with the latest IDE version 2025.3. So it cannot be approved.

  2. We are still in review process of old APIs and sometimes we find classes and packages that are not supposed to be used by plugins as were never designed to. We keep the right to mark them Internal, and block new versions of plugins from using them. In general, we try to deprecate the incorrect APIs first or provide alternatives, but sometimes it is not really possible.

Let us check why we thought it is Internal API preventing publication, but at the moment the recent plugin versions are really incompatible with 2025.3 releases due to usages of removed code.

Great, it would be very helpful if I can understand the exact cause of the issue soon, so I can update my plugin accordingly. Thank you!

Could you address the usages of removed Kotlin UI DSL methods so far? They will not let us approve the current builds anyway regardless of any other issues.

import com.intellij.ide.util.PackageChooserDialog
import com.intellij.openapi.project.Project
import com.intellij.openapi.ui.DialogWrapper
import com.intellij.psi.PsiClass
import com.intellij.ui.components.JBCheckBox
import com.intellij.ui.layout.CCFlags
import com.intellij.ui.layout.panel
import java.awt.BorderLayout
import java.awt.Dimension

Could the issue be caused by any of these imports, particularly the Kotlin UI DSL ones (CCFlags, panel), or is it coming from somewhere else in my code?

I’d suggest that you try to compile the plugin with 2025.3 IDE version, the build will show compilation errors then

I updated the code and adapted everything to Kotlin UI DSL v2. All deprecated usages were removed and replaced with the new API.
I’ve uploaded the new version to the Marketplace could you please review it?

Hi, the latest update is approved now.

Hi, Great, thank you for the quick review and approval. I appreciate your support.