Changelog
Analysis API
New Features
KT-57930
Analysis API: provide an API for extending Kotlin resolutionKT-57636
K2: Add the return type of K2 reference shortener AAShortenCommand::invokeShortening()
e.g.,ShorteningResultInfo
to allow callers to access the shortening result PSI
Fixes
KT-55626
Impossible to restore symbol by psi from script fileKT-57314
LL FIR: CombineLLFirProvider$SymbolProvider
s in session dependencies (optimization)KT-55527
K2 IDE: Rewrite KtScopeContext class to allow to handle each scope separatelyKT-55329
LL FIR: Unexpected ACTUAL_WITHOUT_EXPECT error on constructor and function declarationKT-50732
LL API: fix compiler based testsKT-57850
K2: contract violation due to SymbolLightAccessorMethod.propertyAccessorSymbolKT-56543
LL FIR: rework lazy transformers so transformers modify only declarations they suppose toKT-56721
K2: FirExtensionDeclarationsSymbolProvider: java.lang.IllegalStateException: Recursive updateKT-50253
Analysis API: Solve issues with ProcessCancelledExceptionKT-56800
K2 IDE: optimize deprecation calculation for symbolsKT-55006
Analysis API does not transform Java type refs for callable symbol return typesKT-57256
AA FIR: Reduce lazy resolve phase for deprecation statusKT-58141
K2: AA FIR: impossible to restore symbol for declaration with annotation with argument inside typeKT-57462
Symbol Light Classes: SymbolLightFieldForProperty should retrieve annotations not from KtPropertySymbol, but from the corresponding backing fieldKT-58249
Analysis API: Disable error logging for FE10 implementation of resolveCall when resolve is not successfulKT-54864
Analysis API: add function to get expect KtSymbol list by actual KtSymbolKT-56763
Analysis API:.KtSourceModuleImpl is missing in the map.
on symbol restore when symbol cannot be seen from the use-site moduleKT-56617
Analysis API: optimize KtFirSymbolProviderByJavaPsi.getNamedClassSymbolKT-54430
K2: .getAllOverriddenSymbols() returns invalid results
Backend. Native. Debug
KT-55440
Kotlin/Native debugger: inline function parameters are not visible during debugging
Backend. Wasm
KT-57136
K/Wasm: Restrict non-external types in JS interopKT-57060
Clarify the lack of support for dynamic in Kotlin/WasmKT-56955
K/Wasm: Support restricted version of K/JSjs(code)
KT-57276
Wasm: "Body not found for function" error when compiling konform library with Kotlin/Wasm supportKT-56976
K/Wasm bug with calling override of external function with default parametersKT-56584
K/Wasm: Can't link symbol class
Compiler
New Features
KT-49276
Warn about potential overload resolution change if Range/Progression starts implementing CollectionKT-55333
Allow secondary constructors in value classes with bodiesKT-54944
@Volatile
support in nativeKT-54746
Deprecate with ERROR JvmDefault annotation and old -Xjvm-default modesKT-29378
K2: rework warnings/errors for equality/identity operators on incompatible typesKT-57010
Kotlin/Native: make it possible to compile bitcode in a separate compiler invocationKT-55691
K2: Avoid inferring Nothing? in presence of other constraints (beside type parameter bounds)KT-46288
Unexpected behavior of extension function on lambda with suspend receiverKT-24779
Inconsistent smart cast behavior for bound data flow values
Performance Improvements
KT-56906
FIR: Use cached instance of FirImplicitTypeRefImpl in FIR buildersKT-56276
LanguageVersion.getVersionString() allocates 5k objects on project opening
Fixes
KT-56609
K2: False positive NULL_FOR_NONNULL_TYPE with -Xjsr305=strict and@Nullable
annotation Java parameterKT-56656
K1/K2: inconsistent NOTHING_TO_OVERRIDE with complex nullable annotationsKT-58332
K2: local fun with suspend type is not marked as suspend in IRKT-57991
K2: Modifier 'suspend' is not applicable to 'anonymous function'KT-4113
No smartcast for nullable lambda property (functional type) with implicit/operatorinvoke
callKT-54294
K2: "Not all type variables found" in builder inference with type parameters inferred through a union of two branchesKT-52597
Provide Alpha Support for Multiplatform in the K2 platformKT-58523
K2: reference is resolved to imported type-alias instead of identically named top-level propertyKT-57098
Native: avoid object initialization while accessing const valKT-57973
32-th default value in inline classes override function is not usedKT-57714
"IllegalStateException: <B::!>" using reified genericsKT-57810
toString
of object erroneously considered as constant function in string concatenationKT-58076
K2: Incorrect inference of type of labeled receiverKT-57929
K2: Arguments of annotations are not calculated in a lot of strange locationsKT-55388
Consider enabling ProhibitUsingNullableTypeParameterAgainstNotNullAnnotatedKT-53041
NPE in Kotlin 1.7.0 when using RxJava Maybe.doOnEvent with anonymous parametersKT-54829
Cleanup local types approximation logicKT-38871
Kotlin Gradle DSL, MPP: UNUSED_VARIABLE when configuring a sourceset with delegated propertyKT-58587
MUST_BE_INITIALIZED must take into account effectivelly finalKT-58524
K2: false-positive overload resolution ambiguity error on invoking a generic class's member function with id-shaped function-typed parameter on intersection-typed receiverKT-53929
Enum.entries: consider changing scope behavior in K1KT-58520
K2: FIR2IR: ISE during const evaluation of operator times with exposedKT-56662
K1: false negative INVISIBLE_SETTER for a var with internal setter accessed from a derived classKT-57770
K2: Support generation of serializer if base class for serializable class declared in different moduleKT-58375
Kapt: "wrong number of type arguments. required 1" when more than 22 type argumentsKT-56077
K2: build atomicfuKT-56074
K2: build Space JVM (snapshot 2022.3)KT-48870
[FIR] Different behavior for explicit receiver resolution inside delegated constructorsKT-53865
Partial linkage: overriding function with parameter losing vararg: Native is successful, JS fails in runtimeKT-53568
Partial linkage: absent class as type parameter bound causes failure ofcompileProductionExecutableKotlinJs
KT-53608
Partial linkage: Kotlin/JS fails with IllegalStateException: "Validation failed in file" when overridden declaration was visible, but now privateKT-53663
Partial linkage: usage of property which becomes abstract: no IrLinkageError, but AssertionError in Native backend insteadKT-53938
Partial linkage: with turning interface into class and using as second parent Native build failsKT-53939
Partial linkage: with turning object into class linkNative and jsTest tasks failKT-53941
Partial linkage: with turning class into object accessing member via parameterless constructor does not failKT-53970
Partial linkage: on turning nested class into inner JS tasks are successful, Native build failsKT-53972
Partial linkage: turning inner class into nested: with usage in executable Native fails with NPE in backendKT-53971
Partial linkage: turning inner class into nested: without usage in executable Native is successful, JavaScript failsKT-53995
Partial linkage: on turning class to abstract and direct constructor call Naive fails, JavaScript is successfulKT-58013
K2: "Not enough information to infer type variable T" when using assert non-null (!!) and delegationKT-54045
Partial linkage: turning class into type alias + calculating implicit function type: build fails with UninitializedPropertyAccessException: "lateinit property parent has not been initialized"KT-54046
Partial linkage: turning type alias into class + using it as type: build fails with AssertionError: "Expected exactly one delegating constructor call but none encountered"KT-53887
Partial linkage: turning from enum to regular class + reference to enum contant causes compileProductionExecutableKotlinJs fail with IllegalStateExceptionKT-54047
Partial linkage: reference to removed enum const causes JS fail with "IllegalStateException: Validation failed in file"KT-54048
Partial linkage: reference to removed enum const in runtime causes Native fail with IllegalStateException at IrBindablePublicSymbolBase.getOwner()KT-57784
"NullPointerException: Parameter specified as non-null is null:" with enum, companion object, 'entries' and mapKT-58365
K2: Fix stub types leakage in builder inference caused by implicit receiver type update with partially resolved calls (IGNORE_LEAKED_INTERNAL_TYPES for stub types)KT-58214
Continuation parameter only exists in lowered suspend functions, but function origin is LOCAL_FUNCTION_FOR_LAMBDAKT-58135
K2: Priority of extension property is lower than ordinary propertyKT-57181
[K1/N, K2/N] Expect and Actual funs have different IdSignature.CommonSignature, if Expect has default argumentKT-56023
Constant operations (e.g. division) are not constant in K2 (JS, Native)KT-57354
In suspend function default arguments are sometimes not deleted in IRKT-55242
K2/MPP: basic build/link functionalityKT-57979
K2: Unresolved reference error when assigning to Java synthetic property with a different nullability getterKT-58142
K2: val parameter with more specific type is lower priorityKT-54518
False negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINE when calling internal method of super classKT-58025
K2: Argument type mismatch when using Springs HandlerMethodArgumentResolverKT-57373
K2: FIR properties synthesized when implementing interface by delegation don't have accessorsKT-58259
Unexpected unresolved function call with obvious invoke-convention desugaringKT-57135
K2: Fir should take into account an annotation's allowed targets as well as the use-site target when deciding whether it applies to a property, a field, or a constructor parameterKT-57958
K2: Initializer type mismatch when using extension property on type with star projectionKT-58149
K2: New inference error with buildListKT-58008
K2: "Cannot find cached type parameter by FIR symbol: T" on suspend function with generic and nested classKT-57835
K2: compiler crash on lambda with dynamic receiverKT-56500
The type parameter TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] reified:false is not defined in the referenced function FUN LOCAL_FUNCTION_FOR_LAMBDAKT-58143
K2: overload resolution ambiguity inside dynamic lambdaKT-58132
K2: Implicit int constant to long converion crashes FirSerializerKT-57378
Partial linkage: Run codegen box tests for Native & JS with enabled PLKT-58207
K2: Handle result of completion of synthetic call with callable reference argumentKT-56549
K2: Reference to Java sealed class fails to compileKT-57994
K2: Type inference failed on function referenceKT-58099
interop0 test fails with error "type kotlin.String? is not supported here: doesn't correspond to any C type"KT-57671
Synthetic $EntriesMappings declaration is public and generated even for enums from current module on ICKT-56517
K2: Reference to Java record fails to compile: "unresolved reference", "Overload resolution ambiguity between candidates"KT-58163
FIR: deserialized default property setter and getter must have FirResolvePhase.ANALYZED_DEPENDENCIES phaseKT-55646
K2: Report definitely non-nullable as reified errorKT-56442
K2: Make sure K2 has the same behavior for defaults with overrides as K1 hasKT-55904
Fix tests for volatile annotation on K2KT-57928
K2: Arguments of annotations on constructor value parameter are not calculatedKT-57814
K2: Argument type mismatch with delegating propertyKT-56490
Implement deprecation for an anonymous type exposed from inline functions with type argumentKT-57962
K2: No set method providing array access on dynamicKT-57353
K2: unresolved reference when using fully qualified object declaration name as an expression, when a declaration package is from another klib and has at least two name segmentsKT-57988
K2: compiler exception on get operator on dynamic thisKT-57960
K2: incorrect type inference in lambda with dynamic receiverKT-56511
K1: false negative SMARTCAST_IMPOSSIBLE when alien constructor property is accessed from a private classKT-55079
Refactor DiagnosticReporterByTrackingStrategy and fix some "diagnostic into black hole" problemsKT-57961
K2: Unresolved reference using dynamic lambda parameterKT-57880
K2: false-positive argument type mismatch due to lambda receiver shadowing labeled outer lambda receiver when assigning lambda to variableKT-57947
K2: Incorrect resolution results when property type for invokeExtension is not inferredKT-56687
Unexpected behaviour with enum entries when using outdated stdlibKT-57806
K2: string interpolation as annotation parameter causes errorKT-57611
K2: Annotation arguments are not evaluatedKT-56190
[K2/N] Const initializers are not serialized to klibKT-57843
K2: Missing diagnostic when calling constructor through typealias whose expansion has a deprecationKT-57350
FIR: deprecation diagnostic is not reported on a super class callKT-57769
[K2] Load properties in proper order for classes compiled with kotlinx.serialization and LV < 2.0KT-56258
VerifyError: Bad local variable type when using -XdebugKT-57839
K2: Compiler crash on lambda returning anonymous object with implemented lambdaKT-57822
K2: Can't refer to external interface from class literalKT-57809
K2: No value passed for parameter of external classKT-56383
Build intellij master with LV 1.9KT-55056
Builder inference causes incorrect type inference result in related callKT-30905
Expect var property with default public setter matches with actual var property with private setterKT-56030
[K2/N] Support Objective-C overloading by param names onlyKT-57665
K2: incorrect resolution of dynamic typeKT-57763
FirExtensionRegistrar extension point brokenKT-40903
Forbid actual member in expect classKT-56965
K/N: linkDebugFrameworkIosArm64 tasks failing with UnsupportedOperationException: VAR name:disposables type:com.badoo.reaktive.disposable.CompositeDisposable [val]KT-57768
Don't decompile code to search for annotation argumentsKT-55628
Diagnostics for kotlin.concurrent.Volatile annotation applicabilityKT-56815
compileKotlin task is stuck with while(true) and suspend functionKT-55860
K2. [CONFLICTING_INHERITED_MEMBERS] for inheritor of a class with overloaded generic functionKT-55316
K2. IllegalStateException on incorrect import directive nameKT-55804
K2: UNSAFE_CALL Non-nullable generic marked as nullable even if non-null assertedKT-55405
K2: false-negative INVISIBLE_REFERENCE in import directivesKT-54781
K2: no error on unresolved import statement with more than one packageKT-55902
K2: Support ImplicitIntegerCoercion annotationKT-56577
Migrate Native KLIB ABI compatibility tests to K2KT-56603
[K2/N] Segfault invoking fun from binary compatible klibKT-54894
K2: False positive RETURN_TYPE_MISMATCH on function which returns a functional type with@UnsafeVariance
argumentKT-57602
K2: Rework member scope of types having projection arguments for covariant parametersKT-50550
False positive NO_ELSE_IN_WHEN with annotatedwhen
branch conditionKT-57431
K2 MPP JS: Compiler crash on transitive common dependenciesKT-57510
K2: Data class equals/hashCode/toString methods are not written to Klib metadataKT-56336
[K2/N] Multiplatform test fails with unexpected "actual declaration has no corresponding expected declaration" compiler errorKT-57556
K2: Rename error 'This API is not available after FIR'KT-56583
K1: Implement opt-in for integer cinterop conversionsKT-23447
Integer.toChar compiles to missing methodKT-46465
Deprecate and make open Number.toChar()KT-56119
BinaryVersion.isCompatible binary compatibility is brokenKT-56527
K2: "AssertionError: Assertion failed" during compilation in SequentialFilePositionFinderKT-55469
[K2/N] equals(Double,Double) and equals(Boolean,Boolean) are not foundKT-55055
K1: Builder inference violates upper boundKT-57316
Initialize Enum.entries eagerly: avoid using invokedynamicsKT-57491
Kotlin synthetic parameter looks ordinaryKT-56747
[K2/N] Return type forlambda: (Any) -> Any
which returns Unit is different for K1 and K2 and return statement is missing with K2KT-57211
K2: incorrect "error: an annotation argument must be a compile-time constant" on unsigned array in annotation argumentKT-57424
K2 IDE: "By now the annotations argument mapping should have been resolved" exceptionKT-56171
Implement deprecation warning for missing PRIVATE_CLASS_MEMBER_FROM_INLINE errorKT-57241
K2 MPP: Actualization doesn't work for actual enum that has primary constructor with argumentsKT-57210
K2 MPP: Support of arguments with dynamic typeKT-57182
K2 MPP: Actualization doesn't work for nested objectsKT-56344
K2: Implement correct errors reporting of IrActualizerKT-54405
K2 compiler allows val redeclarationKT-54531
[K2] Uncaught Runtime exception is thrown instead of user friendly error messages with details in case -no-jdk option set to trueKT-57131
K2: stdlib test compilation fails on ListTest.kt in FirJvmMangleComputerKT-56913
K2: Incorrect line numbers in overriden field getters and settersKT-56982
K2: Incorrect line number start in when expressionKT-56720
K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED in case of delegation in diamond inheritanceKT-57198
K2: false-positive type mismatch error on inherited raw-typed class with type parameters in upper bounds of other type parametersKT-15470
Inconsistency: use-site 'set' target is a compilation error, use-site 'get' target is okKT-57405
K2. Function call ambiguity error when nullable String is passed to function with Spring@Nullable
annotation in signatureKT-57242
Equals behaviour for value classes implementing interfaces is different between 1.8.10 and 1.8.20-RCKT-57261
"IllegalArgumentException was thrown at: MemoizedInlineClassReplacements.getSpecializedEqualsMethod" when comparing non-inline class instance with an inline class instanceKT-27261
Contracts for infix functions don't work (for receivers and parameters)KT-57036
Unresolved reference: with inferred type of class constructor with extension parameterKT-56177
K2: FIR should not generate annotation on both property and parameterKT-54990
NI: Type mismatch when encountering bounded type parameter and projectionsKT-57107
Handling of Windows line endings CRLF broken in latest snapshot with K2KT-57117
K2: Compiler reports invalid columns in diagnostics in case of crlf line endingsKT-55828
[K2/N]: Fix test fails in OPT mode :Internal compiler error: no implementation found ... when building itable/vtable
KT-56169
False negative deprecation warning about future inference error with builder inferenceKT-56657
K1/K2: inconsistent behavior in nullability mismatch (Guava hash set/map)KT-56379
K2: build tests for the Kotlin standard libraryKT-56079
K2: build YouTrack 2022.3KT-56696
K2: Allow to access uninitialized member properties in non-inPlace lambdas in class initializationKT-56630
FIR: ClassCastException on compilation hierarchy with a raw typeKT-57171
K2: Implement bytecode testsKT-56814
K2. PsiElement is null inside IrClass. As a result ClassBuilder defineClass gets null as originKT-54758
DeprecateClassBuilderInterceptorExtension.interceptClassBuilderFactory
and provide another method without dependency on K1KT-57253
K2: clean up callable reference logic in FIR2IRKT-56225
K2. "BackendException: Backend Internal error: Exception during IR lowering" error on incorrect constructor in inline classKT-56769
K2. Annotation applicability is ignored during compilation when there's use-site@target
KT-56616
K2: cannot infer Java array type properlyKT-56506
K1/K2 inconsistency: VAL_REASSIGNMENT on synthetic setter with different nullabilityKT-56665
K2: false positive RECURSIVE_TYPEALIAS_EXPANSIONKT-53966
K2 does not support SAM conversions with condition into Java/Kotlin functional interfacesKT-56013
K2. a set of errors about local properties are missingKT-56771
FIR: Increment operator on qualified expressions leads to exception from resolveKT-56548
K2: false positive overload resolution ambiguity for Java record constructorKT-56476
K2: false positive NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY at inline fun use-siteKT-56138
K2: Illegal conversion of lambda with parameters to ExtensionFunction expected typeKT-55966
K2: Not enough information to infer type variable K if smartcast is usedKT-55423
K2: Implement CONTRACT_NOT_ALLOWEDKT-53846
K2 / Context receivers: ClassCastException on secondary constructor of class with context receiverKT-57029
Per-file caches fail on local inline function in an inline functionKT-57033
Make KtClassLiteralExpression stub basedKT-57035
Make KtCollectionLiteralExpression stub basedKT-40857
Invalid parameterized types for extension function on parameterized receiver when javaParameters=trueKT-56154
Compiler backend crash on reference to Java synthetic property from generic classKT-55879
Modularized tests: fir.bench.language.version is used as API version, not language versionKT-55886
K2: Wrong code location mapping with Windows line endingsKT-51821
ClassCastException on anonymous fun interface implementation when unrelated vararg is usedKT-57053
Problem around anonymous objects in inline functionsKT-56579
[K2/N] IR actualizer crashed with K2 on expect annotation marked with@OptionalExpectation
, without actual.KT-56750
K2: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER" when calling typealias method referenceKT-55614
K2: consider serializing static enum members (values/valueOf/entries) to match K1 behaviorKT-30507
Unsound smartcast if null assignment inside index place and plusAssign/minusAssign is usedKT-56646
K2: "IllegalStateException: No single implementation found for: FUN FAKE_OVERRIDE" when compiling a functional interfaceKT-56514
K2 should report ACTUAL_TYPE_ALIAS_NOT_TO_CLASSKT-56522
K2 should report ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTSKT-56542
K2: false positive TOO_MANY_ARGUMENTS in VarHandle.set callKT-56861
FIR: test FirPluginBlackBoxCodegenTestGenerated.testClassWithAllPropertiesConstructor is failing with runtime errorKT-56234
K2: "ISE: Expected value generated with NEW" with inline property setter and noinline parameterKT-56722
K2: cannot resolve component call after smart castKT-56714
K2: wrong argument mapping in DSLKT-56723
K2: lambda accidentally returns Unit? instead of UnitKT-56847
Unresolved reference to Java annotation in Kotlin class with the same name packagesKT-55877
K2: Secondary constructor without call to parent: no frontend error, ISE: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER"KT-56386
K2: Make possible to access Java field which is shadowed by Kotlin invisible property`KT-56862
Compatibility problem with using Kotlin in Intellij 223 or higher because of missing particular trove4j dependencyKT-55088
JS, Native compilation fail with internal error onSomeEnum.entries
reference whenSomeEnum
is from klib compiled with disabled EnumEntries language featureKT-40904
No warning when declare actual in the same target (module) as expectKT-56707
K2: Unexpected TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM where only getter type specified explicitlyKT-56508
Context receivers: Internal compiler error when compiling code containing a class with a secondary constructorKT-56505
K2: MissingNO_EXPLICIT_VISIBILITY_IN_API_MODE
errors on various declarationsKT-56215
JVM: Object extension function nullable receiver null check false negative when object is nullKT-56188
K/N: AssertionError when casting SAM wrapper with generic type parameterKT-56033
Restore 'isMostPreciseContravariantArgument' function signature for compatibilityKT-56612
K2: false positive NO_TYPE_ARGUMENTS_ON_RHS on raw cast with type alias based argumentKT-56701
K2 (with LightTree) reports syntax errors without additional informationKT-56649
K2 uses 0-index for line numbers rather than 1-indexKT-56445
K2: False-positive unresolved reference to callable reference to function with default argumentKT-55024
K2: overload resolution ambiguity/unresolved reference if variable is smart-casted to an invisible internal classKT-55722
K2: Incorrect OVERLOAD_RESOLUTION_AMBIGUITY with smart cast on dispatch receiver (simple)KT-56563
Inference within if stops working when changing expected type from Any to a different typeKT-55936
K2: Support proper resolution of callable references as last statements in lambdaKT-45989
FIR: wrong callable reference type inferredKT-55217
Appendable::append
reference resolve inconsistenciesKT-55169
K2: False-negative NO_ELSE_IN_WHENKT-55932
K2. No compiler error when elvis operator returns not matched typeKT-53987
K2: False negative "TYPE_MISMATCH" with if statement returnKT-55436
K1: implement warning about shadowing of the derived property by the base class fieldKT-56521
Static scope initializers sometimes not called when first accessed from interopKT-41038
NI: TYPE_MISMATCH when passing constructor of nested classKT-42449
Can not resolve property for value of type Any even after casting type to a type with star projectionKT-52934
StackOverflow fromPseudocodeTraverserKt.collectDataFromSubgraph
withif
insidefinally
KT-52860
StackOverflowError when casting involving recursive generics and star projectionKT-52424
ClassCastException: Wrong smartcast to Nothing? with if-else in nullable lambda parameterKT-52262
TYPE_MISMATCH: Nonnull smartcasting fails with non-exhaustive whenKT-51045
SETTER_PROJECTED_OUT: Star projected nullable property can't be set to nullKT-40480
[FIR] SupporthasStableParameterName
from metadataKT-50134
NI: Type inference regression in java streams groupingByKT-50160
False positive "USELESS_CAST" caused by indexed access operatorKT-42715
Unable to use implicit lambda paramit
for overloaded methodsKT-49045
False positive USELESS_CAST in generic type with nullable type parameterKT-49024
AssertionError: Variance conflict: type parameter variance 'out' and projection kind 'in' cannot be combinedKT-48975
Type mismatch: inferred type is X but Nothing! was expected with the AssertJ latest versionKT-47870
INVISIBLE_MEMBER: Kotlin class can't access protected annotation defined in Java parent classKT-47495
ReenteringLazyValueComputationException on invalid codeKT-47490
Missed diagnostic for incorrect callable reference in finallyKT-47484
"Recursion detected in a lazy value under LockBasedStorageManager" on invalid codeKT-46301
Combining branches with sealed interfaces inwhen
breaks type inferenceKT-44392
False negative: redundant nullability/not null check on cast with as operatorKT-43936
Recursion detected on input: ANNOTATION_ENTRY with annotation on star-imported nested classKT-43846
No smart cast when returning function closures with captured smart-cast variableKT-43603
False positive USELESS_CAST leads to TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM on "when" with smart cast and extension propertyKT-43553
JVM / IR: "AssertionError: Unbound symbols not allowed" caused by annotation class with TYPE targetKT-42169
False negative CAST_NEVER_SUCCEEDS for incompatible types with generic parameter and star projectionKT-42136
NI: False positive [USELESS_CAST] when list serves to create a mutable listKT-41721
SAM conversion fails on varargs with type approximated to NothingKT-38288
Unresolved reference for type parameter upper bound of nested class when outer class extends it with star projected type argumentKT-37490
NULL_FOR_NONNULL_TYPE: "Null can not be a value of a non-null type Nothing" when null is passed to nullable argument of type projected methodKT-37365
NPE fromReflectionReferencesGenerator.generateCallableReference
with inner class function reference and wrong parenthesisKT-36958
NI: missed unresolved on parenthesized callable reference passing through call (back-ends throw an exception)KT-30756
No smartcast if elvis operator as a smartcast source in while or do-while is used as the last statementKT-24737
Report an error on invalid this-expression with angle brackets on left-hand side of a callable referenceKT-21463
Compiler doesn't take into accout a type parameter upper bound if a corresponding type argument is in projectionKT-6822
Smart cast doesn't work inside local returned expression in lambdaKT-56073
K2: build ExposedKT-55840
Inconsistency between members of enums in bytecode between FE 1.0 + JVM IR and FIR + JVM IRKT-47815
JVM: "Recursion detected in a lazy value under LockBasedStorageManager" when trying to inherit interface from a class with non-trivial functionKT-17817
No error reported on invalid LHS for class literalKT-47373
Missed diagnostics on/after non-null assertion (!!) on generic class class use with class literalKT-51143
Wrong Unit-requiring at if/when branch with stub typesKT-53671
False-positive diagnostic reported on OptIn annotation import from root packageKT-53494
Mistaken type inference in compound 'if' expression with nullability check and covariant typeKT-28668
"AssertionError: Unrelated types in SAM conversion for index variable" if lambda argument of '[...]' in LHS of augmented assignment is used as an implementation for different SAM interfacesKT-55931
Inference for callable reference inside synthetic calls for if/when/try/etc stops working when brought into lambda for a callKT-20223
Inline access check ignores operator calls toinvoke()
KT-54478
@NoInfer
causes CONFLICTING_OVERLOADSKT-56472
K2: Add stack of all FIR elements to CheckerContextKT-41126
[FIR] Inconsistency of a compiler behaviour at init block for an enum entry with and without a qualifier nameKT-54931
Annotations defined in nested classes cannot be instantiated directlyKT-24901
No smart cast forwhen
with early returnKT-7389
No intersection type for type parameter with multiple upper bounds in star projectionKT-53086
"Cannot access '' before superclass constructor has been called" with inner class secondary constructorKT-55137
Callable references with conversion are incorrectly allowed to be promoted to KFunctionKT-30497
EXACTLY_ONCE contract doesn't work in a function withvararg
parameterKT-47074
Front-end Internal error: Failed to analyze declaration State / java.lang.IllegalStateException: Should not be called! when try to add ParcelizeKT-24503
Return-as-expression is allowed as this/super constructor parameterKT-55379
False positive NO_ELSE_IN_WHEN with smartcast to BooleanKT-47750
False positive NO_ELSE_IN_WHEN in presence of smartcast to sealed interfaceKT-53819
False positive UNINITIALIZED_VARIABLE with secondary constructor and custom property getter in local classKT-56457
JVM: Enum.entries are not annotated with@NotNull
KT-56072
K2. "IllegalStateException: Fir2IrSimpleFunctionSymbol for is already bound" when trying to access java synthetic property of inherited classKT-50082
Kotlin non-overriding property of subclass doesn't shadow same-named Java field from base classKT-55822
False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED with raw types and mixed overridden membersKT-55666
K2: label on local function is rejected: "Target label does not denote a function"KT-56283
False-positive INVISIBLE_MEMBER on overridden member of more specific type after smart castKT-51969
[FIR] Compilation for expect value class fails with "Fir2IrSimpleFunctionSymbol for [declaration] is already bound"KT-56061
K1 does not report error on inconsistent synthetic property assignmentKT-55125
Difference in generated bytecode for open suspend functions of generic classesKT-55295
K2/MPP: JS build functionalityKT-55909
[K2/N] IndexOutOfBoundsException for a reference to a function defined in companion object superclassKT-55664
K2: eliminate ClassId.isSame call from FirClass.isSubclassOfKT-55747
K2. "Convention for 'mod' is forbidden. Use 'rem'" error is missingKT-56104
Unnecessary inner classes attributes in class files for subclassesKT-55570
K2: ACTUAL_WITHOUT_EXPECT error is not reported on a simple actual classKT-56176
[K2/N] "IllegalStateException: actual type is kotlin.Int, expected kotlin.Long" when expected type uses typealiasKT-56199
K2 + MPP + kotlinx.serialization: java.lang.VerifyError: Bad type on operand stack in aaloadKT-56212
K2: Exception when compiling extension function declaration with illegally chained type parameter receiverKT-54140
SOE atIrBasedDescriptorsKt.makeKotlinType
with mixing recursive definitely not nullable type with nullabilityKT-56224
Clarify message "Secondary constructors with bodies are reserved for for future releases" for secondary constructors in value classes with bodiesKT-55503
K2: "Argument type mismatch" caused by using the wrong "this"KT-56050
K2: inconsistency regarding visibility of synthetic properties with protected getter and public setterKT-49663
FIR: Support@kotlin.jvm.PurelyImplements
for java collectionsKT-54507
K2: WrongimplicitModality
for interface inFirHelpers
KT-55468
[K2/N] Crash with debuginfo caused by changed tree using IMPLICIT_COERCION_TO_UNITKT-56269
[K2/N] Don't test "Tailrec is not allowed on open members" in K2KT-56172
K2: Fix reporting of PRIVATE_CLASS_MEMBER_FROM_INLINE errorKT-54647
K2: Function call with Lambda on LHS of assignment leads to KotlinExceptionWithAttachments: FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtFunctionLiteralKT-54648
K2: Function call on left side of erroneous assignment isn't resolvedKT-55171
Put new contracts syntax under a feature flagKT-55699
K2. False Negative "Type parameter T is not an expression"KT-55973
K2: Exception from UnusedChecker on an unused destructuringKT-56275
K2 IDE: Missed error for enum super typeKT-54775
K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl " exception on incorrect codeKT-55528
K2: CFA for property initialization analysis is not run for class initialization graphsKT-54410
K2: Deprecation warning instead of "this declaration is only available since Kotlin X" when language version in project are below required to use language featureKT-55186
K2: No compilation error on calling exception without constructorKT-36776
Treat special constructions (if, when, try) as a usual calls when there is expected typeKT-54694
Consider enabling BooleanElvisBoundSmartCasts in K1 or K2KT-54587
K2. CCE on compilation when some operator fun is needed and it is implemented as an extension function for another classKT-54417
K2: move receiver-targeted annotations to KtReceiverParameterSymbol and remove it from FirProperty receiver typeKT-33917
Prohibit to expose anonymous types from private inline functions
IDE
Performance Improvements
KT-56613
Reduce memory consumption of light classes
Fixes
KT-57849
K2: contract violation due to implicit java type with annotationKT-57857
LC: FakeFileForLightClass: Read access is allowed from inside read-actionKT-57578
SLC: incorrect upper bound wildcardsKT-57917
Analysis API: decompiled value parameters are not resolvedKT-56046
K2 IDE: Avoid redundant resolve from annotationsKT-57569
SLC: incorrect visibility for lateinit var with private setterKT-57547
SLC: non-lastvararg
value parameter type mismatchKT-57548
SLC: incorrect inheritance list for ComparatorKT-57579
SLC: unboxed type argument as method return typeKT-56843
Light classes: certain kinds of constant values in property initializers aren't supportedKT-56868
SLC: IncorrectOperationException on enum annotation arguments that are not valid Java identifiersKT-56833
Light classes: Accessors to lateinit properties don't have@NotNull
annotationsKT-56845
Light classes: Overridden property accessors don't have@Override
annotationKT-56441
K2 IDE: reference from Java to ObjectName.INSTANCE of private object is red in IDE, but compiled successfullyKT-56891
Symbol Classes: DefaultImpls classes contain methods without default implementationKT-56842
Light Classes: Primitive-backed context receiver parameters shouldn't be marked with@NotNull
KT-56835
Light classes: Underlying fields for delegated properties should be marked as final and@NotNull
KT-56840
Light Classes: Inline classes backed by Java primitives shouldn't be marked with@NotNull
KT-56728
K2 IDE. False positivenot applicable to
for kotlin annotation with target annotating Java elementKT-55815
SLC: Keep annotations on type when converting toPsiType
KT-55669
K2 IDE: INRE from light classesKT-55150
Argument for@NotNull
parameter 'scope' of org/jetbrains/kotlin/resolve/AnnotationResolverImpl.resolveAnnotationType must not be null
IDE. Misc
KT-58763
K2 IDE: NoSuchMethodError: KtPsiFactory$Companion.contextual
IDE. Script
KT-56632
Script configuration cannot be loaded for embedded code snippets
JavaScript
New Features
KT-12784
JS: generate ES2015 compatible modulesKT-48154
KJS / IR: Inline members support for external typesKT-51582
FIR: support basic compile-time evaluation for JS backend
Fixes
KT-39650
KJS IR: provide a way to enable ES2015 class generationKT-57990
KJS/IR. Invalidsuper
call for final parent methods (ES classes)KT-58246
KJS: ES15 classses — duplicated code in class constructorKT-57479
KJS: Add an annotation for a function parameter which checks that a passed argument has an external typeKT-51706
Partial linkage: in case of absent symbol referred from declaration Native compiler is successful, JavaScript failsKT-56237
KJS + IC: Adding or removing interface default implementation doesn't invalidate children and doesn't update JS codeKT-54638
K2/JS: Fir2ir - implement and use JS-specific manglerKT-54028
Native / JS: Using private object implementing a sealed interface causes a linker errorKT-57423
KJS: Add an annotation for external interfaces which allows to be inherited only by other external interfaces, classes or objectsKT-57711
K2: Native & JS fail to compile a KLIB that uses const val from a dependency KLIBKT-43490
KJS / IR: "Cannot set property message of Error which has only a getter" caused by class that is child of ThrowableKT-57078
JS IC: Unbound symbol left inSymbolTable
inJsIr[ES6]InvalidationTestGenerated.testBreakKlibBinaryCompatibilityWithVariance
testsKT-54452
Kotlin/JS libraries with "joined" legacy+IR content: publish IR sources for themKT-57254
Deprecateexternal enum
declarationsKT-57002
KJS: "JsParserException: missing name after . operator" when a js(...) block contains an interpolated constantKT-53180
Kotlin/JS: generated TypeScript constructor can have "TS1016: A required parameter cannot follow an optional parameter" error with certain properties orderKT-56961
JS IR: serializedIrFileFingerprints in klib manifest has a wrong formatKT-56282
KJS: Invalidate incremental cache in case of compiler internal errorsKT-55720
KJS:ReferenceError: SuspendFunction1 is not defined
with 1.8 when importingkotlin.coroutines.SuspendFunction1
KT-56469
KJS: BE Incremental rebuild spoils source map comment
KMM Plugin
KT-55402
"Framework not found SQLCipher": after selection of "Regular framework" as "iOS framework distribution" and installing SqlCihper through CocoaPodsKT-55988
KN debugger in KMM plugin for Android Studio can't recognize the source code
Language Design
KT-53778
Release stdlib API about "rangeUntil" operator in 1.9KT-53653
Export Enum.entries to Objective-C and SwiftKT-55177
Deprecate declaration of expect and actual counterparts of same class in one moduleKT-28850
Prohibit protected visibility in final expected classesKT-39362
Expect fun interface must have actual fun interface counterpartKT-57395
Delay ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound feature to LV 2.0KT-55082
Bump KLib version for Enum.entries
Libraries
New Features
KT-58046
Stabilize remaining kotlin.time API: time sources, time marks, measureTimeKT-58074
Stabilization of Atomics API in K/NKT-55268
Mutiplatform@Volatile
annotationKT-51908
Provide common function for getting regex capture group by nameKT-53263
Path.createParentDirectoriesKT-7637
Add toString() to standard delegates classes (NotNullVar, LazyVal, BlockingLazyVal, ...)KT-40728
Add AssertionError constructor withcause: Throwable
parameter to common stdlibKT-57298
Avoid FileAlreadyExistsException from Path.createParentDirectories in case of parent is symlink
Performance Improvements
KT-54739
build
method in collection builders (Set, Map, List) should return a single instance for empty collectionsKT-42589
Provide common listOf(value) overload to avoid allocation of the varargKT-55091
Stdlib: Sequence.toSet() and Sequence.toList() may create the collection twiceKT-57617
Optimize ReversedListReadOnly iteratorKT-57607
KJS: Bad performance for ArrayList.addAll
Fixes
KT-58841
Serialization: NPE when obtaining a serializer of a sealed base class with a self-referencing propertyKT-55612
Stabilize experimental API for 1.9KT-57728
Explicitly specify level of stability of programmatically-accessible interoperability APIKT-58548
Stabilize standard library API for Enum.entriesKT-58276
Deprecate redundant public declarations in kotlin.native.concurrentKT-57762
Introduce HexFormat for formatting and parsing hexadecimalsKT-57317
Repack EnumEntries from stdlib into the compilerKT-54702
Native: mark Worker and related APIs as obsoleteKT-55610
Deprecate kotlin.jvm.Volatile annotation in platforms except JVMKT-57404
Native: Support AnnotationTarget.TYPE_PARAMETERKT-57318
Change EnumEntries stdlib implementation to be eagerKT-57137
Native: Consider removing ArrayAsListKT-55935
[Kotlin/JVM] Path.copyToRecursively does not work across file systemsKT-51579
PlatformImplementations loading is not compatible with graalvm native-image --no-fallback
Native
KT-52594
Provide Alpha support for Native in the K2 platformKT-56443
Native link task reports w: Cached libraries will not be used for optimized compilationKT-56071
K2/MPP: Native build functionalityKT-56218
[K2/N] Receiver annotations for properties are not serializedKT-56326
[K2/N] RemoveRedundantCallsToStaticInitializersPhase removes important static initializerKT-54098
Decommission and remove 'enableEndorsedLibs' flag from Gradle setup
Native. Build Infrastructure
KT-58160
Native: performance build configuration fails with NoSuchMethodError: 'boolean kotlinx.coroutines.CompletableDeferredKt.completeWith(kotlinx.coroutines.CompletableDeferred, java.lang.Object)'
Native. C and ObjC Import
KT-54610
Kotlin Native can't callobjc_direct
functionsKT-54805
KMP ios memory leak when using CA LayerKT-57490
[K/N] Duplicate package names for cinterop klibs with objc protocols fails to linkKT-57541
Compilation fails without explicit cast on cinterop code
Native. ObjC Export
KT-56464
K/N: Allow HiddenFromObjC for classesKT-57507
K2: Set of Objc exported declarations is different between K1 and K2
Native. Runtime
KT-58441
Kotlin/Native:@ObjCAction
@ObjCOutlet
generate bridges without switching stateKT-57091
Align Native and Java file/class initialization behavior
Native. Runtime. Memory
KT-56233
[Kotlin/Native] Crash when enum values are accessed in multiple threadsKT-58130
Implement preview of custom allocator for Kotlin/NativeKT-56402
Native: if a Kotlin peer for an Obj-C object is created on the main thread, then Kotlin runtime should run objc_release for it on the main thread
Native. Stdlib
KT-57344
Try to remove strange .equals overload on primitive typesKT-57592
Native: Remove the default parameter value for AtomicLong constructor
Native. Testing
KT-57349
Enable more K2 MPP codegen/box tests for Kotlin/NativeKT-57026
K2: Fix Native test infrastructure for MPP
Reflection
KT-56650
ArrayStoreException from InlineClassAwareCaller.call with an array of inline classKT-56093
Metaspace leak in a Gradle plugin built with Kotlin 1.8.0KT-27585
Flaky IllegalPropertyDelegateAccessException: Cannot obtain the delegate of a non-accessible property. Use "isAccessible = true" to make the property accessibleKT-55937
Optimize implementation of kotlinFunction/kotlinPropertyKT-54833
Reflection: Incorrect behaviour for Field.kotlinProperty function in companion objects
Tools. CLI
KT-56209
Add CLI support for HMPP in K2KT-57495
Add JVM target bytecode version 20KT-56789
Metaspace memory leak in CoreJrtFileSystemKT-57077
1.8.20-RC-243
shows Java 19 warnings even if configured with Java 17 toolchainKT-56992
Performance test regression in Gradle when switching to Kotlin 1.8.20KT-57644
K2: Prohibit passing HMPP module structure with CLI arguments to metadata compilerKT-56925
Remove warning about assignment pluginKT-56351
Reduce memory usage spent on compiler settings
Tools. Commonizer
KT-57796
NoSuchFileException in :module-B:commonizeCInterop with Kotlin 1.8.20KT-56207
Investigate failing tests in ClassifierCommonizationFromSourcesTest
Tools. Compiler Plugins
Fixes
KT-57406
FIR Compiler plugins: Assignment plugin incorrectly recognizes qualified names of annotationsKT-57400
FIR Compiler Plugins:annotated
predicate does not work with Java classesKT-57140
K2: Implement backwards compatibility for FirFunctionTypeKindExtensionKT-55375
Remove "legacy" mode of jvm-abi-gen pluginKT-53470
FIR: passMemberGenerationContext
to all methods of FirDeclarationGenerationExtensionKT-51092
Lombok@Value
causes IllegalAccessErrorKT-56487
Add more methods to DescriptorSerializerPluginKT-55885
K2 plugin API: Backend-only declarations are not visible from other modulesKT-55584
K2: Improve registration of session components from compiler pluginsKT-55843
FIR Plugin API: metaAnnotated predicate returns meta-annotation itself as wellKT-53874
Optimize checking for plugin applicability and redesign DeclarationPredicates
Tools. Compiler plugins. Serialization
KT-58067
Serialization: NullPointerException caused by@Contextual
property with type with genericKT-57730
Serialization: "IllegalStateException: Serializer for element of type .Foo has not been found" caused by serialization of Java typeKT-56594
K2/serialization reports SERIALIZER_NOT_FOUND over aliased String or primitive typesKT-56990
"AssertionError: SyntheticAccessorLowering should not attempt to modify other files" in kotlinx-serialization using@Serializer
and List argumentKT-56553
Support 'serialization plugin intrinsics' feature in K2KT-56244
kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0
Tools. Daemon
KT-50846
Remove "new" Kotlin daemon from codebase
Tools. Gradle
New Features
KT-57159
Add project level compiler options for Kotlin/JVM pluginKT-56971
Expose jvmTargetValidationMode property in KotlinCompile Gradle task
Performance Improvements
KT-57052
Gradle: Stop using exceptions for flow controlKT-57757
Reduce classpath snapshotter memory consumptionKT-56052
Implement an in-memory wrapper for PersistentHashMap to avoid applying changes to IC caches before successful compilation
Fixes
KT-58745
KaptGenerateStubs task should also be configured with the same compiler plugin optionsKT-58571
ExplicitApi mode should not apply for test compilationsKT-52811
Kotlin Serialization metadata issue due to incompatibility between Gradle Kotlin embedded version and Kotlin Gradle Plugin versionKT-57224
Add an indicator into build metrics report to show whether K1 or K2 compiler was used to compile the codeKT-58682
Explicit api mode does not apply in MPP projectsKT-57736
K2: Introduce an easy way to try K2 compiler in Gradle user projectsKT-52976
Remove deprecated Gradle conventions usagesKT-58530
Compiler plugin unbundling changes should be backward compatible with Kotlin pluginKT-36904
Adding folders to sourceSets.resources.srcDir() in Gradle script does not workKT-57330
Provide collection of usage statistics for the DokkaKT-58619
Move all pm20 interfaces into Gradle plugin codebaseKT-58320
Kotlin daemon OOM help message is missing on OOM in Kotlin Daemon itselfKT-58167
Applying KAPT plugin to Gradle 8.1 causes configuration cache missKT-53923
Add 'progressive' compiler argument to Gradle compiler optionsKT-53924
Add 'optIn' compiler arguments to Gradle compiler optionsKT-53748
Remove KotlinCompile setClasspath/getClasspath methodsKT-56454
Bump minimal support AGP version to 4.2.2KT-57767
Gradle: "ZipException: invalid entry size" with 1.8.20KT-57397
Add infrastructure to use the build-tools-api to run compilation from GradleKT-56946
Switch incremental Gradle tests for K2 to use language version 2.0KT-55624
Update KGP integration tests that use removed in Gradle 8 getClassifier methodKT-57782
Disable daemon fallback strategy for Gradle integration tests by defaultKT-56645
Gradle: KGP reports an incorrect resources processing task name for JVM projectsKT-55824
DeprecatecommonMain.dependsOn(anything)
in user scriptsKT-57142
Split org.jetbrains.kotlin.gradle.tasks/Tasks.kt into several source filesKT-56211
Improve Kotlin build reportsKT-54447
Remove usage of deprecated internal Gradle field in Kotlin Gradle Plugin, replace with equivalent in public APIKT-49785
Avoid creating task output backups until really neededKT-56047
False positive message about full recompilation is displayed while restoring from build cache and then making a syntax errorKT-56421
Gradle: plugin should not use BasePluginExtension deprecated propertiesKT-55241
Gradle: the VariantImplementationFactories build service state is not persistent making impossible to access factories with configuration cache lazilyKT-56414
Dependency locking and failed builds with Kotlin 1.8.10KT-56357
Gradle: "DefaultTaskCollection#configureEach(Action) on task set cannot be executed in the current context" because of VariantImplementationFactoriesKT-56352
Make build scan reports more readableKT-52149
Gradle: declare shared build services usages withTask#usesService
KT-55741
Gradle 8: Build service '' is being used by task '' without the corresponding declaration via 'Task#usesService'.KT-55174
KotlinCompile task produces deprecation "Build service 'variant_impl_factories_...' is being used by task"KT-55972
Gradle: Add an assertion to all integration tests ifwarningMode
is notFAIL
, but the build doesn't produce any warnings
Tools. Gradle. Cocoapods
KT-38749
Support dependencies between pods when using the cocoapods pluginKT-54161
Support adding extra code to generated Podfile from the Kotlin gradle pluginKT-49430
Stop invalidating iOS framework generated by KMM module on each Gradle SyncKT-56304
Podspec generated with new K/N artifact DSL contains wrong artifact names for static and dynamic librariesKT-56162
Provide granular Gradle warnings suppression for CocoaPodsIT
Tools. Gradle. JS
New Features
KT-32209
org.jetbrains.kotlin.js does not respect Gradle's archivesBaseNameKT-56158
KJS: Support implementation dependenciesKT-48791
KJS: Support for Power(ppc64le) and Z(s390x)
Fixes
KT-57985
K/JS:packageJson
Gradle configurations don't inherit unique attributes from JsTarget DSLKT-57817
JS: executables for couple of JS targets builds in the same directoryKT-58199
K/JS: Remove useCoverage methodKT-57116
KJS / Gradle:commonWebpackConfig
not applied if called afterbinaries.executable()
KT-58522
K/JS: Upgrade NPM dependency versionsKT-57629
K/JS: Change default destination of JS production distributionKT-57480
K/JS: Use IR compiler by default without explicit choosing of js compilerKT-58345
K/JS: Webpack task skipped with ES modules because files have mjs extensionKT-56458
KJS / Gradle: Unnecessary and confusing "There are multiple versions of "kotlin" used in nodejs build" generated fromYarnImportedPackagesVersionResolver
KT-56690
Kotlin2JsCompiler friendDependencies cannot be configured through friendPathsKT-57920
K/JS: Make imported NPM package not considering dev dependenciesKT-56025
KJS / Gradle: Gradle 8.0 jsBrowserProductionWebpack uses the output of another project's jsProductionExecutableCompileSyncKT-57630
K/JS: webpack updating twice on one change of kt sourcesKT-47351
KJS / IR::jsTestPackageJson
is unable to find nested included builds under composite buildKT-57387
Remove support of webpack 4KT-57386
Kotlin/JS upgrade npm dependenciesKT-56765
K/JS: Several binaries use same cache directoryKT-56488
Debugger won't stop on breakpoints of JS browser testKT-56705
KJS / Gradle: Module name starting with '@' isn't properly set when FUS is disabledKT-56719
KJS / Gradle: Compile sync task has to sync only changed filesKT-46428
KJS / IR: Composing build failed "Failed to create MD5 hash for package.json"KT-53687
Don't trigger npm and yarn related tasks if it not relevant for assembleKT-49915
KJS / Gradle: Gradle build cache miss because of absolute path inKotlinJsIrLink.filteredArgumentsMap
KT-56192
KJS: In browser testing no original sources in stacktraceKT-42395
Kotlin/JS: Gradle DSL: PackageJson.customField() does not accept nullKT-43305
Support Node.JS downloading for UbuntuKT-48631
KJS: Unconditionally uses linux/x86 binariesKT-38015
NodeJS installation does not extract symlinks correctly (npm and npx)
Tools. Gradle. Multiplatform
New Features
KT-55881
Add possibility to enable/disable sources publication similar to Java Gradle Plugin API
Fixes
KT-55751
MPP / Gradle: Consumable configurations must have unique attributesKT-49933
Support Gradle Configuration caching with HMPPKT-58470
Warning about using MPP libraries published in the legacy mode is not reported if the dependency is declared in an intermediate source setKT-58086
Warn about using MPP libraries published in the legacy modeKT-58466
K2 Gradle: non *.kt files are passed to -Xfragment-sourcesKT-58319
kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'"KT-58281
Kotlin Gradle Plugin: Enable Kotlin/Android SourceSetLayout v2 by defaultKT-51940
HMPP resolves configurations during configurationKT-41506
UnknownDomainObjectException: "KotlinSourceSet with name not found" when creating custom compilations after applying withJava to an MPP JVM targetKT-58209
Do not use the term 'Module' in KotlinTargetHierarchyKT-56285
TCS: Gradle Sync: IdeProjectToProjectCInteropDependencyResolver: Ensure lenient resolutionKT-56571
New import broke apiVersion for commonMain, commonTest and jvmAndAndroidMain modulesKT-56536
Multiplatform: Composite build fails on included build with rootProject.name != buildIdentifier.nameKT-56841
MPP: Module-to-module dependencies don't work inside included build in included buildKT-42748
Project that transitively depends on composite build of multimodule multiplatform library cannot resolve dependencies properlyKT-52356
MPP / Gradle: Missing common classes on KMM project integrated via Gradle included build into an Android applicationKT-51293
Unresolved references with hierarchical project structure when building KotlinMetadata from native-common source setKT-56729
commonizeCInterop: Duplicated libraries: co.touchlab:sqliter-driver-cinterop-sqlite3KT-56510
Import with included plugin build may fail with OverlappingFileLockException during commonizeNativeDistributionKT-56700
V2 MPP Source Set layout warnings should include link to docsKT-56115
Multiplatform;Composite Builds: Support import with cinterop commonization enabledKT-56429
Fix flaky: MppIdeDependencyResolutionIT.test cinterops - are stored in root gradle folderKT-56337
Unable to import a project with cinterop with enableKgpDependencyResolutionKT-55926
TCS: Gradle Sync: Import Extras on KotlinSourceSet and KotlinTargetKT-55891
Deprecate pre-HMPP flagsKT-56278
TCS: Gradle Sync: [MISSING_DEPENDENCY_CLASS] on libraries used in shared native source setsKT-55730
MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source setsKT-56204
KotlinTargetHierarchy: Changing naming from 'any' to 'with' prefixKT-56111
Multiplatform;Composite Builds: Clean builds fail on when 'hostSpecificMetadata' is required
Tools. Gradle. Native
KT-53108
Expose Kotlin/Native compiler options as Gradle DSLKT-58063
Kotlin/Native tasks configuration cache are not compatible with Gradle 8.1KT-38317
Kotlin/Native: NSURLConnection HTTPS requests fail in iOS tests due to --standalone simctl flagKT-37051
MPP Gradle plugin: duplicated cinterop libraries in composite buildKT-56280
Gradle: freeCompilerArgs are no longer propagated from compilations to Native binariesKT-56205
Shared Native Compilation: False positive 'w: Could not find' warnings on metadata klibs
Tools. Incremental Compile
KT-58289
IC fails to detect a change to class annotationsKT-56197
If use classpathSnapshot, the invoke place of subclass's super function who has default parameters will not recompiled if it is incremental buildKT-56886
K2: Changes to Java sources used in Kotlin project do not trigger a rebuild if a previous build was successfulKT-55021
New IC: "The following LookupSymbols are not yet converted to programSymbols" when removing/renaming file facades
Tools. JPS
KT-56438
Add minimal statistic report for JPS buildKT-58314
kotlin-build-statistics is missing for kotlin-jps-pluginKT-55696
JPS IC K2 - fix new failing tests with Java interopKT-57102
SCE: DefaultErrorMessages$Extension: DefaultErrorMessagesWasm not a subtype after adding WASM error messagesKT-56165
Language version 1.9 and 2.0 is absent in Kotlin Compiler settings
Tools. Kapt
KT-57598
K2: Support a fallback mode executing Kapt with K1 even when the compiler is run with languageVersion=2.0KT-54468
KAPT Gradle plugin causes eager task creationKT-58027
Kotlin 1.8.20 kapt issue "null: KtCallExpression: build()"KT-58226
KAPT: “org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtNameReferenceExpression” with enum with secondary constructorKT-56360
Kapt with JVM IR changes fields orderKT-54380
Kapt / IR: Build failed when inheritance by functional interface with suspend modifier
Tools. Maven
KT-58101
'Unable to access class' in kotlin-maven-plugin after updating to Kotlin 1.8.20KT-58048
Maven: "Too many source module declarations found" after upgrading to 1.8.20KT-13995
Maven: Kotlin compiler plugin should respect model's compile source rootsKT-55709
Maven: "java.lang.reflect.InaccessibleObjectException: Unable to make field protected java.io.OutputStream java.io.FilterOutputStream.out accessible"
Tools. Scripts
KT-58366
The obsolete kotlin-script-util jar is still published and contains broken JSR-223 implementation
Tools. Wasm
KT-56585
Change wasmBrowserRun Browser Executable to System DefaultKT-56159
Running (karma) tests doesn't work in a project generated by wizard "Browser Application for Kotlin/Wasm"KT-57203
Update Kotlin/Wasm to support Gradle 8
Checksums
File | Sha256 |
---|---|
kotlin-compiler-1.9.0-Beta.zip | e0f069c5777cf6558c8fc18751953cdb04f748284a4160a9c4880df2b9e2329a |
kotlin-native-linux-x86_64-1.9.0-Beta.tar.gz | af2b42db19bc57225d394f6ea9130ddc1d251d42cfc5a4247ff592ee37980839 |
kotlin-native-macos-x86_64-1.9.0-Beta.tar.gz | f4669e484f3f4f4c4d3c1583e88ca7cca22f835847144786d1cb0530760cba5b |
kotlin-native-macos-aarch64-1.9.0-Beta.tar.gz | 2885c77e9367671f9293f31cd117f23e5b642fa44a6b737125494cc24a13c66f |
kotlin-native-windows-x86_64-1.9.0-Beta.zip | d32776a80d91a92ab1437666d7d98bc2ac42db13b401adc13170e3f1753fa1f0 |