Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build(deps): Bump the kotlin-ksp group with 11 updates #21515

Closed
wants to merge 9 commits into from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Dec 10, 2024

Bumps the kotlin-ksp group with 11 updates:

Package From To
org.jetbrains.kotlin:kotlin-reflect 2.0.21 2.1.0
org.jetbrains.kotlin:kotlin-test-junit 2.0.21 2.1.0
org.jetbrains.kotlin.kapt 2.0.21 2.1.0
org.jetbrains.kotlin.plugin.allopen 2.0.21 2.1.0
org.jetbrains.kotlin.android 2.0.21 2.1.0
org.jetbrains.kotlin.plugin.compose 2.0.21 2.1.0
org.jetbrains.kotlin.jvm 2.0.21 2.1.0
org.jetbrains.kotlin.plugin.parcelize 2.0.21 2.1.0
org.jetbrains.kotlin.plugin.serialization 2.0.21 2.1.0
com.google.devtools.ksp:symbol-processing-api 2.0.21-1.0.28 2.1.0-1.0.29
com.google.devtools.ksp 2.0.21-1.0.28 2.1.0-1.0.29

Updates org.jetbrains.kotlin:kotlin-reflect from 2.0.21 to 2.1.0

Release notes

Sourced from org.jetbrains.kotlin:kotlin-reflect's releases.

Kotlin 2.1.0

Changelog

Analysis API

New Features

  • KT-68603 KotlinDirectInheritorsProvider: add an option to ignore non-kotlin results

Performance Improvements

  • KT-70757 Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbol

Fixes

  • KT-70437 Class reference is not resolvable
  • KT-57733 Analysis API: Use optimized ModuleWithDependenciesScopes in combined symbol providers
  • KT-72389 K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal class
  • KT-69190 K2: False-positive "redundant private modifier"
  • KT-64984 Analysis API: Support Wasm target
  • KT-70375 K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointer
  • KT-71259 K2 evaluator: Invalid smart cast info collecting for Code Fragments
  • KT-69360 Lack of implicit receiver for the last statement under lambda in scripts
  • KT-70890 Analysis API: Experiment with weak references to LL FIR/analysis sessions in session caches
  • KT-70657 Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jars
  • KT-71055 Suspend calls inside 'analyze()' break the block guarantees
  • KT-70815 Analysis API: Implement stop-the-world session invalidation
  • KT-69819 K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualified
  • KT-68761 Analysis API: Experiment with limited-size cache in KaFirSessionProvider
  • KT-70384 Analysis API Standalone: The same class in the same two renamed jars is unresolved
  • KT-71067 Exceptions from references cancel Find Usages
  • KT-69535 Redesign 'containingSymbol'
  • KT-71025 K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" values
  • KT-67483 K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation call
  • KT-69416 K2 IDE / Completion: “No classifier found” on simple value creating
  • KT-70257 CCE: class kotlin.UInt cannot be cast to class java.lang.Number
  • KT-70376 K2 IDE / Kotlin Debugger: IAE “Only componentN functions should be cached this way, but got: toString” on evaluating toString() method for value class
  • KT-70264 AA: service registration via XML fails with AbstractMethodError in Lint CLI
  • KT-69950 Analysis API: Introduce isSubtypeOf(ClassId)
  • KT-68625 K2: “lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase STATUS.”
  • KT-67665 K2: contract violation for value class with a constructor parameter with an implicit type
  • KT-67009 Analysis API: Add abbreviated type tests for type aliases from source modules
  • KT-69977 KaFirFunctionalType#getAbbreviation is always null
  • KT-68341 Analysis API: Expanded function types from libraries don't have an abbreviated type
  • KT-68857 Analysis API: Refactor annotations
  • KT-70386 Do not filter out overloads from different libraries in dangling files
  • KT-65552 K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragment
  • KT-65803 K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments"
  • KT-68896 Support VirtualFile binary dependency inputs to Analysis API modules
  • KT-69395 K2 IDE: incorrect overload selection from binary dependencies in a shared native source set

... (truncated)

Changelog

Sourced from org.jetbrains.kotlin:kotlin-reflect's changelog.

2.1.0

Analysis API

New Features

  • KT-68603 KotlinDirectInheritorsProvider: add an option to ignore non-kotlin results

Performance Improvements

  • KT-70757 Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbol

Fixes

  • KT-70437 Class reference is not resolvable
  • KT-57733 Analysis API: Use optimized ModuleWithDependenciesScopes in combined symbol providers
  • KT-72389 K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal class
  • KT-69190 K2: False-positive "redundant private modifier"
  • KT-64984 Analysis API: Support Wasm target
  • KT-70375 K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointer
  • KT-71259 K2 evaluator: Invalid smart cast info collecting for Code Fragments
  • KT-69360 Lack of implicit receiver for the last statement under lambda in scripts
  • KT-70890 Analysis API: Experiment with weak references to LL FIR/analysis sessions in session caches
  • KT-70657 Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jars
  • KT-71055 Suspend calls inside 'analyze()' break the block guarantees
  • KT-70815 Analysis API: Implement stop-the-world session invalidation
  • KT-69819 K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualified
  • KT-68761 Analysis API: Experiment with limited-size cache in KaFirSessionProvider
  • KT-70384 Analysis API Standalone: The same class in the same two renamed jars is unresolved
  • KT-71067 Exceptions from references cancel Find Usages
  • KT-69535 Redesign 'containingSymbol'
  • KT-71025 K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" values
  • KT-67483 K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation call
  • KT-69416 K2 IDE / Completion: “No classifier found” on simple value creating
  • KT-70257 CCE: class kotlin.UInt cannot be cast to class java.lang.Number
  • KT-70376 K2 IDE / Kotlin Debugger: IAE “Only componentN functions should be cached this way, but got: toString” on evaluating toString() method for value class
  • KT-70264 AA: service registration via XML fails with AbstractMethodError in Lint CLI
  • KT-69950 Analysis API: Introduce isSubtypeOf(ClassId)
  • KT-68625 K2: “lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase STATUS.”
  • KT-67665 K2: contract violation for value class with a constructor parameter with an implicit type
  • KT-67009 Analysis API: Add abbreviated type tests for type aliases from source modules
  • KT-69977 KaFirFunctionalType#getAbbreviation is always null
  • KT-68341 Analysis API: Expanded function types from libraries don't have an abbreviated type
  • KT-68857 Analysis API: Refactor annotations
  • KT-70386 Do not filter out overloads from different libraries in dangling files
  • KT-65552 K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragment
  • KT-65803 K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments"
  • KT-68896 Support VirtualFile binary dependency inputs to Analysis API modules
  • KT-69395 K2 IDE: incorrect overload selection from binary dependencies in a shared native source set
  • KT-68573 ISE: "Unexpected constant value (kotlin/annotation/AnnotationTarget, CLASS)" at Kt1DescUtilsKt.toKtConstantValue()

... (truncated)

Commits
  • 5dd9cea Add ChangeLog for 2.1.0
  • be31f19 [Gradle] Fix documentation publishing to Kotlinlang
  • f959bf2 Add ChangeLog for 2.1.0-RC2
  • b21df7b [Gradle] Update info about versioning
  • a7dabb6 [Gradle] Fix templates extraction
  • 858b914 [Gradle] Add KDoc for KotlinTargetsDsl
  • 1026b47 [Gradle] Add KDoc for KotlinTargetWithTests
  • 54452c0 [Gradle] Add KDoc for KotlinTestRun
  • d10e47a [Gradle] Add KDoc for KotlinExecution
  • 1208eec fix: clarifications and language polishing
  • Additional commits viewable in compare view

Updates org.jetbrains.kotlin:kotlin-test-junit from 2.0.21 to 2.1.0

Release notes

Sourced from org.jetbrains.kotlin:kotlin-test-junit's releases.

Kotlin 2.1.0

Changelog

Analysis API

New Features

  • KT-68603 KotlinDirectInheritorsProvider: add an option to ignore non-kotlin results

Performance Improvements

  • KT-70757 Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbol

Fixes

  • KT-70437 Class reference is not resolvable
  • KT-57733 Analysis API: Use optimized ModuleWithDependenciesScopes in combined symbol providers
  • KT-72389 K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal class
  • KT-69190 K2: False-positive "redundant private modifier"
  • KT-64984 Analysis API: Support Wasm target
  • KT-70375 K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointer
  • KT-71259 K2 evaluator: Invalid smart cast info collecting for Code Fragments
  • KT-69360 Lack of implicit receiver for the last statement under lambda in scripts
  • KT-70890 Analysis API: Experiment with weak references to LL FIR/analysis sessions in session caches
  • KT-70657 Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jars
  • KT-71055 Suspend calls inside 'analyze()' break the block guarantees
  • KT-70815 Analysis API: Implement stop-the-world session invalidation
  • KT-69819 K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualified
  • KT-68761 Analysis API: Experiment with limited-size cache in KaFirSessionProvider
  • KT-70384 Analysis API Standalone: The same class in the same two renamed jars is unresolved
  • KT-71067 Exceptions from references cancel Find Usages
  • KT-69535 Redesign 'containingSymbol'
  • KT-71025 K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" values
  • KT-67483 K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation call
  • KT-69416 K2 IDE / Completion: “No classifier found” on simple value creating
  • KT-70257 CCE: class kotlin.UInt cannot be cast to class java.lang.Number
  • KT-70376 K2 IDE / Kotlin Debugger: IAE “Only componentN functions should be cached this way, but got: toString” on evaluating toString() method for value class
  • KT-70264 AA: service registration via XML fails with AbstractMethodError in Lint CLI
  • KT-69950 Analysis API: Introduce isSubtypeOf(ClassId)
  • KT-68625 K2: “lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase STATUS.”
  • KT-67665 K2: contract violation for value class with a constructor parameter with an implicit type
  • KT-67009 Analysis API: Add abbreviated type tests for type aliases from source modules
  • KT-69977 KaFirFunctionalType#getAbbreviation is always null
  • KT-68341 Analysis API: Expanded function types from libraries don't have an abbreviated type
  • KT-68857 Analysis API: Refactor annotations
  • KT-70386 Do not filter out overloads from different libraries in dangling files
  • KT-65552 K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragment
  • KT-65803 K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments"
  • KT-68896 Support VirtualFile binary dependency inputs to Analysis API modules
  • KT-69395 K2 IDE: incorrect overload selection from binary dependencies in a shared native source set

... (truncated)

Changelog

Sourced from org.jetbrains.kotlin:kotlin-test-junit's changelog.

2.1.0

Analysis API

New Features

  • KT-68603 KotlinDirectInheritorsProvider: add an option to ignore non-kotlin results

Performance Improvements

  • KT-70757 Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbol

Fixes

  • KT-70437 Class reference is not resolvable
  • KT-57733 Analysis API: Use optimized ModuleWithDependenciesScopes in combined symbol providers
  • KT-72389 K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal class
  • KT-69190 K2: False-positive "redundant private modifier"
  • KT-64984 Analysis API: Support Wasm target
  • KT-70375 K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointer
  • KT-71259 K2 evaluator: Invalid smart cast info collecting for Code Fragments
  • KT-69360 Lack of implicit receiver for the last statement under lambda in scripts
  • KT-70890 Analysis API: Experiment with weak references to LL FIR/analysis sessions in session caches
  • KT-70657 Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jars
  • KT-71055 Suspend calls inside 'analyze()' break the block guarantees
  • KT-70815 Analysis API: Implement stop-the-world session invalidation
  • KT-69819 K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualified
  • KT-68761 Analysis API: Experiment with limited-size cache in KaFirSessionProvider
  • KT-70384 Analysis API Standalone: The same class in the same two renamed jars is unresolved
  • KT-71067 Exceptions from references cancel Find Usages
  • KT-69535 Redesign 'containingSymbol'
  • KT-71025 K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" values
  • KT-67483 K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation call
  • KT-69416 K2 IDE / Completion: “No classifier found” on simple value creating
  • KT-70257 CCE: class kotlin.UInt cannot be cast to class java.lang.Number
  • KT-70376 K2 IDE / Kotlin Debugger: IAE “Only componentN functions should be cached this way, but got: toString” on evaluating toString() method for value class
  • KT-70264 AA: service registration via XML fails with AbstractMethodError in Lint CLI
  • KT-69950 Analysis API: Introduce isSubtypeOf(ClassId)
  • KT-68625 K2: “lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase STATUS.”
  • KT-67665 K2: contract violation for value class with a constructor parameter with an implicit type
  • KT-67009 Analysis API: Add abbreviated type tests for type aliases from source modules
  • KT-69977 KaFirFunctionalType#getAbbreviation is always null
  • KT-68341 Analysis API: Expanded function types from libraries don't have an abbreviated type
  • KT-68857 Analysis API: Refactor annotations
  • KT-70386 Do not filter out overloads from different libraries in dangling files
  • KT-65552 K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragment
  • KT-65803 K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments"
  • KT-68896 Support VirtualFile binary dependency inputs to Analysis API modules
  • KT-69395 K2 IDE: incorrect overload selection from binary dependencies in a shared native source set
  • KT-68573 ISE: "Unexpected constant value (kotlin/annotation/AnnotationTarget, CLASS)" at Kt1DescUtilsKt.toKtConstantValue()

... (truncated)

Commits
  • 5dd9cea Add ChangeLog for 2.1.0
  • be31f19 [Gradle] Fix documentation publishing to Kotlinlang
  • f959bf2 Add ChangeLog for 2.1.0-RC2
  • b21df7b [Gradle] Update info about versioning
  • a7dabb6 [Gradle] Fix templates extraction
  • 858b914 [Gradle] Add KDoc for KotlinTargetsDsl
  • 1026b47 [Gradle] Add KDoc for KotlinTargetWithTests
  • 54452c0 [Gradle] Add KDoc for KotlinTestRun
  • d10e47a [Gradle] Add KDoc for KotlinExecution
  • 1208eec fix: clarifications and language polishing
  • Additional commits viewable in compare view

Updates org.jetbrains.kotlin.kapt from 2.0.21 to 2.1.0

Release notes

Sourced from org.jetbrains.kotlin.kapt's releases.

Kotlin 2.1.0

Changelog

Analysis API

New Features

  • KT-68603 KotlinDirectInheritorsProvider: add an option to ignore non-kotlin results

Performance Improvements

  • KT-70757 Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbol

Fixes

  • KT-70437 Class reference is not resolvable
  • KT-57733 Analysis API: Use optimized ModuleWithDependenciesScopes in combined symbol providers
  • KT-72389 K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal class
  • KT-69190 K2: False-positive "redundant private modifier"
  • KT-64984 Analysis API: Support Wasm target
  • KT-70375 K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointer
  • KT-71259 K2 evaluator: Invalid smart cast info collecting for Code Fragments
  • KT-69360 Lack of implicit receiver for the last statement under lambda in scripts
  • KT-70890 Analysis API: Experiment with weak references to LL FIR/analysis sessions in session caches
  • KT-70657 Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jars
  • KT-71055 Suspend calls inside 'analyze()' break the block guarantees
  • KT-70815 Analysis API: Implement stop-the-world session invalidation
  • KT-69819 K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualified
  • KT-68761 Analysis API: Experiment with limited-size cache in KaFirSessionProvider
  • KT-70384 Analysis API Standalone: The same class in the same two renamed jars is unresolved
  • KT-71067 Exceptions from references cancel Find Usages
  • KT-69535 Redesign 'containingSymbol'
  • KT-71025 K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" values
  • KT-67483 K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation call
  • KT-69416 K2 IDE / Completion: “No classifier found” on simple value creating
  • KT-70257 CCE: class kotlin.UInt cannot be cast to class java.lang.Number
  • KT-70376 K2 IDE / Kotlin Debugger: IAE “Only componentN functions should be cached this way, but got: toString” on evaluating toString() method for value class
  • KT-70264 AA: service registration via XML fails with AbstractMethodError in Lint CLI
  • KT-69950 Analysis API: Introduce isSubtypeOf(ClassId)
  • KT-68625 K2: “lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase STATUS.”
  • KT-67665 K2: contract violation for value class with a constructor parameter with an implicit type
  • KT-67009 Analysis API: Add abbreviated type tests for type aliases from source modules
  • KT-69977 KaFirFunctionalType#getAbbreviation is always null
  • KT-68341 Analysis API: Expanded function types from libraries don't have an abbreviated type
  • KT-68857 Analysis API: Refactor annotations
  • KT-70386 Do not filter out overloads from different libraries in dangling files
  • KT-65552 K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragment
  • KT-65803 K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments"
  • KT-68896 Support VirtualFile binary dependency inputs to Analysis API modules
  • KT-69395 K2 IDE: incorrect overload selection from binary dependencies in a shared native source set

... (truncated)

Changelog

Sourced from org.jetbrains.kotlin.kapt's changelog.

2.1.0

Analysis API

New Features

  • KT-68603 KotlinDirectInheritorsProvider: add an option to ignore non-kotlin results

Performance Improvements

  • KT-70757 Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbol

Fixes

  • KT-70437 Class reference is not resolvable
  • KT-57733 Analysis API: Use optimized ModuleWithDependenciesScopes in combined symbol providers
  • KT-72389 K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal class
  • KT-69190 K2: False-positive "redundant private modifier"
  • KT-64984 Analysis API: Support Wasm target
  • KT-70375 K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointer
  • KT-71259 K2 evaluator: Invalid smart cast info collecting for Code Fragments
  • KT-69360 Lack of implicit receiver for the last statement under lambda in scripts
  • KT-70890 Analysis API: Experiment with weak references to LL FIR/analysis sessions in session caches
  • KT-70657 Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jars
  • KT-71055 Suspend calls inside 'analyze()' break the block guarantees
  • KT-70815 Analysis API: Implement stop-the-world session invalidation
  • KT-69819 K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualified
  • KT-68761 Analysis API: Experiment with limited-size cache in KaFirSessionProvider
  • KT-70384 Analysis API Standalone: The same class in the same two renamed jars is unresolved
  • KT-71067 Exceptions from references cancel Find Usages
  • KT-69535 Redesign 'containingSymbol'
  • KT-71025 K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" values
  • KT-67483 K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation call
  • KT-69416 K2 IDE / Completion: “No classifier found” on simple value creating
  • KT-70257 CCE: class kotlin.UInt cannot be cast to class java.lang.Number
  • KT-70376 K2 IDE / Kotlin Debugger: IAE “Only componentN functions should be cached this way, but got: toString” on evaluating toString() method for value class
  • KT-70264 AA: service registration via XML fails with AbstractMethodError in Lint CLI
  • KT-69950 Analysis API: Introduce isSubtypeOf(ClassId)
  • KT-68625 K2: “lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase STATUS.”
  • KT-67665 K2: contract violation for value class with a constructor parameter with an implicit type
  • KT-67009 Analysis API: Add abbreviated type tests for type aliases from source modules
  • KT-69977 KaFirFunctionalType#getAbbreviation is always null
  • KT-68341 Analysis API: Expanded function types from libraries don't have an abbreviated type
  • KT-68857 Analysis API: Refactor annotations
  • KT-70386 Do not filter out overloads from different libraries in dangling files
  • KT-65552 K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragment
  • KT-65803 K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments"
  • KT-68896 Support VirtualFile binary dependency inputs to Analysis API modules
  • KT-69395 K2 IDE: incorrect overload selection from binary dependencies in a shared native source set
  • KT-68573 ISE: "Unexpected constant value (kotlin/annotation/AnnotationTarget, CLASS)" at Kt1DescUtilsKt.toKtConstantValue()

... (truncated)

Commits
  • 5dd9cea Add ChangeLog for 2.1.0
  • be31f19 [Gradle] Fix documentation publishing to Kotlinlang
  • f959bf2 Add ChangeLog for 2.1.0-RC2
  • b21df7b [Gradle] Update info about versioning
  • a7dabb6 [Gradle] Fix templates extraction
  • 858b914 [Gradle] Add KDoc for KotlinTargetsDsl
  • 1026b47 [Gradle] Add KDoc for KotlinTargetWithTests
  • 54452c0 [Gradle] Add KDoc for KotlinTestRun
  • d10e47a [Gradle] Add KDoc for KotlinExecution
  • 1208eec fix: clarifications and language polishing
  • Additional commits viewable in compare view

Updates org.jetbrains.kotlin.plugin.allopen from 2.0.21 to 2.1.0

Release notes

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

Kotlin 2.1.0

Changelog

Analysis API

New Features

  • KT-68603 KotlinDirectInheritorsProvider: add an option to ignore non-kotlin results

Performance Improvements

  • KT-70757 Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbol

Fixes

  • KT-70437 Class reference is not resolvable
  • KT-57733 Analysis API: Use optimized ModuleWithDependenciesScopes in combined symbol providers
  • KT-72389 K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal class
  • KT-69190 K2: False-positive "redundant private modifier"
  • KT-64984 Analysis API: Support Wasm target
  • KT-70375 K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointer
  • KT-71259 K2 evaluator: Invalid smart cast info collecting for Code Fragments
  • KT-69360 Lack of implicit receiver for the last statement under lambda in scripts
  • KT-70890 Analysis API: Experiment with weak references to LL FIR/analysis sessions in session caches
  • KT-70657 Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jars
  • KT-71055 Suspend calls inside 'analyze()' break the block guarantees
  • KT-70815 Analysis API: Implement stop-the-world session invalidation
  • KT-69819 K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualified
  • KT-68761 Analysis API: Experiment with limited-size cache in KaFirSessionProvider
  • KT-70384 Analysis API Standalone: The same class in the same two renamed jars is unresolved
  • KT-71067 Exceptions from references cancel Find Usages
  • KT-69535 Redesign 'containingSymbol'
  • KT-71025 K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" values
  • KT-67483 K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation call
  • KT-69416 K2 IDE / Completion: “No classifier found” on simple value creating
  • KT-70257 CCE: class kotlin.UInt cannot be cast to class java.lang.Number
  • KT-70376 K2 IDE / Kotlin Debugger: IAE “Only componentN functions should be cached this way, but got: toString” on evaluating toString() method for value class
  • KT-70264 AA: service registration via XML fails with AbstractMethodError in Lint CLI
  • KT-69950 Analysis API: Introduce isSubtypeOf(ClassId)
  • KT-68625 K2: “lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase STATUS.”
  • KT-67665 K2: contract violation for value class with a constructor parameter with an implicit type
  • KT-67009 Analysis API: Add abbreviated type tests for type aliases from source modules
  • KT-69977 KaFirFunctionalType#getAbbreviation is always null
  • KT-68341 Analysis API: Expanded function types from libraries don't have an abbreviated type
  • KT-68857 Analysis API: Refactor annotations
  • KT-70386 Do not filter out overloads from different libraries in dangling files
  • KT-65552 K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragment
  • KT-65803 K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments"
  • KT-68896 Support VirtualFile binary dependency inputs to Analysis API modules
  • KT-69395 K2 IDE: incorrect overload selection from binary dependencies in a shared native source set

... (truncated)

Changelog

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

2.1.0

Analysis API

New Features

  • KT-68603 KotlinDirectInheritorsProvider: add an option to ignore non-kotlin results

Performance Improvements

  • KT-70757 Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbol

Fixes

  • KT-70437 Class reference is not resolvable
  • KT-57733 Analysis API: Use optimized ModuleWithDependenciesScopes in combined symbol providers
  • KT-72389 K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal class
  • KT-69190 K2: False-positive "redundant private modifier"
  • KT-64984 Analysis API: Support Wasm target
  • KT-70375 K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointer
  • KT-71259 K2 evaluator: Invalid smart cast info collecting for Code Fragments
  • KT-69360 Lack of implicit receiver for the last statement under lambda in scripts
  • KT-70890 Analysis API: Experiment with weak references to LL FIR/analysis sessions in session caches
  • KT-70657 Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jars
  • KT-71055 Suspend calls inside 'analyze()' break the block guarantees
  • KT-70815 Analysis API: Implement stop-the-world session invalidation
  • KT-69819 K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualified
  • KT-68761 Analysis API: Experiment with limited-size cache in KaFirSessionProvider
  • KT-70384 Analysis API Standalone: The same class in the same two renamed jars is unresolved
  • KT-71067 Exceptions from references cancel Find Usages
  • KT-69535 Redesign 'containingSymbol'
  • KT-71025 K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" values
  • KT-67483 K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation call
  • KT-69416 K2 IDE / Completion: “No classifier found” on simple value creating
  • KT-70257 CCE: class kotlin.UInt cannot be cast to class java.lang.Number
  • KT-70376 K2 IDE / Kotlin Debugger: IAE “Only componentN functions should be cached this way, but got: toString” on evaluating toString() method for value class
  • KT-70264 AA: service registration via XML fails with AbstractMethodError in Lint CLI
  • KT-69950 Analysis API: Introduce isSubtypeOf(ClassId)
  • KT-68625 K2: “lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase STATUS.”
  • KT-67665 K2: contract violation for value class with a constructor parameter with an implicit type
  • KT-67009 Analysis API: Add abbreviated type tests for type aliases from source modules
  • KT-69977 KaFirFunctionalType#getAbbreviation is always null
  • KT-68341 Analysis API: Expanded function types from libraries don't have an abbreviated type
  • KT-68857 Analysis API: Refactor annotations
  • KT-70386 Do not filter out overloads from different libraries in dangling files
  • KT-65552 K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragment
  • KT-65803 K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments"
  • KT-68896 Support VirtualFile binary dependency inputs to Analysis API modules
  • KT-69395 K2 IDE: incorrect overload selection from binary dependencies in a shared native source set
  • KT-68573 ISE: "Unexpected constant value (kotlin/annotation/AnnotationTarget, CLASS)" at Kt1DescUtilsKt.toKtConstantValue()

... (truncated)

Commits
  • 5dd9cea Add ChangeLog for 2.1.0
  • be31f19 [Gradle] Fix documentation publishing to Kotlinlang
  • f959bf2 Add ChangeLog for 2.1.0-RC2
  • b21df7b [Gradle] Update info about versioning
  • a7dabb6 [Gradle] Fix templates extraction
  • 858b914 [Gradle] Add KDoc for KotlinTargetsDsl
  • 1026b47 [Gradle] Add KDoc for KotlinTargetWithTests
  • 54452c0 [Gradle] Add KDoc for KotlinTestRun
  • d10e47a [Gradle] Add KDoc for KotlinExecution
  • 1208eec fix: clarifications and language polishing
  • Additional commits viewable in compare view

Updates org.jetbrains.kotlin.android from 2.0.21 to 2.1.0

Release notes

Sourced from org.jetbrains.kotlin.android's releases.

Kotlin 2.1.0

Changelog

Analysis API

New Features

  • KT-68603 KotlinDirectInheritorsProvider: add an option to ignore non-kotlin results

Performance Improvements

  • KT-70757 Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbol

Fixes

  • KT-70437 Class reference is not resolvable
  • KT-57733 Analysis API: Use optimized ModuleWithDependenciesScopes in combined symbol providers
  • KT-72389 K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal class
  • KT-69190 K2: False-positive "redundant private modifier"
  • KT-64984 Analysis API: Support Wasm target
  • KT-70375 K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointer
  • KT-71259 K2 evaluator: Invalid smart cast info collecting for Code Fragments
  • KT-69360 Lack of implicit receiver for the last statem...

    Description has been truncated

Bumps the kotlin-ksp group with 11 updates:

| Package | From | To |
| --- | --- | --- |
| [org.jetbrains.kotlin:kotlin-reflect](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.1.0` |
| [org.jetbrains.kotlin:kotlin-test-junit](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.1.0` |
| [org.jetbrains.kotlin.kapt](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.1.0` |
| [org.jetbrains.kotlin.plugin.allopen](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.1.0` |
| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.1.0` |
| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.1.0` |
| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.1.0` |
| [org.jetbrains.kotlin.plugin.parcelize](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.1.0` |
| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.1.0` |
| [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp) | `2.0.21-1.0.28` | `2.1.0-1.0.29` |
| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.0.21-1.0.28` | `2.1.0-1.0.29` |


Updates `org.jetbrains.kotlin:kotlin-reflect` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.21...v2.1.0)

Updates `org.jetbrains.kotlin:kotlin-test-junit` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.21...v2.1.0)

Updates `org.jetbrains.kotlin.kapt` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.21...v2.1.0)

Updates `org.jetbrains.kotlin.plugin.allopen` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.21...v2.1.0)

Updates `org.jetbrains.kotlin.android` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.21...v2.1.0)

Updates `org.jetbrains.kotlin.plugin.compose` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.21...v2.1.0)

Updates `org.jetbrains.kotlin.jvm` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.21...v2.1.0)

Updates `org.jetbrains.kotlin.plugin.parcelize` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.21...v2.1.0)

Updates `org.jetbrains.kotlin.plugin.serialization` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.21...v2.1.0)

Updates `org.jetbrains.kotlin:kotlin-test-junit` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.21...v2.1.0)

Updates `com.google.devtools.ksp:symbol-processing-api` from 2.0.21-1.0.28 to 2.1.0-1.0.29
- [Release notes](https://github.com/google/ksp/releases)
- [Commits](google/ksp@2.0.21-1.0.28...2.1.0-1.0.29)

Updates `com.google.devtools.ksp` from 2.0.21-1.0.28 to 2.1.0-1.0.29
- [Release notes](https://github.com/google/ksp/releases)
- [Commits](google/ksp@2.0.21-1.0.28...2.1.0-1.0.29)

Updates `org.jetbrains.kotlin.kapt` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.21...v2.1.0)

Updates `org.jetbrains.kotlin.plugin.allopen` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.21...v2.1.0)

Updates `org.jetbrains.kotlin.android` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.21...v2.1.0)

Updates `org.jetbrains.kotlin.plugin.compose` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.21...v2.1.0)

Updates `org.jetbrains.kotlin.jvm` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.21...v2.1.0)

Updates `org.jetbrains.kotlin.plugin.parcelize` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.21...v2.1.0)

Updates `org.jetbrains.kotlin.plugin.serialization` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.21...v2.1.0)

Updates `com.google.devtools.ksp` from 2.0.21-1.0.28 to 2.1.0-1.0.29
- [Release notes](https://github.com/google/ksp/releases)
- [Commits](google/ksp@2.0.21-1.0.28...2.1.0-1.0.29)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-reflect
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: org.jetbrains.kotlin:kotlin-test-junit
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: org.jetbrains.kotlin.kapt
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: org.jetbrains.kotlin.plugin.allopen
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: org.jetbrains.kotlin.android
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: org.jetbrains.kotlin.plugin.compose
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: org.jetbrains.kotlin.jvm
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: org.jetbrains.kotlin.plugin.parcelize
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: org.jetbrains.kotlin.plugin.serialization
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: org.jetbrains.kotlin:kotlin-test-junit
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: com.google.devtools.ksp:symbol-processing-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: com.google.devtools.ksp
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: org.jetbrains.kotlin.kapt
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: org.jetbrains.kotlin.plugin.allopen
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: org.jetbrains.kotlin.android
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: org.jetbrains.kotlin.plugin.compose
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: org.jetbrains.kotlin.jvm
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: org.jetbrains.kotlin.plugin.parcelize
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: org.jetbrains.kotlin.plugin.serialization
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
- dependency-name: com.google.devtools.ksp
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin-ksp
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added the bot: dependencies update PRs that update a dependency file, used by Dependabot. label Dec 10, 2024
@dependabot dependabot bot requested review from a team and nbradbury and removed request for a team December 10, 2024 12:49
@dangermattic
Copy link
Collaborator

1 Warning
⚠️ PR is not assigned to a milestone.

Generated by 🚫 Danger

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Dec 10, 2024

Project dependencies changes

The following changes in project dependencies were detected (configuration wordpressVanillaReleaseRuntimeClasspath):

list
Upgraded Dependencies
org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-stdlib:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-stdlib-common:2.1.0, (changed from 2.0.21)
tree
 +--- androidx.databinding:viewbinding:8.5.1
 |    \--- androidx.annotation:annotation:1.0.0 -> 1.9.1
 |         \--- androidx.annotation:annotation-jvm:1.9.1
-|              \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.0.21
-|                   +--- org.jetbrains:annotations:13.0 -> 23.0.0
-|                   +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.9.10 (c)
-|                   +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 1.9.10 (c)
-|                   \--- org.jetbrains.kotlin:kotlin-stdlib-common:2.0.21 (c)
+|              \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0
+|                   +--- org.jetbrains:annotations:13.0 -> 23.0.0
+|                   +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.9.10 (c)
+|                   +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 1.9.10 (c)
+|                   \--- org.jetbrains.kotlin:kotlin-stdlib-common:2.1.0 (c)
-+--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 (*)
++--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
 +--- androidx.navigation:navigation-compose:2.8.5
 |    +--- androidx.activity:activity-compose:1.8.0 -> 1.9.3
 |    |    +--- androidx.activity:activity-ktx:1.9.3
 |    |    |    +--- androidx.activity:activity:1.9.3
 |    |    |    |    +--- androidx.collection:collection:1.0.0 -> 1.4.4
 |    |    |    |    |    \--- androidx.collection:collection-jvm:1.4.4
-|    |    |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    |    |    +--- androidx.core:core:1.13.0 -> 1.13.1
 |    |    |    |    |    +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1
-|    |    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 2.0.21 (*)
+|    |    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 2.1.0 (*)
 |    |    |    |    |    +--- androidx.lifecycle:lifecycle-runtime:2.6.2 -> 2.8.7
 |    |    |    |    |    |    \--- androidx.lifecycle:lifecycle-runtime-android:2.8.7
 |    |    |    |    |    |         +--- androidx.lifecycle:lifecycle-common:2.8.7
 |    |    |    |    |    |         |    \--- androidx.lifecycle:lifecycle-common-jvm:2.8.7
-|    |    |    |    |    |         |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |    |    |    |         |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    |    |    |    |         |         \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.8.1
 |    |    |    |    |    |         |              \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.1
-|    |    |    |    |    |         |                   \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 -> 2.0.21 (*)
+|    |    |    |    |    |         |                   \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 -> 2.1.0 (*)
-|    |    |    |    |    |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |    |    |    |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    |    |    |    |         \--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.8.1
-|    |    |    |    |    |              \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 -> 2.0.21 (*)
+|    |    |    |    |    |              \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 -> 2.1.0 (*)
-|    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    |    |    +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.7
 |    |    |    |    |    \--- androidx.lifecycle:lifecycle-viewmodel-android:2.8.7
-|    |    |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    |    |    +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.8.7
 |    |    |    |    |    +--- androidx.core:core-ktx:1.2.0 -> 1.13.1
-|    |    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    |    |    |    +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7
-|    |    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    |    |    |    +--- androidx.savedstate:savedstate:1.2.1
-|    |    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 2.0.21 (*)
+|    |    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 2.1.0 (*)
-|    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    |    +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.1 -> 2.8.7
 |    |    |    |    \--- androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.7
-|    |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    |    +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.8.7
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    |    +--- androidx.savedstate:savedstate-ktx:1.2.1
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 2.0.21 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 2.1.0 (*)
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    +--- androidx.compose.runtime:runtime:1.0.1 -> 1.7.6
 |    |    |    \--- androidx.compose.runtime:runtime-android:1.7.6
-|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    +--- androidx.compose.runtime:runtime-saveable:1.0.1 -> 1.7.6
 |    |    |    \--- androidx.compose.runtime:runtime-saveable-android:1.7.6
-|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    +--- androidx.compose.ui:ui:1.0.1 -> 1.7.6
 |    |    |    \--- androidx.compose.ui:ui-android:1.7.6
 |    |    |         +--- androidx.compose.ui:ui-geometry:1.7.6
 |    |    |         |    \--- androidx.compose.ui:ui-geometry-android:1.7.6
 |    |    |         |         +--- androidx.compose.ui:ui-util:1.7.6
 |    |    |         |         |    \--- androidx.compose.ui:ui-util-android:1.7.6
-|    |    |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    |         +--- androidx.compose.ui:ui-graphics:1.7.6
 |    |    |         |    \--- androidx.compose.ui:ui-graphics-android:1.7.6
 |    |    |         |         +--- androidx.compose.ui:ui-unit:1.7.6
 |    |    |         |         |    \--- androidx.compose.ui:ui-unit-android:1.7.6
-|    |    |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    |         |         +--- androidx.graphics:graphics-path:1.0.1
-|    |    |         |         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |         |         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    |         +--- androidx.compose.ui:ui-text:1.7.6
 |    |    |         |    \--- androidx.compose.ui:ui-text-android:1.7.6
 |    |    |         |         +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0
 |    |    |         |         |    \--- androidx.lifecycle:lifecycle-process:2.4.1 -> 2.8.7
-|    |    |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    |         +--- androidx.customview:customview-poolingcontainer:1.0.0
-|    |    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 2.0.21 (*)
+|    |    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 2.1.0 (*)
-|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    +--- androidx.compose.animation:animation:1.7.2 -> 1.7.6
 |    |    \--- androidx.compose.animation:animation-android:1.7.6
 |    |         +--- androidx.compose.animation:animation-core:1.7.6
 |    |         |    \--- androidx.compose.animation:animation-core-android:1.7.6
-|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |         +--- androidx.compose.foundation:foundation-layout:1.7.6
 |    |         |    \--- androidx.compose.foundation:foundation-layout-android:1.7.6
-|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2 -> 2.8.7
 |    |    \--- androidx.lifecycle:lifecycle-viewmodel-compose-android:2.8.7
-|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    +--- androidx.navigation:navigation-runtime-ktx:2.8.5
 |    |    +--- androidx.navigation:navigation-common-ktx:2.8.5
 |    |    |    \--- androidx.navigation:navigation-common:2.8.5
-|    |    |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    |         \--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3
 |    |    |              \--- org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.6.3
-|    |    |                   +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 2.0.21 (*)
+|    |    |                   +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 2.1.0 (*)
-|    |    |                   \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.22 -> 2.0.21
-|    |    |                        \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 (*)
+|    |    |                   \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.22 -> 2.1.0
+|    |    |                        \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
 |    |    \--- androidx.navigation:navigation-runtime:2.8.5
-|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 +--- project :libs:analytics
 |    +--- com.automattic:Automattic-Tracks-Android:5.1.0
 |    |    \--- com.squareup.okhttp3:okhttp:4.9.0 -> 4.12.0
 |    |         +--- com.squareup.okio:okio:3.6.0 -> 3.9.0
 |    |         |    \--- com.squareup.okio:okio-jvm:3.9.0
-|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 -> 2.0.21 (*)
+|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 -> 2.1.0 (*)
 |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 -> 1.9.10
-|    |              +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.10 -> 2.0.21 (*)
+|    |              +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.10 -> 2.1.0 (*)
 |    |              \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.10
-|    |                   \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.10 -> 2.0.21 (*)
+|    |                   \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.10 -> 2.1.0 (*)
 |    \--- androidx.preference:preference:1.2.1
 |         +--- androidx.appcompat:appcompat:1.1.0 -> 1.7.0
 |         |    +--- androidx.fragment:fragment:1.5.4 -> 1.8.5
 |         |    |    +--- androidx.loader:loader:1.0.0
 |         |    |    |    \--- androidx.lifecycle:lifecycle-livedata:2.0.0 -> 2.8.7
 |         |    |    |         +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7
-|         |    |    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|         |    |    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|         |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|         |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |         +--- androidx.fragment:fragment-ktx:1.3.6 -> 1.8.5
-|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |         \--- androidx.slidingpanelayout:slidingpanelayout:1.2.0
 |              \--- androidx.window:window:1.0.0 -> 1.3.0
 |                   +--- androidx.window.extensions.core:core:1.0.0
-|                   |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 -> 2.0.21 (*)
+|                   |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 -> 2.1.0 (*)
-|                   \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|                   \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 +--- project :libs:image-editor
-|    +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 (*)
+|    +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
 |    +--- com.google.android.material:material:1.12.0
 |    |    \--- org.jetbrains.kotlin:kotlin-bom:1.8.22
-|    |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (c)
+|    |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (c)
-|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.0.21 (c)
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.1.0 (c)
 |    +--- androidx.navigation:navigation-fragment:2.8.5
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.0.21
-|         +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 (*)
-|         \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.0.21
-|              \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0
+|         +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+|         \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.0
+|              \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
 +--- project :libs:editor
 |    +--- org.wordpress:aztec:{strictly v2.1.4} -> v2.1.4
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.0.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
 |    +--- org.wordpress.aztec:wordpress-shortcodes:{strictly v2.1.4} -> v2.1.4
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.0.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
 |    +--- org.wordpress.aztec:wordpress-comments:{strictly v2.1.4} -> v2.1.4
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.0.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
-|    +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 (*)
+|    +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
 |    +--- com.facebook.react:react-android:0.73.3
 |    |    \--- com.facebook.fresco:fresco:3.1.3
 |    |         \--- com.facebook.fresco:drawee:3.1.3
 |    |              \--- com.facebook.fresco:imagepipeline:3.1.3
-|    |                   \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 2.0.21 (*)
+|    |                   \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 2.1.0 (*)
 |    +--- org.wordpress.gutenberg-mobile:react-native-gutenberg-bridge:v1.121.0
 |    |    +--- org.wordpress.react-native-libraries.v6:react-native-safe-area-context:4.8.2
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 2.0.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 2.1.0 (*)
 |    |    +--- org.wordpress.react-native-libraries.v6:react-native-webview:13.6.1
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 2.0.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 2.1.0 (*)
 |    |    \--- org.wordpress.react-native-libraries.v6:react-native-gesture-handler:2.14.1
-|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 2.0.21 (*)
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 2.1.0 (*)
-|    \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.0.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0 (*)
 +--- project :libs:fluxc
-|    +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 (*)
+|    +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
 |    +--- androidx.room:room-runtime:2.6.1
 |    |    +--- androidx.sqlite:sqlite:2.4.0
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    \--- androidx.sqlite:sqlite-framework:2.4.0
-|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    +--- androidx.room:room-ktx:2.6.1
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.0.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0 (*)
 +--- project :libs:login
-|    +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 (*)
+|    +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
 |    +--- com.gravatar:gravatar:2.0.1
 |    |    +--- com.squareup.moshi:moshi-kotlin:1.15.1
 |    |    |    \--- org.jetbrains.kotlin:kotlin-reflect:1.8.21 -> 1.8.22
-|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.0.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.1.0 (*)
 |    +--- androidx.credentials:credentials:1.2.0
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    \--- androidx.credentials:credentials-play-services-auth:1.2.0
 |         +--- com.google.android.libraries.identity.googleid:googleid:1.1.0
-|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.0 -> 2.0.21 (*)
+|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.0 -> 2.1.0 (*)
-|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 +--- com.automattic:about:1.4.0
-|    +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.6.10 -> 2.0.21 (*)
+|    +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.6.10 -> 2.1.0 (*)
 |    +--- androidx.compose.ui:ui-tooling:1.1.1 -> 1.7.6
 |    |    \--- androidx.compose.ui:ui-tooling-android:1.7.6
 |    |         +--- androidx.compose.material:material:1.0.0 -> 1.7.6
 |    |         |    \--- androidx.compose.material:material-android:1.7.6
 |    |         |         +--- androidx.compose.foundation:foundation:1.7.6
 |    |         |         |    \--- androidx.compose.foundation:foundation-android:1.7.6
-|    |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |         |         +--- androidx.compose.material:material-ripple:1.7.6
 |    |         |         |    \--- androidx.compose.material:material-ripple-android:1.7.6
-|    |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |         +--- androidx.compose.ui:ui-tooling-data:1.7.6
 |    |         |    \--- androidx.compose.ui:ui-tooling-data-android:1.7.6
-|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |         +--- androidx.compose.ui:ui-tooling-preview:1.7.6
 |    |         |    \--- androidx.compose.ui:ui-tooling-preview-android:1.7.6
-|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.0.21 (*)
+|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.1.0 (*)
-|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    \--- com.google.android.material:compose-theme-adapter:1.1.1
-|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 2.0.21 (*)
+|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 2.1.0 (*)
 +--- com.gravatar:gravatar-quickeditor:2.0.1
 |    +--- com.gravatar:gravatar-ui:2.0.1
 |    |    +--- io.coil-kt:coil-compose:2.7.0
 |    |    |    +--- io.coil-kt:coil-compose-base:2.7.0
 |    |    |    |    +--- io.coil-kt:coil-base:2.7.0
-|    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.0.21 (*)
+|    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.0 (*)
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.0.21 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.0 (*)
 |    |    |    +--- io.coil-kt:coil:2.7.0
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.0.21 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.0 (*)
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.0.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.0 (*)
 |    |    +--- io.coil-kt:coil-svg:2.7.0
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.0.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.0 (*)
 |    |    +--- androidx.compose.material3:material3 -> 1.3.1
 |    |    |    \--- androidx.compose.material3:material3-android:1.3.1
 |    |    |         +--- androidx.compose.material:material-icons-core:1.6.0 -> 1.7.6
 |    |    |         |    \--- androidx.compose.material:material-icons-core-android:1.7.6
-|    |    |         |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |         |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.0.21 (*)
+|    |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.1.0 (*)
-|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.0.21 (*)
+|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.1.0 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.0.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.1.0 (*)
 |    +--- io.github.osipxd:security-crypto-datastore-preferences:1.1.1-beta03
 |    |    +--- io.github.osipxd:encrypted-datastore-preferences:1.1.1-beta03
 |    |    |    +--- io.github.osipxd:encrypted-datastore:1.1.1-beta03
-|    |    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.0.21 (*)
+|    |    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.1.0 (*)
 |    |    |    |    \--- androidx.datastore:datastore-core:1.1.1
 |    |    |    |         \--- androidx.datastore:datastore-core-android:1.1.1
-|    |    |    |              +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.22 -> 2.0.21 (*)
+|    |    |    |              +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.22 -> 2.1.0 (*)
-|    |    |    |              \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |    |              \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    |    |    +--- androidx.datastore:datastore-preferences-core:1.1.1
 |    |    |    |    \--- androidx.datastore:datastore-preferences-core-jvm:1.1.1
 |    |    |    |         +--- androidx.datastore:datastore-core-okio:1.1.1
 |    |    |    |         |    \--- androidx.datastore:datastore-core-okio-jvm:1.1.1
-|    |    |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.0.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.1.0 (*)
 |    |    +--- io.github.osipxd:security-crypto-datastore:1.1.1-beta03
 |    |    |    +--- androidx.datastore:datastore:1.1.1
 |    |    |    |    \--- androidx.datastore:datastore-android:1.1.1
-|    |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.0.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.1.0 (*)
 |    |    +--- androidx.datastore:datastore-preferences:1.1.1
 |    |    |    \--- androidx.datastore:datastore-preferences-android:1.1.1
-|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.0.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.1.0 (*)
 |    +--- androidx.compose.material3.adaptive:adaptive:1.0.0
 |    |    \--- androidx.compose.material3.adaptive:adaptive-android:1.0.0
 |    |         +--- androidx.window:window-core:1.3.0
 |    |         |    \--- androidx.window:window-core-android:1.3.0
-|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.0.21 (*)
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.1.0 (*)
 |    +--- com.composables:core:1.15.0
 |    |    \--- com.composables:core-android:1.15.0
-|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.10 -> 2.0.21 (*)
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.10 -> 2.1.0 (*)
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.0.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.1.0 (*)
 +--- com.google.android.flexbox:flexbox:3.0.0
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.32 -> 2.0.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.32 -> 2.1.0 (*)
 +--- androidx.work:work-runtime:2.9.1
 |    +--- androidx.lifecycle:lifecycle-service:2.5.1 -> 2.8.7
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 +--- androidx.camera:camera-camera2:1.4.1
 |    \--- androidx.camera:camera-core:1.4.1
 |         +--- androidx.concurrent:concurrent-futures-ktx:1.1.0
-|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.71 -> 2.0.21 (*)
+|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.71 -> 2.1.0 (*)
-|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 +--- androidx.camera:camera-lifecycle:1.4.1
 |    \--- androidx.tracing:tracing-ktx:1.2.0
-|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 2.0.21 (*)
+|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 2.1.0 (*)
 +--- com.zendesk:support:5.1.2
 |    \--- com.zendesk:support-providers:5.1.2
 |         \--- com.zendesk:core:4.0.9
 |              \--- com.zendesk:java-common:2.0.0
-|                   \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.32 -> 2.0.21 (*)
+|                   \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.32 -> 2.1.0 (*)
 +--- com.google.dagger:hilt-android:2.53.1
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
 +--- rs.wordpress.api:android:trunk-50f703a7f677084157d02f05d4d477d7eaf960b1
 |    +--- rs.wordpress.api:kotlin:trunk-50f703a7f677084157d02f05d4d477d7eaf960b1
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.0.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.0.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
 +--- com.google.firebase:firebase-messaging -> 24.1.0
 |    +--- com.google.firebase:firebase-common:21.0.0
 |    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.6.4 -> 1.8.1
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 -> 2.0.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 -> 2.1.0 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 |    +--- com.google.firebase:firebase-installations:17.2.0 -> 18.0.0
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 +--- androidx.compose.runtime:runtime-livedata -> 1.7.6
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.0.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
 +--- io.coil-kt:coil-video:2.7.0
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.0.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.0 (*)
 +--- com.airbnb.android:lottie-compose:6.6.1
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 2.0.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 2.1.0 (*)
-\--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.0.21 (*)
+\--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0 (*)

Build environment changes

The following changes in the build classpath were detected:

list
New Dependencies
org.jetbrains.kotlin:kotlin-util-klib-metadata:2.1.0

Removed Dependencies
org.jetbrains.kotlin:kotlin-compiler-embeddable:2.0.21
org.jetbrains.kotlin:kotlin-daemon-embeddable:2.0.21

Upgraded Dependencies
com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin:2.1.0-1.0.29, (changed from 2.0.21-1.0.28)
com.google.devtools.ksp:symbol-processing-api:2.1.0-1.0.29, (changed from 2.0.21-1.0.28)
com.google.devtools.ksp:symbol-processing-common-deps:2.1.0-1.0.29, (changed from 2.0.21-1.0.28)
com.google.devtools.ksp:symbol-processing-gradle-plugin:2.1.0-1.0.29, (changed from 2.0.21-1.0.28)
org.jetbrains.kotlin.android:org.jetbrains.kotlin.android.gradle.plugin:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin.kapt:org.jetbrains.kotlin.kapt.gradle.plugin:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin.plugin.allopen:org.jetbrains.kotlin.plugin.allopen.gradle.plugin:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin.plugin.parcelize:org.jetbrains.kotlin.plugin.parcelize.gradle.plugin:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin.plugin.serialization:org.jetbrains.kotlin.plugin.serialization.gradle.plugin:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-allopen:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-build-statistics:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-build-tools-api:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-compiler-runner:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-daemon-client:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-gradle-plugin:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-gradle-plugin-idea:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-gradle-plugin-idea-proto:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-gradle-plugin-model:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-klib-commonizer-api:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-native-utils:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-serialization:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-tooling-core:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-util-io:2.1.0, (changed from 2.0.21)
org.jetbrains.kotlin:kotlin-util-klib:2.1.0, (changed from 2.0.21)
tree
 +--- com.autonomousapps.dependency-analysis:com.autonomousapps.dependency-analysis.gradle.plugin:1.28.0
 |    \--- com.autonomousapps:dependency-analysis-gradle-plugin:1.28.0
 |         \--- org.jetbrains.kotlin:kotlin-bom:1.9.10
-|              +--- org.jetbrains.kotlin:kotlin-compiler-embeddable:1.9.10 -> 2.0.21 (c)
-|              \--- org.jetbrains.kotlin:kotlin-daemon-client:1.9.10 -> 2.0.21 (c)
+|              \--- org.jetbrains.kotlin:kotlin-daemon-client:1.9.10 -> 2.1.0 (c)
 +--- androidx.navigation.safeargs.kotlin:androidx.navigation.safeargs.kotlin.gradle.plugin:2.8.5
 |    \--- androidx.navigation:navigation-safe-args-gradle-plugin:2.8.5
-|         \--- org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.24 -> 2.0.21
-|              +--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.0.21
-|              |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.0.21 (c)
-|              |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-model:2.0.21 (c)
-|              |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.21 (c)
-|              |    +--- org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.0.21 (c)
-|              |    +--- org.jetbrains.kotlin:kotlin-allopen:2.0.21 (c)
-|              |    +--- org.jetbrains.kotlin:kotlin-serialization:2.0.21 (c)
-|              |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.0.21 (c)
-|              |    +--- org.jetbrains.kotlin:kotlin-native-utils:2.0.21 (c)
-|              |    \--- org.jetbrains.kotlin:kotlin-tooling-core:2.0.21 (c)
-|              +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.0.21
-|              |    +--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.0.21 (*)
-|              |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.0.21
-|              |    +--- org.jetbrains.kotlin:kotlin-native-utils:2.0.21
-|              |    |    +--- org.jetbrains.kotlin:kotlin-util-io:2.0.21
-|              |    |    \--- org.jetbrains.kotlin:kotlin-util-klib:2.0.21
-|              |    |         \--- org.jetbrains.kotlin:kotlin-util-io:2.0.21
-|              |    \--- org.jetbrains.kotlin:kotlin-tooling-core:2.0.21
-|              +--- org.jetbrains.kotlin:kotlin-gradle-plugin-model:2.0.21
-|              |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.0.21 (*)
-|              |    \--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.0.21 (*)
-|              +--- org.jetbrains.kotlin:kotlin-gradle-plugin-idea:2.0.21
-|              |    +--- org.jetbrains.kotlin:kotlin-tooling-core:2.0.21
-|              |    \--- org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.0.21
-|              +--- org.jetbrains.kotlin:kotlin-gradle-plugin-idea-proto:2.0.21
-|              |    \--- org.jetbrains.kotlin:kotlin-gradle-plugin-idea:2.0.21 (*)
-|              +--- org.jetbrains.kotlin:kotlin-klib-commonizer-api:2.0.21
-|              |    \--- org.jetbrains.kotlin:kotlin-native-utils:2.0.21 (*)
-|              +--- org.jetbrains.kotlin:kotlin-build-tools-api:2.0.21
-|              +--- org.jetbrains.kotlin:kotlin-build-statistics:2.0.21
-|              |    +--- org.jetbrains.kotlin:kotlin-build-tools-api:2.0.21
-|              |    \--- com.google.code.gson:gson:2.8.9 -> 2.10.1
-|              +--- org.jetbrains.kotlin:kotlin-compiler-runner:2.0.21
-|              |    +--- org.jetbrains.kotlin:kotlin-daemon-client:2.0.21
-|              |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4 (*)
-|              +--- org.jetbrains.kotlin:kotlin-util-klib:2.0.21 (*)
-|              \--- org.jetbrains.kotlin:kotlin-compiler-embeddable:2.0.21
-|                   +--- org.jetbrains.kotlin:kotlin-daemon-embeddable:2.0.21
-|                   +--- org.jetbrains.intellij.deps:trove4j:1.0.20200330
-|                   \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4 (*)
+|         \--- org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.24 -> 2.1.0
+|              +--- org.jetbrains.kotlin:kotlin-gradle-plugin-idea:2.1.0
+|              |    +--- org.jetbrains.kotlin:kotlin-tooling-core:2.1.0
+|              |    \--- org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.1.0
+|              +--- org.jetbrains.kotlin:kotlin-gradle-plugin-idea-proto:2.1.0
+|              |    \--- org.jetbrains.kotlin:kotlin-gradle-plugin-idea:2.1.0 (*)
+|              +--- org.jetbrains.kotlin:kotlin-klib-commonizer-api:2.1.0
+|              |    \--- org.jetbrains.kotlin:kotlin-native-utils:2.1.0
+|              |         +--- org.jetbrains.kotlin:kotlin-util-io:2.1.0
+|              |         \--- org.jetbrains.kotlin:kotlin-util-klib:2.1.0
+|              |              \--- org.jetbrains.kotlin:kotlin-util-io:2.1.0
+|              +--- org.jetbrains.kotlin:kotlin-build-statistics:2.1.0
+|              |    +--- org.jetbrains.kotlin:kotlin-build-tools-api:2.1.0
+|              |    \--- com.google.code.gson:gson:2.8.9 -> 2.10.1
+|              +--- org.jetbrains.kotlin:kotlin-util-klib-metadata:2.1.0
+|              |    +--- org.jetbrains.kotlin:kotlin-util-io:2.1.0
+|              |    \--- org.jetbrains.kotlin:kotlin-util-klib:2.1.0 (*)
+|              +--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.1.0
+|              |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.1.0 (c)
+|              |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-model:2.1.0 (c)
+|              |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.1.0 (c)
+|              |    +--- org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.1.0 (c)
+|              |    +--- org.jetbrains.kotlin:kotlin-allopen:2.1.0 (c)
+|              |    +--- org.jetbrains.kotlin:kotlin-serialization:2.1.0 (c)
+|              |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.1.0 (c)
+|              |    +--- org.jetbrains.kotlin:kotlin-native-utils:2.1.0 (c)
+|              |    \--- org.jetbrains.kotlin:kotlin-tooling-core:2.1.0 (c)
+|              +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.1.0
+|              |    +--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.1.0 (*)
+|              |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.1.0
+|              |    +--- org.jetbrains.kotlin:kotlin-native-utils:2.1.0 (*)
+|              |    +--- org.jetbrains.kotlin:kotlin-tooling-core:2.1.0
+|              |    \--- org.jetbrains.kotlin:kotlin-build-tools-api:2.1.0
+|              +--- org.jetbrains.kotlin:kotlin-gradle-plugin-model:2.1.0
+|              |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.1.0 (*)
+|              |    \--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.1.0 (*)
+|              \--- org.jetbrains.kotlin:kotlin-compiler-runner:2.1.0
+|                   +--- org.jetbrains.kotlin:kotlin-daemon-client:2.1.0
+|                   \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4 (*)
-+--- org.jetbrains.kotlin.plugin.allopen:org.jetbrains.kotlin.plugin.allopen.gradle.plugin:2.0.21
-|    \--- org.jetbrains.kotlin:kotlin-allopen:2.0.21
-|         +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.0.21 (*)
-|         +--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.0.21 (*)
-|         \--- org.jetbrains.kotlin:kotlin-gradle-plugin-model:2.0.21 (*)
++--- org.jetbrains.kotlin.plugin.allopen:org.jetbrains.kotlin.plugin.allopen.gradle.plugin:2.1.0
+|    \--- org.jetbrains.kotlin:kotlin-allopen:2.1.0
+|         +--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.1.0 (*)
+|         +--- org.jetbrains.kotlin:kotlin-gradle-plugin-model:2.1.0 (*)
+|         \--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.1.0 (*)
-+--- org.jetbrains.kotlin.android:org.jetbrains.kotlin.android.gradle.plugin:2.0.21
-|    \--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.21 (*)
++--- org.jetbrains.kotlin.android:org.jetbrains.kotlin.android.gradle.plugin:2.1.0
+|    \--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.1.0 (*)
-+--- org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:2.0.21
-|    \--- org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.0.21
-|         +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.0.21 (*)
-|         +--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.0.21 (*)
-|         +--- org.jetbrains.kotlin:kotlin-gradle-plugin-model:2.0.21 (*)
-|         \--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.21 (*)
++--- org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:2.1.0
+|    \--- org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.1.0
+|         +--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.1.0 (*)
+|         +--- org.jetbrains.kotlin:kotlin-gradle-plugin-model:2.1.0 (*)
+|         +--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.1.0 (*)
+|         \--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.1.0 (*)
-+--- org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:2.0.21
-|    \--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.21 (*)
++--- org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:2.1.0
+|    \--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.1.0 (*)
-+--- org.jetbrains.kotlin.plugin.parcelize:org.jetbrains.kotlin.plugin.parcelize.gradle.plugin:2.0.21
-|    \--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.21 (*)
++--- org.jetbrains.kotlin.plugin.parcelize:org.jetbrains.kotlin.plugin.parcelize.gradle.plugin:2.1.0
+|    \--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.1.0 (*)
-+--- org.jetbrains.kotlin.plugin.serialization:org.jetbrains.kotlin.plugin.serialization.gradle.plugin:2.0.21
-|    \--- org.jetbrains.kotlin:kotlin-serialization:2.0.21
-|         +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.0.21 (*)
-|         \--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.0.21 (*)
++--- org.jetbrains.kotlin.plugin.serialization:org.jetbrains.kotlin.plugin.serialization.gradle.plugin:2.1.0
+|    \--- org.jetbrains.kotlin:kotlin-serialization:2.1.0
+|         +--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.1.0 (*)
+|         \--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.1.0 (*)
-+--- com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin:2.0.21-1.0.28
-|    \--- com.google.devtools.ksp:symbol-processing-gradle-plugin:2.0.21-1.0.28
-|         +--- com.google.devtools.ksp:symbol-processing-api:2.0.21-1.0.28
-|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 (*)
-|         \--- com.google.devtools.ksp:symbol-processing-common-deps:2.0.21-1.0.28
-|              \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 (*)
++--- com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin:2.1.0-1.0.29
+|    \--- com.google.devtools.ksp:symbol-processing-gradle-plugin:2.1.0-1.0.29
+|         +--- com.google.devtools.ksp:symbol-processing-api:2.1.0-1.0.29
+|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 (*)
+|         \--- com.google.devtools.ksp:symbol-processing-common-deps:2.1.0-1.0.29
+|              \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 (*)
-\--- org.jetbrains.kotlin.kapt:org.jetbrains.kotlin.kapt.gradle.plugin:2.0.21
-     \--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.21 (*)
+\--- org.jetbrains.kotlin.kapt:org.jetbrains.kotlin.kapt.gradle.plugin:2.1.0
+     \--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.1.0 (*)

@nbradbury nbradbury self-assigned this Dec 10, 2024
@wpmobilebot
Copy link
Contributor

wpmobilebot commented Dec 10, 2024

Jetpack📲 You can test the changes from this Pull Request in Jetpack by scanning the QR code below to install the corresponding build.
App NameJetpack Jetpack
FlavorJalapeno
Build TypeDebug
Versionpr21515-ca1d061
Commitca1d061
Direct Downloadjetpack-prototype-build-pr21515-ca1d061.apk
Note: Google Login is not supported on these builds.

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Dec 10, 2024

WordPress📲 You can test the changes from this Pull Request in WordPress by scanning the QR code below to install the corresponding build.
App NameWordPress WordPress
FlavorJalapeno
Build TypeDebug
Versionpr21515-ca1d061
Commitca1d061
Direct Downloadwordpress-prototype-build-pr21515-ca1d061.apk
Note: Google Login is not supported on these builds.

@nbradbury
Copy link
Contributor

nbradbury commented Dec 10, 2024

@wzieba @ParaskP7 I've made some changes to fix some errors & warnings in this PR, but there are failing tests in RemoteConfigProcessorTest that I'm unsure how to resolve. Git blame showed that you both worked on those tests so I was wondering if one of you could take a look?

@ParaskP7
Copy link
Contributor

👋 @nbradbury !

@wzieba @ParaskP7 I've made some changes to fix some errors & warnings in this PR, but there are failing tests in RemoteConfigProcessorTest that I'm unsure how to resolve. Git blame showed that you both work on those tests so I was wondering if one of you could take a look?

Thanks for fixing the errors/warnings, I'll try taking a look at the tests in RemoteConfigProcessorTest today. 👍 🧪 🤞

@ParaskP7
Copy link
Contributor

👋 @nbradbury @wzieba !

I'll try taking a look at the tests in RemoteConfigProcessorTest today. 👍 🧪 🤞

After taking a look at it, timeboxed to 1-2 hours, I couldn't easily recover from this RemoteConfigProcessorTest test failure. Once again, this is related to the kotlin-compile-testing tschuchortdev annotation processor related testing library (context) and the fact that it is outdated.

I tried replacing tschuchortdev for its fork (by ZacSweers), where a newer 0.7.0 version was recently released (2 weeks ago) and, targeting Kotlin 2.1.0, quickly resolve a single (minor) compilation issue:

L#122:

  • FROM: symbolProcessorProviders = listOf(RemoteConfigProcessorProvider())
  • TO: symbolProcessorProviders = mutableListOf(RemoteConfigProcessorProvider())

And finally run the RemoteConfigProcessorTest test suite again. Unfortunately, I could recover from the below, which applies to the first test in that suite:

org.wordpress.android.util.config.RemoteFeatureConfigCheck java.lang.ClassNotFoundException: org.wordpress.android.util.config.RemoteFeatureConfigCheck

The result.exitCode assertion is indeed equal to KotlinCompilation.ExitCode.OK, which means progress, but looking at the result.message I couldn't understand what's going on:

logging: Created temporary working directory at /var/folders/xq/l24nqgw92x3cs25jw4jpt4bm0000gn/T/Kotlin-Compilation470535742349459374
logging: No services were given. Not running kapt steps.
logging: Inheriting classpaths:  /Users/.../.gradle/wrapper/dists/gradle-8.8-all/... (OMITTED)
v: Using Kotlin home directory <no_path>
v: Using JDK home directory /opt/homebrew/Cellar/openjdk@17/17.0.13/libexec/openjdk.jdk/Contents/Home
v: Exception on loading scripting plugin: java.lang.ClassNotFoundException: org.jetbrains.kotlin.scripting.compiler.plugin.ScriptingCompilerConfigurationComponentRegistrar
v: Scripting plugin will not be loaded: not all required jars are present in the classpath (missing files: [./kotlin-scripting-compiler.jar, ./kotlin-scripting-compiler-impl.jar, ./kotlin-scripting-common.jar, ./kotlin-scripting-jvm.jar])
v: Using JVM IR backend
v: Configuring the compilation environment
v: Loading modules: [java.se, jdk.accessibility, jdk.attach, jdk.compiler, jdk.dynalink, jdk.httpserver, jdk.incubator.foreign, jdk.incubator.vector, jdk.jartool, jdk.javadoc, jdk.jconsole, jdk.jdi, jdk.jfr, jdk.jshell, jdk.jsobject, jdk.management, jdk.management.jfr, jdk.net, jdk.nio.mapmode, jdk.sctp, jdk.security.auth, jdk.security.jgss, jdk.unsupported, jdk.unsupported.desktop, jdk.xml.dom, java.base, java.compiler, java.datatransfer, java.desktop, java.xml, java.instrument, java.logging, java.management, java.management.rmi, java.rmi, java.naming, java.net.http, java.prefs, java.scripting, java.security.jgss, java.security.sasl, java.sql, java.transaction.xa, java.sql.rowset, java.xml.crypto, jdk.internal.jvmstat, jdk.management.agent, jdk.jdwp.agent, jdk.internal.ed, jdk.internal.le, jdk.internal.opt]
v: Output:
/var/folders/xq/l24nqgw92x3cs25jw4jpt4bm0000gn/T/Kotlin-Compilation470535742349459374/classes/org/wordpress/android/util/config/AppConfig.class
Sources:
/var/folders/xq/l24nqgw92x3cs25jw4jpt4bm0000gn/T/Kotlin-Compilation470535742349459374/sources/AppConfig.kt
v: Output:
/var/folders/xq/l24nqgw92x3cs25jw4jpt4bm0000gn/T/Kotlin-Compilation470535742349459374/classes/FeatureA.class
Sources:
/var/folders/xq/l24nqgw92x3cs25jw4jpt4bm0000gn/T/Kotlin-Compilation470535742349459374/sources/Feature.kt
v: Output:
/var/folders/xq/l24nqgw92x3cs25jw4jpt4bm0000gn/T/Kotlin-Compilation470535742349459374/classes/META-INF/main.kotlin_module
Sources:
/var/folders/xq/l24nqgw92x3cs25jw4jpt4bm0000gn/T/Kotlin-Compilation470535742349459374/sources/AppConfig.kt
/var/folders/xq/l24nqgw92x3cs25jw4jpt4bm0000gn/T/Kotlin-Compilation470535742349459374/sources/Feature.kt

Also, looking at the generated files, via result.generatedFiles, didn't help much:

FeatureA.class
AppConfig.class
main.kotlin_module

Maybe @wzieba could pick-this-up at some point and move this forward a bit. 🙏

PS: Worse case scenario, we could @Ignore("...") this test suite to unblock this Kotlin update, as long as our annotation processors are working as expected. 😊

@nbradbury
Copy link
Contributor

Worse case scenario, we could @Ignore("...") this test suite to unblock this Kotlin update, as long as our annotation processors are working as expected.

@ParaskP7 Thanks for taking a look! I'd be fine with this.

@wzieba
Copy link
Contributor

wzieba commented Dec 11, 2024

Thanks for taking a look @ParaskP7 ! Could you please push your research to some branch?

@ParaskP7
Copy link
Contributor

Thanks for taking a look @ParaskP7 ! Could you please push your research to some branch?

Not much research to push into a branch @wzieba , not worth it, just checkout this branch and update the below 2 files:

  1. libs.versions.toml
kotlin-compile-testing = '0.7.0'
...
kotlin-compile-testing-ksp = { group = "dev.zacsweers.kctfork", name = "ksp", version.ref = "kotlin-compile-testing" }
kotlin-compile-testing-main = { group = "dev.zacsweers.kctfork", name = "core", version.ref = "kotlin-compile-testing" }
  1. RemoteConfigProcessorTest.kt
symbolProcessorProviders = mutableListOf(RemoteConfigProcessorProvider()) // L#122

That's all it is to it... ⬆️


As far as the debugging I shared, I used the below here-and-there, within the tests themselves:

        println("Generated files:")
        result.generatedFiles.forEach { println(it.name) }
        ...
        println("Compilation messages:")
        println(result.messages)

Hope this too helps! 🙏

KSP2 was meant to replace KSP1 with Kotlin 2.1 (source: https://github.com/google/ksp/blob/13592a7600b6da335242cc98608daadddd036c3d/docs/ksp2.md?plain=1#L39 ) but it ended up not to be. This is fortunate, as KSP2 for now seems to not be an option for us (no support from Dagger) and have performance bottlenecks (source: https://kotlinlang.slack.com/archives/C013BA8EQSE/p1731534615273809)

I propose setting this flag to `false` to explicitly describe which KSP version we use, as I haven't found any way to log this.
That follows Kotlin updates more frequently. This addresses `incompatible version of Kotlin` error.

Specify `-language-version` to `1.9` as higher version seems to influence which KSP is executed. Inspired by: https://github.com/square/moshi/blob/d88d91d8394f418fd47b182c841b9a3e3a3e0a0b/moshi-kotlin-codegen/src/test/java/com/squareup/moshi/kotlin/codegen/ksp/JsonClassSymbolProcessorTest.kt#L856
configureKsp(useKsp2 = false) {
symbolProcessorProviders += RemoteConfigProcessorProvider()
withCompilation = true
languageVersion = "1.9"
Copy link
Contributor

Choose a reason for hiding this comment

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

Additional reference:

To use KSP, you must set KotlinCompilation.languageVersion to 1.9.

ZacSweers/kotlin-compile-testing#196 (comment)

Copy link
Contributor

Choose a reason for hiding this comment

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

Awesome, nice find @wzieba ! 🥇

Copy link
Contributor

Choose a reason for hiding this comment

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

Btw, I have no idea why you "must" set KotlinCompilation.languageVersion to 1.9 for this to work, if you know, please share some more details, since this looks weird to me, and I am not sure that I am missing something basic here... 🤔

Copy link
Contributor

Choose a reason for hiding this comment

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

AFAIU this is because KSP1 was meant to support language features up Kotlin 2.0+ (not included). So if -language-version compiler option (this is what KotlinCompilation.languageVersion sets) is set to higher, I'm guessing Kotlin Compiler forcefully chooses KSP2, which doesn't work with out processor. This is just a theory though, understanding it fully would diving into source of this logic or asking the author. Or find a way to instruct Kotlin compiler to print out which KSP it uses, but I haven't found a way.

Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks for sharing this theory @wzieba , it makes (some) sense indeed... 👍 + 🤔

Copy link
Contributor

@ParaskP7 ParaskP7 Dec 12, 2024

Choose a reason for hiding this comment

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

ZacSweers/kotlin-compile-testing#309 🙂

Awesome, thanks for that, upvoted/subscribed! 🙇

Copy link
Contributor

Choose a reason for hiding this comment

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

We got the answer, I think it's aligned with what I described above 👍

Copy link
Contributor

Choose a reason for hiding this comment

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

Yea, 100%, great to have clarity and verification on that! 💯

@wzieba
Copy link
Contributor

wzieba commented Dec 11, 2024

The build should pass now, please see the commit messages for details.

But when building project, I also see concerning message:

WARNING: D8: An error occurred when parsing kotlin metadata. This normally happens when using a newer version of kotlin than the kotlin version released when this version of R8 was created. To find compatible kotlin versions, please see: https://developer.android.com/studio/build/kotlin-d8-r8-versions

Maybe we should update AGP too?

Copy link

codecov bot commented Dec 11, 2024

Codecov Report

Attention: Patch coverage is 40.00000% with 3 lines in your changes missing coverage. Please review.

Project coverage is 39.43%. Comparing base (55fcaf9) to head (ca1d061).
Report is 50 commits behind head on trunk.

Files with missing lines Patch % Lines
...wordpress/android/fluxc/store/NotificationStore.kt 0.00% 2 Missing ⚠️
...ava/org/wordpress/android/fluxc/store/SiteStore.kt 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##            trunk   #21515      +/-   ##
==========================================
- Coverage   39.44%   39.43%   -0.01%     
==========================================
  Files        2119     2121       +2     
  Lines       99556    99581      +25     
  Branches    15313    15314       +1     
==========================================
+ Hits        39269    39273       +4     
- Misses      56806    56827      +21     
  Partials     3481     3481              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@nbradbury
Copy link
Contributor

The build should pass now, please see the commit messages for details.

@wzieba Thank you for getting this to work!

Maybe we should update AGP too?

I'll leave that up to you and @ParaskP7 as you're better qualified.

@@ -10,5 +10,7 @@ android.nonTransitiveRClass=true
android.nonFinalResIds=false
android.enableR8.fullMode=false

ksp.useKSP2=false
Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks for the commit message and your reasoning about this change @wzieba , makes this all very clear! 🙇

...but it ended up not to be.

I propose setting this flag to false to explicitly describe which KSP version we use, as I haven't found any way to log this.

But just to make it clear here, this ksp.useKSP2 flag is false by default atm, even on Kotlin 2.1.0? We just make this explicit with this change, right? 🤔

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes. There was plan to make this true with Kotlin 2.1, but apparently, this changed. So due to this uncertainty, I think it's best we hardcode usage of KSP1 for now.

Copy link
Contributor

Choose a reason for hiding this comment

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

Great, thanks and I agree, good call @wzieba ! 👍

FYI: Maybe we should propagate the same (explicit) configuration to all other client projects. 🤔

PS: We should also just make sure to revisit that at some point and flip it to true when everything starts working on the KSP2 side again, maybe we should add that as an Apps Infra Roadmap so we don't forget. 🤔

@ParaskP7
Copy link
Contributor

👋 @wzieba and thanks for making this work! 🥇

But when building project, I also see concerning message:

I see those too, yes... 🤔

Maybe we should update AGP too?

Interestingly enough this https://developer.android.com/studio/build/kotlin-d8-r8-versions page, which then redirects to https://developer.android.com/build/kotlin-support is only mentioning the compatibility up until Kotlin 2.0, which point to AGP 8.5.10, exactly the version we current use. But, I guess, yes, it seems that when a new Kotlin 2.1 entry appears, it would probably point to a newer AGP version (with the current latest being the 8.7.3). 🤔

Btw, I just tried update to the latest Gradle 8.11.1 distribution alongside the latest stable AGP 8.7.3 version. The main assembleJetpackJalapenoDebug build seems to be working as expected and this D8 warnings disappears. Maybe we should indeed consider updating to the latest Gradle + AGP, and if you think we should/could do that here, as part of this, I am up for it as well. 👍

PS: Not to mention that we no longer need to care about, not only FluxC, but probably updating Gradle + AGP on the Gutenberg side as well, that is, me not seeing too much active development on that side lately. This means we wouldn't need to be blocked from also updating GutenbergMobile + GutenbergKit to make local builds on those work. Isn't that right, maybe not, not sure... Wdyt @nbradbury ? 😊

@nbradbury
Copy link
Contributor

Not to mention that we no longer need to care about, not only FluxC, but probably updating Gradle + AGP on the Gutenberg side as well, that is, me not seeing too much active development on that side lately. This means we wouldn't need to be blocked from also updating GutenbergMobile + GutenbergKit to make local builds on those work. Isn't that right, maybe not, not sure... Wdyt @nbradbury ? 😊

That sounds right to me 👍

@ParaskP7
Copy link
Contributor

👋 @nbradbury @wzieba and related to my comment above...

Btw, I just tried update to the latest Gradle 8.11.1 distribution alongside the latest stable AGP 8.7.3 version. The main assembleJetpackJalapenoDebug build seems to be working as expected and this D8 warnings disappears. Maybe we should indeed consider updating to the latest Gradle + AGP, and if you think we should/could do that here, as part of this, I am up for it as well. 👍

After thinking more about it yesterday, I think we better do this change in 2 separate PRs, I don't think we should rush here:

  1. First, create a PR to update Gradle + AGP on the current Kotlin 2.0 version.
  2. Then, resume this PR to update Kotlin to 2.1.

Wdyt? 🤔

PS: Also, about point (1.) above, I do suggest discussing this with the Gutenberg Mobile development team on WPAndroid (to be honest, mainly @dcalhoun , thus me shameless bringing him in this) and verify that they are okay with us updating Gradle + AGP, without doing the same on the GutenbergMobile + GutenbergKit side (potentially breaking local build for them), just to be on the safe side. And if that's not okay, let's coordinate with them to also update Gradle + AGP on that side too.

@nbradbury
Copy link
Contributor

After thinking more about it yesterday, I think we better do this change in 2 separate PRs

I do suggest discussing this with the Gutenberg Mobile development team on WPAndroid ... and verify that they are okay with us updating Gradle + AGP, without doing the same on the GutenbergMobile + GutenbergKit side

I agree with both of these 👍

@dcalhoun
Copy link
Member

Also, about point (1.) above, I do suggest discussing this with the Gutenberg Mobile development team on WPAndroid (to be honest, mainly @dcalhoun , thus me shameless bringing him in this) and verify that they are okay with us updating Gradle + AGP, without doing the same on the GutenbergMobile + GutenbergKit side (potentially breaking local build for them), just to be on the safe side.

Thank you for considering this impact. Breaking local development abilities should not be done lightly, as it would severely deteriorate productivity. I was not involved in past Gradle and AGP upgrades, so I have limited understanding of the level of effort, but from reviewing the last Gutenberg Mobile (GBM) upgrade, it's not insignificant:

That said, we do not plan to iterate on or publish a new GBM release. So, while it increases technical debt for the project—i.e., tasks we would have to address before reengaging the project—I think it is fine to forgo upgrading GBM given our current plans for the project. cc/ @jkmassel for awareness.

Contrastingly, the GutenbergKit (GBK) project is under active development. We should upgrade the GBK project to retain local development capabilities. I also imagine doing so will be less effort than GBM.

I am happy to collaborate and help upgrade GBK when WPAndroid is upgraded itself.

@ParaskP7
Copy link
Contributor

Awesome, thanks for shedding some light into all this @dcalhoun ! 🙇

Thank you for considering this impact. Breaking local development abilities should not be done lightly, as it would severely deteriorate productivity. I was not involved in past Gradle and AGP upgrades, so I have limited understanding of the level of effort, but from reviewing the last Gutenberg Mobile (GBM) upgrade, it's not insignificant:

👍

That said, we do not plan to iterate on or publish a new GBM release. So, while it increases technical debt for the project—i.e., tasks we would have to address before reengaging the project—I think it is fine to forgo upgrading GBM given our current plans for the project. cc/ @jkmassel for awareness.

Yea, that's what I've been seeing lately, thanks for the verification on that. 👍

Contrastingly, the GutenbergKit (GBK) project is under active development. We should upgrade the GBK project to retain local development capabilities. I also imagine doing so will be less effort than GBM.

I haven't looked at GBK in detail, but doing it now I see both the Gradle and AGP version matching, just like it was done with GBM, thus, we would indeed need to update Gradle and AGP on the GBK side as well in order to not block the local builds from working as expected, even if the same might not apply to GBM (at least not atm).

So, I think we've got our answer here @nbradbury + @wzieba , and IMHO we definitely should update Gradle & AGP as a separate PR, and involve at least the GBK repo (if not GBM too) into that update. 👍

I am happy to collaborate and help upgrade GBK when WPAndroid is upgraded itself.

Awesome, thanks David! 🥇

Copy link
Contributor

@nbradbury nbradbury left a comment

Choose a reason for hiding this comment

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

@ParaskP7 @wzieba I'll approve this, but I'll hold off merging until there's another approval. :shipit:

@ParaskP7
Copy link
Contributor

👋 @nbradbury !

@ParaskP7 @wzieba I'll approve this, but I'll hold off merging until there's another approval. :shipit:

As per the above discussion, I actually suggest we close this and only update Kotlin to 2.1.0 after we update Gradle + AGP to their respective latest stable versions. I don't think we should rush into this Kotlin version, not much benefit to it.

@nbradbury
Copy link
Contributor

As per the above discussion, I actually suggest we close this and only update Kotlin to 2.1.0 after we update Gradle + AGP to their respective latest stable versions. I don't think we should rush into this Kotlin version, not much benefit to it.

Ah, I guess I misunderstood! I'll close this.

@nbradbury nbradbury closed this Dec 16, 2024
Copy link
Contributor Author

dependabot bot commented on behalf of github Dec 16, 2024

This pull request was built based on a group rule. Closing it will not ignore any of these versions in future pull requests.

To ignore these dependencies, configure ignore rules in dependabot.yml

@dependabot dependabot bot deleted the dependabot/gradle/kotlin-ksp-31007f7a9e branch December 16, 2024 11:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bot: dependencies update PRs that update a dependency file, used by Dependabot.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants