Changelog
Analysis API
KT-71907
K2 debugger evaluator failed when cannot resolve unrelated annotationKT-57733
Analysis API: Use optimizedModuleWithDependenciesScope
s in combined symbol providersKT-69128
K2 IDE: "Unresolved reference in KDoc" reports existing Java class in reference to its own nested classKT-71613
KaFirPsiJavaTypeParameterSymbol cannot be cast to KaFirTypeParameterSymbolKT-71741
K2 IDE. Classifier was found in KtFile but was not found in FirFile inlibraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts
inkotlin.git
and broken analysisKT-71942
Need to rethrow Intellij Platform exceptions, like ProcessCanceledExceptionKT-70949
Analysis API: "containingDeclaration" does not work on nested Java classes in K2 implementationKT-69736
K2 IDE: False positive resolution from KDoc forvalue
KT-69047
Analysis API: Unresolved KDoc reference to extensions with the same nameKT-70815
Analysis API: Implement stop-the-world session invalidation
Analysis API. Code Compilation
KT-71263
K2 evaluator: Error in evaluating self property with extension receiver
Analysis API. FIR
Performance Improvements
KT-73017
Analysis API:FirReferenceResolveHelper.getSymbolsByResolvedImport
searches for classes even when the selectedFqName
is a known packageKT-72025
FileStructureElement: reduce redundant resolve
Fixes
KT-72148
K2: KISEWA: Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(DataClassMember) but FirArgumentListImpl foundKT-66132
K2: FirRegularClass expected, but FirFileImpl found | Containing declaration is not foundKT-72196
K2. KMP. IllegalStateException: expect-actual matching is only possible for code with sourcesKT-72652
FirProvider#getContainingClass
should supportFirDanglingModifierSymbol
KT-73105
Lazy resolve contract violation (BODY_RESOLVE from BODY_RESOLVE)KT-66261
K2: Analysis API: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" with MULTIPLE_LABELS_ARE_FORBIDDEN K2 errorKT-72315
K2. KIWA on usage of always-true OR in guard conditionKT-65707
K2 IDE: unresolved calls of callables imported with typealias as qualifierKT-61516
K2: Provide an LL FIR implementation forgetContainingClassSymbol
(inFirHelpers
)KT-72853
Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirContextReceiverImpl(Source) but FirArgumentListImpl foundKT-64215
K2: do not resolve type annotations of receiver if it is used as an implicit return typeKT-64248
K2: do not resolve type annotations of context receiver if it is used as an implicit return typeKT-72821
Add assertion to diagnostic tests to check that all declarations have BODY_RESOLVE phase at the endKT-64056
K2: K2: FirLazyBodiesCalculator shouldn't calculate annotation arguments on type phaseKT-71651
K2 IDE: False positive NON_LOCAL_SUSPENSION_POINT in suspend function callKT-72164
K2. IllegalArgumentException when pre and post increment are used simultaneously in assignmentKT-71174
Illegal scope usedKT-72407
FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessingKT-72228
K2: Reformat doesn't work in project with Kotlin2.0.21
KT-72308
getOrBuildFir returns null for this expression for plusAssign operatorKT-71348
K2: KotlinIllegalStateExceptionWithAttachments: 'By now the annotations argument mapping should have been resolved' during code inspectionKT-72024
FirClassVarianceChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSourceKT-71746
K2 IDE.ISE: Zero or multiple overrides found for descriptor in FirRegularClassSymbol serializing/ExternalSerializer
and red code on@Serializer
(forClass) ` usage
Analysis API. Infrastructure
KT-72922
KotlinFakeClsStubsCache project leakageKT-71988
Improve scripts test coverage by LL FIRKT-64687
K2: Analysis API: migrate AbstractFirLibraryModuleDeclarationResolveTest to kotlin repo
Analysis API. Light Classes
KT-66763
K2: Get rid of context receivers in Analysis API and LL APIKT-71781
SLC: migrate SLC from KotlinModificationTrackerService to KotlinModificationTrackerFactoryKT-67963
K2: PsiInvalidElementAccessException on redeclaration of class with constructorKT-71407
K2: Do not report@JvmField
default value as PsiField initializer in K2KT-72078
K2 PSI change for constructor parameter with value class type
Analysis API. Providers and Caches
KT-73395
Analysis API:JavaElementPsiSourceWithSmartPointer
contains strong references to PSIKT-72390
Kotlin project full of red codeKT-72388
KaFirStopWorldCacheCleaner: Control-flow exceptionsKT-72644
"PSI has changed since creation" reason is misleading
Analysis API. Standalone
KT-70346
Analysis API Standalone: Remove the custom class loader option in Standalone session creation
Analysis API. Stubs and Decompilation
KT-69398
K2 IDE: SOE on editing top level private variable nameKT-72897
Analysis API: Smart PSI element pointers forKtEnumEntry
stubs cannot be restoredKT-71565
KtClassOrObject should use isLocal from greenStub
Analysis API. Surface
New Features
KT-70301
Analysis API: 'KaSamConstructorSymbol' does not allow to find the constructed SAM typeKT-68236
Analysis API: addisExternal
property for KtPropertySymbolKT-68598
Analysis API: missed getClassLikeSymbolByClassId API
Performance Improvements
KT-60486
Analysis API: optimize KaExpressionTypeProvider.returnType for simple cases
Fixes
KT-72099
Analysis API: implement an API to retrieve default importsKT-70356
analyzeCopy with IGNORE_SELF cannot find private membersKT-66783
Analysis API:KtFirSymbolProvider
creates symbols when given PSI from unrelated modulesKT-72937
Migrate KaFirReceiverParameterSymbol to KaFirSymbol/KaFirKtBasedSymbolKT-70243
K2 IDE: PsiMethod.callableSymbol returnsnull
for constructorKT-66608
SupportOperatorFunctionChecks#isOperator
in AAKT-73068
Analysis API: AKaFirJavaFieldSymbol
for a static Java field is open instead of finalKT-73055
Get rid of the deprecated Analysis API APIKT-65065
ProvideKtTypeReference#getShortTypeText()
KT-63800
AA: this reference shortener doesn't simplify labelKT-72793
Analysis API: 'expressionType' returns raw type for typealiased constructors callsKT-72658
resolveToCall
doesn't work forKtSafeQualifiedExpression
KT-69930
K2 IDE: Kotlin/JS project: ISE: "Unsupported type DYNAMIC_TYPE"KT-71373
Make KaSessionProvider the internal APIKT-71869
KaClassSymbol.superTypes for kotlin.Any contains kotlin.Any itself (K1-only)KT-64190
K2 IDE: Analysis API: KDoc link leads to a function instead of interfaceKT-72075
defaultType
should be available forKaClassifierSymbol
instead ofKaNamedClassSymbol
KT-72002
Analysis API: psi KaTypeParameterSymbol for default Java constructor is null
Apple Ecosystem
KT-66894
XCFramework task fails when name passed to xcframework DSL is different from framework's nameKT-65675
XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworks
Backend. Native. Debug
KT-73306
Native: add a way to specify a dir for the debug compilation unit fileKT-68536
Native: bridges and trampolines affect stepping in the debuggerKT-72398
Native: useDW_AT_trampoline
forobjc2kotlin_*
functions instead ofKonanHook
inkonan_lldb.py
Backend. Wasm
KT-72232
Wasm, IC: Compilation exception on renaming of fileKT-72223
Compiler generates an invalid glue-code for externals with backquoted identifiersKT-73015
[Wasm, IC] Implement possibility for readonly IC cacheKT-71763
K/Wasm: compiler generates incorrect code for is check on JsAnyKT-72156
custom-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-67034
Warning when a property hides a Java field from superclassKT-71092
Native: Write out used dependenciesKT-71094
Kotlin/Native incremental compilation: fail compilation if cache build failedKT-71569
Improve diagnostic precision for OPT_IN_ARGUMENT_IS_NOT_MARKER
Performance Improvements
KT-45452
K/N optimization: inline simple functions that aren't marked withinline
keywordKT-64898
K2: toFirProperty call in PsiRawFirBuilder forces AST loadingKT-71673
Consider making EnhancementSymbolsCache. enhancedFunctions using simple cacheKT-71973
KtPsiUtil#getEnclosingElementForLocalDeclaration shouldn't iterate over directories
Fixes
KT-72222
Context parameters parsing & resolution part 1KT-71767
Generate default compatibility bridges in -Xjvm-default=all/all-compatibility modeKT-70233
Implement a deprecation error for FIELD-targeted annotations on annotation propertiesKT-72996
false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operatorKT-68131
K2: build Grazie monorepo main branchKT-73339
K2: "VerifyError: Bad type on operand stack" because of missing implicit cast on generic field receiver with star projectionKT-72585
K2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace top-level type with star projection: SKT-73202
Annotation on getter breaks the smartcast stabilityKT-67480
K/N: a separate inlining phase after the loweringsKT-73399
compile-time JVM codegen failure on a KProperty argument of a KSuspendFunction parameterKT-72281
K/N: "Failed to wait for cache to be built"KT-73049
Kotlin Debugger: CNFE on evaluating local function inside lambdaKT-72725
KMP: Unsupported actualization of inherited java field in expect classKT-72814
FIR: don't use function references in FirThisReferenceKT-73143
Context parameters resolution leftoversKT-71425
IR Inliner: investigate return type of an inlined blockKT-71649
K2: Put operator on mutableMap<T?, V>() causes crashes on null keyKT-72930
K2 IDE / Kotlin Debugger: ISE “couldn't find inline method” on evaluating internal inline function from main module in test moduleKT-73095
K2: "Failed to find functional supertype for ConeIntersectionType"KT-70366
K2: "KotlinIllegalArgumentExceptionWithAttachments: Failed to find functional supertype for class "KT-73260
Rename context receivers to context parameters in frontendKT-73375
K2/JVM: -Xuse-type-table generates incorrect metadata for local delegated propertiesKT-72470
Annotations on effect declarations are unresolvedKT-73146
Context parameters CLI & diagnosticsKT-71226
K2 Evaluator: Code fragment compilation with unresolved classes does not fail with exceptionKT-72409
False negative "Type parameter is forbidden for catch parameter"KT-72723
K2: Replace unused FIR properties required by inheritence with computed propertiesKT-73251
Warn users about removal of context classes and constructorsKT-72246
Exception from FirReceiverAccessBeforeSuperCallChecker on red codeKT-47289
No error on companion object inside inner class in enum constructor callKT-46120
No error reported when Java interface method is implemented by delegation to Java class where corresponding method has different generic signatureKT-72746
K2: No IR overriddens generated for Nothing.toStringKT-70389
K2: StackOverflowError at org.jetbrains.kotlin.fir.resolve.calls.CreateFreshTypeVariableSubstitutorStage.shouldBeFlexibleKT-72537
[FIR Analysis] 'IllegalArgumentException: source must not be null' when typing '++++' (four pluses)KT-73010
K2: RefactorDispatchReceiverMemberScopeTowerLevel.processMembers
KT-72924
Extension property declaration shouldn't be possible in whenKT-72618
Cannot define operator inc/dec in class contextKT-72826
UNUSED_LAMBDA_EXPRESSION compiler warning missing in K2KT-25513
Report compilation error when in generated JVM bytecode there is a need for CHECKCAST to inaccessible interfaceKT-73153
K2: Standalone diagnostics on type arguments are not reportedKT-71252
JVM: Set the proper visibility to backing fields of lateinit propertiesKT-73213
K2: Initialize outer type parameter refs for inner (local) type aliases during FIR buildingKT-73215
Set up isInner property for inner type aliases during FIR buildingKT-73088
K2: Introduce NestedTypeAliases experimental featureKT-73192
K2: FirJavaField has incorrect modalityKT-60310
K2: introduce FirErrorContractDescription to distinguish unresolved contract from error oneKT-73008
K2: Resolve nested type aliases in derived classesKT-73009
K2: Treat nested type aliases as classes during supertypes resolution (they are not inner by default)KT-59886
K2: Disappeared ERROR_IN_CONTRACT_DESCRIPTIONKT-72839
Rewrite processConstraintStorageFromExpression using resolution atomsKT-73147
Context parameters FIR2IR supportKT-72789
Fix inconsistent IR produced by ScriptsToClassesLowering for script instance featureKT-66711
K2: INITIALIZER_TYPE_MISMATCH is reported on the whole lambda instead of RETURN_TYPE_MISMATCH on each return expressionKT-73011
K2: Allow overloads resolution for callable references based on expected type variable with constraintsKT-73031
K2: Callable reference unresolved inside elvis with a complex function typeKT-66161
K2: False-positive REDUNDANT_VISIBILITY_MODIFIER for protected modifier in private classKT-73065
CCE with context receiversKT-68768
K2: unsuccessful inference fork with jspecify annotationsKT-72345
K2: Method 'get' without@Override
annotation not calledKT-72040
Extra checkers: false-positive unused parameter warnings on anonymous lambda parametersKT-69981
K2: Refactor ResolutionMode.WithExpectedType.expectedType to be a ConeKotlinTypeKT-70507
Should parentheses prevent from plus/set operator desugaring?KT-68363
ABSTRACT_MEMBER_NOT_IMPLEMENTED
diagnostic reported only for the first not implemented functionKT-72105
JVM: typeOf() result is sometimes incorrectly optimized to null in bytecodeKT-72813
FIR: fix containing declaration for annotations of a receiver parameterKT-72552
AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped typesKT-71751
K2: Skipping code in last statement of lambdaKT-72863
K2: failed compilation for a context receiver with an annotated typeKT-68984
K2: Typealiased SAM constructors resolve to the expanded interfaceKT-57471
K2: Wrong diagnostics for named lambda argumentsKT-69560
Tidy up test data that affected byPrioritizedEnumEntries
orProperUninitializedEnumEntryAccessAnalysis
featuresKT-72894
"Placeholder projection cannot be mapped." error from resolve when using placeholder in a typealiasKT-61175
K2: FirReceiverParameter does not extend FirDeclarationKT-70886
FIR/AA: Reduce strong memory footprint of cached symbol names providersKT-72238
Argument type mismatch in builder inside extension function after ?:KT-72738
Simplify naming scheme for function referencesKT-72340
K1/K2 difference in de-duplication of OPT_IN_USAGE and OPT_IN_TO_INHERITANCEKT-61272
Frontend: error message "feature ... is experimental and should be enabled explicitly" does not explain how to do itKT-72664
K2: Function type kind is not propagated for parameters of incomplete callsKT-64247
K2: FirContextReceiver does not extend FirDeclarationKT-67383
Incorrect optimisation when optimising for loop with UByteKT-70975
K2: Confusing INVISIBLE_REFERENCE message when accessing nested class in private-in-file classKT-72743
CCE inFirUninitializedEnumChecker
:FirPropertySymbol
cannot be cast toFirEnumEntrySymbol
KT-71708
False negative UNSUPPORTED for collection literals as trailing return valueKT-63720
Coroutine debugger: do not optimise out local variablesKT-67707
K2: CCE "ArrayMapImpl cannot be cast to class OneElementArrayMap" from FIR evaluatorKT-71966
Seemingly bug in SupertypeComputationSession#breakLoopForKT-17455
Confusing error message "There's a cycle in the inheritance hierarchy for this type" when outer class inherits nested classKT-71119
K2: "AssertionError: Should be primitive or nullable primitive type" caused by comparing Double/Float and Any successor typeKT-57527
K1/K2: "IllegalArgumentException: Some properties have the same names" with inline classKT-57851
Wrong ValueClassRepresentation inside value classKT-67998
K2: CANNOT_INFER_PARAMETER_TYPE on incomplete call inside if in a Java SAMKT-71961
K2 debugger evaluation ClassCastException in IrElementsCreationUtilsKt#createFilesWithBuiltinsSyntheticDeclarationsIfNeededKT-72504
OptimizeKotlinLocalVirtualFile.isDirectory
for parent virtual filesKT-71399
Kotlin Script: NPE on type resolveKT-69283
Incorrect synthetic line numbers when inlining suspend funsKT-57696
Deprecate JvmDefault annotation with level HIDDENKT-52929
Java cannot extend instantiations of generic Kotlin collections in the presence of instantiated Kotlin subclassesKT-71885
K2: confusing message when lateinit var is assigned onceKT-69920
K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilationKT-55894
NI: Compile errors for out-projected types are more cryptic than previouslyKT-72231
K2: NONE_APPLICABLE instead of NAMED_ARGUMENTS_NOT_ALLOWED for non-Kotlin functions with overloadsKT-72422
KMP: False-positive report of ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT on SublcassOptInRequiredKT-72257
'javaClass' method cannot be evaluated in Kotlin project itselfKT-69407
K2: Compiler crash (Shouldn't be here) due to unresolved reference in FirProjectionRelationCheckerKT-72408
Introduce new TYPE_VARIANCE_CONFLICT diagnosticsKT-71508
JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported when java class is inherited from an effectively private classKT-72177
K2: Argument type mismatch when using star projectionKT-72245
K2: When Java source roots are passed by file, fully qualified deep packages are unresolvedKT-63923
Confusing error messages for TYPE_MISMATCH from inferenceKT-57708
Unclear TYPE_MISMATCH messages in certain situations with genericsKT-72178
K2: "Unexpected FirPlaceholderProjectionImpl" exception when using "_" as key type in EnumMapKT-62455
"NullPointerException" with 'multi-field value class'KT-72302
K2: no error on type operator in annotation parameter default valueKT-72212
[Scripting] Guava dependency is not packaged correctlyKT-71662
PCLA: a type variable is not fixed on demand to a type containing a not-fixed type variableKT-72229
K2: Change LV of ProhibitConstructorAndSupertypeOnTypealiasWithTypeProjection to 2.2KT-70256
K2: Check forMISSING_BUILT_IN_DECLARATION
not only for JVM but for all platformsKT-71752
K2: Absent non-null check for platform typesKT-72154
Dokka fails withnot array: KClass<out Annotation>
on Kotlin 2.1.20-dev with@SubclassOptInRequired
KT-72173
K2: simple object names from root package are resolved without imports in non-root packages when used as valuesKT-71480
JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported while java object isn't createdKT-60034
K2: Introduced NO_GET_METHODKT-72199
K1: Match the shape of references to synthetic Java properties to the shape of their gettersKT-15672
Improve diagnostics for accessing Enum companion object from enum constructorKT-71321
K2: ClassCastException caused by missed type mismatch when passing a method referenceKT-71959
NO_VALUE_FOR_PARAMETER should use actual lambda parameter nameKT-69985
K2: simple classifier names from root package are resolved without imports in non-root packagesKT-70139
Remove dependencies of debugger on K1 and old JVM backendKT-72142
PSI: unrelated enums are treated as equivalentKT-71943
K2: IAE "source must not be null" in FirJvmModuleAccessibilityQualifiedAccessCheckerKT-71753
PCLA: false-negative operator ambiguity error on fixing a type variable on demand for an operator assignmentKT-70844
K2 IDE: deprecated marker shouldn't highlight not deprecated type argumentKT-70854
K2 IDE: annotation on delegation causes illegal argument exceptionKT-56901
NI: Missing error on passing star-projection to reified type argumentKT-70856
K2: IllegalStateException: Non-empty unresolved argument listKT-71897
K2: Don't erase in projections in SAM conversion if -Xsam-conversion=class like in K1KT-66464
IntroduceisInlineable
parameter forFunctionTypeKind
KT-71590
K2: false alarm fromUselessCallOnNotNullChecker
KT-71919
Wrapped ProcessCanceledException in GenerationState#loadClassBuilderInterceptorsKT-70922
PSI for KtPropertyAccessor is inconsistent with KtNamedFunctionKT-28598
Type is inferred incorrectly to Any on a deep generic type with out projectionKT-71490
K2: missing REDUNDANT_ELSE_IN_WHENKT-36107
Remove deprecated mod operator conventionKT-71166
Generic synthetic property is unresolved when parameterized with UnitKT-71738
K2: False negative REDECLARATION inside object expressionKT-59908
K2: Disappeared RECURSIVE_TYPEALIAS_EXPANSIONKT-69937
Define & enforce user-friendly terminology for extended checkersKT-68834
Parentheses don't influence calls of any convention operators (except invoke operator) after safe navigation operator
Compose compiler
b/378697545
Avoid using ComposableSingletons inside public inline functionsb/376148043
Use remember function source key for intrinsic rememberb/345204571
Remove IR offsets for conditions generated by Compose compilerb/376058538
Fix stack overflow when inferring stability of indirect generic loopb/339322843
Transform @composable property delegate references
IDE
KT-59445
Recursion detected on input: JavaAnnotationImpl
IR. Actualizer
KT-68830
Compiler crash on missing actual classKT-71809
Kotlin-to-Java direct actualization: the property isn't actualized by overridden getterKT-71817
Actualization of static members is broken for non-JVM platforms
IR. Inlining
Fixes
KT-73987
Cherry-pick the fix for KT-73482 to 2.1.20-Beta1KT-72915
UseLoweringContext
instead ofCommonBackendContext
for the first stage of compilationKT-73101
Try to unboundJsIntrinsic
fromJsIrBackendContext
KT-73110
Unbind JS version ofSymbols
fromSymbolTable
KT-73108
Unbind JS version ofSymbols
from contextKT-71864
[JS] Run IrValidator as the first lowering in 1st compilation phaseKT-73103
SwitchInlineCallableReferenceToLambdaPhase
to useLoweringContext
KT-73098
UseLoweringContext
forNativeInlineFunctionResolver
KT-73096
ChangeLateinitLowering
to useLoweringContext
instead ofCommonBackendContext
KT-71141
Merge lateinit-related loweringsKT-73099
UseBackendContext
for theJsCodeOutliningLowering
KT-73097
Try to useBackendContext
forLocalDeclarationsLowering
KT-73035
Remove field of type SymbolTable from SymbolsKT-72919
MoveJsCommonBackendContext.coroutineSymbols
intoSymbols
KT-72916
DropsymbolTable
reference fromBuiltinSymbolsBase
KT-72912
RewriteandAllOuterClasses
located inFunctionInlining
KT-72910
MoveisSideEffectFree
to theSymbols
KT-72907
ExtractSharedVariablesManager
fromBackendContext
KT-72905
UnbindKonanSharedVariablesManager
fromKonanBackendContext
KT-70961
[K/N] Test IR inliner on 1st stage with box testsKT-72884
Internal error in body lowering: IllegalStateException: Can't inline given reference, it should've been loweredKT-72920
Dropcontext
parameter fromJsCommonCoroutineSymbols
KT-72906
UnbindJsSharedVariablesManager
fromJsIrBackendContext
KT-67298
Write tests for deserialization/serialization of unbound IRKT-69681
IR: Report warnings on exposure of private types in non-private inline functionsKT-72521
Kotlin/Native: java.lang.AssertionError: kfun:androidx.compose.runtime#access$<get-androidx_compose_runtime_ProvidedValue$stable>$p$tComposerKt(){}kotlin.IntKT-67220
Drop caching of deserialized/lowered inline functionsKT-72623
Don't generate synthetic accessors in files other than the one being loweredKT-71859
[K/N] Run IrValidator as the first lowering in 1st compilation phaseKT-67292
Handling assertions before the IR inlinerKT-70423
KLIB: SyntheticAccessorLowering - generate static factory functions instead of synthetic constructorsKT-69765
Add language feature to enable IR inliner in K2 1st phase
IR. Interpreter
KT-71903
[K/N] Find a way to set up a synchronization point for the IR interpreterKT-66450
IR interpreter can't handle entries of lowered enumsKT-71971
K2 evaluator error on casting object of value type
IR. Tree
Performance Improvements
KT-72211
Refactor IrValidator to speed up
Fixes
KT-73221
Migratecompiler.ir.actualization
to new IR parameter APIKT-73219
Migratecompiler.tests-compiler-utils
to new IR parameter APIKT-73194
[IR] Consider moving platform-independent funs from SymbolLookupUtils to SymbolFinderKT-73218
Migratecompiler.tests-common-new
to new IR parameter APIKT-73227
Migratejs:js.tests
to new IR parameter APIKT-73258
[IR] Separate new lookup functionality from IrBuiltinsKT-73063
[JS][Wasm] Simplify ExpectDeclarationsRemoveLoweringKT-73350
Migrate:native.tests:klib-ir-inliner
to new IR parameter APIKT-67545
Autogenerate DeepCopyIrTreeWithSymbolsKT-68992
Fix IR serializer to handle IR with unbound symbolsKT-64866
Support deserializing and serializing unbound IRKT-72619
[IR] Steer checks for vararg types with new test directiveKT-69498
[IR] Merge twoIrTypeUtils.kt
sourcesKT-72376
Disable vararg types checking in org.jetbrains.kotlin.fir.pipeline.ConvertToIrKt#runMandatoryIrValidationKT-69454
[IR] Check vararg types in IrValidatorKT-68314
Remove IrBuiltins from IrModuleKT-71944
Move IR lowering phase descriptions to kdocKT-71826
stdlib fails to compile with-Xserialize-ir=all
JavaScript
Performance Improvements
KT-72180
Fix problems with memory spikes during JS Codegen/Box tests
Fixes
KT-58797
Optimize the code generated for objects on JS and Wasm backendsKT-70778
Kotlin Js companion is undefined in production buildKT-70533
KJS: changed string concatenation behavior in 2.0KT-71949
K/JS: investigate test failures in MPP codegen tests with friend dependenciesKT-43567
KJS: toString() method and string interpolation of variable produce different codeKT-71857
[JS] Add new step to codegen tests for IR inliner invocationKT-14013
JS toString produces different result for nullable/non-nullable ref to the same arrayKT-70803
Investigate generating call with invalid argument count in Js BackendKT-72200
Remove legacy JS test executorsKT-68332
Remove legacy Nashorn script engineKT-39337
KJS: remove LabeledBlockToDoWhileTransformation and related thingsKT-72732
KJS / ES6: "SyntaxError: 'super' keyword unexpected here" with enabled-Xir-generate-inline-anonymous-functions
and disabled arrow functionsKT-71821
K/JS tests are failing with coroutines flow and turbine on timeoutKT-70227
Remove JS from theorg.jetbrains.kotlin.test.TargetBackend
enumKT-71855
ES6ConstructorLowering sets extensionReceiver to a function without extension receiverKT-70226
Delete JS tests that were only run with the legacy JS backend
KMM Plugin
KT-66458
KMM Wizards: Get rid of deprecated 'kotlinOptions'
Klibs
KT-72627
IrInstanceInitializer is always deserialized having kotlin/Unit typeKT-71500
Improve "incompatible ABI version" error messageKT-72965
Ignore subclassOptInRequired constructor warningKT-69309
Separate pure KLIB tests from Kotlin/Native testsKT-71917
[JS] Make it possible to run IR lowerings before serializing to KLIBsKT-68756
[K/N] Make it possible to run IR lowerings before serializing to KLIBsKT-72333
Ensure KLIBs with old local signatures (< 2.1.20) are mutually compatible with KLIBs with new local signatures (>= 2.1.20)KT-71633
[2.1.0] Suspicious "Argument type mismatch" errorKT-71333
KLIB cross-compilation: Add additional tests
Language Design
KT-11914
Confusing data class copy with private constructor
Libraries
KT-71606
Provide Atomic and AtomicArray builtins in a bootstrap compilerKT-73064
Samplification of the Optional extensions documentationKT-73291
Uuid.random() requires security context in WasmJsKT-72492
Improve String.toFloatOrNull performanceKT-54606
Print program name in Kotlin/Native executablesKT-61184
Drop redundant@Suppress
from some classes in stdlib. After stdlib migration to K2KT-72380
Incorrect Duration parsing with extra leading zeros in components and multiple signsKT-70695
Float/Double.isFinite can be optimizedKT-31880
UUID functionality to fix Java bugs as well as extend it
Native
KT-71976
[Native][KLIB Resolve]: compilation error if libraries have the sameunique_name
and the strategy is allow-all-with-warning or allow-first-with-warning
Native. Build Infrastructure
KT-72063
Jars usingnative
in their name are incompatible with JPMSKT-70990
Kotlin/Native: fix stdlib building taskKT-71820
Update the coroutines version used in kotlin-native build infrastructureKT-71261
Kotlin/Native: enable gradle caching for runtime building tasks
Native. ObjC Export
KT-72673
Native: objc2kotlin "virtual" bridges have no debug info
Native. Swift Export
KT-72703
Translate valueOf into static funcKT-72102
Create test infra for swift export in IDEKT-72096
Create module for swift-export-in-ideKT-71898
Swift Export: support List in overrides
Tools. CLI
KT-69384
Add a way to force colored compiler diagnostic outputKT-70179
K2: Building a file with kotlin-test-junit without junit does not include annotationsKT-41756
Sanitize stack trace in 'kotlin' runner CLI script
Tools. Compiler Plugin API
KT-71212
Allow compiler plugins to write custom data to declarations metadata
Tools. Compiler Plugins
KT-53563
Kotlin Lombok: Support@SuperBuilder
KT-73366
Migrate parcelize sources to new IR parameter APIKT-72824
Kotlin power-assert plugin StringIndexOutOfBoundsExceptionKT-71547
Lombok Compiler Plugin Does Not Support@Builder
on ConstructorsKT-58695
Lombok Builders's subclassing leads to 'Unresolved reference'
Tools. Daemon
KT-70556
Add support for SourcesChanges.ToBeCalculatedKT-72530
The daemon has terminated unexpectedly on startup attempt #1 with error code: UnknownKT-72373
Fix naming for the new daemon symbols added after KT-69929
Tools. Fleet. ObjC Export
KT-73237
ObjCExport: immutable property translated as mutable
Tools. Gradle
New Features
KT-72320
Gradle Plugin Diagnostics Reporter: add emojis to increase visibilityKT-71603
Introduce KotlinJvmExtension and KotlinAndroidExtensionKT-70383
KotlinJvmFactory registerKaptGenerateStubsTask() function should also request compilation task providerKT-71602
Introduce KotlinTopLevelExtension
Performance Improvements
KT-68136
Gradle: improve classloaders cache evictionKT-69613
Remove usages ofgetCanonicalPath
andgetCanonicalFile
in plugins codeKT-65285
Use uncompressed Klibs
Fixes
KT-62273
Use new FUS plugin in KotlinKT-72495
Warn about kotlin-compiler-embeddable loaded along KGPKT-71549
K2: NoSuchMethodError: org.jetbrains.kotlin.incremental.storage.ExternalizersKt.saveToFile with dependency lockingKT-73728
'generatePomFileForMavenPublication' creates pom with dependencies with 'unspecified' versionKT-73795
Fix failing checkNodeJsSetup test on WindowsKT-72383
Compatibility with Gradle 8.11 releaseKT-72394
ProjectDependency.getDependencyProject() is deprecated in Gradle 8.11KT-72385
Compile against Gradle API 8.11KT-71711
KGP: Kotlin Stdlib is leaking when KGP is applied in buildSrcKT-73128
Apply Kotlinlang template for partial HTMLsKT-58858
Add KDoc documentation for Kotlin Gradle plugin APIKT-73076
Kotlin Gradle Plugin API Reference: adjust settingsKT-65565
Remove deprecated common platform plugin idKT-72963
Remove deprecated KotlinPlatformAndroidPluginKT-70150
Android Kotlin Compile Task has ClassPath BackwardsKT-72651
Unable to usetarget
for KotlinBaseApiPlugin.createKotlin(Jvm/Android)Extension()KT-72467
kotlin.sourceSets extension not added for KotlinBaseApiPlugin.createKotlinAndroidExtension()KT-72303
KGP 2.1.0-Beta2 broke compatibility with KSPKT-71405
Compose compiler gradle plugin: project.layout.file can't be used as a value of the 'stabilityConfigurationFiles' optionKT-71948
KotlinJvmFactory : get rid of replaces with TODO()KT-72092
Gradle: use packed klib variant as the default when no packaging attribute is present
Tools. Gradle. JS
KT-72175
JS, Wasm: Deprecate non-Provider API in JS infrastructure extensionsKT-72874
KJS: NodeJsRootExtension: "'download: Boolean' is deprecated. Use download from NodeJsExtension (not NodeJsRootExtension) instead You can find this extension after applying NodeJsPlugin. This will be removed in 2.2"KT-72872
Js, Wasm: downloadBaseUrl in NodeJsEnvSpec could not be disabled
Tools. Gradle. Multiplatform
Fixes
KT-72112
KotlinNativeLink task fetches configuration that might not existKT-72068
Distribution for klib cross-compilation is not downloaded during compile tasksKT-72488
Unify freeCompilerArgs property in swiftExport and compilerArgsKT-71074
Optimize Granular Metadata Dependencies Transformation for Import after adding support for Project IsolationKT-71130
Enable Isolated Projects support by default for KMPKT-61816
Remove Legacy Multiplatform Gradle PluginKT-57280
Expose Kotlin Project Structure metadata via consumable configurations instead of accessing all gradle projects directlyKT-64998
Granular Metadata Dependencies Transformation is not compatible with Project IsolationKT-72454
Revert changes made in KT-69899 i.e. make kotlin.android.buildTypeAttribute.keep = false by default againKT-70380
KMM App failed to consume android binary libKT-71529
Deprecate targetFromPreset API with an error
Tools. Gradle. Native
KT-72686
Add warning about Kotlin native home conflict declarationKT-62826
Show a warning when KGP and K/N versions mismatchKT-71419
Light bundle KGP IT run against a stable K/N versionKT-70558
False positive up-to-date status for CInterop tasks after changes in .h files
Tools. Incremental Compile
KT-69333
Remove built-in ABI snapshot implementation
Tools. JPS
KT-73607
JPS incremental compilation is broken after KT-71549KT-68565
K2: IllegalStateException: Source classes should be created separately before referencing
Tools. Kapt
KT-64385
K2: Enable K2 KAPT by defaultKT-71154
Kapt tests: EXPECTED_ERROR directive is checked incorrectlyKT-71776
K2 Kapt in 2.1.0-Beta1 fails withe: java.lang.IllegalStateException: FIR symbol "class org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol" is not supported in constant evaluation
Tools. Maven
KT-69231
PowerAssert: Create maven plugin for power-assert
Tools. Scripts
KT-72277
Legacy REPL implementation is still based on the old backend