Skip to content

Releases: skydoves/compose-stability-analyzer

0.6.6

24 Dec 08:18
894b09f

Choose a tag to compare

[0.6.6] - 2025-12-24

Fixed

  • Fixed stabilityDump task incorrectly marked as UP-TO-DATE
    • Task now properly tracks the stability-info.json input file for up-to-date checks
    • Changed from @Internal to @InputFiles annotation on input file property
    • Ensures stability files are regenerated when compiler output changes
    • Fixes issue where running ./gradlew stabilityDump would skip execution even when stability files were missing
    • Task now correctly runs after clean or when stability output is deleted

0.6.5

17 Dec 11:39
d2beaf8

Choose a tag to compare

[0.6.5] - 2025-12-17

Added

  • Quiet mode for stability validation (Issue #83)
    • New quietCheck: Boolean = false option in stabilityValidation configuration
    • 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) }

Changed

  • Upgraded to Kotlin 2.3.0

0.6.4

17 Dec 02:41
3bf0cf3

Choose a tag to compare

Fixed

  • Fixed "Wrong plugin option format: null" compilation error (Issue #87)

0.6.3

13 Dec 09:18

Choose a tag to compare

Fix: #87

0.6.2

13 Dec 01:34
822107f

Choose a tag to compare

[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 KtProperty declarations in addition to KtNamedFunction
  • 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

06 Dec 00:21
5472ee5

Choose a tag to compare

[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"

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

24 Nov 05:39

Choose a tag to compare

What's Changed

Full Changelog: 0.5.3...0.6.0

0.5.3

18 Nov 08:25
ab353bc

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.5.2...0.5.3

0.5.2

14 Nov 12:34

Choose a tag to compare

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

10 Nov 11:13
8be9e13

Choose a tag to compare

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