Skip to content

chore(deps): update dependency com.google.devtools.ksp to v2.3.12 - #216

Open
renovate[bot] wants to merge 1 commit into
developfrom
renovate/ksp-monorepo
Open

renovate[bot] wants to merge 1 commit into
developfrom
renovate/ksp-monorepo

Conversation

@renovate

@renovate renovate Bot commented Aug 2, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
com.google.devtools.ksp (source) 2.3.9 → 2.3.12 age confidence

Release Notes

google/ksp (com.google.devtools.ksp)

v2.3.12

Compare Source

What's Changed

Migrating Processors to Support Backing Fields

This release introduces support for explicit backing fields (#​2873), which may now be returned by Resolver.getSymbolsWithAnnotation. To prevent breaking existing processors, new language features require an explicit opt-in.

More generally, the KSP API now explicitly models backing fields for properties. The following is an exhaustive list of functions in KSP API where processor may observe the change after opting in:

  • Resolver.getSymbolsWithAnnotation: The function now returns a KSBackingField if the given annotation targeted a field. Previously, if a field were targeted, the function would return a KSProperty.
  • Resolver.effectiveJavaModifiers: The function returns fewer modifiers for a KSPropertyDeclaration if it has a backing field, since most of the JVM-specific annotations apply to the backing field. If you are interested in the JVM modifiers, you should call the function with the KSBackingField obtained from the property instead.

Additionally, KSP now models Java fields as properties that always have backing fields. Some of the modifiers now apply to the backing field instead.

Processors adapting to new features must opt in via both of the following steps simultaneously (failing to do both may lead to undefined behavior):

  1. The processor should call the registerProcessorForNewFeatures function in SymbolProcessorEnvironment immediately when created (and only once). Example: AbstractTestProcessor.kt#L30
  2. All implementations of KSVisitor should move to KSVisitorNext. If their processor code does not directly implement the interface but instead extends one of the KSP-provided visitors (such as KSTopDownVisitor), they should instead extend KSTopDownVisitor(enableNewFeatures = true) and override visitBackingField depending on their code and needs.

Let us know if you run into unexpected behavior!

Bug Fixes
  • Fix Resolver.getDeclarationsFromPackage returning incomplete declarations from KLibs in Kotlin Multiplatform (#​2396)
  • Fix KSP CLI process hanging indefinitely when a processor throws an unhandled exception (#​3120)
  • Fix implicit task dependency error between KSP and Android Lint in Android KMP (#​3128)
  • Fix NullPointerException by registering PluginProblemReporter as an application service (#​3140)
  • Do not mark companion objects as JAVA_STATIC in Resolver.effectiveJavaModifiers (#​3125)
  • Fix JAVA_STATIC modifier resolution for @​JvmStatic members in Resolver.effectiveJavaModifiers (#​3124)
  • Update minimum supported Android Gradle Plugin (AGP) version to 8.12.0 (#​3149)

New Contributors

Thanks to @​KlyneChrysler, @​budindepunk, and everyone who reported bugs and participated in discussions!

Full Changelog: google/ksp@2.3.11...2.3.12

v2.3.11

Compare Source

What's Changed

  • Support org.gradle.isolated-projects for project isolation (#​3051)
  • Fix premature kspDebugAndroidTest task skipping on Android library modules (#​3050)
  • Fix missing parent declaration exception for @NotNull annotations during incremental compilation (#​3030)
  • Clean output directories instead of skipping tasks when processor classpath transitions to empty (#​3046)
  • Fix build cache misses by marking KspGradleConfig.logLevel as @Internal (#​3039)
  • Add org.gradle.isolated-projects=true to KSP Gradle properties reference table (#​3076)
  • Add KSP Gradle properties reference table to README documentation (#​3070)
  • Document collection values in KSValueArgument.value (#​3069)
  • Update error messaging for ksp.useKSP2 deprecation notice (#​3066)

Contributors

Full Changelog: google/ksp@2.3.10...2.3.11

v2.3.10

Compare Source

What's Changed

  • Fix OOMs caused by unstopped coroutine Dispatcher threads by moving KSP task cache to a gradle build service (#​2817)
  • Sanitize ':' in internal-name module suffix so KSP works with Kotlin 2.4.0 default module names (#​2964)
  • Filter source file trees in KspAATask to restore NO-SOURCE skipping behaviour (#​2947)
  • Fix R-class resolution in KSP when AGP 9 built-in Kotlin is enabled (#​2857)
  • Fix KSP2 incremental cache path normalization mismatch (#​2854)
  • Normalize line endings for KspAATask source roots to prevent cross-platform remote build cache misses (#​2849)
  • Fix bug where KSP incremental compilation does not consider library class references in annotations (#​3011)
  • Consume all Kotlin sources in KSP to support other code generators (#​3001)
  • Fix configuration cache invalidation in klib cross-compilation check (#​3014)
  • Memoized hash code for KSTypeImpl to speed up processing (#​2896)
  • Fix incorrect name generation for data classes annotated with @JvmRecord (#​2813)
  • Include kotlinx.coroutines in the distributed uber jar symbol-processing-aa-embeddable (#​2938)
  • New debugging features for incremental compilation, including additional logging and dependency graph visualization (#​3015)
  • Deprecate the ksp(...) Gradle configuration in Kotlin Multiplatform (KMP) projects in favor of target-specific configurations (#​2956). Note: Non-KMP projects are also affected. For migration details, see the documentation.

Contributors

Full Changelog: google/ksp@2.3.9...2.3.10


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot changed the title chore(deps): update dependency com.google.devtools.ksp to v2.3.10 chore(deps): update dependency com.google.devtools.ksp to v2.3.11 Aug 3, 2026
@renovate
renovate Bot force-pushed the renovate/ksp-monorepo branch from 29f469b to da7abf4 Compare August 3, 2026 22:11
@renovate
renovate Bot force-pushed the renovate/ksp-monorepo branch from da7abf4 to a4ce04a Compare September 12, 2026 15:36
@renovate renovate Bot changed the title chore(deps): update dependency com.google.devtools.ksp to v2.3.11 chore(deps): update dependency com.google.devtools.ksp to v2.3.12 Sep 12, 2026
@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 0fda696e-731e-4d46-9910-3471db5f45b7

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants