Skip to content

Releases: google/ksp

1.5.30-1.0.0

07 Sep 18:19
Compare
Choose a tag to compare

Issues Fixed
#172 Composite KClass cast to KSType will be omitted wrapper type
#107 isError for a non-existing type returns false
#159 getVisibility for KSDeclaration returns java package private as public in .class dependencies

PRs Merged
#602 Add experimental KSDeclarationContainer.declarationsInSourceOrder
#604 handle annotation argument of type kotlin array reflection object
#606 Allowing getting sources from compile tasks
#607 replace all KSTypeImpl creation with additional check for error type
#608 Do not support binary generation for K/N yet
#610 Fix incorrectly placed APIs.

1.5.30-1.0.0-beta09

02 Sep 01:08
Compare
Choose a tag to compare

Highlights

  • Supported getting annotation instances if they are available at compile time.
  • added containingFile as extension properties on KSNode for getting containing file for symbols (if applicable).

PRs merged

#508 Add support for KSAnnotated annotation methods
#592 Creating PsiFiles multiple times might cause issue on certian platforms, filter new files by file name instead.
#594 support checked exception look up for property accessors
#596 change KSDeclaration.containingFile to an extension property on KSNode
#597 Disable isIntermoduleIncremental when isIncremental is false
#598 Bump Gradle to 7.2
#599 fix isVisibleFrom() for java package visibility
#600 fix visibility check for public override

Resolved issues

#507 getJvmCheckedException does not work for already compiled files
#505 support checked exception query for accessors
#503 javax.annotation.processing.Generated is no longer visible in beta08
#427 build failure due to "Descriptor wasn't found for declaration CLASS"
#53 Annotation values that are default are not visible in KSP
#582 TypeAlias generics are not visible as use-site

1.5.30-1.0.0-beta08

24 Aug 22:46
Compare
Choose a tag to compare

Highlights

  • Updated to Kotlin 1.5.30
  • Added new API: KSNode.parent for accessing parent nodes directly.

Issues Resolved
#376 Some descriptor implementations for sources reports Origin.CLASS
#506 getSymbolsWithAnnotation does not handle type aliases
#476 KSP is unable to resolve self referencing java types in java sources
#194 KSTypeReference implementation without concrete PSI elements are falsely equal regardless of location.
#503 KSValueParameter has no reference to the KSDeclaration where is present
#570 KSP on multiplatform fails to skip disabled targets.
#491 hasBackingField returns wrong value for companion properties
#354 Provide the ability to check if a nullable lambda parameter type has the SUSPEND modifier
#566 InvalidUserDataException with native (androidNative?) targets
#175 Resolver.overrides fails for generics
#529 hasBackingField returns false for lateinit properties

1.5.21-1.0.0-beta07

12 Aug 21:17
Compare
Choose a tag to compare

Highlights

  • starting this release, KSP binary has moved from gMaven to MavenCentral repo.
  • Kotlin native is now supported.
  • ksp.incremental.intermodule is enabled by default

Issues resolved

#60 Using KSP with Kotlin Multiplatform
#411 Publish artifacts to be used with kotlinc command line
#490 KspTask does not support gradle remote cache
#240 java.lang.IllegalStateException: Cannot find descriptor for values
#439 NPE
#518 Configuration on demand does not work with KSP
#540 Publish KSP on Maven Central?

1.5.21-1.0.0-beta06

28 Jul 21:12
Compare
Choose a tag to compare

Highlights

  • Supported finer-grained tracking of changes in classpath / different modules for incremental processing. Previously, whenever there was a change in the classpath, a full reprocessing would be triggered. Now only dirty classes that are reachable will invalidate sources. This is disabled by default, however. Please enable it by setting the Gradle property ksp.incremental.intermodule=true.
  • Supported default values in annotations.
  • Supported checked exceptions in compiled classes.
  • Supported processing without Kotlin sources.

Issues Resolved
#53 Annotation values that are default are not visible in KSP
#233 Incremental processing for classpath changes
#493 Code does not get generated if project has only Java source files
#496 Execution failed for task ':foo:kspKotlin'. > Extension of type 'KspExtension' does not exist.
#507 getJvmCheckedException does not work for already compiled files
#511 About incremental aggregating processor
#531 The AbstractCompile.destinationDir property has been deprecated. This is scheduled to be removed in Gradle 8.0.

1.5.21-1.0.0-beta05

14 Jul 22:09
Compare
Choose a tag to compare

Highlights

  • updated kotlin version to 1.5.21
  • fixed a bug in findDeclaration() for Java Enum entry value
  • added Resolver.getJvmCheckedException for property accessors

1.5.20-1.0.0-beta04

28 Jun 17:28
Compare
Choose a tag to compare

Fixes #487 KspTask.configure()'s @internal annotation is incompatible with Gradle 7.x.

1.5.20-1.0.0-beta03

24 Jun 16:22
Compare
Choose a tag to compare

Highlights

Updated to Kotlin 1.5.20
Experimental support of KMP (JVM, JS and Metadata)
KSNode.validate now doesn’t validate local declarations by default.

Bug fixes

#448 Not compatible with gradle configuration cache
#464 Generated proguard files in resources are not seen by AGP

1.5.10-1.0.0-beta02

09 Jun 21:23
Compare
Choose a tag to compare

Highlights

  • fixed an issue with asMemberOf when calling with a Java property accessor.
  • Added back fun interface for SymbolProcessorProvider.

1.5.10-1.0.0-beta01

26 May 23:36
Compare
Choose a tag to compare

Highlights

  • Updated to Kotlin 1.5.10
  • Introduced KSPropertyDeclaration.hasBackingField

API and Behavior Changes

  • Parameters of SymbolProcessorProvider.create() are refactored into SymbolProcessorEnvironment
  • Name of default package (i.e., w.o. package declaration) is changed to an empty string.
  • The deprecated SymbolProcessor.init() is removed.