You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
KT-57930 Analysis API: provide an API for extending Kotlin resolution
KT-57636 K2: Add the return type of K2 reference shortener AA ShortenCommand::invokeShortening() e.g., ShorteningResultInfo to allow callers to access the shortening result PSI
Fixes
KT-58249 Analysis API: Disable error logging for FE10 implementation of resolveCall when resolve is not successful
KT-55626 Impossible to restore symbol by psi from script file
KT-57314 LL FIR: Combine LLFirProvider$SymbolProviders in session dependencies (optimization)
KT-55527 K2 IDE: Rewrite KtScopeContext class to allow to handle each scope separately
KT-55329 LL FIR: Unexpected ACTUAL_WITHOUT_EXPECT error on constructor and function declaration
KT-50253 Analysis API: Solve issues with ProcessCancelledException
KT-56800 K2 IDE: optimize deprecation calculation for symbols
KT-55006 Analysis API does not transform Java type refs for callable symbol return types
KT-57256 AA FIR: Reduce lazy resolve phase for deprecation status
KT-57619 K2: CFG for class initializer is not correctly built in reversed resolve mode
KT-58141 K2: AA FIR: impossible to restore symbol for declaration with annotation with argument inside type
KT-57462 Symbol Light Classes: SymbolLightFieldForProperty should retrieve annotations not from KtPropertySymbol, but from the corresponding backing field
KT-54864 Analysis API: add function to get expect KtSymbol list by actual KtSymbol
KT-56763 Analysis API: .KtSourceModuleImpl is missing in the map. on symbol restore when symbol cannot be seen from the use-site module
KT-57131 K2: stdlib test compilation fails on ListTest.kt in FirJvmMangleComputer
KT-58137 K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another module
KT-58897 K2: False positive unresolved reference with same-named enum class and its entry
KT-30905 Expect var property with default public setter matches with actual var property with private setter
KT-56172 K2: Fix reporting of PRIVATE_CLASS_MEMBER_FROM_INLINE error
KT-56171 Implement deprecation warning for missing PRIVATE_CLASS_MEMBER_FROM_INLINE error
KT-27261 Contracts for infix functions don't work (for receivers and parameters)
KT-56927 Enum with secondary constructor can't be compiled with K2 using JS/Native backend
KT-53568 Partial linkage: absent class as type parameter bound causes failure of compileProductionExecutableKotlinJs
KT-53608 Partial linkage: Kotlin/JS fails with IllegalStateException: "Validation failed in file" when overridden declaration was visible, but now private
KT-53663 Partial linkage: usage of property which becomes abstract: no IrLinkageError, but AssertionError in Native backend instead
KT-56013 K2. a set of errors about local properties are missing
KT-53939 Partial linkage: with turning object into class linkNative and jsTest tasks fail
KT-53938 Partial linkage: with turning interface into class and using as second parent Native build fails
KT-53941 Partial linkage: with turning class into object accessing member via parameterless constructor does not fail
KT-53970 Partial linkage: on turning nested class into inner JS tasks are successful, Native build fails
KT-53971 Partial linkage: turning inner class into nested: without usage in executable Native is successful, JavaScript fails
KT-53972 Partial linkage: turning inner class into nested: with usage in executable Native fails with NPE in backend
KT-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 IllegalStateException
KT-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-53995 Partial linkage: on turning class to abstract and direct constructor call Naive fails, JavaScript is successful
KT-43527@ExtensionFunctionType is allowed on function types with no parameters and leads to backend exception
KT-55316 K2. IllegalStateException on incorrect import directive name
KT-57570 Remove source code excerpts from platform type nullability assertion exceptions
KT-58577 K2: private Kotlin property prevents use of Java set-method from Java-Kotlin-Java hierarchy in another module
KT-58587 MUST_BE_INITIALIZED must take into account effectivelly final
KT-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 receiver
KT-53929 Enum.entries: consider changing scope behavior in K1
KT-58520 K2: FIR2IR: ISE during const evaluation of operator times with exposed
KT-57905 K1: resolution to base class's Java field instead of derived class's Kotlin property is not deprecated in case of different types
KT-56662 K1: false negative INVISIBLE_SETTER for a var with internal setter accessed from a derived class
KT-57770 K2: Support generation of serializer if base class for serializable class declared in different module
KT-58375 Kapt: "wrong number of type arguments. required 1" when more than 22 type arguments
KT-48870 [FIR] Different behavior for explicit receiver resolution inside delegated constructors
KT-58013 K2: "Not enough information to infer type variable T" when using assert non-null (!!) and delegation
KT-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_LAMBDA
KT-58030 K2/MPP/JVM: compiler backend crash on super-call to indirectly inherited Java method
KT-58135 K2: Priority of extension property is lower than ordinary property
KT-57181 [K1/N, K2/N] Expect and Actual funs have different IdSignature.CommonSignature, if Expect has default argument
KT-58219 K2/MPP/metadata: false-positive invisible reference error in Native-shared source set
KT-58145 K2/MPP/metadata: compiler FIR crash on inheritance of a generic class with property by actual-class from Native-shared source set
KT-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 IR
KT-58142 K2: val parameter with more specific type is lower priority
KT-48546 Missed TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM error at plus-assign
KT-57854 RECEIVER_TYPE_MISMATCH on synthetic property from mutually recursive Java generics with disabled ProperTypeInferenceConstraintsProcessing
KT-54518 False negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINE when calling internal method of super class
KT-58025 K2: Argument type mismatch when using Springs HandlerMethodArgumentResolver
KT-58259 Unexpected unresolved function call with obvious invoke-convention desugaring
KT-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 parameter
KT-57069 K2: Method kind in metadata is DECLARATION when DELEGATION is used in K1
KT-57958 K2: Initializer type mismatch when using extension property on type with star projection
KT-57928 K2: Arguments of annotations on constructor value parameter are not calculated
KT-57814 K2: Argument type mismatch with delegating property
KT-56490 Implement deprecation for an anonymous type exposed from inline functions with type argument
KT-57781 K2: Generated serializer is invisible in a non-JVM test source set
KT-57807 K2: Symbol already bound exception for arrayOf function from IrBuiltInsOverFir
KT-57962 K2: No set method providing array access on dynamic
KT-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 segments
KT-57899 K2: compiler FIR2IR crash on anonymous object with inheritance by delegation to value of smart-casted type parameter
KT-57988 K2: compiler exception on get operator on dynamic this
KT-57960 K2: incorrect type inference in lambda with dynamic receiver
KT-56511 K1: false negative SMARTCAST_IMPOSSIBLE when alien constructor property is accessed from a private class
KT-58033 K2 reports Constructor must be private or protected in sealed class in actual sealed class if its constructor has own actual declaration
KT-58061 K2: false-positive unsupported feature error on callable references to Java methods from annotation interfaces
KT-55079 Refactor DiagnosticReporterByTrackingStrategy and fix some "diagnostic into black hole" problems
KT-57889 K2: false-positive lack of information for inline function's type parameter in case of builder-style inference from caller function's return expression
KT-57961 K2: Unresolved reference using dynamic lambda parameter
KT-57911 K2: Contracts are not inherited by substitution overrides
KT-57880 K2: false-positive argument type mismatch due to lambda receiver shadowing labeled outer lambda receiver when assigning lambda to variable
KT-57735 K2: MPP: K2 reports hides member of supertype and needs 'override' modifier for the function with @PlatformDependent annotation when there is an empty linux target in project
KT-55056 Builder inference causes incorrect type inference result in related call
KT-57689 K2: Unresolved reference to nested typealias in KLIB
KT-54531 [K2] Uncaught Runtime exception is thrown instead of user friendly error messages with details in case -no-jdk option set to true
KT-56926 K2: incorrect line number generated for class constructor or method with default parameter when comment before
KT-56913 K2: Incorrect line numbers in overriden field getters and setters
KT-56982 K2: Incorrect line number start in when expression
KT-56720 K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED in case of delegation in diamond inheritance
KT-57175 K2: false-positive INVALID_TYPE_OF_ANNOTATION_MEMBER on type aliases
KT-25694 Fix reporting of uninitialized parameter in default values of parameters
KT-57198 K2: false-positive type mismatch error on inherited raw-typed class with type parameters in upper bounds of other type parameters
KT-15470 Inconsistency: use-site 'set' target is a compilation error, use-site 'get' target is ok
KT-57179 FIR: preserve prefix increment behavior like in K1 by calling getter twice
KT-57405 K2. Function call ambiguity error when nullable String is passed to function with Spring @Nullable annotation in signature
KT-57284 K2: compiler codegen crash at property initialization in constructor after smartcast of dispatch receiver to indirectly derived type
KT-57221 K2: compiler FIR2IR crash on function's unavailable cached type parameter
KT-57036 Unresolved reference: with inferred type of class constructor with extension parameter
KT-56177 K2: FIR should not generate annotation on both property and parameter
KT-54990 NI: Type mismatch when encountering bounded type parameter and projections
KT-57065 K2: overload resolution ambiguity between type-aliased constructor and identically named function
KT-49653 Deprecate and remove Enum.declaringClass synthetic property
KT-57190 K2: false-positive unsafe call error on safe call on type-aliased nullable receiver in SAM-conversion
KT-57166 K2: false-positive val reassignment error when synthetic property with implicitly typed overridden getter is called from implicitly typed member that is declared earlier
KT-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 inference
KT-56657 K1/K2: inconsistent behavior in nullability mismatch (Guava hash set/map)
KT-57105 K2: compiler codegen crash at property initialization in constructor after smartcast
KT-56379 K2: build tests for the Kotlin standard library
KT-56723 K2: lambda accidentally returns Unit? instead of Unit
KT-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 dependency
KT-55088 JS, Native compilation fail with internal error on SomeEnum.entries reference when SomeEnum is from klib compiled with disabled EnumEntries language feature
KT-40904 No warning when declare actual in the same target (module) as expect
KT-56707 K2: Unexpected TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM where only getter type specified explicitly
KT-56508 Context receivers: Internal compiler error when compiling code containing a class with a secondary constructor
KT-56706 K2: False-positive ARGUMENT_TYPE_MISMATCH for generic nested types from library
KT-56505 K2: Missing NO_EXPLICIT_VISIBILITY_IN_API_MODE errors on various declarations
KT-56682 K2: False-negative UNINITIALIZED_VARIABLE on access to delegated property
KT-56678 K2: False-negative UNINITIALIZED_VARIABLE if corresponding variable has initializer
KT-56612 K2: false positive NO_TYPE_ARGUMENTS_ON_RHS on raw cast with type alias based argument
KT-56445 K2: False-positive unresolved reference to callable reference to function with default argument
KT-55024 K2: overload resolution ambiguity/unresolved reference if variable is smart-casted to an invisible internal class
KT-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 type
KT-55936 K2: Support proper resolution of callable references as last statements in lambda
KT-45989 FIR: wrong callable reference type inferred
KT-55932 K2. No compiler error when elvis operator returns not matched type
KT-53987 K2: False negative "TYPE_MISMATCH" with if statement return
KT-41038 NI: TYPE_MISMATCH when passing constructor of nested class
KT-42449 Can not resolve property for value of type Any even after casting type to a type with star projection
KT-52934 StackOverflow from PseudocodeTraverserKt.collectDataFromSubgraph with if inside finally
KT-52860 StackOverflowError when casting involving recursive generics and star projection
KT-52424 ClassCastException: Wrong smartcast to Nothing? with if-else in nullable lambda parameter
KT-52262 TYPE_MISMATCH: Nonnull smartcasting fails with non-exhaustive when
KT-52502 Forbid extension calls on inline functional parameters
KT-51045 SETTER_PROJECTED_OUT: Star projected nullable property can't be set to null
KT-40480 [FIR] Support hasStableParameterName from metadata
KT-50134 NI: Type inference regression in java streams groupingBy
KT-50160 False positive "USELESS_CAST" caused by indexed access operator
KT-42715 Unable to use implicit lambda param it for overloaded methods
KT-49045 False positive USELESS_CAST in generic type with nullable type parameter
KT-49024 AssertionError: Variance conflict: type parameter variance 'out' and projection kind 'in' cannot be combined
KT-48975 Type mismatch: inferred type is X but Nothing! was expected with the AssertJ latest version
KT-47870 INVISIBLE_MEMBER: Kotlin class can't access protected annotation defined in Java parent class
KT-47495 ReenteringLazyValueComputationException on invalid code
KT-47490 Missed diagnostic for incorrect callable reference in finally
KT-47484 "Recursion detected in a lazy value under LockBasedStorageManager" on invalid code
KT-46301 Combining branches with sealed interfaces in when breaks type inference
KT-44392 False negative: redundant nullability/not null check on cast with as operator
KT-43936 Recursion detected on input: ANNOTATION_ENTRY with annotation on star-imported nested class
KT-43846 No smart cast when returning function closures with captured smart-cast variable
KT-43603 False positive USELESS_CAST leads to TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM on "when" with smart cast and extension property
KT-43553 JVM / IR: "AssertionError: Unbound symbols not allowed" caused by annotation class with TYPE target
KT-42169 False negative CAST_NEVER_SUCCEEDS for incompatible types with generic parameter and star projection
KT-42136 NI: False positive [USELESS_CAST] when list serves to create a mutable list
KT-41721 SAM conversion fails on varargs with type approximated to Nothing
KT-38288 Unresolved reference for type parameter upper bound of nested class when outer class extends it with star projected type argument
KT-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 method
KT-37365 NPE from ReflectionReferencesGenerator.generateCallableReference with inner class function reference and wrong parenthesis
KT-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 statement
KT-24737 Report an error on invalid this-expression with angle brackets on left-hand side of a callable reference
KT-21463 Compiler doesn't take into accout a type parameter upper bound if a corresponding type argument is in projection
KT-6822 Smart cast doesn't work inside local returned expression in lambda
KT-55840 Inconsistency between members of enums in bytecode between FE 1.0 + JVM IR and FIR + JVM IR
KT-47815 JVM: "Recursion detected in a lazy value under LockBasedStorageManager" when trying to inherit interface from a class with non-trivial function
KT-17817 No error reported on invalid LHS for class literal
KT-47373 Missed diagnostics on/after non-null assertion (!!) on generic class class use with class literal
KT-51143 Wrong Unit-requiring at if/when branch with stub types
KT-53671 False-positive diagnostic reported on OptIn annotation import from root package
KT-53494 Mistaken type inference in compound 'if' expression with nullability check and covariant type
KT-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 interfaces
KT-55931 Inference for callable reference inside synthetic calls for if/when/try/etc stops working when brought into lambda for a call
KT-20223 Inline access check ignores operator calls to invoke()
KT-56472 K2: Add stack of all FIR elements to CheckerContext
KT-41126 [FIR] Inconsistency of a compiler behaviour at init block for an enum entry with and without a qualifier name
KT-54931 Annotations defined in nested classes cannot be instantiated directly
KT-52338 "IncompatibleClassChangeError: Expected non-static field" with Kotlin class with same-named companion object property as base Java class field
KT-53086 "Cannot access '' before superclass constructor has been called" with inner class secondary constructor
KT-55137 Callable references with conversion are incorrectly allowed to be promoted to KFunction
KT-30497 EXACTLY_ONCE contract doesn't work in a function with vararg parameter
KT-47074 Front-end Internal error: Failed to analyze declaration State / java.lang.IllegalStateException: Should not be called! when try to add Parcelize
KT-24503 Return-as-expression is allowed as this/super constructor parameter
KT-55379 False positive NO_ELSE_IN_WHEN with smartcast to Boolean
KT-47750 False positive NO_ELSE_IN_WHEN in presence of smartcast to sealed interface
KT-53819 False positive UNINITIALIZED_VARIABLE with secondary constructor and custom property getter in local class
KT-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 class
KT-50082 Kotlin non-overriding property of subclass doesn't shadow same-named Java field from base class
KT-55822 False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED with raw types and mixed overridden members
KT-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 cast
KT-51969 [FIR] Compilation for expect value class fails with "Fir2IrSimpleFunctionSymbol for [declaration] is already bound"
KT-56329 K2: compiler backend crash on two expected functions with similar signatures
KT-56361 K2/MPP: receiver isn't available in lambda literals with receiver
KT-55909 [K2/N] IndexOutOfBoundsException for a reference to a function defined in companion object superclass
KT-55664 K2: eliminate ClassId.isSame call from FirClass.isSubclassOf
KT-56353 K2. False negative "Unresolved reference" in default value of secondary constructor's parameter
KT-56381 K2: Function type kind not extracted from lambda literal in generic call
KT-55747 K2. "Convention for 'mod' is forbidden. Use 'rem'" error is missing
KT-56104 Unnecessary inner classes attributes in class files for subclasses
KT-55570 K2: ACTUAL_WITHOUT_EXPECT error is not reported on a simple actual class
KT-56176 [K2/N] "IllegalStateException: actual type is kotlin.Int, expected kotlin.Long" when expected type uses typealias
KT-56229 K2: IllegalStateException (already bound) for triangle-like dependencies scheme with MPP scenario
KT-56199 K2 + MPP + kotlinx.serialization: java.lang.VerifyError: Bad type on operand stack in aaload
KT-56212 K2: Exception when compiling extension function declaration with illegally chained type parameter receiver
KT-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 setter
KT-49663 FIR: Support @kotlin.jvm.PurelyImplements for java collections
KT-55468 [K2/N] Crash with debuginfo caused by changed tree using IMPLICIT_COERCION_TO_UNIT
KT-56269 [K2/N] Don't test "Tailrec is not allowed on open members" in K2
KT-54647 K2: Function call with Lambda on LHS of assignment leads to KotlinExceptionWithAttachments: FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtFunctionLiteral
KT-54648 K2: Function call on left side of erroneous assignment isn't resolved
KT-55699 K2. False Negative "Type parameter T is not an expression"
KT-56132 Restore 'JvmBackendContext' constructor signature for compatibility
KT-55973 K2: Exception from UnusedChecker on an unused destructuring
KT-54775 K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl " exception on incorrect code
KT-55528 K2: CFA for property initialization analysis is not run for class initialization graphs
KT-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 feature
KT-55186 K2: No compilation error on calling exception without constructor
KT-36776 Treat special constructions (if, when, try) as a usual calls when there is expected type
KT-50947 False negative: FE 1.0 doesn't report type variance conflict error on an inner type
KT-39041 Collection literals should not be allowed inside annotation classes
KT-54694 Consider enabling BooleanElvisBoundSmartCasts in K1 or K2
KT-54587 K2. CCE on compilation when some operator fun is needed and it is implemented as an extension function for another class
KT-52774 Resolve unqualified enum constants based on expected type
Docs & Examples
KT-53643 Update coding style conventions to include rangeUntil operator
KT-57902 Create migration tutorial from kotlin-js to kotlin-multiplatform gradle plugin
KTIJ-25108 K2 IDE: Code completion in Java context for Kotlin top level members: "Slow operations are prohibited on EDT" through KtAnalysisScopeProviderImpl.canBeAnalysed()
KTIJ-24989 K2 IDE: completion should show information about expanded types for type alias parameters
KTIJ-24992 K2 IDE: completion shows return type with incorrect nullability when type is stub type
KTIJ-24948 K2 IDE: "ERROR: class org.jetbrains.kotlin.fir.types.jvm.FirJavaTypeRef cannot be cast to class org.jetbrains.kotlin.fir.types.FirResolvedTypeRef" during completion of inner classes' constructors
KTIJ-24256 K2 IDE: Angle brackets are missing in completion of function with type parameters
KTIJ-24083 K2, Completion: Exception on adding a type parameter receiver to a function
KTIJ-23963 K2 IDE: Completion in Kotlin suggests overriding a Java field; fails with "Unknown member to override"
KTIJ-22359 K2 IDE: no completion for Java synthetic properties from super class
KTIJ-23880 Completion doesn't work for Java synthetic property reference
IDE. Decompiler, Indexing, Stubs
KTIJ-25152 Kotlin Bytecode tool window: ISE Symbol with IrSimpleFunctionSymbolImpl is unbound on actual callable with argument in mpp project with IR
KTIJ-24475 Migrate kotlin index extension implementation from object to classes
KTIJ-24335 Kotlin Bytecode tool window: NoSuchElementException caused by duplicate Boolean type descriptor in JvmSharedVariablesManager.getProvider
KTIJ-24206 Kotlin Bytecode tool window: "Unhandled intrinsic in ExpressionCodegen" when compiling a source file with an expect function
KTIJ-15764 IR by default in Kotlin bytecode tool window
IDE. Gradle Integration
KT-59034 MPP build failed with "Factory type is not known for plugin variants" in kt-231-*
KT-56671 KGP import: K/N distribution libraries should'n be resolved for IDE by KGP with package names
KTIJ-24573 KGP-based import: commonized cinterop libraries don't include source set targets, unsupported by host
KTIJ-25757 KJS: 1.9.0-Beta fails to run when running in Android Studio
KT-48154 KJS / IR: Inline members support for external types
KT-51582 FIR: support basic compile-time evaluation for JS backend
Fixes
KT-43490 KJS / IR: "Cannot set property message of Error which has only a getter" caused by class that is child of Throwable
KT-57690 K2/MPP: compileProductionLibraryKotlinJs fails with Module has a reference to symbol kotlin/arrayOf|3204918726020768747[0]. Neither the module itself nor its dependencies contain such declaration
KT-56911 K2/MPP: Compile K/JS fails for @Serializable annotation with class IrDeclarationOrigin$GeneratedByPlugin cannot be cast to class IrDeclarationOriginImpl
KT-58794 KJS / K2: Assertion failed with Space build
KT-51706 Partial linkage: in case of absent symbol referred from declaration Native compiler is successful, JavaScript fails
KT-54452 Kotlin/JS libraries with "joined" legacy+IR content: publish IR sources for them
KT-53180 Kotlin/JS: generated TypeScript constructor can have "TS1016: A required parameter cannot follow an optional parameter" error with certain properties order
KT-39650 KJS IR: provide a way to enable ES2015 class generation
KT-57990 KJS/IR. Invalid super call for final parent methods (ES classes)
KT-58246 KJS: ES15 classses — duplicated code in class constructor
KT-57479 KJS: Add an annotation for a function parameter which checks that a passed argument has an external type
KT-58201 Unknown statement type when building with ES modules
KT-30810 values and valueOf are miscompiled for external enum classes
KT-57024 Ugly TypeScript definitions for declarations with both @JsExport and @Serializable
KT-56237 KJS + IC: Adding or removing interface default implementation doesn't invalidate children and doesn't update JS code
KT-54638 K2/JS: Fir2ir - implement and use JS-specific mangler
KT-54028 Native / JS: Using private object implementing a sealed interface causes a linker error
KT-57423 KJS: Add an annotation for external interfaces which allows to be inherited only by other external interfaces, classes or objects
KT-57711 K2: Native & JS fail to compile a KLIB that uses const val from a dependency KLIB
KT-57078 JS IC: Unbound symbol left in SymbolTable in JsIr[ES6]InvalidationTestGenerated.testBreakKlibBinaryCompatibilityWithVariance tests
KT-57002 KJS: "JsParserException: missing name after . operator" when a js(...) block contains an interpolated constant
KT-56961 JS IR: serializedIrFileFingerprints in klib manifest has a wrong format
KT-56282 KJS: Invalidate incremental cache in case of compiler internal errors
KMM Plugin
KT-55402 "Framework not found SQLCipher": after selection of "Regular framework" as "iOS framework distribution" and installing SqlCihper through CocoaPods
KT-55988 KN debugger in KMM plugin for Android Studio can't recognize the source code
Language Design
New Features
KT-48872 Provide modern and performant replacement for Enum.values()
KT-15613 Introduce special syntax for the until operator
KT-4107 Design and implement a solution for toString, equals and hashCode on objects (data object)
Fixes
KT-28850 Prohibit protected visibility in final expected classes
KT-39362 Expect fun interface must have actual fun interface counterpart
KT-48994 Prohibit type unsound java fields assignments
KT-58791 Prolongate PROGRESSION_CHANGE_RESOLVE diagnostics to 2.x
KT-53778 Release stdlib API about "rangeUntil" operator in 1.9
KT-53653 Export Enum.entries to Objective-C and Swift
KT-55177 Deprecate declaration of expect and actual counterparts of same class in one module
KT-49110 Prohibit access to members of companion of enum class from initializers of entries of this enum
KT-47986 Forbid implicit inferring a type variable into an upper bound in the builder inference context
KT-57395 Delay ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound feature to LV 2.0
KT-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 state
KT-57091 Align Native and Java file/class initialization behavior
Native. Runtime. Memory
KT-56233 [Kotlin/Native] Crash when enum values are accessed in multiple threads
KT-58130 Implement preview of custom allocator for Kotlin/Native
KT-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 types
KT-57592 Native: Remove the default parameter value for AtomicLong constructor
Native. Testing
KT-57349 Enable more K2 MPP codegen/box tests for Kotlin/Native
KT-57026 K2: Fix Native test infrastructure for MPP
Reflection
KT-54833 Reflection: Incorrect behaviour for Field.kotlinProperty function in companion objects
KT-56650 ArrayStoreException from InlineClassAwareCaller.call with an array of inline class
KT-56093 Metaspace leak in a Gradle plugin built with Kotlin 1.8.0
KT-55937 Optimize implementation of kotlinFunction/kotlinProperty
KT-56052 Implement an in-memory wrapper for PersistentHashMap to avoid applying changes to IC caches before successful compilation
Fixes
KT-55624 Update KGP integration tests that use removed in Gradle 8 getClassifier method
KT-59589 Gradle: 'java.lang.NoClassDefFoundError: com/gradle/scan/plugin/BuildScanExtension' on 1.9.0-RC when applying Enterprise Plugin from initscript
KT-59063 Explicit API mode broken in Kotlin 1.9.0-Beta
KT-57653 Explicit API mode is not enabled when free compiler arguments are specified in Gradle project
KT-59256 [1.9.0-Beta] ServiceLoader does not pick up classes defined in the same project
KT-58662 Gradle 8.1 + Configuration Cache: custom values data is missing from build report
KT-58280 org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath
KT-59191 Actual compilation failure exception might be hidden in the case of a Kotlin daemon crash
KT-55740 Gradle 8: Listener registration using Gradle.addBuildListener() has been deprecated
KT-37652 Support explicit mode for Android projects
KT-58251 Build Statistics. Kotlin-specific tags are missing in build scans if projects use Gradle 8+
KT-57224 Add an indicator into build metrics report to show whether K1 or K2 compiler was used to compile the code
KT-58571 ExplicitApi mode should not apply for test compilations
KT-42718 Test and AndroidTest sources should be excluded from explicit API requirements for libraries
KT-58916 [1.9.0-Beta] PLUGIN_CLASSPATH_CONFIGURATION_NAME and NATIVE_COMPILER_PLUGIN_CLASSPATH_CONFIGURATION_NAME should stay public or offer an alternative API
KT-58869 K2, Gradle: Improve message "100% (2/2) tasks have compiled with Kotlin 2"
KT-52811 Kotlin Serialization metadata issue due to incompatibility between Gradle Kotlin embedded version and Kotlin Gradle Plugin version
KT-57330 Provide collection of usage statistics for the Dokka
KT-57393 jvm-target value set through 'android.kotlinOptions' is ignored and overwritten with the default 1.8 value
KT-58745 KaptGenerateStubs task should also be configured with the same compiler plugin options
KT-58682 Explicit api mode does not apply in MPP projects
KT-56454 Bump minimal support AGP version to 4.2.2
KT-57397 Add infrastructure to use the build-tools-api to run compilation from Gradle
KT-56946 Switch incremental Gradle tests for K2 to use language version 2.0
KT-57782 Disable daemon fallback strategy for Gradle integration tests by default
KT-57142 Split org.jetbrains.kotlin.gradle.tasks/Tasks.kt into several source files
KT-54447 Remove usage of deprecated internal Gradle field in Kotlin Gradle Plugin, replace with equivalent in public API
KT-49785 Avoid creating task output backups until really needed
KT-56047 False positive message about full recompilation is displayed while restoring from build cache and then making a syntax error
KT-56421 Gradle: plugin should not use BasePluginExtension deprecated properties
KT-55241 Gradle: the VariantImplementationFactories build service state is not persistent making impossible to access factories with configuration cache lazily
KT-56357 Gradle: "DefaultTaskCollection#configureEach(Action) on task set cannot be executed in the current context" because of VariantImplementationFactories
KT-59604 Unresolved reference: useKarma in convention plugin
KT-57604 JS, Space: Circular dependency between tasks
KT-59116 K/JS npm dependcies are not resolved properly on Kotlin 1.9
KT-54731 KJS / Gradle: "There are multiple versions of "kotlin" used in nodejs build: 1.6.21, 1.7.20." with kotlin-dsl in buildSrc
KT-58970 browserTest gradle task fails if karma is used and gradle configuration cache is enabled
KT-59004 Kotlin JS 1.9.0-Beta, yarn.lock is unstable in multi module project
KT-56458 KJS / Gradle: Unnecessary and confusing "There are multiple versions of "kotlin" used in nodejs build" generated from YarnImportedPackagesVersionResolver
KT-59055 KotlinJvmRun not respecting jvmToolchain setting
KT-57959 Module-name value can't be changed for the android target of a multiplatform project
KT-55506 TCS: Gradle Sync: kotlin-stdlib-common is not filtered from JVM + Android source sets
KT-57652 Don't expose sourcesElements for project2project dependencies
KT-58601 Finalise "ExternalKotlinTargetApi" shape for initial 1.9 release
KT-58710 External Target Api: Add API to control SourceSetTree
KT-58488 Add a diagnostic message to KGP in case of val androidTest by getting usage
KT-57482 cleanNativeDistributionCommonization is not compatible with configuration cache with gradle 8.0
KT-58062 Commonizer configuration cache not compatible with Gradle 8.1
KT-58086 Warn about using MPP libraries published in the legacy mode
KT-56439 TCS: Gradle Sync: IdeBinaryResolver: Add componentFilter API for compilations/configurations
KT-57023 Cryptic Gradle task descriptions for compile tasks
KT-58470 Warning about using MPP libraries published in the legacy mode is not reported if the dependency is declared in an intermediate source set
KT-58466 K2 Gradle: non *.kt files are passed to -Xfragment-sources
KT-58319 kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'"
KT-51940 HMPP resolves configurations during configuration
KT-58261 Link kotlin native binary framework tasks fails when configuration cache is enabled
KT-41506 UnknownDomainObjectException: "KotlinSourceSet with name not found" when creating custom compilations after applying withJava to an MPP JVM target
KT-58209 Do not use the term 'Module' in KotlinTargetHierarchy
KT-56153 When the dependency is unresolved, import fails and don't import anything instead of degrading gracefully
KT-56571 New import broke apiVersion for commonMain, commonTest and jvmAndAndroidMain modules
KT-56712 Multiplatform;Composite Builds: Classpath isolation: .MppDependencyProjectStructureMetadataExtractorFactory cannot be cast to class *MppDependencyProjectStructureMetadataExtractorFactory
KT-56461 MPP: resolvableMetadataConfiguration: Ensure consistent resolution across all compile dependencies
KT-56841 MPP: Module-to-module dependencies don't work inside included build in included build
KT-42748 Project that transitively depends on composite build of multimodule multiplatform library cannot resolve dependencies properly
KT-52356 MPP / Gradle: Missing common classes on KMM project integrated via Gradle included build into an Android application
KT-51293 Unresolved references with hierarchical project structure when building KotlinMetadata from native-common source set
KT-56700 V2 MPP Source Set layout warnings should include link to docs
KT-55926 TCS: Gradle Sync: Import Extras on KotlinSourceSet and KotlinTarget
KT-55730 MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source sets
Tools. Gradle. Native
KT-58838 KGP/Multiplatform: 1.9.0-Beta with custom cinterops: IllegalStateException: Could not create domain object 'jni' (DefaultCInteropSettings)
KT-57823 KotlinNativeCompileOptions.moduleName value is ignored and replaced with the default one if to set up using compilations
KT-57815 KotlinNativeCompileOptions.moduleName isn't accessible if to configure using compilerOptions.configure {}
KT-57944 K2: K2, MPP, Native: K2 reports "Source does not belong to any module" for native sources
KT-53108 Expose Kotlin/Native compiler options as Gradle DSL
KT-58063 Kotlin/Native tasks configuration cache are not compatible with Gradle 8.1
KT-38317 Kotlin/Native: NSURLConnection HTTPS requests fail in iOS tests due to --standalone simctl flag
KT-56280 Gradle: freeCompilerArgs are no longer propagated from compilations to Native binaries
Tools. Incremental Compile
KT-58289 IC fails to detect a change to class annotations
KT-58986 New IC: ISE "The following LookupSymbols are not yet converted to ProgramSymbols: LookupSymbol(name=$$delegatedProperties, ...)"
KT-56197 If use classpathSnapshot, the invoke place of subclass's super function who has default parameters will not recompiled if it is incremental build
KT-56886 K2: Changes to Java sources used in Kotlin project do not trigger a rebuild if a previous build was successful