Skip to content

Commit 5515e25

Browse files
authored
Prepare for release 0.6.7 (#113)
1 parent 8926403 commit 5515e25

File tree

5 files changed

+69
-3
lines changed

5 files changed

+69
-3
lines changed

CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,42 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.6.7] - 2026-02-10
9+
10+
### Added
11+
- **Android variant-specific stability tasks** (Issue #85, PR #101)
12+
- Gradle plugin now creates per-variant tasks (e.g., `debugStabilityDump`, `releaseStabilityCheck`) for Android projects
13+
- Allows running stability analysis on a single variant without compiling others
14+
- Aggregate tasks (`stabilityDump`, `stabilityCheck`) still available for all variants
15+
- Improved build cache compatibility for Kotlin compile output registration
16+
- **Non-regressive change filtering for stability validation** (Issue #82, PR #104)
17+
- New `ignoreNonRegressiveChanges` option: only flag stability regressions, ignore non-regressive changes (e.g., new stable parameters)
18+
- New `allowMissingBaseline` option: allow stability checks to run even without an existing baseline file
19+
- With both flags enabled, the Gradle plugin reports all unstable composables found in the module
20+
- **Stability configuration file wildcard support** (Issue #108, PR #110)
21+
- Implemented `stabilityPatternToRegex` to support `*` and `**` wildcard syntax in stability configuration files
22+
- Matches the format used by the official Compose compiler stability configuration
23+
- Example: `com.datalayer.*`, `com.example.**`
24+
25+
### Fixed
26+
- **`@StabilityInferred` annotation now supported in Gradle plugin** (Issue #102, PR #112)
27+
- Immutable classes from other modules annotated with `@StabilityInferred(parameters=0)` are now correctly treated as stable during `stabilityDump`/`stabilityCheck`
28+
- Previously, cross-module classes with `@StabilityInferred` were incorrectly marked as UNSTABLE
29+
- Aligns Gradle plugin behavior with the IDEA plugin, which already handled this correctly
30+
- **Skip analysis for `@NonRestartableComposable` and `@NonSkippableComposable`** (Issue #103, PR #111)
31+
- Composable functions annotated with `@NonRestartableComposable` or `@NonSkippableComposable` are now excluded from stability analysis
32+
- These functions are not subject to recomposition skipping, so stability analysis is not applicable
33+
- **Improved typealias handling in IDEA plugin** (Issue #16, PR #106)
34+
- Parameters using a typealias to a function type (e.g., `typealias ComposableAction = @Composable () -> Unit`) are now correctly recognized as stable
35+
- Added typealias expansion support across PSI fallback, K1, and K2 analysis paths
36+
- Includes circular alias recursion guard to prevent infinite loops
37+
38+
### Improved
39+
- **Replaced internal `nj2k.descendantsOfType` with stable `PsiTreeUtil` API** (PR #109)
40+
- Implemented intelligent caching mechanism for typealias resolution with automatic expiration
41+
- Streamlined function-type detection and composability checking logic
42+
- Improved IDE responsiveness during analysis
43+
844
## [0.6.6] - 2025-12-24
945

1046
### Fixed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ This is incredibly useful for:
170170
First, add the plugin to the `[plugins]` section of your `libs.versions.toml` file:
171171

172172
```toml
173-
stability-analyzer = { id = "com.github.skydoves.compose.stability.analyzer", version = "0.6.6" }
173+
stability-analyzer = { id = "com.github.skydoves.compose.stability.analyzer", version = "0.6.7" }
174174
```
175175

176176
Then, apply it to your root `build.gradle.kts` with `apply false`:

compose-stability-analyzer-idea/CHANGELOG.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,36 @@
22

33
All notable changes to the IntelliJ IDEA plugin will be documented in this file.
44

5+
## [0.6.7] - 2026-02-10
6+
7+
### Added
8+
- **Android variant-specific stability tasks** (Issue #85, PR #101)
9+
- Gradle plugin now creates per-variant tasks (e.g., `debugStabilityDump`, `releaseStabilityCheck`) for Android projects
10+
- Allows running stability analysis on a single variant without compiling others
11+
- Improved build cache compatibility
12+
- **Non-regressive change filtering for stability validation** (Issue #82, PR #104)
13+
- New `ignoreNonRegressiveChanges` option to only flag stability regressions
14+
- New `allowMissingBaseline` option to allow checks without an existing baseline file
15+
- **Stability configuration file wildcard support** (Issue #108, PR #110)
16+
- Implemented `stabilityPatternToRegex` supporting `*` and `**` wildcard syntax
17+
- Matches the official Compose compiler stability configuration format
18+
19+
### Fixed
20+
- **`@StabilityInferred` annotation now supported in Gradle plugin** (Issue #102, PR #112)
21+
- Cross-module classes with `@StabilityInferred(parameters=0)` now correctly treated as stable during `stabilityDump`/`stabilityCheck`
22+
- Aligns Gradle plugin behavior with the IDEA plugin
23+
- **Skip analysis for `@NonRestartableComposable` and `@NonSkippableComposable`** (Issue #103, PR #111)
24+
- These composable functions are now excluded from stability analysis as they are not subject to recomposition skipping
25+
- **Improved typealias handling** (Issue #16, PR #106)
26+
- Typealias to function types (e.g., `typealias ComposableAction = @Composable () -> Unit`) now correctly recognized as stable
27+
- Added typealias expansion support across PSI, K1, and K2 analysis paths with circular alias recursion guard
28+
29+
### Improved
30+
- **Replaced internal `nj2k.descendantsOfType` with stable `PsiTreeUtil` API** (PR #109)
31+
- Intelligent caching for typealias resolution with automatic expiration
32+
- Streamlined function-type detection and composability checking logic
33+
- Improved IDE responsiveness during analysis
34+
535
## [0.6.4] - 2025-12-16
636

737
### Fixed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ kotlin.mpp.androidGradlePluginCompatibility.nowarn=true
5151

5252
# Maven publishing
5353
GROUP=com.github.skydoves
54-
VERSION_NAME=0.6.6
54+
VERSION_NAME=0.6.7
5555

5656
POM_URL=https://github.com/skydoves/compose-stability-analyzer/
5757
POM_SCM_URL=https://github.com/skydoves/compose-stability-analyzer/

stability-gradle/src/main/kotlin/com/skydoves/compose/stability/gradle/StabilityAnalyzerGradlePlugin.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public class StabilityAnalyzerGradlePlugin : KotlinCompilerPluginSupportPlugin {
4747

4848
// This version should match the version in gradle.properties
4949
// Update this when bumping the library version
50-
private const val VERSION = "0.6.6"
50+
private const val VERSION = "0.6.7"
5151

5252
// Compiler option keys
5353
private const val OPTION_ENABLED = "enabled"

0 commit comments

Comments
 (0)