deps(deps): bump the kotlin group with 2 updates#1002
Conversation
Bumps the kotlin group with 2 updates: [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) and [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin). Updates `org.jetbrains.kotlin.plugin.compose` from 2.3.21 to 2.4.0 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](JetBrains/kotlin@v2.3.21...v2.4.0) Updates `org.jetbrains.kotlin.plugin.serialization` from 2.3.21 to 2.4.0 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](JetBrains/kotlin@v2.3.21...v2.4.0) --- updated-dependencies: - dependency-name: org.jetbrains.kotlin.plugin.compose dependency-version: 2.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: kotlin - dependency-name: org.jetbrains.kotlin.plugin.serialization dependency-version: 2.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: kotlin ... Signed-off-by: dependabot[bot] <support@github.com>
Greptile SummaryThis dependabot PR bumps
Confidence Score: 3/5Not safe to merge as-is: the KSP plugin was not updated alongside the Kotlin plugins, which will break the build for any module using KSP (Hilt, Room, etc.). The KSP plugin at build.gradle.kts — KSP version must be bumped to 2.3.9 before merging. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Gradle Build] --> B[kotlin.plugin.compose 2.4.0]
A --> C[kotlin.plugin.serialization 2.4.0]
A --> D[com.google.devtools.ksp 2.3.6]
B --> E[Kotlin Compiler 2.4.0]
C --> E
D --> F{KSP version check}
E --> F
F -->|2.3.6 ≠ 2.4.0 pairing| G[⚠️ Build failure: KSP/Kotlin mismatch]
F -->|Expected: ksp 2.3.9| H[✅ Compatible]
Prompt To Fix All With AIFix the following 2 code review issues. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 2
build.gradle.kts:7
**KSP version incompatible with Kotlin 2.4.0**
`com.google.devtools.ksp` is pinned at `2.3.6`, which targets an earlier Kotlin release. The official Kotlin documentation pairs Kotlin 2.4.0 with KSP `2.3.9`. Running KSP 2.3.6 against the 2.4.0 compiler plugins will cause a version-mismatch error at build time (KSP validates the Kotlin compiler version it was built against). This PR should also bump KSP to `2.3.9`.
### Issue 2 of 2
build.gradle.kts:5
**Compose compiler stability default changed in 2.4.0**
The Kotlin 2.4.0 changelog (commit `ef14611`) changes the default stability of non-final classes from `Stable` to `Unknown`. Any non-final class used as a `@Composable` parameter that was previously treated as stable will now be treated as unstable, potentially triggering additional recompositions at runtime. Review Composable call sites that accept non-final types (e.g., interfaces, open classes) and add explicit `@Stable` / `@Immutable` annotations or ensure classes are `data class` / `final` where stability is required.
Reviews (1): Last reviewed commit: "deps(deps): bump the kotlin group with 2..." | Re-trigger Greptile |
| id("org.jetbrains.kotlin.plugin.compose") version "2.3.21" apply false | ||
| id("org.jetbrains.kotlin.plugin.compose") version "2.4.0" apply false | ||
| id("com.google.dagger.hilt.android") version "2.59.2" apply false | ||
| id("com.google.devtools.ksp") version "2.3.6" apply false |
There was a problem hiding this comment.
KSP version incompatible with Kotlin 2.4.0
com.google.devtools.ksp is pinned at 2.3.6, which targets an earlier Kotlin release. The official Kotlin documentation pairs Kotlin 2.4.0 with KSP 2.3.9. Running KSP 2.3.6 against the 2.4.0 compiler plugins will cause a version-mismatch error at build time (KSP validates the Kotlin compiler version it was built against). This PR should also bump KSP to 2.3.9.
Prompt To Fix With AI
This is a comment left during a code review.
Path: build.gradle.kts
Line: 7
Comment:
**KSP version incompatible with Kotlin 2.4.0**
`com.google.devtools.ksp` is pinned at `2.3.6`, which targets an earlier Kotlin release. The official Kotlin documentation pairs Kotlin 2.4.0 with KSP `2.3.9`. Running KSP 2.3.6 against the 2.4.0 compiler plugins will cause a version-mismatch error at build time (KSP validates the Kotlin compiler version it was built against). This PR should also bump KSP to `2.3.9`.
How can I resolve this? If you propose a fix, please make it concise.| id("com.android.application") version "9.1.0" apply false | ||
| id("com.android.library") version "9.1.0" apply false | ||
| id("org.jetbrains.kotlin.plugin.compose") version "2.3.21" apply false | ||
| id("org.jetbrains.kotlin.plugin.compose") version "2.4.0" apply false |
There was a problem hiding this comment.
Compose compiler stability default changed in 2.4.0
The Kotlin 2.4.0 changelog (commit ef14611) changes the default stability of non-final classes from Stable to Unknown. Any non-final class used as a @Composable parameter that was previously treated as stable will now be treated as unstable, potentially triggering additional recompositions at runtime. Review Composable call sites that accept non-final types (e.g., interfaces, open classes) and add explicit @Stable / @Immutable annotations or ensure classes are data class / final where stability is required.
Prompt To Fix With AI
This is a comment left during a code review.
Path: build.gradle.kts
Line: 5
Comment:
**Compose compiler stability default changed in 2.4.0**
The Kotlin 2.4.0 changelog (commit `ef14611`) changes the default stability of non-final classes from `Stable` to `Unknown`. Any non-final class used as a `@Composable` parameter that was previously treated as stable will now be treated as unstable, potentially triggering additional recompositions at runtime. Review Composable call sites that accept non-final types (e.g., interfaces, open classes) and add explicit `@Stable` / `@Immutable` annotations or ensure classes are `data class` / `final` where stability is required.
How can I resolve this? If you propose a fix, please make it concise.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Bumps the kotlin group with 2 updates: org.jetbrains.kotlin.plugin.compose and org.jetbrains.kotlin.plugin.serialization.
Updates
org.jetbrains.kotlin.plugin.composefrom 2.3.21 to 2.4.0Release notes
Sourced from org.jetbrains.kotlin.plugin.compose's releases.
... (truncated)
Changelog
Sourced from org.jetbrains.kotlin.plugin.compose's changelog.
... (truncated)
Commits
add726cAdd ChangeLog for 2.4.0-RC269a4a81[Wasm] Add binaryen per-file arguments8907c63[KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...f9bef12[KGP] Add failing test for duplicate compiler warning output via Problems API7fe49c2KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs13d25e2KT-86268: Regression test addedf7d1a76[JKlib] Fix JAR deserializer configuration.5cec663[JKlib] Wire up JvmBuiltInClassDescriptorFactoryef14611Make the default stability of non-final classesUnknowninstead ofStabled76473a[Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failuresUpdates
org.jetbrains.kotlin.plugin.serializationfrom 2.3.21 to 2.4.0Release notes
Sourced from org.jetbrains.kotlin.plugin.serialization's releases.
... (truncated)
Changelog
Sourced from org.jetbrains.kotlin.plugin.serialization's changelog.
... (truncated)
Commits
add726cAdd ChangeLog for 2.4.0-RC269a4a81[Wasm] Add binaryen per-file arguments8907c63[KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...f9bef12[KGP] Add failing test for duplicate compiler warning output via Problems API7fe49c2KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs13d25e2KT-86268: Regression test addedf7d1a76[JKlib] Fix JAR deserializer configuration.5cec663[JKlib] Wire up JvmBuiltInClassDescriptorFactoryef14611Make the default stability of non-final classesUnknowninstead ofStabled76473a[Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failuresDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions