You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: compose-stability-analyzer-idea/CHANGELOG.md
+23-5Lines changed: 23 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,28 +4,46 @@ All notable changes to the IntelliJ IDEA plugin will be documented in this file.
4
4
5
5
## [Unreleased]
6
6
7
+
---
8
+
9
+
## [0.5.0] - 2025-11-08
10
+
7
11
### Added
8
12
-**New Compose Stability Tool Window** - View all composables in your project at a glance (Issue #14)
9
13
- Tree view grouped by module -> package -> file
10
-
- Color-coded stability indicators (green for stable, red for unstable)
11
-
- Stability counts at each level shown as (total: XS, YU, ZR) where S=Stable, U=Unstable, R=Runtime
14
+
- Color-coded stability indicators (green for skippable, yellow for non-skippable)
15
+
- Stability counts shown as (XS, YNS) where S=Skippable, NS=Non-skippable (zero counts are hidden for cleaner UI)
12
16
- Details pane showing composable information and parameter stability
13
17
- Double-click navigation to source code location
14
18
- Filter buttons to show All, Skippable, or Unskippable composables
15
19
- Refresh button to re-analyze the project
16
20
- Appears as a dedicated tool window on the right side of the IDE with custom icon
17
21
- Access via View -> Tool Windows -> Compose Stability or click the icon on the right toolbar
22
+
-**Interactive empty state guide** - Step-by-step instructions when no composables are found
23
+
- Clear setup instructions for first-time users
24
+
- Clickable GitHub link for documentation and support
18
25
- New setting: "Show in test source sets" for gutter icons (Issue #21)
19
26
- Gutter icons are now hidden in test directories by default (can be enabled in settings)
20
27
- Support for reading @StabilityInferred annotation parameters for cross-module stability detection (Issue #18)
21
28
29
+
### Improved
30
+
-**Enhanced UI/UX for Tool Window**
31
+
- Changed terminology from "runtime count" to more intuitive "S (Skippable)" and "NS (Non-skippable)"
32
+
- Non-skippable items now use yellow color instead of red for better visual hierarchy
33
+
- Zero counts are automatically hidden (e.g., "(2S, 0NS)" displays as "(2S)")
34
+
- Centered stability icon in tool window for better visual alignment
35
+
-**Performance optimization** - Tool window now reads pre-computed stability information from JSON files instead of re-analyzing all files
36
+
- Significantly faster load times for large projects
37
+
- Reduced CPU usage when opening the tool window
38
+
22
39
### Fixed
40
+
- Fixed double-click navigation to source code in tool window
23
41
- Fixed typealias detection for Composable function types (Issue #16)
24
-
- Typealiases like `typealias SettingsButtons = @Composable (PlayerUiState) -> Unit` now correctly expand to their underlying function types before stability analysis
42
+
- Typealiases like `typealias SettingsButtons = @Composable (PlayerUiState) -> Unit` now correctly expand to their underlying function types before stability analysis
25
43
- Fixed ImmutableList/ImmutableSet/ImmutableMap showing as unstable in test code (Issue #21)
26
-
- Added fallback type resolution by simple name for immutable collections when FQN resolution fails in test source sets
44
+
- Added fallback type resolution by simple name for immutable collections when FQN resolution fails in test source sets
Copy file name to clipboardExpand all lines: compose-stability-analyzer-idea/api/compose-stability-analyzer-idea.api
+13Lines changed: 13 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -238,6 +238,19 @@ public final class com/skydoves/compose/stability/idea/toolwindow/StabilityNodeD
238
238
public fun toString ()Ljava/lang/String;
239
239
}
240
240
241
+
public final class com/skydoves/compose/stability/idea/toolwindow/StabilityNodeData$GitHubLink : com/skydoves/compose/stability/idea/toolwindow/StabilityNodeData {
242
+
public fun <init> (Ljava/lang/String;Ljava/lang/String;)V
243
+
public final fun component1 ()Ljava/lang/String;
244
+
public final fun component2 ()Ljava/lang/String;
245
+
public final fun copy (Ljava/lang/String;Ljava/lang/String;)Lcom/skydoves/compose/stability/idea/toolwindow/StabilityNodeData$GitHubLink;
246
+
public static synthetic fun copy$default (Lcom/skydoves/compose/stability/idea/toolwindow/StabilityNodeData$GitHubLink;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/skydoves/compose/stability/idea/toolwindow/StabilityNodeData$GitHubLink;
247
+
public fun equals (Ljava/lang/Object;)Z
248
+
public final fun getText ()Ljava/lang/String;
249
+
public final fun getUrl ()Ljava/lang/String;
250
+
public fun hashCode ()I
251
+
public fun toString ()Ljava/lang/String;
252
+
}
253
+
241
254
public final class com/skydoves/compose/stability/idea/toolwindow/StabilityNodeData$Module : com/skydoves/compose/stability/idea/toolwindow/StabilityNodeData {
Copy file name to clipboardExpand all lines: compose-stability-analyzer-idea/src/test/kotlin/com/skydoves/compose/stability/idea/settings/StabilitySettingsStateTest.kt
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -41,7 +41,7 @@ class StabilitySettingsStateTest {
0 commit comments