Skip to content

Chore(deps): Bump org.jetbrains.kotlin:kotlin-gradle-plugin from 1.9.23 to 2.3.0#765

Open
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/gradle/org.jetbrains.kotlin-kotlin-gradle-plugin-2.3.0
Open

Chore(deps): Bump org.jetbrains.kotlin:kotlin-gradle-plugin from 1.9.23 to 2.3.0#765
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/gradle/org.jetbrains.kotlin-kotlin-gradle-plugin-2.3.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Jan 12, 2026

Bumps org.jetbrains.kotlin:kotlin-gradle-plugin from 1.9.23 to 2.3.0.

Release notes

Sourced from org.jetbrains.kotlin:kotlin-gradle-plugin's releases.

Kotlin 2.3.0

Changelog

Analysis API

  • KT-80082 K2. False positive "Cannot resolve method" for self-bounded generic with wildcard return type in Java interop
  • KT-80303 Move :native:analysis-api-klib-reader to :libraries:tools

Analysis API. Code Compilation

  • KT-70860 K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var
  • KT-78554 K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation
  • KT-73201 K2 IDE: Error while evaluating expressions with local classes

Analysis API. FIR

  • KT-81378 Expected expression 'FirFunctionCallImpl' to be resolved caused by suspend {}
  • KT-80473 Add events for tracking LL activities
  • KT-46375 Analysis API: Support cross-file class redeclaration checks using indices
  • KT-80471 Analysis API: Deduplicate equivalent call candidates in resolveToCallCandidates
  • KT-79653 [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries
  • KT-75858 K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter
  • KT-80231 AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases
  • KT-80233 Pull mutation out of AnnotationArgumentsStateKeepers
  • KT-71466 LLFirBuiltinsSessionFactory uses createCompositeSymbolProvider
  • KT-76432 JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl

Analysis API. Infrastructure

  • KT-80717 Support IntelliJ Bazel build in the Kotlin Coop development mode

Analysis API. Light Classes

  • KT-80656 Duplicate no-args constructor in PSI
  • KT-60490 Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class
  • KT-79689 SymbolLightClassForClassLike.toString() causes PSI tree loading
  • KT-80690 Private interface functions are not present in light classes
  • KT-80256 K2: Certain actions in JPA code causes infinite PIEAE: "Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)"
  • KT-79012 Add a high-level overview of light classes

Analysis API. Providers and Caches

Fixes

  • KT-81476 Analysis API: AlreadyDisposedException from low-memory cache cleanup
  • KT-80911 Analysis API: Execute session invalidation in a non-cancelable section
  • KT-81242 Analysis API: Add UUID/lifetime properties to LL FIR session structure logging
  • KT-80622 Analysis API: Visualise LL FIR session structure & weight
  • KT-80904 Analysis API: "Invalid dangling file module" exception during session invalidation
  • KT-78882 K2 AA: Calling containingSymbol on getProgressionLastElement causes exception

... (truncated)

Changelog

Sourced from org.jetbrains.kotlin:kotlin-gradle-plugin's changelog.

2.3.0

Analysis API

  • KT-80082 K2. False positive "Cannot resolve method" for self-bounded generic with wildcard return type in Java interop
  • KT-80303 Move :native:analysis-api-klib-reader to :libraries:tools

Analysis API. Code Compilation

  • KT-70860 K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var
  • KT-78554 K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation
  • KT-73201 K2 IDE: Error while evaluating expressions with local classes

Analysis API. FIR

  • KT-81378 Expected expression 'FirFunctionCallImpl' to be resolved caused by suspend {}
  • KT-80473 Add events for tracking LL activities
  • KT-46375 Analysis API: Support cross-file class redeclaration checks using indices
  • KT-80471 Analysis API: Deduplicate equivalent call candidates in resolveToCallCandidates
  • KT-79653 [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries
  • KT-75858 K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter
  • KT-80231 AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases
  • KT-80233 Pull mutation out of AnnotationArgumentsStateKeepers
  • KT-71466 LLFirBuiltinsSessionFactory uses createCompositeSymbolProvider
  • KT-76432 JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl

Analysis API. Infrastructure

  • KT-80717 Support IntelliJ Bazel build in the Kotlin Coop development mode

Analysis API. Light Classes

  • KT-80656 Duplicate no-args constructor in PSI
  • KT-60490 Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class
  • KT-79689 SymbolLightClassForClassLike.toString() causes PSI tree loading
  • KT-80690 Private interface functions are not present in light classes
  • KT-80256 K2: Certain actions in JPA code causes infinite PIEAE: "Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)"
  • KT-79012 Add a high-level overview of light classes

Analysis API. Providers and Caches

Fixes

  • KT-81476 Analysis API: AlreadyDisposedException from low-memory cache cleanup
  • KT-80911 Analysis API: Execute session invalidation in a non-cancelable section
  • KT-81242 Analysis API: Add UUID/lifetime properties to LL FIR session structure logging
  • KT-80622 Analysis API: Visualise LL FIR session structure & weight
  • KT-80904 Analysis API: "Invalid dangling file module" exception during session invalidation
  • KT-78882 K2 AA: Calling containingSymbol on getProgressionLastElement causes exception
  • KT-58325 Analysis API: Combine LLKotlinStubBasedLibrarySymbolProviders in session dependencies (optimization)

... (truncated)

Commits
  • f95cb2f Add ChangeLog for 2.3.0-RC3
  • 9d65a2e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration
  • 35a9a82 FE: Postpone DiscriminateSuspendInOverloadResolution
  • e0b7eea FE: Add tests for KT-82869
  • e66298c Add ChangeLog for 2.3.0-RC2
  • e490802 [K/JS] Introduce a compiler argument to enable export of suspend functions
  • 585094b FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation
  • c69adc7 FIR2IR: Rename and clarify contracts for suspicious utility function
  • b4bb8bf FIR2IR: Pass original expected type to applySuspendConversionIfNeeded
  • 4718830 FIR2IR: Add tests for KT-82590
  • Additional commits viewable in compare view

Dependabot compatibility score

You can trigger a rebase of this PR 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 merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

Bumps [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) from 1.9.23 to 2.3.0.
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.9.23...v2.3.0)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file java Pull requests that update Java code labels Jan 12, 2026
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Jan 12, 2026

Greptile Summary

This PR bumps the Kotlin Gradle Plugin from 1.9.23 to 2.3.0, which is a major version upgrade spanning multiple major releases (1.9 → 2.0 → 2.1 → 2.2 → 2.3).

Critical Issues Found

❌ Incomplete Version Update

The upgrade is incomplete and will cause build failures. Only the kotlinVersion variable in build.gradle.kts was updated, but multiple other files still reference old Kotlin versions:

  1. settings.gradle.kts - Still uses Kotlin 1.9.23 for plugin declarations
  2. versions.gradle - Contains versions.kotlin = "1.9.0"
  3. samples/compose_app/build.gradle.kts - Uses Kotlin 1.9.0 for serialization plugin
  4. telnyx_rtc/build.gradle - Uses kotlin-test-junit 1.9.10

❌ Duplicate Dependency Declaration

The kotlin-gradle-plugin is declared twice in the buildscript dependencies block, which is redundant and may cause conflicts.

Breaking Changes & Compatibility Concerns

Kotlin 2.0+ Breaking Changes

  • K2 Compiler: Kotlin 2.x uses the new K2 compiler by default, which has stricter type checking and may reveal previously hidden issues
  • Compose Compiler: Kotlin 2.x changed how Compose compiler is integrated - kotlinCompilerExtensionVersion is incompatible with the new plugin-based approach
  • KAPT Deprecation: While still supported, KAPT is deprecated in favor of KSP

Plugin Compatibility

  • Kover 0.5.1: May not be compatible with Kotlin 2.3.0 (needs upgrade to 0.8.x)
  • Dokka 1.9.20: Should be updated to 2.0.0+ for Kotlin 2.x
  • Detekt 1.21.0: Should be upgraded to 1.23.x for better Kotlin 2.x support
  • AGP 8.6.1: Compatible with Kotlin 2.3.0 ✅

Recommendation

This PR requires additional updates across multiple build files to ensure consistency. A partial upgrade will likely fail CI/CD builds and cause developer environment issues. All Kotlin version references must be updated atomically.

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps Bot left a comment

Choose a reason for hiding this comment

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

3 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

Comment thread build.gradle.kts
apply(from = "versions.gradle")

val kotlinVersion = "1.9.23" // Define Kotlin version
val kotlinVersion = "2.3.0" // Define Kotlin version
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.

This upgrade to Kotlin 2.3.0 is incomplete and will cause build failures. The settings.gradle.kts file still references Kotlin 1.9.23 in multiple plugin declarations:

  • Line 11: id("org.jetbrains.kotlin.android") version "1.9.23"
  • Line 12: id("org.jetbrains.kotlin.plugin.compose") version "1.9.23"

This version mismatch between the buildscript classpath (2.3.0) and plugin management (1.9.23) will cause inconsistent behavior and likely build failures.

Suggested change
val kotlinVersion = "2.3.0" // Define Kotlin version
val kotlinVersion = "2.3.0" // Define Kotlin version - MUST also update settings.gradle.kts
Prompt To Fix With AI
This is a comment left during a code review.
Path: build.gradle.kts
Line: 5:5

Comment:
This upgrade to Kotlin 2.3.0 is incomplete and will cause build failures. The `settings.gradle.kts` file still references Kotlin 1.9.23 in multiple plugin declarations:

- Line 11: `id("org.jetbrains.kotlin.android") version "1.9.23"`
- Line 12: `id("org.jetbrains.kotlin.plugin.compose") version "1.9.23"`

This version mismatch between the buildscript classpath (2.3.0) and plugin management (1.9.23) will cause inconsistent behavior and likely build failures.

```suggestion
    val kotlinVersion = "2.3.0" // Define Kotlin version - MUST also update settings.gradle.kts
```

How can I resolve this? If you propose a fix, please make it concise.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Jan 12, 2026

Additional Comments (1)

build.gradle.kts
The kotlin-gradle-plugin is declared twice in the dependencies block (lines 17 and 22), which is redundant and could potentially cause conflicts or unexpected behavior during the build process.

        classpath("com.android.tools.build:gradle:8.6.1")
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
        classpath("org.jetbrains.kotlinx:kover:0.5.1")
        classpath("io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.21.0")
        classpath("org.jetbrains.dokka:dokka-gradle-plugin:1.9.20")
        classpath("com.google.gms:google-services:$googlePlayServicesVersion")
        classpath("com.google.dagger:hilt-android-gradle-plugin:$hiltVersion")
Prompt To Fix With AI
This is a comment left during a code review.
Path: build.gradle.kts
Line: 16:22

Comment:
The `kotlin-gradle-plugin` is declared twice in the dependencies block (lines 17 and 22), which is redundant and could potentially cause conflicts or unexpected behavior during the build process.

```suggestion
        classpath("com.android.tools.build:gradle:8.6.1")
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
        classpath("org.jetbrains.kotlinx:kover:0.5.1")
        classpath("io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.21.0")
        classpath("org.jetbrains.dokka:dokka-gradle-plugin:1.9.20")
        classpath("com.google.gms:google-services:$googlePlayServicesVersion")
        classpath("com.google.dagger:hilt-android-gradle-plugin:$hiltVersion")
```

How can I resolve this? If you propose a fix, please make it concise.

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

Labels

dependencies Pull requests that update a dependency file java Pull requests that update Java code

Development

Successfully merging this pull request may close these issues.

0 participants