Changelog
Analysis API
KT-78187
Synthetic properties not to be shown as callablesKT-72525
K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)KT-74246
KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site
Analysis API. Code Compilation
KT-78382
K2 IR lowering error when interface extends interfaceKT-73201
K2 IDE: Error while evaluating expressions with local classesKT-78164
Evaluator: '@JvmName
' annotations are not recognized in other modulesKT-76457
K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvmKT-73084
K2 evaluator cannot resolve local variables standing at the closing brace
Analysis API. FIR
Performance Improvements
KT-76490
Do not load ast during the contracts phase if no contracts presentKT-78132
Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations
Fixes
KT-72227
SOE from recursive value classKT-68977
K2 IDE: Reference to companion object through typealias in a function call does not workKT-72357
Implement partial body resolutionKT-76932
Support context parameters on dangling modifier listKT-72407
FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessingKT-77602
K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-callKT-77629
K2: NPE: "org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution"KT-76855
Analysis API:KaType.asPsiType
returnsnull
for a local inner class in dependent analysis testsKT-72718
ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-castedKT-76811
Analysis API:resolveToFirSymbol
finds aFirPropertySymbol
for aKtScript
in dependent analysisKT-73586
[Analysis API] AddlazyResolveToPhase(STATUS)
before accessing modifiers of membersKT-71135
AA: exception from sealed inheritors checker whenanalyzeCopy
KT-75534
K2 AA: "Containing declaration should present for nested declaration class KtNamedFunction" with dangling annotation on top-level anonymous functionKT-75687
K2: local variable doesn't get to the do-while scopeKT-56543
LL FIR: rework lazy transformers so transformers modify only declarations they suppose to
Analysis API. Infrastructure
KT-76809
Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element
Analysis API. Light Classes
KT-78835
Find usages of a light constructor from a class with an empty body finds usages of class as wellKT-78878
K2. Method shown as unavailable in Java when@JvmExposeBoxed
is applied (redundantly) at both class and method level in KotlinKT-78065
Support "Expose boxed inline value classes" in Light ClassesKT-78076
DLC: KotlinDeclarationInCompiledFileSearcher missed accessors if types are boxedKT-77569
SLC: annotation missing from generated no-args constructorKT-75182
K2 AA. False positive red code "Unresolved reference" to a Kotlin method in Java when Kotlin uses a value class with@JvmOverloads
KT-77564
Constructor with JvmOverloads and value class shouldn't mark regular constructors privateKT-77505
K2: find usages on java accessor methods do not detect kotlin property accessor usagesKT-76789
Annotation resolve shouldn't search through non-class membersKT-76907
Wrong equality between repeatable annotation and container
Analysis API. Providers and Caches
KT-77578
Analysis API: Performance degradation ofKaBaseResolutionScope.contains
after introduction of library restriction scopesKT-78640
Analysis API: Remove "friend builtins provider" fromFirDeclarationForCompiledElementSearcher
KT-74907
Analysis API: Apply platform-based library module content restrictions consistentlyKT-77605
AA: Leaking KaDanglingFileModule through IdeKotlinPackageProviderKT-62474
Analysis API: Improve mergeability and performance of custom search scopesKT-77022
Get rid of ExpectBuiltinPostProcessor workaroundKT-77248
Delegation ofJavaModuleResolver
is restricted toCliJavaModuleResolver
KT-76850
LLFirLibrarySession cannot be cast to LLFirResolvableModuleSessionKT-76952
Analysis API:when
exhaustiveness analysis fails for sealed classes in dangling filesKT-72390
Kotlin project full of red code
Analysis API. Standalone
KT-78638
Analysis API Standalone: Stdlib builtins are not indexed inSTUBS
deserialized declaration origin mode
Analysis API. Stubs and Decompilation
KT-77496
Support HAS_MUST_USE_RETURN_VALUE metadata flags in FirStubBasedMemberDeserializerKT-77778
Function receivers doesn't have annotationsKT-77777
Receiver annotations shouldn't be present on typesKT-77538
Support default property accessors with annotationsKT-77763
Decompiled stubs miss inline modifier for property accessorsKT-77309
Decompiled property from annotation constructor with default value should have a constant initializerKT-77168
Prefer DataInputOutputUtil for serialization/deserializationKT-77117
Flaky WRONG_ANNOTATION_TARGET diagnosticKT-76791
Function signature types are deserialized inconsistentlyKT-76947
Support functional types with context parameters
Analysis API. Surface
New Features
KT-73473
Provide KaExpressionInformationProvider.isUsedAsResultOfLambdaKT-77278
Implement psi-basedKaFirKotlinPropertyKtPropertyBasedSymbol#hasBackingField
KT-70770
KaLocalVariableSymbol: supportisLateInit
Performance Improvements
KT-78526
Get rid of redundantcheckValidity
fromwithPsiValidityAssertion
Fixes
KT-77674
Analysis API: Redundant smart cast to the original typeKT-76577
Guard KaFirStopWorldCacheCleaner from deadlocks via threads waitingKT-78820
K2: ISE "FIR element class FirErrorExpressionImpl is not supported in constant evaluation" through RedundantValueArgumentInspectionKT-75057
Analysis API: Reference to object through typealias in invoke operator call leads to original typeKT-79042
Do not restore KaTypePointer if target kind has changedKT-72421
AA: "KtReference.resolveToSymbols" returns empty list when ASSIGN_OPERATOR_AMBGUITY error is presentKT-63464
AA: KtPsiTypeProvider#asPsiType doesn't substitute kotlin.UnitKT-75913
K2: SymbolLightLazyAnnotation evaluates arguments and replaces them with constantsKT-78628
K2. Setting Receiver=true in Change Signature produces parameter of regular function type receiver instead of extension function typeKT-78278
ISE: FIR element "class org.jetbrains.kotlin.fir.expressions.impl.FirErrorResolvedQualifierImpl" is not supported in constant evaluation at org.jetbrains.uast.kotlin.internal.FirKotlinUastConstantEvaluator.evaluateKT-73184
Analysis API: KaFunctionCall.argumentMapping is unexpectedly deparenthesisedKT-73327
Cover all psi inputs with scope validity assertionsKT-78613
PSI: add binary compatibility checksKT-74013
Analysis API: Cover the API surface with@SubclassOptInRequired
annotationsKT-76614
Move the parser and lexer to a separate moduleKT-78552
KaFunctionValueParameter
is not marked asKaLifetimeOwner
KT-71152
Add back SubclassOptInRequired to classes in KaModule.ktKT-71876
Support storing parameter names inKaFunctionType
KT-77738
AA: inconsistentKaType.allSupertypes
regarding multiple iterationsKT-75358
K2 AA, KaFirVisibilityChecker: private member of anonymous object is not visible inside itKT-73723
K2 AA, KaFirVisibilityChecker: protected member of superclass is not visible from anonymous objectKT-78057
[Analysis API, K2] Context parameters are not resolved in KDocKT-73758
K2 Mode: "KaEvaluator.evaluate" does not work for simple arithmetic expressionsKT-72301
K2 AA.PSI should present for declaration built by Kotlin code
on property access syntax of generic Java getter through Kotlin subclassKT-77730
K2: Unable to get a light PSI for a nested annotation used with fully-qualified nameKT-73216
K2: unresolvable references in type parametersKT-71794
Analysis API: Types with errors have unresolved qualifiers in lambda parameters positionKT-65846
Support parameter names in functional type renderingKT-76738
K2 AA: rendering constructor of sealed class inserts protected modifierKT-77515
KaTypeProvider#receiverType
should be more tolerant to an error codeKT-77333
K2 AA: KaFirTypeProvider.getType: InvalidFirElementTypeException: For TYPE_REFERENCE with textI
, unexpected element of type: FirSuperReceiverExpressionImpl foundKT-76044
K2 AA: isFun is true for restored symbol of Java interface with several methodsKT-77264
KaTypeProvider#type
should be more tolerant to an error codeKT-77282
KaPropertySymbol: supportisDelegatedProperty
for librariesKT-77254
K2 AA: expectedType doesn't provide anything for parameter default valueKT-74777
KaVariableSymbol.hasBackingField returns incorrect result for librariesKT-77280
RenameKaPropertyAccessorSymbol#isCustom
toisNotDefault
KT-77210
Analysis API:scopeContext
shows implicit receiver with a class instance in the class constructorKT-77196
Clarify differences between KaPropertyAccessorSymbol#{isDefault, hasBody}KT-76580
K2: No expected type for the second+ vararg argumentKT-76750
K2. internal exception 'Unable to provide inlay hint' on typo in nested lambdasKT-73290
Analysis API: Improve the architecture of content scopes and resolution scopesKT-73055
Get rid of the deprecated Analysis API APIKT-70199
K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments
Backend. Wasm
New Features
KT-65721
K/Wasm: stop unconditionally exporting any main function from the root package
Performance Improvements
KT-70097
Optimize shared primitive variables in Native and Wasm
Fixes
KT-80106
devServer in Kotlin/Wasm overwrites defaults, causing missing static pathsKT-80018
K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit)KT-66072
K/Wasm: improve how exceptions work in JS interopKT-77897
WasmJs: ClassCastException when using star-projection with nullable transformation in generic extension functionKT-71533
K/Wasm + K2: no error on KClass::qualifiedName usagesKT-73931
WASM: "RuntimeError: illegal cast" with nullable genericKT-65403
[WASM] RuntimeError is thrown instead of ClassCastExceptionKT-79317
[Wasm] Do not throw CCE for ExcludedFromCodegen declarationsKT-66085
K/WASM: Runtime error is uncaught withcatch (e: Throwable)
KT-78036
K/Wasm: generate a message with "expected" and "actual" types in case of CCEKT-78384
K/Wasm: Incorrect debug info of local declarations in inline function from another fileKT-72220
Wasm: Unclear exception in case of missed dependencyKT-71691
No trace on Wasm/JS if an error occurred in initializing global variables in a file with the main functionKT-67554
[Wasm] Consider to have reference equals or/and equals for function referencesKT-71521
K/Wasm: incorrect results on equality checks for capturing property referencesKT-71522
K/Wasm: incorrect results on equality checks for function referencesKT-69570
K/Wasm: JsExport with default parameter value compiles to invalid WasmKT-71517
K/Wasm: KClass::qualifiedName for local classes and objects returns non-null valueKT-68309
WASM: Anonymous class simpleName returns "" instead of nullKT-77272
K/Wasm: Remove kotlin.wasm.internal.ClosureBox* classes from the standard libraryKT-66106
Wasm: lambda was not invoked in test lambda2.ktKT-77855
[Wasm] Improve virtual function calls speed for lambdasKT-77501
Wasm: unsigned vararg compiles to invalid WasmKT-76775
[Wasm] Inconsistent FP mod operationKT-77464
Wasm: KType.toString() has simple names even with -Xwasm-kclass-fqnKT-77465
Wasm: KTypeParamter printed without variance information
Compiler
New Features
KT-71768
Enable -Xjvm-default=all-compatibility by default to generate JVM default interface methodsKT-78374
Make indy lambda function name generation more consistentKT-45683
Allow generics in contract type assertionsKT-27090
Support contracts in getter and setter for top-level extension propertiesKT-76766
Warning is missing for wrong subclass checkingKT-71244
Incorporate existing@CheckReturnValue
annotation(s) into Kotlin's unused return value checkerKT-73256
Implementall
meta-target for annotationsKT-78792
Report warning for redundant return in expression bodyKT-32313
Support contracts for operator functionsKT-70722
Implement better Kotlin warnings for value classes and JEP 390 (Warnings for Value-Based Classes)KT-65688
Generate when-expressions over final classes via invokedynamic typeSwitch + tableswitch on JDK 21+KT-54344
Trigger the unused expression warning for interpolated strings, even when the expression may have side effectsKT-74807
Implement 'full' unused return value checker modeKT-77653
K/N: an optimization pass to remove redundant type checksKT-64477
Enhance KotlinLightParser to make it able to parse scriptsKT-74809
Support unnamed local variablesKT-72941
ANNOTATIONS_ON_BLOCK_LEVEL_EXPRESSION_ON_THE_SAME_LINE missing in K2KT-75061
Support context-sensitive resolution in type position
Performance Improvements
KT-77993
Optimize old PSI/LightTree Kotlin parserKT-78672
Consider having FirCallableSymbol.callableId null for local properties / parametersKT-77839
K2: consider not creating CallableId for value parameters / variables / fieldsKT-74981
Kotlin/Native: large binary size for iOS target in 2.1.0(LLVM16)KT-77838
K2: consider replacing LinkedHashMap with HashMap inside scopes and scope sessionKT-76698
Android Studio compose preview holds read lock 700ms for KaCompilerFacility APIKT-68677
Kotlin compilation issue when using EnumMap and Pair
Fixes
KT-79979
K2: ClassCastException when overriding extension property with delegationKT-67146
UPPER_BOUND_VIOLATED
missing on implicit type argumentsKT-76477
Kotlin/Native: fix compiler performance reporting in sources->klib and klibs->binaryKT-79866
kotlinc 2.2.0 silently emits 'NonExistentClass' instead of reporting an errorKT-78666
"Platform declaration clash" caused by indy lambda name generation which generates conflicting namesKT-80285
IJ monorepo: broken compilation after 2.2.20-RC updateKT-79442
"Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfacesKT-78589
"Class does not have member field" caused by delegation from a Java to Kotlin classKT-79816
Java Interfaces implemented by delegation have non-null return checksKT-78097
False positive NO_ELSE_IN_WHEN on sealed interface with negative is checkKT-77182
A function in a file annotated with@file
:MustUseReturnValue doesn't produce a warning when it is used from compiled codeKT-79085
Adding-Xreturn-value-checker=full
to kotlinc causes "error: conflicting overloads"KT-75268
K2: Implement the new compilation scheme for MPP (compiler part)KT-78843
FIR tree: comments within String concatenation aren't visited in 2.2.0KT-77401
[FIR]ParameterNameTypeAttribute.name
doesn't support@ParameterName
with compile-time constant property argumentKT-73611
Remove -Xextended-compiler-checks in favor of a deprecation cycleKT-79276
Dexing fails with "Cannot read field X because is null" with 2.2.0KT-79781
Missing MISSING_DEPENDENCY_CLASS when using type alias with inaccessible RHSKT-78621
false-positive type mismatch error on value of nullable type as value of platform typeKT-79547
"UnsupportedOperationException: Not supported" with inlining and value classesKT-52706
Bad signature for generic value classes with substituted type parameterKT-79519
Nested type alias is unreachable from another moduleKT-76839
False-negative MISSING_DEPENDENCY_CLASS on parameter of data class constructorKT-78352
False-positive IDENTITY_SENSITIVE_OPERATIONS_WITH_VALUE_TYPE when comparing with equality operator (==)KT-78815
Symbol not found: __ZNSt3__117bad_function_callD1Ev
error on iOS 15.5 simulator in Xcode 16.3 after update to 2.2.0-Beta2KT-25341
NOT_YET_SUPPORTED_IN_INLINE reported over anonymous object borderKT-77099
'all' annotation target is not a soft keywordKT-76478
FIR: Implement IDE-only checker for types exposed in inline functionKT-79355
Failed to fix the problem of desugaredinc
with new reverse implies returns contractKT-79277
Implies returns contract doesn't affect the return type of the function if it is in the argument positionKT-79271
Implies returns contract doesn't impact exhaustivenessKT-79218
SMARTCAST_IMPOSSIBLE for top‑level extension‑property getter despite returnsNotNull contractKT-79220
returnsNotNull contract ignored on extension function with nullable receiverKT-79354
IllegalStateException: Debug metadata version mismatch. Expected: 1, got 2 with compiler 2.2.20-Beta1 and stdlib 2.2.0KT-78479
IR lowering failed / Unexpected null argument for composable callKT-77986
K2: False negative: "Local classes are not yet supported in inline functions"KT-79076
'IllegalStateException: Cannot serialize error type: ERROR CLASS: Uninferred type' with Exposed column using recursive generic typeKT-78726
Split runPsiToIr phase into runPsiToIr and runIrLinkerKT-77672
K/N: come up with a fallback strategy for the casts optimization passKT-76365
K2: Missing ABSTRACT_SUPER_CALLKT-76585
K2: RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY is not reported inside initializers of local variablesKT-79099
K2: Do not inherit inline modifierKT-76902
Omit type-use annotations from diagnosticsKT-64499
Report error on overloading by order of context parametersKT-58988
K2: Deprecate exposing package-private parameter of internal methodKT-77199
OPT_IN_USAGE_ERROR is still absent when calling the enum primary constructorKT-72800
K2: java.util.NoSuchElementException when introduce variableKT-79056
Add experimental language version 2.5KT-17460
Diagnostics and intention on suspend function that is overriden with non-suspend one.KT-78351
Plugins: VIRTUAL_MEMBER_HIDDEN caused by FirSupertypeGenerationExtensionKT-78527
No LESS_VISIBLE_TYPE_ACCESS_IN_INLINE_WARNING is reported when a private companion object is accessed via the class nameKT-79045
FirExpectActualMatcherTransformer should not visit bodiesKT-74570
K2: Linenumber for annotation on property is present in LVTKT-74569
K2: Linenumber of annotation is present in constructor's LVTKT-64731
K2: Annotation on inline function or inside inline function is hit by debuggerKT-77756
Add experimental language version 2.4KT-78837
linkReleaseFrameworkIosArm64: Compilation failed: An interface expected but was AnyKT-78945
CONTRACT_NOT_ALLOWED is not reported for local operator functionsKT-78944
ANNOTATION_IN_CONTRACT_ERROR is not reported for operators and property accessors with contractsKT-78943
ERROR_IN_CONTRACT_DESCRIPTION is not reported for operators and property accessors with contractsKT-78932
Contracts are allowed for open and overridden property accessorsKT-77203
FIR: Consider adding destructured type to all COMPONENT_FUNCTION_* diagnosticsKT-76635
Implement Data-Flow Based Exhaustiveness SupportKT-78805
K2: False positive METHOD_OF_ANY_IMPLEMENTED_IN_INTERFACEKT-78651
No need to report LESS_VISIBLE_TYPE_ACCESS_IN_INLINE_WARNING in noinline default value lambdaKT-78849
K2: [Wasm, Fir2IR] Invalid smartcast on overloaded function callKT-78793
Make feature AllowEagerSupertypeAccessibilityChecks experimentalKT-78736
Missing [NOT_YET_SUPPORTED_IN_INLINE] diagnostics because of incorrect context updateKT-78324
K2: False negative [INCONSISTENT_TYPE_PARAMETER_VALUES]KT-69975
KDoc: cannot reference elements with names in backticksKT-78229
KDoc: unable to reference a method with spaces in the nameKT-78047
Render unnamed context parameters as _ instead ofKT-74621
Debugger: AssertionError on evaluating two suspending callsKT-78784
Improve deprecation warnings about KTLC-284KT-76826
New inference error [NewConstraintError at Incorporate TypeVariable] caused by recursive generics and nullable expected typeKT-77685
"IllegalArgumentException: Sequence contains more than one matching element"KT-78028
"FirNamedFunctionSymbol" leaks to the error message about missing infix modifierKT-77245
Add expression name to RETURN_VALUE_NOT_USED diagnosticKT-78071
False-positive NO_ELSE_IN_WHEN after variable reassignmentKT-78068
False-positive NO_ELSE_IN_WHEN after excluding enum value with inequality checkKT-71134
Consider to get rid of CapturedTypeMarker.withNotNullProjection()KT-77131
getValue/setValue can be declared with more than two/three parametersKT-78452
Drop redundant frontend structures after fir2ir conversionKT-78458
Don't populate PredicateBasedProvider if no lookup predicates are registeredKT-78440
Lambda with an implicitly runtime-retained annotation is generated via invokedynamic with-Xindy-allow-annotated-lambdas=false
KT-77709
Missing diagnostics of accessing less visible objects in inline functionKT-77577
False positive exposed type warningsKT-77095
FIR: Report warnings on exposure of references to invisible references in inline functionsKT-76981
Move exposed type checker to regular checkersKT-78252
ClassCastException whenArray<Void>
used for compile-time vararg ofNothing
KT-77713
Context Parameters cause compiler generate r8 incompatible bytecodeKT-71854
K2 IDE. False positive red code because of external annotation on a generic parameterKT-67335
K2: Infers Int instead of Long for an ILTKT-76629
K2 Mode: False positive RedundantVisibilityModifier inspection on private constructors in sealed classesKT-77728
Drop controversial experimental checkersKT-78429
K2: Property callable reference incorrectly smart-casted to intersection of property type and KPropertyKT-78509
Renamed for override copy functions are cached in scope instead of sessionKT-17417
Loops in delegation: no compilation error on non-abstract class with abstract method that never implementedKT-75033
Split JvmBackendPipelinePhase to be able to provide a custom implementation of writeOutputsKT-75831
K2: An extra "[VALUE_PARAMETER_WITHOUT_EXPLICIT_TYPE] An explicit type is required on a value parameter." for a missing parameterKT-78370
All the [something]Assign operators on dynamic return Unit as a typeKT-73950
K2 IDE / Kotlin Debugger: ISE “Fake override should have at least one overridden descriptor” on evaluation of local calss in presence of bystanderKT-78280
Implement the sourcelessKtDiagnostic
sKT-76543
Migrate psi2ir sources to new IR parameter APIKT-77716
Kotlin/Native and -Xseparate-kmp-compilation: "Compilation failed: Several functions kotlin/native/immutableBlobOf found"KT-76400
Context-sensitive resolution doesn’t work in if-else condition passed as a function argumentKT-76606
Enable 'Indy: Allow lambdas with annotations' by defaultKT-76739
Dubious argument type mismatch "actual type is 'String', but 'String' was expected" caused by wrong number of type argumentsKT-78121
Report warning on function type with multiple implicit values that's annotated with DSL markerKT-76872
Anonymous context parameters are not visible in debuggerKT-74088
Kotlin Debugger: CCE on evaluating private suspend functionKT-77301
False positive Context Parameter resolution when using DslMarkerKT-78230
Add more test cases to the holdsIn contractsKT-78111
K2: Approximation of captured star projection in function type producesFunction1<Nothing?, Unit>
in IRKT-77273
K/N: Remove the kotlin.native.internal.Ref class from the standard libraryKT-73995
JVM bytecode: Bad name for value class fieldKT-73013
Kotlin Debugger: ISE “No mapping for symbol: VALUE_PARAMETER” on evaluating callable reference to local function with closure in itKT-77665
K2: unresolved annotatation on local context parameter typeKT-77485
Add constraints logging to inferenceKT-76504
Find and deprecate actively used parts of K1 APIKT-75338
K2 Mode: False positive "Redundant assignment" diagnostic on variable captured by local functionKT-77648
K2: False negative DSL_SCOPE_VIOLATION when using named argument for lambda with annotated function typeKT-77355
Report warning on overloading by a superset of another overload's context parametersKT-77354
Report warning on overloading by a subtype of another overload's context parameterKT-78084
Unify deprecation warning messagesKT-76776
@MustUseReturnValue
doesn't affect nested scopesKT-77545
@NoInfer
on receiver type leads to false positive type mismatch when generic type is specified explicitly and closest implicit receiver is of incorrect typeKT-76772
@NoInfer
on a context parameter's type leads to a false-positive context argument ambiguity error regardless of the closest implicit values' types if there are multiple of them at the call siteKT-76771
@NoInfer
on context parameter type leads to a false-positive type mismatch when generic type is specified explicitly and closest implicit value at the call site is of a mismatching typeKT-77156
INITIALIZATION_BEFORE_DECLARATION is not reported in anonymous objectKT-78060
UNRESOLVED_REFERENCE in fp-spaceKT-67555
Debug metadata: map the Continuation label to the next executable location in fileKT-77723
Refine the message for ArrayEqualityCanBeReplacedWithEquals checkerKT-75178
Inline functions in conjunction with@JvmStatic
may result in bytecode errorsKT-77390
Prototype lazy loading of stdlib symbols in NativeKT-77921
False positive EXTENSION_SHADOWED_BY_MEMBER when member has context parametersKT-77895
false-negative error on package directives with context parameter lists (even with context parameters disabled)KT-76767
AMBIGUOUS_CONTEXT_ARGUMENT should report the name of the context parameter in addition to the typeKT-77444
K2: False negative "Unchecked cast" with casting from MutableList to MutableListKT-63348
K2: FIR2IR should properly pass expected typesKT-77627
K2: consider getting rid of NEW_INFERENCE_ERRORKT-75833
K2: Extra [ANNOTATION_ARGUMENT_MUST_BE_CONST] when passing regex-like strings as annotation argumentsKT-77547
Native: add a check that the logic looking for stdlib-related bitcode is not used when compiling sources to a klibKT-77206
RemovePARAMETER_NAME_CHANGED_ON_OVERRIDE
suppression in KMP lexersKT-77679
Update syntax-api dependency in KMP Kotlin parserKT-77705
K2: Consuming data class compiled with kotlin 1.0.5 breaks the K2 compilerKT-76583
CCE: suspend lambda attempts to unbox value class parameter twice after lambda suspendedKT-76663
KJS: KotlinNothingValueException caused by expression return since 2.1.20KT-75457
Native: cache machinery uses stdlib cache with default runtime options even if custom runtime options are supplied when partial linkage is disabledKT-77563
False-positive smart cast with captured local in init block causes NPEKT-77696
ISE "couldn't find inline method" on kotlin/Result compiled by old Kotlin versionKT-76931
K2: Annotation on do-while expression captures variables from inside the loopKT-77183
Metadata: remove multi-field value class representationKT-77678
Apply found optimization to Kotlin KMP parserKT-60127
K2: Support scripts with LightTree-based raw FIR buildingKT-76615
K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" for mixed Java/Kotlin codeKT-77220
Annotation with EXPRESSION is not allowed on lambdas in Kotlin 2.2.0KT-77656
K/N: fix the super type for local delegated propertiesKT-75907
Inference/PCLA: consider storing semi-fixed variables in inference sessionKT-77144
Implement KMP Kotlin parserKT-77352
Implement KMP Expression parserKT-76984
SYNCHRONIZED_BLOCK_ON_JAVA_VALUE_BASED_CLASS isn't reported for primitive wrapper classes instantiated within the scopeKT-67471
K2: "Unresolved reference" on incorrect term of FQ nameKT-77269
[K/N] external calls checker crashes when used with cachesKT-77205
Kotlin Debugger / Context Parameters: CCE “class FirPropertySymbol cannot be cast to class FirFunctionSymbol” on evaluating class propertyKT-74133
FIR: use EmptyDeprecationsPerUseSite consistently in symbolsKT-77100
java.lang.Void type is not ignorableKT-77491
K2: No SUPERTYPE_IS_EXTENSION_FUNCTION_TYPE when using typealiasKT-77490
Report error on contextual function type in supertypeKT-77431
Functional type with a context is allowed as an upper-boundKT-77432
Context isn't passed properly when functional type with a context is used as a type argumentKT-77417
There is no TYPE_VARIANCE_CONFLICT_ERROR when 'out' type is used in contextKT-62631
Improve expect-actual "checking" incompatibilities reportingKT-77481
Support ExpectRefinement feature in HMPP compilation schemeKT-77268
Make sure that -Xreturn-value-checker also enables -XX:UnnamedLocalVariablesKT-65719
K1/K2: Nullness defaults from subclass unsoundly applied to method in superclassKT-53836
In type-parameter declarations, recognize JSpecify annotations only on boundsKT-73658
JSpecify@NonNull
annotation on type-parameter bound prevents type-variable usages from being platform typesKT-77000
Leave ForbidInferOfInvisibleTypeAsReifiedOrVararg as a warningKT-74084
K2: False negative [NO_ELSE_IN_WHEN]KT-77451
FirLazyResolveContractViolationException for test with overridden delegateKT-77397
Report UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL when calling declaration with contextual function type in signatureKT-77137
K2: Controversial behavior allows resolving annotation arguments on a companion inside itKT-77257
Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the conditional expression to the inaccessible interfaceKT-77256
Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the functional call result to the inaccessible interfaceKT-76356
K2 evaluation fails on evaluating inline methods if there is an inline with AutoCloseableKT-73786
Evaluator: cannot evaluate inline methods with reified parameterKT-77204
Native: XCode strip command causes flaky testsKT-77351
Implement KMP KDoc parserKT-76914
compile-time failure on a type argument placeholder in a callable referenceKT-76597
False negative opt-in required on delegated constructor callKT-76667
Mark the class implementation of interface function with ACC_BRIDGE in the class fileKT-77181
K2: a nested typealias annotation observes member declarations of the outer classKT-77180
K2: Wrong scope for annotation arguments in the constructor headerKT-77287
Try enforcingsource != null
whenorigin == Source
KT-76135
K2: drop pre-1.8 language features from compiler codeKT-77231
Reflection: CCE on resuming coroutine after callSuspend if result is a generic inline class substituted with primitiveKT-77031
Investigate the actual need of deduplicating provider in HMPP compilation schemeKT-77050
Implement KMP KDoc lexerKT-77048
Implement KMP Kotlin lexerKT-77044
Consolidate, refine and update jFlex dependencyKT-77252
It is impossible to declare an unnamed variable in a scriptKT-58137
K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another moduleKT-77140
Protect ConstraintSystemCompletionMode.UNTIL_FIRST_LAMBDA with opt-inKT-76898
K2: ClassCastException when data class shadows supertype'scomponentX
method with wrong typeKT-75695
Bogus "Assigned value is never read" warning for prefix ++ operatorKT-76805
Wrong NPE occurs when assigning synthetic properties with platform types in Kotlin 2.1.20KT-77078
K2: anonymous object is wrongly allowed to implement interfaces by unsafe DelegationKT-72722
Treat 'copy' calls of a data class as explicit constructor usagesKT-77149
IllegalArgumentException: source must not be nullKT-76806
K2: AIOOBE in FirEqualityCompatibilityCheckerKT-72391
KJS: (a * b).toDouble_ygsx0s_k$ is not a functionKT-76950
K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" with nullable UByteKT-76043
Native: NotImplementedError: Generation of stubs for class org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl is not supported yetKT-77126
Transitive dependency mismatch between Kotlin Gradle Plugin and Scripting dependenciesKT-72831
ANNOTATION_USED_AS_ANNOTATION_ARGUMENT missing in some cases in K2KT-73707
Remove dependency on ":compiler:backend.jvm" from NativeKT-75499
CheckerContext#{containingDeclaration, containingFile} in checkers should return symbolsKT-76548
False positive TYPE_MISMATCH when resolving an expression with the expected type from the upper boundKT-76142
K2:@RequiresOptIn
warning does not display the custom message when using concatenated strings.KT-68699
Kotlin Debugger: UPAE “lateinit property parent has not been initialized” on trying evaluate enumValues(), enumEntries() from inlined function with reified parameterKT-63267
K2: incorrect line numbers after smart cast of an extension receiverKT-71309
Kotlin Debugger: UnsupportedOperationException on calling method with reified type parameterKT-74912
K2: Investigate irrelevant ARGUMENT_TYPE_MISMATCH on top-level lambdasKT-74657
K2: Linenumber for annotation on local variable is present in LVTKT-76749
NONE_APPLICABLE message is unreadable for stdlib context functionKT-74932
Investigate false-negative ARGUMENT_TYPE_MISMATCH on a nested anonymous functionKT-74545
Redundant TYPE_MISMATCH in variable initializer with callKT-76774
K2: Simplify ResolutionMode.WithExpectedType contractsKT-76689
Unnamed local variable with type and without initializer is allowedKT-76746
ClassCastException: class org.jetbrains.kotlin.fir.types.impl.FirUserTypeRefImpl cannot be cast to classKT-76754
K2: Compiler doesn't check annotations on array literals (as annotation arguments)KT-76674
The function isn't called from unnamed local variable initializerKT-75553
MISSING_DEPENDENCY_SUPERCLASS
andMISSING_DEPENDENCY_SUPERCLASS_WARNING
is reported at the same time on the same elementKT-76345
Enhance variable fixationKT-73348
AssertionError from isCompiledToJvmDefault on super call of suspend function with composable function parameterKT-72305
K2: Report error when using synthetic properties in case of mapped collectionsKT-73527
Prohibit (via a deprecation warning) accessing nested class through generic outer classKT-59886
K2: Disappeared ERROR_IN_CONTRACT_DESCRIPTIONKT-61227
Definitely non-nullable types cause "Any was expected" for@Nullable
parameterKT-57911
K2: Contracts are not inherited by substitution overridesKT-47398
'null' EnhancedNullability value in String-based 'when' might produce different behavior depending on whether 'when' is "optimized" or not
Compose compiler
CMP-7505
IrLinkageError: Function can not be called: No function found for symbolb/432262806
Fix target description lookupb/436870733
Prevent lambda memoization in local classes inside a composableb/432485982
Fix AbstractMethodError when overriding function with default parametersb/432262806
Use classId as FirApplierInferencer tokensb/400371006
Gate default parameters behind language versionsb/245673006
Specify fqName for classes and functions in build metricsb/254577243
Avoid printing complex expressions in compiler metricsb/394891628
Allow specifying target version of Compose runtimeb/424454512
Recreate FirApplierInferencer for each checkb/417406922
Restrict references to@Composable
propertiesb/282135108
,b/349866442
[Compose] Enable applier checking when using FIRb/307592552
Add BigInteger and BigDecimal to the list of known stable classesb/414547195
Unwrap type casts when inferring@Composable
call arguments
IR. Inlining
New Features
KT-70360
KLIBs: Uniformly handletypeOf()
calls at 1st/2nd stages of compilation
Fixes
KT-79002
[Inliner][Native][PL] Native backend fails for inline function that instantiates a class that was compiled implementing two interfaces, which turned into abstract classesKT-78137
Review & enable PL tests with enabled IR inlinerKT-72464
[Native][JS][Wasm] Non-local return through suspend conversion breaks the IR inlinerKT-69941
RewriteDumpSyntheticAccessors
lowering to test handler after moving common Native/JS prefix to KLIB compilationKT-78245
Synthetic Accessors incorrectly copies default valuesKT-76236
IncludeNativeInliningFacade
andJsIrInliningFacade
in all Native & JS test runnersKT-76512
Avoid usingoriginalFunction
insideFunctionInlining
KT-69457
[references] IR Inliner: References to inline functions are not inlinedKT-47521
Native & JS: Recursive inline fun calls -> StackOverflowErrorKT-76425
Do not store signatures of preprocessed inline functions in KLIBsKT-76763
[Inliner] Don't use attributeOwnerId to pass info from Inliner to non-JVM backendsKT-77102
[Inliner] Expression uses unlinked type parameter symbolKT-76145
Enhance error message about poisoned KLIBs in KLIB-based compilersKT-77079
IR: Report warnings on exposure of references to invisible declarations in inline functionsKT-69797
[references] Accessors for private function/constructor/property references are not generatedKT-76454
Investigate erasure of class type parameters during inlinerKT-72593
[K/N] Add NativeIrInliningFacade to CrossCompilationIdentityTestKT-70969
IR Inliner: Ensure that common prefix at 1st phase does not affect KLIB signaturesKT-75937
[IR Inliner] Umbrella for failing tests due to public inlinerKT-77295
Improve Diagnostic Message Formatting for Private API Exposure in Inline FunctionsKT-77047
Ir Ininler: crash on fake override in private class from more visible classKT-77336
[references] Synthetic accessor test for private top-level function accessed via reference fails withNo function found for symbol
KT-76761
[Inliner] non-JVM IR Inliner incorrectly uses K/JVM-specific codeKT-76712
[Inliner] No function found for symbol '/|?'KT-76711
[Inliner] Reference to function 'privateMethod' can not be evaluated
IR. Tree
KT-77508
K/JS and K/Native CompilationException Wrong number of parameters in wrapperKT-78978
PL tests: Dropadjust*forLazyIr()
hackKT-76813
IR validator: not all symbols/references are visitedKT-77596
RefinereuseExistingSignaturesForSymbols
setting in IR serializerKT-76723
IR validator: Check visibilities of annotationsKT-76405
Visit annotations in IrTypeVisitor and IrTreeSymbolsVisitorKT-78033
[PL] MergeIrUnimplementedOverridesStrategy
toPartiallyLinkedIrTreePatcher
JVM. Reflection
KT-77882
kotlin-reflect: KParameter.name returns "" instead of null for anonymous context parametersKT-77879
kotlin-reflect: toString overrides of KCallable implementations do not render context parametersKT-74529
Context parameters support in reflectionKT-52170
Reflection: typeOf<Array> gives classifier LongArrayKT-77663
Reflection: java.util.ServiceConfigurationError: "module kotlin.reflect does not declareuses
" when using kotlin-reflect in modular mode
JavaScript
New Features
KT-79222
K/JS: Allow using Long in exported declarationsKT-79394
Add the possibility to write common external declarations between JS and WasmJS targetsKT-70486
K/JS: exported exception types should extend ErrorKT-19016
Define accessors as enumerable
Performance Improvements
KT-57128
KJS: Use BigInt to represent Long values in ES6 modeKT-54689
KJS: Data class equals less efficient than manually written version
Fixes
KT-69297
Deprecate referencing inlineable lambdas injs()
callsKT-77620
Fix failing IC tests on WindowsKT-77372
KJS: NullPointerException at JsIntrinsics$JsReflectionSymbolsKT-78316
KJS: List is not exported to TypeScript declaration if wrapped in PromiseKT-79644
BigInt enabled for ES 2015 despite being an ES 2020 featureKT-79089
KJS: Could not load reporter / Cannot find module 'mocha' when running jsNode testsKT-79916
K/JS: "Uncaught TypeError" when using 'Xes-long-as-bigint' in compose-htmlKT-79050
KJS / IC: "Unexpected body of primary constructor for processing irClass"KT-79977
KJS: Long.rotateLeft returns incorrect result when BigInts are enabledKT-76093
Support new callable reference nodes in partial linkage in Kotlin/JSKT-78073
K/JS: KProperty from local delegate changes after another delegate is invokedKT-52230
KSJ IR: Applying identity equality operator to Longs always returns falseKT-6675
KotlinJS: toInt() on external Long throws errorKT-79184
K/JS: Further intrinsify BigInt-backed Long operationsKT-78701
Js and Wasm: enumValueOf does not include invalid value into an exception messageKT-55256
KJS: non-exported subclass with a no-parameter function overload doesn't compileKT-76034
passProcessArgvToMainFunction contains the node path and script pathKT-66091
KJS, WASM:AssertionError: Illegal value: <T>
in test nonReified_equality.ktKT-78169
KJS: [NON_EXPORTABLE_TYPE] with@JsExport
class if@JsStatic
companion method returns an out typeKT-57192
KJS: "Exported declaration uses non-exportable return type" caused by@JsExport
Promise with Unit typeKT-61183
KJS: "AssertionError: Assertion failed" from JsSuspendFunctionsLoweringKT-59326
KJS / IR: invalid code generated when using constructor parameter nameddefault
KT-70295
KLIB stdlib: Unify intrinsics for boxing captured variables in lambdas across non-JVM backendsKT-77021
CompilationException: Encountered a local class not previously collected on inner classes inside anonymous objectsKT-77320
KJS: Big.js times() is compiled to multiply (*) operatorKT-77430
K/JS: Remove sharedBox* intrinsics from the standard libraryKT-73267
KJS: IC: "FileNotFoundException": Build failures with Kotlin 2.1-RC and RC2KT-76912
KJS:@JsStatic
can't be used for companion objects implementing external interfacesKT-77271
KJS / Serialization: "Cannot set property message of Error which has only a getter"KT-77242
Kotlin/JS & Kotlin/Wasm backends: Artificially apply reverse topo-order after IR linkageKT-77649
KJS: es-arrow-functions requires explicit opt-in when target is ES2015KT-76235
[JS] Extra invalid linetmp_0.tmp00__1 = Options;
in testSuspendFunction()KT-76234
[JS] Extra invalid lineParent
in testNested()KT-76233
[JS] Extra invalid import line in testJsQualifier()KT-77190
Migrate JS diagnostic tests to the new CLI-based test facades (1st phase only)KT-77418
KJS: cannot debug with whole-program granularityKT-77371
[K/N][K/JS][K/Wasm] Unify visibility rules for generated default argument stubsKT-77148
KJS: "Uncaught TypeError: (intermediate value).l(...).m is not a function" during production build runKT-77193
Migrate JS irText tests to the new CLI-based test facades (1st phase only)KT-77192
Migrate JS ABI reader tests to the new CLI-based test facades (1st phase only)KT-77187
Migrate JS box tests to the new CLI-based test facades (1st phase only)KT-77027
Migrate 1st phase facades to the phased CLI infrastructure in JS testsKT-69591
KJS / d.ts: Wrong type of SerializerFactory for abstract classesKT-76027
KJS: "ReferenceError: entries is not defined": Accessing entries of an enum arbitrarily fails with println()KT-76232
Suspend contextual function with extension receiver results in wrong values at runtime in JSKT-42305
KJS / IR: "Class constructor is marked as private"@JsExport
produces wrong TS code for sealed classesKT-52563
KJS / IR: Invalid TypeScript generated for class extending base class with private constructor
Klibs
New Features
KT-78699
Compiler (JS, Wasm): warn about incompatible kotlin-test/compiler pairKT-78700
Compiler (JS, Wasm): Consider making diagnostics for incompatible kotlin-stdlib/compiler and kotlin-test/compiler pairs errors instead of warningsKT-74815
KLIB resolver can't consume metadata klibs between source sets when abi_versions divergeKT-68322
Compiler (JS, Wasm): warn about incompatible Kotlin stdlib/compiler pair
Fixes
KT-78168
K/N: "IndexOutOfBoundsException: Index 3 out of bounds for length 3" for iOS build with Kotlin 2.2.0-RC2KT-75766
PL: Error on building fake override with multiple overridden members with unbound symbols in return typeKT-75757
PL: Error on building fake overrides with unbound symbols in value parametersKT-76094
Support new callable reference nodes in partial linkage in Kotlin/WasmKT-78771
KLIBs: ImprovezipDirAs()
function that is used to produce KLIB (ZIP) archivesKT-75980
[Klib] Reduce serialized size of IrFileEntries for sparse usage of another source filesKT-78349
[Tests] Enable Partial Linkage in all testsKT-76827
KLIB cross-compilation tests: Don't use IR hashes and metadata hashes in test dataKT-76266
Move trigger of :tools:binary-compatibility-validator:check to native/native.tests/klib-ir-inlinerKT-76725
KLIB ABI export in older version: Restore legacy directoriesKT-76061
Add option for suppress warning of missing no-existent transitive klib dependenciesKT-76471
Partial linkage: add an attribute if a class is invalidKT-75192
KLIB reader tends to extract files from the KLIB archive to a temporary directory even when this is not needed
Language Design
KT-78866
Warn implicit receiver shadowed by context parameterKT-54363
Allow using reified types for catch parametersKT-32993
Contract to specify that a function parameter is always true inside lambdaKT-79308
Ability to actualize empty interfaces as AnyKT-8889
Contracts: if a given function parameter is not null, the result is not nullKT-22786
Returns are not allowed for expression-body functions and are allowed when an inline lambda is addedKT-77836
Support using context parameter of a@RestrictsSuspension
type as the "restricted coroutine scope"KT-77823
Context-sensitive resolution doesn't work for subtypes of sealed typesKT-75977
False positive unresolved_reference when resolving nested member after a type checkKT-73557
Allow refining expect declarations for platform groups
Libraries
New Features
KT-76389
Provideupdate
functions for common atomicsKT-78581
Add the KClass.isInterface property to Kotlin/JS stdlibKT-34132
Contract for ClosedRange.contains(T?) operatorKT-73853
Provide vararg constructors for Atomic Arrays
Fixes
KT-71628
Review deprecations in stdlib for 2.1KT-76773
stdlib: contextOf's type argument can be inferred via contextOf's context argumentKT-79489
Generate Stdlib API reference for webMain source setKT-79080
Annotate WasmImport and WasmExport as experimental APIKT-79121
K/Wasm annotate JS-interop API as experimentalKT-78710
kotlin.wasm and kotlin.wasm.unsafe packages are missing descriptionKT-78709
Wasm: KClass.qualifiedName KDoc should reflect the behavior on the targetKT-78704
CharSequence.subSequence and String.substring behavior with invalid indices differs between targetsKT-78705
Float.sign and Double.sign behavior for negative zero is not documentedKT-74543
Support for context parameters in kotlinx-metadataKT-78340
String.startsWith KDoc declares invalid exception conditionKT-78242
Move IrLinkageError to the common non-JVM part of the standard libraryKT-67819
Document collection interfaces contracts
Native
KT-79075
Stuck on Kotlin_getSourceInfo_core_symbolicationKT-76178
LLVM Update: symbol '__ZnwmSt19__type_descriptor_t' missingKT-78959
Xcode 26: fix GC stress testsKT-78734
Finish runtime crash dump generationKT-74662
Consider providing a way to enable stack canaries for Kotlin/Native binariesKT-77378
[macos] Loading libraries with non resolved paths runs XProtectServiceKT-61549
Kotlin/Native: remove kotlin-native/Interop/JsRuntimeKT-76563
LLVM Update: numerous "was built for newer 'macOS' version" warnings
Native. Build Infrastructure
KT-77349
Kotlin/Native: default cache for stdlib is unused
Native. C and ObjC Import
KT-79571
Xcode 26 beta 4: CInteropKT39120TestGenerated.testForwardEnum failedKT-71400
Fix disabled -fmodules testing for stdarg.h
Native. ObjC Export
New Features
KT-77488
[ObjCExport] Add explicit ObjCBlock parameter name in objc exportKT-76974
Include conflicting element in objc export warningsKT-76338
Native, ObjCExport: Replace name mangling of special method families
Fixes
KT-55648
Native: produce smaller binariesKT-78447
[ObjCExport] Add missing ERROR constructors, align with K1KT-78034
ObjCExport: primitive type extension translated as static methodKT-77781
ObjCExport: support@ObjCName
for function parameters and receiver parametersKT-77592
KMP plugin uses incorrect Swift name from ObjCName annotationKT-77625
ObjCExport: ObjCName annotation adds kotlin name swift_nameKT-77484
KotlinConf app: Invalid identifiers inObjCHeader.render
KT-77500
IllegalStateException
during generating ObjC header stubs
Native. Runtime
KT-79152
Native: unexpected thread state in kotlin::to_string
Native. Runtime. Memory
KT-78925
Crash SIGABRT on Apple Watch after updating Kotlin to 2.2.0KT-76851
Kotlin/Native: GC scheduler MutatorAssists requestAssists and completeEpoch issueKT-63143
Kotlin/Native: execute Cleaners on the finalizer thread
Native. Swift Export
KT-79105
ConcurrentModificationException During Swift Export Caused by Usage of ArrayKT-79227
Swift Export: Fix First Release IssuesKT-78947
Implement FUS for Swift exportKT-79521
'_CoroutineScope' is inaccessible due to 'internal' protection levelKT-79181
Swift Export Fails When Using T: Comparable Generic Constraint in Kotlin ClassesKT-77650
Swift export execution tests fail with caches enabledKT-77634
K/N: swift export tests started failing after hyper-existentialsKT-77290
Transitive Export on swift export can duplicate declarations
Tools. Build Tools API
KT-78415
Add a tool for performance reports analysing
Tools. CLI
New Features
KT-75812
Basic DSL for compiler arguments representation
Fixes
KT-78318
Unresolved reference when compiling kotlin/JS project on fresh masterKT-75968
Set proper lifecycle for all existing compiler argumentsKT-77445
UNRESOLVED_REFERENCE when importing classes from kotlin-stdlibKT-77030
Implement setup of HMPP sessions for KLib-based compilersKT-78578
Support for placeholder (*) and directory in-Xdump-perf
KT-78129
Compiler cannot parse -Xfragment-dependency with a comma in the pathKT-76828
Warning doesn't exist error with -Xwarning-level when the source file has no codeKT-76957
Incorrect error message when severity is set with -Xsuppress-warning and -Xwarning-level for the same diagnosticKT-76829
UnsupportedOperationException when reenabling a taking place warning with -Xwarning-levelKT-76111
kotlinc warns about org.fusesource.jansi.internal.JansiLoader call to System.loadKT-76447
Remove -Xjps compiler argument
Tools. Compiler Plugin API
KT-78279
Make the DiagnosticReporter default way for reporting in IR pluginsKT-77157
Cannot create a symbol pointer for local class generated by FirFunctionCallRefinementExtension
Tools. Compiler Plugins
New Features
KT-78038
Make jvm-abi-gen compiler plugin output classloader-friendlyKT-77339
Update kotlin dataframe dependency to 1.0.0-dev-6925
Fixes
KT-78969
[DataFrame] Provide source elements for plugin-generated classesKT-75265
PowerAssert: the result of invoke is displayed at the same level as value that can be confusingKT-78490
"AssertionError: SyntheticAccessorLowering should not attempt to modify other files" when calling protected open composable with default argumentKT-77626
K2: AssertionError: FUN LOCAL_FUNCTION_FOR_LAMBDA has no continuationKT-78671
[DataFrame] Support type parameter types in DataSchema to fix evaluate expressionKT-78439
DataFrame compiler plugin: Unresolved reference error in REPLKT-75876
PowerAssert: don't display results for assertion operatorKT-75514
[JS][Native] Add IrPreSerializationLoweringFacade to Atomicfu test runnersKT-77719
Remove suppress INVISIBLE_REFERENCE from DataFrame pluginKT-77691
Kotlin DataFrame plugin: IR and FIR anonymous functions have inconsistent receiversKT-77455
kotlin-dataframe plugin throws NoClassDefFoundError in IDEKT-77437
Kotlin DataFrame: Add configuration key to disable top level properties generatorKT-74366
Delete kotlin-android-extensions compiler pluginKT-73364
Migrate atomicfu sources to new IR parameter API
Tools. Compiler plugins. Serialization
KT-79695
Serialization does not exclude field-less properties in 2.2.20-Beta2KT-73365
Migrate kotlinx-serialization sources to new IR parameter API
Tools. Gradle
New Features
KT-76421
Stabilize klib cross-compilation on different platformsKT-77107
Introduce Kotlin ecosystem plugin
Fixes
KT-80172
Error message changes depending on the order of applying 'org.jetbrains.kotlin.android' and 'AGP' 9.0+ with built-in Kotlin pluginKT-77546
Implement basic support for HMPP compilation scheme support in KGPKT-79034
Automatically disable cross compilation if it's not supported on the hostKT-79408
A lot of errors files are created when compile KotlinKT-77785
Add -fmodules option to CocoaPod dependency by defaultKT-75921
Make Swift Export available by defaultKT-63383
Add compiler performance metrics to Native build reportsKT-77023
Support creating KotlinJvmAndroidCompilation in KotlinBaseApiPluginKT-74420
Migrate kotlin-parcelize away from AGP's deprecated Variant APIKT-78233
Add ExperimentalFeatureWarning unique idKT-67992
Cleanup deprecated code required for KSP1KT-72341
Remove 'kotlin-android-extensions' pluginKT-67291
Enable Project Isolation AND/OR Configuration Cache mode for Gradle Integration testsKT-78325
Kotlin ecosystem plugin rejects compatible Gradle patch version when DCL is enabledKT-76353
Handle migration to stable -jvm-default in KGP: replace deprecated option and suppress warningsKT-76797
KGP: StdlibDependencyManagementKt.configureStdlibVersionAlignment() triggering eager configuration realizationKT-77163
Migrate Swift Export IT to injectionsKT-76282
Add missing Android Gradle plugin versions in testsKT-77011
Update build regression benchmarks for 2.2.0 releaseKT-76138
Compile against Gradle API 8.14KT-76139
Run integration tests against Gradle 8.14KT-77035
A compiler diagnostic isn't reported when its severity is set to warning with GradleKT-76951
'distribution-base' plugin is only applied in Gradle 8.13KT-73142
Kotlin Gradle plugin: Remove usage of Gradle's internal ExecHandleBuilderKT-76740
Use Problems API for warning introduced in KT-75808KT-65271
Gradle: "Mutating dependency DefaultExternalModuleDependency after it has been finalized has been deprecated " with gradle 8.6-rc-3
Tools. Gradle. Cocoapods
KT-76035
Allow extra command line arguments in PodBuildTaskKT-78387
Kotlin Cocoapods Gradle Plugin is not compatible with Gradle isolated projectsKT-79429
K/N: Cocoapods: IllegalArgumentException: "cinterop doesn't support having headers in -fmodules mode" with 2.2.20-Beta1 if explicitly not specify false for 'useClangModules'
Tools. Gradle. Compiler plugins
KT-66728
Deprecatekapt.use.k2
property
Tools. Gradle. JS
New Features
KT-75480
Add shared source set for js and wasmJs targetKT-77073
generateTypeScriptDefinitions() does not add generated .d.ts file to package.json automatically
Fixes
KT-77319
KJS / Gradle: generateTypeScriptDefinitions() generates wrong file extension when outputting ES modulesKT-79921
Web Tooling Gradle API does not respect webpack reconfigurationKT-76996
Wasm: js tasks triggers wasm subtasksKT-79237
Upgrade NPM dependencies versionsKT-79188
Pre-generated accessors aren't available for webMain / webTest source setsKT-78504
[2.2.0-RC3] NPM Tasks in 2.2 RCs produce broken/unusable build cache entriesKT-77443
NPE: "NullPointerException: Cannot invoke org.gradle.api.tasks.TaskProvider.flatMap(org.gradle.api.Transformer)": ExecutableWasm.optimizeTask is accessed before initializationKT-76987
JS, Wasm: Upgrade NPM dependenciesKT-77119
KJS: Gradle: Setting custom environment variables in KotlinJsTest tasks no longer worksKT-74735
KGP uses Gradle internalCompositeProjectComponentArtifactMetadata
Tools. Gradle. Multiplatform
New Features
KT-69790
Report human-readable error when declared dependency doesn't support required target typesKT-76446
Add kotlin-level dependency block to work the same way as commonMain/commonTest dependencies blocks
Fixes
KT-78297
FileNotFoundException in generateMetadataFile task if non-packed=falseKT-62294
kotlin-parcelize plugin does not support the new android kotlin multiplatform pluginKT-77404
The kotlin-stdlib and annotations are missing from commonTest dependencies with 2.2.0-Beta1KT-79559
AGP complains about configurations resolved at configuration time due to KMP partially resolved dependencies diagnosticKT-78993
The value for property '*' property 'dependencies' is final and cannot be changed any furtherKT-77843
KGP fails with Gradle 9 onProjectDependency.getDependencyProject()
KT-79315
Early task materialization with cross-project configuration breaks configuration due to KMP partial resolution checkerKT-77466
KMP - testFixturesApi and similar configurations do not affect jvmTestFixtures source setKT-78433
Gradle: add tracking of the new KMP compilation scheme to FUSKT-78431
Gradle: in-process metadata compiler uses deprecated K2MetadataCompilerKT-77414
KMP dependencies in detached source sets cause IDE resolution to write error logs: "kotlin-project-structure-metadata.json (No such file or directory)"KT-76200
TestModuleProperties.productionModuleName for JVM module isn't present with 2.1.20-RC
Tools. Gradle. Native
KT-51301
Remove ability to use Native non-embeddable compiler jar in Gradle pluginKT-74864
Enable exporting KDocs by default to ObjCKT-77977
"Unknown hardware platform: riscv64" on JVM project buildKT-78838
Add default 3G max heap size for the commonizer JVM processKT-68256
Reduce commonizer max heap size to default 3g and allow users to configure itKT-77067
Kotlin Gradle plugin with the configuration cache passes all platform libraries to the compiler when compiling a binary for the first time
Tools. Gradle. Swift Export
KT-79554
Swift Export status diagnostic is produced even if swift export is not configuredKT-78385
Swift Export is not compatible with Gradle isolated projectsKT-79524
NoSuchMethodError: 'java.lang.String org.gradle.api.artifacts.ProjectDependency.getPath() for swift export with dependency export fro gradle < 8.11
Tools. Incremental Compile
KT-60653
IC does not handle changes in inline functions objects/lambdas correctlyKT-78807
Changing ABI fingerprint on non-ABI changes when lambda passed to inlined functionKT-69075
Incremental compilation: smartcast is impossible on field with@JvmName
Tools. JPS
KT-77347
Support file-less compatible IC approachKT-78444
Clean up JPS code baseKT-75460
Adding@PurelyImplements
annotation to a List does not cause incremental recompile of affected filesKT-50594
Fix org.jetbrains.kotlin.arguments.CompilerArgumentsContentProspectorTest
Tools. Kapt
KT-79138
K2: KAPT Java Stub Gen:Unresolved reference
with@kotlin
.Metadata in Java in 2.2.0KT-79641
Kapt: too much information is printed in verbose modeKT-79136
K2 kapt: unresolved nested class references in annotation arguments are generated without outer class namesKT-79133
K2 kapt: class literal with typealias is not expandedKT-77853
K2 KAPT: backend internal error: exception during IR fake override builderKT-73322
MigrateFirKaptAnalysisHandlerExtension
compilation pipeline to the phased structure
Tools. Maven
KT-77587
Maven: Introduce Kotlin daemon support and make it enabled by defaultKT-63688
Remove JS-related stuff from kotlin-maven-plugin
Tools. Maven. Compiler plugins
KT-77511
Add maven plugin for Kotlin DataFrame plugin
Tools. REPL
KT-78755
[K2 Repl] Redeclaring variables does not workKT-75632
Contunue deprecation of the REPL built intokotlinc
KT-77470
[K2 Repl] Lazy Properties crash code generationKT-76507
[K2 Repl] Delegated properties are not visible in the next snippetKT-76508
[K2 Repl] Annotations on property accessors are not resolvedKT-75672
[K2 Repl] Serialization plugin crashes compiler backend
Tools. Scripts
KT-78378
"Explain" feature of the kotlin script fails on hidden variables
Tools. Statistics (FUS)
KT-79455
[FUS] Collect KSP plugin versionKT-77755
[FUS Pipeline] Fus file formatKT-77995
Do not collect FUS metrics on TeamCity
Tools. Wasm
KT-76842
K/Wasm: serve project sources in *DevRun tasks by defaultKT-78921
K/Wasm: don't generate empty yarn.lock fileKT-75714
Wasm: Move tooling NPM dependencies outside user projectKT-70013
.gradle/yarn and .gradle/node are part of Gradle configuration cacheKT-76838
K/Wasm: No possible to set downloadBaseUrl to null for D8 and BinaryenKT-76948
Wasm: Rename kotlinBinaryenSetup and kotlinD8Setup