1.3.0
- New: Implement
ModifierComposed
check to lint against use ofModifier.composed
, which is no longer recommended in favor of the newModifier.Node
API. - New: Implement
ComposeUnstableReceiver
check to warn when composable extension functions or composables instance functions have unstable receivers/containing classes. - New: Check for property accessors with composition locals.
- Enhancement: The
ComposeComposableModifier
message now recommends the newModifier.Node
API. - Enhancement: Make lints significantly more robust to edge cases like typealiases, import aliases, parentheses, fully-qualified references, and whitespace. Our tests now cover all these cases.
- Enhancement: Update
@Preview
detection to also detect Compose Desktop's own@Preview
annotation. - Enhancement: Improve the
ComposeParameterOrder
check to only lint the parameter list and add a quickfix. - Enhancement: Add support for checking for loops in multiple content emitters.
- Fix: Fix allowed names config for Unit-returning functions.
- Fix: Ignore context receivers in multiple content emissions lint.
- Fix: Allow nullable types for trailing lambdas in
ComposeParameterOrder
. - Fix: Best-effort work around name mangling when comparing name in M2ApiDetector's allow list.
- Fix: Fix
ComposePreviewPublic
to always just require private, remove preview parameter configuration. - Docs: Improve docs for
ComposeContentEmitterReturningValues
- Build against lint-api
31.2.2
. - Test against lint-api
31.4.0-alpha06
. - Raise Kotlin apiVersion/languageVersion to
1.9.0
.
Special thanks to @jzbrooks, @joeMalebe, and @dellisd for contributing to this release!
What's Changed
- Update dependency Pygments to v2.15.1 by @slack-oss-bot in #108
- Update dependency tornado to v6.3.1 by @slack-oss-bot in #111
- Update dependency gradle to v8.1.1 by @slack-oss-bot in #110
- Update dependency mkdocs-material to v9.1.7 by @slack-oss-bot in #112
- Update dependency termcolor to v2.3.0 by @slack-oss-bot in #113
- Update dependency mkdocs-material to v9.1.8 by @slack-oss-bot in #114
- Update plugin ksp to v1.8.21-1.0.11 by @slack-oss-bot in #115
- Update lint-latest to v31.2.x alphas by @slack-oss-bot in #109
- Update dependency com.facebook:ktfmt to v0.44 by @slack-oss-bot in #116
- Update dependency mkdocs to v1.4.3 by @slack-oss-bot in #119
- Update dependency mkdocs-material to v9.1.9 by @slack-oss-bot in #120
- Update dependency com.google.auto.service:auto-service-annotations to v1.1.0 by @slack-oss-bot in #126
- Update plugin detekt to v1.23.0 by @slack-oss-bot in #127
- Update plugin spotless to v6.19.0 by @slack-oss-bot in #128
- Update dependency mkdocs-macros-plugin to v1 by @slack-oss-bot in #130
- Update dependency MarkupSafe to v2.1.3 by @slack-oss-bot in #131
- Update plugin dokka to v1.8.20 by @slack-oss-bot in #132
- Update dependency pymdown-extensions to v10 by @slack-oss-bot in #124
- Update dependency com.android.tools.lint:lint-api to v31.0.2 by @slack-oss-bot in #117
- Update dependency mkdocs-material to v9.1.15 by @slack-oss-bot in #122
- Update plugin lint to v8.0.2 by @slack-oss-bot in #118
- Update dependency tornado to v6.3.2 by @slack-oss-bot in #123
- Allow nullable types for trailing lambdas in ComposeParameterOrder by @mrmans0n in #134
- Ignore context receivers in multiple content emissions lint by @mrmans0n in #135
- Update dependency com.google.auto.service:auto-service-annotations to v1.1.1 by @slack-oss-bot in #136
- Fix allowed names for Unit-returning functions by @dellisd in #139
- Update plugin ksp to v1.8.22-1.0.11 by @slack-oss-bot in #133
- Update lint-latest to v31.2.0-alpha09 by @slack-oss-bot in #121
- Update dependency mkdocs-material to v9.1.17 by @slack-oss-bot in #138
- Update lint-latest to v31.2.0-alpha10 by @slack-oss-bot in #140
- Update dependency click to v8.1.4 by @slack-oss-bot in #144
- Update dependency mkdocs-material to v9.1.18 by @slack-oss-bot in #143
- Update lint-latest to v31.2.0-alpha11 by @slack-oss-bot in #145
- Update dependency gradle to v8.2 by @slack-oss-bot in #141
- Update plugin mavenPublish to v0.25.3 by @slack-oss-bot in #142
- Update dependency dev.zacsweers.autoservice:auto-service-ksp to v1.1.0 by @slack-oss-bot in #147
- Update lint-latest to v31.2.0-alpha12 by @slack-oss-bot in #150
- Update dependency mkdocs-macros-plugin to v1.0.2 by @slack-oss-bot in #151
- Update dependency gradle to v8.2.1 by @slack-oss-bot in #149
- Update dependency PyYAML to v6.0.1 by @slack-oss-bot in #154
- Update plugin spotless to v6.20.0 by @slack-oss-bot in #155
- Update dependency mkdocs-material to v9.1.19 by @slack-oss-bot in #156
- Update lint-latest to v31.2.0-alpha13 by @slack-oss-bot in #157
- Slight Improvement for rules documentation by @joeMalebe in #170
- Update dependency click to v8.1.7 by @slack-oss-bot in #152
- Update dependency pymdown-extensions to v10.3 by @slack-oss-bot in #153
- Update dependency Markdown to v3.4.4 by @slack-oss-bot in #158
- Update dependency mkdocs-material to v9.4.2 by @slack-oss-bot in #160
- Update dependency com.android.tools.lint:lint-api to v31.1.1 by @slack-oss-bot in #161
- Update dependency mkdocs to v1.5.3 by @slack-oss-bot in #162
- Update plugin lint to v8.1.1 by @slack-oss-bot in #163
- Update plugin detekt to v1.23.1 by @slack-oss-bot in #164
- Kotlin 1.9.10 + gradle 8.3 and a couple other things by @slack-oss-bot in #146
- Update dependency com.android.tools.lint:lint-api to v31.1.2 by @slack-oss-bot in #174
- Update dependency mkdocs-macros-plugin to v1.0.4 by @slack-oss-bot in #175
- Update lint-latest to v31.3.0-alpha06 + fix baselined issues by @slack-oss-bot in #159
- Update actions/checkout action to v4 by @slack-oss-bot in #181
- Update dependency tornado to v6.3.3 by @slack-oss-bot in #176
- Update dependency lunr to v0.7.0.post1 by @slack-oss-bot in #178
- Update dependency mkdocs-material-extensions to v1.2 by @slack-oss-bot in #179
- Update plugin spotless to v6.22.0 by @slack-oss-bot in #180
- Update dependency Pygments to v2.16.1 by @slack-oss-bot in #177
- Update lint-latest to v31.3.0-alpha12 by @slack-oss-bot in #184
- Update dependency Markdown to v3.5.1 by @slack-oss-bot in #185
- Update plugin dokka to v1.9.10 by @slack-oss-bot in #186
- Update dependency org.jetbrains.kotlin.jvm to v1.9.20 by @slack-oss-bot in #190
- Update dependency mkdocs-material to v9.4.7 by @slack-oss-bot in #182
- Update dependency gradle to v8.4 by @slack-oss-bot in #183
- Update dependency pymdown-extensions to v10.3.1 by @slack-oss-bot in #188
- Update plugin detekt to v1.23.3 by @slack-oss-bot in #191
- Update dependency mkdocs-material-extensions to v1.3 by @slack-oss-bot in #187
- Update dependency pymdown-extensions to v10.5 by @slack-oss-bot in #199
- Update dependency mkdocs-material-extensions to v1.3.1 by @slack-oss-bot in #201
- Update plugin lint to v8.1.4 by @slack-oss-bot in #196
- Update dependency org.jetbrains.kotlin.jvm to v1.9.21 by @slack-oss-bot in #202
- Update lint-latest to v31.3.0-alpha14 by @slack-oss-bot in #198
- Update dependency mkdocs-macros-plugin to v1.0.5 by @slack-oss-bot in #192
- Update plugin ksp to v1.9.20-1.0.14 by @slack-oss-bot in #193
- Update dependency Pygments to v2.17.2 by @slack-oss-bot in #200
- Update dependency com.android.tools.lint:lint-api to v31.1.4 by @slack-oss-bot in #195
- Update dependency mkdocs-material to v9.4.12 by @slack-oss-bot in #194
- Update dependency mkdocs-material to v9.4.14 by @slack-oss-bot in #207
- Update plugin detekt to v1.23.4 by @slack-oss-bot in #208
- Implement ModifierComposed check by @ZacSweers in #204
- Add support for checking for loops in multiple content emitters by @ZacSweers in #205
- Update plugin ksp to v1.9.21-1.0.15 by @slack-oss-bot in #210
- Update actions/setup-python action to v5 by @slack-oss-bot in #221
- Update lint-latest to v31.3.0-alpha16 by @slack-oss-bot in #212
- Update dependency gradle to v8.5 by @slack-oss-bot in #214
- Update actions/setup-java action to v4 by @slack-oss-bot in #215
- Update plugin lint to v8.2.0 by @slack-oss-bot in #217
- Update plugin spotless to v6.23.3 by @slack-oss-bot in #211
- Update dependency termcolor to v2.4.0 by @slack-oss-bot in #219
- Update dependency tornado to v6.4 by @slack-oss-bot in #213
- Update dependency com.android.tools.lint:lint-api to v31.2.0 by @slack-oss-bot in #216
- Update dependency mkdocs-material to v9.5.3 by @slack-oss-bot in #223
- Update plugin ksp to v1.9.22-1.0.16 by @slack-oss-bot in #224
- Update dependency pymdown-extensions to v10.7 by @slack-oss-bot in #228
- Update dependency org.jetbrains.kotlin.jvm to v1.9.22 by @slack-oss-bot in #227
- Update actions/upload-artifact action to v4 by @slack-oss-bot in #225
- Improve the parameter order check by @jzbrooks in #229
- Update lint-latest to v31.3.0-beta01 by @slack-oss-bot in #222
- Update plugin mavenPublish to v0.26.0 by @slack-oss-bot in #226
- Update lint-latest to v31.3.0-beta02 by @slack-oss-bot in #236
- Update plugin lint to v8.2.1 by @slack-oss-bot in #231
- Update plugin mavenPublish to v0.27.0 by @slack-oss-bot in #232
- Update dependency Markdown to v3.5.2 by @slack-oss-bot in #235
- Update dependency Jinja2 to v3.1.3 by @slack-oss-bot in #234
- Update lint-latest to 31.4.0-x by @slack-oss-bot in #230
- Update dependency MarkupSafe to v2.1.4 by @slack-oss-bot in #242
- Update plugin spotless to v6.24.0 by @slack-oss-bot in #237
- Update dependency mkdocs-material to v9.5.4 by @slack-oss-bot in #238
- Update plugin ksp to v1.9.22-1.0.17 by @slack-oss-bot in #240
- Fix most test mode issues in lints, better harden them against different edge cases lint helps test for. by @ZacSweers in #209
- Update dependency com.facebook:ktfmt to v0.47 by @slack-oss-bot in #239
- Add testDocumentationExample by @ZacSweers in #244
- Misc repo infra work by @ZacSweers in #243
- Implement UnstableReceiverDetector by @ZacSweers in #245
- Check for property accessors with composition locals by @ZacSweers in #249
- Add support for checking inherited stability in UnstableReceiverDetector by @ZacSweers in #248
- Fix PreviewPublicDetector by @ZacSweers in #206
- Update dependency com.android.tools.lint:lint-api to v31.2.2 by @slack-oss-bot in #250
- Update dependency mkdocs-material to v9.5.5 by @slack-oss-bot in #251
- Update lint-latest to v31.4.0-alpha05 by @slack-oss-bot in #246
- Update lint-latest to v31.4.0-alpha06 by @slack-oss-bot in #254
- Update plugin spotless to v6.25.0 by @slack-oss-bot in #255
- Add name mangling workaround by @ZacSweers in #253
New Contributors
- @dellisd made their first contribution in #139
- @joeMalebe made their first contribution in #170
- @jzbrooks made their first contribution in #229
Full Changelog: 1.2.0...1.3.0