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

Update ksp to v2 (major) #104

Closed
wants to merge 1 commit into from
Closed

Update ksp to v2 (major) #104

wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 11, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
com.google.devtools.ksp (source) 1.8.10-1.0.9 -> 2.0.20-1.0.25 age adoption passing confidence
com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin (source) 1.8.10-1.0.9 -> 2.0.20-1.0.25 age adoption passing confidence

Release Notes

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

v2.0.20-1.0.25

Compare Source

Bugs Fixed

Inlined JVM name is not correct #​1493
[KSP2] NullPointerException when getting name of nested annotation #​1963
[KSP2] The status was unresolved for FirSimpleFunctionImpl #​1938
[KSP2] Class values in type annotations get resolved to error type #​1933
[KSP2] Comparing KSType leads to exception #​1918
[KSP2] Can't find values in repeatable annotations #​1883
incremental: aggregating outputs should always be invalidated #​2027
[KSP2] Not yet implemented: KSValueArgumentLiteImpl.getLocation #​2048
[KSP2] Not yet implemented: KSValueArgumentImpl.getParent #​2049
getSymbolsWithAnnotation returns copy function from data class #​1996
[KSP2] Annotations got use-site target when there are none specified #​1882
getting null pointer exception #​1929
[KSP2] Calling getDeclarationsInSourceOrder throws KotlinIllegalStateExceptionWithAttachments #​1930
[KSP2] A failure occurred while executing com.google.devtools.ksp.gradle.KspAAWorkerAction #​1941
KSP2: Resolver.getJvmNames doesn't work for inline and internal classes #​1640
kspCaches don't work together with Gradle build cache #​2042

Contributors

Thank you so much! @​ansman, @​kuanyingchou

Full Changelog: google/ksp@2.0.20-1.0.24...2.0.20-1.0.25

v2.0.20-1.0.24

Compare Source

What's Changed

v2.0.10-1.0.24

Compare Source

What's Changed

v2.0.0-1.0.24

Compare Source

What's Changed

#​2013 Handle edge cases of KtAnnotated.annotations
#​2009 Fix :kotlin-analysis-api:shadowJar failing on Windows
#​2006 Use symbol-processing-aa-embeddable in Gradle

Bugs Fixed

#​1956 IllegalAccessError in Dagger with KSP2.0.0-1.0.22 and KSP2
#​1998 KSP2 version 2.0.0-1.0.23 crashes on Moshi codegen with NoSuchElementException: Collection contains no element matching the predicate.

Full Changelog: google/ksp@e880744...c63864c

v2.0.0-1.0.23

Compare Source

Issues fixed
  • [KSP2] Nullable type arg type becomes non-null after replace() call #​1856
  • Annotations on enum entires on K2 are missing #​1962
  • Got IllegalStateException when calling replace() on error types #​1960
  • [KSP2] Resolver.getJvmCheckedException doesn't work on property accessors #​1900
  • [KSP2] Property getter JVM names in data classes become componentN instead of getXXX #​1958
  • [KSP2] Resolver.mapToJvmSignature doesn't unwrap inline classes #​1859
  • [KSP2] KSFunctionDeclaration.asMemberOf does not return correct types #​1919
  • implement getOwnerJvmClassName #​1979
  • [KSP2] KSPropertyDeclaration.hasBackingField returns inconsistent results #​1939
  • [KSP2] Annotations on extension receivers are missing #​1899

v2.0.0-1.0.22

Compare Source

Important Changes
  • KSErrorType.toString() now contains the reference name it was tried to be resolved, and therefore KSErrorType is no longer a singleton. Processors relying on equality checks of that (in contrast of using KSType.isError) will need to be updated accordingly.
Issues Fixed

#​1908 KSP2: Calling KSP2 in programs does not appear to work on macOS or Windows
#​1917 KSP2's symbol-processing-aa-embeddable artifact exposes an unresolvable pre-release kotlin 2.0.20 dependency
#​1911 NoSuchMethodError when running KSP2 with Dagger (KSP 2.0.0-1.0.21)
#​1909 KSP2: default annotation arguments no longer work in 1.0.21
#​1232 Expose simple names on a missing types's synthetic declaration
#​1857 [KSP2] Modifiers are missing for property accessors
#​1924 [KSP2] Type arg becomes '*' after calling KSType.replace() with an error type
#​1948 KSP2 default annotation KClass values for built-in types use java.lang.* versions

What's Changed

Full Changelog: google/ksp@2.0.0-1.0.21...2.0.0-1.0.22

v2.0.0-1.0.21

Compare Source

This release brings mostly bug fixes into KSP2 beta
Users are encouraged to try out KSP2 beta.

new feature

expose an API in Resolver to retrieve the module name for handling mangling of internal members #​1621

issues fixed
  • Class values are missing class type in annotation values #​1646
  • Kotlin Function* types reports inconsistent package and qualified names #​1845
  • KSP2 cannot load Android lint checks jar due to FileTooBigException #​1839
  • [KSP2] KSAnnotations with annotation properties with a default value always resolve to null #​1843
  • [KSP2] Modifier.FUN is missing in functional interfaces #​1853
  • [KSP2] ClassCastException when calling KSType.starProjection() on a Java field type #​1735
  • [KSP2] Annotation arguments with default values are missing #​1837
  • [KSP2] Intersection types are not modeled #​1846
  • KSP2: Model enum entries in annotation values #​1861
  • KSP2: Unknown JS backend: Wasm #​1889
  • [KSP2] NullPointerException when getting arguments of annotation value #​1798

v1.9.25-1.0.20

Compare Source

KSP 1.0.20 for Kotlin 1.9.25

v1.9.24-1.0.20

Compare Source

KSP 1.0.20 for kotlin compiler version 1.9.24

v1.9.23-1.0.20

Compare Source

KSP1 issues fixed

  • performance optimization for certain workload consists of heavy Java files, including
    • Replace IdKey's impl with identityHashCode #​1804
    • Cache enclosed descriptors by name #​1808
  • Add excludedSources to the KSP extension object #​1793 thanks to @​bitspittle

KSP2 issues fixed

  • NoClassDefFoundError for LZ4Factory when trying KSP2 #​1713
  • Calling KSType.replace() with original arguments results in #​1807
  • Static fields in base class appear in derived classes #​1744
  • fix backing field checking for top level callables
  • support sealed inheritors lookup.
  • support type alias for getSymbolsWithAnnotation
  • support more types for reference elements

v1.9.23-1.0.19

New APIs
  • #​1708 SymbolProcessorEnvironment.kspVersion
  • #​1707 CodeGenerator.associateWithFunctions and CodeGenerator.associateWithProperties
Issues fixed in KSP2
  • #​1691 IllegalStateException: Value type not found for value
  • #​1719 The order of symbols returned from Resolver.getSymbolsWithAnnotation() is different
  • #​1718 Getting packageName of Kotlin types returns empty String
  • #​1721 KSAnnotation packageName is an empty String for a type from a different module
  • #​1722 Resolver.getDeclarationsFromPackage() returns declarations from the default package when passing in an unknown package
  • #​1717 Resolver.getJvmName() returns different results for annotation args
  • #​1725 asMemberOf() throws exception with a generic type without arguments
  • #​1728 ClassCastException when calling KSType.replace() with empty list
  • #​1713 NoClassDefFoundError for LZ4Factory when trying KSP2
  • #​1665 NoClassDefFound in ksp.useKSP2=true mode
  • #​1733 ABI incompatibility with kotlin-compiler-embeddable in 2.0.0-Beta4
  • #​1714 Generated resources are not added to KotlinCompilation inputs
  • #​1747 isCompanionObject is false for companion objects from KOTLIN_LIB
  • #​1743 Incorrect type parameter variances
  • #​1759 IllegalStateException when getting the modifiers from properties in a Java annotation declaration
Issues fixed in KSP Gradle Plugin
  • #​1712 Analysis API artifacts have the wrong common-deps dependency
  • #​1775 1.0.18 creates circular dependencies with kapt tasks
  • #​1772 Update plugin com.google.devtools.ksp to v1.9.22-1.0.18 BUILD FAILED
Known issues
  • #​1776 KSP2 has higher memory usage when the compile classpath is very large.

v1.9.22-1.0.17

Compare Source

Issues fixed

  • Annotations missing on KSTypeArgument of typealias #​1679
  • unhandled visibility: private to this #​1515
  • Resolver#getJvmCheckedException results in <ERROR TYPE> when throwing type variable. #​1460
  • Class annotation values with $ in name are null when used in Kotlin source #​1671
  • KSP 1.9.21-1.0.15 leaking memory and causing OOMs #​1653
  • KSP processing fails with Java enum #​1482
  • [KSP2] Support Package annotations #​1641

v1.9.22-1.0.16

Compare Source

This is KSP 1.0.16 for Kotlin compiler 1.9.22

v1.9.21-1.0.16

Compare Source

Issue fixed

#​1653 KSP 1.9.21-1.0.15 leaking memory and causing OOMs

v1.9.21-1.0.15

Compare Source

This is a hot fix to #​1591 where multiple KMP projects were affected.

Issues Fixed / PRs Merged

#​1591 Error: Rewrite at slice LEXICAL_SCOPE key: ANNOTATION_ENTRY old value
#​1612 Filter out the -progressive compiler flag in KSP tasks
#​1614 Revert back to the non-thread-local KSP compiler plugin implementation.

v1.9.20-1.0.14

Compare Source

issues fixed
  • #​1474 Unresolvable types in annotation value are incorrectly displayed as null values instead of error types.
  • #​1522 KspTaskNative is not configuration cacheable
  • #​1554 KSP Incremental Processing: Removing a file does not remove transitively generated files
  • #​1555 KSP Incremental Processing: Clean source files should have generated output cache accessible via Resolver.
  • #​1568 KSP resolves dependencies too early

v1.9.20-1.0.13

Compare Source

Bumping Kotlin to 1.9.20 for KSP 1.0.13.

v1.9.10-1.0.13

Compare Source

KSP 1.0.13 for kotlin compiler version 1.9.10

v1.9.0-1.0.13

Compare Source

Issues fixed
  • Fixed an issue in KSP Gradle plugin where KMP source set is not set correctly.
  • Fixed an issue in incremental building where timestamp for generated java sources are incorrect.

v1.9.0-1.0.12

Compare Source

Issues Fixed

The complete list of issues fixed in this release can be found here.

Other Notable Changes

While there is still no direct model of package elements, the following APIs in Resolver are added to better support the operations around packages:

  • fun getPackageAnnotations(packageName: String): Sequence<KSAnnotation>
  • fun getPackagesWithAnnotation(annotationName: String): Sequence<String>
Contributors

Thank you for the PRs!

@​cdsap
@​damianw
@​danysantiago
@​lukellmann
@​ribafish

v1.9.0-1.0.11

Compare Source

v1.8.22-1.0.11: Release

Compare Source

v1.8.21-1.0.11: Release

Compare Source

Bump Kotlin Compiler to 1.8.21 for 1.0.11 release

v1.8.20-1.0.11: Release

Compare Source

Issues fixed

Incremental compilation fails with "Number of loaded files in snapshots differs" #​1280

v1.8.20-1.0.10

Compare Source

New Features

KSP can now be run with K2 compiler frontend.

  • note that KSP itself still runs in old frontend implementation as its own task, there might be some behavior differences with new compiler frontend (e.g. you might get different type resolution results)

Issues fixed

  • KSP up-to-date after changing processor code #​1308
  • Java annotation array type value in java will break getAnnotationsByType #​1329
  • Gradle configuration warning: "Configuration is both resolvable/consumable or consumable/declarable #​1293
  • Defer resolution of processor classpath #​1294

Known issue

There is a known issue with incremental with this release #​1280 from compiler update, we are working on a hotfix release to address this, if you are impacted by this issue, please try to disable incremental or hold on for hotfix release.

Contributors

Thanks for your contributions!
@​larryxiao625
@​ansman


Configuration

📅 Schedule: 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 these updates again.


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

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

@audgns10 audgns10 closed this Oct 11, 2024
Copy link
Contributor Author

renovate bot commented Oct 11, 2024

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 2.x releases. But if you manually upgrade to 2.x then Renovate will re-enable minor and patch updates automatically.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@renovate renovate bot deleted the renovate/major-ksp branch October 11, 2024 05:04
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.

1 participant