Changelog
Analysis API
KT-75880
K2 Mode: Typealias reference resolves to the underlying class in KMP projectKT-74246
KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-siteKT-57733
Analysis API: Use optimizedModuleWithDependenciesScope
s in combined symbol providers
Analysis API. Code Compilation
KT-75502
K2: IDEA hangs when evaluating inside kotlin-stdlib modules in the Kotlin projectKT-73077
Evaluation of inline functions is broken inside Kotlin project and Amper module in Idea sourcesKT-73936
K2: CyclicInlineDependencyException: Inline functions have a cyclic dependency in evaluatorKT-74582
InterpreterMethodNotFoundError when trying to evaluate simple expressions after recent fixesKT-74524
Compilation exception with incorrect JvmName annotation argumentsKT-74443
Compilation peer collector ignores inline property accessors
Analysis API. FIR
Performance Improvements
KT-75790
Experiment with increasing DEFAULT_LOCKING_INTERVAL timeKT-72159
LLFirCompilerRequiredAnnotationsTargetResolver: consider rewriting it to use honest jumping locks
Fixes
KT-72908
K2 Analysis API: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtFunctionLiteral" with non-local destructuring declaration without initializer beforeinit
blockKT-75532
ContextCollector: scope for an anonymous function type parameter contains regular parametersKT-74508
FirElementBuilder#findElementInside
should reuse logic fromKtToFirMapping#getFir
KT-73066
[LL] Enable low-level-api-fir-native even with the disabled native partKT-75132
Investigate failures of sandbox diagnostic testKT-75130
Set up LL FIR tests for sandbox test dataKT-73386
Standardize LL FIR test for compiler test dataKT-75125
ISE “Value classes cannot have 0 fields” on instantiating inline class without fieldsKT-75179
ContextCollector: support error propertiesKT-74632
K2: ISE FirLazyDelegatedConstructorCall should be calculated before accessingKT-73493
Support context parametersKT-73183
Support context parameters in ContextCollectorVisitorKT-60350
K2 IDE: top level destructuring RHS should be resolvableKT-74794
K2: FirLazyExpression should be calculated before accessing with context parameter and implicit return typeKT-72938
Get rid of KaFirAnnotationListForReceiverParameterKT-73727
Exception in implicit type resolution
Analysis API. Infrastructure
KT-74917
[Analysis API, Test Framework] Introduce a way to acquirePsiFile
for a givenTestFile
inKtTestModule
Analysis API. Light Classes
KT-75391
Reduce the amount of psi-based logic in light classesKT-70001
SLC adds@Override
with zero text offset onoverride
memberKT-75755
K2. False positive red code on vararg parameters in Kotlin class with@JvmOverloads
when called from JavaKT-75397
Constructors and functions with non-last vararg parameters are treated as varargsKT-73405
Get rid of KtElement#{symbolPointer, symbolPointerOfType} API usagesKT-74868
Support context parametersKT-74733
SymbolPsiLiteral.text == value for Java constantKT-74620
Delegated functions with value classes are present in light classesKT-74595
Static functions with value classes are present in light classesKT-74284
Synthetic data class methods using value class types present in LC
Analysis API. Providers and Caches
KT-74090
Analysis API: Support dumb mode (restricted analysis)KT-74943
Analysis API: ReplaceKotlinGlobalModificationService
with simpler global modification event publishing and listener-based modification trackersKT-70518
K2: Analysis API: Access indices outside ofConcurrentMap
computation in symbol providersKT-62115
Analysis API: Package providers are not cached per search scopeKT-74302
Analysis API:LLFirProvider
should disregard self-declarations ingetFirClassifierBy*
KT-74463
Analysis API:LLNativeForwardDeclarationsSymbolProvider
queries its cache even when theClassId
cannot represent a native forward declarationKT-67868
Analysis API: Improve the architecture ofLLFirKotlinSymbolProvider
s
Analysis API. Standalone
KT-72810
withMultiplatformLightClassSupport is inconvenient in Standalone
Analysis API. Stubs and Decompilation
KT-68484
K2 IDE, Analysis API: "We should be able to find a symbol for function" for getting KaType ofIterable<T>.map(transform: (T) -> R)
parameter in J2K
Analysis API. Surface
New Features
Performance Improvements
KT-70165
Introduce PSI-basedKaSymbol
s for K2
Fixes
KT-72482
"KotlinIllegalArgumentExceptionWithAttachments: Expected all candidates to have same callableId but some of them but was different" on trying to add the importKT-75894
Cannot build KaFirJavaFieldSymbol for FirFieldImplKT-75586
KaFirPropertyGetterSymbol#isInline
andKaFirPropertySetterSymbol#isInline
is incorrect for accessors with explicit modifierKT-58572
Analysis API: Enforcing STATUS resolve in 'KtFirNamedClassOrObjectSymbol.visibility' may cause lazy resolve contract violationKT-72730
K2: "Unexpected owner function: KtNamedFunction" on vararg val parameter in functionKT-75574
Recognize injected code fragment copiesKT-75573
Recognize physical file copies as dangling filesKT-74801
Analysis API: Publish/subscribe to modification events with a single message bus topicKT-73290
Analysis API: Improve the architecture of content scopes and resolution scopesKT-68901
Constructor delegation call receiver missing in fir implementationKT-75115
Analysis API: TheJavaModuleResolver
compiler class is leaked to Analysis API platform implementationsKT-75123
K2. KaFirNamedFunctionSymbol should contain a receiverKT-72639
Support context parameter APIKT-73112
AA: FirExpression.toKtReceiverValue should handle context receivers properlyKT-74905
Cannot find context receiver in FIR declarationKT-74563
createPointer
is overloaded not for all implementationsKT-73722
Analysis API: Automatically check that the API surface is fully documentedKT-65065
ProvideKtTypeReference#getShortTypeText()
Backend. Wasm
KT-59032
Support instantiation of annotation classes on WASMKT-74441
K/Wasm: incorrect 1e-45.toString()KT-59118
WASM: floating point toString inconsistenciesKT-68948
Wasm: float from variable is printed with many decimal pointsKT-69107
[wasm] Seemingly incorrect rounding
Compiler
New Features
KT-75315
Support context-sensitive resolution in the call-argument positionKT-75316
Support context-sensitive resolution for expression-position with expected typeKT-71768
Enable -Xjvm-default=all-compatibility by default to generate JVM default interface methodsKT-76088
Support context-sensitive resolution for annotation argumentsKT-74049
Introduce special override rule to allow overriding T! with T & AnyKT-74809
Support unnamed local variablesKT-75061
Support context-sensitive resolution in type positionKT-74811
Prohibit usages of@MustUseValue
/@IgnorableValue
if RV checker is not enabledKT-74806
Implement feature flag for improved unused return value checkerKT-73508
Add a warning diagnostic for using kotlin.concurrent.AtomicRefKT-72941
ANNOTATIONS_ON_BLOCK_LEVEL_EXPRESSION_ON_THE_SAME_LINE missing in K2KT-74497
Warn about incompatible Kotlin and Java targets in annotationsKT-74382
Annotating Java record components for@JvmRecord
data classKT-73255
Change defaulting rule for annotations
Performance Improvements
KT-75957
K2: PsiRawFirBuilder.Visitor#toFirExpression forces AST loading via getSpreadElementKT-74824
Exponential performance caused by nested flexible typesKT-62855
K2: extra allocation for SAM conversion compared to K1KT-74977
K/N: support stack array for Array(size) callKT-74369
Exponential compiler memory usage in specific situations with type inference
Fixes
KT-75945
Indy: Allow lambdas with annotationsKT-59506
Context receivers: Unable to use trailing comma in receiver listKT-4779
Generate default methods for implementations in interfacesKT-71792
Switch latest stable version in Kotlin project to 2.2KT-74827
CompilationErrorException : Could not load module in an attempt to find deserializer when trying to evaluate an expressionKT-74454
Support trailing comma in context parametersKT-74337
Local Delegated properties don't preserve their annotations and don't show up in reflectionKT-55187
Context receivers in function types can have labelsKT-58498
Context receivers: ClassCastException with object and extension function in interfaceKT-58165
K2: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER" on overridden contextual propertyKT-75535
Compilation of typealias does not check for clashesKT-72313
K2 IDE / KMP Debugger: Evaluation of inline functions declared in a common source set causes a crashKT-75815
Disable warnings about different context parameter names in overridesKT-75483
Native: redundant unboxing generated with smart castKT-74421
K2: Missing "val can not be assigned" when trying to assign a value to parent's "val"KT-55083
JVM: AbstractMethodError caused by lambda with sealed base interface and fun sub interface and overridden methodKT-16727
Names for anonymous classes in interfaces are malformed on JDK 8KT-12466
NoClassDefFoundError: B$DefaultImpls on super interface call through K-J-K inheritanceKT-75293
K2: Missing [HAS_NEXT_FUNCTION_TYPE_MISMATCH] diagnosticsKT-72734
Support new callable reference nodes in Kotlin NativeKT-75965
The iOS app did not run successfully in Release modeKT-72335
KotlinIllegalArgumentExceptionWithAttachments when using illegal selectorKT-71718
K2: drop TypePreservingVisibilityWrtHackKT-75969
java.lang.IllegalArgumentException: source must not be null on red codeKT-75322
ConeDiagnosticToFirDiagnosticKt: source must not be nullKT-73800
Wrong method executed on super call in -Xjvm-default=all/all-compatibility with an extraneous super-interfaceKT-38029
Wrong method executed on super call in diamond hierarchy with covariant overrideKT-76049
K2: drop explicitTypeArgumentIfMadeFlexibleSynthetically creation when DontMakeExplicitJavaTypeArgumentsFlexible is enabledKT-76055
K2: drop prepareCustomReturnTypeSubstitutorForFunctionCall logic when DontMakeExplicitJavaTypeArgumentsFlexible is enabledKT-76057
K2: don't do reverse Java overridability checks when DontMakeExplicitJavaTypeArgumentsFlexible is enabledKT-75197
K2: Missing [COMPARE_TO_TYPE_MISMATCH] diagnosticsKT-75639
Inlinecontext
function leads toClassCastException
KT-75677
K2: change runtime behavior of KT-75649 case in 2.2KT-75961
K2:PsiRawFirBuilder.Visitor#visitSimpleNameExpression
forces AST loading viagetReferencedNameElement().node.text
KT-73611
Remove -Xextended-compiler-checks in favor of a deprecation cycleKT-67869
Make inference for lambda working consistently inside and outside of the callKT-74885
K2: IAE "source must not be null" in FirCyclicTypeBoundsCheckerKT-75578
K2: False negative [SUPER_CALL_WITH_DEFAULT_PARAMETERS] when calling the upper-class implementation of a method with the default value argumentKT-73954
Generate implementations in classes for inherited non-abstract methods in -Xjvm-default=all-compatibilityKT-75173
Context parameters: KotlinIllegalArgumentExceptionWithAttachments if you override function with value/extension parameter by fun with contextKT-75742
Native: "IllegalArgumentException: unknown pass name '' " when specifying an empty list of LLVM passesKT-74819
K2: False-positive overload resolution ambiguity for flatMap inside PCLAKT-75093
K2 IDE: "Unreachable code" highlighting range is confusingKT-74572
Context parameters: contracts don't work with context parametersKT-74765
Move K1 lazy IR implementation from 'ir.tree' to 'psi2ir'KT-71425
IR Inliner: investigate return type of an inlined blockKT-74764
Native: merge init nodes generated within the same LLVM module for the same klibKT-75561
K/N: place InteropLowering after UpgradeCallableReferences phaseKT-73369
K/N: move interop lowering up the pipelineKT-75517
K2: Refactor FirCallableSymbol.resolvedContextParameters to return symbolsKT-75821
K2: REPL resolution doesn't take into account the property type when processing its initializerKT-75705
IllegalArgumentException when isInitialized is used with java fieldKT-75334
Java target shouldn't be specified if Kotlin target isn't specifiedKT-75157
Missing PARAMETER_NAME_CHANGED_ON_OVERRIDE and DIFFERENT_NAMES_FOR_THE_SAME_PARAMETER_IN_SUPERTYPES for context parametersKT-75160
Check usages of value parameters in checkers and adapt to context parametersKT-75040
Unifysubject
andsubjectVariable
inFirWhenExpression
KT-75323
FirSyntheticProperty: Unexpected status. Expected is FirResolvedDeclarationStatus, but was FirDeclarationStatusImplKT-75602
Introduce concept of shared library session in Fir sessionsKT-75509
PARAMETER_NAME_CHANGED_ON_OVERRIDE is reported randomlyKT-75124
IAE “class org.jetbrains.kotlin.psi.KtContextReceiver is not a subtype of class org.jetbrains.kotlin.psi.KtParameter for factory EXPOSED_PARAMETER_TYPE” on private context receiverKT-73909
Add an inspection discouraging usage of kotlin.concurrent Native atomics in favor of the new atomicsKT-73585
K2: ABSTRACT_SUPER_CALL is not reportedKT-75531
K2 REPL: local name doesn't shadow one from implicit receiverKT-58369
K2: enable DFA warningsKT-73359
Migrate frontend sources to new IR parameter APIKT-75380
K2: Modality is configured incorrectly for some FirDefaultPropertyAccessorKT-75526
Regression in K2 scripting: local name doesn't shadow one from the implicit receiverKT-59379
K2: Missing MIXING_NAMED_AND_POSITIONED_ARGUMENTSKT-74649
Deprecate language versions 1.8 and 1.9KT-75106
K2: type parameters of anonymous functions are unresolvedKT-73387
Unexpected implicit type during enhancementKT-72618
Cannot define operator inc/dec in class contextKT-74546
Serialize context parameters to metadataKT-68768
K2: unsuccessful inference fork with jspecify annotationsKT-75345
Add a test for KT-42271KT-75012
K2: Compiler crash ondynamic == null
KT-75195
IllegalStateException: No value for annotation parameter when@all
meta-target is used with annotation with constructorKT-75163
WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET for@all
meta-target although there are applicable targetsKT-75198
@all
meta-target should be forbidden for delegated propertiesKT-74958
K2: UNEXPECTED_TRAILING_LAMBDA_ON_A_NEW_LINE isn't reported on accidental trailing closureKT-74982
Improve UNSUPPORTED message handlingKT-75111
False negative "This declaration needs opt-in" for usage of enum entry with OptIn marker in another moduleKT-74924
Infinite recursion in substitution of captured type with recursive supertypeKT-75289
NPE: getParent(...) must not be nullKT-74340
FIR: folding binary expression chains for psi parserKT-73831
Do not choosefield
target in annotation classesKT-73494
Enable first-only-warn annotation defaulting modeKT-75174
K2: incorrect influence of return type nullability on required receiver type in KJK hierarchy with propertyKT-74920
Overriding T! with T & Any is not allowed to the extension property receiver typeKT-75150
False ambiguous context parameter reported because context is not chosen via generic parameterKT-74965
CLI compiler doesn't report syntax errors for JS, Metadata backends if light-tree mode is disabledKT-74303
K2 IDE / Kotlin Debugger: AE “Trying to inline an anonymous object which is not part of the public ABI” on evaluating private inline function with object insideKT-75177
NoSuchMethodError on suspend default interface method fake override returning inline class in -Xjvm-default=all-compatibilityKT-74718
K/N: Move TestProcessor phase to the top of the pipelineKT-75015
Context parameters: it is possible to declare anonymous function with modifiers but they don't have any effectKT-75092
K2: Missing errors for modifiers on anonymous function in statement positionKT-75009
Context parameters: context is unresolved inside anonymous function if passed as an argumentKT-75017
Context parameters: "IllegalStateException: Cannot find variable a: R|kotlin/String| in local storage " when context from another local function is calledKT-75154
Context receiver deprecation warning should depend on langauge version, not on LATEST_STABLEKT-74979
Context parameters: anonymous functions with a context aren't parsed in complex casesKT-74673
K2: ClassCastException when passing suspending functional interface with genericKT-74469
K2: False positive: "Argument type mismatch" during Java interopKT-75105
K2: False negative NAME_IN_CONSTRAINT_IS_NOT_A_TYPE_PARAMETER for type constraint of anonymous functionKT-74929
False positive TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER if it is used with T&AnyKT-74227
K2: "Cannot infer type for this parameter. Please specify it explicitly" caused by lambda in another lambda with a parameterized function typeKT-74728
K2: Java method overriding Kotlin method with receiver loses vararg modifierKT-70789
CLI error "mixing legacy and modern plugin arguments is prohibited" on using -Xcompiler-plugin unless default scripting plugin is disabledKT-72829
Forbid 'entries' name of enum entry, and deprioritize it in resolveKT-75037
K2: IrGeneratedDeclarationsRegistrar.registerFunctionAsMetadataVisible doesn't handle extension receivers and context parametersKT-73149
Annotations support for context parametersKT-74798
Report error on local contextual propertiesKT-74092
Context parameters: it is not possible to declare an anonymous function with a contextKT-52152
K2: Investigate suspicious code at SAM conversionsKT-75016
K2: BackendException when context var property is declared in interfaceKT-74474
K2: Report more precise diagnostic when last expression of non-unit lambda is a statementKT-74478
K2: False negative RETURN TYPE_MISMATCH if the last statement of a lambda is indexed assignmentKT-73685
K2 IDE / Kotlin Debugger: NSME “Method not found” on evaluating function with constant value in@JvmName
KT-74449
Report RETURN_TYPE_MISMATCH instead of ARGUMENT_TYPE_MISMATCH for return expressions in lambdasKT-74918
FIR: account for K/Wasm diagnostics in generateNonSuppressibleErrorNamesFileKT-74897
K2: Report UNSUPPORTED_FEATURE instead of TOPLEVEL_TYPEALIASES_ONLY for nested type aliasesKT-74963
K2: Fir2Ir: Avoid a situation when startOffset > endOffset in generated IrBranchKT-74697
Overriding a method that's both deprecated and non-deprecated should not cause warningsKT-74928
K2: "IllegalStateException: Cannot find cached type parameter by FIR symbol" in KJK hierarchy with extension propertyKT-74630
K2: local class arguments in annotations on types and type parameters are not serializedKT-74445
Commonize Native Function/Property reference loweringsKT-74670
Warning message CONTEXT_CLASS_OR_CONSTRUCTOR isn't reported for context receiver on the constructorKT-74617
Trivial SMAP optimization leads to missing debug info after inlineKT-74812
compile-time failure on a callable reference with an input type inferred to an inaccessible generic typeKT-66195
K2: Java method is not enhanced from overridden's context receiversKT-74501
Context parameters: ABSTRACT_MEMBER_NOT_IMPLEMENTED if fun with context is implemented in Java in KJK hierarchyKT-74385
Missing diagnostic on repeated suspend modifier in function typeKT-74749
Provide explanation IR before script compilationKT-74751
K2: IllegalStateException: Can't apply receivers of FirPropertyAccessExpressionImpl to IrTypeOperatorCallImplKT-74729
NPE when suspend lambda has inline class parameterKT-51258
Annotations should go before context receiversKT-74336
Not supported: class org.jetbrains.kotlin.fir.types.ConeIntersectionTypeKT-74203
K2: False negative NO_ELSE_IN_WHEN of a generic type with star projection <*> bounded by a sealed hierarchyKT-63720
Coroutine debugger: do not optimise out local variablesKT-48085
Kotlin/Native: LLD removes live code with--gc-sections
when producing DLLKT-69164
Native: use lld from bundled LLVM distribution when compiling on Windows for a MinGW targetKT-74081
Context parameters: implicit call resolves to extension when there is a contextKT-74682
Implement internal type exposure via parameter bounds deprecation postponementKT-74556
K2: "IAE: class KtDestructuringDeclaration is not a subtype of class KtNamedDeclaration for factory REDECLARATION" with two non-local destructuring declarationsKT-73146
Context parameters CLI & diagnosticsKT-72722
Treat 'copy' calls of a data class as explicit constructor usagesKT-74389
K2: False positive NON_EXPORTABLE_TYPE on non-UnitPromise<...>
in K/JSKT-72104
Consider enabling check for unbound symbols in JVM before loweringsKT-74568
Synthetic nested classes missing JVM attributesKT-73703
[Native] Move KonanIrLinker toserialization.native
moduleKT-61175
K2: FirReceiverParameter does not extend FirDeclarationKT-73961
'lateinit is unnecessary' on transient properties should not be reported for serializable classesKT-73858
Compose / iOS: NullPointerException on buildingKT-62953
JVM IR: UseSimpleNamedCompilerPhase
instead ofNamedCompilerPhase
KT-72929
Consider caching typealiased constructor symbols created by TypeAliasConstructorsSubstitutingScopeKT-73705
[Native] Decouple native caches support from KonanIrLinker and KonanPartialModuleDeserializerKT-74091
K2:@JvmOverloads
-produced overloads have generated line number tableKT-69754
Drop -Xuse-k2 compiler flagKT-73352
K2: false negative ARRAY_EQUALITY_OPERATOR_CAN_BE_REPLACED_WITH_EQUALSKT-72962
Consider enabling ConsiderForkPointsWhenCheckingContradictions LF earlierKT-73027
IllegalStateException: Annotation argument value cannot be null: sinceKT-74242
Freeze onrunCatching
call infinally
block inside SAM conversionKT-29222
FIR: consider folding binary expression chainsKT-73760
Cannot implement two Java interfaces with@NotNull
-annotated type argument and Kotlin's plain (nullable) type parameterKT-58933
Applying suggested signature from WRONG_NULLABILITY_FOR_JAVA_OVERRIDE leads to red codeKT-70507
Should parentheses prevent from plus/set operator desugaring?KT-73771
K2: Infinite compilation caused by buildList without typeKT-67520
Change of behaviour of inline function with safe cast on value typeKT-67518
Value classes leak their carrier type implementation details via inliningKT-72305
K2: Report error when using synthetic properties in case of mapped collectionsKT-70233
Implement a deprecation error for FIELD-targeted annotations on annotation propertiesKT-67517
Value class upcast to Any leaks carrier type interfacesKT-72814
FIR: don't use function references in FirThisReferenceKT-73153
K2: Standalone diagnostics on type arguments are not reportedKT-73011
K2: Allow overloads resolution for callable references based on expected type variable with constraintsKT-69223
Drop parallel lowering mode in JVM backendKT-7461
Forbid using projection modifiers inside top-level Array in annotation's value parameterKT-53804
Restore old and incorrect logic of generating InnerClasses attributes for kotlin-stdlibKT-52774
Resolve unqualified enum constants based on expected type
Compose compiler
b/401484249
Generate a group aroundArray
constructor callb/400380396
Fix missingendMovableGroup
call with early return inkey
functionb/400495890
Replace function metrics global with an IR attributeb/397855145
Fix "Unknown file" error in target annotation inferenceb/274898109
Fix off-by-one error when calculating changed arg count for lambdasb/367066334
Add diagnostic to restrict@Composable
annotation to function types only
IDE
KT-54804
Generate synthetic functions for annotations on properties in light classes
IR. Inlining
Fixes
KT-75986
Add an option to theDumpIrTreeOptions
to dump IR signature if availableKT-64812
Investigate and fix remaining owner usages in inlinerKT-74732
IR: Exposure of private type is reported at wrong source locationKT-76007
IR deserialization tests w/ enabled IR inliner: undefined offsets in IrInlinedFunctionBlock.inlinedFunctionSymbolKT-74734
[Native] Use NativeInliningFacade in new subclass of AbstractFirNativeSerializationTestKT-73985
KLIB Synthetic Accessors Dump Format: Include local declarationsKT-72594
[JS][Native] Add IrInliningFacade to test runnersKT-74456
SerializedIrDumpHandler: Compare IR dumps with source offsetsKT-73624
[Native] Implement inlining facadeKT-70370
SyntheticAccessorLowering: Turn on mode with narrowing visibility on 1st phase of compilationKT-70452
OuterThisInInlineFunctionsSpecialAccessorLowering - run it after inlining of private functionsKT-70451
Enable double-inlining in Native & JS backends unconditionally
IR. Interpreter
KT-74581
SupportIrRich*Reference
in IR interpreter
IR. Tree
Fixes
KT-75679
Extract commoninvokeFunction
in IrRichCallableReferenceKT-74799
[Native][IR] Excessive FUNCTION_INTERFACE_CLASS after deserializationKT-71138
Report error on cross-file IrGetField operations generated by compiler pluginsKT-74331
Implement IrElement.copyAttributes as a true attribute map copyKT-75196
[IR] Make startOffset and endOffset mutableKT-73206
Extract common parts from new IrRichFunctionReference/IrRichPropertyReference nodesKT-73190
Migrate common backend sources to new IR parameter APIKT-73225
Migratecompiler.ir.serialization.common
to new IR parameter APIKT-73220
Migratecompiler.ir.tree
to new IR parameter APIKT-75189
Add an IR validation for the correspondingPropertySymbolKT-74275
Adjust IR dump format for context parameters & new parameter APIKT-74269
Drop IrElementVisitor, IrElementVisitorVoid and IrElementTransformer interfacesKT-72739
Create a lowering to replace old callable reference nodes with new onesKT-73120
Get rid ofIr
classKT-73045
Fix inconsistency between shapes of IR calls vs calleeKT-69714
[IR] Remove IrErrorDeclarationKT-73609
Tests: Implement DeserializerFacade for Kotlin/NativeKT-73813
Implement tests for all IR validator checkersKT-73171
Choose the approach for testing IR serialization/deserialization wrt IR inlinerKT-73430
[IR] Get rid of SymbolFinder usages outside ofSymbols
hierarchyKT-74455
IR dump: Support dumping source offsetsKT-73433
[IR] Get rid of some symbols lookup methods
JavaScript
Performance Improvements
KT-74533
K/JS: avoid number to char calls in charSequenceGet intrinsic
Fixes
KT-57192
KJS: "Exported declaration uses non-exportable return type" caused by@JsExport
Promise with Unit typeKT-73363
Migratejs-plain-objects
plugin to new IR parameter APIKT-64927
[JS] TypeError when abstract class with override var property extends an exported abstract class with val propertyKT-75606
KJS: java.lang.AssertionError: Different declarations with the same signatures were detectedKT-70623
Kotlin/JS: Incremental compilation fails when granularity is changedKT-70652
Kotlin/JS:@JsExport
doesn't work with granularity per-fileKT-71365
KJS. File-level export supportKT-68775
Kotlin/JS infinite loop for exception message override that calls super.messageKT-42271
K/JS: isInitialized for not-lateinit property isn't marked as error as in JVM projectKT-72437
KJS. Invalidcopy
method for inherited JSO with type parametersKT-70664
Extending a@JsPlainObject
interface with a generic type parameter fails with a compile errorKT-74839
AssociatedObjectKey metadata doesn't survive incremental compilationKT-71169
@JsPlainObject
copy produces the wrong type when copied property is nullable in parent interfaceKT-71656
K2 JS: "IllegalStateException: Class has no primary constructor: kotlin.ULong"
Klibs
Fixes
KT-70146
[KLIB Resolve] Don't fail on nonexistent transitive dependencyKT-75624
Don't fail on an attempt to deserialize "unknown" IrStatementOrigin and IrDeclarationOriginKT-55808
Support metadata version checks for klibs in the compilerKT-56062
Support-Xmetadata-version
for KLIB-based compilersKT-75192
KLIB reader tends to extract files from the KLIB archive to a temporary directory even when this is not neededKT-75013
Make klib reader more flexible: allow empty directories to be omittedKT-75680
KLIB: Drop obsolete IrPerFileLibraryImpl & IrPerFileWriterImplKT-73779
[Native] Context parameters: extension receiver is preferred over context parametersKT-65375
Clean-up the logic for serialization of error types in metadata and in IRKT-73826
DeduplicateIrFileEntry
that is serialized insideIrInlinedFunctionBlock
KT-75091
Droptargets/$target_name/kotlin
directory from klibsKT-74635
KLIBs: Change call serialization scheme to store all arguments in a single listKT-74352
API4ABI: Fix representation of context parametersKT-71007
Align KLIB ABI version with the language versionKT-73672
Bump KLIB ABI version in 2.2.0KT-74080
API4ABI: Adapt API for value parameter kindsKT-74396
Support context parameters in klibsKT-72931
Support new callable reference nodes in KLIB [de]serializer
Language Design
KT-72417
Annotation with target RECORD_COMPONENT cannot be used on@JvmRecord
data class componentsKT-73557
Allow refining expect declarations for platform groupsKT-54206
Support local contextual functionsKT-67977
Compile results of annotations assigned to JvmRecord properties as in JavaKT-73502
Context parameters: it is not possible to declare local function with a contextKT-73632
Expect class redeclaration is allowedKT-70002
[LC] Forbid using projection modifiers inside top-level Array in annotation's value parameter
Libraries
KT-75933
Update readLine's KDoc to suggest alternative functionsKT-46360
Type inference fails to infer type for sumOf call with integer literal: "Overload resolution ambiguity TypeVariable(T)) -> Int / Long"KT-74804
Add@MustUseValue
and@IgnorableValue
/@Discardable
to kotlin-stdlibKT-73590
Samplify string.splitKT-75759
Add the serializer for kotlin.time.Instant to the list of standard serializersKT-71628
Review deprecations in stdlib for 2.1KT-73726
A link from shuffle's KDoc is not rendered properlyKT-74173
The sample code oflazy
on stdlib can not run on playground due to "samples" package importKT-50081
AbstractList sublist leads to StackOverflowKT-74422
KotlinWebsiteSampleRewriter should filter individual imports from samples package
Native
KT-74377
Kotlin Native: release executable crashes with error 139KT-70202
Xcode 16 Linker fails with SIGBUS
Native. C and ObjC Import
KT-75781
Xcode 16.3: Fix cinterop tests failing with fatal error: could not build module '_stdint'KT-75598
Native: fix samples/objc testKT-74549
Native: replace clang_Type_getNumProtocols/clang_Type_getProtocol with standard libclang functions
Native. Platforms
KT-74702
Deprecate Windows 7 support
Native. Runtime
KT-71534
Native: Support Latin-1 encoded strings at runtimeKT-67741
Kotlin/Native: Unify SpecialRef handling
Native. Runtime. Memory
KT-74432
Native: add an option to allocate everything in SingleObjectPageKT-74975
Enable CMS by default in Swift exportKT-74831
Kotlin/Native: investigate mmap usage in custom allocatorKT-60928
Kotlin/Native: refactor allocator codeKT-50291
Kotlin/Native: remove dependency of mm on gc implementation
Native. Swift Export
KT-75166
Support export of platform libraries types in Swift exportKT-75079
Swift export: add dependency from sir-compiler-bridge to Analysis APIKT-72413
Swift Export: potential memory leak when best-fitting class is different from the formal typeKT-72107
Remove IntoSingleModule stratagy
Reflection
KT-75464
Bundle kotlin-metadata-jvm into kotlin-reflectKT-71832
kotlin.jvm.internal.ClassReference static overhead is 11,060 bytes
Test Infrastructure
KT-75152
Introduce phase checks toPerformanceManager
KT-75987
Refine names for jps tests that are shown after running test data helper pluginKT-74254
Perform version 2.2 boostrapping and language version updateKT-75194
Fix remaining problems of PerformanceManagerKT-75309
Add kotlin-compiler-server as K2 user projectKT-75094
Introduce NumberAgnosticSanitizer and use it for checking performance dumpsKT-74987
Get rid of using PerformanceCounter in CommonCompilerPerformanceManagerKT-74705
Remove org/jetbrains/kotlin/utils/intellijUtil.kt file with now obsolete Pair.companion functions
Tools. Ant
KT-73116
Deprecate Ant support
Tools. BCV
KT-71168
Implement a prototype of ABI Validation in Kotlin Gradle Plugin
Tools. Build Tools API
KT-76060
BTA: Java sources passed for IC may fail compilation in non-incremental modeKT-74041
Build Tools API: Lower level or remove compiler arguments log
Tools. CLI
KT-74663
kotlinc-js CLI: not providing -ir-output-dir results in NullPointerExceptionKT-73606
Provide a unified interface for managing the reporting of compiler warningsKT-73007
Add stable compiler argument -jvm-default instead of -Xjvm-defaultKT-73595
Kapt.use.k2=true is ignored silently for language-version 1.9 or lessKT-18783
Option to treat a specific compiler warning as an errorKT-24746
Provide ability to exclude specific warnings from compiler option Werror (all warnings as errors)KT-75641
kotlinc -help spends almost 1 second on Usage.render()KT-75043
Migrate Metadata compilation pipeline to the phased structureKT-75113
TEST_ONLY LanguageFeature doesn't abort the compilationKT-73324
Use phased CLI infrastructure in JVM tests
Tools. Commonizer
KT-74623
Drop metadata version check from KLIB commonizer
Tools. Compiler Plugin API
KT-74640
[FIR] Support settingsource
in declaration generators
Tools. Compiler Plugins
Fixes
KT-73367
Migrate compose plugin to new IR parameter APIKT-75614
PowerAssert: handling of exceptions doesn't work inside assert functionKT-75264
PowerAssert: the diagram for try-catch with boolean expressions isn't clearKT-75663
PowerAssert: 'contains' result for strings is displayed under the first parameter instead of 'in'KT-73897
PowerAssert: Implicit argument detection is brittle in a number of casesKT-74315
Kotlin Lombok: "Unresolved reference" on generating@Builder
for static inner class where outer class is also using@Builder
KT-72172
File Leak occurring in Kotlin DaemonKT-75159
Compose: Missing 'FunctionKeyMeta' annotation on lamdas declared in non-composable functionKT-72877
Power-Assert should provide IrExpression transformation APIKT-61584
[atomicfu]: prohibit declaration of AtomicReference to the value class in the compiler pluginKT-73871
PowerAssert: Comparison via operator overload results in confusing diagramKT-73898
PowerAssert: Operator calls with multiple receivers incorrectly alignedKT-73870
PowerAssert: Object should not be displayed
Tools. Gradle
New Features
KT-73418
Gradle '--warning-mode' value should affect Gradle plugin diagnosticsKT-73285
Integrate Gradle Problem API with KGP diagnosticsKT-61649
Add Gradle compiler option for jvm-defaultKT-68659
Collect reported Kotlin Gradle Plugin diagnostics into one HTML/Text file report instead of writing it to logKT-73906
Improve ToolingDiagnostic CLI rendering
Fixes
KT-75107
Add Gradle property to use new FIR IC runnerKT-75188
Groovy plugin breaks access to internal members of test friendPaths classes in kotlin compilationKT-70252
Gradle: remove Intellij dependencies from KGP runtimeKT-75921
Make Swift Export available by defaultKT-74333
improve ToolingDiagnosticBuilderKT-73683
Compile against Gradle API 8.12KT-75187
Make KotlinToolingDiagnostics internalKT-75568
Do not use env variables registered as CC inputsKT-74277
KGP / FreeBSD: "TargetSupportException: Unknown operating system: FreeBSD" during the buildKT-73842
Gradle: AGP failing tests with "Failed to calculate the value of property 'generalConfigurationMetrics'" using KGPKT-75262
Gradle test-fixtures plugin apply order breaks the projectKT-75277
FUS statistics: 'java.lang.IllegalStateException: The value for this property cannot be changed any further' exception is thrown during project importKT-75164
Run Gradle incremental compilation tests with FIR runnerKT-59632
KotlinCompileTool.setSource() should replace existing sourcesKT-72694
Accessing Task.project during execution is being deprecated in Gradle 8.12KT-75026
Corrupted NonSynchronizedMetricsContainer in parallel Gradle buildKT-66133
Finalize resolution strategy for resources and remove the one that is unusedKT-64991
Change deprecation level to error for KotlinCompilation.sourceKT-70620
Raise to error deprecation for KotlinCompilationOutput#resourcesDirProviderKT-73849
Categorize ToolingDiagnosticsKT-74462
Flaky Kotlin Gradle Plugin Tests: IsInIdeaEnvironmentValueSource$Inject not foundKT-72329
Consider bumping apiVersion for projects with compatibility setupKT-74415
Make composeCompiler.includeSourceInformation true by defaultKT-74772
ToolingDiagnostic: title is not displayed on WindowsKT-74485
BuildFinishedListenerService is not thread-safeKT-74717
Test publication with dependency constraintsKT-74551
Improve KGP-IT withDebug for tests with environment variablesKT-74639
Executable binaries for JVM test cannot be created unless an additional suffix is set in GroovyKT-72187
Gradle tests are using incorrect Kotlin/Native distributionKT-57653
Explicit API mode is not enabled when free compiler arguments are specified in Gradle projectKT-51378
Gradle 'buildSrc' compilation fails when newer version of Kotlin plugin is added to the build script classpath
Tools. Gradle. Compiler plugins
KT-58009
BaseKapt.annotationProcessorOptionProviders
should be aList<CommandLineArgumentProvider>
instead ofList<Any>
KT-61928
Clarify parameter types in KaptArguments and KaptJavacOption
Tools. Gradle. JS
KT-75863
Wasm/JS: Deprecate phantom-js for KarmaKT-75485
KJS: "Module not found: Error: Can't resolve 'style-loader' and 'css-loader'" in 2.1.20-RCKT-74869
KJS:jsBrowserProductionWebpack
does not minify output with 2.1.20-Beta2KT-74859
Gradle configuration cache issues related to RootPackageJsonTaskKT-70357
Remove JS/Dce deprecated Gradle DSL
Tools. Gradle. Multiplatform
New Features
KT-60623
DeprecatepublishAllLibraryVariants
in kotlin-android
Fixes
KT-75605
Dependency resolution fails in commonTest/nativeTest source sets for KMP module when depending on another project due to missing PSMKT-74727
Dependency resolve from a single target KMP module to another kmp module fails on non-found PSMKT-75512
Maven-publish: ArtifactId is not correct inpom
file with customizedwithXml
KT-68015
Remove legacy KMP flagsKT-71634
KGP: Remove KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImportKT-72203
Swift Export: Unclear failure for invalid module nameKT-66542
Gradle: JVM target withwithJava()
produces a deprecation warningKT-74278
KSP tasks don't trigger a K/N distribution downloadingKT-75161
Deprecate commonization parameters in KGP with an errorKT-71608
Remove 'android()' targetKT-74669
Executable binaries for JVM: a jar generated by jvmJar task isn't added to the build/install/testAppName/lib directoryKT-61817
Remove support for Legacy Metadata Compilation with support of Compatibility Metadata VariantKT-69200
Module 'intellij.kotlin.gradle.multiplatformTests' transitively depends on K1/K2 implementationKT-62643
Increase DeprecationLevel to 'Error' on deprecated 'ExtrasProperty.kt' (Kotlin 2.2)KT-71454
Remove not compatible with Project Isolation PomDependenciesRewriterKT-70493
Improve gray-box testing experience in KGP-ITKT-73536
Enable kmp isolated projects support for kotlin-test and patch PSM.jsonKT-58231
Kotlin Gradle Plugin: set deprecation level to Error for KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImport
Tools. Gradle. Native
KT-75171
Provide custom freeCompilerArgs to Swift Export's link taskKT-74591
HostManager.isMingw isLinux and isMac are not accessible in groovy scriptsKT-71069
RemovekonanVersion
from CInteropProcessKT-65692
Remove Kotlin Native Performance pluginKT-74403
:commonizeNativeDistribution fails when configured native targets cannot be built on machine
Tools. Gradle. Xcode
KT-66262
Deprecate and remove support for bitcode embedding from the Kotlin Gradle plugin
Tools. Incremental Compile
KT-62555
Wrong ABI fingerprint for inline function containing a lambdaKT-75155
Split HistoryFileJvmIncrementalCompilerRunner and the current oneKT-74628
Incremental compilation runner does not check compiler exit code before mapping sources to classesKT-75276
Test IC issues with first-round failures that might be fixed by Fir runner
Tools. JPS
KT-76461
Fix "compilation of typealias does not check for clashes" for JPSKT-73379
Review the usage of JavaBuilder.IS_ENABLED inside the KotlinBuilder JSP builder
Tools. Kapt
KT-75202
K2 kapt: mapped type class literal is converted incorrectlyKT-70797
Remove obsolete K2 kapt implementation based on Analysis APIKT-64385
K2: Enable K2 KAPT by default
Tools. Maven
KT-73012
Migrate Kotlin Maven plugin to the Build Tools APIKT-43894
Maven, Windows: error "RuntimeException: Could not find installation home path"KT-61285
Remove multiplatform "support" from Maven Plugin
Tools. Performance benchmarks
KT-75563
Fix crash on kotlin compiler server user project related to performance measurements
Tools. REPL
KT-75616
[K2 Repl] Sealed hierarchies causes a FileAnalysisExceptionKT-75593
[K2 Repl] Custom Delegates crash code genKT-75607
[K2 Repl] ScriptingConfiguration.jvm.jvmTarget is not respectedKT-74607
[K2 Repl] Lambda statement crashes code generationKT-74615
[K2 REPL] Anonymous objects crash code generationKT-74856
[K2 Repl] Snippet class files are missing Kotlin metadataKT-74768
[K2 Repl] refineConfiguration does not update the classpath correctlyKT-74593
[K2 Repl] defaultImports does not work in ScriptCompilationConfiguration
Tools. Scripts
KT-75589
Scripts: "IndexOutOfBoundsException in jdk.internal.util.Preconditions.outOfBounds" when trying to extend a class which uses global variableKT-74004
"Evaluate expression" fails in scripts