Skip to content

deps(deps): bump the kotlin group with 2 updates#1002

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/gradle/kotlin-4808102e7a
Open

deps(deps): bump the kotlin group with 2 updates#1002
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/gradle/kotlin-4808102e7a

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Jun 8, 2026

Bumps the kotlin group with 2 updates: org.jetbrains.kotlin.plugin.compose and org.jetbrains.kotlin.plugin.serialization.

Updates org.jetbrains.kotlin.plugin.compose from 2.3.21 to 2.4.0

Release notes

Sourced from org.jetbrains.kotlin.plugin.compose's releases.

Kotlin 2.4.0

Changelog

Analysis API

  • KT-83867 OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo
  • KT-83723 [Analysis API] Enable experimental KDoc resolver by default
  • KT-83388 Analysis API: properly support KMP in KotlinPackageProvider
  • KT-65683 Analysis API: Dangling file session creation causes a computeIfAbsent contract violation

Analysis API. Code Compilation

  • KT-78946 Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception

Analysis API. FIR

  • KT-68260 K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text ::lam1, unexpected element of type: no element found” with illegal callable reference call
  • KT-70896 AA: False positive deprecation warning with override of built-in method in JDK mapped class
  • KT-84711 K2 IDE sometimes loses FIR plugin-generated declarations after file changes
  • KT-84625 Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes
  • KT-84596 Improve K2 Jooq completion performance
  • KT-84525 KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite
  • KT-83546 Kotlin analysis reach ClsCustomNavigationPolicy
  • KT-84259 Move CommonDefaultImportsProvider to the frontend independent module
  • KT-82945 Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
  • KT-71135 AA: exception from sealed inheritors checker when analyzeCopy

Analysis API. Infrastructure

Fixes

  • KT-83905 Analysis API: Improve UX with test data
  • KT-84913 Extract compiler classes used by the PSI & Analysis API to a separate module
  • KT-64986 Analysis API: Implement Analysis API tests for different KMP Platforms
  • KT-84776 The test data manager misses the redundancy check in the update mode
  • KT-84962 The test data manager misses -ea flag
  • KT-84388 Preserve the EOF status in the test data manager to avoid extra changes
  • KT-84362 Analysis API tests produce many warnings due to "not yet loaded registry"
  • KT-84279 Test Data Manager fails on a clean build
  • KT-83913 Exclude compiler-based Analysis API tests from Git tracking
  • KT-80379 Extract per-module test generators for AA tests
  • KT-84120 Move CLI modules out of kotlin-compiler-fe10-for-ide
  • KT-83200 Track external dependencies of the Analysis API modules

Analysis API. Light Classes

  • KT-82434 Light classes should prefer enum entries to properties
  • KT-84200 SLC: return type is not boxed for delegated methods with generic original method
  • KT-72451 "CCE: class PsiPrimitiveType cannot be cast to class PsiClassType" with same-named enum class and typealias

... (truncated)

Changelog

Sourced from org.jetbrains.kotlin.plugin.compose's changelog.

2.4.0

Analysis API

  • KT-83867 OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo
  • KT-83723 [Analysis API] Enable experimental KDoc resolver by default
  • KT-83388 Analysis API: properly support KMP in KotlinPackageProvider
  • KT-65683 Analysis API: Dangling file session creation causes a computeIfAbsent contract violation

Analysis API. Code Compilation

  • KT-78946 Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception

Analysis API. FIR

  • KT-68260 K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text ::lam1, unexpected element of type: no element found” with illegal callable reference call
  • KT-70896 AA: False positive deprecation warning with override of built-in method in JDK mapped class
  • KT-84711 K2 IDE sometimes loses FIR plugin-generated declarations after file changes
  • KT-84625 Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes
  • KT-84596 Improve K2 Jooq completion performance
  • KT-84525 KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite
  • KT-83546 Kotlin analysis reach ClsCustomNavigationPolicy
  • KT-84259 Move CommonDefaultImportsProvider to the frontend independent module
  • KT-82945 Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
  • KT-71135 AA: exception from sealed inheritors checker when analyzeCopy

Analysis API. Infrastructure

Fixes

  • KT-83905 Analysis API: Improve UX with test data
  • KT-84913 Extract compiler classes used by the PSI & Analysis API to a separate module
  • KT-64986 Analysis API: Implement Analysis API tests for different KMP Platforms
  • KT-84776 The test data manager misses the redundancy check in the update mode
  • KT-84962 The test data manager misses -ea flag
  • KT-84388 Preserve the EOF status in the test data manager to avoid extra changes
  • KT-84362 Analysis API tests produce many warnings due to "not yet loaded registry"
  • KT-84279 Test Data Manager fails on a clean build
  • KT-83913 Exclude compiler-based Analysis API tests from Git tracking
  • KT-80379 Extract per-module test generators for AA tests
  • KT-84120 Move CLI modules out of kotlin-compiler-fe10-for-ide
  • KT-83200 Track external dependencies of the Analysis API modules

Analysis API. Light Classes

  • KT-82434 Light classes should prefer enum entries to properties
  • KT-84200 SLC: return type is not boxed for delegated methods with generic original method
  • KT-72451 "CCE: class PsiPrimitiveType cannot be cast to class PsiClassType" with same-named enum class and typealias

Analysis API. PSI

... (truncated)

Commits
  • add726c Add ChangeLog for 2.4.0-RC2
  • 69a4a81 [Wasm] Add binaryen per-file arguments
  • 8907c63 [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...
  • f9bef12 [KGP] Add failing test for duplicate compiler warning output via Problems API
  • 7fe49c2 KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs
  • 13d25e2 KT-86268: Regression test added
  • f7d1a76 [JKlib] Fix JAR deserializer configuration.
  • 5cec663 [JKlib] Wire up JvmBuiltInClassDescriptorFactory
  • ef14611 Make the default stability of non-final classes Unknown instead of Stable
  • d76473a [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures
  • Additional commits viewable in compare view

Updates org.jetbrains.kotlin.plugin.serialization from 2.3.21 to 2.4.0

Release notes

Sourced from org.jetbrains.kotlin.plugin.serialization's releases.

Kotlin 2.4.0

Changelog

Analysis API

  • KT-83867 OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo
  • KT-83723 [Analysis API] Enable experimental KDoc resolver by default
  • KT-83388 Analysis API: properly support KMP in KotlinPackageProvider
  • KT-65683 Analysis API: Dangling file session creation causes a computeIfAbsent contract violation

Analysis API. Code Compilation

  • KT-78946 Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception

Analysis API. FIR

  • KT-68260 K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text ::lam1, unexpected element of type: no element found” with illegal callable reference call
  • KT-70896 AA: False positive deprecation warning with override of built-in method in JDK mapped class
  • KT-84711 K2 IDE sometimes loses FIR plugin-generated declarations after file changes
  • KT-84625 Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes
  • KT-84596 Improve K2 Jooq completion performance
  • KT-84525 KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite
  • KT-83546 Kotlin analysis reach ClsCustomNavigationPolicy
  • KT-84259 Move CommonDefaultImportsProvider to the frontend independent module
  • KT-82945 Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
  • KT-71135 AA: exception from sealed inheritors checker when analyzeCopy

Analysis API. Infrastructure

Fixes

  • KT-83905 Analysis API: Improve UX with test data
  • KT-84913 Extract compiler classes used by the PSI & Analysis API to a separate module
  • KT-64986 Analysis API: Implement Analysis API tests for different KMP Platforms
  • KT-84776 The test data manager misses the redundancy check in the update mode
  • KT-84962 The test data manager misses -ea flag
  • KT-84388 Preserve the EOF status in the test data manager to avoid extra changes
  • KT-84362 Analysis API tests produce many warnings due to "not yet loaded registry"
  • KT-84279 Test Data Manager fails on a clean build
  • KT-83913 Exclude compiler-based Analysis API tests from Git tracking
  • KT-80379 Extract per-module test generators for AA tests
  • KT-84120 Move CLI modules out of kotlin-compiler-fe10-for-ide
  • KT-83200 Track external dependencies of the Analysis API modules

Analysis API. Light Classes

  • KT-82434 Light classes should prefer enum entries to properties
  • KT-84200 SLC: return type is not boxed for delegated methods with generic original method
  • KT-72451 "CCE: class PsiPrimitiveType cannot be cast to class PsiClassType" with same-named enum class and typealias

... (truncated)

Changelog

Sourced from org.jetbrains.kotlin.plugin.serialization's changelog.

2.4.0

Analysis API

  • KT-83867 OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo
  • KT-83723 [Analysis API] Enable experimental KDoc resolver by default
  • KT-83388 Analysis API: properly support KMP in KotlinPackageProvider
  • KT-65683 Analysis API: Dangling file session creation causes a computeIfAbsent contract violation

Analysis API. Code Compilation

  • KT-78946 Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception

Analysis API. FIR

  • KT-68260 K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text ::lam1, unexpected element of type: no element found” with illegal callable reference call
  • KT-70896 AA: False positive deprecation warning with override of built-in method in JDK mapped class
  • KT-84711 K2 IDE sometimes loses FIR plugin-generated declarations after file changes
  • KT-84625 Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes
  • KT-84596 Improve K2 Jooq completion performance
  • KT-84525 KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite
  • KT-83546 Kotlin analysis reach ClsCustomNavigationPolicy
  • KT-84259 Move CommonDefaultImportsProvider to the frontend independent module
  • KT-82945 Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
  • KT-71135 AA: exception from sealed inheritors checker when analyzeCopy

Analysis API. Infrastructure

Fixes

  • KT-83905 Analysis API: Improve UX with test data
  • KT-84913 Extract compiler classes used by the PSI & Analysis API to a separate module
  • KT-64986 Analysis API: Implement Analysis API tests for different KMP Platforms
  • KT-84776 The test data manager misses the redundancy check in the update mode
  • KT-84962 The test data manager misses -ea flag
  • KT-84388 Preserve the EOF status in the test data manager to avoid extra changes
  • KT-84362 Analysis API tests produce many warnings due to "not yet loaded registry"
  • KT-84279 Test Data Manager fails on a clean build
  • KT-83913 Exclude compiler-based Analysis API tests from Git tracking
  • KT-80379 Extract per-module test generators for AA tests
  • KT-84120 Move CLI modules out of kotlin-compiler-fe10-for-ide
  • KT-83200 Track external dependencies of the Analysis API modules

Analysis API. Light Classes

  • KT-82434 Light classes should prefer enum entries to properties
  • KT-84200 SLC: return type is not boxed for delegated methods with generic original method
  • KT-72451 "CCE: class PsiPrimitiveType cannot be cast to class PsiClassType" with same-named enum class and typealias

Analysis API. PSI

... (truncated)

Commits
  • add726c Add ChangeLog for 2.4.0-RC2
  • 69a4a81 [Wasm] Add binaryen per-file arguments
  • 8907c63 [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...
  • f9bef12 [KGP] Add failing test for duplicate compiler warning output via Problems API
  • 7fe49c2 KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs
  • 13d25e2 KT-86268: Regression test added
  • f7d1a76 [JKlib] Fix JAR deserializer configuration.
  • 5cec663 [JKlib] Wire up JvmBuiltInClassDescriptorFactory
  • ef14611 Make the default stability of non-final classes Unknown instead of Stable
  • d76473a [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures
  • Additional commits viewable in compare view

Dependabot 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 rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will 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 version will 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

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-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Jun 8, 2026

Greptile Summary

This dependabot PR bumps org.jetbrains.kotlin.plugin.compose and org.jetbrains.kotlin.plugin.serialization from 2.3.21 to 2.4.0 in the root build file, but leaves com.google.devtools.ksp at 2.3.6, which is not the version paired with Kotlin 2.4.0.

  • The official Kotlin 2.4.0 documentation specifies KSP 2.3.9 as the compatible KSP release; leaving it at 2.3.6 will likely fail the build due to a Kotlin compiler version mismatch enforced by KSP at startup.
  • Kotlin 2.4.0 changes the default Compose compiler stability of non-final classes from Stable to Unknown, which may cause increased recompositions in Composables that accept interface or open-class parameters without explicit stability annotations.

Confidence Score: 3/5

Not 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 2.3.6 is paired with an earlier Kotlin release; Kotlin 2.4.0 requires KSP 2.3.9. All modules using com.google.devtools.ksp (data, app, rns-backend-kt) will fail at the KSP version-validation step. The Compose stability default change is a secondary concern that requires a follow-up audit of Composable call sites.

build.gradle.kts — KSP version must be bumped to 2.3.9 before merging.

Important Files Changed

Filename Overview
build.gradle.kts Bumps kotlin.plugin.compose and kotlin.plugin.serialization from 2.3.21 → 2.4.0; KSP remains at 2.3.6 which is incompatible with Kotlin 2.4.0 (needs 2.3.9)

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]
Loading
Prompt To Fix All With AI
Fix 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

Comment thread build.gradle.kts
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
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 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.

Comment thread build.gradle.kts
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
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants