Skip to content

Commit a9cae47

Browse files
Merge pull request #22 from Keeper-Security/release/v2.0.2
fix(marketplace): v2.0.2 -- fix deprecated/internal APIs, add 2026.2 EAP verification
2 parents b4ccce7 + e2376e7 commit a9cae47

4 files changed

Lines changed: 31 additions & 14 deletions

File tree

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@
1414
### Fixed
1515
- **Commander compatibility** for current folder and record discriminators (`classic_folder` / `nested_share_folder`, `Classic` / `Nested`), with support for older wire values.
1616

17+
## [2.0.2] - 2026-07-07
18+
19+
### Fixed
20+
- Replaced internal `PluginManagerCore` API with public `PluginManager.isPluginInstalled()` for HTTP Client detection
21+
- Replaced deprecated `JBUI.CurrentTheme.Link.linkColor()` with `Link.Foreground.ENABLED`
22+
- Removed empty optional Python dependency declaration that had no runtime effect
23+
- Plugin now verifies compatibility against IntelliJ IDEA 2026.2 EAP (build 262.8665.81)
24+
1725
## [1.2.0] - 2026-06-22
1826

1927
### Added

build.gradle.kts

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ import org.jetbrains.intellij.platform.gradle.TestFrameworkType
55

66
plugins {
77
id("java") // Java support
8-
id("org.jetbrains.kotlin.jvm") version "2.2.0" // Kotlin support
8+
id("org.jetbrains.kotlin.jvm") version "2.4.0" // Kotlin support
99
id("org.jetbrains.intellij.platform") version "2.7.0" // IntelliJ Platform Gradle Plugin
10-
id("org.jetbrains.kotlin.plugin.serialization") version "2.2.0"
10+
id("org.jetbrains.kotlin.plugin.serialization") version "2.4.0"
1111
id("org.jetbrains.changelog") version "2.3.0" // Gradle Changelog Plugin
1212
id("org.jetbrains.qodana") version "2025.1.1" // Gradle Qodana Plugin
13-
id("org.jetbrains.kotlinx.kover") version "0.9.1" // Gradle Kover Plugin
13+
id("org.jetbrains.kotlinx.kover") version "0.9.8" // Gradle Kover Plugin
1414
}
1515

1616
group = providers.gradleProperty("pluginGroup").get()
@@ -121,9 +121,8 @@ intellijPlatform {
121121
pluginVerification {
122122
ides {
123123
ide(providers.gradleProperty("platformType"), providers.gradleProperty("platformVersion"))
124-
// Optionally verify against additional IDEs:
125-
// ide("IC", "2024.3.6")
126-
// ide("IU", "2024.3.6")
124+
// Verify against the EAP build used by the JetBrains Marketplace live checker (build 262.8665.81 = IU 2026.2)
125+
ide("IU", "262.8665.81")
127126
}
128127
}
129128
}
@@ -154,6 +153,16 @@ tasks {
154153
dependsOn(patchChangelog)
155154
}
156155

156+
// Activate the EAP trial widget so the IDE shows the same toolbar state the JetBrains
157+
// Marketplace live checker uses (build IU-262.8665.81, eap.require.license=true).
158+
// To test against 2026.2 EAP: set platformVersion=2026.2 in gradle.properties locally,
159+
// then run ./gradlew runIde.
160+
named<org.jetbrains.intellij.platform.gradle.tasks.RunIdeTask>("runIde") {
161+
jvmArgumentProviders += CommandLineArgumentProvider {
162+
listOf("-Deap.require.license=true")
163+
}
164+
}
165+
157166
// Task to copy runtime dependencies for SBOM generation
158167
register<Copy>("copyDependencies") {
159168
from(configurations.runtimeClasspath)

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ pluginGroup = com.keepersecurity.jetbrains
77
pluginName = Keeper Security
88
pluginRepositoryUrl = https://github.com/Keeper-Security/keeper-jetbrains-plugin
99
# SemVer format -> https://semver.org
10-
pluginVersion = 2.0.1
10+
pluginVersion = 2.0.2
1111

1212
# Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html
1313
pluginSinceBuild = 243
14-
pluginUntilBuild =
14+
pluginUntilBuild =
1515

1616
# IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension
1717
# IU bundles HTTP Client (restClient); use IC for Community-only verification via Gradle property override

src/main/kotlin/keepersecurity/action/KeeperGetSecretAction.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package keepersecurity.action
22

3+
import com.intellij.ide.plugins.PluginManager
34
import com.intellij.openapi.actionSystem.AnAction
45
import com.intellij.openapi.actionSystem.AnActionEvent
56
import com.intellij.openapi.application.ApplicationManager
67
import com.intellij.openapi.command.WriteCommandAction
78
import com.intellij.openapi.editor.Editor
8-
import com.intellij.ide.plugins.PluginManager
99
import com.intellij.openapi.extensions.PluginId
1010
import com.intellij.openapi.fileEditor.FileDocumentManager
1111
import com.intellij.openapi.progress.ProgressIndicator
@@ -330,11 +330,11 @@ class KeeperGetSecretAction : AnAction("Get Keeper Secret") {
330330
}
331331

332332
/**
333-
* Detects JetBrains HTTP Client request files by extension when the HTTP Client plugin is
334-
* installed. Uses public [PluginManager.isPluginInstalled] (not Internal API
335-
* [com.intellij.ide.plugins.PluginManagerCore.getPlugin]). The `$keeper` dynamic variable is
336-
* registered only when optional `com.jetbrains.restClient` loads `keeper-http-client.xml`.
337-
*/
333+
* Detects JetBrains HTTP Client request files by extension when the HTTP Client plugin is
334+
* installed. Uses public [PluginManager.isPluginInstalled] (not Internal API
335+
* [com.intellij.ide.plugins.PluginManagerCore.getPlugin]). The `$keeper` dynamic variable is
336+
* registered only when optional `com.jetbrains.restClient` loads `keeper-http-client.xml`.
337+
*/
338338
private fun isHttpClientRequestFile(editor: Editor): Boolean {
339339
val file: VirtualFile = FileDocumentManager.getInstance().getFile(editor.document) ?: return false
340340
if (!isHttpClientPluginEnabled()) return false

0 commit comments

Comments
 (0)