Update dependency com.slack.lint.compose:compose-lint-checks to v1.5.0#6923
Conversation
|
This update introduces two issues in various places in our codebase, both in 'new' and older code
|
Thanks for the list, I've fixed the issue about wrong usage of |
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
|
Merging lint is now passing. |
This PR contains the following updates:
1.4.3→1.5.0Release Notes
slackhq/compose-lints (com.slack.lint.compose:compose-lint-checks)
v1.5.0Compare Source
2026-05-26
ComposeUnstableReceiver,ComposeMutableParameters,ComposeUnstableCollections) are now disabled by default as they are significantly less important in the era of Compose strong skipping. Re-enable them via the newstability-checksoption inlint.xml. See https://slackhq.github.io/compose-lints/rules/#stability.ComposeItemKeyHashCodeto flaghashCode()used inLazy*/Pageritem keys. Item keys must be unique, but hashCodes are not. See https://slackhq.github.io/compose-lints/rules/#dont-use-hashcode-as-a-key.ComposeRedundantComposableto flag functions/properties annotated@Composablethat don't use the composition (no@Composablecalls or property reads), so the annotation can be removed. See https://slackhq.github.io/compose-lints/rules/#remove-unnecessary-composable-annotations.ModifierReuseddata flow analysis. This addresses several past issues with modifier parameter use in composables.ComposeViewModelForwardingis now smarter: it detectsViewModels forwarded inside nested blocks (e.g.Row { Composable(viewModel) }), follows reassignments (e.g.val vm = viewModel; Other(vm)) via data-flow analysis instead of name matching, and no longer flags capitalized non-composable calls (such as event handlers) that happen to take aViewModel.ComposeUnstableReceiverfalse positives on Kotlinvalue classreceivers and on composable members ofvalue classtypes. Value classes are now treated as stable when their underlying property type is stable, including for compiled cross-module classes (via a metadata-aware evaluator).stability-checksoption being intermittently ignored: each stability check now registers its own option instance, since a single instance shared across issues had its (lint-internal) issue back-reference overwritten depending on class-load order, causing the configured value to resolve against the wrong issue.ComposeRememberMissingrule in favor of Compose's ownUnrememberedMutableStatelint, which ships with the Compose runtime, is enabled by default, and covers more state builders without the false positives our rule had. See #490.32.2.1.Special thanks to @aasitnikov for contributing to this release!
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.