Update kotlin
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| com.google.devtools.ksp (source) | 2.0.0-1.0.22 -> 2.1.21-2.0.1 |
||||
| com.google.devtools.ksp:symbol-processing-api (source) | 2.0.0-1.0.22 -> 2.1.21-2.0.1 |
||||
| org.jetbrains.kotlin.plugin.parcelize (source) | 2.0.0 -> 2.1.21 |
||||
| org.jetbrains.kotlin.kapt (source) | 2.0.0 -> 2.1.21 |
||||
| org.jetbrains.kotlin.jvm (source) | 2.0.0 -> 2.1.21 |
||||
| org.jetbrains.kotlin.android (source) | 2.0.0 -> 2.1.21 |
||||
| org.jetbrains.kotlin.plugin.compose (source) | 2.0.0 -> 2.1.21 |
||||
| org.jetbrains.kotlin:kotlin-gradle-plugin (source) | 2.0.0 -> 2.1.21 |
||||
| org.jetbrains.kotlin:kotlin-reflect (source) | 2.0.0 -> 2.1.21 |
Release Notes
google/ksp (com.google.devtools.ksp)
v2.1.21-2.0.1
What's Changed
- Bump Kotlin version to 2.1.21 by @mkmuir0 in https://github.com/google/ksp/pull/2448
Full Changelog: https://github.com/google/ksp/compare/2.1.21-RC2-2.0.1...2.1.21-2.0.1
v2.1.20-2.0.1
What's Changed
- [KSP2] Annotation values shouldn't be marked as default (synthetic origin) broken after PR #2424 in https://github.com/google/ksp/pull/2425
- [KSP2] Wrong internal method name with custom moduleName compiler option inhttps://github.com/google/ksp/pull/24155
- [KSP2] getJvmName for internal method did not sanitize java identifiers inhttps://github.com/google/ksp/pull/24133
- [KSP2] Annotation and argument's origin is wrong inhttps://github.com/google/ksp/pull/24122
- [KSP2] functionKind is MEMBER for static method in interface in Java inhttps://github.com/google/ksp/pull/24100
- KSP2 Generated .class files are not added to the classpath in https://github.com/google/ksp/pull/2365
- When I write specific code, KSP throws an Unexpected class for KtSymbol error. in https://github.com/google/ksp/pull/2303
Contributors
Thanks to everyone who reported bugs and participated in discussions!
Full Changelog: https://github.com/google/ksp/compare/2.1.20-2.0.0...2.1.20-2.0.1
v2.1.20-2.0.0
What's Changed
- Bumped version to 2.0.0 and enabled KSP2 by default!
- No-op blockOtherCompilerPlugins #2397
- A couple of fixes to compilation avoidance #2401
- KSTypeReferenceResolvedImpl.toString(): render unexpanded #2393
Full Changelog: https://github.com/google/ksp/compare/2.1.20-1.0.32...2.1.20-2.0.0
v2.1.20-1.0.32
What's Changed
#2379 [KSP2] resolved type of vararg parameter in functions changed vs KSP1 #2358 [KSP2] Annotation missing from property when VALUE_PARAMETER target is used.
And various performance optimizations!
v2.1.20-1.0.31
What's Changed
- Update github actions permissions for release on 1.0.31-release by @ting-yuan in https://github.com/google/ksp/pull/2383
- Bump Kotlin version to 2.1.20 by @mkmuir0 in https://github.com/google/ksp/pull/2384
Full Changelog: https://github.com/google/ksp/compare/2.1.20-RC2-1.0.31...2.1.20-1.0.31
v2.1.10-1.0.31
Bug Fixes
- [KSP2] KSPropertyDeclaration#type for typealias does not match its declaration. #2345
- Incorrect isMutable on KSPropertyDeclaration from a JAVA_LIB in 2.1.10-1.0.30 #2346
- KSP breaks compilation avoidance #2347
v2.1.10-1.0.30
Bugs Fixed / PR Landed
https://github.com/google/ksp/issues/2325 [KSP2] KSType.arguments return arguments on aliased type.https://github.com/google/ksp/pull/23122 Partially migrate KSP off AGP's legacy Variant APIhttps://github.com/google/ksp/issues/23099 Resolver#getDeclarationsFromPackage() does not find generated fileshttps://github.com/google/ksp/issues/22522 Incremental processing breaks when a project dependency is modifiedhttps://github.com/google/ksp/issues/22655 [ksp2] ksType.arguments will crash on a typealias's java wildcard typhttps://github.com/google/ksp/issues/226464 [ksp2] getJavaWildcard does not return wildcard for List param (different with kapt/ksphttps://github.com/google/ksp/issues/2246246 Resolver returns non-equal instances of the same declaratiohttps://github.com/google/ksp/issues/2254254 [KSP2] Resolver#overrides() gives incorrect result when method isn't accessible.
v2.1.10-1.0.29
What's Changed
- Update gradle.properties to Kotlin 2.1.10 Stable by @mkmuir0 in https://github.com/google/ksp/pull/2308
Full Changelog: https://github.com/google/ksp/compare/2.1.10-RC2-1.0.29...2.1.10-1.0.29
v2.1.0-1.0.29
Updates
- KSP2: Sanitize dots to underscores in suffixes of internals by @ting-yuan in https://github.com/google/ksp/pull/2229
- KSP2: clean up legacy incremental code by @ting-yuan in https://github.com/google/ksp/pull/2231
Contributors
Thanks to everyone who reported bugs and participated in discussions!
v2.1.0-1.0.28
What's Changed
- Bump Kotlin to 2.1.0 by @mkmuir0 in https://github.com/google/ksp/pull/2235
- Update intellij to 233.13135.128 by @ting-yuan in https://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
Updates
- [KSP2] Running from command line never finishes #2176
- Introduce KspAATask.commandLineArgumentProviders #2201
Contributors
Thanks to @GeorgCantor and everyone who reported bugs and participated in discussions!
v2.0.21-1.0.27
Bugs Fixed
- KSP2: KtInvalidLifetimeOwnerAccessException: Access to invalid KtAlwaysAccessibleLifetimeToken: PSI has changed since creation #1854
- [KSP2] getSymbolsWithAnnotation() doesn't work if the annotation is an alias in KOTLIN_LIB #2024
- KotlinSymbolProcessingExtension leaks files due to URLClassLoader not being closed #2159
- Unresolvable iOS reference on Linux host #2173
- Fail to apply ksp before android #2174
- [KSP2] Mangled names for internal functions are incorrect for Android modules #2180
- [KSP2] JVM names for property getters/setters are incorrect if they start with "is" #2181
Contributors
Thanks to @jonamireh, @kuanyingchou, @martinbonnin, @pablobaxter, @scott-pollom, and everyone who reported bugs and participated in discussions!
v2.0.21-1.0.26
Bugs Fixed
- A failure occurred while executing com.google.devtools.ksp.gradle.KspAAWorkerAction #1968
- [KSP2] default value is null for nested annotation #2077
- [KSP2] "internal" members are out of order in Resolver.getDeclarationsInSourceOrder() #1827
- [KSP2] Resolver.getDeclarationsFromPackage() couldn't find Java declarations #1952
- [KSP2] Property setter parameter name becomes value #1865
- [KSP2] A failure occurred while executing com.google.devtools.ksp.gradle.KspAAWorkerAction #1941
- [KSP2] NullPointerException when calling hasBackingField on properties of Enum declarations #1753
- JVM Module name is changed for libraries #2105
- [KSP2] asMemberOf() is not working with Java sources #2051
- KSP2: implement KSPropertyDeclaration.findOverridee and Resolver.asMemberOf for java fields #1642
- [KSP2] command line doesn't support absolute Windows paths #2046
- [KSP2] NPE when getting annotation arguments on non-Jvm targets #1823
- [KSP2] Resolver.mapToJvmSignature() is not consistent #2109
- [KSP2] Default annotation argument values are sometimes missing #2107
- [KSP2] KSFunctionDeclaration.asMemberOf doesn't work sometimes #2116
- [KSP2] Qualified names of nested annotations from JAVA_LIB is null #2033
- [KSP2] Class literal annotation default values resolve to error types #1910
- KaFirPsiJavaTypeParameterSymbol cannot be cast to KaFirTypeParameterSymbol #2119
- KSP memory leak in Android build #2073
- [KSP2] KSClassDeclaration.asType(emptyList()) fails after Resolver.getSymbolsWithAnnotation() call #2094
- KSValueArgumentImpl doesn't implement .equals() in KSP2 #2091
- [KSP2] JvmName is ignored in annotation property getters #2148
- [KSP2] Unable to get visibility of KSTypeAlias #2140
- Gradle kspKotlin task failed when upgrading to 2.0.20-1.0.25 #2123
- [KSP2] Generic type arguments on typealiases are improperly forwarded to the KSType #2088
- java.lang.IllegalStateException: Storage for [...] is already registered with 2.0.20-1.0.24 #2072
Full Changelog: https://github.com/google/ksp/compare/911690b86b60a0299af0e86b6abcf18d8abb003b...2.0.21-1.0.26
Contributors
Thanks to @ansman, @asapha, @kaeawc, @kuanyingchou, @scott-pollom, and everyone who reported bugs and participated in discussions!
v2.0.21-1.0.25
What's Changed
- UPDATE_KOTLIN_VERSION: 2.0.21 by @ting-yuan in https://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
Bugs Fixed
Inlined JVM name is not correct #1493 [KSP2] NullPointerException when getting name of nested annotation #1963 [KSP2] The status was unresolved for FirSimpleFunctionImpl #1938 [KSP2] Class values in type annotations get resolved to error type #1933 [KSP2] Comparing KSType leads to exception #1918 [KSP2] Can't find values in repeatable annotations #1883 incremental: aggregating outputs should always be invalidated #2027 [KSP2] Not yet implemented: KSValueArgumentLiteImpl.getLocation #2048 [KSP2] Not yet implemented: KSValueArgumentImpl.getParent #2049 getSymbolsWithAnnotation returns copy function from data class #1996 [KSP2] Annotations got use-site target when there are none specified #1882 getting null pointer exception #1929 [KSP2] Calling getDeclarationsInSourceOrder throws KotlinIllegalStateExceptionWithAttachments #1930 [KSP2] A failure occurred while executing com.google.devtools.ksp.gradle.KspAAWorkerAction #1941 KSP2: Resolver.getJvmNames doesn't work for inline and internal classes #1640 kspCaches don't work together with Gradle build cache #2042
Contributors
Thank you so much! @ansman, @kuanyingchou
Full Changelog: https://github.com/google/ksp/compare/2.0.20-1.0.24...2.0.20-1.0.25
v2.0.20-1.0.24
What's Changed
- UPDATE_KOTLIN_VERSION: 2.0.20 by @ting-yuan in https://github.com/google/ksp/pull/2040
v2.0.10-1.0.24
What's Changed
- UPDATE_KOTLIN_VERSION: 2.0.10 by @ting-yuan in https://github.com/google/ksp/pull/2022
v2.0.0-1.0.24
What's Changed
#2013 Handle edge cases of KtAnnotated.annotations #2009 Fix :kotlin-analysis-api:shadowJar failing on Windows #2006 Use symbol-processing-aa-embeddable in Gradle
Bugs Fixed
#1956 IllegalAccessError in Dagger with KSP2.0.0-1.0.22 and KSP2 #1998 KSP2 version 2.0.0-1.0.23 crashes on Moshi codegen with NoSuchElementException: Collection contains no element matching the predicate.
Full Changelog: https://github.com/google/ksp/compare/e8807446b16ba19e110cc23f6b852054614f7ec8...c63864cc1268bcb1c83e058494b6ff4b25947251
v2.0.0-1.0.23
Issues fixed
- [KSP2] Nullable type arg type becomes non-null after replace() call #1856
- Annotations on enum entires on K2 are missing #1962
- Got IllegalStateException when calling replace() on error types #1960
- [KSP2] Resolver.getJvmCheckedException doesn't work on property accessors #1900
- [KSP2] Property getter JVM names in data classes become componentN instead of getXXX #1958
- [KSP2] Resolver.mapToJvmSignature doesn't unwrap inline classes #1859
- [KSP2] KSFunctionDeclaration.asMemberOf does not return correct types #1919
- implement getOwnerJvmClassName #1979
- [KSP2] KSPropertyDeclaration.hasBackingField returns inconsistent results #1939
- [KSP2] Annotations on extension receivers are missing #1899
JetBrains/kotlin (org.jetbrains.kotlin.plugin.parcelize)
v2.1.21: Kotlin 2.1.21
Changelog
Backend. Native. Debug
KT-75991Xcode 16.3: Fix lldb stepping test over an inline function
Compiler
KT-75992Xcode 16.3: stacktraces on simulators are not symbolicatedKT-76663KJS: KotlinNothingValueException caused by expression return since 2.1.20KT-75756Backend Internal error: Exception during IR lowering when trying to access variable from providedProperties in class within kotlin custom scriptKT-76209CONFLICTING_UPPER_BOUNDS onNothingboundKT-70352K2: False-negative CONFLICTING_UPPER_BOUNDS onNothingboundKT-74739Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION_REFERENCE"KT-75483Native: redundant unboxing generated with smart castKT-71425IR Inliner: investigate return type of an inlined block
Native
KT-76252Native: executable crash with generic value classes with 2.1.20
Native. C and ObjC Import
KT-75781Xcode 16.3: Fix cinterop tests failing with fatal error: could not build module '_stdint'
Native. Runtime. Memory
KT-74280Native: GC.collect crashes with -Xallocator=std
Tools. CLI
KT-75588[2.1.20-RC] "was compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" warnings despite using the same compiler versionKT-74663kotlinc-js CLI: not providing -ir-output-dir results in NullPointerException
Tools. Compiler Plugins
KT-76162"IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" after updating to 2.1.20
Tools. Gradle
KT-73682Compatibility with Gradle 8.12 releaseKT-73142Kotlin Gradle plugin: Remove usage of Gradle's internal ExecHandleBuilderKT-36004Update 'org.gradle.usage' attribute rules to support the 'JAVA_API' and 'JAVA_RUNTIME' valueKT-73968KotlinDependencyManagement tries to mutate configuration after it was resolvedKT-73684Run integration tests against Gradle 8.12KT-72694Accessing Task.project during execution is being deprecated in Gradle 8.12KT-73683Compile against Gradle API 8.12
Tools. Gradle. JS
KT-77119KJS: Gradle: Setting custom environment variables in KotlinJsTest tasks no longer worksKT-74735KGP uses Gradle internalCompositeProjectComponentArtifactMetadataKT-71879Notice of upcoming deprecation for Boolean 'is-' properties in Gradle Groovy scripts
Tools. Gradle. Multiplatform
KT-75808KGP: MPP with jvm target and Gradle java-test-fixtures is brokenKT-75605Dependency resolution fails in commonTest/nativeTest source sets for KMP module when depending on another project due to missing PSMKT-75512Maven-publish: ArtifactId is not correct inpomfile with customizedwithXml
Tools. Incremental Compile
KT-62555Wrong ABI fingerprint for inline function containing a lambdaKT-75883Follow-up: switch from INSTANCE heuristic to outerClass chain
Tools. Kapt
KT-75936K2 KAPT: unsupported FIR element kinds in constant evaluationKT-75942K2 KAPT: underscore not allowed here
Tools. Scripts
KT-76424Dependencies in main.kts not working with 2.1.20KT-76296Kotlin script compiler crashes when secondary constructor calls a functionKT-75589Scripts: "IndexOutOfBoundsException in jdk.internal.util.Preconditions.outOfBounds" when trying to extend a class which uses global variable
Tools. Wasm
KT-76161Wasm: "export startUnitTests was not found" after updating to Kotlin 2.1.20
v2.1.20
Analysis API
Fixes
KT-68198Analysis API: Support application service registration in plugin XMLsKT-57733Analysis API: Use optimizedModuleWithDependenciesScopes in combined symbol providersKT-73156AA: type retrieval for erroneous typealias crashesKT-71907K2 debugger evaluator failed when cannot resolve unrelated annotationKT-69128K2 IDE: "Unresolved reference in KDoc" reports existing Java class in reference to its own nested classKT-71613KaFirPsiJavaTypeParameterSymbol cannot be cast to KaFirTypeParameterSymbolKT-71741K2 IDE. Classifier was found in KtFile but was not found in FirFile inlibraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.ktsinkotlin.gitand broken analysisKT-71942Need to rethrow Intellij Platform exceptions, like ProcessCanceledExceptionKT-70949Analysis API: "containingDeclaration" does not work on nested Java classes in K2 implementationKT-69736K2 IDE: False positive resolution from KDoc forvalueKT-69047Analysis API: Unresolved KDoc reference to extensions with the same nameKT-70815Analysis API: Implement stop-the-world session invalidationKT-69630KAPT User project builds with KAPT4 enabled fail with Metaspace overflow
Analysis API. Code Compilation
KT-71263K2 evaluator: Error in evaluating self property with extension receiver
Analysis API. FIR
Performance Improvements
KT-72025FileStructureElement: reduce redundant resolveKT-74012RedundantFirAbstractBodyResolveTransformerDispatcher.<init>CPU consumptionKT-73900ContextCollectorVisitor#computeContext may spend significant time oncreateSnapshotKT-73665FirElementFinder is inefficient in large filesKT-73330Remove bodies from functions without contracts after the CONTRACTS phaseKT-73017Analysis API:FirReferenceResolveHelper.getSymbolsByResolvedImportsearches for classes even when the selectedFqNameis a known package
Fixes
KT-72308getOrBuildFir returns null for this expression for plusAssign operatorKT-72660ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValueKT-74097ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValueKT-74098ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValueKT-72148K2: KISEWA: Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(DataClassMember) but FirArgumentListImpl foundKT-73079K2: Internal compiler error when conflicting type aliases are presentKT-73456Expected FirResolvedContractDescription but FirRawContractDescriptionImpl found for FirSimpleFunctionImplKT-73259Expected FirResolvedContractDescription but FirLegacyRawContractDescriptionImpl found for FirSimpleFunctionImplKT-72740FirDanglingModifierList:lazyResolveToPhase(STATUS)cannot be called from a transformer with a phase STATUSKT-66132K2: FirRegularClass expected, but FirFileImpl found | Containing declaration is not foundKT-72196K2. KMP. IllegalStateException: expect-actual matching is only possible for code with sourcesKT-72652FirProvider#getContainingClassshould supportFirDanglingModifierSymbolKT-73105Lazy resolve contract violation (BODY_RESOLVE from BODY_RESOLVE)KT-66261K2: Analysis API: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" with MULTIPLE_LABELS_ARE_FORBIDDEN K2 errorKT-72315K2. KIWA on usage of always-true OR in guard conditionKT-65707K2 IDE: unresolved calls of callables imported with typealias as qualifierKT-61516K2: Provide an LL FIR implementation forgetContainingClassSymbol(inFirHelpers)KT-72853Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirContextReceiverImpl(Source) but FirArgumentListImpl foundKT-64215K2: do not resolve type annotations of receiver if it is used as an implicit return typeKT-64248K2: do not resolve type annotations of context receiver if it is used as an implicit return typeKT-72821Add assertion to diagnostic tests to check that all declarations have BODY_RESOLVE phase at the endKT-64056K2: K2: FirLazyBodiesCalculator shouldn't calculate annotation arguments on type phaseKT-71651K2 IDE: False positive NON_LOCAL_SUSPENSION_POINT in suspend function callKT-72164K2. IllegalArgumentException when pre and post increment are used simultaneously in assignmentKT-71174Illegal scope usedKT-72407FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessingKT-72228K2: Reformat doesn't work in project with Kotlin2.0.21KT-69671TYPES phase contract violation through JavaSymbolProviderKT-71348K2: KotlinIllegalStateExceptionWithAttachments: 'By now the annotations argument mapping should have been resolved' during code inspectionKT-72024FirClassVarianceChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSourceKT-71746K2 IDE.ISE: Zero or multiple overrides found for descriptor in FirRegularClassSymbol serializing/ExternalSerializerand red code on@Serializer(forClass) ` usage
Analysis API. Infrastructure
KT-72922KotlinFakeClsStubsCache project leakageKT-71988Improve scripts test coverage by LL FIRKT-64687K2: Analysis API: migrate AbstractFirLibraryModuleDeclarationResolveTest to kotlin repo
Analysis API. Light Classes
KT-73492K2. FP error in Java file when using@JvmSuppressWildcardsannotation without argumentsKT-66763K2: Get rid of context receivers in Analysis API and LL APIKT-71781SLC: migrate SLC from KotlinModificationTrackerService to KotlinModificationTrackerFactoryKT-67963K2: PsiInvalidElementAccessException on redeclaration of class with constructorKT-71407K2: Do not report@JvmFielddefault value as PsiField initializer in K2KT-72078K2 PSI change for constructor parameter with value class type
Analysis API. Providers and Caches
KT-69247Analysis API: Invalidate sessions after builtins modification eventsKT-72704ISE: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(53) in array owner: LLFirBuiltinsAndCloneableSession for Builtins for JS/wasm-js (JS)KT-67148Analysis API: Introduce a weak reference cache for the originalKtSymbolinKtSymbolPointerKT-73395Analysis API:JavaElementPsiSourceWithSmartPointercontains strong references to PSIKT-72390Kotlin project full of red codeKT-72388KaFirStopWorldCacheCleaner: Control-flow exceptionsKT-72644"PSI has changed since creation" reason is misleading
Analysis API. Standalone
KT-73776Analysis API Standalone: Application services are missing registrations in tests and DokkaKT-70346Analysis API Standalone: Remove the custom class loader option in Standalone session creation
Analysis API. Stubs and Decompilation
KT-69398K2 IDE: SOE on editing top level private variable nameKT-72897Analysis API: Smart PSI element pointers forKtEnumEntrystubs cannot be restoredKT-71565KtClassOrObject should use isLocal from greenStub
Analysis API. Surface
New Features
KT-73414Analysis API: Support typealiased constructors in KaConstructorSymbolKT-70301Analysis API: 'KaSamConstructorSymbol' does not allow to find the constructed SAM typeKT-68236Analysis API: addisExternalproperty for KtPropertySymbolKT-68598Analysis API: missed getClassLikeSymbolByClassId API
Performance Improvements
KT-74112UI freeze:AnyThreadWriteThreadingSupport.getWritePermitKT-73942Extend resolveToSymbols cache to all referencesKT-73622CacheresolveToSymbolsresultKT-72684Drop explicit resolve from KaFirJavaInteroperabilityComponent#asPsiTypeElementKT-60486Analysis API: optimize KaExpressionTypeProvider.returnType for simple cases
Fixes
KT-70114K2: Analysis API: do not lazy resolve declarations without deprecation to get it deprecationKT-73406[Analysis API] Allow extending KaModule resolution scope for all KaModulesKT-65850Cover Analysis API with KDocsKT-72099Analysis API: implement an API to retrieve default importsKT-73662KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImplKT-70108Analysis API: "KaScopeProvider.scopeContext" provides scopes from implicit companion objects with inaccessible classifiersKT-68954Remove JAR publications with old artifact names (high-level-api family)KT-70134Analysis API: Port API documentation from the guide to KDocKT-72973Introduce KaSymbolOrigin.TYPE_ALIAS_CONSTRUCTORKT-70356analyzeCopy with IGNORE_SELF cannot find private membersKT-66783Analysis API:KtFirSymbolProvidercreates symbols when given PSI from unrelated modulesKT-72937Migrate KaFirReceiverParameterSymbol to KaFirSymbol/KaFirKtBasedSymbolKT-70243K2 IDE: PsiMethod.callableSymbol returnsnullfor constructorKT-66608SupportOperatorFunctionChecks#isOperatorin AAKT-73068Analysis API: AKaFirJavaFieldSymbolfor a static Java field is open instead of finalKT-73055Get rid of the deprecated Analysis API APIKT-65065ProvideKtTypeReference#getShortTypeText()KT-63800AA: this reference shortener doesn't simplify labelKT-72793Analysis API: 'expressionType' returns raw type for typealiased constructors callsKT-72658resolveToCalldoesn't work forKtSafeQualifiedExpressionKT-69930K2 IDE: Kotlin/JS project: ISE: "Unsupported type DYNAMIC_TYPE"KT-71373Make KaSessionProvider the internal APIKT-71869KaClassSymbol.superTypes for kotlin.Any contains kotlin.Any itself (K1-only)KT-64190K2 IDE: Analysis API: KDoc link leads to a function instead of interfaceKT-72075defaultTypeshould be available forKaClassifierSymbolinstead ofKaNamedClassSymbolKT-72002Analysis API: psi KaTypeParameterSymbol for default Java constructor is null
Backend. Native. Debug
KT-73306Native: add a way to specify a dir for the debug compilation unit fileKT-68536Native: bridges and trampolines affect stepping in the debuggerKT-72398Native: useDW_AT_trampolineforobjc2kotlin_*functions instead ofKonanHookinkonan_lldb.py
Backend. Wasm
KT-71868K/Wasm: support generating debug information in DWARF formatKT-71645[Wasm] Check wasm test runner for groupByPackage=true caseKT-72232Wasm, IC: Compilation exception on renaming of fileKT-73907Wasm: Duplication of files in browser distributionKT-72223Compiler generates an invalid glue-code for externals with backquoted identifiersKT-73015[Wasm, IC] Implement possibility for readonly IC cacheKT-71763K/Wasm: compiler generates incorrect code for is check on JsAnyKT-72156custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven publicKT-71037[Wasm, IC] Investigate how make kotlin.test not fully loaded in IC
Compiler
New Features
KT-74049Introduce special override rule to allow overriding T! with T & AnyKT-73256Implementallmeta-target for annotationsKT-73255Change defaulting rule for annotationsKT-61447Support context receivers overloads in Kotlin multiplatformKT-67034Warning when a property hides a Java field from superclassKT-71092Native: Write out used dependenciesKT-71094Kotlin/Native incremental compilation: fail compilation if cache build failedKT-71569Improve diagnostic precision for OPT_IN_ARGUMENT_IS_NOT_MARKER
Performance Improvements
KT-73434Slow / infinite compile involving ConeInferenceContextKT-73328Do not spillthisto a local variable in coroutinesKT-69995K2: Slow compilation when star projecting mutually recursive bounds from javaKT-73687Inefficient KtCommonFile#getFileAnnotationListKT-45452K/N optimization: inline simple functions that aren't marked withinlinekeywordKT-64898K2: toFirProperty call in PsiRawFirBuilder forces AST loadingKT-71673Consider making EnhancementSymbolsCache. enhancedFunctions using simple cacheKT-71973KtPsiUtil#getEnclosingElementForLocalDeclaration shouldn't iterate over directories
Fixes
KT-75965The iOS app did not run successfully in Release modeKT-57696Deprecate JvmDefault annotation with level HIDDENKT-75578K2: False negative [SUPER_CALL_WITH_DEFAULT_PARAMETERS] when calling the upper-class implementation of a method with the default value argumentKT-74764Native: merge init nodes generated within the same LLVM module for the same klibKT-75444Contradictions in the constraint system are ignored in case of multiple constraints from forking pointsKT-75649K2: NPE on assigning platform type value to non-nullable lateinit varKT-75483Native: redundant unboxing generated with smart castKT-73028K2. FileAnalysisException on private property in ContextKT-73937Context parameters: IllegalArgumentException: source must not be null on lateinit var with a contextKT-74104Native: SynchronizedLazyImpl produces NPE on 2.1.20-Beta1 on mingwX64KT-71752K2: Absent non-null check for platform types in assignmentsKT-75526Regression in K2 scripting: local name doesn't shadow one from the implicit receiverKT-68131K2: build Grazie monorepo main branchKT-72618Cannot define operator inc/dec in class contextKT-74739Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION_REFERENCE"KT-68768K2: unsuccessful inference fork with jspecify annotationsKT-71943K2: IAE "source must not be null" in FirJvmModuleAccessibilityQualifiedAccessCheckerKT-75111False negative "This declaration needs opt-in" for usage of enum entry with OptIn marker in another moduleKT-73831Do not choosefieldtarget in annotation classesKT-73494Enable first-only-warn annotation defaulting modeKT-74929False positive TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER if it is used with T&AnyKT-74227K2: "Cannot infer type for this parameter. Please specify it explicitly" caused by lambda in another lambda with a parameterized function typeKT-70789CLI error "mixing legacy and modern plugin arguments is prohibited" on using -Xcompiler-plugin unless default scripting plugin is disabledKT-73903Design 'replaceWith' / 'test-only' kinds for the 'LanguageFeature' classKT-74474K2: Report more precise diagnostic when last expression of non-unit lambda is a statementKT-74478K2: False negative RETURN TYPE_MISMATCH if the last statement of a lambda is indexed assignmentKT-67480K/N: a separate inlining phase after the loweringsKT-72154
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
Deploy Preview for ods-android canceled.
| Name | Link |
|---|---|
| Latest commit | f788cd27b35ab58575d7d08e5536047eb9c92435 |
| Latest deploy log | https://app.netlify.com/projects/ods-android/deploys/68479cfec9376e000884758e |