0.6.7
Added
- Android variant-specific stability tasks (Issue #85, PR #101)
- Gradle plugin now creates per-variant tasks (e.g.,
debugStabilityDump,releaseStabilityCheck) for Android projects - Allows running stability analysis on a single variant without compiling others
- Improved build cache compatibility
- Gradle plugin now creates per-variant tasks (e.g.,
- Non-regressive change filtering for stability validation (Issue #82, PR #104)
- New
ignoreNonRegressiveChangesoption to only flag stability regressions - New
allowMissingBaselineoption to allow checks without an existing baseline file
- New
- Stability configuration file wildcard support (Issue #108, PR #110)
- Implemented
stabilityPatternToRegexsupporting*and**wildcard syntax - Matches the official Compose compiler stability configuration format
- Implemented
Fixed
@StabilityInferredannotation now supported in Gradle plugin (Issue #102, PR #112)- Cross-module classes with
@StabilityInferred(parameters=0)now correctly treated as stable duringstabilityDump/stabilityCheck - Aligns Gradle plugin behavior with the IDEA plugin
- Cross-module classes with
- Skip analysis for
@NonRestartableComposableand@NonSkippableComposable(Issue #103, PR #111)- These composable functions are now excluded from stability analysis as they are not subject to recomposition skipping
- Improved typealias handling (Issue #16, PR #106)
- Typealias to function types (e.g.,
typealias ComposableAction = @Composable () -> Unit) now correctly recognized as stable - Added typealias expansion support across PSI, K1, and K2 analysis paths with circular alias recursion guard
- Typealias to function types (e.g.,
Improved
- Replaced internal
nj2k.descendantsOfTypewith stablePsiTreeUtilAPI (PR #109)- Intelligent caching for typealias resolution with automatic expiration
- Streamlined function-type detection and composability checking logic
- Improved IDE responsiveness during analysis
Contributions
- Introduce separate task variants for Android projects by @matejdro in #101
- Ignore non regressive changes by @matejdro in #104
- Improved handling of typealiases by @gamer3dx in #106
- Replace internal nj2k.descendantsOfType with stable PsiTreeUtil API by @skydoves in #109
- Implement stabilityPatternToRegex by @skydoves in #110
- Skip analyzing for specific compose annotation by @skydoves in #111
- Support StabilityInferred annotation for Gradle plugin by @skydoves in #112
- Prepare for release 0.6.7 by @skydoves in #113
New Contributors
Full Changelog: 0.6.6...0.6.7