Releases: skydoves/compose-stability-analyzer
Releases · skydoves/compose-stability-analyzer
0.6.6
[0.6.6] - 2025-12-24
Fixed
- Fixed stabilityDump task incorrectly marked as UP-TO-DATE
- Task now properly tracks the
stability-info.jsoninput file for up-to-date checks - Changed from
@Internalto@InputFilesannotation on input file property - Ensures stability files are regenerated when compiler output changes
- Fixes issue where running
./gradlew stabilityDumpwould skip execution even when stability files were missing - Task now correctly runs after
cleanor when stability output is deleted
- Task now properly tracks the
0.6.5
[0.6.5] - 2025-12-17
Added
- Quiet mode for stability validation (Issue #83)
- New
quietCheck: Boolean = falseoption instabilityValidationconfiguration - Suppresses "✅ Stability check passed." messages for modules that pass checks
- Reduces log noise in multi-module projects where many modules pass validation
- Errors and warnings still shown normally
- Example:
stabilityValidation { quietCheck.set(true) }
- New
Changed
- Upgraded to Kotlin 2.3.0
0.6.4
0.6.3
0.6.2
[0.6.2] - 2025-12-13
Added
- Cross-module stability detection - Classes from other modules now require explicit stability annotations
- Classes from different Gradle modules are marked as UNSTABLE unless annotated with @Stable/@Immutable/@StabilityInferred
- Gradle plugin automatically detects project dependencies and passes them to compiler plugin
- IDE plugin uses IntelliJ module system to identify cross-module types
- Prevents accidentally assuming stability for classes where implementation details aren't visible
- Both compiler plugin and IDE plugin now consistently handle cross-module boundaries
Fixed
- Fixed property source file location and navigation in tool window (Issue #67)
- Tool window now correctly identifies source file for composable properties
- Properties no longer show "Unknown.kt" as file name
- Double-clicking on property names in tool window now navigates to correct source location
- Extended source location search to include
KtPropertydeclarations in addition toKtNamedFunction
- Fixed compiler tests compatibility with new cross-module detection
- Updated test configurator to pass projectDependencies parameter
- All compiler tests now passing with cross-module detection enabled
Improved
- Enhanced tool window handling of ignored type patterns (Issue #74)
- Ignored parameters are now displayed as stable instead of being hidden completely
- Composable skippability is recalculated based on processed parameters after applying ignore patterns
- Composables with only ignored unstable parameters now correctly show as skippable
- Provides better visibility of composable signatures while respecting ignore patterns
0.6.1
[0.6.1] - 2025-12-06
Added
- Settings icon in tool window toolbar
- Added gear icon to tool window toolbar for quick access to plugin settings
- Opens Settings → Tools → Compose Stability Analyzer when clicked
- Provides easier access to configuration without navigating through IDE menus
Fixed
- Tool window now respects ignored type patterns (Issue #74)
- Fixed inconsistency where ignored type patterns worked for inline hints but not tool window
- Parameters matching ignore patterns are now filtered from tool window display
- Provides consistent behavior across all plugin features (gutter icons, inline hints, warnings, and tool window)
- When users configure type patterns to ignore in Settings, those types are now properly excluded from the tool window panel
- Fixed WASM build failures with Gradle task dependencies (Issue #70)
- Excluded WASM infrastructure tasks (sync, webpack, executable, link, assemble) from task dependency matching
- Resolves errors like "wasmJsBrowserProductionWebpack uses output from wasmJsDevelopmentExecutableCompileSync without declaring dependency"
- WASM projects now build successfully without task dependency violations
- Fixed top-level property display in tool window and stability files (Issue #67)
- Properties no longer show as
<get-propertyName>in tool window and stability reports - Correctly extracts property names from getter functions
- File attribution now shows correct file instead of "Unknown.kt"
- Properties no longer show as
Improved
- Updated tool window icon to monochrome style
- Changed from colored icon to monochrome design for better consistency with IntelliJ UI
- Follows IntelliJ platform design guidelines for tool window icons
0.6.0
What's Changed
- Implement failOnStabilityChange property for the gradle plugin by @skydoves in #56
- Add Intention Description Dir URL by @skydoves in #58
- Change configuration scopes from to application to project by @skydoves in #62
- Support KMP js by @skydoves in #63
- Mark runtime stability for composables by @skydoves in #64
- Inference generic types by @skydoves in #65
Full Changelog: 0.5.3...0.6.0
0.5.3
What's Changed
- Resize the WindowTool icon size by @skydoves in #50
- Prevent toString to use Kotlin reflection to get function metadata by @skydoves in #51
- Revise README for plugin setup instructions by @ZeyadAbdullah679 in #53
- Shadow kotlinx.serialization to the compiler plugin by @skydoves in #54
- Prepare for release 0.5.3 by @skydoves in #55
New Contributors
- @ZeyadAbdullah679 made their first contribution in #53
Full Changelog: 0.5.2...0.5.3
0.5.2
What's Changed
- Loosely apply the R8 optimizations by @skydoves in #43
- Add an explicit project name to captures the project name during configurations by @skydoves in #44
- Ignore the preview annotated composable function in the stability analysis process. by @skydoves in #46
Full Changelog: 0.5.1...0.5.2
0.5.1
What's Changed
- Bump since build to 242, and add plugin verification by @skydoves in #34
- Uses lazy configuration to avoid eager task resolution and Gradle 9.x compatibility issues by @skydoves in #35
- Support wasmJs in multiplatform by @skydoves in #36
- Validate a subclass of a sealed type class by @skydoves in #37
- Prepare for release 0.5.1 by @skydoves in #38
Full Changelog: 0.5.0...0.5.1