google/ksp (com.google.devtools.ksp)
### [`v2.1.0-1.0.29`](https://redirect.github.com/google/ksp/releases/tag/2.1.0-1.0.29)
[Compare Source](https://redirect.github.com/google/ksp/compare/2.1.0-1.0.28...2.1.0-1.0.29)
#### Updates
- KSP2: Sanitize dots to underscores in suffixes of internals by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/2229](https://redirect.github.com/google/ksp/pull/2229)
- KSP2: clean up legacy incremental code by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/2231](https://redirect.github.com/google/ksp/pull/2231)
#### Contributors
Thanks to everyone who reported bugs and participated in discussions!
### [`v2.1.0-1.0.28`](https://redirect.github.com/google/ksp/releases/tag/2.1.0-1.0.28)
[Compare Source](https://redirect.github.com/google/ksp/compare/2.0.21-1.0.28...2.1.0-1.0.28)
#### What's Changed
- Bump Kotlin to 2.1.0 by [@mkmuir0](https://redirect.github.com/mkmuir0) in [https://github.com/google/ksp/pull/2235](https://redirect.github.com/google/ksp/pull/2235)
- Update intellij to 233.13135.128 by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/2238](https://redirect.github.com/google/ksp/pull/2238)
**Full Changelog**: https://github.com/google/ksp/compare/2.1.0-RC2-1.0.28...2.1.0-1.0.28
### [`v2.0.21-1.0.28`](https://redirect.github.com/google/ksp/releases/tag/2.0.21-1.0.28)
[Compare Source](https://redirect.github.com/google/ksp/compare/2.0.21-1.0.27...2.0.21-1.0.28)
#### Updates
- \[KSP2] Running from command line never finishes [#2176](https://redirect.github.com/google/ksp/issues/2176)
- Introduce KspAATask.commandLineArgumentProviders [#2201](https://redirect.github.com/google/ksp/issues/2201)
#### Contributors
Thanks to [@GeorgCantor](https://redirect.github.com/GeorgCantor) and everyone who reported bugs and participated in discussions!
### [`v2.0.21-1.0.27`](https://redirect.github.com/google/ksp/releases/tag/2.0.21-1.0.27)
[Compare Source](https://redirect.github.com/google/ksp/compare/2.0.21-1.0.26...2.0.21-1.0.27)
#### Bugs Fixed
- KSP2: KtInvalidLifetimeOwnerAccessException: Access to invalid KtAlwaysAccessibleLifetimeToken: PSI has changed since creation [#1854](https://redirect.github.com/google/ksp/issues/1854)
- \[KSP2] getSymbolsWithAnnotation() doesn't work if the annotation is an alias in KOTLIN_LIB [#2024](https://redirect.github.com/google/ksp/issues/2024)
- KotlinSymbolProcessingExtension leaks files due to URLClassLoader not being closed [#2159](https://redirect.github.com/google/ksp/issues/2159)
- Unresolvable iOS reference on Linux host [#2173](https://redirect.github.com/google/ksp/issues/2173)
- Fail to apply ksp before android [#2174](https://redirect.github.com/google/ksp/issues/2174)
- \[KSP2] Mangled names for internal functions are incorrect for Android modules [#2180](https://redirect.github.com/google/ksp/issues/2180)
- \[KSP2] JVM names for property getters/setters are incorrect if they start with "is" [#2181](https://redirect.github.com/google/ksp/issues/2181)
#### Contributors
Thanks to [@jonamireh](https://redirect.github.com/jonamireh), [@kuanyingchou](https://redirect.github.com/kuanyingchou), [@martinbonnin](https://redirect.github.com/martinbonnin), [@pablobaxter](https://redirect.github.com/pablobaxter), [@scott-pollom](https://redirect.github.com/scott-pollom), and everyone who reported bugs and participated in discussions!
### [`v2.0.21-1.0.26`](https://redirect.github.com/google/ksp/releases/tag/2.0.21-1.0.26)
[Compare Source](https://redirect.github.com/google/ksp/compare/2.0.21-1.0.25...2.0.21-1.0.26)
#### Bugs Fixed
- A failure occurred while executing com.google.devtools.ksp.gradle.KspAAWorkerAction [#1968](https://redirect.github.com/google/ksp/issues/1968)
- \[KSP2] default value is null for nested annotation [#2077](https://redirect.github.com/google/ksp/issues/2077)
- \[KSP2] "internal" members are out of order in Resolver.getDeclarationsInSourceOrder() [#1827](https://redirect.github.com/google/ksp/issues/1827)
- \[KSP2] Resolver.getDeclarationsFromPackage() couldn't find Java declarations [#1952](https://redirect.github.com/google/ksp/issues/1952)
- \[KSP2] Property setter parameter name becomes value [#1865](https://redirect.github.com/google/ksp/issues/1865)
- \[KSP2] A failure occurred while executing com.google.devtools.ksp.gradle.KspAAWorkerAction [#1941](https://redirect.github.com/google/ksp/issues/1941)
- \[KSP2] NullPointerException when calling hasBackingField on properties of Enum declarations [#1753](https://redirect.github.com/google/ksp/issues/1753)
- JVM Module name is changed for libraries [#2105](https://redirect.github.com/google/ksp/issues/2105)
- \[KSP2] asMemberOf() is not working with Java sources [#2051](https://redirect.github.com/google/ksp/issues/2051)
- KSP2: implement KSPropertyDeclaration.findOverridee and Resolver.asMemberOf for java fields [#1642](https://redirect.github.com/google/ksp/issues/1642)
- \[KSP2] command line doesn't support absolute Windows paths [#2046](https://redirect.github.com/google/ksp/issues/2046)
- \[KSP2] NPE when getting annotation arguments on non-Jvm targets [#1823](https://redirect.github.com/google/ksp/issues/1823)
- \[KSP2] Resolver.mapToJvmSignature() is not consistent [#2109](https://redirect.github.com/google/ksp/issues/2109)
- \[KSP2] Default annotation argument values are sometimes missing [#2107](https://redirect.github.com/google/ksp/issues/2107)
- \[KSP2] KSFunctionDeclaration.asMemberOf doesn't work sometimes [#2116](https://redirect.github.com/google/ksp/issues/2116)
- \[KSP2] Qualified names of nested annotations from JAVA_LIB is null [#2033](https://redirect.github.com/google/ksp/issues/2033)
- \[KSP2] Class literal annotation default values resolve to error types [#1910](https://redirect.github.com/google/ksp/issues/1910)
- KaFirPsiJavaTypeParameterSymbol cannot be cast to KaFirTypeParameterSymbol [#2119](https://redirect.github.com/google/ksp/issues/2119)
- KSP memory leak in Android build [#2073](https://redirect.github.com/google/ksp/issues/2073)
- \[KSP2] KSClassDeclaration.asType(emptyList()) fails after Resolver.getSymbolsWithAnnotation() call [#2094](https://redirect.github.com/google/ksp/issues/2094)
- KSValueArgumentImpl doesn't implement .equals() in KSP2 [#2091](https://redirect.github.com/google/ksp/issues/2091)
- \[KSP2] JvmName is ignored in annotation property getters [#2148](https://redirect.github.com/google/ksp/issues/2148)
- \[KSP2] Unable to get visibility of KSTypeAlias [#2140](https://redirect.github.com/google/ksp/issues/2140)
- Gradle kspKotlin task failed when upgrading to 2.0.20-1.0.25 [#2123](https://redirect.github.com/google/ksp/issues/2123)
- \[KSP2] Generic type arguments on typealiases are improperly forwarded to the KSType [#2088](https://redirect.github.com/google/ksp/issues/2088)
- java.lang.IllegalStateException: Storage for \[...] is already registered with 2.0.20-1.0.24 [#2072](https://redirect.github.com/google/ksp/issues/2072)
**Full Changelog**: https://github.com/google/ksp/compare/911690b86b60a0299af0e86b6abcf18d8abb003b...2.0.21-1.0.26
#### Contributors
Thanks to [@ansman](https://redirect.github.com/ansman), [@asapha](https://redirect.github.com/asapha), [@kaeawc](https://redirect.github.com/kaeawc), [@kuanyingchou](https://redirect.github.com/kuanyingchou), [@scott-pollom](https://redirect.github.com/scott-pollom), and everyone who reported bugs and participated in discussions!
### [`v2.0.21-1.0.25`](https://redirect.github.com/google/ksp/releases/tag/2.0.21-1.0.25)
[Compare Source](https://redirect.github.com/google/ksp/compare/2.0.20-1.0.25...2.0.21-1.0.25)
#### What's Changed
- UPDATE_KOTLIN_VERSION: 2.0.21 by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/2145](https://redirect.github.com/google/ksp/pull/2145)
**Full Changelog**: https://github.com/google/ksp/compare/2.0.21-RC-1.0.25...2.0.21-1.0.25
### [`v2.0.20-1.0.25`](https://redirect.github.com/google/ksp/releases/tag/2.0.20-1.0.25)
[Compare Source](https://redirect.github.com/google/ksp/compare/2.0.20-1.0.24...2.0.20-1.0.25)
#### Bugs Fixed
Inlined JVM name is not correct [#1493](https://redirect.github.com/google/ksp/issues/1493)
\[KSP2] NullPointerException when getting name of nested annotation [#1963](https://redirect.github.com/google/ksp/issues/1963)
\[KSP2] The status was unresolved for FirSimpleFunctionImpl [#1938](https://redirect.github.com/google/ksp/issues/1938)
\[KSP2] Class values in type annotations get resolved to error type [#1933](https://redirect.github.com/google/ksp/issues/1933)
\[KSP2] Comparing KSType leads to exception [#1918](https://redirect.github.com/google/ksp/issues/1918)
\[KSP2] Can't find values in repeatable annotations [#1883](https://redirect.github.com/google/ksp/issues/1883)
incremental: aggregating outputs should always be invalidated [#2027](https://redirect.github.com/google/ksp/issues/2027)
\[KSP2] Not yet implemented: KSValueArgumentLiteImpl.getLocation [#2048](https://redirect.github.com/google/ksp/issues/2048)
\[KSP2] Not yet implemented: KSValueArgumentImpl.getParent [#2049](https://redirect.github.com/google/ksp/issues/2049)
getSymbolsWithAnnotation returns copy function from data class [#1996](https://redirect.github.com/google/ksp/issues/1996)
\[KSP2] Annotations got use-site target when there are none specified [#1882](https://redirect.github.com/google/ksp/issues/1882)
getting null pointer exception [#1929](https://redirect.github.com/google/ksp/issues/1929)
\[KSP2] Calling getDeclarationsInSourceOrder throws KotlinIllegalStateExceptionWithAttachments [#1930](https://redirect.github.com/google/ksp/issues/1930)
\[KSP2] A failure occurred while executing com.google.devtools.ksp.gradle.KspAAWorkerAction [#1941](https://redirect.github.com/google/ksp/issues/1941)
KSP2: Resolver.getJvmNames doesn't work for inline and internal classes [#1640](https://redirect.github.com/google/ksp/issues/1640)
kspCaches don't work together with Gradle build cache [#2042](https://redirect.github.com/google/ksp/issues/2042)
#### Contributors
Thank you so much! [@ansman](https://redirect.github.com/ansman), [@kuanyingchou](https://redirect.github.com/kuanyingchou)
**Full Changelog**: https://github.com/google/ksp/compare/2.0.20-1.0.24...2.0.20-1.0.25
### [`v2.0.20-1.0.24`](https://redirect.github.com/google/ksp/releases/tag/2.0.20-1.0.24)
[Compare Source](https://redirect.github.com/google/ksp/compare/2.0.10-1.0.24...2.0.20-1.0.24)
#### What's Changed
- UPDATE_KOTLIN_VERSION: 2.0.20 by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/2040](https://redirect.github.com/google/ksp/pull/2040)
### [`v2.0.10-1.0.24`](https://redirect.github.com/google/ksp/releases/tag/2.0.10-1.0.24)
[Compare Source](https://redirect.github.com/google/ksp/compare/2.0.0-1.0.24...2.0.10-1.0.24)
#### What's Changed
- UPDATE_KOTLIN_VERSION: 2.0.10 by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/2022](https://redirect.github.com/google/ksp/pull/2022)
### [`v2.0.0-1.0.24`](https://redirect.github.com/google/ksp/releases/tag/2.0.0-1.0.24)
[Compare Source](https://redirect.github.com/google/ksp/compare/2.0.0-1.0.23...2.0.0-1.0.24)
##### What's Changed
[#2013](https://redirect.github.com/google/ksp/issues/2013) Handle edge cases of KtAnnotated.annotations
[#2009](https://redirect.github.com/google/ksp/issues/2009) Fix :kotlin-analysis-api:shadowJar failing on Windows
[#2006](https://redirect.github.com/google/ksp/issues/2006) Use symbol-processing-aa-embeddable in Gradle
##### Bugs Fixed
[#1956](https://redirect.github.com/google/ksp/issues/1956) IllegalAccessError in Dagger with KSP2.0.0-1.0.22 and KSP2
[#1998](https://redirect.github.com/google/ksp/issues/1998) KSP2 version 2.0.0-1.0.23 crashes on Moshi codegen with NoSuchElementException: Collection contains no element matching the predicate.
**Full Changelog**: https://github.com/google/ksp/compare/e8807446b16ba19e110cc23f6b852054614f7ec8...c63864cc1268bcb1c83e058494b6ff4b25947251
### [`v2.0.0-1.0.23`](https://redirect.github.com/google/ksp/releases/tag/2.0.0-1.0.23)
[Compare Source](https://redirect.github.com/google/ksp/compare/2.0.0-1.0.22...2.0.0-1.0.23)
#### Issues fixed
- \[KSP2] Nullable type arg type becomes non-null after replace() call [#1856](https://redirect.github.com/google/ksp/issues/1856)
- Annotations on enum entires on K2 are missing [#1962](https://redirect.github.com/google/ksp/issues/1962)
- Got IllegalStateException when calling replace() on error types [#1960](https://redirect.github.com/google/ksp/issues/1960)
- \[KSP2] Resolver.getJvmCheckedException doesn't work on property accessors [#1900](https://redirect.github.com/google/ksp/issues/1900)
- \[KSP2] Property getter JVM names in data classes become componentN instead of getXXX [#1958](https://redirect.github.com/google/ksp/issues/1958)
- \[KSP2] Resolver.mapToJvmSignature doesn't unwrap inline classes [#1859](https://redirect.github.com/google/ksp/issues/1859)
- \[KSP2] KSFunctionDeclaration.asMemberOf does not return correct types [#1919](https://redirect.github.com/google/ksp/issues/1919)
- implement getOwnerJvmClassName [#1979](https://redirect.github.com/google/ksp/issues/1979)
- \[KSP2] KSPropertyDeclaration.hasBackingField returns inconsistent results [#1939](https://redirect.github.com/google/ksp/issues/1939)
- \[KSP2] Annotations on extension receivers are missing [#1899](https://redirect.github.com/google/ksp/issues/1899)
### [`v2.0.0-1.0.22`](https://redirect.github.com/google/ksp/releases/tag/2.0.0-1.0.22)
[Compare Source](https://redirect.github.com/google/ksp/compare/2.0.0-1.0.21...2.0.0-1.0.22)
##### 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](https://redirect.github.com/google/ksp/issues/1908) KSP2: Calling KSP2 in programs does not appear to work on macOS or Windows
[#1917](https://redirect.github.com/google/ksp/issues/1917) KSP2's symbol-processing-aa-embeddable artifact exposes an unresolvable pre-release kotlin 2.0.20 dependency
[#1911](https://redirect.github.com/google/ksp/issues/1911) NoSuchMethodError when running KSP2 with Dagger (KSP 2.0.0-1.0.21)
[#1909](https://redirect.github.com/google/ksp/issues/1909) KSP2: default annotation arguments no longer work in 1.0.21
[#1232](https://redirect.github.com/google/ksp/issues/1232) Expose simple names on a missing types's synthetic declaration
[#1857](https://redirect.github.com/google/ksp/issues/1857) \[KSP2] Modifiers are missing for property accessors
[#1924](https://redirect.github.com/google/ksp/issues/1924) \[KSP2] Type arg becomes '\*' after calling KSType.replace() with an error type
[#1948](https://redirect.github.com/google/ksp/issues/1948) KSP2 default annotation KClass values for built-in types use java.lang.\* versions
##### What's Changed
- Include type hint into KSErrorType. by [@Jeffset](https://redirect.github.com/Jeffset) in [https://github.com/google/ksp/pull/1848](https://redirect.github.com/google/ksp/pull/1848)
- Implement Resolver.getModuleName API by [@ZacSweers](https://redirect.github.com/ZacSweers) in [https://github.com/google/ksp/pull/1847](https://redirect.github.com/google/ksp/pull/1847)
- Patch AA service files in renamed uber jar by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/1867](https://redirect.github.com/google/ksp/pull/1867)
- fix annotation default value parsing for arrays and class literals. by [@neetopia](https://redirect.github.com/neetopia) in [https://github.com/google/ksp/pull/1871](https://redirect.github.com/google/ksp/pull/1871)
- fix package name for library based symbols by [@neetopia](https://redirect.github.com/neetopia) in [https://github.com/google/ksp/pull/1873](https://redirect.github.com/google/ksp/pull/1873)
- Do not index classpath in declaration provider by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/1870](https://redirect.github.com/google/ksp/pull/1870)
- check functional interface for modifiers by [@neetopia](https://redirect.github.com/neetopia) in [https://github.com/google/ksp/pull/1872](https://redirect.github.com/google/ksp/pull/1872)
- Annotation default java by [@neetopia](https://redirect.github.com/neetopia) in [https://github.com/google/ksp/pull/1879](https://redirect.github.com/google/ksp/pull/1879)
- fix type parameter bounds by [@neetopia](https://redirect.github.com/neetopia) in [https://github.com/google/ksp/pull/1880](https://redirect.github.com/google/ksp/pull/1880)
- Add command line parser and entry points by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/1885](https://redirect.github.com/google/ksp/pull/1885)
- KSP2: Fix support of wasm by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/1888](https://redirect.github.com/google/ksp/pull/1888)
- Return KSClassDeclarationEnumEntryImpl for enum entry annotation values. by [@neetopia](https://redirect.github.com/neetopia) in [https://github.com/google/ksp/pull/1881](https://redirect.github.com/google/ksp/pull/1881)
- Reuse Kotlin indexes in incremental providers by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/1891](https://redirect.github.com/google/ksp/pull/1891)
- special handling for java property accessors override checking by [@neetopia](https://redirect.github.com/neetopia) in [https://github.com/google/ksp/pull/1894](https://redirect.github.com/google/ksp/pull/1894)
- KSP2: Reuse Java indexes by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/1895](https://redirect.github.com/google/ksp/pull/1895)
- Incremental: fix roots from getSealedSubclasses by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/1893](https://redirect.github.com/google/ksp/pull/1893)
- use safe cast for annotation type to declaration resolution by [@neetopia](https://redirect.github.com/neetopia) in [https://github.com/google/ksp/pull/1902](https://redirect.github.com/google/ksp/pull/1902)
**Full Changelog**: https://github.com/google/ksp/compare/2.0.0-1.0.21...2.0.0-1.0.22
### [`v2.0.0-1.0.21`](https://redirect.github.com/google/ksp/releases/tag/2.0.0-1.0.21)
[Compare Source](https://redirect.github.com/google/ksp/compare/1.9.25-1.0.20...2.0.0-1.0.21)
This release brings mostly bug fixes into [KSP2 beta](https://redirect.github.com/google/ksp/blob/main/docs/ksp2.md)
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](https://redirect.github.com/google/ksp/issues/1621)
##### issues fixed
- Class values are missing class type in annotation values [#1646](https://redirect.github.com/google/ksp/issues/1646)
- Kotlin Function\* types reports inconsistent package and qualified names [#1845](https://redirect.github.com/google/ksp/issues/1845)
- KSP2 cannot load Android lint checks jar due to FileTooBigException [#1839](https://redirect.github.com/google/ksp/issues/1839)
- \[KSP2] KSAnnotations with annotation properties with a default value always resolve to null [#1843](https://redirect.github.com/google/ksp/issues/1843)
- \[KSP2] Modifier.FUN is missing in functional interfaces [#1853](https://redirect.github.com/google/ksp/issues/1853)
- \[KSP2] ClassCastException when calling KSType.starProjection() on a Java field type [#1735](https://redirect.github.com/google/ksp/issues/1735)
- \[KSP2] Annotation arguments with default values are missing [#1837](https://redirect.github.com/google/ksp/issues/1837)
- \[KSP2] Intersection types are not modeled [#1846](https://redirect.github.com/google/ksp/issues/1846)
- KSP2: Model enum entries in annotation values [#1861](https://redirect.github.com/google/ksp/issues/1861)
- KSP2: Unknown JS backend: Wasm [#1889](https://redirect.github.com/google/ksp/issues/1889)
- \[KSP2] NullPointerException when getting arguments of annotation value [#1798](https://redirect.github.com/google/ksp/issues/1798)
### [`v1.9.25-1.0.20`](https://redirect.github.com/google/ksp/releases/tag/1.9.25-1.0.20)
[Compare Source](https://redirect.github.com/google/ksp/compare/1.9.24-1.0.20...1.9.25-1.0.20)
KSP 1.0.20 for Kotlin 1.9.25
### [`v1.9.24-1.0.20`](https://redirect.github.com/google/ksp/releases/tag/1.9.24-1.0.20)
[Compare Source](https://redirect.github.com/google/ksp/compare/1.9.23-1.0.20...1.9.24-1.0.20)
KSP 1.0.20 for kotlin compiler version 1.9.24
### [`v1.9.23-1.0.20`](https://redirect.github.com/google/ksp/releases/tag/1.9.23-1.0.20)
[Compare Source](https://redirect.github.com/google/ksp/compare/1.9.23-1.0.19...1.9.23-1.0.20)
#### KSP1 issues fixed
- performance optimization for certain workload consists of heavy Java files, including
- Replace IdKey's impl with identityHashCode [#1804](https://redirect.github.com/google/ksp/issues/1804)
- Cache enclosed descriptors by name [#1808](https://redirect.github.com/google/ksp/issues/1808)
- Add excludedSources to the KSP extension object [#1793](https://redirect.github.com/google/ksp/issues/1793) thanks to [@bitspittle](https://redirect.github.com/bitspittle)
#### KSP2 issues fixed
- NoClassDefFoundError for LZ4Factory when trying KSP2 [#1713](https://redirect.github.com/google/ksp/issues/1713)
- Calling KSType.replace() with original arguments results in [#1807](https://redirect.github.com/google/ksp/issues/1807)
- Static fields in base class appear in derived classes [#1744](https://redirect.github.com/google/ksp/issues/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`](https://redirect.github.com/google/ksp/releases/tag/1.9.23-1.0.19)
##### New APIs
- [#1708](https://redirect.github.com/google/ksp/issues/1708) `SymbolProcessorEnvironment.kspVersion`
- [#1707](https://redirect.github.com/google/ksp/issues/1707) `CodeGenerator.associateWithFunctions` and `CodeGenerator.associateWithProperties`
##### Issues fixed in KSP2
- [#1691](https://redirect.github.com/google/ksp/issues/1691) IllegalStateException: Value type not found for value
- [#1719](https://redirect.github.com/google/ksp/issues/1719) The order of symbols returned from Resolver.getSymbolsWithAnnotation() is different
- [#1718](https://redirect.github.com/google/ksp/issues/1718) Getting packageName of Kotlin types returns empty String
- [#1721](https://redirect.github.com/google/ksp/issues/1721) KSAnnotation packageName is an empty String for a type from a different module
- [#1722](https://redirect.github.com/google/ksp/issues/1722) Resolver.getDeclarationsFromPackage() returns declarations from the default package when passing in an unknown package
- [#1717](https://redirect.github.com/google/ksp/issues/1717) Resolver.getJvmName() returns different results for annotation args
- [#1725](https://redirect.github.com/google/ksp/issues/1725) asMemberOf() throws exception with a generic type without arguments
- [#1728](https://redirect.github.com/google/ksp/issues/1728) ClassCastException when calling KSType.replace() with empty list
- [#1713](https://redirect.github.com/google/ksp/issues/1713) NoClassDefFoundError for LZ4Factory when trying KSP2
- [#1665](https://redirect.github.com/google/ksp/issues/1665) NoClassDefFound in ksp.useKSP2=true mode
- [#1733](https://redirect.github.com/google/ksp/issues/1733) ABI incompatibility with kotlin-compiler-embeddable in 2.0.0-Beta4
- [#1714](https://redirect.github.com/google/ksp/issues/1714) Generated resources are not added to KotlinCompilation inputs
- [#1747](https://redirect.github.com/google/ksp/issues/1747) isCompanionObject is false for companion objects from KOTLIN_LIB
- [#1743](https://redirect.github.com/google/ksp/issues/1743) Incorrect type parameter variances
- [#1759](https://redirect.github.com/google/ksp/issues/1759) IllegalStateException when getting the modifiers from properties in a Java annotation declaration
##### Issues fixed in KSP Gradle Plugin
- [#1712](https://redirect.github.com/google/ksp/issues/1712) Analysis API artifacts have the wrong common-deps dependency
- [#1775](https://redirect.github.com/google/ksp/issues/1775) 1.0.18 creates circular dependencies with kapt tasks
- [#1772](https://redirect.github.com/google/ksp/issues/1772) Update plugin com.google.devtools.ksp to v1.9.22-1.0.18 BUILD FAILED
##### Known issues
- [#1776](https://redirect.github.com/google/ksp/issues/1776) KSP2 has higher memory usage when the compile classpath is very large.
### [`v1.9.22-1.0.17`](https://redirect.github.com/google/ksp/releases/tag/1.9.22-1.0.17)
[Compare Source](https://redirect.github.com/google/ksp/compare/1.9.22-1.0.16...1.9.22-1.0.17)
#### Issues fixed
- Annotations missing on KSTypeArgument of typealias [#1679](https://redirect.github.com/google/ksp/issues/1679)
- unhandled visibility: private to this [#1515](https://redirect.github.com/google/ksp/issues/1515)
- `Resolver#getJvmCheckedException` results in `` when throwing type variable. [#1460](https://redirect.github.com/google/ksp/issues/1460)
- Class annotation values with `$` in name are `null` when used in Kotlin source [#1671](https://redirect.github.com/google/ksp/issues/1671)
- KSP 1.9.21-1.0.15 leaking memory and causing OOMs [#1653](https://redirect.github.com/google/ksp/issues/1653)
- KSP processing fails with Java enum [#1482](https://redirect.github.com/google/ksp/issues/1482)
- \[KSP2] Support Package annotations [#1641](https://redirect.github.com/google/ksp/issues/1641)
### [`v1.9.22-1.0.16`](https://redirect.github.com/google/ksp/releases/tag/1.9.22-1.0.16)
[Compare Source](https://redirect.github.com/google/ksp/compare/1.9.21-1.0.16...1.9.22-1.0.16)
This is KSP 1.0.16 for Kotlin compiler 1.9.22
### [`v1.9.21-1.0.16`](https://redirect.github.com/google/ksp/releases/tag/1.9.21-1.0.16)
[Compare Source](https://redirect.github.com/google/ksp/compare/1.9.21-1.0.15...1.9.21-1.0.16)
##### Issue fixed
[#1653](https://redirect.github.com/google/ksp/issues/1653) KSP 1.9.21-1.0.15 leaking memory and causing OOMs
### [`v1.9.21-1.0.15`](https://redirect.github.com/google/ksp/releases/tag/1.9.21-1.0.15)
[Compare Source](https://redirect.github.com/google/ksp/compare/1.9.20-1.0.14...1.9.21-1.0.15)
This is a hot fix to [#1591](https://redirect.github.com/google/ksp/issues/1591) where multiple KMP projects were affected.
##### Issues Fixed / PRs Merged
[#1591](https://redirect.github.com/google/ksp/issues/1591) Error: Rewrite at slice LEXICAL_SCOPE key: ANNOTATION_ENTRY old value
[#1612](https://redirect.github.com/google/ksp/issues/1612) Filter out the `-progressive` compiler flag in KSP tasks
[#1614](https://redirect.github.com/google/ksp/issues/1614) Revert back to the non-thread-local KSP compiler plugin implementation.
### [`v1.9.20-1.0.14`](https://redirect.github.com/google/ksp/releases/tag/1.9.20-1.0.14)
[Compare Source](https://redirect.github.com/google/ksp/compare/1.9.20-1.0.13...1.9.20-1.0.14)
##### issues fixed
- [#1474](https://redirect.github.com/google/ksp/issues/1474) Unresolvable types in annotation value are incorrectly displayed as null values instead of error types.
- [#1522](https://redirect.github.com/google/ksp/issues/1522) KspTaskNative is not configuration cacheable
- [#1554](https://redirect.github.com/google/ksp/issues/1554) KSP Incremental Processing: Removing a file does not remove transitively generated files
- [#1555](https://redirect.github.com/google/ksp/issues/1555) KSP Incremental Processing: Clean source files should have generated output cache accessible via Resolver.
- [#1568](https://redirect.github.com/google/ksp/issues/1568) KSP resolves dependencies too early
### [`v1.9.20-1.0.13`](https://redirect.github.com/google/ksp/releases/tag/1.9.20-1.0.13)
[Compare Source](https://redirect.github.com/google/ksp/compare/1.9.10-1.0.13...1.9.20-1.0.13)
Bumping Kotlin to 1.9.20 for KSP 1.0.13.
JetBrains/kotlin (org.jetbrains.kotlin:kotlin-reflect)
### [`v2.1.0`](https://redirect.github.com/JetBrains/kotlin/releases/tag/v2.1.0): Kotlin 2.1.0
##### Changelog
##### Analysis API
##### New Features
- [`KT-68603`](https://youtrack.jetbrains.com/issue/KT-68603) KotlinDirectInheritorsProvider: add an option to ignore non-kotlin results
##### Performance Improvements
- [`KT-70757`](https://youtrack.jetbrains.com/issue/KT-70757) Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbol
##### Fixes
- [`KT-70437`](https://youtrack.jetbrains.com/issue/KT-70437) Class reference is not resolvable
- [`KT-57733`](https://youtrack.jetbrains.com/issue/KT-57733) Analysis API: Use optimized `ModuleWithDependenciesScope`s in combined symbol providers
- [`KT-72389`](https://youtrack.jetbrains.com/issue/KT-72389) K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal class
- [`KT-69190`](https://youtrack.jetbrains.com/issue/KT-69190) K2: False-positive "redundant private modifier"
- [`KT-64984`](https://youtrack.jetbrains.com/issue/KT-64984) Analysis API: Support Wasm target
- [`KT-70375`](https://youtrack.jetbrains.com/issue/KT-70375) K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointer
- [`KT-71259`](https://youtrack.jetbrains.com/issue/KT-71259) K2 evaluator: Invalid smart cast info collecting for Code Fragments
- [`KT-69360`](https://youtrack.jetbrains.com/issue/KT-69360) Lack of implicit receiver for the last statement under lambda in scripts
- [`KT-70890`](https://youtrack.jetbrains.com/issue/KT-70890) Analysis API: Experiment with weak references to LL FIR/analysis sessions in session caches
- [`KT-70657`](https://youtrack.jetbrains.com/issue/KT-70657) Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jars
- [`KT-71055`](https://youtrack.jetbrains.com/issue/KT-71055) Suspend calls inside 'analyze()' break the block guarantees
- [`KT-70815`](https://youtrack.jetbrains.com/issue/KT-70815) Analysis API: Implement stop-the-world session invalidation
- [`KT-69819`](https://youtrack.jetbrains.com/issue/KT-69819) K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualified
- [`KT-68761`](https://youtrack.jetbrains.com/issue/KT-68761) Analysis API: Experiment with limited-size cache in `KaFirSessionProvider`
- [`KT-70384`](https://youtrack.jetbrains.com/issue/KT-70384) Analysis API Standalone: The same class in the same two renamed jars is unresolved
- [`KT-71067`](https://youtrack.jetbrains.com/issue/KT-71067) Exceptions from references cancel Find Usages
- [`KT-69535`](https://youtrack.jetbrains.com/issue/KT-69535) Redesign 'containingSymbol'
- [`KT-71025`](https://youtrack.jetbrains.com/issue/KT-71025) K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" values
- [`KT-67483`](https://youtrack.jetbrains.com/issue/KT-67483) K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation call
- [`KT-69416`](https://youtrack.jetbrains.com/issue/KT-69416) K2 IDE / Completion: “No classifier found” on simple value creating
- [`KT-70257`](https://youtrack.jetbrains.com/issue/KT-70257) CCE: class kotlin.UInt cannot be cast to class java.lang.Number
- [`KT-70376`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-70264) AA: service registration via XML fails with AbstractMethodError in Lint CLI
- [`KT-69950`](https://youtrack.jetbrains.com/issue/KT-69950) Analysis API: Introduce `isSubtypeOf(ClassId)`
- [`KT-68625`](https://youtrack.jetbrains.com/issue/KT-68625) K2: “`lazyResolveToPhase(STATUS)` cannot be called from a transformer with a phase STATUS.”
- [`KT-67665`](https://youtrack.jetbrains.com/issue/KT-67665) K2: contract violation for value class with a constructor parameter with an implicit type
- [`KT-67009`](https://youtrack.jetbrains.com/issue/KT-67009) Analysis API: Add abbreviated type tests for type aliases from source modules
- [`KT-69977`](https://youtrack.jetbrains.com/issue/KT-69977) KaFirFunctionalType#getAbbreviation is always null
- [`KT-68341`](https://youtrack.jetbrains.com/issue/KT-68341) Analysis API: Expanded function types from libraries don't have an abbreviated type
- [`KT-68857`](https://youtrack.jetbrains.com/issue/KT-68857) Analysis API: Refactor annotations
- [`KT-70386`](https://youtrack.jetbrains.com/issue/KT-70386) Do not filter out overloads from different libraries in dangling files
- [`KT-65552`](https://youtrack.jetbrains.com/issue/KT-65552) K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragment
- [`KT-65803`](https://youtrack.jetbrains.com/issue/KT-65803) K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments"
- [`KT-68896`](https://youtrack.jetbrains.com/issue/KT-68896) Support VirtualFile binary dependency inputs to Analysis API modules
- [`KT-69395`](https://youtrack.jetbrains.com/issue/KT-69395) K2 IDE: incorrect overload selection from binary dependencies in a shared native source set
- [`KT-68573`](https://youtrack.jetbrains.com/issue/KT-68573) ISE: "Unexpected constant value (kotlin/annotation/AnnotationTarget, CLASS)" at Kt1DescUtilsKt.toKtConstantValue()
- [`KT-69576`](https://youtrack.jetbrains.com/issue/KT-69576) Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns false for companion references in implicit invoke operator calls
- [`KT-69568`](https://youtrack.jetbrains.com/issue/KT-69568) Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns true for non-companion references in qualified calls
- [`KT-69436`](https://youtrack.jetbrains.com/issue/KT-69436) Analysis API Platform: Encapsulate `LLFirDeclarationModificationService` as an engine service
- [`KT-63004`](https://youtrack.jetbrains.com/issue/KT-63004) K2: Analysis API: Design API for querying declarations generated by compiler plugins (similar to indices)
- [`KT-69452`](https://youtrack.jetbrains.com/issue/KT-69452) AA FIR: wrong source PSI after compile-time evaluation
- [`KT-69598`](https://youtrack.jetbrains.com/issue/KT-69598) AA: definitely not-null type at receiver position should be wrapped in parenthesis
- [`KT-60484`](https://youtrack.jetbrains.com/issue/KT-60484) Analysis API: add support for KtType pointers similar to KtSymbolPointer
- [`KT-68884`](https://youtrack.jetbrains.com/issue/KT-68884) Analysis API: Rename/deprecate/remove declarations as part of Stabilization
- [`KT-69453`](https://youtrack.jetbrains.com/issue/KT-69453) AA FIR: miss to handle expected type of lambda with explicit label
- [`KT-69533`](https://youtrack.jetbrains.com/issue/KT-69533) Protect implementation parts of Analysis API with opt-in annotations
##### Analysis API. FIR
##### Performance Improvements
- [`KT-71566`](https://youtrack.jetbrains.com/issue/KT-71566) FirElementBuilder#getFirForNonKtFileElement should iterate a Psi file over and over
- [`KT-71224`](https://youtrack.jetbrains.com/issue/KT-71224) Analysis API: `FirElementFinder.collectDesignationPath` relies on naive iteration through FIR files
##### Fixes
- [`KT-70327`](https://youtrack.jetbrains.com/issue/KT-70327) Analysis API: Batch inspection causes deadlock in `ValueWithPostCompute`
- [`KT-69070`](https://youtrack.jetbrains.com/issue/KT-69070) Analysis API: Querying declared member scope for Java symbols results in exception in some use cases
- [`KT-68268`](https://youtrack.jetbrains.com/issue/KT-68268) LLSealedInheritorsProvider: reduce scope to kotlin files
- [`KT-69671`](https://youtrack.jetbrains.com/issue/KT-69671) TYPES phase contract violation through JavaSymbolProvider
- [`KT-70624`](https://youtrack.jetbrains.com/issue/KT-70624) Declaration symbols from code fragments are treated as not local
- [`KT-70662`](https://youtrack.jetbrains.com/issue/KT-70662) NPE: FirLazyBodiesCalculatorKt.calculateLazyBodyForProperty
- [`KT-70859`](https://youtrack.jetbrains.com/issue/KT-70859) Do not fail highlighting due to resolution problems
- [`KT-70474`](https://youtrack.jetbrains.com/issue/KT-70474) FirLazyResolveContractViolationException from JavaSymbolProvider
- [`KT-70323`](https://youtrack.jetbrains.com/issue/KT-70323) FirLazyResolveContractViolationException: `lazyResolveToPhase(TYPES)` cannot be called from a transformer with a phase TYPES
- [`KT-71567`](https://youtrack.jetbrains.com/issue/KT-71567) LLFirCompilerRequiredAnnotationsTargetResolver should calculate annotation arguments on demand
- [`KT-71584`](https://youtrack.jetbrains.com/issue/KT-71584) `getNonLocalContainingOrThisDeclaration` treats KtParameter from functional type as non-local
##### Analysis API. Light Classes
##### Performance Improvements
- [`KT-69998`](https://youtrack.jetbrains.com/issue/KT-69998) Drop redundant cache from ClassInnerStuffCache
##### Fixes
- [`KT-69833`](https://youtrack.jetbrains.com/issue/KT-69833) Support value classes
- [`KT-71693`](https://youtrack.jetbrains.com/issue/KT-71693) Wrong name mangling for JvmField class property and companion property clash
- [`KT-71469`](https://youtrack.jetbrains.com/issue/KT-71469) KtLightClassForDecompiledDeclaration: missed kotlinOrigin
- [`KT-70710`](https://youtrack.jetbrains.com/issue/KT-70710) Provide light classes for KMP modules in Android Lint
- [`KT-70548`](https://youtrack.jetbrains.com/issue/KT-70548) SLC: text of class object access expression is not the same as raw text
- [`KT-70572`](https://youtrack.jetbrains.com/issue/KT-70572) SLC: missing `isInheritor` implementation for type parameter
- [`KT-70491`](https://youtrack.jetbrains.com/issue/KT-70491) SLC: inconsistent source PSI of no-arg constructor for all default values
- [`KT-70458`](https://youtrack.jetbrains.com/issue/KT-70458) SLC: missed `auxiliaryOriginalElement` for delegated property
- [`KT-70232`](https://youtrack.jetbrains.com/issue/KT-70232) Support a companion object inside value classes
- [`KT-70349`](https://youtrack.jetbrains.com/issue/KT-70349) `@delegate`:\` annotations are missed for light class fields
- [`KT-68328`](https://youtrack.jetbrains.com/issue/KT-68328) Move KtLightClassBase to ULC
##### Analysis API. Providers and Caches
- [`KT-65618`](https://youtrack.jetbrains.com/issue/KT-65618) K2: resulted FirClass.psi != requested PsiClass from completion
- [`KT-69292`](https://youtrack.jetbrains.com/issue/KT-69292) K2: Analysis API: A property's `MUST_BE_INITIALIZED` diagnostic is not updated after changing `field` usage in an accessor
- [`KT-71468`](https://youtrack.jetbrains.com/issue/KT-71468) Drop redundant logic from LLFirJavaFacadeForBinaries
- [`KT-71700`](https://youtrack.jetbrains.com/issue/KT-71700) Cache result of resolveToCall
- [`KT-71520`](https://youtrack.jetbrains.com/issue/KT-71520) Analysis API: `LLFirNativeForwardDeclarationsSymbolProvider` spends a lot of time in indices
##### Analysis API. Standalone
- [`KT-65110`](https://youtrack.jetbrains.com/issue/KT-65110) Analysis API: In Standalone mode the order of symbols is unstable
##### Analysis API. Stubs and Decompilation
- [`KT-71565`](https://youtrack.jetbrains.com/issue/KT-71565) KtClassOrObject should use isLocal from greenStub
##### Analysis API. Surface
##### New Features
- [`KT-69960`](https://youtrack.jetbrains.com/issue/KT-69960) `resolveToCallCandidates` should support operators
- [`KT-69961`](https://youtrack.jetbrains.com/issue/KT-69961) `resolveToCallCandidates` should support properties
##### Performance Improvements
- [`KT-70529`](https://youtrack.jetbrains.com/issue/KT-70529) KaSymbol: reduce the number of `cached` usages
- [`KT-70165`](https://youtrack.jetbrains.com/issue/KT-70165) Introduce PSI-based `KaSymbol`s for K2
##### Fixes
- [`KT-69371`](https://youtrack.jetbrains.com/issue/KT-69371) Analysis API: expose only interfaces/abstract classes for the resolution API
- [`KT-69696`](https://youtrack.jetbrains.com/issue/KT-69696) KaSymbolByFirBuilder should filter call-site substitutions
- [`KT-69679`](https://youtrack.jetbrains.com/issue/KT-69679) KaDelegatedConstructorCall should have substituted signature
- [`KT-70206`](https://youtrack.jetbrains.com/issue/KT-70206) `anonymousSymbol` API throws an exception for regular functions
- [`KT-69699`](https://youtrack.jetbrains.com/issue/KT-69699) Receiver type is not substituted in the case of conflict declarations
- [`KT-69381`](https://youtrack.jetbrains.com/issue/KT-69381) Analysis API: Investigate the viability of current `KaSymbol` caches
- [`KT-70199`](https://youtrack.jetbrains.com/issue/KT-70199) K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments
- [`KT-70661`](https://youtrack.jetbrains.com/issue/KT-70661) Invalid FirDeclarationOrigin ScriptTopLevelDestructuringDeclarationContainer
- [`KT-70663`](https://youtrack.jetbrains.com/issue/KT-70663) KaFirDestructuringDeclarationSymbol: Failed requirement
- [`KT-63490`](https://youtrack.jetbrains.com/issue/KT-63490) Analysis API: Accessing the Analysis API should be prohibited during dumb mode
- [`KT-63390`](https://youtrack.jetbrains.com/issue/KT-63390) K2: Analysis API: add annotations to KtClassInitializerSymbol
- [`KT-55124`](https://youtrack.jetbrains.com/issue/KT-55124) Design common ancestor for KtValueParameter and KtReceiverParameterSymbol
- [`KT-71731`](https://youtrack.jetbrains.com/issue/KT-71731) directlyOverridenSymbols/allOverridenSymbols works incorrectly for intersection overrides
##### Apple Ecosystem
- [`KT-66262`](https://youtrack.jetbrains.com/issue/KT-66262) Deprecate and remove support for bitcode embedding from the Kotlin Gradle plugin
- [`KT-66894`](https://youtrack.jetbrains.com/issue/KT-66894) XCFramework task fails when name passed to xcframework DSL is different from framework's name
- [`KT-65675`](https://youtrack.jetbrains.com/issue/KT-65675) XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworks
- [`KT-69119`](https://youtrack.jetbrains.com/issue/KT-69119) xcodeVersion task fails if Xcode isn't installed and apple-specific native targets aren't declared
##### Backend. Wasm
##### New Features
- [`KT-70786`](https://youtrack.jetbrains.com/issue/KT-70786) Improve DX of the variable view during debugging in Chrome/Firefox for Kotlin/Wasm
- [`KT-70331`](https://youtrack.jetbrains.com/issue/KT-70331) Support incremental compilation for the Wasm backend
- [`KT-71686`](https://youtrack.jetbrains.com/issue/KT-71686) K/Wasm: Add functions to convert between Kotlin and JS array types
- [`KT-68185`](https://youtrack.jetbrains.com/issue/KT-68185) \[WasmJs] Attach js exception object to JsException
##### Fixes
- [`KT-71294`](https://youtrack.jetbrains.com/issue/KT-71294) Wasm Artifacts/Resource are being loaded relatively instead of absolutely
- [`KT-71473`](https://youtrack.jetbrains.com/issue/KT-71473) K/Wasm: Use `--closed-world` and related options for Binaryen
- [`KT-72297`](https://youtrack.jetbrains.com/issue/KT-72297) \[Wasm] Unused associated object class lead to compiler fail
- [`KT-72156`](https://youtrack.jetbrains.com/issue/KT-72156) custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven public
- [`KT-65799`](https://youtrack.jetbrains.com/issue/KT-65799) K/Wasm: remove default exports from wasm exports
- [`KT-71800`](https://youtrack.jetbrains.com/issue/KT-71800) Wasm compiler: Fix member generation for data classes with an array-type property
- [`KT-71580`](https://youtrack.jetbrains.com/issue/KT-71580) String::toFloat on wasm behaves differently compared to other targets
- [`KT-71523`](https://youtrack.jetbrains.com/issue/KT-71523) K/Wasm: cleanup after fix for KT-71474
- [`KT-71475`](https://youtrack.jetbrains.com/issue/KT-71475) K/Wasm: KClass::qualifiedName returns incorrect result for nested or companion objects
- [`KT-71474`](https://youtrack.jetbrains.com/issue/KT-71474) K/Wasm: KProperty\*Impl equals work incorrectly for clabbale reference created in different files or modules
- [`KT-61130`](https://youtrack.jetbrains.com/issue/KT-61130) K/Wasm: Function signatures may clash with base class internal methods from a friend module
- [`KT-70820`](https://youtrack.jetbrains.com/issue/KT-70820) \[Kotlin QG] wasm-validator fails when running compile\[...]KotlinWasmJsOptimize
- [`KT-70819`](https://youtrack.jetbrains.com/issue/KT-70819) \[Kotlin QG] node.js fails when running wasmJs\[...]Test KGP tasks
- [`KT-70394`](https://youtrack.jetbrains.com/issue/KT-70394) Investigate increased wasm binary size after switching stdlib compilation to K2
- [`KT-69627`](https://youtrack.jetbrains.com/issue/KT-69627) Remove `create###Array` functions from WASM stdlib
- [`KT-68509`](https://youtrack.jetbrains.com/issue/KT-68509) Fatal: error validating input in compileProductionExecutableKotlinWasmJsOptimize
##### Compiler
##### New Features
- [`KT-71094`](https://youtrack.jetbrains.com/issue/KT-71094) Kotlin/Native incremental compilation: fail compilation if cache build failed
- [`KT-21908`](https://youtrack.jetbrains.com/issue/KT-21908) Support 'when' exhaustiveness checking for generic type parameter with sealed class upper bound
- [`KT-70679`](https://youtrack.jetbrains.com/issue/KT-70679) Kotlin/Native: fill WritableTypeInfo from Swift Export type mapping
- [`KT-59798`](https://youtrack.jetbrains.com/issue/KT-59798) Builder inference is not working when combined with `let` expression
- [`KT-54227`](https://youtrack.jetbrains.com/issue/KT-54227) Cannot use nullable Nothing as reified type parameter
- [`KT-71430`](https://youtrack.jetbrains.com/issue/KT-71430) Kotlin-to-Java direct actualization implementation
- [`KT-68163`](https://youtrack.jetbrains.com/issue/KT-68163) Expose supplementary compiler warnings via CLI
- [`KT-69321`](https://youtrack.jetbrains.com/issue/KT-69321) Swift export: enable auto-linkage of binary dependencies
- [`KT-11526`](https://youtrack.jetbrains.com/issue/KT-11526) Improve diagnostics for "X overrides nothing"
- [`KT-49710`](https://youtrack.jetbrains.com/issue/KT-49710) False positive NO_ELSE_IN_WHEN with nullable type as receiver
- [`KT-69729`](https://youtrack.jetbrains.com/issue/KT-69729) Support calling super interface Java methods from Kotlin interface
- [`KT-69508`](https://youtrack.jetbrains.com/issue/KT-69508) Improve "Public-API inline function cannot access non-public-API" check for the inline property accessors
##### Performance Improvements
- [`KT-71353`](https://youtrack.jetbrains.com/issue/KT-71353) FP Kotlin performance degradation (around Cone types hierarchy changes)
- [`KT-71159`](https://youtrack.jetbrains.com/issue/KT-71159) \[K2] OOM on large enum classes with fields
- [`KT-69718`](https://youtrack.jetbrains.com/issue/KT-69718) K2: Check for jvm nullability annotations in fir2ir is slow
- [`KT-68417`](https://youtrack.jetbrains.com/issue/KT-68417) Native: LLVM 16 inliner is slow on K/N-produced modules
- [`KT-63971`](https://youtrack.jetbrains.com/issue/KT-63971) K2: Redundant `@ParameterName` in abbreviated type in metadata
##### Fixes
- [`KT-71550`](https://youtrack.jetbrains.com/issue/KT-71550) JVM IR: NPE on identity equals of boolean true with null
- [`KT-72214`](https://youtrack.jetbrains.com/issue/KT-72214) -fpass-plugin (clangFlags) is not applied since Kotlin 2.0.20
- [`KT-68933`](https://youtrack.jetbrains.com/issue/KT-68933) CompilationException: Back-end: Could not get inlined class
- [`KT-72255`](https://youtrack.jetbrains.com/issue/KT-72255) Promote jspecify from warning to error
- [`KT-73065`](https://youtrack.jetbrains.com/issue/KT-73065) CCE with context receivers
- [`KT-61033`](https://youtrack.jetbrains.com/issue/KT-61033) K2: implement a diagnostic corresponding to K1's MISSING_BUILT_IN_DECLARATION
- [`KT-72345`](https://youtrack.jetbrains.com/issue/KT-72345) K2: Method 'get' without `@Override` annotation not called
- [`KT-71260`](https://youtrack.jetbrains.com/issue/KT-71260) K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwner when there is no actual for expect
- [`KT-72996`](https://youtrack.jetbrains.com/issue/KT-72996) false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operator
- [`KT-72552`](https://youtrack.jetbrains.com/issue/KT-72552) AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped types
- [`KT-71751`](https://youtrack.jetbrains.com/issue/KT-71751) K2: Skipping code in last statement of lambda
- [`KT-71121`](https://youtrack.jetbrains.com/issue/KT-71121) Kotlin/JS incremental compilation fails with KotlinIllegalArgumentExceptionWithAttachments
- [`KT-60521`](https://youtrack.jetbrains.com/issue/KT-60521) Drop language versions 1.4 and 1.5
- [`KT-70461`](https://youtrack.jetbrains.com/issue/KT-70461) K2: "Inline class types should have the same representation" caused by value class and smart check
- [`KT-72238`](https://youtrack.jetbrains.com/issue/KT-72238) Argument type mismatch in builder inside extension function after ?:
- [`KT-70306`](https://youtrack.jetbrains.com/issue/KT-70306) K2: Lambdas are unserializable: inferred from Java param `? super I`
- [`KT-67383`](https://youtrack.jetbrains.com/issue/KT-67383) Incorrect optimisation when optimising for loop with UByte
- [`KT-68653`](https://youtrack.jetbrains.com/issue/KT-68653) Switch latest stable language version in Kotlin project to 2.1
- [`KT-71708`](https://youtrack.jetbrains.com/issue/KT-71708) False negative UNSUPPORTED for collection literals as trailing return value
- [`KT-72281`](https://youtrack.jetbrains.com/issue/KT-72281) K/N: "Failed to wait for cache to be built"
- [`KT-72017`](https://youtrack.jetbrains.com/issue/KT-72017) Enum property reflection returning null KClassifier property for Enum classes defined inside Kotlin Scripts
- [`KT-69040`](https://youtrack.jetbrains.com/issue/KT-69040) PCLA: deal with "deep" calls that can be fully analyzed properly
- [`KT-69920`](https://youtrack.jetbrains.com/issue/KT-69920) K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilation
- [`KT-69549`](https://youtrack.jetbrains.com/issue/KT-69549) Try to move callable reference transformation earlier in pipeline
- [`KT-63944`](https://youtrack.jetbrains.com/issue/KT-63944) Kotlin/Native: Cache flavor selection doesn't respect GC kind
- [`KT-71649`](https://youtrack.jetbrains.com/issue/KT-71649) K2: Put operator on mutableMap\() causes crashes on null key
- [`KT-70667`](https://youtrack.jetbrains.com/issue/KT-70667) K2: "Type parameter \* has inconsistent bounds" caused by wildcard and where-clause
- [`KT-70562`](https://youtrack.jetbrains.com/issue/KT-70562) `@SubclassOptInRequired` cannot accept multiple experimental marker
- [`KT-69407`](https://youtrack.jetbrains.com/issue/KT-69407) K2: Compiler crash (Shouldn't be here) due to unresolved reference in FirProjectionRelationChecker
- [`KT-71508`](https://youtrack.jetbrains.com/issue/KT-71508) JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported when java class is inherited from an effectively private class
- [`KT-72178`](https://youtrack.jetbrains.com/issue/KT-72178) K2: "Unexpected FirPlaceholderProjectionImpl" exception when using "\_" as key type in EnumMap
- [`KT-70407`](https://youtrack.jetbrains.com/issue/KT-70407) Error/warning message for `@SubclassOptInRequired`-annotated class should provide more context
- [`KT-72302`](https://youtrack.jetbrains.com/issue/KT-72302) K2: no error on type operator in annotation parameter default value
- [`KT-58820`](https://youtrack.jetbrains.com/issue/KT-58820) OPT_IN_USAGE_ERROR's message text does not account for SubclassOptInRequired
- [`KT-71662`](https://youtrack.jetbrains.com/issue/KT-71662) PCLA: a type variable is not fixed on demand to a type containing a not-fixed type variable
- [`KT-69739`](https://youtrack.jetbrains.com/issue/KT-69739) K2: "KotlinIllegalArgumentExceptionWithAttachments: Unexpected FirPlaceholderProjectionImpl" caused by unresolved references
- [`KT-72154`](https://youtrack.jetbrains.com/issue/KT-72154) Dokka fails with `not array: KClass` on Kotlin 2.1.20-dev with `@SubclassOptInRequired`
- [`KT-70756`](https://youtrack.jetbrains.com/issue/KT-70756) K2. Compiler crash with FileAnalysisException on incorrect symbol in nesting lambda
- [`KT-72173`](https://youtrack.jetbrains.com/issue/KT-72173) K2: simple object names from root package are resolved without imports in non-root packages when used as values
- [`KT-71480`](https://youtrack.jetbrains.com/issue/KT-71480) JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported while java object isn't created
- [`KT-71034`](https://youtrack.jetbrains.com/issue/KT-71034) Failing compiler/testData/codegen/box/inlineClasses/kt70461.kt
- [`KT-71016`](https://youtrack.jetbrains.com/issue/KT-71016) K/Wasm: Failing compiler/testData/codegen/box/inlineClasses/kt70461.kt
- [`KT-52469`](https://youtrack.jetbrains.com/issue/KT-52469) Deprecate reified type parameter instantiating into intersection types
- [`KT-71753`](https://youtrack.jetbrains.com/issue/KT-71753) PCLA: false-negative operator ambiguity error on fixing a type variable on demand for an operator assignment
- [`KT-59871`](https://youtrack.jetbrains.com/issue/KT-59871) K2: Fix introduced diagnostics
- [`KT-71563`](https://youtrack.jetbrains.com/issue/KT-71563) 'llegalStateException: Source classes should be created separately before ref
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 contains the following updates:
1.9.10-1.0.13
->2.1.0-1.0.29
1.9.10
->2.1.0
1.9.10
->2.1.0
Release Notes
google/ksp (com.google.devtools.ksp)
### [`v2.1.0-1.0.29`](https://redirect.github.com/google/ksp/releases/tag/2.1.0-1.0.29) [Compare Source](https://redirect.github.com/google/ksp/compare/2.1.0-1.0.28...2.1.0-1.0.29) #### Updates - KSP2: Sanitize dots to underscores in suffixes of internals by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/2229](https://redirect.github.com/google/ksp/pull/2229) - KSP2: clean up legacy incremental code by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/2231](https://redirect.github.com/google/ksp/pull/2231) #### Contributors Thanks to everyone who reported bugs and participated in discussions! ### [`v2.1.0-1.0.28`](https://redirect.github.com/google/ksp/releases/tag/2.1.0-1.0.28) [Compare Source](https://redirect.github.com/google/ksp/compare/2.0.21-1.0.28...2.1.0-1.0.28) #### What's Changed - Bump Kotlin to 2.1.0 by [@mkmuir0](https://redirect.github.com/mkmuir0) in [https://github.com/google/ksp/pull/2235](https://redirect.github.com/google/ksp/pull/2235) - Update intellij to 233.13135.128 by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/2238](https://redirect.github.com/google/ksp/pull/2238) **Full Changelog**: https://github.com/google/ksp/compare/2.1.0-RC2-1.0.28...2.1.0-1.0.28 ### [`v2.0.21-1.0.28`](https://redirect.github.com/google/ksp/releases/tag/2.0.21-1.0.28) [Compare Source](https://redirect.github.com/google/ksp/compare/2.0.21-1.0.27...2.0.21-1.0.28) #### Updates - \[KSP2] Running from command line never finishes [#2176](https://redirect.github.com/google/ksp/issues/2176) - Introduce KspAATask.commandLineArgumentProviders [#2201](https://redirect.github.com/google/ksp/issues/2201) #### Contributors Thanks to [@GeorgCantor](https://redirect.github.com/GeorgCantor) and everyone who reported bugs and participated in discussions! ### [`v2.0.21-1.0.27`](https://redirect.github.com/google/ksp/releases/tag/2.0.21-1.0.27) [Compare Source](https://redirect.github.com/google/ksp/compare/2.0.21-1.0.26...2.0.21-1.0.27) #### Bugs Fixed - KSP2: KtInvalidLifetimeOwnerAccessException: Access to invalid KtAlwaysAccessibleLifetimeToken: PSI has changed since creation [#1854](https://redirect.github.com/google/ksp/issues/1854) - \[KSP2] getSymbolsWithAnnotation() doesn't work if the annotation is an alias in KOTLIN_LIB [#2024](https://redirect.github.com/google/ksp/issues/2024) - KotlinSymbolProcessingExtension leaks files due to URLClassLoader not being closed [#2159](https://redirect.github.com/google/ksp/issues/2159) - Unresolvable iOS reference on Linux host [#2173](https://redirect.github.com/google/ksp/issues/2173) - Fail to apply ksp before android [#2174](https://redirect.github.com/google/ksp/issues/2174) - \[KSP2] Mangled names for internal functions are incorrect for Android modules [#2180](https://redirect.github.com/google/ksp/issues/2180) - \[KSP2] JVM names for property getters/setters are incorrect if they start with "is" [#2181](https://redirect.github.com/google/ksp/issues/2181) #### Contributors Thanks to [@jonamireh](https://redirect.github.com/jonamireh), [@kuanyingchou](https://redirect.github.com/kuanyingchou), [@martinbonnin](https://redirect.github.com/martinbonnin), [@pablobaxter](https://redirect.github.com/pablobaxter), [@scott-pollom](https://redirect.github.com/scott-pollom), and everyone who reported bugs and participated in discussions! ### [`v2.0.21-1.0.26`](https://redirect.github.com/google/ksp/releases/tag/2.0.21-1.0.26) [Compare Source](https://redirect.github.com/google/ksp/compare/2.0.21-1.0.25...2.0.21-1.0.26) #### Bugs Fixed - A failure occurred while executing com.google.devtools.ksp.gradle.KspAAWorkerAction [#1968](https://redirect.github.com/google/ksp/issues/1968) - \[KSP2] default value is null for nested annotation [#2077](https://redirect.github.com/google/ksp/issues/2077) - \[KSP2] "internal" members are out of order in Resolver.getDeclarationsInSourceOrder() [#1827](https://redirect.github.com/google/ksp/issues/1827) - \[KSP2] Resolver.getDeclarationsFromPackage() couldn't find Java declarations [#1952](https://redirect.github.com/google/ksp/issues/1952) - \[KSP2] Property setter parameter name becomes value [#1865](https://redirect.github.com/google/ksp/issues/1865) - \[KSP2] A failure occurred while executing com.google.devtools.ksp.gradle.KspAAWorkerAction [#1941](https://redirect.github.com/google/ksp/issues/1941) - \[KSP2] NullPointerException when calling hasBackingField on properties of Enum declarations [#1753](https://redirect.github.com/google/ksp/issues/1753) - JVM Module name is changed for libraries [#2105](https://redirect.github.com/google/ksp/issues/2105) - \[KSP2] asMemberOf() is not working with Java sources [#2051](https://redirect.github.com/google/ksp/issues/2051) - KSP2: implement KSPropertyDeclaration.findOverridee and Resolver.asMemberOf for java fields [#1642](https://redirect.github.com/google/ksp/issues/1642) - \[KSP2] command line doesn't support absolute Windows paths [#2046](https://redirect.github.com/google/ksp/issues/2046) - \[KSP2] NPE when getting annotation arguments on non-Jvm targets [#1823](https://redirect.github.com/google/ksp/issues/1823) - \[KSP2] Resolver.mapToJvmSignature() is not consistent [#2109](https://redirect.github.com/google/ksp/issues/2109) - \[KSP2] Default annotation argument values are sometimes missing [#2107](https://redirect.github.com/google/ksp/issues/2107) - \[KSP2] KSFunctionDeclaration.asMemberOf doesn't work sometimes [#2116](https://redirect.github.com/google/ksp/issues/2116) - \[KSP2] Qualified names of nested annotations from JAVA_LIB is null [#2033](https://redirect.github.com/google/ksp/issues/2033) - \[KSP2] Class literal annotation default values resolve to error types [#1910](https://redirect.github.com/google/ksp/issues/1910) - KaFirPsiJavaTypeParameterSymbol cannot be cast to KaFirTypeParameterSymbol [#2119](https://redirect.github.com/google/ksp/issues/2119) - KSP memory leak in Android build [#2073](https://redirect.github.com/google/ksp/issues/2073) - \[KSP2] KSClassDeclaration.asType(emptyList()) fails after Resolver.getSymbolsWithAnnotation() call [#2094](https://redirect.github.com/google/ksp/issues/2094) - KSValueArgumentImpl doesn't implement .equals() in KSP2 [#2091](https://redirect.github.com/google/ksp/issues/2091) - \[KSP2] JvmName is ignored in annotation property getters [#2148](https://redirect.github.com/google/ksp/issues/2148) - \[KSP2] Unable to get visibility of KSTypeAlias [#2140](https://redirect.github.com/google/ksp/issues/2140) - Gradle kspKotlin task failed when upgrading to 2.0.20-1.0.25 [#2123](https://redirect.github.com/google/ksp/issues/2123) - \[KSP2] Generic type arguments on typealiases are improperly forwarded to the KSType [#2088](https://redirect.github.com/google/ksp/issues/2088) - java.lang.IllegalStateException: Storage for \[...] is already registered with 2.0.20-1.0.24 [#2072](https://redirect.github.com/google/ksp/issues/2072) **Full Changelog**: https://github.com/google/ksp/compare/911690b86b60a0299af0e86b6abcf18d8abb003b...2.0.21-1.0.26 #### Contributors Thanks to [@ansman](https://redirect.github.com/ansman), [@asapha](https://redirect.github.com/asapha), [@kaeawc](https://redirect.github.com/kaeawc), [@kuanyingchou](https://redirect.github.com/kuanyingchou), [@scott-pollom](https://redirect.github.com/scott-pollom), and everyone who reported bugs and participated in discussions! ### [`v2.0.21-1.0.25`](https://redirect.github.com/google/ksp/releases/tag/2.0.21-1.0.25) [Compare Source](https://redirect.github.com/google/ksp/compare/2.0.20-1.0.25...2.0.21-1.0.25) #### What's Changed - UPDATE_KOTLIN_VERSION: 2.0.21 by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/2145](https://redirect.github.com/google/ksp/pull/2145) **Full Changelog**: https://github.com/google/ksp/compare/2.0.21-RC-1.0.25...2.0.21-1.0.25 ### [`v2.0.20-1.0.25`](https://redirect.github.com/google/ksp/releases/tag/2.0.20-1.0.25) [Compare Source](https://redirect.github.com/google/ksp/compare/2.0.20-1.0.24...2.0.20-1.0.25) #### Bugs Fixed Inlined JVM name is not correct [#1493](https://redirect.github.com/google/ksp/issues/1493) \[KSP2] NullPointerException when getting name of nested annotation [#1963](https://redirect.github.com/google/ksp/issues/1963) \[KSP2] The status was unresolved for FirSimpleFunctionImpl [#1938](https://redirect.github.com/google/ksp/issues/1938) \[KSP2] Class values in type annotations get resolved to error type [#1933](https://redirect.github.com/google/ksp/issues/1933) \[KSP2] Comparing KSType leads to exception [#1918](https://redirect.github.com/google/ksp/issues/1918) \[KSP2] Can't find values in repeatable annotations [#1883](https://redirect.github.com/google/ksp/issues/1883) incremental: aggregating outputs should always be invalidated [#2027](https://redirect.github.com/google/ksp/issues/2027) \[KSP2] Not yet implemented: KSValueArgumentLiteImpl.getLocation [#2048](https://redirect.github.com/google/ksp/issues/2048) \[KSP2] Not yet implemented: KSValueArgumentImpl.getParent [#2049](https://redirect.github.com/google/ksp/issues/2049) getSymbolsWithAnnotation returns copy function from data class [#1996](https://redirect.github.com/google/ksp/issues/1996) \[KSP2] Annotations got use-site target when there are none specified [#1882](https://redirect.github.com/google/ksp/issues/1882) getting null pointer exception [#1929](https://redirect.github.com/google/ksp/issues/1929) \[KSP2] Calling getDeclarationsInSourceOrder throws KotlinIllegalStateExceptionWithAttachments [#1930](https://redirect.github.com/google/ksp/issues/1930) \[KSP2] A failure occurred while executing com.google.devtools.ksp.gradle.KspAAWorkerAction [#1941](https://redirect.github.com/google/ksp/issues/1941) KSP2: Resolver.getJvmNames doesn't work for inline and internal classes [#1640](https://redirect.github.com/google/ksp/issues/1640) kspCaches don't work together with Gradle build cache [#2042](https://redirect.github.com/google/ksp/issues/2042) #### Contributors Thank you so much! [@ansman](https://redirect.github.com/ansman), [@kuanyingchou](https://redirect.github.com/kuanyingchou) **Full Changelog**: https://github.com/google/ksp/compare/2.0.20-1.0.24...2.0.20-1.0.25 ### [`v2.0.20-1.0.24`](https://redirect.github.com/google/ksp/releases/tag/2.0.20-1.0.24) [Compare Source](https://redirect.github.com/google/ksp/compare/2.0.10-1.0.24...2.0.20-1.0.24) #### What's Changed - UPDATE_KOTLIN_VERSION: 2.0.20 by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/2040](https://redirect.github.com/google/ksp/pull/2040) ### [`v2.0.10-1.0.24`](https://redirect.github.com/google/ksp/releases/tag/2.0.10-1.0.24) [Compare Source](https://redirect.github.com/google/ksp/compare/2.0.0-1.0.24...2.0.10-1.0.24) #### What's Changed - UPDATE_KOTLIN_VERSION: 2.0.10 by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/2022](https://redirect.github.com/google/ksp/pull/2022) ### [`v2.0.0-1.0.24`](https://redirect.github.com/google/ksp/releases/tag/2.0.0-1.0.24) [Compare Source](https://redirect.github.com/google/ksp/compare/2.0.0-1.0.23...2.0.0-1.0.24) ##### What's Changed [#2013](https://redirect.github.com/google/ksp/issues/2013) Handle edge cases of KtAnnotated.annotations [#2009](https://redirect.github.com/google/ksp/issues/2009) Fix :kotlin-analysis-api:shadowJar failing on Windows [#2006](https://redirect.github.com/google/ksp/issues/2006) Use symbol-processing-aa-embeddable in Gradle ##### Bugs Fixed [#1956](https://redirect.github.com/google/ksp/issues/1956) IllegalAccessError in Dagger with KSP2.0.0-1.0.22 and KSP2 [#1998](https://redirect.github.com/google/ksp/issues/1998) KSP2 version 2.0.0-1.0.23 crashes on Moshi codegen with NoSuchElementException: Collection contains no element matching the predicate. **Full Changelog**: https://github.com/google/ksp/compare/e8807446b16ba19e110cc23f6b852054614f7ec8...c63864cc1268bcb1c83e058494b6ff4b25947251 ### [`v2.0.0-1.0.23`](https://redirect.github.com/google/ksp/releases/tag/2.0.0-1.0.23) [Compare Source](https://redirect.github.com/google/ksp/compare/2.0.0-1.0.22...2.0.0-1.0.23) #### Issues fixed - \[KSP2] Nullable type arg type becomes non-null after replace() call [#1856](https://redirect.github.com/google/ksp/issues/1856) - Annotations on enum entires on K2 are missing [#1962](https://redirect.github.com/google/ksp/issues/1962) - Got IllegalStateException when calling replace() on error types [#1960](https://redirect.github.com/google/ksp/issues/1960) - \[KSP2] Resolver.getJvmCheckedException doesn't work on property accessors [#1900](https://redirect.github.com/google/ksp/issues/1900) - \[KSP2] Property getter JVM names in data classes become componentN instead of getXXX [#1958](https://redirect.github.com/google/ksp/issues/1958) - \[KSP2] Resolver.mapToJvmSignature doesn't unwrap inline classes [#1859](https://redirect.github.com/google/ksp/issues/1859) - \[KSP2] KSFunctionDeclaration.asMemberOf does not return correct types [#1919](https://redirect.github.com/google/ksp/issues/1919) - implement getOwnerJvmClassName [#1979](https://redirect.github.com/google/ksp/issues/1979) - \[KSP2] KSPropertyDeclaration.hasBackingField returns inconsistent results [#1939](https://redirect.github.com/google/ksp/issues/1939) - \[KSP2] Annotations on extension receivers are missing [#1899](https://redirect.github.com/google/ksp/issues/1899) ### [`v2.0.0-1.0.22`](https://redirect.github.com/google/ksp/releases/tag/2.0.0-1.0.22) [Compare Source](https://redirect.github.com/google/ksp/compare/2.0.0-1.0.21...2.0.0-1.0.22) ##### 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](https://redirect.github.com/google/ksp/issues/1908) KSP2: Calling KSP2 in programs does not appear to work on macOS or Windows [#1917](https://redirect.github.com/google/ksp/issues/1917) KSP2's symbol-processing-aa-embeddable artifact exposes an unresolvable pre-release kotlin 2.0.20 dependency [#1911](https://redirect.github.com/google/ksp/issues/1911) NoSuchMethodError when running KSP2 with Dagger (KSP 2.0.0-1.0.21) [#1909](https://redirect.github.com/google/ksp/issues/1909) KSP2: default annotation arguments no longer work in 1.0.21 [#1232](https://redirect.github.com/google/ksp/issues/1232) Expose simple names on a missing types's synthetic declaration [#1857](https://redirect.github.com/google/ksp/issues/1857) \[KSP2] Modifiers are missing for property accessors [#1924](https://redirect.github.com/google/ksp/issues/1924) \[KSP2] Type arg becomes '\*' after calling KSType.replace() with an error type [#1948](https://redirect.github.com/google/ksp/issues/1948) KSP2 default annotation KClass values for built-in types use java.lang.\* versions ##### What's Changed - Include type hint into KSErrorType. by [@Jeffset](https://redirect.github.com/Jeffset) in [https://github.com/google/ksp/pull/1848](https://redirect.github.com/google/ksp/pull/1848) - Implement Resolver.getModuleName API by [@ZacSweers](https://redirect.github.com/ZacSweers) in [https://github.com/google/ksp/pull/1847](https://redirect.github.com/google/ksp/pull/1847) - Patch AA service files in renamed uber jar by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/1867](https://redirect.github.com/google/ksp/pull/1867) - fix annotation default value parsing for arrays and class literals. by [@neetopia](https://redirect.github.com/neetopia) in [https://github.com/google/ksp/pull/1871](https://redirect.github.com/google/ksp/pull/1871) - fix package name for library based symbols by [@neetopia](https://redirect.github.com/neetopia) in [https://github.com/google/ksp/pull/1873](https://redirect.github.com/google/ksp/pull/1873) - Do not index classpath in declaration provider by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/1870](https://redirect.github.com/google/ksp/pull/1870) - check functional interface for modifiers by [@neetopia](https://redirect.github.com/neetopia) in [https://github.com/google/ksp/pull/1872](https://redirect.github.com/google/ksp/pull/1872) - Annotation default java by [@neetopia](https://redirect.github.com/neetopia) in [https://github.com/google/ksp/pull/1879](https://redirect.github.com/google/ksp/pull/1879) - fix type parameter bounds by [@neetopia](https://redirect.github.com/neetopia) in [https://github.com/google/ksp/pull/1880](https://redirect.github.com/google/ksp/pull/1880) - Add command line parser and entry points by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/1885](https://redirect.github.com/google/ksp/pull/1885) - KSP2: Fix support of wasm by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/1888](https://redirect.github.com/google/ksp/pull/1888) - Return KSClassDeclarationEnumEntryImpl for enum entry annotation values. by [@neetopia](https://redirect.github.com/neetopia) in [https://github.com/google/ksp/pull/1881](https://redirect.github.com/google/ksp/pull/1881) - Reuse Kotlin indexes in incremental providers by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/1891](https://redirect.github.com/google/ksp/pull/1891) - special handling for java property accessors override checking by [@neetopia](https://redirect.github.com/neetopia) in [https://github.com/google/ksp/pull/1894](https://redirect.github.com/google/ksp/pull/1894) - KSP2: Reuse Java indexes by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/1895](https://redirect.github.com/google/ksp/pull/1895) - Incremental: fix roots from getSealedSubclasses by [@ting-yuan](https://redirect.github.com/ting-yuan) in [https://github.com/google/ksp/pull/1893](https://redirect.github.com/google/ksp/pull/1893) - use safe cast for annotation type to declaration resolution by [@neetopia](https://redirect.github.com/neetopia) in [https://github.com/google/ksp/pull/1902](https://redirect.github.com/google/ksp/pull/1902) **Full Changelog**: https://github.com/google/ksp/compare/2.0.0-1.0.21...2.0.0-1.0.22 ### [`v2.0.0-1.0.21`](https://redirect.github.com/google/ksp/releases/tag/2.0.0-1.0.21) [Compare Source](https://redirect.github.com/google/ksp/compare/1.9.25-1.0.20...2.0.0-1.0.21) This release brings mostly bug fixes into [KSP2 beta](https://redirect.github.com/google/ksp/blob/main/docs/ksp2.md) 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](https://redirect.github.com/google/ksp/issues/1621) ##### issues fixed - Class values are missing class type in annotation values [#1646](https://redirect.github.com/google/ksp/issues/1646) - Kotlin Function\* types reports inconsistent package and qualified names [#1845](https://redirect.github.com/google/ksp/issues/1845) - KSP2 cannot load Android lint checks jar due to FileTooBigException [#1839](https://redirect.github.com/google/ksp/issues/1839) - \[KSP2] KSAnnotations with annotation properties with a default value always resolve to null [#1843](https://redirect.github.com/google/ksp/issues/1843) - \[KSP2] Modifier.FUN is missing in functional interfaces [#1853](https://redirect.github.com/google/ksp/issues/1853) - \[KSP2] ClassCastException when calling KSType.starProjection() on a Java field type [#1735](https://redirect.github.com/google/ksp/issues/1735) - \[KSP2] Annotation arguments with default values are missing [#1837](https://redirect.github.com/google/ksp/issues/1837) - \[KSP2] Intersection types are not modeled [#1846](https://redirect.github.com/google/ksp/issues/1846) - KSP2: Model enum entries in annotation values [#1861](https://redirect.github.com/google/ksp/issues/1861) - KSP2: Unknown JS backend: Wasm [#1889](https://redirect.github.com/google/ksp/issues/1889) - \[KSP2] NullPointerException when getting arguments of annotation value [#1798](https://redirect.github.com/google/ksp/issues/1798) ### [`v1.9.25-1.0.20`](https://redirect.github.com/google/ksp/releases/tag/1.9.25-1.0.20) [Compare Source](https://redirect.github.com/google/ksp/compare/1.9.24-1.0.20...1.9.25-1.0.20) KSP 1.0.20 for Kotlin 1.9.25 ### [`v1.9.24-1.0.20`](https://redirect.github.com/google/ksp/releases/tag/1.9.24-1.0.20) [Compare Source](https://redirect.github.com/google/ksp/compare/1.9.23-1.0.20...1.9.24-1.0.20) KSP 1.0.20 for kotlin compiler version 1.9.24 ### [`v1.9.23-1.0.20`](https://redirect.github.com/google/ksp/releases/tag/1.9.23-1.0.20) [Compare Source](https://redirect.github.com/google/ksp/compare/1.9.23-1.0.19...1.9.23-1.0.20) #### KSP1 issues fixed - performance optimization for certain workload consists of heavy Java files, including - Replace IdKey's impl with identityHashCode [#1804](https://redirect.github.com/google/ksp/issues/1804) - Cache enclosed descriptors by name [#1808](https://redirect.github.com/google/ksp/issues/1808) - Add excludedSources to the KSP extension object [#1793](https://redirect.github.com/google/ksp/issues/1793) thanks to [@bitspittle](https://redirect.github.com/bitspittle) #### KSP2 issues fixed - NoClassDefFoundError for LZ4Factory when trying KSP2 [#1713](https://redirect.github.com/google/ksp/issues/1713) - Calling KSType.replace() with original arguments results inJetBrains/kotlin (org.jetbrains.kotlin:kotlin-reflect)
### [`v2.1.0`](https://redirect.github.com/JetBrains/kotlin/releases/tag/v2.1.0): Kotlin 2.1.0 ##### Changelog ##### Analysis API ##### New Features - [`KT-68603`](https://youtrack.jetbrains.com/issue/KT-68603) KotlinDirectInheritorsProvider: add an option to ignore non-kotlin results ##### Performance Improvements - [`KT-70757`](https://youtrack.jetbrains.com/issue/KT-70757) Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbol ##### Fixes - [`KT-70437`](https://youtrack.jetbrains.com/issue/KT-70437) Class reference is not resolvable - [`KT-57733`](https://youtrack.jetbrains.com/issue/KT-57733) Analysis API: Use optimized `ModuleWithDependenciesScope`s in combined symbol providers - [`KT-72389`](https://youtrack.jetbrains.com/issue/KT-72389) K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal class - [`KT-69190`](https://youtrack.jetbrains.com/issue/KT-69190) K2: False-positive "redundant private modifier" - [`KT-64984`](https://youtrack.jetbrains.com/issue/KT-64984) Analysis API: Support Wasm target - [`KT-70375`](https://youtrack.jetbrains.com/issue/KT-70375) K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointer - [`KT-71259`](https://youtrack.jetbrains.com/issue/KT-71259) K2 evaluator: Invalid smart cast info collecting for Code Fragments - [`KT-69360`](https://youtrack.jetbrains.com/issue/KT-69360) Lack of implicit receiver for the last statement under lambda in scripts - [`KT-70890`](https://youtrack.jetbrains.com/issue/KT-70890) Analysis API: Experiment with weak references to LL FIR/analysis sessions in session caches - [`KT-70657`](https://youtrack.jetbrains.com/issue/KT-70657) Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jars - [`KT-71055`](https://youtrack.jetbrains.com/issue/KT-71055) Suspend calls inside 'analyze()' break the block guarantees - [`KT-70815`](https://youtrack.jetbrains.com/issue/KT-70815) Analysis API: Implement stop-the-world session invalidation - [`KT-69819`](https://youtrack.jetbrains.com/issue/KT-69819) K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualified - [`KT-68761`](https://youtrack.jetbrains.com/issue/KT-68761) Analysis API: Experiment with limited-size cache in `KaFirSessionProvider` - [`KT-70384`](https://youtrack.jetbrains.com/issue/KT-70384) Analysis API Standalone: The same class in the same two renamed jars is unresolved - [`KT-71067`](https://youtrack.jetbrains.com/issue/KT-71067) Exceptions from references cancel Find Usages - [`KT-69535`](https://youtrack.jetbrains.com/issue/KT-69535) Redesign 'containingSymbol' - [`KT-71025`](https://youtrack.jetbrains.com/issue/KT-71025) K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" values - [`KT-67483`](https://youtrack.jetbrains.com/issue/KT-67483) K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation call - [`KT-69416`](https://youtrack.jetbrains.com/issue/KT-69416) K2 IDE / Completion: “No classifier found” on simple value creating - [`KT-70257`](https://youtrack.jetbrains.com/issue/KT-70257) CCE: class kotlin.UInt cannot be cast to class java.lang.Number - [`KT-70376`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-70264) AA: service registration via XML fails with AbstractMethodError in Lint CLI - [`KT-69950`](https://youtrack.jetbrains.com/issue/KT-69950) Analysis API: Introduce `isSubtypeOf(ClassId)` - [`KT-68625`](https://youtrack.jetbrains.com/issue/KT-68625) K2: “`lazyResolveToPhase(STATUS)` cannot be called from a transformer with a phase STATUS.” - [`KT-67665`](https://youtrack.jetbrains.com/issue/KT-67665) K2: contract violation for value class with a constructor parameter with an implicit type - [`KT-67009`](https://youtrack.jetbrains.com/issue/KT-67009) Analysis API: Add abbreviated type tests for type aliases from source modules - [`KT-69977`](https://youtrack.jetbrains.com/issue/KT-69977) KaFirFunctionalType#getAbbreviation is always null - [`KT-68341`](https://youtrack.jetbrains.com/issue/KT-68341) Analysis API: Expanded function types from libraries don't have an abbreviated type - [`KT-68857`](https://youtrack.jetbrains.com/issue/KT-68857) Analysis API: Refactor annotations - [`KT-70386`](https://youtrack.jetbrains.com/issue/KT-70386) Do not filter out overloads from different libraries in dangling files - [`KT-65552`](https://youtrack.jetbrains.com/issue/KT-65552) K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragment - [`KT-65803`](https://youtrack.jetbrains.com/issue/KT-65803) K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments" - [`KT-68896`](https://youtrack.jetbrains.com/issue/KT-68896) Support VirtualFile binary dependency inputs to Analysis API modules - [`KT-69395`](https://youtrack.jetbrains.com/issue/KT-69395) K2 IDE: incorrect overload selection from binary dependencies in a shared native source set - [`KT-68573`](https://youtrack.jetbrains.com/issue/KT-68573) ISE: "Unexpected constant value (kotlin/annotation/AnnotationTarget, CLASS)" at Kt1DescUtilsKt.toKtConstantValue() - [`KT-69576`](https://youtrack.jetbrains.com/issue/KT-69576) Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns false for companion references in implicit invoke operator calls - [`KT-69568`](https://youtrack.jetbrains.com/issue/KT-69568) Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns true for non-companion references in qualified calls - [`KT-69436`](https://youtrack.jetbrains.com/issue/KT-69436) Analysis API Platform: Encapsulate `LLFirDeclarationModificationService` as an engine service - [`KT-63004`](https://youtrack.jetbrains.com/issue/KT-63004) K2: Analysis API: Design API for querying declarations generated by compiler plugins (similar to indices) - [`KT-69452`](https://youtrack.jetbrains.com/issue/KT-69452) AA FIR: wrong source PSI after compile-time evaluation - [`KT-69598`](https://youtrack.jetbrains.com/issue/KT-69598) AA: definitely not-null type at receiver position should be wrapped in parenthesis - [`KT-60484`](https://youtrack.jetbrains.com/issue/KT-60484) Analysis API: add support for KtType pointers similar to KtSymbolPointer - [`KT-68884`](https://youtrack.jetbrains.com/issue/KT-68884) Analysis API: Rename/deprecate/remove declarations as part of Stabilization - [`KT-69453`](https://youtrack.jetbrains.com/issue/KT-69453) AA FIR: miss to handle expected type of lambda with explicit label - [`KT-69533`](https://youtrack.jetbrains.com/issue/KT-69533) Protect implementation parts of Analysis API with opt-in annotations ##### Analysis API. FIR ##### Performance Improvements - [`KT-71566`](https://youtrack.jetbrains.com/issue/KT-71566) FirElementBuilder#getFirForNonKtFileElement should iterate a Psi file over and over - [`KT-71224`](https://youtrack.jetbrains.com/issue/KT-71224) Analysis API: `FirElementFinder.collectDesignationPath` relies on naive iteration through FIR files ##### Fixes - [`KT-70327`](https://youtrack.jetbrains.com/issue/KT-70327) Analysis API: Batch inspection causes deadlock in `ValueWithPostCompute` - [`KT-69070`](https://youtrack.jetbrains.com/issue/KT-69070) Analysis API: Querying declared member scope for Java symbols results in exception in some use cases - [`KT-68268`](https://youtrack.jetbrains.com/issue/KT-68268) LLSealedInheritorsProvider: reduce scope to kotlin files - [`KT-69671`](https://youtrack.jetbrains.com/issue/KT-69671) TYPES phase contract violation through JavaSymbolProvider - [`KT-70624`](https://youtrack.jetbrains.com/issue/KT-70624) Declaration symbols from code fragments are treated as not local - [`KT-70662`](https://youtrack.jetbrains.com/issue/KT-70662) NPE: FirLazyBodiesCalculatorKt.calculateLazyBodyForProperty - [`KT-70859`](https://youtrack.jetbrains.com/issue/KT-70859) Do not fail highlighting due to resolution problems - [`KT-70474`](https://youtrack.jetbrains.com/issue/KT-70474) FirLazyResolveContractViolationException from JavaSymbolProvider - [`KT-70323`](https://youtrack.jetbrains.com/issue/KT-70323) FirLazyResolveContractViolationException: `lazyResolveToPhase(TYPES)` cannot be called from a transformer with a phase TYPES - [`KT-71567`](https://youtrack.jetbrains.com/issue/KT-71567) LLFirCompilerRequiredAnnotationsTargetResolver should calculate annotation arguments on demand - [`KT-71584`](https://youtrack.jetbrains.com/issue/KT-71584) `getNonLocalContainingOrThisDeclaration` treats KtParameter from functional type as non-local ##### Analysis API. Light Classes ##### Performance Improvements - [`KT-69998`](https://youtrack.jetbrains.com/issue/KT-69998) Drop redundant cache from ClassInnerStuffCache ##### Fixes - [`KT-69833`](https://youtrack.jetbrains.com/issue/KT-69833) Support value classes - [`KT-71693`](https://youtrack.jetbrains.com/issue/KT-71693) Wrong name mangling for JvmField class property and companion property clash - [`KT-71469`](https://youtrack.jetbrains.com/issue/KT-71469) KtLightClassForDecompiledDeclaration: missed kotlinOrigin - [`KT-70710`](https://youtrack.jetbrains.com/issue/KT-70710) Provide light classes for KMP modules in Android Lint - [`KT-70548`](https://youtrack.jetbrains.com/issue/KT-70548) SLC: text of class object access expression is not the same as raw text - [`KT-70572`](https://youtrack.jetbrains.com/issue/KT-70572) SLC: missing `isInheritor` implementation for type parameter - [`KT-70491`](https://youtrack.jetbrains.com/issue/KT-70491) SLC: inconsistent source PSI of no-arg constructor for all default values - [`KT-70458`](https://youtrack.jetbrains.com/issue/KT-70458) SLC: missed `auxiliaryOriginalElement` for delegated property - [`KT-70232`](https://youtrack.jetbrains.com/issue/KT-70232) Support a companion object inside value classes - [`KT-70349`](https://youtrack.jetbrains.com/issue/KT-70349) `@delegate`:\` annotations are missed for light class fields - [`KT-68328`](https://youtrack.jetbrains.com/issue/KT-68328) Move KtLightClassBase to ULC ##### Analysis API. Providers and Caches - [`KT-65618`](https://youtrack.jetbrains.com/issue/KT-65618) K2: resulted FirClass.psi != requested PsiClass from completion - [`KT-69292`](https://youtrack.jetbrains.com/issue/KT-69292) K2: Analysis API: A property's `MUST_BE_INITIALIZED` diagnostic is not updated after changing `field` usage in an accessor - [`KT-71468`](https://youtrack.jetbrains.com/issue/KT-71468) Drop redundant logic from LLFirJavaFacadeForBinaries - [`KT-71700`](https://youtrack.jetbrains.com/issue/KT-71700) Cache result of resolveToCall - [`KT-71520`](https://youtrack.jetbrains.com/issue/KT-71520) Analysis API: `LLFirNativeForwardDeclarationsSymbolProvider` spends a lot of time in indices ##### Analysis API. Standalone - [`KT-65110`](https://youtrack.jetbrains.com/issue/KT-65110) Analysis API: In Standalone mode the order of symbols is unstable ##### Analysis API. Stubs and Decompilation - [`KT-71565`](https://youtrack.jetbrains.com/issue/KT-71565) KtClassOrObject should use isLocal from greenStub ##### Analysis API. Surface ##### New Features - [`KT-69960`](https://youtrack.jetbrains.com/issue/KT-69960) `resolveToCallCandidates` should support operators - [`KT-69961`](https://youtrack.jetbrains.com/issue/KT-69961) `resolveToCallCandidates` should support properties ##### Performance Improvements - [`KT-70529`](https://youtrack.jetbrains.com/issue/KT-70529) KaSymbol: reduce the number of `cached` usages - [`KT-70165`](https://youtrack.jetbrains.com/issue/KT-70165) Introduce PSI-based `KaSymbol`s for K2 ##### Fixes - [`KT-69371`](https://youtrack.jetbrains.com/issue/KT-69371) Analysis API: expose only interfaces/abstract classes for the resolution API - [`KT-69696`](https://youtrack.jetbrains.com/issue/KT-69696) KaSymbolByFirBuilder should filter call-site substitutions - [`KT-69679`](https://youtrack.jetbrains.com/issue/KT-69679) KaDelegatedConstructorCall should have substituted signature - [`KT-70206`](https://youtrack.jetbrains.com/issue/KT-70206) `anonymousSymbol` API throws an exception for regular functions - [`KT-69699`](https://youtrack.jetbrains.com/issue/KT-69699) Receiver type is not substituted in the case of conflict declarations - [`KT-69381`](https://youtrack.jetbrains.com/issue/KT-69381) Analysis API: Investigate the viability of current `KaSymbol` caches - [`KT-70199`](https://youtrack.jetbrains.com/issue/KT-70199) K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments - [`KT-70661`](https://youtrack.jetbrains.com/issue/KT-70661) Invalid FirDeclarationOrigin ScriptTopLevelDestructuringDeclarationContainer - [`KT-70663`](https://youtrack.jetbrains.com/issue/KT-70663) KaFirDestructuringDeclarationSymbol: Failed requirement - [`KT-63490`](https://youtrack.jetbrains.com/issue/KT-63490) Analysis API: Accessing the Analysis API should be prohibited during dumb mode - [`KT-63390`](https://youtrack.jetbrains.com/issue/KT-63390) K2: Analysis API: add annotations to KtClassInitializerSymbol - [`KT-55124`](https://youtrack.jetbrains.com/issue/KT-55124) Design common ancestor for KtValueParameter and KtReceiverParameterSymbol - [`KT-71731`](https://youtrack.jetbrains.com/issue/KT-71731) directlyOverridenSymbols/allOverridenSymbols works incorrectly for intersection overrides ##### Apple Ecosystem - [`KT-66262`](https://youtrack.jetbrains.com/issue/KT-66262) Deprecate and remove support for bitcode embedding from the Kotlin Gradle plugin - [`KT-66894`](https://youtrack.jetbrains.com/issue/KT-66894) XCFramework task fails when name passed to xcframework DSL is different from framework's name - [`KT-65675`](https://youtrack.jetbrains.com/issue/KT-65675) XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworks - [`KT-69119`](https://youtrack.jetbrains.com/issue/KT-69119) xcodeVersion task fails if Xcode isn't installed and apple-specific native targets aren't declared ##### Backend. Wasm ##### New Features - [`KT-70786`](https://youtrack.jetbrains.com/issue/KT-70786) Improve DX of the variable view during debugging in Chrome/Firefox for Kotlin/Wasm - [`KT-70331`](https://youtrack.jetbrains.com/issue/KT-70331) Support incremental compilation for the Wasm backend - [`KT-71686`](https://youtrack.jetbrains.com/issue/KT-71686) K/Wasm: Add functions to convert between Kotlin and JS array types - [`KT-68185`](https://youtrack.jetbrains.com/issue/KT-68185) \[WasmJs] Attach js exception object to JsException ##### Fixes - [`KT-71294`](https://youtrack.jetbrains.com/issue/KT-71294) Wasm Artifacts/Resource are being loaded relatively instead of absolutely - [`KT-71473`](https://youtrack.jetbrains.com/issue/KT-71473) K/Wasm: Use `--closed-world` and related options for Binaryen - [`KT-72297`](https://youtrack.jetbrains.com/issue/KT-72297) \[Wasm] Unused associated object class lead to compiler fail - [`KT-72156`](https://youtrack.jetbrains.com/issue/KT-72156) custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven public - [`KT-65799`](https://youtrack.jetbrains.com/issue/KT-65799) K/Wasm: remove default exports from wasm exports - [`KT-71800`](https://youtrack.jetbrains.com/issue/KT-71800) Wasm compiler: Fix member generation for data classes with an array-type property - [`KT-71580`](https://youtrack.jetbrains.com/issue/KT-71580) String::toFloat on wasm behaves differently compared to other targets - [`KT-71523`](https://youtrack.jetbrains.com/issue/KT-71523) K/Wasm: cleanup after fix for KT-71474 - [`KT-71475`](https://youtrack.jetbrains.com/issue/KT-71475) K/Wasm: KClass::qualifiedName returns incorrect result for nested or companion objects - [`KT-71474`](https://youtrack.jetbrains.com/issue/KT-71474) K/Wasm: KProperty\*Impl equals work incorrectly for clabbale reference created in different files or modules - [`KT-61130`](https://youtrack.jetbrains.com/issue/KT-61130) K/Wasm: Function signatures may clash with base class internal methods from a friend module - [`KT-70820`](https://youtrack.jetbrains.com/issue/KT-70820) \[Kotlin QG] wasm-validator fails when running compile\[...]KotlinWasmJsOptimize - [`KT-70819`](https://youtrack.jetbrains.com/issue/KT-70819) \[Kotlin QG] node.js fails when running wasmJs\[...]Test KGP tasks - [`KT-70394`](https://youtrack.jetbrains.com/issue/KT-70394) Investigate increased wasm binary size after switching stdlib compilation to K2 - [`KT-69627`](https://youtrack.jetbrains.com/issue/KT-69627) Remove `create###Array` functions from WASM stdlib - [`KT-68509`](https://youtrack.jetbrains.com/issue/KT-68509) Fatal: error validating input in compileProductionExecutableKotlinWasmJsOptimize ##### Compiler ##### New Features - [`KT-71094`](https://youtrack.jetbrains.com/issue/KT-71094) Kotlin/Native incremental compilation: fail compilation if cache build failed - [`KT-21908`](https://youtrack.jetbrains.com/issue/KT-21908) Support 'when' exhaustiveness checking for generic type parameter with sealed class upper bound - [`KT-70679`](https://youtrack.jetbrains.com/issue/KT-70679) Kotlin/Native: fill WritableTypeInfo from Swift Export type mapping - [`KT-59798`](https://youtrack.jetbrains.com/issue/KT-59798) Builder inference is not working when combined with `let` expression - [`KT-54227`](https://youtrack.jetbrains.com/issue/KT-54227) Cannot use nullable Nothing as reified type parameter - [`KT-71430`](https://youtrack.jetbrains.com/issue/KT-71430) Kotlin-to-Java direct actualization implementation - [`KT-68163`](https://youtrack.jetbrains.com/issue/KT-68163) Expose supplementary compiler warnings via CLI - [`KT-69321`](https://youtrack.jetbrains.com/issue/KT-69321) Swift export: enable auto-linkage of binary dependencies - [`KT-11526`](https://youtrack.jetbrains.com/issue/KT-11526) Improve diagnostics for "X overrides nothing" - [`KT-49710`](https://youtrack.jetbrains.com/issue/KT-49710) False positive NO_ELSE_IN_WHEN with nullable type as receiver - [`KT-69729`](https://youtrack.jetbrains.com/issue/KT-69729) Support calling super interface Java methods from Kotlin interface - [`KT-69508`](https://youtrack.jetbrains.com/issue/KT-69508) Improve "Public-API inline function cannot access non-public-API" check for the inline property accessors ##### Performance Improvements - [`KT-71353`](https://youtrack.jetbrains.com/issue/KT-71353) FP Kotlin performance degradation (around Cone types hierarchy changes) - [`KT-71159`](https://youtrack.jetbrains.com/issue/KT-71159) \[K2] OOM on large enum classes with fields - [`KT-69718`](https://youtrack.jetbrains.com/issue/KT-69718) K2: Check for jvm nullability annotations in fir2ir is slow - [`KT-68417`](https://youtrack.jetbrains.com/issue/KT-68417) Native: LLVM 16 inliner is slow on K/N-produced modules - [`KT-63971`](https://youtrack.jetbrains.com/issue/KT-63971) K2: Redundant `@ParameterName` in abbreviated type in metadata ##### Fixes - [`KT-71550`](https://youtrack.jetbrains.com/issue/KT-71550) JVM IR: NPE on identity equals of boolean true with null - [`KT-72214`](https://youtrack.jetbrains.com/issue/KT-72214) -fpass-plugin (clangFlags) is not applied since Kotlin 2.0.20 - [`KT-68933`](https://youtrack.jetbrains.com/issue/KT-68933) CompilationException: Back-end: Could not get inlined class - [`KT-72255`](https://youtrack.jetbrains.com/issue/KT-72255) Promote jspecify from warning to error - [`KT-73065`](https://youtrack.jetbrains.com/issue/KT-73065) CCE with context receivers - [`KT-61033`](https://youtrack.jetbrains.com/issue/KT-61033) K2: implement a diagnostic corresponding to K1's MISSING_BUILT_IN_DECLARATION - [`KT-72345`](https://youtrack.jetbrains.com/issue/KT-72345) K2: Method 'get' without `@Override` annotation not called - [`KT-71260`](https://youtrack.jetbrains.com/issue/KT-71260) K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwner when there is no actual for expect - [`KT-72996`](https://youtrack.jetbrains.com/issue/KT-72996) false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operator - [`KT-72552`](https://youtrack.jetbrains.com/issue/KT-72552) AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped types - [`KT-71751`](https://youtrack.jetbrains.com/issue/KT-71751) K2: Skipping code in last statement of lambda - [`KT-71121`](https://youtrack.jetbrains.com/issue/KT-71121) Kotlin/JS incremental compilation fails with KotlinIllegalArgumentExceptionWithAttachments - [`KT-60521`](https://youtrack.jetbrains.com/issue/KT-60521) Drop language versions 1.4 and 1.5 - [`KT-70461`](https://youtrack.jetbrains.com/issue/KT-70461) K2: "Inline class types should have the same representation" caused by value class and smart check - [`KT-72238`](https://youtrack.jetbrains.com/issue/KT-72238) Argument type mismatch in builder inside extension function after ?: - [`KT-70306`](https://youtrack.jetbrains.com/issue/KT-70306) K2: Lambdas are unserializable: inferred from Java param `? super I` - [`KT-67383`](https://youtrack.jetbrains.com/issue/KT-67383) Incorrect optimisation when optimising for loop with UByte - [`KT-68653`](https://youtrack.jetbrains.com/issue/KT-68653) Switch latest stable language version in Kotlin project to 2.1 - [`KT-71708`](https://youtrack.jetbrains.com/issue/KT-71708) False negative UNSUPPORTED for collection literals as trailing return value - [`KT-72281`](https://youtrack.jetbrains.com/issue/KT-72281) K/N: "Failed to wait for cache to be built" - [`KT-72017`](https://youtrack.jetbrains.com/issue/KT-72017) Enum property reflection returning null KClassifier property for Enum classes defined inside Kotlin Scripts - [`KT-69040`](https://youtrack.jetbrains.com/issue/KT-69040) PCLA: deal with "deep" calls that can be fully analyzed properly - [`KT-69920`](https://youtrack.jetbrains.com/issue/KT-69920) K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilation - [`KT-69549`](https://youtrack.jetbrains.com/issue/KT-69549) Try to move callable reference transformation earlier in pipeline - [`KT-63944`](https://youtrack.jetbrains.com/issue/KT-63944) Kotlin/Native: Cache flavor selection doesn't respect GC kind - [`KT-71649`](https://youtrack.jetbrains.com/issue/KT-71649) K2: Put operator on mutableMap\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.
This PR was generated by Mend Renovate. View the repository job log.