Releases: JetBrains/kotlin
Releases Β· JetBrains/kotlin
Kotlin 2.0.21-RC
2.0.21-RC
Apple Ecosystem
KT-69093
Xcode 16 support in Kotlin
Backend. Native. Debug
KT-71374
lldb: step out breaks breaking in Xcode 16
Compiler
Fixes
KT-69735
K2: Static fields are missing from the declaration list of corresponding IrClass for java classKT-71122
Regression in Kotlin Compiler 2.0 causing NPE in the runtimeKT-70931
K2 / Scripts: "cannot convert IrExpression to ConstantValue" when using function annotationKT-70584
K2: "IllegalStateException: flow for PostponedLambdaExitNode not initialized - traversing nodes in wrong order?"KT-70808
K2: "node has already been visited" with anonymous object in dead codeKT-69985
K2: Classifier declarations from root package are resolved without imports in non-root packagesKT-70683
K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwnerKT-70901
False positive Public-API inline function cannot access non-public-API property accessorKT-70930
K2: Java annotations not present on ENUM_ENTRY IR elementsKT-70194
K2 IDE: exception on a very red fileKT-69399
Native: IllegalStateException: "Failed to build cache"
Compose compiler
Fixes
b/329477544
Force open / overridden Composable functions to be non-restartable.b/361652128
Disable live literal transform if the corresponding flag is disabled
IR. Actualizer
KT-70894
IR crash. UnprocessedIrFunctionFakeOverrideSymbol
when actualize to Java
IR. Tree
KT-71191
SymbolTable: Check if the provided signature is public before adding a symbol to the SymbolTable
Native. Build Infrastructure
KT-71485
K/N runtime parts don't build due to _Float16 issues on x86_64 macOS
Native. C Export
KT-69507
LLVM 11 clang with Xcode 16 headers: standard c++ headers
Native. C and ObjC Import
KT-71029
Investigate why stdarg.h declarations leak into testModuleA
Native. Platform Libraries
KT-70566
LLVM 11 clang with Xcode 16 headers: 'sys/cdefs.h' file not foundKT-71624
Eliminate remaining UIKit/AppKit removed signaturesKT-70031
Rebuild platform libraries in 2.0.21 with Xcode 16
Native. Testing
KT-70603
C++ with -fmodules: cyclic dependency in module 'std': std -> _wctype -> __wctype -> std in dev llvm toolchains
Tools. CLI. Native
KT-71262
KotlinNativeLink tasks fetching from network despite -Xoverride-konan-properties=dependenciesUrl= being set
Tools. Compiler Plugins
KT-71038
PowerAssert: Constant on RHS of elvis operator leads to compiler crash
Tools. Daemon
KT-35381
Get rid of the native-platform usage in kotlin compiler
Tools. Gradle. Multiplatform
KT-71444
Certain POMs produced by Kotlin 2.0.20 cannot be consumed by KMP projects with Android targetsKT-70700
Gradle 8.10: The value for task ':commonizeNativeDistribution' property 'kotlinNativeBundleBuildService' cannot be changed any furtherKT-71396
Gradle client side JVM explodes with OOM due to xcodebuild logs
Tools. Gradle. Native
KT-71419
Light bundle KGP IT run against a stable K/N version
Tools. JPS
KT-71450
Constant build failure: com.intellij.util.io.ClosedStorageException: storage is already closed
Kotlin 2.1.0-Beta1
Changelog
Analysis. API
New Features
KT-68603
KotlinDirectInheritorsProvider: add an option to ignore non-kotlin resultsKT-69961
resolveToCallCandidates
should support propertiesKT-69960
resolveToCallCandidates
should support operators
Performance Improvements
KT-70757
Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbolKT-70529
KaSymbol: reduce the number ofcached
usages
Fixes
KT-65618
K2: resulted FirClass.psi != requested PsiClass from completionKT-70323
FirLazyResolveContractViolationException:lazyResolveToPhase(TYPES)
cannot be called from a transformer with a phase TYPESKT-69535
Redesign 'containingSymbol'KT-70859
Do not fail highlighting due to resolution problemsKT-67483
K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation callKT-63490
Analysis API: Accessing the Analysis API should be prohibited during dumb modeKT-69416
K2 IDE / Completion: βNo classifier foundβ on simple value creatingKT-70663
KaFirDestructuringDeclarationSymbol: Failed requirementKT-70662
NPE: FirLazyBodiesCalculatorKt.calculateLazyBodyForPropertyKT-70661
Invalid FirDeclarationOrigin ScriptTopLevelDestructuringDeclarationContainerKT-70624
Declaration symbols from code fragments are treated as not localKT-70257
CCE: class kotlin.UInt cannot be cast to class java.lang.NumberKT-69070
Analysis API: Querying declared member scope for Java symbols results in exception in some use casesKT-70199
K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArgumentsKT-70376
K2 IDE / Kotlin Debugger: IAE βOnly componentN functions should be cached this way, but got: toStringβ on evaluating toString() method for value classKT-70264
AA: service registration via XML fails with AbstractMethodError in Lint CLIKT-69381
Analysis API: Investigate the viability of currentKaSymbol
cachesKT-69950
Analysis API: IntroduceisSubtypeOf(ClassId)
KT-68625
K2: βlazyResolveToPhase(STATUS)
cannot be called from a transformer with a phase STATUS.βKT-67009
Analysis API: Add abbreviated type tests for type aliases from source modulesKT-69977
KaFirFunctionalType#getAbbreviation is always nullKT-68341
Analysis API: Expanded function types from libraries don't have an abbreviated typeKT-68857
Analysis API: Refactor annotationsKT-70386
Do not filter out overloads from different libraries in dangling filesKT-65552
K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragmentKT-69360
Lack of implicit receiver for the last statement under lambda in scriptsKT-69699
Receiver type is not substituted in the case of conflict declarationsKT-70206
anonymousSymbol
API throws an exception for regular functionsKT-65803
K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments"KT-68896
Support VirtualFile binary dependency inputs to Analysis API modulesKT-69671
TYPES phase contract violation through JavaSymbolProviderKT-69395
K2 IDE: incorrect overload selection from binary dependencies in a shared native source setKT-68573
ISE: "Unexpected constant value (kotlin/annotation/AnnotationTarget, CLASS)" at Kt1DescUtilsKt.toKtConstantValue()KT-69576
Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns false for companion references in implicit invoke operator callsKT-69568
Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns true for non-companion references in qualified callsKT-55124
Design common ancestor for KtValueParameter and KtReceiverParameterSymbolKT-69436
Analysis API Platform: EncapsulateLLFirDeclarationModificationService
as an engine serviceKT-63004
K2: Analysis API: Design API for querying declarations generated by compiler plugins (similar to indices)KT-69452
AA FIR: wrong source PSI after compile-time evaluationKT-69679
KaDelegatedConstructorCall should have substituted signatureKT-69696
KaSymbolByFirBuilder should filter call-site substitutionsKT-69598
AA: definitely not-null type at receiver position should be wrapped in parenthesisKT-60484
Analysis API: add support for KtType pointers similar to KtSymbolPointerKT-68884
Analysis API: Rename/deprecate/remove declarations as part of StabilizationKT-69292
K2: Analysis API: A property'sMUST_BE_INITIALIZED
diagnostic is not updated after changingfield
usage in an accessorKT-69453
AA FIR: miss to handle expected type of lambda with explicit labelKT-69371
Analysis API: expose only interfaces/abstract classes for the resolution APIKT-69533
Protect implementation parts of Analysis API with opt-in annotationsKT-68268
LLSealedInheritorsProvider: reduce scope to kotlin files
Analysis. Light Classes
KT-70710
Provide light classes for KMP modules in Android LintKT-70548
SLC: text of class object access expression is not the same as raw textKT-70572
SLC: missingisInheritor
implementation for type parameterKT-70491
SLC: inconsistent source PSI of no-arg constructor for all default valuesKT-70458
SLC: missedauxiliaryOriginalElement
for delegated propertyKT-70232
Support a companion object inside value classesKT-70349
@delegate
:` annotations are missed for light class fieldsKT-69833
Support value classesKT-69998
Drop redundant cache from ClassInnerStuffCacheKT-68328
Move KtLightClassBase to ULC
Apple Ecosystem
KT-66262
Deprecate and remove support for bitcode embedding from the Kotlin Gradle pluginKT-69119
xcodeVersion task fails if Xcode isn't installed and apple-specific native targets aren't declared
Backend. Wasm
KT-70786
Improve DX of the variable view during debugging in Chrome/Firefox for Kotlin/WasmKT-68185
[WasmJs] Attach js exception object to JsExceptionKT-65799
K/Wasm: remove default exports from wasm exportsKT-61130
K/Wasm: Function signatures may clash with base class internal methods from a friend moduleKT-70394
Investigate increased wasm binary size after switching stdlib compilation to K2KT-69627
Remove `create###A...
Kotlin 2.0.20
Changelog
Analysis. API
New Features
KT-68143
Analysis API: support KtWhenConditionInRange call resolution
Performance Improvements
KT-67195
K2: do not call redundant resolve on body resolution phase for classes
Fixes
KT-67360
Analysis API: KtDestructuringDeclarationSymbol#entries shouldn't be KtLocalVariableSymbolKT-67748
K2: AllCandidatesResolver modifies the original FirDelegatedConstructorCallKT-68198
Analysis API: Support application service registration in plugin XMLsKT-62936
Analysis API: NativeForwardDeclarationsSymbolProvider is not supported for Kotlin/NativeKT-68689
LL API: support analysis from builtins moduleKT-69630
KAPT User project builds with KAPT4 enabled fail with Metaspace overflowKT-65417
K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source setsKT-68882
Analysis API: RefactorKaSymbol
sKT-65413
K2 IDE: KTOR unresolved serializer() call for@Serializable
class in common codeKT-67996
Analysis API: rename Kt prefix to KaKT-67775
Analysis API: expose only interfaces/abstract classes for the user surfaceKT-68009
K2: lowering transformers of Compose compiler plugin access AbstractFir2IrLazyFunction modality, which results in null point exceptionKT-68918
collectCallCandidates works incorrectly for parenthesis invokeKT-68462
Analysis API: Integrateproject-structure
module intoanalysis-api
andanalysis-api-platform-interface
KT-69131
AA: "provideDelegate" operator is not resolved from the delegation reference in FIR implementationKT-69055
Analysis API: StabilizeKaScope
sKT-66216
K2 IDE. "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" on incorrect string templateKT-68959
Introduce KaSeverityKT-53669
Analysis API: redesign KtSymbolOrigin to distinguish kotlin/java source/library declarationsKT-68846
Mark KaFirReference and all implementations with internal modifierKT-68845
Move KaSymbolBasedReference to resolution packageKT-68844
Move KaTypeProjection to types packageKT-65849
K2: Rename 'high-level-api' family of JARs to 'analysis-api'KT-62540
Remove uses of TypeInfo.fromString and TypeInfo.createTypeText from Kotlin pluginKT-62889
K2 IDE. FPMISSING_DEPENDENCY_CLASS
on not available type alias with available underlying typeKT-68155
Analysis API: Add PSI validity check toanalyze
KT-62343
Analysis API: fix binary incopatibility problems cause byKtAnalysisSessionProvider.analyze
being inlineKT-68498
To get reference symbol the one should be KtSymbolBasedReferenceKT-68393
Analysis API: RenameKaClassLikeSymbol. classIdIfNonLocal
toclassId
KT-62924
Analysis API: rename KtCallableSymbol.callableIdIfNonLocal -> callableIdKT-66712
K2 IDE. SOE on settings string template for string variable with the same nameKT-65892
K2: "We should be able to find a symbol" for findNonLocalFunctionKT-68273
AA: supportKtFirKDocReference#isReferenceToImportAlias
KT-68272
AA: KtFirReference.isReferenceToImportAlias doesn't work for references on constructorKT-66996
Analysis API: Expose the abbreviated type of an expandedKtType
KT-66646
K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl from FirJsHelpersKt.isExportedObjectKT-68203
K2: Analysis API: wrong type of receiver value in case of imported object memberKT-68031
LL resolve crash in case of PCLA inference with local objectKT-67851
K2:PsiReference#isReferenceTo
always returns false for references to Java gettersKT-68076
AA: use type code fragments for import alias detectionKT-65915
K2: Analysis API: extract services registration into xml fileKT-68049
Analysis API: do not expose imported symbolsKT-68075
K2: Analysis API: Type arguments for delegation constructor to java constructor with type parameters not supportedKT-65190
AA: reference to the super type is not resolvedKT-68070
AA: KtExpressionInfoProvider#isUsedAsExpression doesn't work for KtPropertyDelegateKT-67743
K2: Stubs & AbbreviatedTypeAttributeKT-67706
K2: "KtDotQualifiedExpression is not a subtype of class KtNamedDeclaration" from UnusedCheckerKT-68021
Analysis API: do not break the diagnostic collection in a case of exception from some collectorKT-67973
AA FIR: wrong KtCall modeling for == from type boundKT-67949
AA: Type arguments of Java methods' calls are not reported as used by KtFirImportOptimizerKT-67988
AA: functional type at receiver position should be wrapped in parenthesisKT-66536
Analysis API: ContextCollector doesn't provide implicit receivers from FirExpressionResolutionExtensionKT-67321
AA: Type arguments of Java methods' calls are not resolvedKT-64158
K2: "KotlinIllegalArgumentExceptionWithAttachments: No fir element was found for KtParameter"KT-60344
K2 IDE. "KotlinExceptionWithAttachments: expectcreateKtCall
to succeed for resolvable case with callable symbol" on attempt to assign value to param named getParamKT-64599
K2: "expectcreateKtCall
to succeed for resolvable case with callable" for unfinished if statementKT-60330
K2 IDE. ".KotlinExceptionWithAttachments: expectcreateKtCall
to succeed for resolvable case with callable symbol" on attempt to assign or compare true with somethingKT-66672
K2 IDE. False positive INVISIBLE_REFERENCE on accessing private subclass as type argument in parent class declarationKT-67750
Analysis API: Removeinfix
modifiers from type equality and subtyping functionsKT-67655
Analysis API: declare a rule how to deal with parameters in KtLifetimeOwnerKT-61775
Analysis API: KtKClassAnnotationValue lacks complete type informationKT-67168
K2: Analysis API: Rendering is broken for JSR-305 enhanced Java typesKT-66689
Analysis API: KtFirPackageScope shouldn't rely on KotlinDeclarationProvider for binary dependencies in standalone modeKT-60483
Analysis API: add isTailrec property to KtFunctionSymbolKT-67472
K2: Analysis API FIR: KtFunctionCall misses argument with desugared expressionsKT-65759
Analysis API: Avoid hard references toLLFirSession
in session validity trackersKT-60272
K2: Implement active invalidation ofKtAnalysisSession
sKT-66765
K2: Analysis API: support classpath substituti...
Kotlin 2.0.20-RC2
Changelog
Backend. Wasm
KT-70591
To much sources that don't exist inside SourceMap file
Compiler
KT-70186
Kotlin 2.0.20-Beta2: Unexpected number of type arguments: 0KT-69835
K2 / Native: kotlin.native.binary.gc=cms throws library cached but its dependency isn't errorKT-70417
DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE leads to NPE in BEKT-69964
K2: Returning from an in-place lambda doesn't compileKT-69995
K2: Slow compilation when star projecting mutually recursive bounds from javaKT-69773
K2: "Overload resolution ambiguity between candidate" with arraysKT-70238
K2: false negative VOLATILE_ON_VALUE for constructor propertiesKT-69766
K2: False negative: Internal setter of generic class is accessible from another moduleKT-69898
K2: Performance degradation in fir2ir caused by changes around intersection types
Compose compiler
b/357878245
Disallow open@Composable
functions with default params to fix binary compatibility issues.
JavaScript
KT-70592
"Error: HttpClientCall expected" on HTTP request when targeting es2015 with KTORKT-67355
KJS / ES6: 'super' in lambda with enabled-Xir-generate-inline-anonymous-functions
leads to JS errors
Libraries
KT-70196
Introduce ExperimentalUuidApi annotation for marking Uuid API
Native
KT-70166
Native: EXC_BAD_ACCESS on watchOS when using DispatchersKT-69246
K2: linkPodDebugFrameworkIosArm64 takes 15 (!!) times longer
Native. Runtime
KT-70043
Native: EXC_BAD_ACCESS on watchOS when using Random
Tools. Compiler plugins. Serialization
KT-70516
KxSerialization:@KeepGeneratedSerializer
and sealed class cause initialization error
Tools. Gradle. JS
KT-70077
[2.0.20-Beta2] KGP reports confusing warnings about js/wasmJS source sets
Tools. Wasm
KT-70220
K/Wasm: Upgrade NPM dependencies
Kotlin 2.0.20-RC
2.0.20-RC
Analysis. API
KT-69630
KAPT User project builds with KAPT4 enabled fail with Metaspace overflow
Backend. Wasm
KT-69876
K2 Compile exception: Only IrBlockBody together with kotlinx serializationKT-69529
compileProductionExecutableKotlinWasmJs FAILED: No such value argument slot in IrConstructorCallImpl: 1 (total=1)KT-68088
Wasm: "UNREACHABLE executed at Precompute.cpp:838" running gradle task wasmJsBrowserDistribution for compose multiplatform on Windows
Compiler
KT-69494
StackOverflowError in CfgTraverserKt.getPreviousCfgNodesKT-69723
K2: code analysis taking too longKT-56880
K2. Conflicting overloads for main() isn't shown when language version is set to 2.0KT-69170
K2: "Unresolved reference" caused by generics and fun interfacesKT-70039
K2: inconsistent stability of vals of captured receiversKT-68996
K2: "Not enough information to infer type argument" caused by typealias annotation with fixed generic argumentKT-68889
K2: type variable should not be fixedKT-15388
Forbid delegated property to have external getter/setter
Compose compiler
b/351858979
Fix stability inferencing of interfaces on incremental compilationb/346821372
[Compose] Fix code generation for group optimization
JavaScript
KT-69353
KJS / d.ts: Kotlin does not export base collection classes along with their mutable collection counterparts
Libraries
KT-68025
Improve documentation for Hex
Native. Build Infrastructure
KT-69781
Kotlin/Native performance tests fail to compile with bitcode
Native. C and ObjC Import
KT-69094
LLVM 11 clang: cinterops fail with "_Float16 is not supported on this target"
Native. Platform Libraries
KT-69382
LLVM 11 clang: symbol not found when running the linker
Native. Runtime
KT-68928
EXC_BREAKPOINT: BUG IN CLIENT OF LIBPLATFORM: Trying to recursively lock an os_unfair_lock
Tools. CLI
KT-69792
Add the possibility to disable fast jar fs in K2
Tools. Gradle
KT-69809
Compose Gradle Plugin: AGP doesn't override configuration properties like traceMarkersEnabledKT-68843
Gradle: Kotlin plugin changes source set 'main' to 'null/main'KT-69837
Deprecation warning for file-based IC is issued when the property is set to true, altering the intended meaning of the message
Tools. Gradle. JS
KT-69805
YarnSetupTask does not work for custom downloadBaseUrl
Tools. Gradle. Multiplatform
KT-69311
runDebugExecutable task fails with "this.compilation" is null with enabled configuration cache
Tools. Gradle. Native
KT-69918
java.lang.NullPointerException: Cannot invoke "org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation.getTarget()" because "this.compilation" is null
Tools. Incremental Compile
KT-69042
K2: changing a Java constant won't cause Kotlin usages to recompile
Tools. JPS
KT-69204
Generate lookups in dumb mode for compatibility with ref index
Kotlin 2.0.10
2.0.10
Apple Ecosystem
KT-68257
Xcode incorrectly reuses embedAndSign framework when moving to and from 2.0.0
Compiler
Fixes
KT-69876
K2 Compile exception: Only IrBlockBody together with kotlinx serializationKT-68521
K2: Property's private setters can be bypassed when using plusAssign and minusAssign operatorsKT-68667
K2: Compiler hangs on mapNotNull and elvis inside lambdaKT-68747
K2: Long compilation time because of constraint solving when using typealias in different modulesKT-68940
K2: "IllegalArgumentException: All variables should be fixed to something"KT-68797
K2 / Native: "java.lang.IllegalStateException: FIELD" caused by enabled cachingKT-68362
False-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED for inheritor of java class which directly implements java.util.MapKT-68449
K2: "when" expression returns UnitKT-67072
K2: inconsistent stability of open vals on receivers of final typeKT-68570
K2: "Unresolved reference" in call with lambda argument and nested lambda argumentKT-69159
K2: KotlinNothingValueException in ExposedKT-68623
K2: "Only safe or null-asserted calls are allowed" on safe callKT-68193
JDK 21: new MutableList.addFirst/addLast methods allow adding nullable value for non-null typesKT-67804
removeFirst and removeLast return type with Java 21KT-68727
K2: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" caused by an enum class with default parameter in a different moduleKT-68383
K2: "Argument type mismatch: actual type is 'kotlin.String', but 'T & Any' was expected." with intersection typesKT-68546
K2: false-positive conflicting overloads error on inheriting generic type with inherited generic and non-generic member overloadsKT-68626
K2: "Conflicting Overloads" for function if inherited from generic typeKT-68351
K2: "Suspension functions can only be called within coroutine body"KT-68489
K2: WRONG_ANNOTATION_TARGET with Java and Kotlin@Target
annotation positionsKT-69058
K2: Java-defined property annotations not persistedKT-64515
K2 IDE: [NEW_INFERENCE_ERROR] in a build.gradle.kts script while applying "jvm-test-suite" plugin and then configuring targets for test suitesKT-68016
K2: Gradle repo testshould compile correctly with Kotlin explicit api mode
fails on K2KT-68575
K2:@ParameterName
annotation is not erased when inferring the type ofit
in lambdasKT-67999
K2: lost flexibility on parameters of Java SAMKT-59679
K2: Investigate extracting uncompleted candidates from blocksKT-68401
K2: "IllegalAccessError: failed to access class" caused by package private super Java type, when inferencing a common super type of if or when branches on JVMKT-68806
K/Wasm RuntimeError: unreachable on Sequence::toListKT-68455
K2: False negative UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONSKT-68538
KJS/K2: usingwhile
withbreak
inside inline lambdas leads to an endless cycleKT-68798
JVM compiler crashes on calling private expect constructor with a default parameterKT-68734
K2: enum class in KMP: Expect declarationMMKVLogLevel
is incompatible with actualMMKVLogLevel
because modality is differentKT-68674
False positive ACTUAL_WITHOUT_EXPECT in K2KT-68350
K2: "Inapplicable candidate(s)" caused by parameter reference of local class with type parameters from functionKT-68571
K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by exceptions and when statementKT-68523
K2: FileAnalysisException when using Definitely non-nullable typesKT-68339
K2: "Enum entry * is uninitialized here" caused by lazy property with enum inwhen
expressionKT-66688
K2: false-negative "upper bound violated" error in extension receiverKT-68630
DiagnosticsSuppressor is not invoked with Kotlin 2.0KT-68222
K2. KMP. False negativeExpected declaration must not have a body
for expected top-level property with getter/setterKT-64103
FirExpectActualDeclarationChecker reports diagnostic error for KtPsiSimpleDiagnostic with KtFakeSourceElementKT-68191
K2. Static fake-overrides are not generated for kotlin Fir2IrLazyClassKT-68024
K2: Gradle repo testaccessors to kotlin internal task types...
fails on K2KT-64957
K1: drop ModuleAnnotationResolver
Compose compiler
0c5a858
Fix memoization of captureless lambdas when K2 compiler is used b/340582180a8249d6
Allow memoizing lambdas in composable inline functions b/340606661
Native
KT-68094
K2/Native: Member inherits different '@Throws
' when inheriting from generic type
Tools. Compiler Plugins
KT-69187
Compose compiler for web doesn't support rememberComposableLambdaKT-68557
K2. Supertypes resolution of KJK hierarchy fails in presence of allopen plugin
Tools. Compiler plugins. Serialization
KT-68850
Compose lambda type not transformed with KGP 2 + new Compose plugin
Tools. Daemon
KT-68297
KGP 2.0 regression: JAVA_TOOL_OPTIONS is not considered in Kotlin daemon creation
Tools. Gradle
KT-69330
KotlinCompile friendPathsSet property is racy due causing build cache invalidationKT-69026
Mark AGP 8.5.0 as compatible with KGPKT-68447
ill-added intentionally-broken dependency source configurationsKT-69078
Gradle: Add option to disable FUS ServiceKT-68278
Spring resource loading in combination withjava-test-fixtures
plugin brokenKT-66452
Gradle produces false positive configuration cache problem for Project usage at execution timeKT-68242
Run tests against AGP 8.4.0
Tools. Gradle. Multiplatform
KT-68805
KMP project (re-)import took a long time for downloading platform libsKT-68248
kotlin multiplatform project fail to build on Fedora with corretto
Tools. Gradle. Native
KT-68638
KGP 2.0 breaks native test with api dependencies and configuration cacheKT-65761
Missing JDK Platform ClassLoader when compiling Kotlin native in daemon
Tools. JPS
KT-69204
Generate lookups in dumb mode for compatibility with ref index
Tools. Kapt
KT-68171
K2KAPT: boxed return types in overridden methods changed to primitives
Tools. Scripts
Kotlin 2.0.10-RC2
2.0.10-RC2
Frontend
KT-69876
K2 Compile exception: Only IrBlockBody together with kotlinx serialization
Kotlin 1.9.25
Note: This is a technical release for IntelliJ IDEA.
Changelog
Tools. JPS
KT-69204
Generate lookups in dumb mode for compatibility with ref index
Kotlin 2.0.10-RC
Changelog
Apple Ecosystem
KT-68257
Xcode incorrectly reuses embedAndSign framework when moving to and from 2.0.0
Compiler
Fixes
KT-68521
K2: Property's private setters can be bypassed when using plusAssign and minusAssign operatorsKT-68667
K2: Compiler hangs on mapNotNull and elvis inside lambdaKT-68747
K2: Long compilation time because of constraint solving when using typealias in different modulesKT-68940
K2: "IllegalArgumentException: All variables should be fixed to something"KT-68797
K2 / Native: "java.lang.IllegalStateException: FIELD" caused by enabled cachingKT-68362
False-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED for inheritor of java class which directly implements java.util.MapKT-68449
K2: "when" expression returns UnitKT-67072
K2: inconsistent stability of open vals on receivers of final typeKT-68570
K2: "Unresolved reference" in call with lambda argument and nested lambda argumentKT-69159
K2: KotlinNothingValueException in ExposedKT-68623
K2: "Only safe or null-asserted calls are allowed" on safe callKT-68193
JDK 21: new MutableList.addFirst/addLast methods allow adding nullable value for non-null typesKT-67804
removeFirst and removeLast return type with Java 21KT-68727
K2: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" caused by an enum class with default parameter in a different moduleKT-68383
K2: "Argument type mismatch: actual type is 'kotlin.String', but 'T & Any' was expected." with intersection typesKT-68546
K2: false-positive conflicting overloads error on inheriting generic type with inherited generic and non-generic member overloadsKT-68626
K2: "Conflicting Overloads" for function if inherited from generic typeKT-68351
K2: "Suspension functions can only be called within coroutine body"KT-68489
K2: WRONG_ANNOTATION_TARGET with Java and Kotlin@Target
annotation positionsKT-69058
K2: Java-defined property annotations not persistedKT-64515
K2 IDE: [NEW_INFERENCE_ERROR] in a build.gradle.kts script while applying "jvm-test-suite" plugin and then configuring targets for test suitesKT-68016
K2: Gradle repo testshould compile correctly with Kotlin explicit api mode
fails on K2KT-68575
K2:@ParameterName
annotation is not erased when inferring the type ofit
in lambdasKT-67999
K2: lost flexibility on parameters of Java SAMKT-59679
K2: Investigate extracting uncompleted candidates from blocksKT-68401
K2: "IllegalAccessError: failed to access class" caused by package private super Java type, when inferencing a common super type of if or when branches on JVMKT-68806
K/Wasm RuntimeError: unreachable on Sequence::toListKT-68455
K2: False negative UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONSKT-68538
KJS/K2: usingwhile
withbreak
inside inline lambdas leads to an endless cycleKT-68798
JVM compiler crashes on calling private expect constructor with a default parameterKT-68734
K2: enum class in KMP: Expect declarationMMKVLogLevel
is incompatible with actualMMKVLogLevel
because modality is differentKT-68674
False positive ACTUAL_WITHOUT_EXPECT in K2KT-68350
K2: "Inapplicable candidate(s)" caused by parameter reference of local class with type parameters from functionKT-68571
K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by exceptions and when statementKT-68523
K2: FileAnalysisException when using Definitely non-nullable typesKT-68339
K2: "Enum entry * is uninitialized here" caused by lazy property with enum inwhen
expressionKT-66688
K2: false-negative "upper bound violated" error in extension receiverKT-68630
DiagnosticsSuppressor is not invoked with Kotlin 2.0KT-68222
K2. KMP. False negativeExpected declaration must not have a body
for expected top-level property with getter/setterKT-64103
FirExpectActualDeclarationChecker reports diagnostic error for KtPsiSimpleDiagnostic with KtFakeSourceElementKT-68191
K2. Static fake-overrides are not generated for kotlin Fir2IrLazyClassKT-68024
K2: Gradle repo testaccessors to kotlin internal task types...
fails on K2KT-64957
K1: drop ModuleAnnotationResolver
Compose compiler
0c5a858
Fix memoization of captureless lambdas when K2 compiler is used b/340582180a8249d6
Allow memoizing lambdas in composable inline functions b/340606661
Native
KT-68094
K2/Native: Member inherits different '@Throws
' when inheriting from generic type
Tools. Compiler Plugins
KT-69187
Compose compiler for web doesn't support rememberComposableLambdaKT-68557
K2. Supertypes resolution of KJK hierarchy fails in presence of allopen plugin
Tools. Compiler plugins. Serialization
KT-68850
Compose lambda type not transformed with KGP 2 + new Compose plugin
Tools. Daemon
KT-68297
KGP 2.0 regression: JAVA_TOOL_OPTIONS is not considered in Kotlin daemon creation
Tools. Gradle
KT-69330
KotlinCompile friendPathsSet property is racy due causing build cache invalidationKT-69026
Mark AGP 8.5.0 as compatible with KGPKT-68447
ill-added intentionally-broken dependency source configurationsKT-69078
Gradle: Add option to disable FUS ServiceKT-68278
Spring resource loading in combination withjava-test-fixtures
plugin brokenKT-66452
Gradle produces false positive configuration cache problem for Project usage at execution timeKT-68242
Run tests against AGP 8.4.0
Tools. Gradle. Multiplatform
KT-68805
KMP project (re-)import took a long time for downloading platform libsKT-68248
kotlin multiplatform project fail to build on Fedora with corretto
Tools. Gradle. Native
KT-68638
KGP 2.0 breaks native test with api dependencies and configuration cacheKT-65761
Missing JDK Platform ClassLoader when compiling Kotlin native in daemon
Tools. JPS
KT-69204
Generate lookups in dumb mode for compatibility with ref index
Tools. Kapt
KT-68171
K2KAPT: boxed return types in overridden methods changed to primitives
Tools. Scripts
Kotlin 2.0.20-Beta2
Changelog
Analysis. API
Fixes
KT-65417
K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source setsKT-68882
Analysis API: RefactorKaSymbol
sKT-68689
LL API: support analysis from builtins moduleKT-67775
Analysis API: expose only interfaces/abstract classes for the user surfaceKT-68009
K2: lowering transformers of Compose compiler plugin access AbstractFir2IrLazyFunction modality, which results in null point exceptionKT-68918
collectCallCandidates works incorrectly for parenthesis invokeKT-68462
Analysis API: Integrateproject-structure
module intoanalysis-api
andanalysis-api-platform-interface
KT-69131
AA: "provideDelegate" operator is not resolved from the delegation reference in FIR implementationKT-69055
Analysis API: StabilizeKaScope
sKT-68959
Introduce KaSeverityKT-68846
Mark KaFirReference and all implementations with internal modifierKT-68845
Move KaSymbolBasedReference to resolution packageKT-68844
Move KaTypeProjection to types packageKT-65849
K2: Rename 'high-level-api' family of JARs to 'analysis-api'KT-62540
Remove uses of TypeInfo.fromString and TypeInfo.createTypeText from Kotlin pluginKT-68155
Analysis API: Add PSI validity check toanalyze
KT-62936
Analysis API: NativeForwardDeclarationsSymbolProvider is not supported for Kotlin/Native
Analysis. Light Classes
KT-68261
SLC: Constructors of sealed classes should be privateKT-68696
DropDecompiledPsiDeclarationProvider
-related stuffKT-68404
SLC: wrong binary resolution to declaration with@JvmName
Backend. Native. Debug
KT-67567
Native: after updating to LLVM 16 lldb hangs when smooth stepping
Backend. Wasm
KT-68828
Wasm test failure. expect-actual. private constructor in expect
Compiler
New Features
KT-58310
Consider non-functional type constraints for type variable which is an expected type for lambda argumentKT-57872
Improve "Public-API inline function cannot access non-public-API" check
Fixes
KT-65546
K2. implement extended checker for unused anonymous parameter in lambdaKT-60445
K2/Java: investigate possible symbol clash while enhancing Java class type parameter boundsKT-68358
@EnhancedNullability
is missing on value parameter type after inheritance by delegation with strict JSpecify enabledKT-67791
False negative "Synchronizing by Meters is forbidden" with inline value classesKT-69495
k2: inconsistent output of unsigned number in string templatesKT-67693
Implement checkers for K1 compiler which will check the usage of K2 new features and report that they are not supported in K1 compilerKT-44139
Don't report overload resolution ambiguities if arguments contain an error typeKT-69282
K2: equality of unsigned types with nullability works incorrectlyKT-69619
K2. JAVA_TYPE_MISMATCH when Kotlin out generic type used in JavaKT-68996
K2: "Not enough information to infer type argument" caused by typealias annotation with fixed generic argumentKT-69563
trying to call.source
onFirPackageFragmentDescriptor
results in exceptionKT-69611
Internal annotation FlexibleArrayElementVariance is written to output jarKT-69463
K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERS with expect/actual declarationsKT-68556
K2: false negative PROPERTY_WITH_NO_TYPE_NO_INITIALIZER on uninitialized property without typeKT-68997
K2: "No accessor found" for an inline value class when query the value of a delegated class by reflectionKT-68724
K2: "ABSTRACT_MEMBER_NOT_IMPLEMENTED" caused by open modifier on interfaceKT-68667
K2: Compiler hangs on mapNotNull and elvis inside lambdaKT-68747
K2: Long compilation time because of constraint solving when using typealias in different modulesKT-68940
K2: "IllegalArgumentException: All variables should be fixed to something"KT-69182
K2: OptIn on enum companion blocks enum constantsKT-69191
K2: "Unresolved reference" caused by nested data objectsKT-68797
K2 / Native: "java.lang.IllegalStateException: FIELD" caused by enabled cachingKT-69569
Wrong paths when one type has multiple annotated argumentsKT-63871
K2: different value ofisNotDefault
flag for property inherited from delegateKT-63828
K2: Missingsignature
metadata for accessors of properties inherited from delegateKT-68669
K2: Generate inherited delegated members after actualizationKT-69402
FirSupertypeResolverVisitor: ConcurrentModificationExceptionKT-68449
K2: "when" expression returns UnitKT-67072
K2: inconsistent stability of open vals on receivers of final typeKT-68570
K2: "Unresolved reference" in call with lambda argument and nested lambda argumentKT-69476
False negative NO_ELSE_IN_WHEN on when over intersection type with expect enum/sealed classKT-67069
K2: Delegated member calls interface method instead of fake overrideKT-63864
K2: Missing abbreviated type in metadataKT-69421
K2: Resolve changed from delegated function to java default functionKT-69392
K2: "UNSAFE_CALL": when with some variable subjects does not smartcast the variableKT-69159
K2: KotlinNothingValueException in ExposedKT-69053
K2: Unsupported intersection overrides for fieldsKT-69227
K2: "Argument type mismatch" caused by generic typealias and upper boundKT-31371
NOT_YET_SUPPORTED_IN_INLINE: incorrect error message for local inline functionKT-49473
PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' propertyKT-49474
NON_PUBLIC_CALL_FROM_PUBLIC_INLINE: specialize error message for 'inline' propertyKT-49503
SUPER_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' propertyKT-11302
On inapplicable '@JvmStatic
' annotation, highlight only the annotation, not the function signatureKT-59510
K2: do not render annotations in the deprecation diagnosticKT-68532
"This code uses error suppression for 'INAPPLICABLE_JVM_NAME'. While it might compile and work, the compiler behavior is UNSPECIFIED and WON'T BE PRESERVED"KT-68859
K2: unable to suppress only "JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE"KT-68623
K2: "Only safe or null-asserted calls are allowed" on safe call- [
KT-68364
](https://y...