Releases: google/ksp
1.5.30-1.0.0
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
Highlights
- Supported getting annotation instances if they are available at compile time.
- added
containingFile
as extension properties onKSNode
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
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
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
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
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
1.5.20-1.0.0-beta03
1.5.10-1.0.0-beta02
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
Highlights
- Updated to Kotlin 1.5.10
- Introduced KSPropertyDeclaration.hasBackingField
API and Behavior Changes
- Parameters of
SymbolProcessorProvider.create()
are refactored intoSymbolProcessorEnvironment
- Name of default package (i.e., w.o. package declaration) is changed to an empty string.
- The deprecated
SymbolProcessor.init()
is removed.