Update kotlin.version to v2 (major) #17

Open
renovate wants to merge 1 commit from renovate/major-kotlin.version into develop
Collaborator

This PR contains the following updates:

Package Type Update Change
org.jetbrains.kotlin:kotlin-maven-noarg (source) build major 1.9.252.3.20
org.jetbrains.kotlin:kotlin-maven-allopen (source) build major 1.9.252.3.20

Release Notes

JetBrains/kotlin (org.jetbrains.kotlin:kotlin-maven-noarg)

v2.3.20

Compare Source

Analysis API. FIR
New Features
  • KT-78090 Implement stubs support for new conditional returns and holdsIn contracts
Fixes
  • KT-82948 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'
  • KT-83467 Package-level JSpecify annotations are ignored when coming from jars or libraries
  • KT-82057 K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type
  • KT-82846 AA: unresolved KtExpression.expressionType for the reference to the parameter with default value
  • KT-80485 False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object
  • KT-82772 Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode
  • KT-76487 StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable
  • KT-82618 Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25
  • KT-82076 Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis
  • KT-71596 Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector
  • KT-82085 No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDE
  • KT-81873 Provide a way of including traces in phase JFR events
  • KT-71929 Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions
Analysis API. Infrastructure
  • KT-83173 Analysis API Tests: Library names with RC versions aren't sanitised
  • KT-65140 LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR
  • KT-82212 [Analysis API, LL FIR] Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR
Analysis API. Light Classes
  • KT-82227 Value classes should expose regular static methods
Analysis API. PSI
  • KT-81710 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas
  • KT-82258 Prepare PSI for migration from context receivers to context parameters
  • KT-81074 KDoc: List rendering is broken
Analysis API. Providers and Caches
  • KT-82449 K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)
  • KT-82629 'collectDiagnostics' returns stale syntax error after editor fix
  • KT-74907 Analysis API: Apply platform-based library module content restrictions consistently
Analysis API. Standalone
  • KT-81107 AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links
Analysis API. Stubs and Decompilation
  • KT-82792 Stub for KtValueArgumentList inside KtAnnotationEntry should be present if it is present in psi
  • KT-82527 TypeClsStubBuilder.createFunctionTypeStub throws NullPointerException
  • KT-82558 Deserialized DNN type should have a fully qualified Any
  • KT-81928 KaArrayAnnotationValueImpl.values missing first element
  • KT-82139 Support contracts for property accessors
  • KT-82198 Support context parameters in contracts
Analysis API. Surface
New Features
  • KT-82851 Property accessors should inherit KDoc from the parent property
  • KT-63339 Analysis API: Provide a way to extract KDoc for symbols
  • KT-79070 KaTypeProvider: add API to build a default type with star projections
  • KT-66566 AA: api to create functional types
  • KT-66043 KtTypeCreator doesn't provide a way for creating annotated types
Performance Improvements
  • KT-83694 Provide psi-based implementation of KaDeclarationSymbol#isExternal
  • KT-70868 KaSymbol: support PSI-only visibility and modality for the case without compiler plugins
  • KT-81627 KaFirSymbolDeclarationOverridesProvider#processOverrides should process only relevant declarations
Fixes
  • KT-83152 [Analysis API, KDoc] Make class name links on constructors point to the class
  • KT-83695 Deprecate KaSymbolInformationProvider#{getter, setter}DeprecationStatus
  • KT-82853 Add a convenience property for testing declarations for effective external-ness
  • KT-83226 Support "Collection literals" in the Analysis API
  • KT-83225 Support "@IntroduceAt" in the Analysis API
  • KT-83222 Support "Improve use-site defaulting for annotations" in the Analysis API
  • KT-83351 Rename KaSession context parameter from 's' in bridges to something nicer
  • KT-83199 Clarify API around extension points
  • KT-83074 Inner enum entry class has incorrect default visibility
  • KT-82442 Add Ka prefix to org.jetbrains.kotlin.analysis.api.symbols.AdditionalKDocResolutionProvider
  • KT-82443 Add Ka prefix to org.jetbrains.kotlin.analysis.api.symbols.DebugSymbolRenderer
  • KT-82441 Add Ka prefix to org.jetbrains.kotlin.analysis.api.compile.CodeFragmentCapturedValue
  • KT-82439 Add Ka prefix to org.jetbrains.kotlin.analysis.api.components.DebuggerExtension
  • KT-82438 Add Ka prefix to org.jetbrains.kotlin.analysis.api.components.DefaultTypeClassIds
  • KT-68577 asPsiType and mapTypeToJvmType: leading delimiter for class in a root package
  • KT-81734 MIssing "ARGUMENT_TYPE_MISMATCH" caused by self-referential generic type
  • KT-82856 Redesign KotlinReferenceProviderContributor to make it extensible
  • KT-82615 Clarify KtReference#resolvesByNames contract
  • KT-82534 No expected type for property accessor without body
  • KT-82406 Add a test to ensure that all top-level classes in the Analysis API Surface have Ka prefix
  • KT-78397 investigate if there is a need in Extra support for the "various little features in contracts"
  • KT-74009 Analysis API: Expose "isOverloadable" check for callable symbols similar to "OverloadChecker.isOverloadable"
  • KT-78399 Check return value - check how we see from Java(+Stub) we see “annotated” signatures
  • KT-80357 [Analysis API] KaType.enhancedType doesn't enhance type parameters
  • KT-73659 Analysis API: The name of KaType.enhancedType is too general
  • KT-80545 [Analysis API] Deprecate KaFunctionType.arity
  • KT-77708 K2 Mode: Potentially redundant smart cast highlighing when passing smartcasted expressions as arguments
  • KT-81264 K2 AA: KaValueParameterSymbol.hasDefaultValue is false for overriding or actual functions
  • KT-81166 Forbid the usage of KaSessionComponent implementation types directly
  • KT-74801 Analysis API: Publish/subscribe to modification events with a single message bus topic
Backend. Native. Debug
  • KT-81741 Native: stepping into data class hashCode in lldb goes to line 1
Backend. Wasm
New Features
  • KT-81485 [Wasm] DebuggerCustomFormatters generation support for single module mode
  • KT-81483 [Wasm] Typescript generation support for single module mode
  • KT-81484 [Wasm] Dwarf generation support for single module mode
Performance Improvements
  • KT-83839 K/Wasm: CMP. Load time on Safari significantly increased with Kotlin = 2.3.20-Beta1
  • KT-81524 Unnecessary Any-JsAny conversions are generated for external instanceofs
Fixes
  • KT-82732 K/Wasm runtime crash when using fun reference: convertKotlinClosureToJsClosure
  • KT-82649 K/Wasm: Rewrite StringBuilder to use JsString
  • KT-73240 K/Wasm: consider using JS String Builtins proposal in String implementation for wasm-js target
  • KT-83995 K/Wasm: 2.3.0 -> 2.3.20-Beta1 degradation in arrow tests
  • KT-82309 K/Wasm: refactor _initialize function
  • KT-70075 Wasm: "OutOfMemoryError: GC overhead limit exceeded" during tests
  • KT-83046 K/Wasm: don't use StringBuilder implicitly for string concatenations
  • KT-82645 K/Wasm: wasmJs use js "String" for number2String conversion
  • KT-79937 K/Wasm: support kotlin.js.nativeInvoke annotation
  • KT-67461 Use new lowering phase creation API in Wasm backend
  • KT-83664 Wasm: Colon and space are not sanitized in output file names
  • KT-65779 JsExport declaration name clash
  • KT-82202 [Wasm] SourceMap generation support for single module mode
  • KT-82162 [Wasm] Run single module tests with standalone vm's
  • KT-81325 [Wasm] Remove string pool initialiser dependent code
  • KT-73238 K/Wasm: stop using linear memory inside our code
  • KT-83025 Wasm: Compose application is not loading
  • KT-73239 K/Wasm: use JS String Builtins proposal to transfer strings to and from JS
  • KT-83194 K/Wasm: create WasmIR test infrastructure
  • KT-65234 K/Wasm Ensure that fp operations are aligned with other b-ends
  • KT-81856 K/JS/Wasm interop: external instanceofs do not link in singleModule mode
  • KT-81610 [Wasm] Add CLI test for performance metrics for klibs->binary scenario
  • KT-81550 Incorrect generation of .wat files
  • KT-71533 K/Wasm + K2: no error on KClass::qualifiedName usages
Compiler
New Features
  • KT-75736 Enable reading/writing annotations in metadata on JVM by default
  • KT-79330 Implement the first version of inference for Collection Literals
  • KT-83401 Collection literals: support different types of expected types for CL
  • KT-55548 JSR-305: Overload resolution ambiguity: Platform Types vs Kotlin Types
  • KT-74860 Support Unit coercion (incl. fun refs) in unused return value checker
  • KT-13968 Support vertx nullable annotation
  • KT-79656 Use org.jetbrains.annotations.UnmodifiableView and/or org.jetbrains.annotations.Unmodifiable to infer read-only types for Java entities
  • KT-81684 Implement explicit passing of context arguments using named syntax [TEST_ONLY]
  • KT-80492 Checkers for operator of
  • KT-82638 Collection literals: resolve to factory functions for standard library classes
  • KT-82467 Improve binary and JVM compatibility by generating bridges for abstract interface methods
  • KT-82655 Bridges generated for non-fake overrides shall include annotations from target methods
  • KT-74223 Move Kotlin/Native TestProcessor phase to the first phase
  • KT-27090 Support contracts in getter and setter for top-level extension properties
  • KT-74809 Support unnamed local variables
  • KT-45683 Allow generics in contract type assertions
Performance Improvements
  • KT-81974 Do not eagerly initialize reflection for KProperty objects for delegated properties
  • KT-83697 Native: increased bitcode produced with enabled safe casts
  • KT-83036 Native: too many casts emitted with -Xgeneric-safe-casts=true
  • KT-80061 Compiler (or IDEA) hangs due to importing large Kotlin reflect functions (e.g. KFunction999999999)
  • KT-68592 Investigate performance implications of enabling -Xjvm-default for ir.tree module
  • KT-73687 Inefficient KtCommonFile#getFileAnnotationList
  • KT-71673 Consider making EnhancementSymbolsCache. enhancedFunctions using simple cache
Fixes
  • KT-84773 Annotations not persisted in IR for internal external functions
  • KT-78783 K2: absence of warning for KTLC-284 migration
  • KT-81553 INITIALIZER_TYPE_MISMATCH and ASSIGNMENT_TYPE_MISMATCH is reported on the entire initializer
  • KT-83395 Kotlin/Native 2.3.0 iOS release framework fails with Invalid LLVM module (PHI node type mismatch)
  • KT-84620 Incorrect optimization of property delegation
  • KT-81567 Add a use-site warning if a @DslMarker-marked annotation is used on entities where it is a no-op
  • KT-81700 flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)
  • KT-83372 compileDebugKotlinAndroid hangs in 2.3.0 with SQLDelight
  • KT-82579 Update specificity rule for context parameters
  • KT-83590 Some explicit backing fields must still be considered private-to-this
  • KT-83849 False-positive NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS for Optional.orElse(null) call
  • KT-84192 "Member overrides different '@Throws' filter from" caused by overriding in different module
  • KT-72994 K2: Remove resolution to context receivers
  • KT-80247 No diagnostic on unresolved type annotation from a dependency in an inferred type
  • KT-78730 Move more LLVM-agnostic code to compiler/ir/backend.native or compiler/ir/backend.common
  • KT-74051 Add a Continuation for tail-call suspend functions
  • KT-83984 Data races around kotlinx.serialization plugin protobuf extensions registration
  • KT-83317 ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant
  • KT-83031 K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code
  • KT-83824 Delegated property in Gradle DSL fails to compile
  • KT-83657 [K/N] Pre-codegen inline produces invalid bitcode
  • KT-81555 Kotlin scripts: top-level name-based destructuring with _ = prop fails with “exception while generating code”
  • KT-83314 JSpecify @NullMarked changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3
  • KT-83282 JvmExposeBoxed: Duplicate annotation interface kotlin.coroutines.jvm.internal.DebugMetadata in class %class%$1 for suspend inline class value
  • KT-78443 Refactor session component initialization for multi-target compilation
  • KT-83427 Arguments of plugin-generated annotations are serialized incorrectly
  • KT-83538 OPERATOR_RENAMED_ON_IMPORT is not reported for 'provideDelegate' operator
  • KT-83537 OPERATOR_RENAMED_ON_IMPORT is not reported for 'of' operator
  • KT-82721 Inconsistent explicit backing fields behavior
  • KT-83589 Explicit backing fields don't likely work with intersection overrides
  • KT-81951 K2: Another false positive "Assigned value is never read" in composable function
  • KT-83588 Explicit backing field is falsely accessible from a subclass via a substitution override
  • KT-82849 Collection literals (minor): collection literal should only be resolved to operator
  • KT-83363 VerifyError: "Bad type on operand stack" on multi-line suspending call with default parameter value since API version 2.4
  • KT-83570 K2: Resolve problematic IR when referencing Kotlin const from annotation in Java
  • KT-83362 Starting from 2.3 DefaultImpls bridge functions deprecated with the level HIDDEN are no longer synthetic
  • KT-9182 Java interoperability: Overload resolution ambiguity on Java's @NotNull and primitives
  • KT-83633 Forbid inline functional context parameters in inline functions
  • KT-83449 compile-time IR failure on smart cast information leaking from capturing closure
  • KT-82375 Add ATOMIC_REF_WITHOUT_CONSISTENT_IDENTITY warning for any argument without consistent identity
  • KT-82524 Access to a companion that requires opt-in is possible without opt-in
  • KT-83367 VolatileFieldsLowering may emit wrong parameter types for atomic intrinsic calls
  • KT-83382 K2: Unreachable method exit breaks MUST_BE_INITIALIZED checks for succeeding value declarations
  • KT-82211 False positive SENSELESS_NULL_IN_WHEN with nullable var
  • KT-83157 ExplicitBackingFields: "Property with explicit backing field should be final" in 2.3.0
  • KT-83269 K2: Wrong types in IR for explicit backing fields
  • KT-68606 Argument type mismatch, despite being from the same star-projected type
  • KT-83324 Native: problem with loops handling in types computation pass
  • KT-83241 K2: "NoSuchElementException: List is empty" with top-level destructuring declaration and lambda initializer
  • KT-82277 Misleading Inapplicable candidate(s): fun <K> WHEN_CALL(vararg branches: K): K when a when expression branch contains an unresolved reference
  • KT-80839 Get rid of an obsolete -Xcompile-builtins-as-part-of-stdlib flag once previous changes are bootstrapped
  • KT-82900 Language Feature EnhancedBridgesGeneration
  • KT-82651 Do not generate self-recursive bridges in JVM backend
  • KT-5486 Better errors for integers with leading zero
  • KT-83185 Kotlin repeatable annotations are incorrectly deserialized from bytecode
  • KT-82863 @NoInfer regression since 2.2.20
  • KT-82376 Header mode: Index out of bounds when generating bodies of data class
  • KT-82311 Header mode: Error expression when assigning function declaration to a property
  • KT-82408 Header mode: Java files are not compiled successfully
  • KT-82378 Header mode: Sequence contains no element matching the predicate
  • KT-82407 Header mode: Backend Internal error: Exception during IR lowering
  • KT-81763 Incorrect comparison result when using elvis ?: with nullable Long values
  • KT-83153 Properly ignore contract statements in the Return Value Checker
  • KT-83076 Don't report WRONG_JS_INTEROP_TYPE on expect types during metadata compilation
  • KT-78589 "Class does not have member field" caused by delegation from a Java to Kotlin class
  • KT-82640 K2: CCE on green code
  • KT-82684 "Don't know how to compile annotation value ERROR_EXPR" on incorrect array literal in annotation default arguments
  • KT-81948 K2: ClassCastException: "java.lang.String cannot be cast to java.lang.Void" when calling @Nullable Java function
  • KT-82788 false-positive duplicate JVM class name error in IJ monorepo
  • KT-82841 "kotlin.NoWhenBranchMatchedException" in when with !is check & non-sealed class in the middle of hierarchy
  • KT-82844 "when" with no branches does not evaluate subject (side effects ignored)
  • KT-81625 Incorrect empty parameters parsing (comma is highlighted in red)
  • KT-81193 K2: SOE from AbstractTypeApproximator.approximateToSuperType with local enum class
  • KT-65059 Stack overflow when typechecking an Elvis expression with deeply generic values
  • KT-82555 @Deprecated(HIDDEN)` objects not skipped when resolving qualifiers
  • KT-82737 Leaked type variable in diagnostic when top-level lambda with uninferred type parameter has non-functional expected type
  • KT-78019 Change K1 API deprecation level from Warning to Error
  • KT-82683 K2: FIR2IR: compile-time JVM codegen failure on an argument of function subtype for a KSuspendFunction parameter
  • KT-82671 Do not report ignorability mismatch on override/actualization if the function returns Unit type
  • KT-82506 Misleading compilation warning: "This class is not recommended for use in Kotlin. Use 'java.util.Map' instead"
  • KT-52498 Test privateSuperType.kt is failing with caches enabled
  • KT-82336 Header mode: Cannot infer argument for type parameter T
  • KT-69326 Inference chooses controversial order to fix variables
  • KT-82545 Handle data class with extra components in migration warning for name-based destructuring
  • KT-82303 Improve UNSUPPORTED_FEATURE message when compiler argument has a parameter
  • KT-81866 K2: False positive ILLEGAL_RESTRICTED_SUSPENDING_FUNCTION_CALL caused by smart-casted @RestrictsSuspension receiver
  • KT-13412 Improve error message on callable reference with expression of nullable type
  • KT-82466 KotlinIllegalArgumentExceptionWithAttachment when return is used in explicit delegation expression
  • KT-82454 Local types aren't approximated in public declaration types
  • KT-82487 False positive REDUNDANT_VISIBILITY_MODIFIER inside private class
  • KT-82369 [K2 REPL] Crash in the serialization plugin backend with "unable to transform declaration"
  • KT-82243 Usage of nested type aliases is forbidden despite the feature flag
  • KT-62900 K2: Expected expression to be resolved during Fir2Ir
  • KT-81941 IllegalArgumentException: class org.jetbrains.kotlin.psi.KtValueArgument is not a subtype of class org.jetbrains.kotlin.psi.KtExpression for factory POSITIONED_VALUE_ARGUMENT_FOR_JAVA_ANNOTATION
  • KT-80741 Fix rendering of inner classes with generic outer classes
  • KT-82331 Do not propagate context parameters from classes to constructors
  • KT-77276 K2: Wrong scope for annotation arguments for the parameters of a secondary constructor header
  • KT-77275 Inconsistency between scopes for primary/secondary constructor headers
  • KT-15152 Improve error message for unresolved reference for delegation specifier and primary constructor call
  • KT-81498 Make Kotlin/Native stdlib in distribution reproducible
  • KT-81408 Allow local-variable-target annotations on destructuring declarations
  • KT-82012 Annotations without parentheses on full form of name-based destructuring don't work
  • KT-81915 Exception when analysing 'when' expression with annotated expression as a subject
  • KT-78364 Static methods are not generated for companion object JvmStatic property accessors with JvmExposeBoxed
  • KT-81838 Prohibit usage of nested type aliases (from lib) for sources with LV < 2.3
  • KT-81357 Forbid compilation of code with explicit root_ide_package in CLI mode
  • KT-73138 K2: "Assignment type mismatch" when class name is underscore_
  • KT-82169 Add quotes to message of WRONG_NUMBER_OF_TYPE_ARGUMENTS
  • KT-78386 JvmExposeBoxed (with no name) + JvmOverloads + JvmName produces ambiguity
  • KT-78358 Propagated JvmExposeBoxed annotation doesn't copy JvmName argument
  • KT-81699 Move native klib compilation to a separate module
  • KT-81692 Decouple compilation of Native klib from the Native backend
  • KT-80673 Consider forbidding/minimizing usages of ClassId.isLocal and CallableId.isLocal
  • KT-81376 False negative UNEXPECTED_TRAILING_LAMBDA_ON_A_NEW_LINE & bad positioning
  • KT-81946 false-positive JAVA_CLASS_ON_COMPANION in case of an explicit companion reference
  • KT-74461 K2: Render function types nicely
  • KT-81875 NCDFE: kotlinx/coroutines/internal/intellij/IntellijCoroutines at :compiler:multiplatform-parsing:jvmTest
  • KT-49722 Report NOT_YET_SUPPORTED_IN_INLINE for inherited default parameters with inline function
  • KT-81913 Inapplicable candidate when vararg-adaption for callable reference might be used (array parameter)
  • KT-81841 Inapplicable candidate when vararg-adaption for callable reference might be used (generic parameter)
  • KT-39697 "Cannot infer type parameter" in map with java static or global method reference
  • KT-81896 Improve RedundantCallOfConversionMethod inspection for @UnsafeNumber annotated typealiases
  • KT-66413 Incorrect line mapping in suspendable code before suspend call without parameters
  • KT-80525 Update IntelliJ SDK dependency to 251.27812.49
  • KT-81808 Setting hasDefaultValue = true in irValueParameter() crashes the compiler
  • KT-78927 False positive 'USELESS_JVM_EXPOSE_BOXED'
  • KT-81703 Drop obsolete K1 frontend code from Kotlin/Native
  • KT-81698 DecoupleSpecialBackendChecksTraversal from Native backend
  • KT-81687 Different LightTree and PSI outputs when annotated class-like declaration is used as an expression
  • KT-81302 False positive: Type Mismatch caused by context parameters, lambdas, and generics
  • KT-81584 IAE "Collection contains more than one matching element" in FirElementSerializer on contextual property with same name as primary value class property
  • KT-77237 JvmExposeBoxed breaks compilation with a secondary constructor with value class
  • KT-81262 False positive: Access declaration type exposure: during access to public function class from internal inline declaration
  • KT-80112 Kotlin Debugger: “Cannot find local variable” on evaluating default lambda inside inline function
  • KT-76806 K2: AIOOBE in FirEqualityCompatibilityChecker
  • KT-81693 Introduce lightweight versions of KonanConfig and PhaseContext
  • KT-72446 K/N: inline function's default values aren't lowered with caches
  • KT-81521 Anonymous function in context parameters breaks parser
  • KT-80853 Class reference in context parameters breaks parser
  • KT-81441 Missing type checks when class has deeply generic supertype
  • KT-79116 Wrong parameter arguments mapping (compiler skips empty arguments)
  • KT-81422 False negative in full-form name-based destructuring: annotations before val/var not rejected
  • KT-80652 K2: USELESS_IS_CHECK is not detected in when
  • KT-80049 Mangle ERROR_TYPEs in diagnostics reported to user
  • KT-73786 Evaluator: cannot evaluate inline methods with reified parameter
  • KT-75828 Store backing field/delegate annotations and extension receiver annotations in metadata
  • KT-74572 Context parameters: contracts don't work with context parameters
  • KT-42824 FIR: false INAPPLICABLE_CANDIDATE when using in variance on a Java class
Compose compiler
  • b/481953005, b/481769383 Cache stability inference results during session
  • b/481735904 Fix Compose codegen crash in inline function
  • b/479646393 Add groups to inline functions with two or more inline parameters
  • b/458234821 Disable Compose K1 tests on CI
  • b/456948687 Force resolution of declarations when looking up SAM functions in FIR
  • b/445426829 Add a diagnostic for key call with no arguments
IR. Actualizer
  • KT-82418 KMP Separate Compilation: NPE caused by actualization of NsCalendar.getEra
  • KT-82313 ACTUAL_ANNOTATION_CONFLICTING_DEFAULT_ARGUMENT_VALUE checks throw conflicting values in expected and actual annotations
IR. Inlining
Fixes
  • KT-82017 [Inliner] Inline function overrides abstract method with default value
  • KT-80814 [IR Inliner] Space: jsBrowserProductionWebpack task failed with HookWebpackError
  • KT-83280 Split LibrarySpecialCompatibilityChecksTest into pure JS and pure Wasm tests
  • KT-81766 K/N: Recursive inline expect/actual causes StackOverflowError
  • KT-80953 [Inliner] Eliminate excessive IMPLICIT_CAST after IR Inliner on 2nd stage.
  • KT-79899 [IR Inliner] Split single-module tests having inline fun into files
  • KT-83148 KLIB inliner: Make both "inliner" language features to require Api Version = 2.3
  • KT-80791 classFunctionsAndFieldsWithCrossModuleInliner fails per-file with cross-module inliner
  • KT-80696 Can not get instance of singleton 'Obj': No class found for symbol
  • KT-82065 IR inliner: Inline function's default value argument may get wrong offsets in a temporary variable
  • KT-81753 Review diagnosticReporters usage in pre-serialization lowerings
  • KT-80793 Test friendDependencyWithCrossModuleInliner fails per-file with cross-module inliner
  • KT-80698 [IC][WASM] Mismatched file stats
  • KT-80697 [IC][JS per file] Mismatched rebuilt modules
  • KT-80660 [Inliner] Bodyless functions should not be inlined at 1st compilation stage
  • KT-79064 Try to get rid of TypeOfPostProcessor
IR. Interpreter
  • KT-82161 Enable Enum.name and KCallable.name to constant evaluation
  • KT-80646 Enable unsigned conversion functions when bootstrapped compiler is available
IR. Tree
  • KT-82765 Kotlin/Native: Internal compiler error when building DFG
  • KT-82829 IR deserializer: Don't deserialize any cinterop fake overrides from Klibs
  • KT-83236 PeopleInSpace_mpp compilation error: The symbol table has been sealed
  • KT-81154 [IrValidator] Fine-tune IrVisibilityChecker on 2nd stage
  • KT-80243 Support Name Based Destructuring in loop with withIndex()
  • KT-79436 KLIB stdlib symbols loading: Drop all functions from SymbolFinder except for loading the whole collection of (potentially unbound) symbols by name
  • KT-79435 KLIB stdlib symbols loading: Load symbols and and filter/map them lazily in BuiltinSymbolsBase hierarchy when accessed by IR
  • KT-69082 Migrate maps of IR elements to IR attributes
  • KT-67457 Introduce a way to simplify IR lowering phase creation
JVM. Reflection
New Features
  • KT-22265 Support for inherited annotations
Performance Improvements
  • KT-84600 Performance regression around Kotlin properties JVM reflection during instantiation
Fixes
  • KT-83608 Kotlin-reflect: "Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R"
  • KT-57357 Reflection: "KotlinReflectionInternalError" when using callBy on constructor that has inline class parameter with nullable value
  • KT-83361 "KotlinReflectionInternalError: Type parameter not found: 0" on super types with Kotlin 2.3.0
  • KT-42199 "KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke" on function reference to FunctionN.invoke
  • KT-81024 Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter
  • KT-83067 Reflection: IAE "argument type mismatch" on callBy with vararg of generic type parameter with primitive upper bound
  • KT-82699 Reflection: incorrect behavior of KFunction.isExternal for Java native methods
  • KT-82350 Reflection: incorrect behavior of KType.javaType on a type obtained from KType.withNullability
  • KT-29203 KType.javaType always returns void class for local delegated property
  • KT-81899 Reflection: incorrect javaType for local delegated property setter return type
  • KT-82093 Reflection: IAE from defaultType for inner class of generic class
  • KT-77312 KotlinReflectionInternalError: "Container of deserialized member is not resolved" on computing type parameter captured in a local delegated property
  • KT-82316 Reflection: type parameters of top-level declarations behave incorrectly
  • KT-81987 Reflection: error when calling function in inline class with inherited default value
  • KT-81870 Reflection: Error when calling function with default parameters and extension receiver
  • KT-81880 Reflection: Error when calling function with default & context parameters
  • KT-81907 Reflection: incorrect result when calling function with default values and context parameters
  • KT-81859 Reflection: do not use descriptors in ValueClassAwareCaller
  • KT-81854 Reflection: incorrect type for instance receiver of inner class constructor
  • KT-81855 Reflection: IAE "object is not an instance of declaring class" on function with context and extension receiver of inline class
  • KT-81843 Reflection: NPE on accessing property accessor returnType for Java field
  • KT-81588 Reflection: KotlinReflectionInternalError "Inconsistent number of parameters" on calling contextual declaration with value class type in the signature
  • KT-81111 Reflection: suspend function types are loaded incorrectly by the new implementation
  • KT-81206 Reflection: non-substituted Function type in suspend function supertypes
  • KT-81804 Reflection: remove support for multi-field value classes
  • KT-81664 Reflection: IAE "argument type mismatch" on calling member extension with value class in the signature
JavaScript
New Features
  • KT-83454 K/JS: Support ES6 classes in js() calls
  • KT-83455 K/JS: Support ES6 default function arguments in js() calls
  • KT-83453 K/JS: Support ES6 concise methods in js() calls
  • KT-83457 K/JS: Support ES6 spread operators in js() calls
  • KT-83456 K/JS: Support ES6 rest function parameters in js() calls
  • KT-54504 K/JS: Support ECMAScript tagged string templates
  • KT-82327 KJS: Export parameter names of function types if present in .d.ts files
  • KT-82371 KJS: Generate more concrete TypeScript for members of an uninhabited enum
Performance Improvements
  • KT-16379 KotlinJs - ArrayList get is now slow
Fixes
  • KT-64951 Kotlin-Multiplatform does not allow JSExport of expect
  • KT-83528 K/JS: Array holes in array literals are ignored in the new js() parser
  • KT-84134 KJS/CMP: "IrLinkageError: Function 'get' can not be called: No function found for symbol"
  • KT-65802 How to implement Interfaces in Javascript/Typescript?
  • KT-83830 Relocate org.antlr.v4 to an internal package
  • KT-83572 KJS/Wasm: Cannot access @JsModule-declared class from non-modular project
  • KT-83930 Kotlin/JS: JsStatic on property of interface companion generates incorrect d.ts
  • KT-70986 Add Swc into the compilation pipeline of Kotlin/JS
  • KT-78742 Investigate the usage of the ANTLR-generated parser for the js function
  • KT-60554 KJS: rethink JS_*_NAME_CLASH diagnostics
  • KT-82552 KJS: "Non-abstract class does not implement inherited abstract member from class" errors in generated .d.ts
  • KT-82652 KJS: Exported abstract inner classes can be constructed from TypeScript
  • KT-82542 KJS: Inner class can be constructed from TypeScript without passing an outer instance
  • KT-82499 KJS: Omit parameters in private constructors in .d.ts files
  • KT-41082 KJS: 'Reflection is not supported on JavaScript target, so you won't be able to read this annotation in runtime' warning is inconvenient and misleading
  • KT-82279 KJS: DCE removes external members overrides without reason
  • KT-52800 KJS / IR: sealed interface with nested data classes not accessible
  • KT-67460 Use new lowering phase creation API in JS backend
  • KT-82667 Kotlin/JS: ESM TypeScript definitions for exported nested Enums do not compile
  • KT-82553 KJS: Incorrect .d.ts generated for generic inner classes
  • KT-82263 Implement exporting top-level properties in Analysis API-based TypeScript Export
  • KT-82362 KJS: Incorrect types generated in .d.ts for JsName-annotated enum entry
  • KT-82262 Implement exporting top-level functions in Analysis API-based TypeScript Export
  • KT-82144 K/JS: 'meta' identifier usage in js() inline calls prevents expression from parsing
  • KT-82149 K/JS: new calls without arguments produce exceptions in js() inline calls
  • KT-81730 Optimize suspend functions compilations via JS generators
  • KT-79243 [JS] Drop K1-specific tests, testrunners and test directives
Klibs
New Features
  • KT-83101 Implement experimental KLib ABI dump parser
Fixes
  • KT-82586 Export in previous version (JS, Wasm): adjust the checker for incompatible Kotlin stdlib/compiler pairs
  • KT-84273 [Klib] Added IrOffsetsChecker broke backward klib compatibility
  • KT-80910 [Klib] Ensure serialized source coordinates are correct
  • KT-81955 [JS] Support testing of forward compatibility with export in previous version
  • KT-81957 [JS] Create a common Gradle test task
  • KT-82736 False positive IR_PRIVATE_CALLABLE_REFERENCED_BY_NON_PRIVATE_INLINE_FUNCTION_ERROR on referenece to local declaration
  • KT-82758 [PL] Change the behavior of getting name of removed property
  • KT-81470 Simplify inline function deserialization after the bootstrap update
  • KT-81466 Enable KlibAnnotationsInMetadata by default in LV 2.5
  • KT-82208 K/Wasm: allow using newer stdlib with older compiler
  • KT-83328 kotlin-wasm-benchmarks: Compilation errors due to missing KLIB dependencies
  • KT-83071 Failure on Native Nightly
  • KT-78365 [PL] Change the behavior of getting name of removed function
  • KT-81977 Klib compatibility tests: Implement sanity checks
  • KT-81410 Klib metadata: migrate to using the common annotations instead of klib-specific extensions in kotlinx-metadata-klib
  • KT-82577 Don't use KLIB resolver in the KLIB tool
  • KT-82213 IR linker doesn't complain when a private value class constructor is used from another module
  • KT-81003 KLIBs: Eliminate excessive implicit casts in common prefix on the 1st stage
  • KT-81670 K/N: Many Section still use none cacheable zip when Xklib-zip-file-accessor-cache-limit flag set
  • KT-81954 [JS] All forward compatibility tests fail
  • KT-81709 [KLIB Reproducibility] KLIB zip file generation is non-deterministic due to unsorted file system traversal
  • KT-81474 [Tests][Klibs] Migrate Klib evolution tests to PL tests engine
Language Design
  • KT-83009 Exposing of non-exportable API from interfaces
  • KT-73502 Context parameters: it is not possible to declare local function with a context
Libraries
New Features
  • KT-81997 Method to create a detached copy of a Map entry
  • KT-79093 Expose FirResolvedStatus.hasMustUseReturnValue in kotlin-metadata
Performance Improvements
  • KT-75801 Optimize Array to list conversion using array copy instead of a loop
  • KT-82038 K/N: iterating over Array.asList is slower compared to ArrayList
Fixes
  • KT-78115 Investigate the current situation with 22 kotlin.context standard library overloads
  • KT-82363 Add assertIs to the list of ignorable functions
  • KT-80666 K/N and K/Wasm: Regex: unassigned category is excluded from other chars
  • KT-80665 K/N and K/Wasm: Regex: unicode category Symbol matches some punctuation marks
  • KT-78089 K/N: Regex: Quantified groups matching is causing a stack overflow
  • KT-82783 HashMap (K/N, Wasm), MapBuilder (all targets) duplicate keys
  • KT-52400 Deprecate @BuilderInference
  • KT-80786 Annotate kotlin-stdlib-jdk7/8 with @IgnorableReturnValue
  • KT-83181 Remove @IgnorableReturnValue from contract DSL functions
  • KT-82033 Array<Array>.flatten fails with obscure error when total length exceeds List's size limit
  • KT-83290 Remove unnecessary ExperimentalTime annotation from Uuid functions
  • KT-83026 Specify compareTo behavior for Boolean
  • KT-82868 Restore accidentally deleted JS-specific note in ArrayList documentation
  • KT-81563 Document kotlin.collections.HashMap and HashSet
  • KT-81562 Document kotlin.collections.ArrayList
  • KT-60535 Mark SubclassOptInRequired and RequiresOptIn with MustBeDocumented
  • KT-64649 Add explanation to "A compileOnly dependency is used in the Kotlin/Native target" warning message
Native
  • KT-83542 Switch the default GC back to PMCS in 2.3.20-RC
  • KT-82387 Kotlin <-> Xcode compatibility issue
  • KT-75806 KN Compiler with debug build can not produce executable with debug info
  • KT-81828 Update exception messages regarding disabling native cache
  • KT-81495 Consider making Kotlin/Native distribution compiler cache reproducible
  • KT-81501 Make Kotlin/Native distribution runtime .bc and fingerprint reproducible
  • KT-80790 'Argument list too long' error when using dynamic_caches
  • KT-48566 ExceptionInInitializerError when configuring Gradle project with kotlin-multiplatform plugin on a host unsupported by Kotlin/Native
Native. Build Infrastructure
  • KT-82886 KonanTarget's clinit causes deadlock
  • KT-81345 Temporary turned off Swift Export execution tests
  • KT-80869 Extract per-module test generators for Native tests
  • KT-82028 Kotlin/Native: move runtime building flags to runtime building code
  • KT-81500 Make Kotlin/Native distribution shared libraries reproducible
  • KT-72011 Kotlin/Native: consider building platform libraries with bootstrap compiler
  • KT-81666 Kotlin/Native: build stdlib with the bootstrap compiler
Native. C and ObjC Import
  • KT-79741 Native: implement type checking against Objective-C protocols without protocolGetter
  • KT-83039 Native: mark header-defined functions and globals unavailable with -Xccall-mode direct
  • KT-82200 Native: implement type checking against Objective-C protocols with objc_runtime_name without protocolGetter
  • KT-82669 Kotlin/Native: cinterop tests failure with no class for metaclass
  • KT-79742 Native: import C global variables without C wrappers
  • KT-81937 Native: switch cinterop to -Xccall-mode both by default for custom cinterop klibs
  • KT-81548 Native: compiler doesn't sanitize CCall.Direct symbol names in C stubs
  • KT-81538 Native: InteropBridgesNameInventor doesn't handle legitimate '$' characters in function names
  • KT-81017 Native: compiler can't call CCall.Direct with '$' in the symbol name
Native. ObjC Export
  • KT-82160 K/N: bridge for fake override is not built but requested
  • KT-83736 Objective-C export with objcExportBlockExplicitParameterNames generates invalid block signature when lambda parameter is named id
  • KT-83014 Native: experimental support for generating an NS_ENUM in addition to an Objective-C class for Kotlin classes
  • KT-76637 ObjCExport: K1 + K2 integration test
Native. Runtime
  • KT-82077 Kotlin/Native: in runtime make main module depend on mm module
Native. Runtime. Memory
  • KT-82635 Enable CMS GC by default in 2.3.20-Beta1
  • KT-83470 Potential race condition in TryRequestThreadsSuspension due to initialization order
  • KT-83549 Provide an experimental Platform property which returns information about object allocation mode
  • KT-83535 Typo in out-of-memory error message
  • KT-81152 Kotlin/Native: deprecate isMemoryLeakCheckerActive
  • KT-81156 Kotlin/Native: deprecate forceCheckedShutdown
Native. Swift Export
New Features
  • KT-82908 Swift Export: bridges for FT should be recursive
Fixes
  • KT-82054 Swift Export: private set is ignored by swift export
  • KT-83499 Swift Export: trampoulines w/ varargs results in a broken swift code
  • KT-83655 Typealias to a closure receiving a closure results in broken swift code
  • KT-82053 Swift Export: Returning generic on top level function produces uncompilable code
  • KT-80971 Swift Export: Support exception throwing
  • KT-83141 Swift Export: suspendable covariant functional type
  • KT-82907 Swift Export: attributes are not printed for parameters of closures
  • KT-80970 Swift Export: Support cancellation
  • KT-82726 Swift Export: filters out wrong module for coroutines
  • KT-81591 Custom type translation rules in Swift export
  • KT-81270 K/N - Build fails when exposing suspend functions
Tools. BCV
  • KT-80938 Binary compatibility validation: can't exclude container types of Repeatable annotations by filters.excluded.byNames
  • KT-83484 Create fat-jar artifact for abi-tools [ABI Validation]
  • KT-80747 Refactor API of ABI tools [ABI Tools]
Tools. Build Tools API
New Features
  • KT-80681 BTA: introduce a special argument for passing compiler plugins
  • KT-80338 Kotlin CRI generation
  • KT-78198 BTA: implement basic metrics collection
  • KT-79975 BTA: add ability to cancel build operations
  • KT-81790 [BTA] Make build operations and configuration immutable after execute
  • KT-82702 BTA: Allow collecting compiler lookups in non-incremental mode
  • KT-81847 Add CRI <-> BTA integration
  • KT-81845 Add CRI <-> Maven integration
Fixes
  • KT-84577 BTA: API 2.3.20 incompatible with compiler 2.3.10
  • KT-82682 BTA: reading non-nullable arguments may return null or throw NPE
  • KT-81729 BTA: loading from a classloader without implementation fails with CNFE instead of error with explanation
  • KT-83971 BTA: OperationCancelledException cannot be thrown properly from isolated classloader
  • KT-82167 Add BuildTimeMetric for the CRI data generation
  • KT-81846 Add FUS for CRI usage in Gradle / Maven
  • KT-82399 [BTA] JvmClasspathSnapshottingOperationImpl doesn't use Option defaults
  • KT-82039 BuildEvent compilation error missing with KGP 2.3.0-Beta1
  • KT-81887 Implement the CRI lookup data generation
  • KT-81886 Implement the CRI data serialization
  • KT-81780 Add Gradle <-> CRI integration tests
  • KT-81645 BTA prints unreadable version in "option available only since" error (shows KotlinReleaseVersion@hash instead of 2.x.y)
Tools. CLI
  • KT-83044 Report redundant CLI arguments when they have no effect
  • KT-83202 Report all errors during parsing CLI arguments instead of a single one
  • KT-73320 Migrate the main JS CLI pipeline to the phased structure
  • KT-81898 Introduce a CLI option to disable source file sorting
  • KT-73606 Provide a unified interface for managing the reporting of compiler warnings
  • KT-48419 Using a @RequiresOptIn API that does not exist should have an option to not output a warning
  • KT-81861 Introduce a mechanism that allows suppressing CLI diagnostics
  • KT-82321 KMP Separate Compilation: Common fragments are missing forward declaration symbol providers
  • KT-81551 Introduce an experimental CLI option for enabling local type aliases
  • KT-74196 Remove patched copy of com.intellij.util.lang.JavaVersion from the Kotlin repo
Tools. CLI. Native
  • KT-64509 Refactor Kotlin/Native compiler setup: run FE without KonanConfig
Tools. Compiler Plugin API
  • KT-83823 Deprecate PreprocessedVirtualFileFactoryExtension
  • KT-82809 [FIR][IC] New containingFileName parameter API is not actually compatible with IC
  • KT-46709 IR plugin lookups don't work as expected for expect class with actual typealias
  • KT-82518 Disable automatic body generation of the plugin-generated callables
  • KT-82159 [FIR] Automatically add expressions to properties or functions
  • KT-58886 K2: compiler plugin generated top level declarations cause AssertionError on K/JS and K/Native
Tools. Compiler Plugins
New Features
  • KT-71893 Support @Builder lombok annotation on methods
  • KT-28594 Add a 'jpa' pre-defined flavor to the allOpen compiler plugin.
  • KT-81604 Lombok Kotlin compiler plugin and -Werror: Unable to ignore warning for the plugin appliance
Fixes
  • KT-83119 Lombok. canEqual is not available from kotlin for a class with @Data annotation
  • KT-83334 Lombok. Builder function is unavailable for a generic class
  • KT-83063 Lombok: Setter/getter is not available with a protected access level
  • KT-83217 Lombok. With method is available for the static field
  • KT-83120 Lombok. A constructor is available for a class with an existing constructor and @Data/@Value annotation
  • KT-83256 Lombok. Setter is available for non-final fields if @Value and @Data/@Setter are used together
  • KT-83251 Lombok. Constructor from @Value includes fields that are initialized in declaration
  • KT-83252 Lombok. Class marked with @Value isn't final
  • KT-83085 Lombok: getter/setter is available for a static field if class is annotated
  • KT-83078 Lombok: getter and setter are not available for a static Java field
  • KT-82341 Migrate official compiler plugins to IC-safe reference... API
Tools. Compiler plugins. Compose
  • KT-84218 [2.3.20-Beta1] "IllegalStateException: no implementation for FUN MISSING_DECLARATION" during bitcode lowering
  • KT-84055 Reference to lambda in lambda in function 'TextField' can not be evaluated
Tools. Compiler plugins. Serialization
  • KT-82351 Migrate kotlinx.serialization to IC-safe reference... API
  • KT-76949 Serialization: "IllegalStateException: Serializer for element of type kotlin.Any has not been found" on custom serializer for Map<String, Any?>
  • KT-73107 Serialization: "IllegalStateException: Serializer for element of type kotlin.Any? has not been found" with star projection
Tools. Gradle
New Features
  • KT-79389 Add allopen plugin + JPA preset to kotlin.plugin.jpa
  • KT-78200 Gradle: enable JVM compilation through BTA by default
  • KT-81844 Add CRI <-> Gradle integration
Performance Improvements
  • KT-84152 Memory Leak and OOM Errors in Kotlin Gradle Plugin 2.3.20-Beta2 with in-process execution mode
Fixes
  • KT-80186 Remove usage of deprecated Gradle API Project.container(...)
  • KT-78754 KGP: Remove usages of isVisible/setVisible
  • KT-80356 Compatibility with Gradle 9.2.0 release
  • KT-78763 Compatibility with Gradle 9.1.0 release
  • KT-83316 [BTA] Build Reports missing information when JVM compilation uses Build Tools API
  • KT-82885 Run tests against Gradle 9.3.0
  • KT-83125 Deprecate out-of-process compilation mode
  • KT-82323 Deprecate LanguageSettings.enableLanguageFeature DSL
  • KT-83323 Run integration tests against Gradle 9.2
  • KT-82884 Compile against Gradle API 9.3.0
  • KT-78104 Deprecate CleanableStore infrastructure
  • KT-80096 Strange "Inconsistent JVM Target Compatibility" warning
  • KT-82715 Declaring dependencies using multi-string notation has been deprecated
  • KT-83161 CRI: it is not clear that CRI generation requires BTA being enabled
  • KT-82717 Specifying 'org.gradle.java.installations.auto-detect' as a project property on the command line has been deprecated
  • KT-81830 Create autogenerated kotlin version constants to be used with disableNativeCache DSL
  • KT-83322 Compile against Gradle 9.2 API
  • KT-81831 Verify Problems API implementation with Gradle guidelines
  • KT-80120 Support colored value for --console command in Gradle 9.1
  • KT-81400 ToolingDiagnosticFactory: check if documentationLink set multiple times
  • KT-83070 The KGP api reference is missing a description
  • KT-82459 Improve iOS simulator boot implementation
  • KT-80008 Track cross compilation status from project dependencies
  • KT-78764 Compile against Gradle 9.1 API
Tools. Gradle. BCV
  • KT-80674 Rename tasks to avoid using legacy word [ABI Validation]
  • KT-80614 Add dependency on abi check from gradle's check task [ABI Validation]
  • KT-80827 Delete DSL for working with dump variants [ABI Validation]
  • KT-80823 Stabilize DSL for filtering [ABI Validation]
Tools. Gradle. Cocoapods
  • KT-80641 EXECUTABLE_DEBUG_DYLIB_PATH problem
  • KT-80644 Cocoapod plugin builds a synthetic project for "generic/platform=iOS Simulator"
Tools. Gradle. JS
  • KT-84772 Bundled yarn.lock for kotlinWasmToolingSetup does not include @swc/helpers@0.5.17
  • KT-82946 Js, Wasm: Upgrade NPM dependencies
Tools. Gradle. Multiplatform
New Features
  • KT-77258 Query status of cross-compilation or compilation task
  • KT-81849 Replace kotlin-test-common and kotlin-test-annotations-common with just kotlin-test
Fixes
  • KT-83917 compileCommonMainKotlinMetadata fails in CMP core repository with Kotlin 2.3.20-Beta1
  • KT-82090 Kotlin JVM + Android Shared Source set fails Import with the Project Isolation enabled
  • KT-81973 NPE with Cannot invoke "java.util.List.get(int)" because "path" is null in KMP + Android project
  • KT-79257 Consider deprecating and removing kotlin.kmp.isolated-projects.support
  • KT-81944 Legacy KMP Android uses wrong configurations to infer common dependencies
  • KT-83687 Revert deprecation of 'androidTarget' for AGP lower than 9
  • KT-81536 "Couldn't resolve dependency in 'commonMain' for all target platforms" in 2.2.20-Beta2
  • KT-81724 IntelliJ successfully resolves imports that are not actually available in the given module
  • KT-79073 compileTest* tasks pass separateCompilation parameters but don't behave accordingly
  • KT-71130 Enable Isolated Projects support by default for KMP
Tools. Gradle. Native
  • KT-84759 iosX64 should not be marked as deprecated in Kotlin Gradle DSL
  • KT-83598 KotlinNativeDownloadTask build caching is unsafe
  • KT-80715 Deprecate kotlin.native.cacheKind and introduce DSL instead
  • KT-83353 DisableNativeCache breaks up-to-date checks for non-cacheable K/N targets
  • KT-81443 ConfigurationCacheError on Linux arm64 due to disabled iOS targets
  • KT-82970 Warning about disabled K/N caches for non-cacheable targets is printed twice
  • KT-82786 Warning about disabled K/N caches is displayed twice
Tools. Gradle. Swift Export
  • KT-82727 Swift Export: generated kotlin bridges don't see neighboring modules
Tools. Gradle. Wasm
  • KT-82525 K/Wasm: kotlinToolingSetup does not depend on package manager installation
Tools. Incremental Compile
  • KT-80483 Incorporate IC lookups into reference... methods of IrPluginContext
Tools. JPS
  • KT-76927 Switching from VAL to VAR does not trigger recompilation of usage in Kotlin-uses-Kotlin
  • KT-79362 JPS/NoArg: Failed to build project with 'java.lang.NoClassDefFoundError: org/jetbrains/kotlin/com/intellij/psi/PsiElement'
Tools. Kapt
  • KT-81691 K2: KAPT: "ClassCastException: IrErrorTypeImpl cannot be cast to class IrSimpleType"
  • KT-82338 K2 KAPT: ISE "Cannot evaluate IR expression in annotation" on unresolved enum usage
Tools. Maven
  • KT-83565 Maven: auto‑detect src/main|test/kotlin
  • KT-79304 Maven: Automatically add kotlin-stdlib dependency
  • KT-83111 Add JavaVersion argument resolver for kotlin-maven-plugin-test
  • KT-83112 Add MavenVersion argument resolver for kotlin-maven-plugin-test
Tools. REPL
  • KT-82575 [K2 REPL] Redesign frontend resolution for REPL snippets
  • KT-82741 [K2 Repl] OOM in FirJavaElementFinderKt.collectAllDependentSourceSessionsTo when rerunning the same cell multiple times
Tools. Scripts
  • KT-81679 Script explain: while loop explanation may lead to the hanging code
  • KT-81677 Script explain: Contents of the if/when branches are not explained
  • KT-67063 LauncherReplTest flaky on Windows
Tools. Statistics (FUS)
  • KT-82877 Add performance measurement for KLIB size
  • KT-79576 Included build subprojects produce FUS files with unknown_id when configuration cache is enabled

v2.3.10

Compare Source

Compiler
  • KT-83984 Data races around kotlinx.serialization plugin protobuf extensions registration
  • KT-83317 ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant
  • KT-83031 K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code
  • KT-81700 flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)
  • KT-83983 Revert of KT-83081
  • KT-83314 JSpecify @NullMarked changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3
  • KT-82863 @NoInfer regression since 2.2.20
  • KT-82841 "kotlin.NoWhenBranchMatchedException" in when with !is check & non-sealed class in the middle of hierarchy
JVM. Reflection
  • KT-83608 Kotlin-reflect: "Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R"
  • KT-83361 "KotlinReflectionInternalError: Type parameter not found: 0" on super types with Kotlin 2.3.0
  • KT-42199 "KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke" on function reference to FunctionN.invoke
  • KT-81024 Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter
Tools. Compiler Plugins
  • KT-83266 "Unsupported class file major version 69" for "produceReleaseComposeMapping" task with Kotlin 2.3
  • KT-83099 Compose compiler does not generate stack trace mappings for project files
Tools. Gradle
  • KT-83070 The KGP api reference is missing a description
  • KT-82459 Improve iOS simulator boot implementation
Tools. Gradle. JS
  • KT-82946 Js, Wasm: Upgrade NPM dependencies
Tools. Gradle. Multiplatform
  • KT-83687 Revert deprecation of 'androidTarget' for AGP lower than 9

v2.3.0

Compare Source

Analysis API
  • KT-80082 K2. False positive "Cannot resolve method" for self-bounded generic with wildcard return type in Java interop
  • KT-80303 Move :native:analysis-api-klib-reader to :libraries:tools
Analysis API. Code Compilation
  • KT-70860 K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var
  • KT-78554 K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation
  • KT-73201 K2 IDE: Error while evaluating expressions with local classes
Analysis API. FIR
  • KT-81378 Expected expression 'FirFunctionCallImpl' to be resolved caused by suspend {}
  • KT-80473 Add events for tracking LL activities
  • KT-46375 Analysis API: Support cross-file class redeclaration checks using indices
  • KT-80471 Analysis API: Deduplicate equivalent call candidates in resolveToCallCandidates
  • KT-79653 [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries
  • KT-75858 K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter
  • KT-80231 AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases
  • KT-80233 Pull mutation out of AnnotationArgumentsStateKeepers
  • KT-71466 LLFirBuiltinsSessionFactory uses createCompositeSymbolProvider
  • KT-76432 JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
Analysis API. Infrastructure
  • KT-80717 Support IntelliJ Bazel build in the Kotlin Coop development mode
Analysis API. Light Classes
  • KT-80656 Duplicate no-args constructor in PSI
  • KT-60490 Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class
  • KT-79689 SymbolLightClassForClassLike.toString() causes PSI tree loading
  • KT-80690 Private interface functions are not present in light classes
  • KT-80256 K2: Certain actions in JPA code causes infinite PIEAE: "Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)"
  • KT-79012 Add a high-level overview of light classes
Analysis API. Providers and Caches
Fixes
  • KT-81476 Analysis API: AlreadyDisposedException from low-memory cache cleanup
  • KT-80911 Analysis API: Execute session invalidation in a non-cancelable section
  • KT-81242 Analysis API: Add UUID/lifetime properties to LL FIR session structure logging
  • KT-80622 Analysis API: Visualise LL FIR session structure & weight
  • KT-80904 Analysis API: "Invalid dangling file module" exception during session invalidation
  • KT-78882 K2 AA: Calling containingSymbol on getProgressionLastElement causes exception
  • KT-58325 Analysis API: Combine LLKotlinStubBasedLibrarySymbolProviders in session dependencies (optimization)
  • KT-77825 Analysis API: CheckersComponent consumes a lot of memory while being unused in LL FIR sessions
  • KT-76526 Incorrect built-in module is provided for non-JVM sources in Standalone
  • KT-62549 Analysis API: Cache callables in combined Kotlin symbol providers
  • KT-70721 LL FIR: investigate possibility of moving LLFirFirClassByPsiClassProvider . getClassByPsiClass (PsiClass) to symbol providers
  • KT-72998 Analysis API: Introduce getClassLikeSymbolByPsi to LL FIR symbol providers
Analysis API. Standalone
  • KT-81108 AA: java.lang.ClassCastException: class org.jetbrains.kotlin.fir.FirBinaryDependenciesModuleData cannot be cast to class org.jetbrains.kotlin.analysis.low.level.api.fir.projectStructure.LLFirModuleData
  • KT-80573 Potential performance issue on class ID computation
  • KT-80559 Try to optimize KotlinStandaloneDeclarationProviderFactory startup for tests
  • KT-71706 Analysis API Standalone: StandaloneProjectFactory.createSearchScopeByLibraryRoots creates inefficient file-based search scopes
Analysis API. Stubs and Decompilation
Performance Improvements
  • KT-77097 Support ReplaceWith deprecation annotation argument via stubs
Fixes
  • KT-80350 Drop K1 decompiler
  • KT-77082 StackOverflowError in CreateFreshTypeVariableSubstitutorStage.shouldBeFlexible
  • KT-80798 Improve stubs tests coverage
  • KT-75318 Read context parameter fields from metadata in CallableClsStubBuilder
  • KT-77874 AA disagrees with the compiler on descriptions of context parameters from binaries in messages for context argument ambiguity errors
  • KT-80276 Implement native coping for stubs
  • KT-79780 Decompiled MultifileClass has Facade kind
  • KT-79398 isClsStubCompiledToJvmDefaultImplementation flag is inconsistent for compiled and decompiled stubs
  • KT-79798 Prettify stub usages in LL stub-based deserializer
  • KT-78949 AbstractLLStubBasedResolutionTest: tests against real stub-based files
  • KT-80251 Inconsistent decompiled and compiled stub for properties with an initializer and a delegate
  • KT-74547 Implement decompiler for K2
  • KT-79555 Move KotlinFileStubImpl serialization/deserialization to the Analysis API
  • KT-79487 "null DefinitelyNotNullType for 'T'" from decompiler
  • KT-60764 Stub Builder: fix differences between K1 and K2 stub building on decompiled files
  • KT-79484 An empty enum class with a member decompiles with a synthetic error
  • KT-79730 Decompiled files have an extra Kt suffix
  • KT-79483 data modifier is not present on object modifier
  • KT-75398 Local classes from scripts have ClassId in stubs
  • KT-79412 Context parameters with type annotations cause inconsistency errors while building stubs
Analysis API. Surface
New Features
  • KT-80084 Provide endpoints for Analysis API to understand when the context sensitive resolution is used
  • KT-64340 Analysis API: no way to get a type of vararg parameter
  • KT-68387 AA: provide context for type approximations
Performance Improvements
  • KT-80713 Optimize KaDeclarationSymbol#visibility for class-like symbols
  • KT-79097 KaFirNamedFunctionSymbol#isSuspend shouldn't trigger resolution
  • KT-79095 isOverride shouldn't trigger resolution if not compiler plugins present
Fixes
  • KT-80234 Incorrect value of isActual for the implicitly actual constructor of annotation class
  • KT-81132 Use KaSession instead of a particular KaSessionComponent for context parameter bridges
  • KT-81129 K2: KaSymbolInformationProvider#importableFqName: should return null for dynamic declarations
  • KT-81128 K2: KaSymbolInformationProvider#importableFqName: should return null for error destructuring declarations
  • KT-81127 K2: KaSymbolInformationProvider#importableFqName: should return null for anonymous functions
  • KT-81126 K2: KaSymbolInformationProvider#importableFqName: should return null for enum entry initializer constructors
  • KT-81125 K2: KaSymbolInformationProvider#importableFqName: should return null for property accessors
  • KT-81124 K2: KaSymbolInformationProvider#importableFqName: type alias constructor should have a reference to the type alias and not to the underlying class
  • KT-70127 Analysis API: 'KaFirReceiverParameterSymbol' does not implement 'KaFirSymbol'; leads to exception from importableFqName
  • KT-81123 Reimplement KaFirSymbolInformationProvider#importableFqName
  • KT-81122 Drop KaImportOptimizer
  • KT-78093 Add bridges for context parameters
  • KT-79772 Migrate from 'validityAsserted' to 'withValidityAssertion'
  • KT-79328 K2 AA, isUsedAsExpression: Unhandled Non-KtExpression parent of KtExpression: class org.jetbrains.kotlin.psi.KtImportDirective
  • KT-80366 IllegalStateException from KaFirStopWorldCacheCleaner
  • KT-80274 Merge AbstractMultiModuleSymbolByPsiTest to AbstractSymbolByPsiTest
  • KT-80352 KaBaseResolutionScope.contains(PsiElement) always returns false for Android light classes (e.g. synthetic R.java classes)
  • KT-80178 Incorrect modality for an abstract interface function with a redundant open modifier
  • KT-79129 [Analysis API] KaFe10TypeCreator.buildClassType cannot build builtin types by class ids
  • KT-79143 AA: argumentMapping contains an expression that is not an argument
  • KT-59857 KaExpressionTypeProvider#returnType shouldn't throw an exception for class like declarations
  • KT-79667 Enable resolve on java record components in standalone mode
  • KT-73050 KaFirSymbolRelationProvider#expectsForActual: suspicius logic for KaReceiverParameterSymbol
  • KT-78904 KaBaseWriteActionStartedChecker throws when no additional WA was done
  • KT-79281 Add KDoc to KaTypePointer#restore
  • KT-78597 KaUseSiteVisibilityChecker returns false for internal functions exposed via implicit receiver
  • KT-71705 FIR api impl: Postfix increment expression's expressionType is Unit when incrementing array element
  • KT-75057 Analysis API: Reference to object through typealias in invoke operator call leads to original type
Backend. Native. Debug
  • KT-79848 Flaky debugger tests in opt.debug/cache.*/GC.CMS/GC.sch.ad/alloc.custom configuration
Backend. Wasm
New Features
  • KT-59032 Support instantiation of annotation classes on WASM
Fixes
  • KT-76204 K/Wasm: support generating a wasm module per kotlin module/klib
  • KT-79357 K/Wasm: store data for string literals in utf8 for Latin1
  • KT-82075 K/Wasm: kotlin.wasm.internal.getSimpleName crashes on iOS Safari older than 26
  • KT-79244 [Wasm] Drop K1-specific tests, testrunners and test directives
  • KT-69621 K/Wasm: Consider enabling support for KClass.qualifiedName by default
  • KT-80397 K/Wasm: turn on by default using a new version of the exception handling proposal for wasm-wasi target
  • KT-81372 K/Wasm: JsException: Exception was thrown while running JavaScript code on Safari 18.2/18.3
  • KT-80018 K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit)
  • KT-66072 K/Wasm: improve how exceptions work in JS interop
  • KT-80106 devServer in Kotlin/Wasm overwrites defaults, causing missing static paths
  • KT-80210 Wasm: "Unexpected non-external class: kotlin.Nothing" caused by JsExport with JsPromise
  • KT-80555 WASM IC: Can't link symbol on kotlinx.coroutines on fresh master
  • KT-80415 WasmJs Number Elvis Operator Crash
  • KT-76509 WasmJS: ReferenceError: Temporal is not defined caused by "Redundant reference to unused external results"
  • KT-79317 [Wasm] Do not throw CCE for ExcludedFromCodegen declarations
  • KT-78036 K/Wasm: generate a message with "expected" and "actual" types in case of CCE
Compiler
New Features
  • KT-80461 K2: false positive NO_ELSE_IN_WHEN for complex sealed hierarchy
  • KT-77676 K/N: enable typechecks and the casts optimization pass in debug mode by default
  • KT-79185 Support local type aliases
  • KT-80837 Warn about extension function with a context shadowed by member
  • KT-80768 Warning on overloading by a superset of context parameters in class context
  • KT-80031 Check spotbugs's @CheckReturnValue in Kotlin's unused return value checker
  • KT-79380 Native: add performance measurement for the rest of backend phases
  • KT-79381 Native: add performance measurement of LLVM phases
  • KT-80222 Implement the prohibition of always-false is checks for definitely incompatible types
  • KT-79295 Parse and build raw FIR from new short and full forms of positional destructuring with square brackets
  • KT-74810 Support typealiased/mapped Java types in unused return value checker
  • KT-71244 Incorporate existing @CheckReturnValue annotation(s) into Kotlin's unused return value checker
  • KT-79922 Record 'MustUse/ExplicitlyIgnorable' state for overrides even in disabled RVC mode
  • KT-79920 Store 'Explicitly ignorable' state of function/property in the metadata
  • KT-79690 Implement a USELESS_ELVIS_LEFT_IS_NULL with elvis expression
  • KT-79296 Implement/adapt diagnostics for new destructuring
  • KT-79298 Report errors on new destructuring syntax in K1
Performance Improvements
  • KT-81617 Native: casts optimizations pass explodes on deep nested loops
  • KT-80554 Kotlin/Native: investigate performance hit from always-on llvm pass profiling
  • KT-81340 K/N: severe compilation time degradation after turning on casts optimization pass
  • KT-80370 Add NO_INLINE attribute to some of runtime functions
  • KT-80167 K/N: condense the nodes and edges in DevirtualizationAnalysis constraint graph
  • KT-79535 Revert incorrect SAM conversion enhancements brought to K2
Fixes
  • KT-79979 K2: ClassCastException when overriding extension property with delegation
  • KT-82590 ClassCastException when instantiating class with generics implemented by fun interface and lambda
  • KT-78881 K2: False positive "Assigned value is never read" in composable function
  • KT-79276 Dexing fails with "Cannot read field X because is null" with 2.2.0
  • KT-79547 "UnsupportedOperationException: Not supported" with inlining and value classes
  • KT-79442 "Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfaces
  • KT-80744 Kotlin failure on lambda with type parameter
  • KT-81618 "Number of arguments should not be less than number of parameters" on JVM on Kotlin 2.3.0-Beta1
  • KT-82869 Green-to-Red change in 2.3 after prioritizing non-suspend-function-type overloads
  • KT-79611 "IllegalStateException: couldn't find inline method": Exception during incremental compilation
  • KT-78895 Consider dropping isLocalInFunction and FirClassLikeDeclaration.isLocal
  • KT-82040 Native: ClassCastException: PointerInputChange
  • KT-81924 K2: "Cannot infer type for this parameter", "Overload resolution ambiguity between candidates"
  • KT-80864 K2: Missing Val cannot be reassigned diagnostic for Java final fields (crashes in runtime with IllegalAccessError)
  • KT-71420 Report error when reified type parameter is inferred to intersection type
  • KT-79451 Rework approach to recursive types approximation
  • KT-78413 Kotlin Debugger: value classes as context parameters have incorrect names in Variables View during debugging
  • KT-82138 Debugger: Cannot evaluate JvmInline value class parameter
  • KT-82381 ArrayIndexOutOfBoundsException while FirDiagnosticsCompilerResultsReporter tries to print code as part of a warning log
  • KT-81068 Corrupted Unicode paths passed or used in the compiler
  • KT-79783 KDoc parser: Links aren't rendered if the line has an indent of 4 or more
  • KT-80549 Call of Java method with type parameter bounds: Expected FirResolvedTypeRef with ConeKotlinType but was FirJavaTypeRef
  • KT-82132 False-positive type mismatch with -language-version 2.2
  • KT-81988 K2: Any?.toString() causes NPE inside lambda with Java
  • KT-81652 Native: ClassCastException: ApplicationForegroundStateListener.Companion
  • KT-76479 Backend. JVM: Report errors on exposure of types in inline functions
  • KT-82022 K/N: Unexpected "Annotation @JvmInline is missing on actual declaration" warning with value classes
  • KT-80250 ISE: flow for PostponedLambdaExitNode not initialized - traversing nodes in wrong order?
  • KT-76344 Drop language version 1.9 for non-JVM platforms
  • KT-76343 Drop language version 1.8
  • KT-80330 K2: NPE at org.jetbrains.kotlin.fir.resolve.calls.FirCallResolver.createResolvedNamedReference
  • KT-80400 K2: AbstractMethodError on fun interface implementation inheriting from an interface compiled with -jvm-default=disable
  • KT-9111 Improve diagnostic for call with access to outer class from nested class
  • KT-78280 Implement the sourceless KtDiagnostics
  • KT-74999 K2: KotlinNothingValueException within Extension Function
  • KT-81254 "AssertionError: There should be at least one non-stub type to compute common supertype": Parser issue during generic type inference
  • KT-53237 NI: Frontend ignores generic bound when inferring types
  • KT-81186 Only allow local type aliases in REPL/scripts until full stabilization
  • KT-80929 IC Native: Undefined symbols on ktor
  • KT-81657 K2: put warning about "exposing package-private in internal" under experimental language feature
  • KT-81241 Konanc exit while lowering org.jetbrains.kotlin.ir.util.IrUtilsKt.remapTypeParameters
  • KT-74819 K2: False-positive overload resolution ambiguity for flatMap inside PCLA
  • KT-81547 Stabilize DFA-based exhaustiveness
  • KT-79274 Frontend implementation of name-based destructuring
  • KT-79506 Contract for getter and setter doesn't work if a property is called from another module
  • KT-58988 K2: Deprecate exposing package-private parameter of internal method
  • KT-80711 IC Native: NPE during link on ktor
  • KT-77727 Move some of the extra checkers to the default list
  • KT-76136 Switch latest stable version in Kotlin project to 2.3
  • KT-81257 Native: "Unexpected boolean predicate" when generating 'static_cache'
  • KT-81525 Report REDUNDANT_SPREAD_OPERATOR on (*) instead of argument expression
  • KT-81522 Fix Light Tree SPREAD_OPERATOR diagnostic positioning
  • KT-77008 K2: Incorrectly force casting to a wrong type
  • KT-78127 K2: Too precise inference for if/when with expected type in assignment
  • KT-80208 K2: ClassCastException: "class java.util.ArrayList cannot be cast to class java.lang.Void" type inference picks Void for generic function
  • KT-75797 Native: find a way to handle generates C bridges in inline functions
  • KT-78819 K2: False positive ABSTRACT_MEMBER_NOT_IMPLEMENTED in KJK hierarchy
  • KT-80003 Kotlin/Native: deprecate eager GlobalData initialization
  • KT-79231 Inconsistent InnerClass entry flags for abstract inner enum
  • KT-20677 Improve diagnostic about implicit default constructor absence for expected annotation class
  • KT-81385 Missing error of nullable expression in class literal in case of reified type parameter
  • KT-81251 Smartcast doesn't work for an effectively private inline function
  • KT-81245 Automatic smart cast on properties with EBF is allowed on inlined property accessors
  • KT-81222 Custom getter is allowed on a property with redundant EBF
  • KT-80795 Wrong type cast is added for IMPLICIT_COERCION_TO_UNIT
  • KT-81141 Fix FirUnsupportedArrayLiteralChecker to forbid array literals inside non-annotation contexts
  • KT-81383 Return type of anonymous function used as run argument is incorrectly inferred to Nothing
  • KT-80577 "Return type mismatch" for self-referential types used as generic parameters
  • KT-75215 KDoc: references from @param tag are rendered as plain text
  • KT-79887 K2 Compiler Internal Error in 'FirFakeOverrideGenerator.checkStatusIsResolved' Method
  • KT-78125 false-negative shadowed contextual overload warning on local declarations
  • KT-81198 Move type and type parameter annotations from jvm_metadata.proto to metadata.proto
  • KT-81057 Wrong handling of boxing during redundant casts optimization
  • KT-81191 K2: "null cannot be cast to non-null type ConeTypeParameterLookupTag" with invalid code
  • KT-80285 IJ monorepo: broken compilation after 2.2.20-RC update
  • KT-81115 Allow converting lambda with explicit parameter when assigning to variable of an extension function type
  • KT-74588 Redundant checkNotNull intrinsics instructions for Java generic methods
  • KT-78390 Unmute FusStatisticsIT.testKotlinxPlugins() after AtomicFU updates kotlin-metadata-jvm
  • KT-79369 Forbid typealiasing for all compiler-required annotations
  • KT-69294 K2: Report CONSTRUCTOR_OR_SUPERTYPE_ON_TYPEALIAS_WITH_TYPE_PROJECTION_ERROR instead of EXPANDED_TYPE_CANNOT_BE_INHERITED after switching to LV 2.2
  • KT-81064 Wrong safe call null check handling during redundant casts optimization
  • KT-80871 StackOverflowError on AnnotationTarget.TYPE
  • KT-80908 K2: Compiling type annotation with self-annotated vararg fail with exception
  • KT-81018 ISE "IR class for Foo not found" on missing dependency when lowering SAM constructor
  • KT-80936 NON_PUBLIC_CALL_FROM_PUBLIC_INLINE : @PublishedApi doesn't work for fun interfaces
  • KT-75748 StackOverflowError when reading array from metadata annotations
  • KT-80606 KotlinIllegalArgumentExceptionWithAttachments when using property itself in explicit backing field initialization
  • KT-80940 K2: Exception in FIR2IR with AnnotationTarget.TYPE with self-annotated non-vararg default argument and usage in child module
  • KT-80538 KaFirDiagnostic.EmptyRange doesn't work in most of the cases
  • KT-80524 Class is not abstract and does not implement abstract member when compiling with kotlinc-jklib
  • KT-80597 Apply fix for CVE-2024-7254 to our fork of protobuf 2.6.1
  • KT-80849 K2: ConstValueProviderImpl doesn't distinguish files with same name and package
  • KT-80602 Exhaustiveness checker improvements for 2.3
  • KT-80735 Support || return/throw shortcut in unsed return value checker
  • KT-79651 Report a warning about an unused return value only on the function name
  • KT-80719 False positive: "Redundant visibility modifier": when overriding protected methods as "public"
  • KT-80434 K2: DSL marker doesn't work with lambda fields
  • KT-80383 Getter without a body is allowed on a property with an explicit backing field
  • KT-80446 Explicit visibility modifiers are allowed on EBF
  • KT-80378 ClassCastException on callable reference to a property with EBF
  • KT-80377 Fir2Ir: "Cannot determine expected receiver type" for callable reference to a property with EBF outside of class
  • KT-80455 K2: StackOverflowError in when exhaustiveness checker on red code
  • KT-72862 [Native caches] Umbrella for failing codegen/box tests for corner cases in synthetic accessors
  • KT-20278 NO_TYPE_ARGUMENTS_ON_RHS: Confusing diagnostic for inner class of generic outer class
  • KT-80418 Property with EBF with functional type isn't resolved if its type is Any
  • KT-80469 Functional type from property is always used for explicit backing field
  • KT-80535 Missing INITIALIZER_TYPE_MISMATCH for EBF
  • KT-80445 Private visibility is possible for a property with EBF
  • KT-80164 Move name generation for unnamed context parameters to frontend
  • KT-80684 Line breaks are lost in multi-line diagnostic messages since 2.3.0
  • KT-78112 RETURN_VALUE_NOT_USED is reported for local function even if it isn't marked with annotation in CHECKER mode
  • KT-48311 Incorrect LINENUMBER after if with a suspend call
  • KT-80688 Bad SourceDebugExtension caused by enhanced coroutines debugging
  • KT-73851 Native: compilation fails with ClassCastException with genericSafeCasts=true
  • KT-77593 Add a warning when @IgnorableReturnValue is inconsistent between expect/actual functions
  • KT-79386 Confusing error message when named parameters are used for java method calls
  • KT-80600 K2: Private and final modifiers are allowed on setter of open delegated property
  • KT-77101 Invoke on callable reference is considered ignorable
  • KT-79923 Remove lookup of @IgnorableReturnValue annotation from FirReturnValueOverrideChecker
  • KT-80517 Synthetic kotlin.Any members in data classes are missing @MustUseReturnValue
  • KT-80194 VAR_TYPE_MISMATCH_ON_OVERRIDE: doesn't mention the inferred type
  • KT-80484 K2: ClassCastException due to fake source for implicit lambda parameter (RedundantNullableChecker)
  • KT-80592 UninitializedPropertyAccessException when anayzing annotations on members of anonymous classes
  • KT-80399 Anonymous Kotlin class incorrectly warns about deprecated java override despite '@Deprecated' annotation
  • KT-79610 Adding CocoaPod to Kotlin/Native MPP triggers IR serialization failure and commonizer errors
  • KT-79951 Infinite loop in parsing incomplete full form destructuring
  • KT-79866 kotlinc 2.2.0 silently emits 'NonExistentClass' instead of reporting an error
  • KT-79777 Argument type mismatch on value of complex type with a captured raw type argument
  • KT-78664 False positive VARIABLE_NEVER_READ and ASSIGNED_VALUE_IS_NEVER_READ on function type variable with splited declaration and assignment
  • KT-79496 False positive "when must be exhaustive" in triangle interface/class hierarchy
  • KT-79774 KtDestructuringDeclaration.getLPar & getRPar are broken
  • KT-80391 K2: Only one context parameter is mentioned in the [NO_CONTEXT_ARGUMENT] diagnostic
  • KT-79785 ktypew:kotlin.collections.List already exists error using Swift Export
  • KT-78879 "Sealed types cannot be instantiated": Can't instantiate Java-defined sealed Class from Kotlin
  • KT-21598 Extension is shadowed by member should not be reported when member is deprecated with HIDDEN level
  • KT-79622 FUNCTION_EXPECTED: Misleading 'expression cannot be invoked as a function' when inaccessible with private lambda
  • KT-80255 [EXTENSION_FUNCTION_IN_EXTERNAL_DECLARATION] can be attached to the receiver type of a functional type
  • KT-79816 Java Interfaces implemented by delegation have non-null return checks
  • KT-80177 Improve message of RECEIVER_SHADOWED_BY_CONTEXT_PARAMETER in case of member extension
  • KT-79770 There is no RECEIVER_SHADOWED_BY_CONTEXT_PARAMETER if the usage of fun is from inside the class
  • KT-79430 False positive EXTENSION_SHADOWED_BY_MEMBER on overridden member extension
  • KT-62934 Incorrect line mapping inside inline lambda after non-local return
  • KT-79545 K2: no error on crossinline lambda usage in anonymous object base constructor call
  • KT-79643 HAS_NEXT_FUNCTION_AMBIGUITY and NEXT_AMBIGUITY diagnostics are always ignored in favor of HAS_NEXT_FUNCTION_NONE_APPLICABLE and NEXT_NONE_APPLICABLE
  • KT-79327 Modifier 'private' is not applicable to 'value parameter' is reported for context parameters
  • KT-76453 K2 IDE: autocomplete freeze
  • KT-77182 A function in a file annotated with @file:MustUseReturnValue doesn't produce a warning when it is used from compiled code
  • KT-78541 Jspecify: Unsound platform type despite @NullMarked for an override with a generic-subclass return type
  • KT-79672 'when expression must be exhaustive' even after using 'require()'
  • KT-71306 K2 IDE / Kotlin Debugger: “Cannot find local variable 'block' with type kotlin.jvm.functions.Function0” on evaluating lambda arg inside inline function
  • KT-76991 K2 IDE / Kotlin Debugger: ISE “Couldn't find declaration file for” on evaluating local fun when the scope has also inline fun from another file call
  • KT-79877 K2 IDE / Kotlin Debugger: failed evaluations of a code fragment capturing local data class
  • KT-77401 [FIR] ParameterNameTypeAttribute.name doesn't support @ParameterName with compile-time constant property argument
  • KT-79682 Fix partially uninitialized locals after coroutine spills insertion
  • KT-79562 NPE when passing non-lambda argument of nullable non-suspend function type into function that accepts nullable suspend function type
  • KT-79693 NotImplementedError: An operation is not implemented: Unknown file with KMP separate compilation
  • KT-79662 Unused return value checker doesn't work for com.google.errorprone.annotations.CheckReturnValue
  • KT-79781 Missing MISSING_DEPENDENCY_CLASS when using type alias with inaccessible RHS
  • KT-77772 Only report exposed type on qualifier if it's resolved to an object
  • KT-79765 K2. Do not report ignore return value for unresolved reference
  • KT-79017 False negative REDECLARATION on private nested class
  • KT-79519 Nested type alias is unreachable from another module
  • KT-72039 StackOverflowError on calling keySet on a Kotlin subclass of Java subclass of ConcurrentHashMap
  • KT-75843 K2: incorrect line numbers in an if-expression with a super-call
  • KT-77504 Add a warning when @IgnorableReturnValue is inconsistent on overrides
  • KT-78389 Perform version 2.3 boostrapping
  • KT-79092 Crash on default argument in function in fun interface
  • KT-77729 Package-level @NullMarked does not work when kotlinc sees .java source files
  • KT-79013 False negative NOT_YET_SUPPORTED_IN_INLINE on inline local functions inside inline functions
  • KT-79139 False positive CONFLICTING_OVERLOADS for context parameters instead of receivers
  • KT-35305 Address the overload conflict resolution between unsigned and non-primitive types
  • KT-42096 No diagnostic reported on inline modifier on an enum entry
  • KT-79355 Failed to fix the problem of desugared inc with new reverse implies returns contract
  • KT-79277 Implies returns contract doesn't affect the return type of the function if it is in the argument position
  • KT-79271 Implies returns contract doesn't impact exhaustiveness
  • KT-79218 SMARTCAST_IMPOSSIBLE for top‑level extension‑property getter despite returnsNotNull contract
  • KT-79220 returnsNotNull contract ignored on extension function with nullable receiver
  • KT-79354 IllegalStateException: Debug metadata version mismatch. Expected: 1, got 2 with compiler 2.2.20-Beta1 and stdlib 2.2.0
  • KT-77986 K2: False negative: "Local classes are not yet supported in inline functions"
  • KT-79456 Redeclaration conflict checks of private top-level classifiers rely on an incorrect containing file
  • KT-79125 RVC full mode: delegated interfaces are not checked
  • KT-63720 Coroutine debugger: do not optimise out local variables
  • KT-78595 type variable leak on a generic property as a call argument given an unstable smart cast
  • KT-79076 'IllegalStateException: Cannot serialize error type: ERROR CLASS: Uninferred type' with Exposed column using recursive generic type
  • KT-59807 K2: Replicate the MUST_BE_LATEINIT logic from K1
  • KT-76782 K2: Incorrect resolve into unrelated invoke operator with wrong diagnostic
  • KT-78066 TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER error message does not account for context parameters
  • KT-76065 Drop JavaTypeParameterDefaultRepresentationWithDNN feature
  • KT-77808 Inference: recheck the code about DNN-related hacks
  • KT-24202 NOTHING_TO_OVERRIDE if super-class reference misses generic arguments
  • KT-78909 K2: Missing diagnostics [CYCLIC_INHERITANCE_HIERARCHY] for recursive class inheritance leads to StackOverflowError
  • KT-75969 java.lang.IllegalArgumentException: source must not be null on red code
  • KT-76902 Omit type-use annotations from diagnostics
  • KT-17460 Diagnostics and intention on suspend function that is overriden with non-suspend one.
  • KT-56665 K2: false positive RECURSIVE_TYPEALIAS_EXPANSION
  • KT-78932 Contracts are allowed for open and overridden property accessors
  • KT-77203 FIR: Consider adding destructured type to all COMPONENT_FUNCTION_* diagnostics
  • KT-77685 "IllegalArgumentException: Sequence contains more than one matching element"
  • KT-78452 Drop redundant frontend structures after fir2ir conversion
  • KT-70507 Should parentheses prevent from plus/set operator desugaring?
Compose compiler
New features
  • 98d3907 Introduce a compose group analysis module that produces a proguard/R8 mapping from group keys in bytecode.
Fixes
  • b/419049140 Disabled memoization in try blocks
  • KT-81081 Generate Compose-specific proguard mappings when Compose compiler plugin is applied.
  • b/431025881 [Compose] Clean up runtime version checker
  • b/365922168 Add java.util.Locale to the list of known stable classes
  • b/407549020 Introduce a registry of known stable markers
  • b/417989445 Added a diagnostic to restrict usages of runCatching in
    @Composable functions
  • KT-80294 Fix crash with inline @Composable function reference
  • b/430140896 Fix IrSourcePrinter output for when branch check and typechecks
  • CMP-9167 iOS: Platform declaration clash: The following functions have the same IR signature
IDE. Gradle Integration
  • KT-46273 MPP: Don't fail import for case of missed platform in source set structure
  • KT-46417 [UNRESOLVED_REFERENCE] For project to project dependencies of native platform test source sets
  • KT-44845 After update to Kotlin 1.4.30 all external dependencies is unresolved in IDE with kotlin.mpp.enableGranularSourceSetsMetadata=true
  • KT-46142 K/N distribution is unavailable from IDE with multiplatform hierarchical project structure enabled
IR. Actualizer
  • KT-77337 IrNoExpectSymbolsHandler finds expect class reference after enabling annotation traversal in IR
  • KT-80002 Investigate the need for map copying in IrCommonToPlatformDependencyExtractor.kt
  • KT-80131 KMP Separate Compilation: No override for FUN IR_EXTERNAL_DECLARATION_STUB name:
  • KT-80064 KMP Separate Compilation: ClassCastException: class org.jetbrains.kotlin.ir.symbols.impl.IrTypeAliasSymbolImpl cannot be cast to class org.jetbrains.kotlin.ir.symbols.IrClassSymbol
  • KT-80051 KMP Separate Compilation: Actualization of common dependencies failed on 'PROPERTY FAKE_OVERRIDE name:modCount visibility:protected modality:FINAL [fake_override,var]'
  • KT-79998 KMP Separate Compilation: java.lang.IllegalStateException: No override for FUN IR_EXTERNAL_DECLARATION_STUB name:
IR. Inlining
New Features
  • KT-70360 KLIBs: Uniformly handletypeOf() calls at 1st/2nd stages of compilation
Performance Improvements
  • KT-69497 Crossinline lambda is allocated on K/N & JS
Fixes
  • KT-78673 Make fakeOverrideLocalGenericBase not using red code
  • KT-78537 [Inliner] Incorrect KFunction.name of a reference to inlined local function
  • KT-74892 Investigate passing inline lambda as argument of another inline function
  • KT-81673 False warnings about ABI change in dependencies in library mode in 2.3.0-Beta1
  • KT-81713 [Inliner] Compilation of inline function with recursive call applied to TODO() fails with an internal error
  • KT-80653 [IR Inliner] Space: "Local declarations should've been popped out by this point"
  • KT-78392 CommonPrefix: Add a way of stopping execution when one of the phases is unsuccessful
  • KT-80927 [Native] Review intrinsics with PublishedApi
  • KT-81070 [Inliner] kotlin/Any is unbound
  • KT-80628 KLIB inliner: Not enough information about the "full" mode
  • KT-69516 Double-inlining for Native: Enable visibility checks after 1st phase of inlining
  • KT-79334 Unify intrinsics used on 1st phase of IR inliner in KLIB-based compilers
  • KT-80610 KLIB inliner: Always apply cross-module inlining to pre-processed inline functions
  • KT-80565 KLIB Inliner: Add a special annotation to prohibit inlining of marked inline functions in stdlib on 1st compilation phase
  • KT-80883 [Inliner] Run pre-serialization lowerings in all testrunners
  • KT-77876 IrVisibilityChecker: Different set of exceptions for 1st and 2nd compilation stages
  • KT-80693 [IC] Split IC invalidation tests for cross-module IR Inliner
  • KT-79718 KLIB inliner: Emit warning on generation of public synthetic accessor when running in "explicit API mode"
  • KT-80226 [IR Inliner] Generate constructor accessors as constructors, not static functions
  • KT-80692 [IC] Split IC invalidation tests for intra-module IR Inliner
  • KT-77103 [Inliner] IrLocalDelegatedProperty was not serialized, while its symbol and IrRichPropertyReference were.
  • KT-80537 The expected error is not emitted from FirJsKlibSyntheticAccessorsTestGenerated and NativeKlibSyntheticAccessorsTestGenerated
  • KT-78903 Unify codegen/boxInline tests with codegen/box
  • KT-78989 Add missing PL tests for inline functions/property accessors
  • KT-79771 kotlinx-coroutines-core: Public synthetic accessor generated with enabled KLIB IR inliner
  • KT-79680 IrConstructorSymbolImpl is unbound in lambdaWithoutNonLocalControlflow.kt
  • KT-70849 Ensure correct debug info for intra-module IR inlining on the first compilation phase
  • KT-79800 JS BE errors with default values when IR inliner is enabled
  • KT-79352 Remove excessive validations from ValidateAfterAll... on the first stage
  • KT-76599 Migrate IrValidationAfterInliningAllFunctionsPhase to the first stage of compilation
  • KT-78245 Synthetic Accessors incorrectly copies default values
  • KT-72594 [JS][Native] Add IrInliningFacade to test runners
IR. Interpreter
  • KT-72356 K2 Native: IllegalStateException when annotation has the same source range as a constant in another file
  • KT-72881 K2: incorrect empty array as annotation argument when parameter has default value
IR. Tree
Fixes
  • KT-79371 Fix handling of broken SAM conversion in PL with enabled Rich References
  • KT-81952 "IllegalStateException: Callable reference with vararg should not appear at this stage" for callable references to functions with generic vararg parameters
  • KT-79739 Static synthetic accessors inside generic classes access its type parameters
  • KT-78100 Track and annotate internal annotations with @PublishedApi to enable annotation visibility validation
  • KT-80825 Drop IrSerializationSettings.reuseExistingSignaturesForSymbols setting
  • KT-79807 Broken IR tree invariants in IrReplSnippet after FIR2IR
  • KT-77819 [IR] Fine-tune IrValidator's run after Fir2IR and IR plugins
  • KT-70160 Remove IrDeclaration.parents after Anvil update
  • KT-80454 LocalDeclarationsLowering: Clean-up the dead code
  • KT-80819 Rework IrFileValidator to use Hashmap instead of ClassValue
  • KT-80516 Kotlin-like IR dump: Don't render tailrec as lateinit
  • KT-78856 Refactor LocalDeclarationsLowering to split it in smaller parts
  • KT-79439 KLIB stdlib symbols loading: Split the result of merging of IrBuiltins with BuiltinSymbolsBase hierarchy into two parts (for 1st & 2nd phases)
  • KT-79437 KLIB stdlib symbols loading: Drop loading functions from IrBuiltins and migrate usages to SymbolFinder functions and lazy filtering
  • KT-79569 Unexpected error during DFG phase in Native due to PL issue with SAM conversion represented by rich reference
  • KT-76601 IrValidatorConfig should have all checks disabled by default
  • KT-69662 Deduplicate function createTemporaryVariable
  • KT-79440 KLIB stdlib symbols loading: Drop BuiltinSymbolsBase from plugin API
  • KT-78960 [FO] Limit static fake overrides generation for static functions
  • KT-76813 IR validator: not all symbols/references are visited
JVM. Reflection
  • KT-79020 Suspend lambdas return type is shown as ??? in reflection
  • KT-81967 isSubtypeOf: ClassCastException: CapturedKType cannot be cast to class AbstractKType
  • KT-76521 Reflection: change KType representation to avoid dependency on K1
  • KT-81619 Reflection: Function supertype of a FunctionN class has flexible type in new implementation
  • KT-74529 Context parameters support in reflection
  • KT-80901 Reflection: incorrect translation of raw types in the new implementation
  • KT-74624 Reflection: KClassifier.createType(...) ignores annotations parameter
  • KT-80203 Reflection: provide a way to use legacy K1-based implementation
  • KT-80236 Reflection: KType.toString for raw types no longer renders "(raw)"
  • KT-79206 Reflection: suspend functional type classifier is null
JavaScript
New Features
  • KT-80401 Kotlin/JS support for default export in generated JavaScript
  • KT-79284 Use BigInt64Array for LongArray
  • KT-79222 K/JS: Allow using Long in exported declarations
  • KT-79394 Add the possibility to write common external declarations between JS and WasmJS targets
Performance Improvements
  • KT-57128 KJS: Use BigInt to represent Long values in ES6 mode
Fixes
  • KT-79928 Allow JsModule/JsNonModule/JsQualifier invocation on per-entity level
  • KT-79514 java.lang.IllegalStateException: IrClassSymbolImpl is unbound. Signature: kotlin.js/Promise|null[0] on running jsBrowserTest
  • KT-82005 KJS: "TypeError: callAgent.jsonRpcCall_ij3z26_k$ is not a function" after code change in 2.3.0-Beta1/2
  • KT-79359 Kotlin/JS: Suspending function doesn’t return Unit on es2015
  • KT-79089 KJS: Could not load reporter / Cannot find module 'mocha' when running jsNode tests
  • KT-56281 KJS: Can't export suspend functions
  • KT-79926 Wrong export of interfaces with companions with ES Modules
  • KT-80168 Allow @JsStatic inside interface companions
  • KT-70222 Remove legacy JS BE-related CLI flags
  • KT-81424 Kotlin/JS: Cannot Get / in a simple running application
  • KT-80873 KJS: Stdlib requires ES2020-compatible JS engine due to BigInt type literal
  • KT-81066 Wasm, JS: Remove redundant logging in compiler output
  • KT-72833 KJS: Source maps have incorrect sources paths in per-file
  • KT-74055 KJS: @JsPlainObject adds JS code even if marked interface is not used
  • KT-72474 KJS: @JsPlainObject doesn't honour -XXLanguage:+JsAllowInvalidCharsIdentifiersEscaping
  • KT-79644 BigInt enabled for ES 2015 despite being an ES 2020 feature
  • KT-52771 KJS: Pair should be exported to JavaScript
  • KT-79704 Unify variance rendering between JS and other backends
  • KT-69297 Deprecate referencing inlineable lambdas in js() calls
  • KT-80086 [k/js] Resolving imported string literals
  • KT-79066 [Kotlin/JS] jsNodeTest fails with SyntaxError when a test file has @file:JsExport and useEsModules() is enabled
  • KT-77385 Investigate partial linkage problems for JS HMPP tests
  • KT-79628 Remove IR nodes from ExportModel
  • KT-79916 K/JS: "Uncaught TypeError" when using 'Xes-long-as-bigint' in compose-html
  • KT-79050 KJS / IC: "Unexpected body of primary constructor for processing irClass"
  • KT-79977 KJS: Long.rotateLeft returns incorrect result when BigInts are enabled
  • KT-78831 AbstractFunctionReferencesLowering: fragile fake override generation
  • KT-52230 KSJ IR: Applying identity equality operator to Longs always returns false
  • KT-6675 KotlinJS: toInt() on external Long throws error
  • KT-79184 K/JS: Further intrinsify BigInt-backed Long operations
Klibs
New Features
  • KT-80761 K2: [K/N] Should reported klib usage include inheritance
Performance Improvements
  • KT-80861 [Klib] Deduplicate IrFileEntry.name
  • KT-80866 [Klib] Optimize size of IrFileEntry.line_start_offset
  • KT-80438 Uncached KlibMetadataClassDataFinder.findClassData
Fixes
  • KT-64237 Klib metadata: migrate to using the common annotations instead of klib-specific extensions in the compiler
  • KT-80099 KLIB resolver: Could not find file because of missing klib extension in resolved symlink path
  • KT-80999 Reuse existing IrKotlinLibraryLayout in KotlinLibrary for reading pre-processed functions
  • KT-80290 Remove if and TODO in countInAsInlinedLambdaArgumentWithPermittedNonLocalReturns
  • KT-80298 K/N: one-stage compilation is broken
  • KT-79958 KLIB tool fails to render IR if there is IrErrorType in a lirbrary
  • KT-75241 Move ExperimentalLibraryAbiReader to a publishable artifact
  • KT-76260 Make IrRichCallableReferencesInKlibs lang feature stable in LV=2.3
  • KT-61552 [PL] IndexOutOfBoundsException in SAM conversion with substituted function
  • KT-74417 Deduce the metadata version based on LV in KLIB-based backends
  • KT-75980 [Klib] Reduce serialized size of IrFileEntries for sparse usage of another source files
  • KT-73826 Deduplicate IrFileEntry that is serialized inside IrInlinedFunctionBlock
Language Design
  • KT-76926 Allow return in expression bodies if return type is specified explicitly
  • KT-78866 Show an error for implicit receiver shadowed by context parameter
  • KT-81561 Update nested type aliases KEEP to reflect local type aliases support
  • KT-81015 Stabilize nested type aliases
  • KT-32619 JS: return Promise when continuation is not provided
  • KT-78976 Decide if K2 should support local functions inside of local inline functions
  • KT-79308 Ability to actualize empty interfaces as Any
  • KT-48872 Provide modern and performant replacement for Enum.values()
  • KT-28850 Prohibit protected visibility in final expected classes
Libraries
New Features
  • KT-81092 Uuid: support generation of version 7 uuids with a given timestamp
  • KT-78463 Annotate wasm and JS targets of kotlin-stdlib with @IgnorableReturnValue when appropriate
  • KT-74444 EnumEntries type should implement RandomAccess
  • KT-78462 Annotate kotlin-stdlib-jvm with @IgnorableReturnValue where appropriate
Performance Improvements
  • KT-72111 Change Duration.parseOrNull logic to not throw exceptions internally
Fixes
  • KT-82901 Long.MIN_VALUE.milliseconds produces invalid denormalized Duration
  • KT-81995 K/N: CMP: Undefined symbol _kfun:kotlin.time.Duration.kotlin.time.Duration
  • KT-56822 Deprecate Number.toChar() with error deprecation level
  • KT-81078 Increase kotlin.io.createTempDir and createTempFile deprecation level to ERROR
  • KT-74493 Deprecate String.subSequence(start, end) with error and drop it in the future
  • KT-79192 Increase InputStream.readBytes(Int) deprecation level to HIDDEN
  • KT-80778 Stabilize kotlin.time.Clock and kotlin.time.Instant
  • KT-81043 String.toBigDecimalOrNull rejects strings accepted by String.toBigDecimal
  • KT-81477 Uuid.Companion.generateV* are missing SinceKotlin annotation
  • KT-81478 FileTreeWalkTest.withDirectoryFilter fails on Windows
  • KT-74411 Introduce Uuid.generateV4() and generateV7()
  • KT-80530 Annotate Kotlin/Native stdlib with must-use value/@IgnorableReturnValue when appropriate
  • KT-79791 Duration.parse incorrectly handles negative decimal seconds in ISO-8601 format
  • KT-80619 [KLIBs] Enable intra-module inliner in stdlib & kotlin-test
  • KT-76773 stdlib: contextOf's type argument can be inferred via contextOf's context argument
  • KT-71822 Intersection with (subtraction from) an identity set may produce incorrect results
  • KT-80431 Remove suppression of "ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT" from stdlib
  • KT-80605 Rename MustUseReturnValue -> MustUseReturnValues
  • KT-69947 KLIB stdlib: All intrinsics that can be used in KLIBs with inlined IR must be included in stdlib ABI dump
  • KT-59044 Improve various aspects of TimeSource documentation
  • KT-80544 Mark controversial path extensions (like .deleteRecursively()) as ignorable
  • KT-80603 K/N and K/Wasm: \p{N} category is not supported
  • KT-80661 ArrayDeque.lastIndexOf may return -1 for an element present in the deque
  • KT-80390 ArrayDeque.indexOf(null) wrongly returns 0 after removals
  • KT-79094 Change signature of assertFailsWith or make lambda excluded otherwise
  • KT-72028 Incorrect parameters order in IndexedValue documentation
  • KT-80130 [stdlib] Commonize AssociatedObjects in commonNonJvmMain
  • KT-80107 [stdlib] Move CancellationException to commonNonJvmMain
  • KT-80179 Investigate why StringBuilder.length is not enhanced automatically
  • KT-80046 Increase test coverage of Duration.parse[IsoString][OrNull] methods
  • KT-76459 Remove comments about sorting stability in unsigned-type arrays
  • KT-79489 Generate Stdlib API reference for webMain source set
  • KT-78243 Drop JS- and Wasm-specific IrLinkageError classes
  • KT-79108 Remove the default argument for linkageError from kotlin.js.getPropertyCallableRef
  • KT-79130 K/JS: Remove bodies from intrinsified Long methods
  • KT-79239 K/Wasm: elementAt extension function of Array/PrimitiveArray/UnsignedArray does not throw IndexOutOfBoundException on incorrect index
  • KT-79256 K/Wasm: MatchResult.groups raises a trap on invalid group index
  • KT-57317 Repack EnumEntries from stdlib into the compiler
Native
  • KT-80620 Bump minimal iOS and tvOS supported versions to 14.0
  • KT-80624 Bump minimal watchOS supported versions to 7.0
  • KT-79384 K/N: Application Not Responding: Thread Deadlock
  • KT-80536 Native: DependencyDownloader seems to have no timeout
Native. Build Infrastructure
  • KT-80147 Set proper LV and AV for kotlin-native/performance/buildSrc
  • KT-79474 Kotlin/Native: fix breakpad build
  • KT-79215 Kotlin/Native: fix distInvalidateStaleCaches on windows
Native. C and ObjC Import
  • KT-79752 Native: make cinterop generate CCall.Direct annotations
  • KT-79753 Native: support CCall.Direct calls in the compiler
  • KT-81312 Native: when -Xccall-mode direct is used, mark unsupported declarations with unresolvable symbol name instead of @Deprecated(ERROR)
  • KT-79571 Xcode 26 beta 4: CInteropKT39120TestGenerated.testForwardEnum failed
  • KT-80838 Cinterop fails with an error when Compilation works fine
  • KT-49034 Kotlin/Native: cnames.structs.Foo resolves into wrong declaration
Native. ObjC Export
  • KT-81906 Normalize CFBundleIdentifier when producing Apple framework
  • KT-78810 [ObjCExport] Enable explicit ObjC block parameter names by default
  • KT-80271 ObjC/Swift Export: Remove Native platform Cloneable checks
  • KT-78604 Consider not inheriting KlibScope from KaScope
  • KT-79767 ObjCExport: private companion must not be exposed
  • KT-79724 ObjCExport: extensions order
  • KT-79548 ObjCExport: mangling difference between K1 and K2 when translating KotlinDurationCompanion
  • KT-79475 ObjCExport: invalid property getter translation
  • KT-79346 ObjCExport: Any method overrides
  • KT-78871 ObjCExport: translation of keyword release with parameter generates invalid header
Native. Runtime. Memory
  • KT-75918 Native: Deprecate -Xallocator=std
  • KT-80678 Native: pagedAllocator=false sweep is slow
  • KT-75916 Native: Enable sanitizer support with pagedAllocator=false
Native. Swift Export
Fixes
  • KT-81355 Swift Export: Introduce a flag to turn off coroutines export
  • KT-80969 Swift Export: Call suspend function as async on swift side
  • KT-80111 Swift Export Build Fails Due to Errors in KotlinStdlib.swift
  • KT-80884 Swift Export: support async in SIR
  • KT-80185 Swift Export: IllegalArgumentException – Collection contains more than one matching element
  • KT-79889 K/N: swift-export fails under several different conditions
  • KT-79518 Swift export: represent kotlin.Any as swift.any
  • KT-78603 Do not inherit SirAndKaSession from KaSession
  • KT-79227 Swift Export: Fix First Release Issues
  • KT-79521 '_CoroutineScope' is inaccessible due to 'internal' protection level
  • KT-79181 Swift Export Fails When Using T: Comparable Generic Constraint in Kotlin Classes
Tools. Ant
Tools. BCV
  • KT-80313 Add ability to generate dump from jar files [ABI Tools]
Tools. Build Tools API
New Features
  • KT-78194 BTA: port the JVM prototype to the new design
  • KT-79409 BTA: Support removed compiler arguments properly
  • KT-78193 BTA: Implement core infrastructure according to the new design
  • KT-78196 BTA: implement API adapter for the prototype implementation
  • KT-77999 BTA: Generate BTA options from compiler arguments descriptions
Fixes
  • KT-75357 CompilationService.loadImplementation(loader) Expects a ClassLoader, but Fails if its not a URLClassLoader
  • KT-73090 Gradle 8.11 kotlin compilation fails when run with -Pkotlin.compiler.runViaBuildToolsApi=true
  • KT-81321 Deprecate old BTA prototype API
  • KT-81602 BTA: rename KotlinToolchains.jvm @JvmName for a more Java-friendly API
  • KT-75356 Failing to pass a -d argument causes Build Tools API to NPE
  • KT-81130 BTA: using KotlinVersion from stdlib in the API breaks when using isolated classloader
  • KT-78195 BTA: migrate the test infrastructure from the prototype to the new design
Tools. CLI
  • KT-81077 Add JVM target bytecode version 25
  • KT-79867 CompilerConfiguration.configureSourceRoots puts obfuscated file paths instead of ones passed on classpath to CLIConfigurationKeys.CONTENT_ROOTS
  • KT-80348 Expose 'XXLanguage' compiler argument as a normal argument
  • KT-80428 KMP Separate Compilation: Handle friend dependencies
  • KT-74590 Deprecate -Xjvm-default in favor of -jvm-default
  • KT-80349 KMP Separate Compilation is enabled on non-KMP compilations
  • KT-79982 Fix description of -Xjspecify-annotations
  • KT-79403 Improve generator for deprecated CLI arguments
  • KT-75968 Set proper lifecycle for all existing compiler arguments
  • KT-79293 Create Language Features and compiler argument with parameter for new destructuring features
Tools. Commonizer
  • KT-49735 [Commonizer] :commonizeNativeDistribution fails for projects with two or more same native targets
  • KT-47523 MPP: Unable to resolve c-interop dependency if platform is included in an intermediate source set with the only target
  • KT-48118 Commonized c-interop lib is not attached to common main source set
  • KT-46248 MPP: Compile KotlinMetadata fails with Unresolved reference if only one native platform from shared source set is available
Tools. Compiler Plugin API
  • KT-82563 Improve compiler error messages to identify incompatible plugins causing compilation failures
  • KT-55300 Provide a mechanism to describe ordering and dependencies for compiler plugins
  • KT-82099 Compiler plugin ordering has no effect
  • KT-74867 LLFirIdePredicateBasedProvider matches local classes when it shouldn't
  • KT-52665 Deprecate ComponentRegistrar
  • KT-75865 Provide an API for setting the file name for the file with top-level declarations generated by a plugin
Tools. Compiler Plugins
New Features
  • KT-81091 [DataFrame] Receivers from FirExpressionResolutionExtension are not resolved in CodeFragment
Fixes
  • KT-64339 Symbol Light Classes: No Arg compiler plugin generates synthethic constructor which is not seen from light classes
  • KT-80429 Power Assert with "Run test using: IntelliJ": NoClassDefFoundError (org.jetbrains.kotlin.kotlinx.collections.immutable.ExtensionsKt) during compilation
  • KT-79319 Lombok: NullPointerException on mvn compile when importing Java constants
  • KT-81348 Incorrect bytecode mentioning error class/package is generated by kotlinx-serialization when private serializer in another module is not accessible
  • KT-80944 FirUserTypeRefImpl cannot be cast to class FirResolvedTypeRef in maven project
  • KT-80815 NoArg compiler plugin: Promote NO_NOARG_CONSTRUCTOR_IN_SUPERCLASS diagnostic from warning to error
  • KT-80822 False positive NO_NOARG_CONSTRUCTOR_IN_SUPERCLASS reported for a class with explicit noargs constructor already present
  • KT-53122 Constructors generated with NoArg have no @Metadata and are invisible for the frontend
  • KT-74687 Kotlin Lombok: False positive when calling builder on Java record
  • KT-80419 Remove bundled jetbrains annotations from kotlin-dataframe-compiler-plugin
  • KT-79245 [AtomicFU] Drop K1/JS- and K1/Native-specific testrunners
  • KT-79197 DataFrame: Cannot find local variable 'this@df' with type Scope0
  • KT-73865 Incorrect type is generated for irPropertyReference during K/N transformation
Tools. Compiler plugins. Serialization
  • KT-70345 Promote COMPANION_OBJECT_IS_SERIALIZABLE_INSIDE_SERIALIZABLE_CLASS diagnostic to error
  • KT-79695 Serialization does not exclude field-less properties in 2.2.20-Beta2
  • KT-79246 [Serialization] Drop K1-specific testrunners
Tools. Gradle
New Features
  • KT-78199 Gradle: Migrate JVM compilation in KGP to the new BTA
  • KT-45161 Gradle: Support registering generated sources with the Kotlin model
  • KT-71602 Introduce KotlinTopLevelExtension
Fixes
  • KT-67290 Deprecate usage of HasKotlinDependencies inside KotlinCompilation
  • KT-80950 KGP breaks configuration cache when signing plugin with GnuPG is applied
  • KT-64211 Provide support for the kotlin.internal.compiler.arguments.log.level property while running via build tools api
  • KT-81719 Do not register swift export related configurations when it's not required
  • KT-78741 Add FUS analytics for klib cross-compilation
  • KT-75449 Update deprecation of KotlinJsTestFramework#createTestExecutionSpec
  • KT-64273 Gradle: remove symbols deprecated after KT-54312
  • KT-74915 Make ExtrasProperty.kt internal
  • KT-64992 Remove KotlinCompilation.source
  • KT-82068 Workaround iOS Simulator start failure in IT
  • KT-79482 Report webMain / webTest usage in FUS metrics
  • KT-81199 Deprecate "org.jetbrains.kotlin.android" plugin
  • KT-82244 Conflicting warnings when using AGP 9.0.0-alpha with built-in Kotlin disabled
  • KT-81161 Gradle plugin api reference: compiler arguments types are not available
  • KT-70251 Gradle: hide compiler symbols in KGP
  • KT-81837 Run integration tests against AGP 8.13
  • KT-77457 Compile against Gradle API 9.0
  • KT-79238 Bump minimal supported AGP version to 8.2.2
  • KT-75869 KGP JS - Update deprecated constructors
  • KT-76720 Raise deprecation level to error for Kotlin*Options properties
  • KT-79047 Gradle compileKotlin fails with configuration cache
  • KT-81415 BTA: Duplicate daemons when compiling JVM + JS in KGP
  • KT-80763 Add redirect link to error message when 'org.jetbrains.kotlin.android' plugin is used with built-in Kotlin
  • KT-81038 Gradle: remove support for properties disabling precise task outputs backup
  • KT-80808 Warning from kotlin-dsl with kotlin("jvm") on Gradle < 9.0 doesn’t suggest updating Gradle
  • KT-80875 Gradle: runToolInSeparateProcess may fail on Windows with too long command line
  • KT-79851 Emit an actionable warning/error on unsupported AV/LV configured by kotlin-dsl
  • KT-77458 Run Gradle integration tests against Gradle 9.0
  • KT-80172 Error message changes depending on the order of applying 'org.jetbrains.kotlin.android' and 'AGP' 9.0+ with built-in Kotlin plugin
  • KT-76177 Remove deprecated classpath snapshot task inputs
  • KT-79339 Remove additionalMetadata from compiler options DSL
  • KT-73478 Add module level description
  • KT-80083 KGP IT: fix tests on Windows
  • KT-79034 Automatically disable cross compilation if it's not supported on the host
  • KT-79408 A lot of errors files are created when compile Kotlin
  • KT-78827 Rewrite Gradle compiler options DSL generator
Tools. Gradle. BCV
  • KT-80687 Add description to Gradle tasks [ABI Validation]
  • KT-80621 Move Gradle tasks into suitable groups [ABI Validation]
  • KT-78625 Kotlin's built-in BCV generates empty .api files
Tools. Gradle. Compiler plugins
  • KT-81827 Add a switch for mapping file tasks in Compose Gradle plugin
Tools. Gradle. JS
Fixes
  • KT-79921 Web Tooling Gradle API does not respect webpack reconfiguration
  • KT-81009 K/JS, Wasm: Promote deprecation of NPM and Yarn package manager internal functions
  • KT-76019 Wasm/JS: Promote phantom-js for Karma deprecation to ERROR
  • KT-81005 K/JS, Wasm: Promote deprecation of ExperimentalWasmDsl to Error
  • KT-81010 K/JS, Wasm: Promote deprecation of internal JS functions to Error
  • KT-81008 K/JS, Wasm: Promote deprecation of ExperimentalDceDsl to Error
  • KT-81007 K/JS, Wasm: Promote deprecation of public constructors of JS declarations to Error
  • KT-81006 K/JS, Wasm: Promote wasm declarations in "js" package deprecation to Error
  • KT-81004 K/JS, Wasm: promote deprecation NodeJsExec.create to Error
  • KT-75621 KJS / Gradle: Disable npm in --offline mode
  • KT-79910 Wasm, JS: Upgrade NPM versions
  • KT-76996 Wasm: js tasks triggers wasm subtasks
  • KT-79237 Upgrade NPM dependencies versions
Tools. Gradle. Multiplatform
New Features
  • KT-76446 Add kotlin-level dependency block to work the same way as commonMain/commonTest dependencies blocks
Fixes
  • KT-61127 Remove scoped resolvable and intransitive DependenciesMetadata configurations used in the pre-IdeMultiplatformImport IDE import
  • KT-81980 KGP warning gives incorrect suggestion for AGP application compatibility
  • KT-81601 With android.builtInKotlin=false AGP 9.0+, using kotlin-multiplatform plugin will fail with aClass Cast Exception
  • KT-81060 KMP stores common compilation dependency resolution in Configuration cache leading to error when deserializing (Android only)
  • KT-80720 Gradle import of multiplatform project fails: "Failed to invoke getAssociateWith on KotlinJvmCompilation_Decorated"
  • KT-81200 Deprecate 'androidTarget'
  • KT-74005 Implement a prototype of Unified Klib support in Kotlin Gradle Plugin
  • KT-77367 [uklib] Project dependency to kotlin-jvm module leads to failure in transform during IDE import
  • KT-80785 With android.builtInKotlin=false and android.newDsl=true, using kotlin-android plugin will fail with ClassCastException
  • KT-81434 [uklib] androidCompileClasspath resolves java compatibility variant instead of android for uklib library
  • KT-81469 [uklib] kmpPublicationStrategy affects resolution during import for androidTarget
  • KT-81249 Kotlin 2.2.20 broke KMP implementation of Parcelize
  • KT-77066 Promote kotlinArtifacts deprecation to an error
  • KT-74955 Remove resources resolution strategy completely
  • KT-62614 Remove legacy kotlin-gradle-plugin-model
  • KT-79559 AGP complains about configurations resolved at configuration time due to KMP partially resolved dependencies diagnostic
  • KT-78993 The value for property '*' property 'dependencies' is final and cannot be changed any further
  • KT-76200 TestModuleProperties.productionModuleName for JVM module isn't present with 2.1.20-RC
  • KT-55312 Replace "ALL_COMPILE_DEPENDENCIES_METADATA" configuration with set of metadata dependencies configurations associated per set
  • KT-52216 HMPP / KTOR: False positive "TYPE_MISMATCH" with Throwable descendant
  • KT-54312 TCS: Replace CompilationDetails abstract class hierarchy by composable implementation
  • KT-55230 Remove metadata dependencies transformation for runtimeOnly scope
Tools. Gradle. Native
  • KT-80675 Commonized cinterops between "test" compilations produce an import failure
  • KT-77732 commonizeCInterop failed with "Unresolved classifier: platform/posix/size_t"
  • KT-81510 commonizeCInterop exception with 'kotlinNativeBundleConfiguration' not found
  • KT-81134 Native: Gradle configuration failure likely related to Klibs cross-compilation
  • KT-77486 Remove bitcode DSL
  • KT-64107 Kotlin Gradle plugin allows native binaries to have both debuggable and optimized flags set to true
  • KT-74910 Bump destinationDir in CInteropProcess to hidden
  • KT-74911 Promote CInteropProcess.konanVersion to hidden
  • KT-74864 Enable exporting KDocs by default to ObjC
  • KT-72705 K/N: compile task cache can not be used due to 'artifactVersion' input property
Tools. Gradle. Swift Export
  • KT-81465 Swift Export package is build with wrong target
  • KT-81460 [KGP] Crash in SwiftExportRunner due to older stdlib
  • KT-79524 NoSuchMethodError: 'java.lang.String org.gradle.api.artifacts.ProjectDependency.getPath() for swift export with dependency export fro gradle < 8.11
Tools. Incremental Compile
  • KT-75864 Implement a conservative mechanism of the IC with compiler plugins generated top-level declarations
  • KT-55982 K2: Consider global lookups from plugins in incremental compilation
  • KT-79504 Implement an API to provide IC lookups from backend plugins
  • KT-75657 Fix difference in incremental compilation scenarios in BTA in-process vs daemon compilation mode
  • KT-79541 Refactor tracking of files relation in IC
  • KT-74628 Incremental compilation runner does not check compiler exit code before mapping sources to classes
Tools. JPS
  • KT-77347 Support file-less compatible IC approach
Tools. Kapt
  • KT-79138 K2: KAPT Java Stub Gen: Unresolved reference with @kotlin.Metadata in Java in 2.2.0
  • KT-79133 K2 kapt: class literal with typealias is not expanded
  • KT-79305 K2 kapt: ISE "Cannot evaluate IR expression in annotation" on typealias with unresolved expansion
  • KT-79136 K2 kapt: unresolved nested class references in annotation arguments are generated without outer class names
  • KT-71786 K2Kapt: Stubs generation does not fail on files with declaration errors
  • KT-80843 K2: KAPT: Crash on any data class with duplicate properties: "Sequence contains more than one matching element"
  • KT-73411 Remove kapt.use.k2 property and code which allows to use K2 with K1 kapt
  • KT-79641 Kapt: too much information is printed in verbose mode
Tools. Maven
  • KT-82180 kotlin-maven-plugin: IC succeeds after dependent source deletion
  • KT-78201 Maven: migrate JVM compilation to the new BTA
  • KT-81414 2.2.20 regression: OOM (Compressed class space) when in-process
  • KT-81435 Maven: Improve BTA classloader reusage
  • KT-81681 Maven: "NoClassDefFoundError" on a second test run
  • KT-81218 Kotlin Maven Plugin 2.2.20: Java classes not resolved with enabled incremental compilation without daemon
Tools. Performance benchmarks
  • KT-79709 Add -Xdetailed-perf CLI flag to control verbosity of performance logs
  • KT-79226 [K/N] Add performance measurement for native backend lowerings
Tools. REPL
  • KT-80062 ReplSnippetLowering sometimes produces IrConstructorCall with too many arguments
Tools. Scripts
  • KT-80071 Kotlin script mode produces invalid IR: "value that is not available in the current scope"
Tools. Statistics (FUS)
  • KT-77407 Add performance measurement for prefix lowerings
  • KT-79455 [FUS] Collect KSP plugin version
  • KT-79090 Integrate dynamic stats into MarkdownReportRenderer
Tools. Wasm
  • KT-82365 K/Wasm: NodeRun tasks in Wasi depend on kotlinWasmToolingSetup
  • KT-81313 K/Wasm: update Node.js to 24.x
  • KT-81315 K/Wasm: update Node.js to 25.x
  • KT-80582 Multiple reloads when using webpack dev server after 2.2.20-Beta2
  • KT-80896 K/Wasm: debug tests only once
  • KT-78921 K/Wasm: don't generate empty yarn.lock file

v2.2.21: Kotlin 2.2.21

Changelog

Backend. Wasm
  • KT-81372 K/Wasm: JsException: Exception was thrown while running JavaScript code on Safari 18.2/18.3
  • KT-80018 K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit)
Compiler
  • KT-81191 K2: "null cannot be cast to non-null type ConeTypeParameterLookupTag" with invalid code
  • KT-80936 NON_PUBLIC_CALL_FROM_PUBLIC_INLINE : @PublishedApi doesn't work for fun interfaces
JavaScript
  • KT-79926 Wrong export of interfaces with companions with ES Modules
  • KT-81424 Kotlin/JS: Cannot Get / in a simple running application
  • KT-80873 KJS: Stdlib requires ES2020-compatible JS engine due to BigInt type literal
Native
  • KT-79384 K/N: Application Not Responding: Thread Deadlock
Tools. Gradle
  • KT-79047 Gradle compileKotlin fails with configuration cache
  • KT-81148 Publishing helpers in KGP are incompatible with Isolated Projects
  • KT-80950 KGP breaks configuration cache when signing plugin with GnuPG is applied
Tools. Gradle. Multiplatform
  • KT-61127 Remove scoped resolvable and intransitive DependenciesMetadata configurations used in the pre-IdeMultiplatformImport IDE import
  • KT-81249 Kotlin 2.2.20 broke KMP implementation of Parcelize
Tools. Gradle. Native
  • KT-81510 commonizeCInterop exception with 'kotlinNativeBundleConfiguration' not found
  • KT-81134 Native: Gradle configuration failure likely related to Klibs cross-compilation
  • KT-77732 commonizeCInterop failed with "Unresolved classifier: platform/posix/size_t"
  • KT-80675 Commonized cinterops between "test" compilations produce an import failure
Tools. Maven
  • KT-81218 Kotlin Maven Plugin 2.2.20: Java classes not resolved with enabled incremental compilation without daemon
Tools. Wasm
  • KT-80582 Multiple reloads when using webpack dev server after 2.2.20-Beta2

v2.2.20: Kotlin 2.2.20

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

v2.2.10: Kotlin 2.2.10

Changelog
Compiler
  • KT-79276 Dexing fails with "Cannot read field X because is null" with 2.2.0
  • KT-79442 "Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfaces
  • KT-78815 Symbol not found: __ZNSt3__117bad_function_callD1Ev error on iOS 15.5 simulator in Xcode 16.3 after update to 2.2.0-Beta2
  • KT-78501 K2: Missing [ABSTRACT_SUPER_CALL] diagnostics for delegated interface method leads to AssertionError: isCompiledToJvmDefault during IR lowering
  • KT-78479 IR lowering failed / Unexpected null argument for composable call
  • KT-76477 Kotlin/Native: fix compiler performance reporting in sources->klib and klibs->binary
  • KT-78736 Missing [NOT_YET_SUPPORTED_IN_INLINE] diagnostics because of incorrect context update
  • KT-77685 "IllegalArgumentException: Sequence contains more than one matching element"
  • KT-76365 K2: Missing ABSTRACT_SUPER_CALL
  • KT-78352 False-positive IDENTITY_SENSITIVE_OPERATIONS_WITH_VALUE_TYPE when comparing with equality operator (==)
Compose compiler
  • KT-78479 Ensure that default transform affects functions entered through a call
  • KT-78490 Fix visibility for default wrappers of protected methods
  • b/408492167 Emit parameter names in Compose source information
JavaScript
  • KT-79050 KJS / IC: "Unexpected body of primary constructor for processing irClass"
  • KT-79089 KJS: Could not load reporter / Cannot find module 'mocha' when running jsNode tests
Native
  • KT-79075 Stuck on Kotlin_getSourceInfo_core_symbolication
  • KT-76178 LLVM Update: symbol '__ZnwmSt19__type_descriptor_t' missing
Native. Runtime. Memory
  • KT-78925 Crash SIGABRT on Apple Watch after updating Kotlin to 2.2.0
Tools. CLI
  • KT-77445 UNRESOLVED_REFERENCE when importing classes from kotlin-stdlib
  • KT-78263 java.lang.NoClassDefFoundError: Could not initialize class com.intellij.psi.impl.PsiSubstitutorImpl
  • KT-78318 Unresolved reference when compiling kotlin/JS project on fresh master
Tools. Compiler Plugins
  • KT-78490 "AssertionError: SyntheticAccessorLowering should not attempt to modify other files" when calling protected open composable with default argument
  • KT-78038 Make jvm-abi-gen compiler plugin output classloader-friendly
Tools. Gradle
  • KT-77023 Support creating KotlinJvmAndroidCompilation in KotlinBaseApiPlugin
Tools. Gradle. JS
  • KT-78504 [2.2.0-RC3] NPM Tasks in 2.2 RCs produce broken/unusable build cache entries
Tools. Gradle. Multiplatform
  • KT-77466 KMP - testFixturesApi and similar configurations do not affect jvmTestFixtures source set
  • KT-68646 Compose extension's metrics/reports dir should use subdirs based on target
Tools. Gradle. Native
  • KT-77977 "Unknown hardware platform: riscv64" on JVM project build
Tools. Incremental Compile
  • KT-78807 Changing ABI fingerprint on non-ABI changes when lambda passed to inlined function
Tools. Kapt
  • KT-77853 K2 KAPT: backend internal error: exception during IR fake override builder
  • KT-79138 K2: KAPT Java Stub Gen: Unresolved reference with @kotlin.Metadata in Java in 2.2.0

v2.2.0: Kotlin 2.2.0

Changelog
Analysis API
  • KT-73337 Migrate analysis sources to new IR parameter API
  • KT-75880 K2 Mode: Typealias reference resolves to the underlying class in KMP project
  • KT-74246 KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site
  • KT-57733 Analysis API: Use optimized ModuleWithDependenciesScopes in combined symbol providers
  • KT-69535 Redesign 'containingSymbol'
  • KT-69950 Analysis API: Introduce isSubtypeOf(ClassId)
  • KT-68393 Analysis API: Rename KaClassLikeSymbol. classIdIfNonLocal to classId
  • KT-62924 Analysis API: rename KtCallableSymbol.callableIdIfNonLocal -> callableId
Analysis API. Code Compilation
  • KT-75502 K2: IDEA hangs when evaluating inside kotlin-stdlib modules in the Kotlin project
  • KT-73077 Evaluation of inline functions is broken inside Kotlin project and Amper module in Idea sources
  • KT-73936 K2: CyclicInlineDependencyException: Inline functions have a cyclic dependency in evaluator
  • KT-74582 InterpreterMethodNotFoundError when trying to evaluate simple expressions after recent fixes
  • KT-74524 Compilation exception with incorrect JvmName annotation arguments
  • KT-74443 Compilation peer collector ignores inline property accessors
Analysis API. FIR
New Features
Performance Improvements
  • KT-75790 Experiment with increasing DEFAULT_LOCKING_INTERVAL time
  • KT-72159 LLFirCompilerRequiredAnnotationsTargetResolver: consider rewriting it to use honest jumping locks
Fixes
  • KT-76331 Cleanup FileStructureElement for classes
  • KT-73117 K2 AA: Exception "Setter is not found" when val has a setter without body
  • KT-76540 K2: Missing library dependency on Android SDK from androidx.activity-1.8.2 causes LiveEdit failures
  • KT-73266 K2. "Declaration should have non-local container" with unclosed annotation on top-level function
  • KT-76432 JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
  • KT-76217 K2 AA: "No fir element was found for KtParameter" with multiple context parameter lists
  • KT-74740 Highlighting is broken after the built-in serialization refactoring
  • KT-76366 ContextCollector: annotations on class members don't have the class as implicit receiver
  • KT-76352 ContextCollector: wrong class annotation context in BODY mode
  • KT-76341 ContextCollector: support dangling modifiers
  • KT-76332 "Declaration should have non-local container" for declaration inside file annotation
  • KT-76115 Disable FirElementBuilder#getFirForElementInsideAnnotations optimization for files, classes and scripts
  • KT-76347 ContextCollector: avoid resolution for enum entry annotations
  • KT-76272 Cleanup AbstractFileStructureTest
  • KT-75542 K2 AA: "FirDeclaration was not found for class KtNamedFunction, fir is class FirErrorExpressionImpl" for unclosed annotation on member function
  • KT-73719 K2. "FirDeclaration was not found for class KtDestructuringDeclaration, fir is class FirBlockImpl" on incorrect chain call
  • KT-72908 K2 Analysis API: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtFunctionLiteral" with non-local destructuring declaration without initializer before init block
  • KT-75532 ContextCollector: scope for an anonymous function type parameter contains regular parameters
  • KT-74508 FirElementBuilder#findElementInside should reuse logic from KtToFirMapping#getFir
  • KT-73066 [LL] Enable low-level-api-fir-native even with the disabled native part
  • KT-75132 Investigate failures of sandbox diagnostic test
  • KT-75130 Set up LL FIR tests for sandbox test data
  • KT-73386 Standardize LL FIR test for compiler test data
  • KT-75125 ISE “Value classes cannot have 0 fields” on instantiating inline class without fields
  • KT-75179 ContextCollector: support error properties
  • KT-74632 K2: ISE FirLazyDelegatedConstructorCall should be calculated before accessing
  • KT-74818 K2 AA: "FirDeclaration was not found for class KtTypeParameter, fir is null" with TYPE_PARAMETERS_NOT_ALLOWED on anonymous function
  • KT-73183 Support context parameters in ContextCollectorVisitor
  • KT-60350 K2 IDE: top level destructuring RHS should be resolvable
  • KT-74794 K2: FirLazyExpression should be calculated before accessing with context parameter and implicit return type
  • KT-72938 Get rid of KaFirAnnotationListForReceiverParameter
  • KT-73727 Exception in implicit type resolution
Analysis API. Infrastructure
  • KT-74917 [Analysis API, Test Framework] Introduce a way to acquire PsiFile for a given TestFile in KtTestModule
Analysis API. Light Classes
  • KT-73405 Get rid of KtElement#{symbolPointer, symbolPointerOfType} API usages
  • KT-75391 Reduce the amount of psi-based logic in light classes
  • KT-70001 SLC adds @Override with zero text offset on override member
  • KT-75755 K2. False positive red code on vararg parameters in Kotlin class with @JvmOverloads when called from Java
  • KT-75397 Constructors and functions with non-last vararg parameters are treated as varargs
  • KT-74868 Support context parameters
  • KT-74733 SymbolPsiLiteral.text == value for Java constant
  • KT-74620 Delegated functions with value classes are present in light classes
  • KT-74595 Static functions with value classes are present in light classes
  • KT-74284 Synthetic data class methods using value class types present in LC
Analysis API. Providers and Caches
Performance Improvements
  • KT-62115 Analysis API: Package providers are not cached per search scope
  • KT-74463 Analysis API: LLNativeForwardDeclarationsSymbolProvider queries its cache even when the ClassId cannot represent a native forward declaration
Fixes
  • KT-74541 Analysis API: Include files generated by resolve extensions in KaModule content scopes
  • KT-64236 Analysis API: Introduce a separate module for fallback dependencies of library source modules
  • KT-74090 Analysis API: Support dumb mode (restricted analysis)
  • KT-63780 Analysis API: Invalidate resolvable library sessions when binary library modules are modified
  • KT-72388 KaFirStopWorldCacheCleaner: Control-flow exceptions
  • KT-74943 Analysis API: Replace KotlinGlobalModificationService with simpler global modification event publishing and listener-based modification trackers
  • KT-70518 K2: Analysis API: Access indices outside of ConcurrentMap computation in symbol providers
  • KT-74302 Analysis API: LLFirProvider should disregard self-declarations in getFirClassifierBy*
  • KT-67868 Analysis API: Improve the architecture of LLFirKotlinSymbolProviders
Analysis API. Standalone
  • KT-72810 withMultiplatformLightClassSupport is inconvenient in Standalone
Analysis API. Stubs and Decompilation
  • KT-71787 PsiRawFirBuilder.Visitor#visitStringTemplateExpression forces AST loading
  • KT-68484 K2 IDE, Analysis API: "We should be able to find a symbol for function" for getting KaType of Iterable<T>.map(transform: (T) -> R) parameter in J2K
Analysis API. Surface
New Features
  • KT-74475 Add isInline for KaPropertySymbol
  • KT-75063 KaScopeContext: support context parameters
Performance Improvements
  • KT-73669 Support psi-based symbol pointer for implicit primary constructors
  • KT-76008 Provide PSI-based implementation for KaFirNamedClassSymbol#companionObject
  • KT-70165 Introduce PSI-based KaSymbols for K2
Fixes
  • KT-72730 K2: "Unexpected owner function: KtNamedFunction" on vararg val parameter in function
  • KT-75123 K2. KaFirNamedFunctionSymbol should contain a receiver
  • KT-75894 Cannot build KaFirJavaFieldSymbol for FirFieldImpl
  • KT-75115 Analysis API: The JavaModuleResolver compiler class is leaked to Analysis API platform implementations
  • KT-76018 K2: Stop the wold leads to deadlock/freeze
  • KT-76011 KaFirNamedClassSymbol#companionObject doesn't provide generated objects generated by compiled plugins
  • KT-72482 "KotlinIllegalArgumentExceptionWithAttachments: Expected all candidates to have same callableId but some of them but was different" on trying to add the import
  • KT-75586 KaFirPropertyGetterSymbol#isInline and KaFirPropertySetterSymbol#isInline is incorrect for accessors with explicit modifier
  • KT-58572 Analysis API: Enforcing STATUS resolve in 'KtFirNamedClassOrObjectSymbol.visibility' may cause lazy resolve contract violation
  • KT-75574 Recognize injected code fragment copies
  • KT-75573 Recognize physical file copies as dangling files
  • KT-74801 Analysis API: Publish/subscribe to modification events with a single message bus topic
  • KT-73290 Analysis API: Improve the architecture of content scopes and resolution scopes
  • KT-68901 Constructor delegation call receiver missing in fir implementation
  • KT-72639 Support context parameter API
  • KT-73112 AA: FirExpression.toKtReceiverValue should handle context receivers properly
  • KT-74905 Cannot find context receiver in FIR declaration
  • KT-74563 createPointer is overloaded not for all implementations
  • KT-73722 Analysis API: Automatically check that the API surface is fully documented
  • KT-65065 Provide KtTypeReference#getShortTypeText()
Backend. Native. Debug
  • KT-75991 Xcode 16.3: Fix lldb stepping test over an inline function
Backend. Wasm
New Features
  • KT-59032 Support instantiation of annotation classes on WASM
Fixes
  • KT-77622 K/Wasm: investigate CMP crash on mobile Safari
  • KT-76747 [Wasm] Wasm name section absent for wasm structs
  • KT-76701 K/Wasm: custom formatters are not loaded when a project is built with incremental compilation
  • KT-66081 K/WASM: 0/0, 5/0 and 5%0throw not ArithmeticException, but RuntimeError
  • KT-76287 [Wasm] Enable stdlib and kotlin.test tests after compiler bootstrap
  • KT-75871 [Wasm] Implement new RTTI approach
  • KT-75872 Wasm / IC: IllegalStateException: IC internal error: can not find library
  • KT-74441 K/Wasm: incorrect 1e-45.toString()
  • KT-59118 WASM: floating point toString inconsistencies
  • KT-68948 Wasm: float from variable is printed with many decimal points
  • KT-69107 [wasm] Seemingly incorrect rounding
  • KT-73362 Migrate K/Wasm sources to new IR parameter API
Compiler
New Features
  • KT-70722 Implement better Kotlin warnings for value classes and JEP 390 (Warnings for Value-Based Classes)
  • KT-71768 Enable -Xjvm-default=all-compatibility by default to generate JVM default interface methods
  • KT-54205 Support jakarta Nullability annotations
  • KT-57919 Store all annotations in Kotlin metadata on JVM under a flag
  • KT-73255 Change defaulting rule for annotations
  • KT-74382 Annotating Java record components for @JvmRecord data class
  • KT-74811 Prohibit usages of @MustUseValue / @IgnorableValue if RV checker is not enabled
  • KT-74806 Implement feature flag for improved unused return value checker
  • KT-74809 Support unnamed local variables
  • KT-73508 Add a warning diagnostic for using kotlin.concurrent.AtomicRef
  • KT-72941 ANNOTATIONS_ON_BLOCK_LEVEL_EXPRESSION_ON_THE_SAME_LINE missing in K2
  • KT-74497 Warn about incompatible Kotlin and Java targets in annotations
  • KT-75061 Support context-sensitive resolution in type position
  • KT-75315 Support context-sensitive resolution in the call-argument position
  • KT-75316 Support context-sensitive resolution for expression-position with expected type
  • KT-76088 Support context-sensitive resolution for annotation arguments
  • KT-74049 Introduce special override rule to allow overriding T! with T & Any
Performance Improvements
  • KT-76395 Performance degradation on 28.03.2025
  • KT-76422 FirJavaFacade#createFirJavaClass: do not compute super type references right away
  • KT-75957 K2: PsiRawFirBuilder.Visitor#toFirExpression forces AST loading via getSpreadElement
  • KT-74824 Exponential performance caused by nested flexible types
  • KT-62855 K2: extra allocation for SAM conversion compared to K1
  • KT-74977 K/N: support stack array for Array(size) call
  • KT-74369 Exponential compiler memory usage in specific situations with type inference
Fixes
  • KT-76606 Enable 'Indy: Allow lambdas with annotations' by default
  • KT-77301 False positive Context Parameter resolution when using DslMarker
  • KT-74389 K2: False positive NON_EXPORTABLE_TYPE on non-Unit Promise<...> in K/JS
  • KT-77219 "@Composable annotation is not applicable" on vararg @Composable () -> Unit in Kotlin 2.2.0
  • KT-76357 K2: a nested class annotation observes member declarations of the outer class
  • KT-72734 Support new callable reference nodes in Kotlin Native
  • KT-74421 K2: Missing "val cannot be reassigned" when trying to assign a value to parent's "val"
  • KT-63720 Coroutine debugger: do not optimise out local variables
  • KT-74470 NSME on calling in runtime internal constructor of value class with default arg from tests
  • KT-77640 Context parameters: using 'contextOf()' function leads to [NO_CONTEXT_ARGUMENT]
  • KT-73909 Add an inspection discouraging usage of kotlin.concurrent Native atomics in favor of the new atomics
  • KT-76583 CCE: suspend lambda attempts to unbox value class parameter twice after lambda suspended
  • KT-76663 KJS: KotlinNothingValueException caused by expression return since 2.1.20
  • KT-75457 Native: cache machinery uses stdlib cache with default runtime options even if custom runtime options are supplied when partial linkage is disabled
  • KT-76615 K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" for mixed Java/Kotlin code
  • KT-77220 Annotation with EXPRESSION is not allowed on lambdas in Kotlin 2.2.0
  • KT-76381 K2: Expected expression 'FirPropertyAccessExpressionImpl' to be resolved
  • KT-74739 Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION_REFERENCE"
  • KT-74325 Explicit API mode does not enforce explicit return types for extension properties
  • KT-77259 Confusing message for ANNOTATION_WILL_BE_APPLIED_ALSO_TO_PROPERTY_OR_FIELD
  • KT-73771 K2: Infinite compilation caused by buildList without type
  • KT-61258 Kotlin/Native: CLASS CLASS name: modality:FINAL visibility:local superTypes:[.Base]
  • KT-75317 Kotlin/Native: segfault in kotlin::gc::Markkotlin::gc::mark::ConcurrentMark::MarkTraits
  • KT-75965 The iOS app did not run successfully in Release mode
  • KT-77397 Report UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL when calling declaration with contextual function type in signature
  • KT-77137 K2: Controversial behavior allows resolving annotation arguments on a companion inside it
  • KT-77150 Native: compilation fails with an assertion error
  • KT-51960 ClassCastException: Inline function with both context and extension receiver produces this when invoked
  • KT-73611 Remove -Xextended-compiler-checks in favor of a deprecation cycle
  • KT-74649 Deprecate language versions 1.8 and 1.9
  • KT-77283 Binary compatibility of FirDeclarationChecker
  • KT-73445 K2: do not report "cannot infer visibility" when inheriting multiple implementations
  • KT-75945 Indy: Allow lambdas with annotations
  • KT-76898 K2: ClassCastException when data class shadows supertype's componentX method with wrong type
  • KT-75992 Xcode 16.3: stacktraces on simulators are not symbolicated
  • KT-76805 Wrong NPE occurs when assigning synthetic properties with platform types in Kotlin 2.1.20
  • KT-76171 "KotlinIllegalArgumentExceptionWithAttachments: Expected expression 'FirSingleExpressionBlock' to be resolved"
  • KT-77078 K2: anonymous object is wrongly allowed to implement interfaces by unsafe Delegation
  • KT-72722 Treat 'copy' calls of a data class as explicit constructor usages
  • KT-77001 Leave ForbidParenthesizedLhsInAssignments as a warning
  • KT-75828 Store backing field/delegate annotations and extension receiver annotations in metadata
  • KT-58369 K2: enable DFA warnings
  • KT-51258 Annotations should go before context receivers
  • KT-76253 K2 Compiler: Less precise diagnostic COMPONENT_FUNCTION_AMBIGUITY for flexible type
  • KT-59526 Store annotation default values in metadata on JVM
  • KT-63850 K2: setter with an annotated parameter has isNotDefault == false flag in metadata
  • KT-75712 -Wextra: false positive UNUSED_LAMBDA_EXPRESSION on functional type variable assignment with inferred type
  • KT-4779 Generate default methods for implementations in interfaces
  • KT-69624 Debugger: Missing local variable in Variables view (inline function)
  • KT-75518 NO_CONTEXT_ARGUMENT should report the name of the context parameter in addition to the type
  • KT-76199 Introduce -Xcontext-sensitive-resolution compiler flag
  • KT-75553 MISSING_DEPENDENCY_SUPERCLASS and MISSING_DEPENDENCY_SUPERCLASS_WARNING is reported at the same time on the same element
  • KT-76159 Obsolete error "'@JvmDefaultWithCompatibility' annotation is only allowed on interfaces" should be removed
  • KT-76660 False negative RETURN_NOT_ALLOWED in lambda in default argument leads to NoClassDefFoundError: $$$$$NON_LOCAL_RETURN$
  • KT-76301 Fail to infer types after syntactical change
  • KT-74999 K2: KotlinNothingValueException within Extension Function
  • KT-76675 KIAEWA exception at KaFirDataFlowProvider with non-local return from nested inline call
  • KT-75756 Backend Internal error: Exception during IR lowering when trying to access variable from providedProperties in class within kotlin custom script
  • KT-76345 Enhance variable fixation
  • KT-76578 [FIR, K1/K2 Regression] lateinit is allowed on loop parameters
  • KT-76448 FirOverrideChecker: class ClsMethodImpl is not a subtype of class KtNamedDeclaration for factory VIRTUAL_MEMBER_HIDDEN
  • KT-73360 Migrate K/JVM sources to new IR parameter API
  • KT-74852 Kotlin/Native: allow caches for thread state checker and sanitizers
  • KT-76130 IR evaluator does not support array literals in annotation parameter default values
  • KT-76436 Missing K2 checker: non-local return through lambda passed to inline f/o
  • KT-74326 False negative: no variable must be initialized error though code doesn't compile
  • KT-76572 FIR_NON_SUPPRESSIBLE_ERROR_NAMES does not contain deprecation errors
  • KT-75704 Refactor FirWhenSubjectExpression
  • KT-76284 Flexible captured type is not approximated in receiver position
  • KT-76192 RETURN_TYPE_MISMATCH with same expected and actual type: nullability of actual type is omitted
  • KT-75944 Allow using invokedynamic for lambdas with no 'Runtime' level retention annotations
  • KT-76396 FirIntegerConstantOperatorScope: NoSuchElementException: Collection contains no element matching the predicate
  • KT-76209 CONFLICTING_UPPER_BOUNDS on Nothing bound
  • KT-59506 Context receivers: Unable to use trailing comma in receiver list
  • KT-46119 NONE_APPLICABLE instead of NAMED_ARGUMENTS_NOT_ALLOWED with overloaded Java constructor call
  • KT-75503 Run lazy resolution in CallableCopyTypeCalculator and use withForcedTypeCalculator everywhere in checkers
  • KT-76485 Don't report EXTENSION_SHADOWED_BY_MEMBER if extension can be called with named arguments
  • KT-76154 False positive "EXTENSION_SHADOWED_BY_MEMBER" when extension adds default values to parameters
  • KT-76527 False positive UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL with -Xcontext-receivers and implicit invoke
  • KT-63246 K2: False positive NOTHING_TO_OVERRIDE in generic property with context receiver in non generic class extending generic class
  • KT-58534 K2: "Argument type mismatch" with typealias to context receiver functional type
  • KT-71792 Switch latest stable version in Kotlin project to 2.2
  • KT-74827 CompilationErrorException : Could not load module in an attempt to find deserializer when trying to evaluate an expression
  • KT-70352 K2: False-negative CONFLICTING_UPPER_BOUNDS on Nothing bound
  • KT-71481 K2: drop pre-1.6 language features from compiler code
  • KT-74454 Support trailing comma in context parameters
  • KT-74069 False positive UNUSED_EXPRESSION due to Long/Int conversion
  • KT-74337 Local Delegated properties don't preserve their annotations and don't show up in reflection
  • KT-55187 Context receivers in function types can have labels
  • KT-58498 Context receivers: ClassCastException with object and extension function in interface
  • KT-58165 K2: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER" on overridden contextual property
  • KT-75234 Add error for callsInPlace contracts on context parameters
  • KT-73805 K2: Investigate missing diagnostic in implicit invoke call on context function type with receiver from module with disabled context parameters
  • KT-41934 NI: a type variable for lambda parameter has been inferred to nullable type instead of not null one
  • KT-75983 Backend Internal error: Exception during IR lowering 'IllegalStateException: Internal error: cannot convert Any to Int'
  • KT-75535 Compilation of typealias does not check for clashes
  • KT-72313 K2 IDE / KMP Debugger: Evaluation of inline functions declared in a common source set causes a crash
  • KT-76290 False positive UNUSED_EXPRESSION while returning Unit in the when branches
  • KT-32358 NI: Smart cast doesn't work with inline function after elvis operator
  • KT-76316 K2: Missing NON_PUBLIC_CALL_FROM_PUBLIC_INLINE on object extending private class in public inline function
  • KT-76324 Frontend diagnostic says "... this will be an error in Kotlin N.M" but N.M is already released
  • KT-76058 PCLA: compile-time failure on calling a higher-order function from another module inside a lambda assigned to a variable of a type with a postponed type variable
  • KT-75571 K2: type mismatch error provides unsubstituted types
  • KT-31391 'Recursive call is not a tail call' with elvis operator in tailrec function
  • KT-73420 False-positive NON_TAIL_RECURSIVE_CALL on tailrec function with elvis in the return statement
  • KT-75815 Disable warnings about different context parameter names in overrides
  • KT-75169 Unnecessary EXTENSION_SHADOWED_BY_MEMBER on generic declarations
  • KT-75483 Native: redundant unboxing generated with smart cast
  • KT-76339 K2: Dangling modifier list is missed for enum entries in PSI mode
  • KT-75513 Avoid overrides traversal without preinitialization
  • KT-74587 Report an error when JvmDefaultWithoutCompatibility is used with -Xjvm-default=all
  • KT-76257 Annotations with class references are not supported when marking IR declarations as visible to metadata
  • KT-71793 Drop language versions 1.6 and 1.7
  • KT-59272 Incorrect bytecode generated: wrong line number table after condition
  • KT-69248 K2: IAE “class KtDotQualifiedExpression is not a subtype of class KtCallExpression for factory ENUM_CLASS_CONSTRUCTOR_CALL” with qualified enum constructor call
  • KT-73778 Kotlin Debugger: NSFE on accessing private property from dependencies during evaluation
  • KT-74131 Incorrect line numbers for static initializer with delegated local variable
  • KT-76320 K2: PsiRawFirBuilder: import alias triggers ast loading
  • KT-63851 K2: No setterValueParameter in metadata for property setter with an annotated parameter
  • KT-55083 JVM: AbstractMethodError caused by lambda with sealed base interface and fun sub interface and overridden method
  • KT-16727 Names for anonymous classes in interfaces are malformed on JDK 8
  • KT-12466 NoClassDefFoundError: B$DefaultImpls on super interface call through K-J-K inheritance
  • KT-71002 Possible inheritance from nullable type through typealias
  • KT-75293 K2: Missing [HAS_NEXT_FUNCTION_TYPE_MISMATCH] diagnostics
  • KT-75498 Forbid .declarations access from checkers
  • KT-72335 KotlinIllegalArgumentExceptionWithAttachments when using illegal selector
  • KT-68375 K2: FirPrimaryConstructorSuperTypeChecker fails on generated superclasses
  • KT-71718 K2: drop TypePreservingVisibilityWrtHack
  • KT-75112 FE resolves wrong receivers order for property passed to delegate
  • KT-75924 K2. Incorrect generic type Inference "R? & Any" appears for "Add explicit type arguments"
  • KT-75969 java.lang.IllegalArgumentException: source must not be null on red code
  • KT-75322 ConeDiagnosticToFirDiagnosticKt: source must not be null
  • KT-73800 Wrong method executed on super call in -Xjvm-default=all/all-compatibility with an extraneous super-interface
  • KT-38029 Wrong method executed on super call in diamond hierarchy with covariant override
  • KT-75242 Any use-site target can be applied to a lambda and an expression
  • KT-73051 incorrect direction of subtyping violation in type mismatch error's message for A<X> </: A<Y> given a Tv <: Rv == C constraint from a lambda return position
  • KT-75090 Argument type mismatch: actual type is 'SuspendFunction0', but 'SuspendFunction0' was expected when anonymous function is passed to function expecting suspend function type
  • KT-74956 K2: No USAGE_IS_NOT_INLINABLE with compiling an inlined function call
  • KT-76049 K2: drop explicitTypeArgumentIfMadeFlexibleSynthetically creation when DontMakeExplicitJavaTypeArgumentsFlexible is enabled
  • KT-76055 K2: drop prepareCustomReturnTypeSubstitutorForFunctionCall logic when DontMakeExplicitJavaTypeArgumentsFlexible is enabled
  • KT-76057 K2: don't do reverse Java overridability checks when DontMakeExplicitJavaTypeArgumentsFlexible is enabled
  • KT-75197 K2: Missing [COMPARE_TO_TYPE_MISMATCH] diagnostics
  • KT-75639 Inline context function leads to ClassCastException
  • KT-75677 K2: change runtime behavior of KT-75649 case in 2.2
  • KT-75961 K2: PsiRawFirBuilder.Visitor#visitSimpleNameExpressionforces AST loading via getReferencedNameElement().node.text
  • KT-67869 Make inference for lambda working consistently inside and outside of the call
  • KT-74885 K2: IAE "source must not be null" in FirCyclicTypeBoundsChecker
  • KT-75578 K2: False negative [SUPER_CALL_WITH_DEFAULT_PARAMETERS] when calling the upper-class implementation of a method with the default value argument
  • KT-73954 Generate implementations in classes for inherited non-abstract methods in -Xjvm-default=all-compatibility
  • KT-75173 Context parameters: KotlinIllegalArgumentExceptionWithAttachments if you override function with value/extension parameter by fun with context
  • KT-75742 Native: "IllegalArgumentException: unknown pass name '' " when specifying an empty list of LLVM passes
  • KT-74819 K2: False-positive overload resolution ambiguity for flatMap inside PCLA
  • KT-75093 K2 IDE: "Unreachable code" highlighting range is confusing
  • KT-74572 Context parameters: contracts don't work with context parameters
  • KT-74765 Move K1 lazy IR implementation from 'ir.tree' to 'psi2ir'
  • KT-71425 IR Inliner: investigate return type of an inlined block
  • KT-74764 Native: merge init nodes generated within the same LLVM module for the same klib
  • KT-75561 K/N: place InteropLowering after UpgradeCallableReferences phase
  • KT-73369 K/N: move interop lowering up the pipeline
  • KT-75517 K2: Refactor FirCallableSymbol.resolvedContextParameters to return symbols
  • KT-75821 K2: REPL resolution doesn't take into account the property type when processing its initializer
  • KT-75705 IllegalArgumentException when isInitialized is used with java field
  • KT-75334 Java target shouldn't be specified if Kotlin target isn't specified
  • KT-75157 Missing PARAMETER_NAME_CHANGED_ON_OVERRIDE and DIFFERENT_NAMES_FOR_THE_SAME_PARAMETER_IN_SUPERTYPES for context parameters
  • KT-75160 Check usages of value parameters in checkers and adapt to context parameters
  • KT-75729 KtPsiFactory: no type-safe way to create triple-quoted KtStringTemplateExpression
  • KT-75040 Unify subject and subjectVariable in FirWhenExpression
  • KT-75323 FirSyntheticProperty: Unexpected status. Expected is FirResolvedDeclarationStatus, but was FirDeclarationStatusImpl
  • KT-75602 Introduce concept of shared library session in Fir sessions
  • KT-75509 PARAMETER_NAME_CHANGED_ON_OVERRIDE is reported randomly
  • KT-75124 IAE “class org.jetbrains.kotlin.psi.KtContextReceiver is not a subtype of class org.jetbrains.kotlin.psi.KtParameter for factory EXPOSED_PARAMETER_TYPE” on private context receiver
  • KT-73585 K2: ABSTRACT_SUPER_CALL is not reported
  • KT-75531 K2 REPL: local name doesn't shadow one from implicit receiver
  • KT-73359 Migrate frontend sources to new IR parameter API
  • KT-75380 K2: Modality is configured incorrectly for some FirDefaultPropertyAccessor
  • KT-75526 Regression in K2 scripting: local name doesn't shadow one from the implicit receiver
  • KT-59379 K2: Missing MIXING_NAMED_AND_POSITIONED_ARGUMENTS
  • KT-75106 K2: type parameters of anonymous functions are unresolved
  • KT-73387 Unexpected implicit type during enhancement
  • KT-72618 Cannot define operator inc/dec in class context
  • KT-74546 Serialize context parameters to metadata
  • KT-68768 K2: unsuccessful inference fork with jspecify annotations
  • KT-75345 Add a test for KT-42271
  • KT-75012 K2: Compiler crash on dynamic == null
  • KT-75195 IllegalStateException: No value for annotation parameter when @all meta-target is used with annotation with constructor
  • KT-75163 WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET for @all meta-target although there are applicable targets
  • KT-75198 @all meta-target should be forbidden for delegated properties
  • KT-74958 K2: UNEXPECTED_TRAILING_LAMBDA_ON_A_NEW_LINE isn't reported on accidental trailing closure
  • KT-74982 Improve UNSUPPORTED message handling
  • KT-75111 False negative "This declaration needs opt-in" for usage of enum entry with OptIn marker in another module
  • KT-74924 Infinite recursion in substitution of captured type with recursive supertype
  • KT-75289 NPE: getParent(...) must not be null
  • KT-75275 Inline class member inherited from interface is not mangled in '-Xjvm-default=all-compatibility'
  • KT-74340 FIR: folding binary expression chains for psi parser
  • KT-73831 Do not choose field target in annotation classes
  • KT-73494 Enable first-only-warn annotation defaulting mode
  • KT-75174 K2: incorrect influence of return type nullability on required receiver type in KJK hierarchy with property
  • KT-74920 Overriding T! with T & Any is not allowed to the extension property receiver type
  • KT-75150 False ambiguous context parameter reported because context is not chosen via generic parameter
  • KT-74965 CLI compiler doesn't report syntax errors for JS, Metadata backends if light-tree mode is disabled
  • KT-74303 K2 IDE / Kotlin Debugger: AE “Trying to inline an anonymous object which is not part of the public ABI” on evaluating private inline function with object inside
  • KT-75177 NoSuchMethodError on suspend default interface method fake override returning inline class in -Xjvm-default=all-compatibility
  • KT-74718 K/N: Move TestProcessor phase to the top of the pipeline
  • KT-75015 Context parameters: it is possible to declare anonymous function with modifiers but they don't have any effect
  • KT-75092 K2: Missing errors for modifiers on anonymous function in statement position
  • KT-75009 Context parameters: context is unresolved inside anonymous function if passed as an argument
  • KT-75017 Context parameters: "IllegalStateException: Cannot find variable a: R|kotlin/String| in local storage " when context from another local function is called
  • KT-75154 Context receiver deprecation warning should depend on langauge version, not on LATEST_STABLE
  • KT-74979 Context parameters: anonymous functions with a context aren't parsed in complex cases
  • KT-74673 K2: ClassCastException when passing suspending functional interface with generic
  • KT-74469 K2: False positive: "Argument type mismatch" during Java interop
  • KT-75105 K2: False negative NAME_IN_CONSTRAINT_IS_NOT_A_TYPE_PARAMETER for type constraint of anonymous function
  • KT-74929 False positive TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER if it is used with T&Any
  • KT-74227 K2: "Cannot infer type for this parameter. Please specify it explicitly" caused by lambda in another lambda with a parameterized function type
  • KT-64558 K2 compiler does not report UNNECESSARY_SAFE_CALL, UNNECESSARY_NOT_NULL_ASSERTION, USELESS_ELVIS, while K2 IDEA does
  • KT-74728 K2: Java method overriding Kotlin method with receiver loses vararg modifier
  • KT-70789 CLI error "mixing legacy and modern plugin arguments is prohibited" on using -Xcompiler-plugin unless default scripting plugin is disabled
  • KT-72829 Forbid 'entries' name of enum entry, and deprioritize it in resolve
  • KT-75037 K2: IrGeneratedDeclarationsRegistrar.registerFunctionAsMetadataVisible doesn't handle extension receivers and context parameters
  • KT-73149 Annotations support for context parameters
  • KT-74798 Report error on local contextual properties
  • KT-74092 Context parameters: it is not possible to declare an anonymous function with a context
  • KT-52152 K2: Investigate suspicious code at SAM conversions
  • KT-75016 K2: BackendException when context var property is declared in interface
  • KT-74474 K2: Report more precise diagnostic when last expression of non-unit lambda is a statement
  • KT-74478 K2: False negative RETURN TYPE_MISMATCH if the last statement of a lambda is indexed assignment
  • KT-73685 K2 IDE / Kotlin Debugger: NSME “Method not found” on evaluating function with constant value in @JvmName
  • KT-74449 Report RETURN_TYPE_MISMATCH instead of ARGUMENT_TYPE_MISMATCH for return expressions in lambdas
  • KT-74918 FIR: account for K/Wasm diagnostics in generateNonSuppressibleErrorNamesFile
  • KT-74897 K2: Report UNSUPPORTED_FEATURE instead of TOPLEVEL_TYPEALIASES_ONLY for nested type aliases
  • KT-74963 K2: Fir2Ir: Avoid a situation when startOffset > endOffset in generated IrBranch
  • KT-74697 Overriding a method that's both deprecated and non-deprecated should not cause warnings
  • KT-74928 K2: "IllegalStateException: Cannot find cached type parameter by FIR symbol" in KJK hierarchy with extension property
  • KT-74630 K2: local class arguments in annotations on types and type parameters are not serialized
  • KT-74445 Commonize Native Function/Property reference lowerings
  • KT-74670 Warning message CONTEXT_CLASS_OR_CONSTRUCTOR isn't reported for context receiver on the constructor
  • KT-74617 Trivial SMAP optimization leads to missing debug info after inline
  • KT-74812 compile-time failure on a callable reference with an input type inferred to an inaccessible generic type
  • KT-66195 K2: Java method is not enhanced from overridden's context receivers
  • KT-74501 Context parameters: ABSTRACT_MEMBER_NOT_IMPLEMENTED if fun with context is implemented in Java in KJK hierarchy
  • KT-74385 Missing diagnostic on repeated suspend modifier in function type
  • KT-74749 Provide explanation IR before script compilation
  • KT-74751 K2: IllegalStateException: Can't apply receivers of FirPropertyAccessExpressionImpl to IrTypeOperatorCallImpl
  • KT-74729 NPE when suspend lambda has inline class parameter
  • KT-74336 Not supported: class org.jetbrains.kotlin.fir.types.ConeIntersectionType
  • KT-74203 K2: False negative NO_ELSE_IN_WHEN of a generic type with star projection <*> bounded by a sealed hierarchy
  • KT-48085 Kotlin/Native: LLD removes live code with --gc-sections when producing DLL
  • KT-69164 Native: use lld from bundled LLVM distribution when compiling on Windows for a MinGW target
  • KT-74081 Context parameters: implicit call resolves to extension when there is a context
  • KT-74682 Implement internal type exposure via parameter bounds deprecation postponement
  • KT-74556 K2: "IAE: class KtDestructuringDeclaration is not a subtype of class KtNamedDeclaration for factory REDECLARATION" with two non-local destructuring declarations
  • KT-73146 Context parameters CLI & diagnostics
  • KT-72104 Consider enabling check for unbound symbols in JVM before lowerings
  • KT-74568 Synthetic nested classes missing JVM attributes
  • KT-73703 [Native] Move KonanIrLinker to serialization.native module
  • KT-61175 K2: FirReceiverParameter does not extend FirDeclaration
  • KT-73961 'lateinit is unnecessary' on transient properties should not be reported for serializable classes
  • KT-73858 Compose / iOS: NullPointerException on building
  • KT-62953 JVM IR: Use SimpleNamedCompilerPhase instead of NamedCompilerPhase
  • KT-72929 Consider caching typealiased constructor symbols created by TypeAliasConstructorsSubstitutingScope
  • KT-74459 K2: false positive MISSING_DEPENDENCY_CLASS for types inside default argument
  • KT-73705 [Native] Decouple native caches support from KonanIrLinker and KonanPartialModuleDeserializer
  • KT-74091 K2: @JvmOverloads-produced overloads have generated line number table
  • KT-69754 Drop -Xuse-k2 compiler flag
  • KT-73352 K2: false negative ARRAY_EQUALITY_OPERATOR_CAN_BE_REPLACED_WITH_EQUALS
  • KT-72962 Consider enabling ConsiderForkPointsWhenCheckingContradictions LF earlier
  • KT-73027 IllegalStateException: Annotation argument value cannot be null: since
  • KT-74242 Freeze on runCatching call in finally block inside SAM conversion
  • KT-29222 FIR: consider folding binary expression chains
  • KT-73760 Cannot implement two Java interfaces with @NotNull-annotated type argument and Kotlin's plain (nullable) type parameter
  • KT-58933 Applying suggested signature from WRONG_NULLABILITY_FOR_JAVA_OVERRIDE leads to red code
  • KT-70507 Should parentheses prevent from plus/set operator desugaring?
  • KT-67520 Change of behaviour of inline function with safe cast on value type
  • KT-67518 Value classes leak their carrier type implementation details via inlining
  • KT-72305 K2: Report error when using synthetic properties in case of mapped collections
  • KT-71226 K2 Evaluator: Code fragment compilation with unresolved classes does not fail with exception
  • KT-70233 Implement a deprecation error for FIELD-targeted annotations on annotation properties
  • KT-67517 Value class upcast to Any leaks carrier type interfaces
  • KT-72814 FIR: don't use function references in FirThisReference
  • KT-73153 K2: Standalone diagnostics on type arguments are not reported
  • KT-73011 K2: Allow overloads resolution for callable references based on expected type variable with constraints
  • KT-70139 Remove dependencies of debugger on K1 and old JVM backend
  • KT-69223 Drop parallel lowering mode in JVM backend
  • KT-7461 Forbid using projection modifiers inside top-level Array in annotation's value parameter
  • KT-53804 Restore old and incorrect logic of generating InnerClasses attributes for kotlin-stdlib
  • KT-52774 Resolve unqualified enum constants based on expected type
Compose compiler
New features
  • 5f7e5d1 Enabled PausableComposition feature flag by default
  • e49ba7a Enabled OptimizeNonSkippingGroups feature flag by default
Fixes
  • b/420729503 Avoid copying @Deprecated annotations on Compose compiler stubs
  • b/417412949 Emit fake line number for skipToGroupEnd branch
  • b/412584977 Fix false positive for overriding open functions from older dependencies
  • b/409238521 Fix crash when searching for ComposableLambda::invoke function on JS
  • b/408752831 Fix early return with value from key groups
  • b/388505454 Treat context parameters the same way as extension receiver
  • b/408013789 Add missing return for the default function wrappers
  • b/405541364 Realize coalescable children in the body of key call
  • b/305035807 Add support for @Composable function references with K2
  • b/401484249 Generate a group around Array constructor call
  • b/400380396 Fix missing endMovableGroup call with early return in key function
  • b/397855145 Fix "Unknown file" error in target annotation inference
  • b/274898109 Fix off-by-one error when calculating changed arg count for lambdas
  • b/377499888 Allow restarting overridden functions in a final class
  • b/393400768 Use -1 for .changed call if nullable enum parameter is null
  • b/390151896 Fix default arguments with varargs in @Composable functions
  • b/388030459, b/377737816 Prevent usage of transitive captures in lambda memoization
  • b/310004740 Check vararg parameter length in skipping logic
  • b/367066334 Add diagnostic to restrict @Composable annotation to function types only
  • b/388505454 Change order of $changed bits with context parameters
  • CMP-7873 Native build fails with "e: Compilation failed: Exception during generating code for following declaration"
IDE
  • KT-54804 Generate synthetic functions for annotations on properties in light classes
IR. Actualizer
  • KT-70907 Actualize fake override symbols in Ir Actualizer
IR. Inlining
Fixes
  • KT-76145 Enhance error message about poisoned KLIBs in KLIB-based compilers
  • KT-70916 IR: Report errors on exposure of private types in non-private inline functions
  • KT-73155 Move Mapping from LoweringContext back to CommonBackendContext
  • KT-76186 [IR] Sanitize deserialized IR dump of anonymous classes
  • KT-75788 IR inliner: Serialize preprocessed inline functions in a separate place inside KLIBs
  • KT-71416 Perform IR-level visibility diagnostics for inline functions after the first phase of inlining
  • KT-76224 [IR][Inliner] Dumb file is unsuported in IrSymbolBase.getDescriptor()
  • KT-75793 IR inliner: Stop injecting the deserialized function body to LazyIR inline function
  • KT-75791 IR inliner: NonLinkingIrInlineFunctionDeserializer should load inline functions from a separate location in a KLIB
  • KT-73708 Use some marker in KLIBs produced with IR inliner
  • KT-76024 [JS][IR Inliner] Partial linkage: No function found for symbol in kotlin package
  • KT-75733 Reorganize execution of the common prefix at 1st phase of compilation
  • KT-75986 Add an option to the DumpIrTreeOptions to dump IR signature if available
  • KT-75951 [IR Inliner] Illegal non-local return reported by the partial linkage engine
  • KT-75932 Fix a problem with already bound symbol with public IR inline enabled
  • KT-64812 Investigate and fix remaining owner usages in inliner
  • KT-74732 IR: Exposure of private type is reported at wrong source location
  • KT-76007 IR deserialization tests w/ enabled IR inliner: undefined offsets in IrInlinedFunctionBlock.inlinedFunctionSymbol
  • KT-74734 [Native] Use NativeInliningFacade in new subclass of AbstractFirNativeSerializationTest
  • KT-73985 KLIB Synthetic Accessors Dump Format: Include local declarations
  • KT-72594 [JS][Native] Add IrInliningFacade to test runners
  • KT-74456 SerializedIrDumpHandler: Compare IR dumps with source offsets
  • KT-73624 [Native] Implement inlining facade
  • KT-70370 SyntheticAccessorLowering: Turn on mode with narrowing visibility on 1st phase of compilation
  • KT-70452 OuterThisInInlineFunctionsSpecialAccessorLowering - run it after inlining of private functions
  • KT-70451 Enable double-inlining in Native & JS backends unconditionally
  • KT-69681 IR: Report warnings on exposure of private types in non-private inline functions
IR. Interpreter
  • KT-74581 Support IrRich*Reference in IR interpreter
IR. Tree
Fixes
  • KT-73189 Migrate compiler sources to new IR parameter API
  • KT-77508 K/JS and K/Native CompilationException Wrong number of parameters in wrapper
  • KT-74331 Implement IrElement.copyAttributes as a true attribute map copy
  • KT-76600 Use a language feature to check error on cross-file IrGetField operations generated by compiler plugins
  • KT-75628 IR validator: Forbid IrExpressionBody for IrFunction
  • KT-75679 Extract common invokeFunction in IrRichCallableReference
  • KT-74799 [Native][IR] Excessive FUNCTION_INTERFACE_CLASS after deserialization
  • KT-71138 Report error on cross-file IrGetField operations generated by compiler plugins
  • KT-75196 [IR] Make startOffset and endOffset mutable
  • KT-73206 Extract common parts from new IrRichFunctionReference/IrRichPropertyReference nodes
  • KT-73190 Migrate common backend sources to new IR parameter API
  • KT-73225 Migrate compiler.ir.serialization.common to new IR parameter API
  • KT-73220 Migrate compiler.ir.tree to new IR parameter API
  • KT-75189 Add an IR validation for the correspondingPropertySymbol
  • KT-74275 Adjust IR dump format for context parameters & new parameter API
  • KT-74269 Drop IrElementVisitor, IrElementVisitorVoid and IrElementTransformer interfaces
  • KT-72739 Create a lowering to replace old callable reference nodes with new ones
  • KT-73120 Get rid of Ir class
  • KT-73045 Fix inconsistency between shapes of IR calls vs callee
  • KT-69714 [IR] Remove IrErrorDeclaration
  • KT-73609 Tests: Implement DeserializerFacade for Kotlin/Native
  • KT-73813 Implement tests for all IR validator checkers
  • KT-73171 Choose the approach for testing IR serialization/deserialization wrt IR inliner
  • KT-73430 [IR] Get rid of SymbolFinder usages outside of Symbols hierarchy
  • KT-74455 IR dump: Support dumping source offsets
  • KT-73433 [IR] Get rid of some symbols lookup methods
JVM. Reflection
  • KT-75505 Reflection: use kotlin-metadata-jvm to implement class visibility, modality, modifiers, etc
  • KT-77663 Reflection: java.util.ServiceConfigurationError: "module kotlin.reflect does not declare uses" when using kotlin-reflect in modular mode
  • KT-75464 Bundle kotlin-metadata-jvm into kotlin-reflect
  • KT-71832 kotlin.jvm.internal.ClassReference static overhead is 11,060 bytes
JavaScript
New Features
  • KT-31493 [Kotlin/JS] Can't put typealias in file marked with JsModule annotation
Performance Improvements
  • KT-74533 K/JS: avoid number to char calls in charSequenceGet intrinsic
Fixes
  • KT-77021 CompilationException: Encountered a local class not previously collected on inner classes inside anonymous objects
  • KT-78073 K/JS: KProperty from local delegate changes after another delegate is invoked
  • KT-77271 KJS / Serialization: "Cannot set property message of Error which has only a getter"
  • KT-76235 [JS] Extra invalid line tmp_0.tmp00__1 = Options; in testSuspendFunction()
  • KT-76234 [JS] Extra invalid line Parent in testNested()
  • KT-76233 [JS] Extra invalid import line in testJsQualifier()
  • KT-74839 AssociatedObjectKey metadata doesn't survive incremental compilation
  • KT-77418 KJS: cannot debug with whole-program granularity
  • KT-76463 KJS: @JsPlainObject fails in parent count is 8+
  • KT-75606 KJS: java.lang.AssertionError: Different declarations with the same signatures were detected
  • KT-69591 KJS / d.ts: Wrong type of SerializerFactory for abstract classes
  • KT-72437 KJS. Invalid copy method for inherited JSO with type parameters
  • KT-57192 KJS: "Exported declaration uses non-exportable return type" caused by @JsExport Promise with Unit type
  • KT-73226 Migrate K/JS to new IR parameter API
  • KT-75254 KJS: Merge AbstractSuspendFunctionsLowering from Common and JS backends
  • KT-76440 @JsPlainObject compiles broken code when inlining suspend function and non suspend function
  • KT-71169 @JsPlainObject copy produces the wrong type when copied property is nullable in parent interface
  • KT-75772 KJS: NullPointerException caused by reference of private class with @JsExport
  • KT-73363 Migrate js-plain-objects plugin to new IR parameter API
  • KT-64927 [JS] TypeError when abstract class with override var property extends an exported abstract class with val property
  • KT-70623 Kotlin/JS: Incremental compilation fails when granularity is changed
  • KT-74384 Support new callable reference nodes in JS backend
  • KT-70652 Kotlin/JS: @JsExport doesn't work with granularity per-file
  • KT-71365 KJS. File-level export support
  • KT-68775 Kotlin/JS infinite loop for exception message override that calls super.message
  • KT-42271 K/JS: isInitialized for not-lateinit property isn't marked as error as in JVM project
  • KT-70664 Extending a @JsPlainObject interface with a generic type parameter fails with a compile error
  • KT-71656 K2 JS: "IllegalStateException: Class has no primary constructor: kotlin.ULong"
  • KT-42305 KJS / IR: "Class constructor is marked as private" @JsExport produces wrong TS code for sealed classes
  • KT-52563 KJS / IR: Invalid TypeScript generated for class extending base class with private constructor
Klibs
New Features
  • KT-72296 Use specialized signatures for serialized local fake overrides
Fixes
  • KT-78168 K/N: "IndexOutOfBoundsException: Index 3 out of bounds for length 3" for iOS build with Kotlin 2.2.0-RC2
  • KT-74635 KLIBs: Change call serialization scheme to store all arguments in a single list
  • KT-76061 Add option for suppress warning of missing no-existent transitive klib dependencies
  • KT-70146 [KLIB Resolve] Don't fail on nonexistent transitive dependency
  • KT-75624 Don't fail on an attempt to deserialize "unknown" IrStatementOrigin and IrDeclarationOrigin
  • KT-55808 Support metadata version checks for klibs in the compiler
  • KT-56062 Support -Xmetadata-version for KLIB-based compilers
  • KT-76158 Drop "description" from local signatures
  • KT-75749 KLIB: Fail with error on attempt to serialize/deserialize SpecialFakeOverrideSignature
  • KT-75941 [IR Inliner] Abstract function is not implemented in non-abstract anonymous object
  • KT-75867 The CLI argument -Xabi-version allows versions with multiple 0 and -0
  • KT-75192 KLIB reader tends to extract files from the KLIB archive to a temporary directory even when this is not needed
  • KT-75013 Make klib reader more flexible: allow empty directories to be omitted
  • KT-75680 KLIB: Drop obsolete IrPerFileLibraryImpl & IrPerFileWriterImpl
  • KT-73779 [Native] Context parameters: extension receiver is preferred over context parameters
  • KT-65375 Clean-up the logic for serialization of error types in metadata and in IR
  • KT-73826 Deduplicate IrFileEntry that is serialized inside IrInlinedFunctionBlock
  • KT-75091 Drop targets/$target_name/kotlin directory from klibs
  • KT-74352 API4ABI: Fix representation of context parameters
  • KT-71007 Align KLIB ABI version with the language version
  • KT-73672 Bump KLIB ABI version in 2.2.0
  • KT-74080 API4ABI: Adapt API for value parameter kinds
  • KT-74396 Support context parameters in klibs
  • KT-72931 Support new callable reference nodes in KLIB [de]serializer
Language Design
New Features
  • KT-2425 Multidollar interpolation: improve handling of $ in string literals
  • KT-1436 Support non-local break and continue
  • KT-13626 Guard conditions in when-with-subject
  • KT-54206 Support local contextual functions
Fixes
  • KT-53673 Support @DslMarker annotations on contextual receivers
  • KT-73557 Allow refining expect declarations for platform groups
  • KT-72417 Annotation with target RECORD_COMPONENT cannot be used on @JvmRecord data class components
  • KT-67977 Compile results of annotations assigned to JvmRecord properties as in Java
  • KT-73502 Context parameters: it is not possible to declare local function with a context
  • KT-73632 Expect class redeclaration is allowed
  • KT-70002 [LC] Forbid using projection modifiers inside top-level Array in annotation's value parameter
Libraries
New Features
  • KT-76163 K/N: Hide or remove CreateNSStringFromKString/CreateKStringFromNSString
  • KT-70456 Base64: Support lineLength parameter for Mime
  • KT-76394 kotlin.time.TimeSource.asClock missing
  • KT-31857 Provide easy way to retrieve annotations for kotlinx-metadata
  • KT-76528 Instant.parseOrNull
  • KT-74804 Add @MustUseValue and @IgnorableValue / @Discardable to kotlin-stdlib
  • KT-74422 KotlinWebsiteSampleRewriter should filter individual imports from samples package
Performance Improvements
  • KT-68860 K/JS: optimize listOf(element)
  • KT-75647 Optimized sequenceOf(T) overload is missing
Fixes
  • KT-72138 Stabilize experimental API for 2.2
  • KT-76831 Atomic types: inconsistent behavior on JS and Wasm targets
  • KT-76795 RecursiveDeletionTest.deleteRelativeSymbolicLink fails on Windows for unprivileged users
  • KT-75290 kotlin-metadata: deprecate hasAnnotations flag, add JVM-only hasAnnotationsInBytecode instead
  • KT-76193 Common Atomics: 'AtomicArray.compareAndSetAt' and 'compareAndExchangeAt' docs incorrectly suggest they use == when actually they use ===
  • KT-54077 Consider using SecureDirectoryStream in deleteRecursively even when Path.parent is null
  • KT-72866 Standard library functions to work with context parameters
  • KT-76743 Add kotlin-scripting-jvm to projectsUsedInIntelliJKotlinPlugin list
  • KT-72483 Clean up redundant stdlib code for Kotlin 2.2
  • KT-76385 Remove suppression from functions to work with context parameters
  • KT-75337 Remove suppress annotations from @IgnorableReturnValue
  • KT-72137 Review deprecations in stdlib for 2.2
  • KT-75491 Non intuitive work of 'in' (contains) with String range
  • KT-75933 Update readLine's KDoc to suggest alternative functions
  • KT-46360 Type inference fails to infer type for sumOf call with integer literal: "Overload resolution ambiguity TypeVariable(T)) -> Int / Long"
  • KT-73590 Samplify string.split
  • KT-75759 Add the serializer for kotlin.time.Instant to the list of standard serializers
  • KT-71628 Review deprecations in stdlib for 2.1
  • KT-73726 A link from shuffle's KDoc is not rendered properly
  • KT-74173 The sample code of lazy on stdlib can not run on playground due to "samples" package import
  • KT-50081 AbstractList sublist leads to StackOverflow
Native
  • KT-76992 Native: update llvm for windows targets
  • KT-56107 Support Enum.entries for C/ObjC interop enums
  • KT-76552 LLVM Update: rebase the LLVM branch
  • KT-76662 LLVM 19 update: documentation
  • KT-76560 LLVM Update: investigate changes in filterStdargH test
  • KT-76283 LLVM Update: pass all tests
  • KT-74377 Kotlin Native: release executable crashes with error 139
  • KT-75829 LLVM Update: port K/N on LLVM 19
  • KT-76280 LLVM Update: benchmarksAnalyzer build failed
  • KT-70202 Xcode 16 Linker fails with SIGBUS
Native. Build Infrastructure
  • KT-77349 Kotlin/Native: default cache for stdlib is unused
Native. C and ObjC Import
  • KT-75598 Native: fix samples/objc test
  • KT-76551 LLVM Update: investigate CXFile equality problem further
  • KT-75781 Xcode 16.3: Fix cinterop tests failing with fatal error: could not build module '_stdint'
  • KT-74549 Native: replace clang_Type_getNumProtocols/clang_Type_getProtocol with standard libclang functions
Native. Platforms
Native. Runtime
  • KT-71534 Native: Support Latin-1 encoded strings at runtime
  • KT-67741 Kotlin/Native: Unify SpecialRef handling
Native. Runtime. Memory
  • KT-74831 Kotlin/Native: investigate mmap usage in custom allocator
  • KT-74432 Native: add an option to allocate everything in SingleObjectPage
  • KT-74975 Enable CMS by default in Swift export
  • KT-60928 Kotlin/Native: refactor allocator code
  • KT-50291 Kotlin/Native: remove dependency of mm on gc implementation
Native. Swift Export
  • KT-75166 Support export of platform libraries types in Swift export
  • KT-75079 Swift export: add dependency from sir-compiler-bridge to Analysis API
  • KT-72413 Swift Export: potential memory leak when best-fitting class is different from the formal type
  • KT-72107 Remove IntoSingleModule stratagy
Tools. Ant
Tools. BCV
  • KT-75686 Improve DSL for BCV in KGP
  • KT-76129 Abi validation filtering functionality for included classes doesn't work
  • KT-75999 ABI validation filter doesn't apply excluded kotlin files
  • KT-75981 ABI validation filter not applying excluded classes without package names
  • KT-71168 Implement a prototype of ABI Validation in Kotlin Gradle Plugin
Tools. Build Tools API
  • KT-76455 BTA: Compilation is always non-incremental if BTA API >= 2.2.0 is used together with BTA impl < 2.2.0
  • KT-76060 BTA: Java sources passed for IC may fail compilation in non-incremental mode
  • KT-74041 Build Tools API: Lower level or remove compiler arguments log
Tools. CLI
New Features
  • KT-73606 Provide a unified interface for managing the reporting of compiler warnings
  • KT-24746 Provide ability to exclude specific warnings from compiler option Werror (all warnings as errors)
  • KT-18783 Option to treat a specific compiler warning as an error
  • KT-76095 Add JVM target bytecode version 24
  • KT-73007 Add stable compiler argument -jvm-default instead of -Xjvm-default
Performance Improvements
  • KT-75641 kotlinc -help spends almost 1 second on Usage.render()
Fixes
  • KT-77445 UNRESOLVED_REFERENCE when importing classes from kotlin-stdlib
  • KT-75300 Lenient compiler mode which generates stubs for missing actuals
  • KT-76829 UnsupportedOperationException when reenabling a taking place warning with -Xwarning-level
  • KT-75588 [2.1.20-RC] "was compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" warnings despite using the same compiler version
  • KT-74663 kotlinc-js CLI: not providing -ir-output-dir results in NullPointerException
  • KT-75967 Implement generation of CLI arguments in compiler using new single representation
  • KT-75966 Declare all existing CLI arguments using the new DSL
  • KT-76498 Implement JSON dumper for performance stats
  • KT-75970 Extract all non-trivial logic from CommonCompilerArguments and its inheritors
  • KT-73595 Kapt.use.k2=true is ignored silently for language-version 1.9 or less
  • KT-75043 Migrate Metadata compilation pipeline to the phased structure
  • KT-75113 TEST_ONLY LanguageFeature doesn't abort the compilation
Tools. CLI. Native
  • KT-69485 Native: remove adding $llvmDir\bin to PATH on Windows
Tools. Commonizer
  • KT-74623 Drop metadata version check from KLIB commonizer
Tools. Compiler Plugin API
  • KT-74640 [FIR] Support setting source in declaration generators
Tools. Compiler Plugins
Fixes
  • KT-76162 "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" after updating to 2.1.20
  • KT-61584 [atomicfu]: prohibit declaration of AtomicReference to the value class in the compiler plugin
  • KT-70982 Deprecate declaration of atomic properties marked with @PublishedApi with error
  • KT-73367 Migrate compose plugin to new IR parameter API
  • KT-76429 Migrate kotlin-dataframe plugin to new IR parameter API
  • KT-75263 PowerAssert: no additional info is displayed for 'when' with subject
  • KT-75614 PowerAssert: handling of exceptions doesn't work inside assert function
  • KT-75264 PowerAssert: the diagram for try-catch with boolean expressions isn't clear
  • KT-75663 PowerAssert: 'contains' result for strings is displayed under the first parameter instead of 'in'
  • KT-73897 PowerAssert: Implicit argument detection is brittle in a number of cases
  • KT-74315 Kotlin Lombok: "Unresolved reference" on generating @Builder for static inner class where outer class is also using @Builder
  • KT-72172 File Leak occurring in Kotlin Daemon
  • KT-75159 Compose: Missing 'FunctionKeyMeta' annotation on lamdas declared in non-composable function
  • KT-72877 Power-Assert should provide IrExpression transformation API
  • KT-73871 PowerAssert: Comparison via operator overload results in confusing diagram
  • KT-73898 PowerAssert: Operator calls with multiple receivers incorrectly aligned
  • KT-73870 PowerAssert: Object should not be displayed
Tools. Compiler plugins. Serialization
  • KT-49632 Provide diagnostic when custom serializer for generic type does not have required constructor signature ( ISE Null argument in ExpressionCodegen for parameter VALUE_PARAMETER)
Tools. Gradle
New Features
  • KT-75823 Resources bundle with XCFrameworks for iOS
  • KT-73418 Gradle '--warning-mode' value should affect Gradle plugin diagnostics
  • KT-73906 Improve ToolingDiagnostic CLI rendering
  • KT-73285 Integrate Gradle Problem API with KGP diagnostics
  • KT-61649 Add Gradle compiler option for jvm-default
  • KT-68659 Collect reported Kotlin Gradle Plugin diagnostics into one HTML/Text file report instead of writing it to log
Fixes
  • KT-75188 Groovy plugin breaks access to internal members of test friendPaths classes in kotlin compilation
  • KT-54110 Change deprecation level to ERROR for kotlinOptions DSL
  • KT-74277 KGP / FreeBSD: "TargetSupportException: Unknown operating system: FreeBSD" during the build
  • KT-75820 Gradle: "ClassNotFoundException: intellij.util.containers.Stack" while parsing compilation warnings with IN_PROCESS execution strategy
  • KT-64991 Change deprecation level to error for KotlinCompilation.source
  • KT-75107 Add Gradle property to use new FIR IC runner
  • KT-66133 Finalize resolution strategy for resources and remove the one that is unused
  • KT-59632 KotlinCompileTool.setSource() should replace existing sources
  • KT-62963 Remove "kotlin.incremental.useClasspathSnapshot" property
  • KT-76137 Compatibility with Gradle 8.14 release
  • KT-76797 KGP: StdlibDependencyManagementKt.configureStdlibVersionAlignment() triggering eager configuration realization
  • KT-76282 Add missing Android Gradle plugin versions in tests
  • KT-77011 Update build regression benchmarks for 2.2.0 release
  • KT-76138 Compile against Gradle API 8.14
  • KT-76139 Run integration tests against Gradle 8.14
  • KT-74007 Not all the DSL features related to kotlinOptions are deprecated
  • KT-77288 Using 'KotlinJvmOptions' is an error - Gradle sync issue when using 2.2.0-Beta2 with Android Gradle Plugin
  • KT-74887 Compatibility with Gradle 8.13 release
  • KT-73682 Compatibility with Gradle 8.12 release
  • KT-77035 A compiler diagnostic isn't reported when its severity is set to warning with Gradle
  • KT-70620 Raise to error deprecation for KotlinCompilationOutput#resourcesDirProvider
  • KT-68597 Update KGP deprecations before 2.2
  • KT-68325 Add to Compiler Types DSL exceptions message possible ways of a solution
  • KT-76951 'distribution-base' plugin is only applied in Gradle 8.13
  • KT-73142 Kotlin Gradle plugin: Remove usage of Gradle's internal ExecHandleBuilder
  • KT-73968 KotlinDependencyManagement tries to mutate configuration after it was resolved
  • KT-74890 Run Gradle integrations test against Gradle 8.13 release
  • KT-74889 Compile against Gradle 8.13 API
  • KT-76052 Support Gradle 8.13 for Problems API
  • KT-73684 Run integration tests against Gradle 8.12
  • KT-76377 Add integration tests for Problems API
  • KT-74551 Improve KGP-IT withDebug for tests with environment variables
  • KT-74717 Test publication with dependency constraints
  • KT-75164 Run Gradle incremental compilation tests with FIR runner
  • KT-72694 Accessing Task.project during execution is being deprecated in Gradle 8.12
  • KT-76374 Investigate and fix failing tests with configuration cache in KotlinDaemonIT: testDaemonMultiproject and testMultipleCompilations
  • KT-76379 Gradle: KotlinGradleFinishBuildHandler does not perform cleanup on configuration cache reuse
  • KT-61911 Gradle: make KGP to depend on fixated version of stdlib
  • KT-76026 [ToolingDiagnostic] Gradle warning mode=fail: no emoji replacement, title color unchanged
  • KT-76025 ToolingDiagnostic with FATAL Severity: ANSI escape codes are not rendered properly in the Build tool window in IntelliJ IDEA
  • KT-70252 Gradle: remove Intellij dependencies from KGP runtime
  • KT-74333 improve ToolingDiagnosticBuilder
  • KT-73683 Compile against Gradle API 8.12
  • KT-75187 Make KotlinToolingDiagnostics internal
  • KT-75568 Do not use env variables registered as CC inputs
  • KT-73842 Gradle: AGP failing tests with "Failed to calculate the value of property 'generalConfigurationMetrics'" using KGP
  • KT-75262 Gradle test-fixtures plugin apply order breaks the project
  • KT-75277 FUS statistics: 'java.lang.IllegalStateException: The value for this property cannot be changed any further' exception is thrown during project import
  • KT-75026 Corrupted NonSynchronizedMetricsContainer in parallel Gradle build
  • KT-73849 Categorize ToolingDiagnostics
  • KT-74462 Flaky Kotlin Gradle Plugin Tests: IsInIdeaEnvironmentValueSource$Inject not found
  • KT-72329 Consider bumping apiVersion for projects with compatibility setup
  • KT-74772 ToolingDiagnostic: title is not displayed on Windows
  • KT-74485 BuildFinishedListenerService is not thread-safe
  • KT-74639 Executable binaries for JVM test cannot be created unless an additional suffix is set in Groovy
  • KT-72187 Gradle tests are using incorrect Kotlin/Native distribution
  • KT-57653 Explicit API mode is not enabled when free compiler arguments are specified in Gradle project
  • KT-51378 Gradle 'buildSrc' compilation fails when newer version of Kotlin plugin is added to the build script classpath
Tools. Gradle. Compiler plugins
  • KT-58009 BaseKapt.annotationProcessorOptionProviders should be a List<CommandLineArgumentProvider> instead of List<Any>
  • KT-61928 Clarify parameter types in KaptArguments and KaptJavacOption
Tools. Gradle. JS
  • KT-74859 Gradle configuration cache issues related to RootPackageJsonTask
  • KT-70357 Remove JS/Dce deprecated Gradle DSL
  • KT-71217 KJS: 'Per-file' "Module not found: Error: Can't resolve void.mjs"
  • KT-77119 KJS: Gradle: Setting custom environment variables in KotlinJsTest tasks no longer works
  • KT-74735 KGP uses Gradle internal CompositeProjectComponentArtifactMetadata
  • KT-71879 Notice of upcoming deprecation for Boolean 'is-' properties in Gradle Groovy scripts
  • KT-75863 Wasm/JS: Deprecate phantom-js for Karma
  • KT-75485 KJS: "Module not found: Error: Can't resolve 'style-loader' and 'css-loader'" in 2.1.20-RC
  • KT-74869 KJS: jsBrowserProductionWebpack does not minify output with 2.1.20-Beta2
Tools. Gradle. Multiplatform
New Features
  • KT-60623 Deprecate publishAllLibraryVariants in kotlin-android
Fixes
  • KT-75161 Deprecate commonization parameters in KGP with an error
  • KT-74005 Implement a prototype of Unified Klib support in Kotlin Gradle Plugin
  • KT-61817 Remove support for Legacy Metadata Compilation with support of Compatibility Metadata Variant
  • KT-71634 KGP: Remove KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImport
  • KT-77404 The kotlin-stdlib and annotations are missing from commonTest dependencies with 2.2.0-Beta1
  • KT-62643 Increase DeprecationLevel to 'Error' on deprecated 'ExtrasProperty.kt' (Kotlin 2.2)
  • KT-75605 Dependency resolution fails in commonTest/nativeTest source sets for KMP module when depending on another project due to missing PSM
  • KT-71698 Remove preset APIs
  • KT-68015 Remove legacy KMP flags
  • KT-74727 Dependency resolve from a single target KMP module to another kmp module fails on non-found PSM
  • KT-75808 KGP: MPP with jvm target and Gradle java-test-fixtures is broken
  • KT-59315 Improve the readability of KGP diagnostics in CLI build output
  • KT-58231 Kotlin Gradle Plugin: set deprecation level to Error for KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImport
  • KT-66423 Configuration cache false recalculation because of Kotlin Native downloading during the execution phase
  • KT-74888 Use 'distribution-base' plugin in KMP/JVM
  • KT-76659 Write proper diagnostics for Uklib checks
  • KT-70493 Improve gray-box testing experience in KGP-IT
  • KT-71608 Remove 'android()' target
  • KT-75512 Maven-publish: ArtifactId is not correct inpom file with customized withXml
  • KT-72203 Swift Export: Unclear failure for invalid module name
  • KT-74278 KSP tasks don't trigger a K/N distribution downloading
  • KT-74669 Executable binaries for JVM: a jar generated by jvmJar task isn't added to the build/install/testAppName/lib directory
  • KT-69200 Module 'intellij.kotlin.gradle.multiplatformTests' transitively depends on K1/K2 implementation
  • KT-71454 Remove not compatible with Project Isolation PomDependenciesRewriter
  • KT-73536 Enable kmp isolated projects support for kotlin-test and patch PSM.json
Tools. Gradle. Native
  • KT-77067 Kotlin Gradle plugin with the configuration cache passes all platform libraries to the compiler when compiling a binary for the first time
  • KT-74953 Deprecate kotlinArtifacts with a warning
  • KT-71069 Remove konanVersion from CInteropProcess
  • KT-75171 Provide custom freeCompilerArgs to Swift Export's link task
  • KT-74591 HostManager.isMingw isLinux and isMac are not accessible in groovy scripts
  • KT-65692 Remove Kotlin Native Performance plugin
  • KT-74403 :commonizeNativeDistribution fails when configured native targets cannot be built on machine
Tools. Gradle. Xcode
  • KT-66262 Deprecate and remove support for bitcode embedding from the Kotlin Gradle plugin
Tools. Incremental Compile
  • KT-62555 Wrong ABI fingerprint for inline function containing a lambda
  • KT-75883 Follow-up: switch from INSTANCE heuristic to outerClass chain
  • KT-75276 Test IC issues with first-round failures that might be fixed by Fir runner
  • KT-76041 Make lenient mode work with IC
  • KT-75155 Split HistoryFileJvmIncrementalCompilerRunner and the current one
  • KT-74628 Incremental compilation runner does not check compiler exit code before mapping sources to classes
Tools. JPS
  • KT-60914 IC misses dependency to recompile when named kt file with JvmField instructed property was replaced with an object with the same name
  • KT-76495 JPS: delegated Maven builds use embeddable version of kotlin-serialization compiler plugin with non-embeddable Kotlin compiler
  • KT-76461 Fix "compilation of typealias does not check for clashes" for JPS
  • KT-75917 Unused imports may lead to inc compilation failure
  • KT-73379 Review the usage of JavaBuilder.IS_ENABLED inside the KotlinBuilder JSP builder
  • KT-63707 JPS: "Multiple values are not allowed for" caused by Compose
Tools. Kapt
  • KT-75936 K2 KAPT: unsupported FIR element kinds in constant evaluation
  • KT-64385 K2: Enable K2 KAPT by default
  • KT-76546 Kapt / CLI: ""compile" mode is not supported in Kotlin 2.x" with -version flag
  • KT-75942 K2 KAPT: underscore not allowed here
  • KT-40485 -Xjvm-default=all causes private interface methods to be generated in JVM target < 9 which is not supported in annotation processing
  • KT-75202 K2 kapt: mapped type class literal is converted incorrectly
  • KT-70797 Remove obsolete K2 kapt implementation based on Analysis API
Tools. Maven
  • KT-73012 Migrate Kotlin Maven plugin to the Build Tools API
  • KT-77036 Kotlin Maven plugin: ClassNotFoundException com.google.common.base.Joiner with compiler plugins in debug mode
  • KT-61285 Remove multiplatform "support" from Maven Plugin
Tools. Performance benchmarks
  • KT-75563 Fix crash on kotlin compiler server user project related to performance measurements
Tools. REPL
Fixes
  • KT-75632 Contunue deprecation of the REPL built into kotlinc
  • KT-76507 [K2 Repl] Delegated properties are not visible in the next snippet
  • KT-76508 [K2 Repl] Annotations on property accessors are not resolved
  • KT-75672 [K2 Repl] Serialization plugin crashes compiler backend
  • KT-76009 [K2 Repl] Kotlin-specific imports does not work if dependency is added to the classpath after 1st snippet
  • KT-75580 [K2 Repl] Cannot access snippet properties using Kotlin reflection
  • KT-75616 [K2 Repl] Sealed hierarchies causes a FileAnalysisException
  • KT-75593 [K2 Repl] Custom Delegates crash code gen
  • KT-75607 [K2 Repl] ScriptingConfiguration.jvm.jvmTarget is not respected
  • KT-74607 [K2 Repl] Lambda statement crashes code generation
  • KT-74615 [K2 REPL] Anonymous objects crash code generation
  • KT-74856 [K2 Repl] Snippet class files are missing Kotlin metadata
  • KT-74768 [K2 Repl] refineConfiguration does not update the classpath correctly
  • KT-74593 [K2 Repl] defaultImports does not work in ScriptCompilationConfiguration
Tools. Scripts
  • KT-75589 Scripts: "IndexOutOfBoundsException in jdk.internal.util.Preconditions.outOfBounds" when trying to extend a class which uses global variable
  • KT-76424 Dependencies in main.kts not working with 2.1.20
  • KT-76296 Kotlin script compiler crashes when secondary constructor calls a function
  • KT-76430 Migrate scripting plugin to new IR parameter API
  • KT-74004 "Evaluate expression" fails in scripts
Tools. Wasm
  • KT-76161 Wasm: "export startUnitTests was not found" after updating to Kotlin 2.1.20
  • KT-73398 K/Wasm: Separate from JS NPM infrastructure
  • KT-76948 Wasm: Rename kotlinBinaryenSetup and kotlinD8Setup
  • KT-74840 Wasm: Binaryen setup per project
  • KT-76657 K/Wasm: Composite build does not work with wasm tasks
  • KT-76656 K/Wasm: Change NPM project name of wasm projects
  • KT-76587 Wasm lock check failure says to run the JS lock upgrade
  • KT-76330 K/Wasm: update binaryen to 123 or newer
  • KT-74480 Projects using Compose don't run in Android Studio started from 2.1.20- Kotlin version

v2.1.21: Kotlin 2.1.21

Changelog
Backend. Native. Debug
  • KT-75991 Xcode 16.3: Fix lldb stepping test over an inline function
Compiler
  • KT-75992 Xcode 16.3: stacktraces on simulators are not symbolicated
  • KT-76663 KJS: KotlinNothingValueException caused by expression return since 2.1.20
  • KT-75756 Backend Internal error: Exception during IR lowering when trying to access variable from providedProperties in class within kotlin custom script
  • KT-76209 CONFLICTING_UPPER_BOUNDS on Nothing bound
  • KT-70352 K2: False-negative CONFLICTING_UPPER_BOUNDS on Nothing bound
  • KT-74739 Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION_REFERENCE"
  • KT-75483 Native: redundant unboxing generated with smart cast
  • KT-71425 IR Inliner: investigate return type of an inlined block
Native
  • KT-76252 Native: executable crash with generic value classes with 2.1.20
Native. C and ObjC Import
  • KT-75781 Xcode 16.3: Fix cinterop tests failing with fatal error: could not build module '_stdint'
Native. Runtime. Memory
  • KT-74280 Native: GC.collect crashes with -Xallocator=std
Tools. CLI
  • KT-75588 [2.1.20-RC] "was compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" warnings despite using the same compiler version
  • KT-74663 kotlinc-js CLI: not providing -ir-output-dir results in NullPointerException
Tools. Compiler Plugins
  • KT-76162 "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" after updating to 2.1.20
Tools. Gradle
  • KT-73682 Compatibility with Gradle 8.12 release
  • KT-73142 Kotlin Gradle plugin: Remove usage of Gradle's internal ExecHandleBuilder
  • KT-36004 Update 'org.gradle.usage' attribute rules to support the 'JAVA_API' and 'JAVA_RUNTIME' value
  • KT-73968 KotlinDependencyManagement tries to mutate configuration after it was resolved
  • KT-73684 Run integration tests against Gradle 8.12
  • KT-72694 Accessing Task.project during execution is being deprecated in Gradle 8.12
  • KT-73683 Compile against Gradle API 8.12
Tools. Gradle. JS
  • KT-77119 KJS: Gradle: Setting custom environment variables in KotlinJsTest tasks no longer works
  • KT-74735 KGP uses Gradle internal CompositeProjectComponentArtifactMetadata
  • KT-71879 Notice of upcoming deprecation for Boolean 'is-' properties in Gradle Groovy scripts
Tools. Gradle. Multiplatform
  • KT-75808 KGP: MPP with jvm target and Gradle java-test-fixtures is broken
  • KT-75605 Dependency resolution fails in commonTest/nativeTest source sets for KMP module when depending on another project due to missing PSM
  • KT-75512 Maven-publish: ArtifactId is not correct inpom file with customized withXml
Tools. Incremental Compile
  • KT-62555 Wrong ABI fingerprint for inline function containing a lambda
  • KT-75883 Follow-up: switch from INSTANCE heuristic to outerClass chain
Tools. Kapt
  • KT-75936 K2 KAPT: unsupported FIR element kinds in constant evaluation
  • KT-75942 K2 KAPT: underscore not allowed here
Tools. Scripts
  • KT-76424 Dependencies in main.kts not working with 2.1.20
  • KT-76296 Kotlin script compiler crashes when secondary constructor calls a function
  • KT-75589 Scripts: "IndexOutOfBoundsException in jdk.internal.util.Preconditions.outOfBounds" when trying to extend a class which uses global variable
Tools. Wasm
  • KT-76161 Wasm: "export startUnitTests was not found" after updating to Kotlin 2.1.20

v2.1.20: Kotlin 2.1.20

Changelog
Analysis API
Fixes
  • KT-68198 Analysis API: Support application service registration in plugin XMLs
  • KT-57733 Analysis API: Use optimized ModuleWithDependenciesScopes in combined symbol providers
  • KT-73156 AA: type retrieval for erroneous typealias crashes
  • KT-71907 K2 debugger evaluator failed when cannot resolve unrelated annotation
  • KT-69128 K2 IDE: "Unresolved reference in KDoc" reports existing Java class in reference to its own nested class
  • KT-71613 KaFirPsiJavaTypeParameterSymbol cannot be cast to KaFirTypeParameterSymbol
  • KT-71741 K2 IDE. Classifier was found in KtFile but was not found in FirFile in libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts in kotlin.git and broken analysis
  • KT-71942 Need to rethrow Intellij Platform exceptions, like ProcessCanceledException
  • KT-70949 Analysis API: "containingDeclaration" does not work on nested Java classes in K2 implementation
  • KT-69736 K2 IDE: False positive resolution from KDoc for value
  • KT-69047 Analysis API: Unresolved KDoc reference to extensions with the same name
  • KT-70815 Analysis API: Implement stop-the-world session invalidation
  • KT-69630 KAPT User project builds with KAPT4 enabled fail with Metaspace overflow
Analysis API. Code Compilation
  • KT-71263 K2 evaluator: Error in evaluating self property with extension receiver
Analysis API. FIR
Performance Improvements
  • KT-72025 FileStructureElement: reduce redundant resolve
  • KT-74012 Redundant FirAbstractBodyResolveTransformerDispatcher.<init> CPU consumption
  • KT-73900 ContextCollectorVisitor#computeContext may spend significant time on createSnapshot
  • KT-73665 FirElementFinder is inefficient in large files
  • KT-73330 Remove bodies from functions without contracts after the CONTRACTS phase
  • KT-73017 Analysis API: FirReferenceResolveHelper.getSymbolsByResolvedImport searches for classes even when the selected FqName is a known package
Fixes
  • KT-72308 getOrBuildFir returns null for this expression for plusAssign operator
  • KT-72660 ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValue
  • KT-74097 ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValue
  • KT-74098 ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValue
  • KT-72148 K2: KISEWA: Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(DataClassMember) but FirArgumentListImpl found
  • KT-73079 K2: Internal compiler error when conflicting type aliases are present
  • KT-73456 Expected FirResolvedContractDescription but FirRawContractDescriptionImpl found for FirSimpleFunctionImpl
  • KT-73259 Expected FirResolvedContractDescription but FirLegacyRawContractDescriptionImpl found for FirSimpleFunctionImpl
  • KT-72740 FirDanglingModifierList: lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase STATUS
  • KT-66132 K2: FirRegularClass expected, but FirFileImpl found | Containing declaration is not found
  • KT-72196 K2. KMP. IllegalStateException: expect-actual matching is only possible for code with sources
  • KT-72652 FirProvider#getContainingClass should support FirDanglingModifierSymbol
  • KT-73105 Lazy resolve contract violation (BODY_RESOLVE from BODY_RESOLVE)
  • KT-66261 K2: Analysis API: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" with MULTIPLE_LABELS_ARE_FORBIDDEN K2 error
  • KT-72315 K2. KIWA on usage of always-true OR in guard condition
  • KT-65707 K2 IDE: unresolved calls of callables imported with typealias as qualifier
  • KT-61516 K2: Provide an LL FIR implementation for getContainingClassSymbol (in FirHelpers)
  • KT-72853 Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirContextReceiverImpl(Source) but FirArgumentListImpl found
  • KT-64215 K2: do not resolve type annotations of receiver if it is used as an implicit return type
  • KT-64248 K2: do not resolve type annotations of context receiver if it is used as an implicit return type
  • KT-72821 Add assertion to diagnostic tests to check that all declarations have BODY_RESOLVE phase at the end
  • KT-64056 K2: K2: FirLazyBodiesCalculator shouldn't calculate annotation arguments on type phase
  • KT-71651 K2 IDE: False positive NON_LOCAL_SUSPENSION_POINT in suspend function call
  • KT-72164 K2. IllegalArgumentException when pre and post increment are used simultaneously in assignment
  • KT-71174 Illegal scope used
  • KT-72407 FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing
  • KT-72228 K2: Reformat doesn't work in project with Kotlin 2.0.21
  • KT-69671 TYPES phase contract violation through JavaSymbolProvider
  • KT-71348 K2: KotlinIllegalStateExceptionWithAttachments: 'By now the annotations argument mapping should have been resolved' during code inspection
  • KT-72024 FirClassVarianceChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
  • KT-71746 K2 IDE. ISE: Zero or multiple overrides found for descriptor in FirRegularClassSymbol serializing/ExternalSerializer and red code on @Serializer(forClass) ` usage
Analysis API. Infrastructure
  • KT-72922 KotlinFakeClsStubsCache project leakage
  • KT-71988 Improve scripts test coverage by LL FIR
  • KT-64687 K2: Analysis API: migrate AbstractFirLibraryModuleDeclarationResolveTest to kotlin repo
Analysis API. Light Classes
  • KT-73492 K2. FP error in Java file when using @JvmSuppressWildcards annotation without arguments
  • KT-66763 K2: Get rid of context receivers in Analysis API and LL API
  • KT-71781 SLC: migrate SLC from KotlinModificationTrackerService to KotlinModificationTrackerFactory
  • KT-67963 K2: PsiInvalidElementAccessException on redeclaration of class with constructor
  • KT-71407 K2: Do not report @JvmField default value as PsiField initializer in K2
  • KT-72078 K2 PSI change for constructor parameter with value class type
Analysis API. Providers and Caches
  • KT-69247 Analysis API: Invalidate sessions after builtins modification events
  • KT-72704 ISE: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(53) in array owner: LLFirBuiltinsAndCloneableSession for Builtins for JS/wasm-js (JS)
  • KT-67148 Analysis API: Introduce a weak reference cache for the original KtSymbol in KtSymbolPointer
  • KT-73395 Analysis API: JavaElementPsiSourceWithSmartPointer contains strong references to PSI
  • KT-72390 Kotlin project full of red code
  • KT-72388 KaFirStopWorldCacheCleaner: Control-flow exceptions
  • KT-72644 "PSI has changed since creation" reason is misleading
Analysis API. Standalone
  • KT-73776 Analysis API Standalone: Application services are missing registrations in tests and Dokka
  • KT-70346 Analysis API Standalone: Remove the custom class loader option in Standalone session creation
Analysis API. Stubs and Decompilation
  • KT-69398 K2 IDE: SOE on editing top level private variable name
  • KT-72897 Analysis API: Smart PSI element pointers for KtEnumEntry stubs cannot be restored
  • KT-71565 KtClassOrObject should use isLocal from greenStub
Analysis API. Surface
New Features
  • KT-73414 Analysis API: Support typealiased constructors in KaConstructorSymbol
  • KT-70301 Analysis API: 'KaSamConstructorSymbol' does not allow to find the constructed SAM type
  • KT-68236 Analysis API: add isExternal property for KtPropertySymbol
  • KT-68598 Analysis API: missed getClassLikeSymbolByClassId API
Performance Improvements
  • KT-74112 UI freeze: AnyThreadWriteThreadingSupport.getWritePermit
  • KT-73942 Extend resolveToSymbols cache to all references
  • KT-73622 Cache resolveToSymbols result
  • KT-72684 Drop explicit resolve from KaFirJavaInteroperabilityComponent#asPsiTypeElement
  • KT-60486 Analysis API: optimize KaExpressionTypeProvider.returnType for simple cases
Fixes
  • KT-70114 K2: Analysis API: do not lazy resolve declarations without deprecation to get it deprecation
  • KT-73406 [Analysis API] Allow extending KaModule resolution scope for all KaModules
  • KT-65850 Cover Analysis API with KDocs
  • KT-72099 Analysis API: implement an API to retrieve default imports
  • KT-73662 KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
  • KT-70108 Analysis API: "KaScopeProvider.scopeContext" provides scopes from implicit companion objects with inaccessible classifiers
  • KT-68954 Remove JAR publications with old artifact names (high-level-api family)
  • KT-70134 Analysis API: Port API documentation from the guide to KDoc
  • KT-72973 Introduce KaSymbolOrigin.TYPE_ALIAS_CONSTRUCTOR
  • KT-70356 analyzeCopy with IGNORE_SELF cannot find private members
  • KT-66783 Analysis API: KtFirSymbolProvider creates symbols when given PSI from unrelated modules
  • KT-72937 Migrate KaFirReceiverParameterSymbol to KaFirSymbol/KaFirKtBasedSymbol
  • KT-70243 K2 IDE: PsiMethod.callableSymbol returns null for constructor
  • KT-66608 Support OperatorFunctionChecks#isOperator in AA
  • KT-73068 Analysis API: A KaFirJavaFieldSymbol for a static Java field is open instead of final
  • KT-73055 Get rid of the deprecated Analysis API API
  • KT-65065 Provide KtTypeReference#getShortTypeText()
  • KT-63800 AA: this reference shortener doesn't simplify label
  • KT-72793 Analysis API: 'expressionType' returns raw type for typealiased constructors calls
  • KT-72658 resolveToCall doesn't work for KtSafeQualifiedExpression
  • KT-69930 K2 IDE: Kotlin/JS project: ISE: "Unsupported type DYNAMIC_TYPE"
  • KT-71373 Make KaSessionProvider the internal API
  • KT-71869 KaClassSymbol.superTypes for kotlin.Any contains kotlin.Any itself (K1-only)
  • KT-64190 K2 IDE: Analysis API: KDoc link leads to a function instead of interface
  • KT-72075 defaultType should be available for KaClassifierSymbol instead of KaNamedClassSymbol
  • KT-72002 Analysis API: psi KaTypeParameterSymbol for default Java constructor is null
Backend. Native. Debug
  • KT-73306 Native: add a way to specify a dir for the debug compilation unit file
  • KT-68536 Native: bridges and trampolines affect stepping in the debugger
  • KT-72398 Native: use DW_AT_trampoline for objc2kotlin_* functions instead of KonanHook in konan_lldb.py
Backend. Wasm
  • KT-71868 K/Wasm: support generating debug information in DWARF format
  • KT-71645 [Wasm] Check wasm test runner for groupByPackage=true case
  • KT-72232 Wasm, IC: Compilation exception on renaming of file
  • KT-73907 Wasm: Duplication of files in browser distribution
  • KT-72223 Compiler generates an invalid glue-code for externals with backquoted identifiers
  • KT-73015 [Wasm, IC] Implement possibility for readonly IC cache
  • KT-71763 K/Wasm: compiler generates incorrect code for is check on JsAny
  • KT-72156 custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven public
  • KT-71037 [Wasm, IC] Investigate how make kotlin.test not fully loaded in IC
Compiler
New Features
  • KT-74049 Introduce special override rule to allow overriding T! with T & Any
  • KT-73256 Implement all meta-target for annotations
  • KT-73255 Change defaulting rule for annotations
  • KT-61447 Support context receivers overloads in Kotlin multiplatform
  • KT-67034 Warning when a property hides a Java field from superclass
  • KT-71092 Native: Write out used dependencies
  • KT-71094 Kotlin/Native incremental compilation: fail compilation if cache build failed
  • KT-71569 Improve diagnostic precision for OPT_IN_ARGUMENT_IS_NOT_MARKER
Performance Improvements
  • KT-73434 Slow / infinite compile involving ConeInferenceContext
  • KT-73328 Do not spill this to a local variable in coroutines
  • KT-69995 K2: Slow compilation when star projecting mutually recursive bounds from java
  • KT-73687 Inefficient KtCommonFile#getFileAnnotationList
  • KT-45452 K/N optimization: inline simple functions that aren't marked with inline keyword
  • KT-64898 K2: toFirProperty call in PsiRawFirBuilder forces AST loading
  • KT-71673 Consider making EnhancementSymbolsCache. enhancedFunctions using simple cache
  • KT-71973 KtPsiUtil#getEnclosingElementForLocalDeclaration shouldn't iterate over directories
Fixes
  • KT-75965 The iOS app did not run successfully in Release mode
  • KT-57696 Deprecate JvmDefault annotation with level HIDDEN
  • KT-75578 K2: False negative [SUPER_CALL_WITH_DEFAULT_PARAMETERS] when calling the upper-class implementation of a method with the default value argument
  • KT-74764 Native: merge init nodes generated within the same LLVM module for the same klib
  • KT-75444 Contradictions in the constraint system are ignored in case of multiple constraints from forking points
  • KT-75649 K2: NPE on assigning platform type value to non-nullable lateinit var
  • KT-75483 Native: redundant unboxing generated with smart cast
  • KT-73028 K2. FileAnalysisException on private property in Context
  • KT-73937 Context parameters: IllegalArgumentException: source must not be null on lateinit var with a context
  • KT-74104 Native: SynchronizedLazyImpl produces NPE on 2.1.20-Beta1 on mingwX64
  • KT-71752 K2: Absent non-null check for platform types in assignments
  • KT-75526 Regression in K2 scripting: local name doesn't shadow one from the implicit receiver
  • KT-68131 K2: build Grazie monorepo main branch
  • KT-72618 Cannot define operator inc/dec in class context
  • KT-74739 Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION_REFERENCE"
  • KT-68768 K2: unsuccessful inference fork with jspecify annotations
  • KT-71943 K2: IAE "source must not be null" in FirJvmModuleAccessibilityQualifiedAccessChecker
  • KT-75111 False negative "This declaration needs opt-in" for usage of enum entry with OptIn marker in another module
  • KT-73831 Do not choose field target in annotation classes
  • KT-73494 Enable first-only-warn annotation defaulting mode
  • KT-74929 False positive TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER if it is used with T&Any
  • KT-74227 K2: "Cannot infer type for this parameter. Please specify it explicitly" caused by lambda in another lambda with a parameterized function type
  • KT-70789 CLI error "mixing legacy and modern plugin arguments is prohibited" on using -Xcompiler-plugin unless default scripting plugin is disabled
  • KT-73903 Design 'replaceWith' / 'test-only' kinds for the 'LanguageFeature' class
  • KT-74474 K2: Report more precise diagnostic when last expression of non-unit lambda is a statement
  • KT-74478 K2: False negative RETURN TYPE_MISMATCH if the last statement of a lambda is indexed assignment
  • KT-67480 K/N: a separate inlining phase after the lowerings
  • KT-72154 Dokka fails with not array: KClass<out Annotation> on Kotlin 2.1.20-dev with @SubclassOptInRequired
  • KT-72040 Extra checkers: false-positive unused parameter warnings on anonymous lambda parameters
  • KT-74203 K2: False negative NO_ELSE_IN_WHEN of a generic type with star projection <*> bounded by a sealed hierarchy
  • KT-63720 Coroutine debugger: do not optimise out local variables
  • KT-74024 K2: Prohibit declaring local type aliases
  • KT-73146 Context parameters CLI & diagnostics
  • KT-73251 Warn users about removal of context classes and constructors
  • KT-72222 Context parameters parsing & resolution part 1
  • KT-61175 K2: FirReceiverParameter does not extend FirDeclaration
  • KT-73858 Compose / iOS: NullPointerException on building
  • KT-73864 [Native] Decouple IrType.computePrimitiveBinaryTypeOrNull from backend.native
  • KT-73122 Move the upgrade references lowering to be first one in Native pipeline
  • KT-73608 K2: "Initializer type mismatch" with map and typealias to object
  • KT-73691 DCE removes static initializer function, which is actually called
  • KT-74147 K2: False negative INCONSISTENT_TYPE_PARAMETER_VALUES
  • KT-73454 K2: Fix type parameters mapping for typealiases with inner RHS
  • KT-73043 K2 Compiler does not allow references to inner constructors with typealiases
  • KT-74040 Compilation of inner class usage does not check the visibility of parent class during compilation in different rounds
  • KT-74195 Fully qualified names in error messages make them complicated
  • KT-74221 Make FirSupertypesChecker a platform checker
  • KT-72962 Consider enabling ConsiderForkPointsWhenCheckingContradictions LF earlier
  • KT-74242 Freeze on runCatching call in finally block inside SAM conversion
  • KT-29222 FIR: consider folding binary expression chains
  • KT-73760 Cannot implement two Java interfaces with @NotNull-annotated type argument and Kotlin's plain (nullable) type parameter
  • KT-58933 Applying suggested signature from WRONG_NULLABILITY_FOR_JAVA_OVERRIDE leads to red code
  • KT-74107 K2: Calling type alias constructor with inner RHS in static scope causes runtime crash
  • KT-74244 Context parameters: context isn't checked for expect/actual property declaration
  • KT-74276 Update ASM from 9.0 to 9.6.1
  • KT-72737 Avoid function references creation in lowerings after FunctionReferenceLowering
  • KT-72295 K2: Generated accessors for delegated property should have property source
  • KT-73150 Investigate/test approximation of context parameter type in completion
  • KT-73862 [Native] Decouple NativePreSerializationLoweringContext from backend.native
  • KT-70507 Should parentheses prevent from plus/set operator desugaring?
  • KT-72677 K2 IDE / Kotlin Debugger: “Couldn't find virtual file for p1/MainKt$foo$iface$1” on evaluating inline function from another module
  • KT-72672 K2 IDE / Kotlin Debugger: “Couldn't find virtual file” on evaluating inline function for enum class entries from test module
  • KT-73912 Cannot evaluate inline methods from another module in KMP project
  • KT-73765 K2: Prohibit nested type aliases with inner RHS when it captures type parameters implicitly
  • KT-73869 [Native] Move KonanSymbols out of backend.native
  • KT-73823 Kotlin/Native: IndexOutOfBounds for java.util.Map::getOrDefault
  • KT-73755 K2: type mismatch error contains unsubstituted type parameter types
  • KT-72837 ERROR_IN_CONTRACT_DESCRIPTION message contains compiler internals
  • KT-73771 K2: Infinite compilation caused by buildList without type
  • KT-67520 Change of behaviour of inline function with safe cast on value type
  • KT-67518 Value classes leak their carrier type implementation details via inlining
  • KT-71767 Generate default compatibility bridges in -Xjvm-default=all/all-compatibility mode
  • KT-73716 Context parameters expose visibility
  • KT-73671 Context parameters: val/var on context parameter on a property is possible
  • KT-73510 Context parameters: It is possible to declare a context for init block
  • KT-72305 K2: Report error when using synthetic properties in case of mapped collections
  • KT-72429 StackOverflowError when compiling large files
  • KT-72500 K2 Debugger: NSME on evaluating lambda with a call to internal class field
  • KT-73845 K2: IllegalArgumentException during FIR2IR transformation when processing nested default values in annotations
  • KT-73538 K2 IDE / Kotlin Debugger: ISE “couldn't find inline method" on evaluating internal inline function with default arg from main module in test module
  • KT-73347 K2: Expected is FirResolvedDeclarationStatus
  • KT-71226 K2 Evaluator: Code fragment compilation with unresolved classes does not fail with exception
  • KT-73902 Clean-up code around lateinit inline/value classes
  • KT-73693 K2: DslMarker checker doesn't report violation for callable reference with bound receiver
  • KT-73667 K2: DslMarker checker ignores function type annotations for invokeExtension
  • KT-72797 K2 IDE / Kotlin Debugger: AE “No such value argument slot in IrCallImpl” on evaluating inc()-operator for private field
  • KT-68388 Compiler crash on convesion to fun interface with extension receiver
  • KT-73801 False positive CONFLICTING_OVERLOADS between base suspend fun and derived property
  • KT-62833 K2: Run smoke FP tests with SLOW_ASSERTIONS enabled
  • KT-54068 Context receivers with lambda nesting result in Type mismatch
  • KT-51383 Lambdas with context receivers do not accept context receivers from scope
  • KT-73331 Context parameters implicit invoke
  • KT-73650 Implement DIFFERENT_NAMES_FOR_THE_SAME_PARAMETER_IN_SUPERTYPES for K2
  • KT-73745 Migrate modularized tests to the latest stable version
  • KT-70233 Implement a deprecation error for FIELD-targeted annotations on annotation properties
  • KT-72996 false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operator
  • KT-73791 Forbid using inline and value class modifiers together
  • KT-73704 [Native] Decouple KonanIrLinker from cinterop deserialization
  • KT-73641 Context parameters DSL marker support
  • KT-59880 K2: Disappeared CONFLICTING_OVERLOADS
  • KT-73339 K2: "VerifyError: Bad type on operand stack" because of missing implicit cast on generic field receiver with star projection
  • KT-72585 K2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace top-level type with star projection: S
  • KT-59443 K2: Implement missing K1 diagnostics
  • KT-67517 Value class upcast to Any leaks carrier type interfaces
  • KT-73527 Prohibit (via a deprecation warning) accessing nested class through generic outer class
  • KT-72852 JAVA_CLASS_ON_COMPANION compiler warning missing in K2
  • KT-71704 K2: subAtom already initialized
  • KT-73399 compile-time JVM codegen failure on a KProperty argument of a KSuspendFunction parameter
  • KT-72281 K/N: "Failed to wait for cache to be built"
  • KT-73049 Kotlin Debugger: CNFE on evaluating local function inside lambda
  • KT-72725 KMP: Unsupported actualization of inherited java field in expect class
  • KT-73476 K2: Visibility of nested type aliases is not respected if RHS is inner
  • KT-72957 K2: Don't use offsets for mapping annotations from IR plugins injected into metadata
  • KT-72814 FIR: don't use function references in FirThisReference
  • KT-73143 Context parameters resolution leftovers
  • KT-71649 K2: Put operator on mutableMap<T?, V>() causes crashes on null key
  • KT-72832 Erroneous implicit cast inserted by smartcast
  • KT-72930 K2 IDE / Kotlin Debugger: ISE “couldn't find inline method” on evaluating internal inline function from main module in test module
  • KT-73095 K2: "Failed to find functional supertype for ConeIntersectionType"
  • KT-70366 K2: "KotlinIllegalArgumentExceptionWithAttachments: Failed to find functional supertype for class "
  • KT-73260 Rename context receivers to context parameters in frontend
  • KT-73375 K2/JVM: -Xuse-type-table generates incorrect metadata for local delegated properties
  • KT-72470 Annotations on effect declarations are unresolved
  • KT-72409 False negative "Type parameter is forbidden for catch parameter"
  • KT-72723 K2: Replace unused FIR properties required by inheritence with computed properties
  • KT-72246 Exception from FirReceiverAccessBeforeSuperCallChecker on red code
  • KT-47289 No error on companion object inside inner class in enum constructor call
  • KT-46120 No error reported when Java interface method is implemented by delegation to Java class where corresponding method has different generic signature
  • KT-72746 K2: No IR overriddens generated for Nothing.toString
  • KT-70389 K2: StackOverflowError at org.jetbrains.kotlin.fir.resolve.calls.CreateFreshTypeVariableSubstitutorStage.shouldBeFlexible
  • KT-72537 [FIR Analysis] 'IllegalArgumentException: source must not be null' when typing '++++' (four pluses)
  • KT-73010 K2: Refactor DispatchReceiverMemberScopeTowerLevel.processMembers
  • KT-72924 Extension property declaration shouldn't be possible in when
  • KT-72826 UNUSED_LAMBDA_EXPRESSION compiler warning missing in K2
  • KT-25513 Report compilation error when in generated JVM bytecode there is a need for CHECKCAST to inaccessible interface
  • KT-73153 K2: Standalone diagnostics on type arguments are not reported
  • KT-71252 JVM: Set the proper visibility to backing fields of lateinit properties
  • KT-73213 K2: Initialize outer type parameter refs for inner (local) type aliases during FIR building
  • KT-73215 Set up isInner property for inner type aliases during FIR building
  • KT-73088 K2: Introduce NestedTypeAliases experimental feature
  • KT-73192 K2: FirJavaField has incorrect modality
  • KT-60310 K2: introduce FirErrorContractDescription to distinguish unresolved contract from error one
  • KT-73008 K2: Resolve nested type aliases in derived classes
  • KT-73009 K2: Treat nested type aliases as classes during supertypes resolution (they are not inner by default)
  • KT-59886 K2: Disappeared ERROR_IN_CONTRACT_DESCRIPTION
  • KT-72839 Rewrite processConstraintStorageFromExpression using resolution atoms
  • KT-73147 Context parameters FIR2IR support
  • KT-72789 Fix inconsistent IR produced by ScriptsToClassesLowering for script instance feature
  • KT-66711 K2: INITIALIZER_TYPE_MISMATCH is reported on the whole lambda instead of RETURN_TYPE_MISMATCH on each return expression
  • KT-73011 K2: Allow overloads resolution for callable references based on expected type variable with constraints
  • KT-73031 K2: Callable reference unresolved inside elvis with a complex function type
  • KT-66161 K2: False-positive REDUNDANT_VISIBILITY_MODIFIER for protected modifier in private class
  • KT-73065 CCE with context receivers
  • KT-72345 K2: Method 'get' without @Override annotation not called
  • KT-69981 K2: Refactor ResolutionMode.WithExpectedType.expectedType to be a ConeKotlinType
  • KT-68363 ABSTRACT_MEMBER_NOT_IMPLEMENTED diagnostic reported only for the first not implemented function
  • KT-72105 JVM: typeOf() result is sometimes incorrectly optimized to null in bytecode
  • KT-72813 FIR: fix containing declaration for annotations of a receiver parameter
  • KT-72552 AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped types
  • KT-71751 K2: Skipping code in last statement of lambda
  • KT-72863 K2: failed compilation for a context receiver with an annotated type
  • KT-68984 K2: Typealiased SAM constructors resolve to the expanded interface
  • KT-57471 K2: Wrong diagnostics for named lambda arguments
  • KT-69560 Tidy up test data that affected by PrioritizedEnumEntries or ProperUninitializedEnumEntryAccessAnalysis features
  • KT-72894 "Placeholder projection cannot be mapped." error from resolve when using placeholder in a typealias
  • KT-70886 FIR/AA: Reduce strong memory footprint of cached symbol names providers
  • KT-72238 Argument type mismatch in builder inside extension function after ?:
  • KT-72738 Simplify naming scheme for function references
  • KT-72340 K1/K2 difference in de-duplication of OPT_IN_USAGE and OPT_IN_TO_INHERITANCE
  • KT-61272 Frontend: error message "feature ... is experimental and should be enabled explicitly" does not explain how to do it
  • KT-72664 K2: Function type kind is not propagated for parameters of incomplete calls
  • KT-64247 K2: FirContextReceiver does not extend FirDeclaration
  • KT-67383 Incorrect optimisation when optimising for loop with UByte
  • KT-70975 K2: Confusing INVISIBLE_REFERENCE message when accessing nested class in private-in-file class
  • KT-72743 CCE in FirUninitializedEnumChecker: FirPropertySymbol cannot be cast to FirEnumEntrySymbol
  • KT-71708 False negative UNSUPPORTED for collection literals as trailing return value
  • KT-67707 K2: CCE "ArrayMapImpl cannot be cast to class OneElementArrayMap" from FIR evaluator
  • KT-71966 Seemingly bug in SupertypeComputationSession#breakLoopFor
  • KT-17455 Confusing error message "There's a cycle in the inheritance hierarchy for this type" when outer class inherits nested class
  • KT-71119 K2: "AssertionError: Should be primitive or nullable primitive type" caused by comparing Double/Float and Any successor type
  • KT-57527 K1/K2: "IllegalArgumentException: Some properties have the same names" with inline class
  • KT-57851 Wrong ValueClassRepresentation inside value class
  • KT-67998 K2: CANNOT_INFER_PARAMETER_TYPE on incomplete call inside if in a Java SAM
  • KT-71961 K2 debugger evaluation ClassCastException in IrElementsCreationUtilsKt#createFilesWithBuiltinsSyntheticDeclarationsIfNeeded
  • KT-72504 Optimize KotlinLocalVirtualFile.isDirectory for parent virtual files
  • KT-71399 Kotlin Script: NPE on type resolve
  • KT-69283 Incorrect synthetic line numbers when inlining suspend funs
  • KT-52929 Java cannot extend instantiations of generic Kotlin collections in the presence of instantiated Kotlin subclasses
  • KT-71885 K2: confusing message when lateinit var is assigned once
  • KT-69920 K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilation
  • KT-55894 NI: Compile errors for out-projected types are more cryptic than previously
  • KT-72231 K2: NONE_APPLICABLE instead of NAMED_ARGUMENTS_NOT_ALLOWED for non-Kotlin functions with overloads
  • KT-72422 KMP: False-positive report of ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT on SublcassOptInRequired
  • KT-72257 'javaClass' method cannot be evaluated in Kotlin project itself
  • KT-72408 Introduce new TYPE_VARIANCE_CONFLICT diagnostics
  • KT-71508 JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported when java class is inherited from an effectively private class
  • KT-72177 K2: Argument type mismatch when using star projection
  • KT-72245 K2: When Java source roots are passed by file, fully qualified deep packages are unresolved
  • KT-63923 Confusing error messages for TYPE_MISMATCH from inference
  • KT-57708 Unclear TYPE_MISMATCH messages in certain situations with generics
  • KT-72178 K2: "Unexpected FirPlaceholderProjectionImpl" exception when using "_" as key type in EnumMap
  • KT-62455 "NullPointerException" with 'multi-field value class'
  • KT-72302 K2: no error on type operator in annotation parameter default value
  • KT-72212 [Scripting] Guava dependency is not packaged correctly
  • KT-71662 PCLA: a type variable is not fixed on demand to a type containing a not-fixed type variable
  • KT-72229 K2: Change LV of ProhibitConstructorAndSupertypeOnTypealiasWithTypeProjection to 2.2
  • KT-70256 K2: Check for MISSING_BUILT_IN_DECLARATION not only for JVM but for all platforms
  • KT-72173 K2: simple object names from root package are resolved without imports in non-root packages when used as values
  • KT-71480 JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported while java object isn't created
  • KT-60034 K2: Introduced NO_GET_METHOD
  • KT-72199 K1: Match the shape of references to synthetic Java properties to the shape of their getters
  • KT-15672 Improve diagnostics for accessing Enum companion object from enum constructor
  • KT-71321 K2: ClassCastException caused by missed type mismatch when passing a method reference
  • KT-72041 Extra checkers: false-positive unused parameter warnings on implicit lambda parameters
  • KT-71959 NO_VALUE_FOR_PARAMETER should use actual lambda parameter name
  • KT-69985 K2: simple classifier names from root package are resolved without imports in non-root packages
  • KT-70139 Remove dependencies of debugger on K1 and old JVM backend
  • KT-72142 PSI: unrelated enums are treated as equivalent
  • KT-57358 False positive "Const 'val' initializer should be a constant value" caused by equality with literals
  • KT-71753 PCLA: false-negative operator ambiguity error on fixing a type variable on demand for an operator assignment
  • KT-70844 K2 IDE: deprecated marker shouldn't highlight not deprecated type argument
  • KT-70854 K2 IDE: annotation on delegation causes illegal argument exception
  • KT-56901 NI: Missing error on passing star-projection to reified type argument
  • KT-70856 K2: IllegalStateException: Non-empty unresolved argument list
  • KT-71897 K2: Don't erase in projections in SAM conversion if -Xsam-conversion=class like in K1
  • KT-66464 Introduce isInlineable parameter for FunctionTypeKind
  • KT-71590 K2: false alarm from UselessCallOnNotNullChecker
  • KT-71919 Wrapped ProcessCanceledException in GenerationState#loadClassBuilderInterceptors
  • KT-70922 PSI for KtPropertyAccessor is inconsistent with KtNamedFunction
  • KT-28598 Type is inferred incorrectly to Any on a deep generic type with out projection
  • KT-71490 K2: missing REDUNDANT_ELSE_IN_WHEN
  • KT-36107 Remove deprecated mod operator convention
  • KT-71166 Generic synthetic property is unresolved when parameterized with Unit
  • KT-71738 K2: False negative REDECLARATION inside object expression
  • KT-59908 K2: Disappeared RECURSIVE_TYPEALIAS_EXPANSION
  • KT-69937 Define & enforce user-friendly terminology for extended checkers
  • KT-68834 Parentheses don't influence calls of any convention operators (except invoke operator) after safe navigation operator
  • KT-58437 K2: Do not use descriptors in KonanSymbols
  • KT-18563 Do not generate inline reified functions as private in bytecode
Compose compiler
  • b/397855145 Fix "Unknown file" error in target annotation inference
  • b/377499888 Allow restarting overridden functions in a final class
  • b/390151896 Fix default arguments with varargs in @Composable functions
  • b/388030459 Kotlin compiler backend exception when lambda with anonymous object is memoized
  • b/310004740 Check vararg parameter length in skipping logic
  • b/393400768 Use -1 for .changed call if nullable enum parameter is null
  • b/388505454 Change order of $changed bits with context parameters
  • b/165812010 Support default values in open @Composable functions (K2 only)
  • b/285336821 Use stability of parent class in stability inference
  • b/353744956 Fix context receiver/parameter handling in Compose
  • b/195200551 Call Enum#ordinal on enum values passed to Composer#changed
  • b/378697545 Avoid using ComposableSingletons inside public inline functions
  • b/376148043 Use remember function source key for intrinsic remember
  • b/345204571 Remove IR offsets for conditions generated by Compose compiler
  • b/376058538 Fix stack overflow when inferring stability of indirect generic loop
  • b/339322843 Transform @Composable property delegate references
  • CMP-7571 1.8.0-alpha03 incompatible with Compose based on k1
IDE
  • KT-59445 Recursion detected on input: JavaAnnotationImpl
IR. Actualizer
  • KT-68830 Compiler crash on missing actual class
  • KT-71809 Kotlin-to-Java direct actualization: the property isn't actualized by overridden getter
  • KT-71817 Actualization of static members is broken for non-JVM platforms
IR. Inlining
Fixes
  • KT-69681 IR: Report warnings on exposure of private types in non-private inline functions
  • KT-72776 [JS] Add lowerings around inlining of private functions to the common prefix at the 1st phase of compilation
  • KT-72775 [JS] Add lowerings up to "cache private inline functions" to the common prefix at the 1st phase of compilation
  • KT-72440 [Native] Add lowerings around inlining of private functions to the common prefix at the 1st phase of compilation
  • KT-72439 [Native] Add lowerings up to "cache private inline functions" to the common prefix at the 1st phase of compilation
  • KT-74039 IR proto: Rename properties of IrInlinedFunctionBlock
  • KT-73987 Cherry-pick the fix for KT-73482 to 2.1.20-Beta1
  • KT-73475 Fix validation errors for sharedBox... methods
  • KT-73588 Support serialization/deserialization of IrReturnableBlock and IrInlinedFunctionBlock
  • KT-69009 Merge -Xverify-ir-visibility-after-inlining and -Xverify-ir-visibility CLI flags
  • KT-72915 Use LoweringContext instead of CommonBackendContext for the first stage of compilation
  • KT-73101 Try to unbound JsIntrinsic from JsIrBackendContext
  • KT-73110 Unbind JS version of Symbols from SymbolTable
  • KT-73108 Unbind JS version of Symbols from context
  • KT-71864 [JS] Run IrValidator as the first lowering in 1st compilation phase
  • KT-73103 Switch InlineCallableReferenceToLambdaPhase to use LoweringContext
  • KT-73098 Use LoweringContext for NativeInlineFunctionResolver
  • KT-73096 Change LateinitLowering to use LoweringContext instead of CommonBackendContext
  • KT-71141 Merge lateinit-related lowerings
  • KT-73099 Use BackendContext for the JsCodeOutliningLowering
  • KT-73097 Try to use BackendContext for LocalDeclarationsLowering
  • KT-73035 Remove field of type SymbolTable from Symbols
  • KT-72919 Move JsCommonBackendContext.coroutineSymbols into Symbols
  • KT-72916 Drop symbolTable reference from BuiltinSymbolsBase
  • KT-72912 Rewrite andAllOuterClasses located in FunctionInlining
  • KT-72910 Move isSideEffectFree to the Symbols
  • KT-72907 Extract SharedVariablesManager from BackendContext
  • KT-72905 Unbind KonanSharedVariablesManager from KonanBackendContext
  • KT-70961 [K/N] Test IR inliner on 1st stage with box tests
  • KT-72884 Internal error in body lowering: IllegalStateException: Can't inline given reference, it should've been lowered
  • KT-72920 Drop context parameter from JsCommonCoroutineSymbols
  • KT-72906 Unbind JsSharedVariablesManager from JsIrBackendContext
  • KT-67298 Write tests for deserialization/serialization of unbound IR
  • KT-72521 Kotlin/Native: java.lang.AssertionError: kfun:androidx.compose.runtime#access$<get-androidx_compose_runtime_ProvidedValue$stable>$p$tComposerKt(){}kotlin.Int
  • KT-67220 Drop caching of deserialized/lowered inline functions
  • KT-72623 Don't generate synthetic accessors in files other than the one being lowered
  • KT-71859 [K/N] Run IrValidator as the first lowering in 1st compilation phase
  • KT-67292 Handling assertions before the IR inliner
  • KT-70423 KLIB: SyntheticAccessorLowering - generate static factory functions instead of synthetic constructors
  • KT-69765 Add language feature to enable IR inliner in K2 1st phase
IR. Interpreter
  • KT-72356 K2 Native: IllegalStateException when annotation has the same source range as a constant in another file
  • KT-71903 [K/N] Find a way to set up a synchronization point for the IR interpreter
  • KT-66450 IR interpreter can't handle entries of lowered enums
  • KT-71971 K2 evaluator error on casting object of value type
IR. Tree
Performance Improvements
  • KT-74496 8% performance regression in lowerings
  • KT-72211 Refactor IrValidator to speed up
Fixes
  • KT-73553 [Native] Create testrunners for serialization tests
  • KT-73224 Migrate compiler.ir.interpreter to new IR parameter API
  • KT-73179 Drop IrAttributeContainer
  • KT-67545 Autogenerate DeepCopyIrTreeWithSymbols
  • KT-73222 Migrate compiler.ir.inline to new IR parameter API
  • KT-72735 Add new IR nodes for callable references
  • KT-73248 Merge FileValidator and CheckIrElementVisitor into IrValidator
  • KT-73221 Migrate compiler.ir.actualization to new IR parameter API
  • KT-73219 Migrate compiler.tests-compiler-utils to new IR parameter API
  • KT-73194 [IR] Consider moving platform-independent funs from SymbolLookupUtils to SymbolFinder
  • KT-73218 Migrate compiler.tests-common-new to new IR parameter API
  • KT-73227 Migrate js:js.tests to new IR parameter API
  • KT-73258 [IR] Separate new lookup functionality from IrBuiltins
  • KT-73063 [JS][Wasm] Simplify ExpectDeclarationsRemoveLowering
  • KT-73350 Migrate :native.tests:klib-ir-inliner to new IR parameter API
  • KT-68992 Fix IR serializer to handle IR with unbound symbols
  • KT-64866 Support deserializing and serializing unbound IR
  • KT-72619 [IR] Steer checks for vararg types with new test directive
  • KT-69498 [IR] Merge two IrTypeUtils.kt sources
  • KT-72376 Disable vararg types checking in org.jetbrains.kotlin.fir.pipeline.ConvertToIrKt#runMandatoryIrValidation
  • KT-69454 [IR] Check vararg types in IrValidator
  • KT-68314 Remove IrBuiltins from IrModule
  • KT-71944 Move IR lowering phase descriptions to kdoc
  • KT-71826 stdlib fails to compile with -Xserialize-ir=all
JavaScript
Performance Improvements
  • KT-16379 KotlinJs - ArrayList get is now slow
  • KT-71199 K/JS: charSequenceGet intrinsic should bypass Char range checks
  • KT-73759 KJS: do not fillArrayVal if using an Array init function
  • KT-72180 Fix problems with memory spikes during JS Codegen/Box tests
Fixes
  • KT-70987 KJS: @JsExport: NullPointerException with private data class
  • KT-75606 KJS: java.lang.AssertionError: Different declarations with the same signatures were detected
  • KT-58797 Optimize the code generated for objects on JS and Wasm backends
  • KT-48468 KJS / IR: "StackOverflowError" when long and complex js used
  • KT-72437 KJS. Invalid copy method for inherited JSO with type parameters
  • KT-72974 KJS / ESModules: EagerInitialization annotation has no effect on unused properties
  • KT-71788 KJS: NPE when use @JsExport with @JsPlainObject
  • KT-43567 KJS: toString() method and string interpolation of variable produce different code
  • KT-70778 Kotlin Js companion is undefined in production build
  • KT-73130 KJS: Missed break for do/while in generated JS code
  • KT-68067 KJS: Overriding methods with default parameters doesn't work
  • KT-71656 K2 JS: "IllegalStateException: Class has no primary constructor: kotlin.ULong"
  • KT-72598 KJS: Nested @JsPlainObject does not work
  • KT-70078 @JsPlainObject compiles broken code when inlining suspend function
  • KT-68904 @JsPlainObject breaks when inside a file with @file:JsQualifier
  • KT-74067 KJS: ES class constructor is generated with 'return this'
  • KT-72883 [JS] AbstractSuspendFunctionsLowering crashes on private top level suspend fun
  • KT-70533 KJS: changed string concatenation behavior in 2.0
  • KT-71949 K/JS: investigate test failures in MPP codegen tests with friend dependencies
  • KT-71857 [JS] Add new step to codegen tests for IR inliner invocation
  • KT-14013 JS toString produces different result for nullable/non-nullable ref to the same array
  • KT-70803 Investigate generating call with invalid argument count in Js Backend
  • KT-72200 Remove legacy JS test executors
  • KT-68332 Remove legacy Nashorn script engine
  • KT-39337 KJS: remove LabeledBlockToDoWhileTransformation and related things
  • KT-72732 KJS / ES6: "SyntaxError: 'super' keyword unexpected here" with enabled -Xir-generate-inline-anonymous-functions and disabled arrow functions
  • KT-71821 K/JS tests are failing with coroutines flow and turbine on timeout
  • KT-70227 Remove JS from the org.jetbrains.kotlin.test.TargetBackend enum
  • KT-71855 ES6ConstructorLowering sets extensionReceiver to a function without extension receiver
  • KT-70226 Delete JS tests that were only run with the legacy JS backend
KMM Plugin
  • KT-66458 KMM Wizards: Get rid of deprecated 'kotlinOptions'
Klibs
Fixes
  • KT-70146 [KLIB Resolve] Don't fail on nonexistent transitive dependency
  • KT-75393 Non-JVM artifacts from Kotlin 2.1.20-RC fail on 2.1.x releases due to IMPLICIT_ARGUMENT
  • KT-74045 Context parameters: conflicting signatures for properties with/without context on the non-JVM backends
  • KT-74050 Kotlin 2.1.0 with K1 throws a signature mismatch of Ir and Descriptor for Composable lambda
  • KT-73589 Design & implement signatures for context parameters
  • KT-73721 NativeLibraryAbiReaderWithManifestTest - move to Common BE tests
  • KT-73855 [Klibs] Changing function body causes change to header klib
  • KT-73474 Create NonLinkingIrInlineFunctionDeserializer directly inside inline function resolver
  • KT-72627 IrInstanceInitializer is always deserialized having kotlin/Unit type
  • KT-71500 Improve "incompatible ABI version" error message
  • KT-72965 Ignore subclassOptInRequired constructor warning
  • KT-69309 Separate pure KLIB tests from Kotlin/Native tests
  • KT-71917 [JS] Make it possible to run IR lowerings before serializing to KLIBs
  • KT-67474 K2: Missing @ExtensionFunctionType in metadata in KLIBs
  • KT-68756 [K/N] Make it possible to run IR lowerings before serializing to KLIBs
  • KT-72333 Ensure KLIBs with old local signatures (< 2.1.20) are mutually compatible with KLIBs with new local signatures (>= 2.1.20)
  • KT-71633 [2.1.0] Suspicious "Argument type mismatch" error
  • KT-71333 KLIB cross-compilation: Add additional tests
Libraries
New Features
  • KT-72480 Move Instant and Clock from kotlinx-datetime to stdlib
  • KT-31880 UUID functionality to fix Java bugs as well as extend it
  • KT-54606 Print program name in Kotlin/Native executables
Performance Improvements
  • KT-72492 Improve String.toFloatOrNull performance
  • KT-70695 Float/Double.isFinite can be optimized
Fixes
  • KT-73654 Remove org.w3c packages from stdlib documentation
  • KT-62423 Consider providing Common atomic types
  • KT-28492 Merge sources when building kotlin-osgi-bundle
  • KT-74173 The sample code of lazy on stdlib can not run on playground due to "samples" package import
  • KT-73695 PublishedApi KDoc's link to inline functions page is not rendered properly
  • KT-73817 Part 1. Moving Atomics to kotlin.concurrent.atomics: bootstrap updates
  • KT-73743 UninitializedPropertyAccessException on AtomicReference initialization
  • KT-73820 Part 2. Moving Atomics to kotlin.concurrent.atomics: move the API to the new package
  • KT-73816 Moving common Atomics to kotlin.concurrent.atomics package
  • KT-73747 AtomicBoolean.asJavaAtomic() and AtomicBoolean.asKotlinAtomic() have unnecessary type parameter
  • KT-74641 k.t.Clock: bypass thread state validation for std::chrono::system_clock::now()
  • KT-74676 Wasm: common atomic API actualizations are annotated with wrong experimental annotation
  • KT-74600 Common atomic types could be used without explicit opt-in
  • KT-73291 Uuid.random() requires security context in WasmJs
  • KT-69575 kotlin.uuid.Uuid is not Comparable
  • KT-54859 kotlin.repeat should document behavior in the case of negative arguments
  • KT-74294 Make the Uuid.parse function able to parse multiple formats
  • KT-74279 Introduce Uuid.parseHexDash() and toHexDashString()
  • KT-74272 Introduce Uuid.fromUByteArray and toUByteArray
  • KT-74314 Reduce bitwise operations on Longs in Uuid implementation
  • KT-73391 Provide samples for common atomics API
  • KT-73890 Add kotlin-metadata-jvm to .zip compiler distribution
  • KT-71099 Mention that selector for maxBy/minBy family is not invoked for 1-element collections
  • KT-71762 ReplaceWith properties kdoc is rendered with extra spaces
  • KT-73740 Unresolved reference 'AtomicBoolean' in 2.1.20-Beta1
  • KT-73762 Warn about @Transient being not sound to use with non-nullable types
  • KT-50395 Stdlib documentation for StringBuilder.removeRange is unclear
  • KT-36863 Specify which element is returned from max/min functions if multiple elements are equal to min/max
  • KT-71606 Provide Atomic and AtomicArray builtins in a bootstrap compiler
  • KT-73064 Samplification of the Optional extensions documentation
  • KT-69545 Kotlin/Native: Deprecate API marked with FreezingIsDeprecated to error
  • KT-61184 Drop redundant @Suppress from some classes in stdlib. After stdlib migration to K2
  • KT-72380 Incorrect Duration parsing with extra leading zeros in components and multiple signs
  • KT-72278 Clean up redundant stdlib code for Kotlin 2.1
  • KT-49026 Add Regex.replace/replaceFirst samples
Native
  • KT-75807 CMP caching fails for iOS with Kotlin 2.1.20-RC2
  • KT-70202 Xcode 16 Linker fails with SIGBUS
  • KT-74377 Kotlin Native: release executable crashes with error 139
  • KT-73559 K/Native: AndroidNativeArm64 linking fails starting from Kotlin 2.1.0
  • KT-71976 [Native][KLIB Resolve]: compilation error if libraries have the same unique_name and the strategy is allow-all-with-warning or allow-first-with-warning
Native. Build Infrastructure
  • KT-72063 Jars using native in their name are incompatible with JPMS
  • KT-70990 Kotlin/Native: fix stdlib building task
  • KT-71820 Update the coroutines version used in kotlin-native build infrastructure
  • KT-71261 Kotlin/Native: enable gradle caching for runtime building tasks
Native. C and ObjC Import
  • KT-74043 Drop obsolete parts of Skia (aka ad-hoc C++) import
Native. ObjC Export
  • KT-72673 Native: objc2kotlin "virtual" bridges have no debug info
Native. Swift Export
  • KT-73623 Swift Export: Interfaces: Add protocol printing
  • KT-72703 Translate valueOf into static func
  • KT-72102 Create test infra for swift export in IDE
  • KT-72096 Create module for swift-export-in-ide
  • KT-71898 Swift Export: support List in overrides
Test Infrastructure
  • KT-67281 [Tests] Introduce an obligatory diagnostics test directive to choose a test runner
  • KT-62472 Remove suppressions of warnings which are presented only in K2 but not in K1 compiler in Kotlin project
  • KT-72094 K2: switch DEBUG_INFO_EXPRESSION_TYPE to regular FIR infrastructure for type rendering
Tools. CLI
  • KT-73319 Migrate the main JVM CLI pipeline to the phased structure
  • KT-74099 Add CLI argument to enable nested type aliases feature
  • KT-69384 Add a way to force colored compiler diagnostic output
  • KT-73320 Migrate the main JS CLI pipeline to the phased structure
  • KT-73922 CompileEnvironmentUtil.writeToJar is unbuffered
  • KT-73967 JDK 25: "IllegalArgumentException: 25-ea" with EA builds
  • KT-72927 Combine FlexiblePhaseConfig and PhaseConfig
  • KT-73244 :compiler:cli-base depends on :compiler:ir.serialization.jvm to read a single property
  • KT-70179 K2: Building a file with kotlin-test-junit without junit does not include annotations
  • KT-41756 Sanitize stack trace in 'kotlin' runner CLI script
Tools. Commonizer
  • KT-74623 Drop metadata version check from KLIB commonizer
Tools. Compiler Plugin API
  • KT-71212 Allow compiler plugins to write custom data to declarations metadata
Tools. Compiler Plugins
New Features
  • KT-53563 Kotlin Lombok: Support @SuperBuilder
  • KT-71547 Lombok Compiler Plugin Does Not Support @Builder on Constructors
Fixes
  • KT-73897 PowerAssert: Implicit argument detection is brittle in a number of cases
  • KT-74315 Kotlin Lombok: "Unresolved reference" on generating @Builder for static inner class where outer class is also using @Builder
  • KT-74102 "Lambda cannot be cast to class kotlin.jvm.functions.Function0" in 2.1.20-Beta1 with Compose
  • KT-75159 Compose: Missing 'FunctionKeyMeta' annotation on lamdas declared in non-composable function
  • KT-58695 Lombok Builders's subclassing leads to 'Unresolved reference'
  • KT-73871 PowerAssert: Comparison via operator overload results in confusing diagram
  • KT-73898 PowerAssert: Operator calls with multiple receivers incorrectly aligned
  • KT-73870 PowerAssert: Object should not be displayed
  • KT-73895 jvm-abi-gen: $serializer class name is written incorrectly to InnerClasses attribute
  • KT-73349 Migrate power-assert sources to new IR parameter API
  • KT-73366 Migrate parcelize sources to new IR parameter API
  • KT-72824 Kotlin power-assert plugin StringIndexOutOfBoundsException
Tools. Compiler plugins. Serialization
  • KT-71072 KxSerialization: KeepGeneratedSerializer and sealed class in Map causes initialization-error
  • KT-73830 [Kotlin/Wasm] CompileError: WebAssembly.Module(): Compiling function #​10198:"kotlinx.serialization.$serializer.serialize" failed
Tools. Daemon
  • KT-73311 "Unable to release compile session, maybe daemon is already down" flakiness
  • KT-70556 Add support for SourcesChanges.ToBeCalculated
  • KT-72530 The daemon has terminated unexpectedly on startup attempt #​1 with error code: Unknown
  • KT-72373 Fix naming for the new daemon symbols added after KT-69929
Tools. Fleet. ObjC Export
  • KT-73237 ObjCExport: immutable property translated as mutable
Tools. Gradle
New Features
  • KT-41409 Gradle: Support binaries.executable for jvm targets
  • KT-58830 Expose AdhocComponentWithVariants API on KGP generated component
  • KT-72320 Gradle Plugin Diagnostics Reporter: add emojis to increase visibility
Performance Improvements
  • KT-69613 Remove usages of getCanonicalPath and getCanonicalFile in plugins code
  • KT-68136 Gradle: improve classloaders cache eviction
Fixes
  • KT-73842 Gradle: AGP failing tests with "Failed to calculate the value of property 'generalConfigurationMetrics'" using KGP
  • KT-74394 KGP + isolated projects: "Something has been appended to this collector already"
  • KT-75262 Gradle test-fixtures plugin apply order breaks the project
  • KT-75277 FUS statistics: 'java.lang.IllegalStateException: The value for this property cannot be changed any further' exception is thrown during project import
  • KT-75026 Corrupted NonSynchronizedMetricsContainer in parallel Gradle build
  • KT-74997 Unexpected KGP warnings about kotlin scripting plugin
  • KT-74322 Enable source information by default in Compose compiler gradle plugin
  • KT-72337 kotlin-android-extensions plugin should fail the build on apply
  • KT-72967 Remove deprecated KotlinPlatformJsPlugin
  • KT-74846 Gradle Configuration Cache miss on second build with 2.1.20-Beta2
  • KT-74462 Flaky Kotlin Gradle Plugin Tests: IsInIdeaEnvironmentValueSource$Inject not found
  • KT-74415 Make composeCompiler.includeSourceInformation true by default
  • KT-73782 KGP diagnostics reporter: emojis added to KGP warning/errors are displayed broken on Windows
  • KT-74095 Make ToolingDiagnosticBuilder internal API
  • KT-74124 Gradle: error message regression of incompatible Gradle version usage
  • KT-74639 Executable binaries for JVM test cannot be created unless an additional suffix is set in Groovy
  • KT-73728 'generatePomFileForMavenPublication' creates pom with dependencies with 'unspecified' version
  • KT-73974 Configuration cache when run Xcode tasks without xcode's environment
  • KT-74476 KGP uses internal Gradle API, DefaultArtifactPublicationSet
  • KT-62273 Use new FUS plugin in Kotlin
  • KT-72963 Remove deprecated KotlinPlatformAndroidPlugin
  • KT-74017 Remove kotlin.androidExtensionsPlugin.enabled flag
  • KT-73749 KGP diagnostics reporter: emojis are duplicated if a gradle task is executed from the IDEA UI
  • KT-72467 kotlin.sourceSets extension not added for KotlinBaseApiPlugin.createKotlinAndroidExtension()
  • KT-74143 Gradle: Add workaround for gradle/gradle#31881
  • KT-72384 Run Gradle Integration tests against Gradle 8.11
  • KT-70150 Android Kotlin Compile Task has ClassPath Backwards
  • KT-72495 Warn about kotlin-compiler-embeddable loaded along KGP
  • KT-71549 K2: NoSuchMethodError: org.jetbrains.kotlin.incremental.storage.ExternalizersKt.saveToFile with dependency locking
  • KT-67277 Gradle: decommission properties to disable precise task outputs backup
  • KT-73795 Fix failing checkNodeJsSetup test on Windows
  • KT-72383 Compatibility with Gradle 8.11 release
  • KT-72394 ProjectDependency.getDependencyProject() is deprecated in Gradle 8.11
  • KT-72385 Compile against Gradle API 8.11
  • KT-71711 KGP: Kotlin Stdlib is leaking when KGP is applied in buildSrc
  • KT-73128 Apply Kotlinlang template for partial HTMLs
  • KT-58858 Add KDoc documentation for Kotlin Gradle plugin API
  • KT-73076 Kotlin Gradle Plugin API Reference: adjust settings
  • KT-72651 Unable to use target for KotlinBaseApiPlugin.createKotlin(Jvm/Android)Extension()
  • KT-72303 KGP 2.1.0-Beta2 broke compatibility with KSP
  • KT-71405 Compose compiler gradle plugin: project.layout.file can't be used as a value of the 'stabilityConfigurationFiles' option
  • KT-71948 KotlinJvmFactory : get rid of replaces with TODO()
  • KT-72092 Gradle: use packed klib variant as the default when no packaging attribute is present
Tools. Gradle. JS
  • KT-75485 KJS: "Module not found: Error: Can't resolve 'style-loader' and 'css-loader'" in 2.1.20-RC
  • KT-74869 KJS: jsBrowserProductionWebpack does not minify output with 2.1.20-Beta2
  • KT-74859 Gradle configuration cache issues related to RootPackageJsonTask
  • KT-72175 JS, Wasm: Deprecate non-Provider API in JS infrastructure extensions
  • KT-66388 KJS / Gradle: Allow using an insecure protocol to download Node.js/Yarn when setting up project using Gradle >= 7
  • KT-73614 org.jetbrains.kotlin.gradle.targets.jsAbstractSetupTask.destinationProvider should be public
  • KT-72027 JS target build fails on ARM64 Windows
  • KT-71362 KGP/JS: moduleName is not compatible with convention plugins
  • KT-72874 KJS: NodeJsRootExtension: "'download: Boolean' is deprecated. Use download from NodeJsExtension (not NodeJsRootExtension) instead You can find this extension after applying NodeJsPlugin. This will be removed in 2.2"
  • KT-72872 Js, Wasm: downloadBaseUrl in NodeJsEnvSpec could not be disabled
Tools. Gradle. Multiplatform
Performance Improvements
  • KT-71888 Default Target Hierarchy results in very large heap usage/OoM when resolving IDE dependencies in larger projects
Fixes
  • KT-66542 Gradle: JVM target with withJava() produces a deprecation warning
  • KT-71074 Optimize Granular Metadata Dependencies Transformation for Import after adding support for Project Isolation
  • KT-74669 Executable binaries for JVM: a jar generated by jvmJar task isn't added to the build/install/testAppName/lib directory
  • KT-37964 Gradle application/distribution plugin does not copy and name jar files correctly when using installDist task for multiplatform project
  • KT-30878 It's impossible to have .java sources in a Multiplatform Gradle Project with Android, because android() and jvm { withJava() } targets can not be applied to one and the same Gradle Project
  • KT-66962 Kapt with Kotlin Multiplatform: Cannot query the value of this provider because it has no value available
  • KT-74898 The wording for the warning about incompatible 'application' plugin should be updated to suggest using the new binaries DSL
  • KT-72488 Unify freeCompilerArgs property in swiftExport and compilerArgs
  • KT-74727 Dependency resolve from a single target KMP module to another kmp module fails on non-found PSM
  • KT-75062 Remove usage of deprecated ProjectDependency.getDependencyProject
  • KT-71130 Enable Isolated Projects support by default for KMP
  • KT-74832 Relax JVM target validation diagnostic in KMP/Jvm projects
  • KT-57280 Expose Kotlin Project Structure metadata via consumable configurations instead of accessing all gradle projects directly
  • KT-72130 Gradle Project Isolation Violation in build.gradle due to KGP
  • KT-74298 Incorrect DSL for swift export settings under the export node
  • KT-73620 KMP 2.1.0: Transitive dependency is broken when setting publication groupId
  • KT-72112 KotlinNativeLink task fetches configuration that might not exist
  • KT-49155 MPP, Gradle: Cannot use test-retry-gradle-plugin with Kotlin multiplatform tests
  • KT-61816 Remove Legacy Multiplatform Gradle Plugin
  • KT-72068 Distribution for klib cross-compilation is not downloaded during compile tasks
  • KT-64998 Granular Metadata Dependencies Transformation is not compatible with Project Isolation
  • KT-72454 Revert changes made in KT-69899 i.e. make kotlin.android.buildTypeAttribute.keep = false by default again
  • KT-70380 KMM App failed to consume android binary lib
  • KT-71529 Deprecate targetFromPreset API with an error
Tools. Gradle. Native
  • KT-71398 kotlinNativeBundleConfiguration should not contain dependencies on unsupported platforms
  • KT-74403 :commonizeNativeDistribution fails when configured native targets cannot be built on machine
  • KT-62826 Show a warning when KGP and K/N versions mismatch
  • KT-73572 [Gradle] kotlin.native.cacheKind=none doesn't work anymore
  • KT-71722 kotlinNativeBundleConfiguration present in JVM-only Gradle project
  • KT-72686 Add warning about Kotlin native home conflict declaration
  • KT-71419 Light bundle KGP IT run against a stable K/N version
  • KT-70558 False positive up-to-date status for CInterop tasks after changes in .h files
Tools. Gradle. Xcode
  • KT-71535 embedSwiftExportForXcode doesn't report configuration error about missed dependency
  • KT-72485 Swift Export DSL exposes unused options in binaries section
  • KT-66894 XCFramework task fails when name passed to xcframework DSL is different from framework's name
  • KT-65675 XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworks
Tools. Incremental Compile
  • KT-69333 Remove built-in ABI snapshot implementation
  • KT-55940 Kotlin 1.8.0 compiler hangs indefinitely
  • KT-29860 Incremental compilation looping or incorrect results
Tools. JPS
  • KT-73688 Make it possible to build and run JPS locally
  • KT-73607 JPS incremental compilation is broken after KT-71549
  • KT-68565 K2: IllegalStateException: Source classes should be created separately before referencing
Tools. Kapt
  • KT-75202 K2 kapt: mapped type class literal is converted incorrectly
  • KT-64385 K2: Enable K2 KAPT by default
  • KT-71154 Kapt tests: EXPECTED_ERROR directive is checked incorrectly
  • KT-71776 K2 Kapt in 2.1.0-Beta1 fails with e: java.lang.IllegalStateException: FIR symbol "class org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol" is not supported in constant evaluation
Tools. Maven
  • KT-69231 PowerAssert: Create maven plugin for power-assert
Tools. Scripts
  • KT-72277 Legacy REPL implementation is still based on the old backend
Tools. Wasm
  • KT-72157 Turn on custom formatters feature by default in development builds
  • KT-71361 [Wasm] Make all production-mode binaries optimised with binaryen

v2.1.10: Kotlin 2.1.10

Changelog
Compiler
  • KT-73858 Compose / iOS: NullPointerException on building
  • KT-73454 K2: Fix type parameters mapping for typealiases with inner RHS
  • KT-73043 K2 Compiler does not allow references to inner constructors with typealiases
  • KT-74040 Compilation of inner class usage does not check the visibility of parent class during compilation in different rounds
  • KT-73339 K2: "VerifyError: Bad type on operand stack" because of missing implicit cast on generic field receiver with star projection
  • KT-72585 K2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace top-level type with star projection: S
  • KT-73399 compile-time JVM codegen failure on a KProperty argument of a KSuspendFunction parameter
  • KT-72725 KMP: Unsupported actualization of inherited java field in expect class
  • KT-73153 K2: Standalone diagnostics on type arguments are not reported
Compose compiler
  • CMP-5680 Compose compiler: unexpected stability warnings for classes compiled with 2.0.10
  • b/381407900 Avoid adding Compose annotations on synthetic classes
IR. Inlining
  • KT-73981 [2.1.10] Suppress checkIncorrectCrossFileDeclarationAccess warning for Compose <class>$stable field access
JavaScript
  • KT-70778 Kotlin Js companion is undefined in production build
  • KT-73130 KJS: Missed break for do/while in generated JS code
  • KT-58797 Optimize the code generated for objects on JS and Wasm backends
Klibs
  • KT-70146 [KLIB Resolve] Don't fail on nonexistent transitive dependency
  • KT-73951 Workaround for "Partial linkage engine may not patch some discrepancies in IR when compiling Kotlin/Native static caches" in 2.1.10
Native
  • KT-73559 K/Native: AndroidNativeArm64 linking fails starting from Kotlin 2.1.0
Tools. CLI
  • KT-73967 JDK 25: "IllegalArgumentException: 25-ea" with EA builds
Tools. Daemon
  • KT-73311 "Unable to release compile session, maybe daemon is already down" flakiness
Tools. Gradle
  • KT-73728 'generatePomFileForMavenPublication' creates pom with dependencies with 'unspecified' version
Tools. Gradle. Multiplatform
  • KT-73620 KMP 2.1.0: Transitive dependency is broken when setting publication groupId
Tools. Gradle. Native
  • KT-73572 [Gradle] kotlin.native.cacheKind=none doesn't work anymore
  • KT-71419 Light bundle KGP IT run against a stable K/N version

v2.1.0: Kotlin 2.1.0

Changelog
Analysis API
New Features
  • KT-68603 KotlinDirectInheritorsProvider: add an option to ignore non-kotlin results
Performance Improvements
  • KT-70757 Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbol
Fixes
  • KT-70437 Class reference is not resolvable
  • KT-57733 Analysis API: Use optimized ModuleWithDependenciesScopes in combined symbol providers
  • KT-72389 K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal class
  • KT-69190 K2: False-positive "redundant private modifier"
  • KT-64984 Analysis API: Support Wasm target
  • KT-70375 K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointer
  • KT-71259 K2 evaluator: Invalid smart cast info collecting for Code Fragments
  • KT-69360 Lack of implicit receiver for the last statement under lambda in scripts
  • KT-70890 Analysis API: Experiment with weak references to LL FIR/analysis sessions in session caches
  • KT-70657 Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jars
  • KT-71055 Suspend calls inside 'analyze()' break the block guarantees
  • KT-70815 Analysis API: Implement stop-the-world session invalidation
  • KT-69819 K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualified
  • KT-68761 Analysis API: Experiment with limited-size cache in KaFirSessionProvider
  • KT-70384 Analysis API Standalone: The same class in the same two renamed jars is unresolved
  • KT-71067 Exceptions from references cancel Find Usages
  • KT-69535 Redesign 'containingSymbol'
  • KT-71025 K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" values
  • KT-67483 K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation call
  • KT-69416 K2 IDE / Completion: “No classifier found” on simple value creating
  • KT-70257 CCE: class kotlin.UInt cannot be cast to class java.lang.Number
  • KT-70376 K2 IDE / Kotlin Debugger: IAE “Only componentN functions should be cached this way, but got: toString” on evaluating toString() method for value class
  • KT-70264 AA: service registration via XML fails with AbstractMethodError in Lint CLI
  • KT-69950 Analysis API: Introduce isSubtypeOf(ClassId)
  • KT-68625 K2: “lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase STATUS.”
  • KT-67665 K2: contract violation for value class with a constructor parameter with an implicit type
  • KT-67009 Analysis API: Add abbreviated type tests for type aliases from source modules
  • KT-69977 KaFirFunctionalType#getAbbreviation is always null
  • KT-68341 Analysis API: Expanded function types from libraries don't have an abbreviated type
  • KT-68857 Analysis API: Refactor annotations
  • KT-70386 Do not filter out overloads from different libraries in dangling files
  • KT-65552 K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragment
  • KT-65803 K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments"
  • KT-68896 Support VirtualFile binary dependency inputs to Analysis API modules
  • KT-69395 K2 IDE: incorrect overload selection from binary dependencies in a shared native source set
  • KT-68573 ISE: "Unexpected constant value (kotlin/annotation/AnnotationTarget, CLASS)" at Kt1DescUtilsKt.toKtConstantValue()
  • KT-69576 Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns false for companion references in implicit invoke operator calls
  • KT-69568 Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns true for non-companion references in qualified calls
  • KT-69436 Analysis API Platform: Encapsulate LLFirDeclarationModificationService as an engine service
  • KT-63004 K2: Analysis API: Design API for querying declarations generated by compiler plugins (similar to indices)
  • KT-69452 AA FIR: wrong source PSI after compile-time evaluation
  • KT-69598 AA: definitely not-null type at receiver position should be wrapped in parenthesis
  • KT-60484 Analysis API: add support for KtType pointers similar to KtSymbolPointer
  • KT-68884 Analysis API: Rename/deprecate/remove declarations as part of Stabilization
  • KT-69453 AA FIR: miss to handle expected type of lambda with explicit label
  • KT-69533 Protect implementation parts of Analysis API with opt-in annotations
Analysis API. FIR
Performance Improvements
  • KT-71566 FirElementBuilder#getFirForNonKtFileElement should iterate a Psi file over and over
  • KT-71224 Analysis API: FirElementFinder.collectDesignationPath relies on naive iteration through FIR files
Fixes
  • KT-70327 Analysis API: Batch inspection causes deadlock in ValueWithPostCompute
  • KT-69070 Analysis API: Querying declared member scope for Java symbols results in exception in some use cases
  • KT-68268 LLSealedInheritorsProvider: reduce scope to kotlin files
  • KT-69671 TYPES phase contract violation through JavaSymbolProvider
  • KT-70624 Declaration symbols from code fragments are treated as not local
  • KT-70662 NPE: FirLazyBodiesCalculatorKt.calculateLazyBodyForProperty
  • KT-70859 Do not fail highlighting due to resolution problems
  • KT-70474 FirLazyResolveContractViolationException from JavaSymbolProvider
  • KT-70323 FirLazyResolveContractViolationException: lazyResolveToPhase(TYPES) cannot be called from a transformer with a phase TYPES
  • KT-71567 LLFirCompilerRequiredAnnotationsTargetResolver should calculate annotation arguments on demand
  • KT-71584 getNonLocalContainingOrThisDeclaration treats KtParameter from functional type as non-local
Analysis API. Light Classes
Performance Improvements
  • KT-69998 Drop redundant cache from ClassInnerStuffCache
Fixes
  • KT-69833 Support value classes
  • KT-71693 Wrong name mangling for JvmField class property and companion property clash
  • KT-71469 KtLightClassForDecompiledDeclaration: missed kotlinOrigin
  • KT-70710 Provide light classes for KMP modules in Android Lint
  • KT-70548 SLC: text of class object access expression is not the same as raw text
  • KT-70572 SLC: missing isInheritor implementation for type parameter
  • KT-70491 SLC: inconsistent source PSI of no-arg constructor for all default values
  • KT-70458 SLC: missed auxiliaryOriginalElement for delegated property
  • KT-70232 Support a companion object inside value classes
  • KT-70349 @delegate:` annotations are missed for light class fields
  • KT-68328 Move KtLightClassBase to ULC
Analysis API. Providers and Caches
  • KT-65618 K2: resulted FirClass.psi != requested PsiClass from completion
  • KT-69292 K2: Analysis API: A property's MUST_BE_INITIALIZED diagnostic is not updated after changing field usage in an accessor
  • KT-71468 Drop redundant logic from LLFirJavaFacadeForBinaries
  • KT-71700 Cache result of resolveToCall
  • KT-71520 Analysis API: LLFirNativeForwardDeclarationsSymbolProvider spends a lot of time in indices
Analysis API. Standalone
  • KT-65110 Analysis API: In Standalone mode the order of symbols is unstable
Analysis API. Stubs and Decompilation
  • KT-71565 KtClassOrObject should use isLocal from greenStub
Analysis API. Surface
New Features
  • KT-69960 resolveToCallCandidates should support operators
  • KT-69961 resolveToCallCandidates should support properties
Performance Improvements
  • KT-70529 KaSymbol: reduce the number of cached usages
  • KT-70165 Introduce PSI-based KaSymbols for K2
Fixes
  • KT-69371 Analysis API: expose only interfaces/abstract classes for the resolution API
  • KT-69696 KaSymbolByFirBuilder should filter call-site substitutions
  • KT-69679 KaDelegatedConstructorCall should have substituted signature
  • KT-70206 anonymousSymbol API throws an exception for regular functions
  • KT-69699 Receiver type is not substituted in the case of conflict declarations
  • KT-69381 Analysis API: Investigate the viability of current KaSymbol caches
  • KT-70199 K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments
  • KT-70661 Invalid FirDeclarationOrigin ScriptTopLevelDestructuringDeclarationContainer
  • KT-70663 KaFirDestructuringDeclarationSymbol: Failed requirement
  • KT-63490 Analysis API: Accessing the Analysis API should be prohibited during dumb mode
  • KT-63390 K2: Analysis API: add annotations to KtClassInitializerSymbol
  • KT-55124 Design common ancestor for KtValueParameter and KtReceiverParameterSymbol
  • KT-71731 directlyOverridenSymbols/allOverridenSymbols works incorrectly for intersection overrides
Apple Ecosystem
  • KT-66262 Deprecate and remove support for bitcode embedding from the Kotlin Gradle plugin
  • KT-66894 XCFramework task fails when name passed to xcframework DSL is different from framework's name
  • KT-65675 XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworks
  • KT-69119 xcodeVersion task fails if Xcode isn't installed and apple-specific native targets aren't declared
Backend. Wasm
New Features
  • KT-70786 Improve DX of the variable view during debugging in Chrome/Firefox for Kotlin/Wasm
  • KT-70331 Support incremental compilation for the Wasm backend
  • KT-71686 K/Wasm: Add functions to convert between Kotlin and JS array types
  • KT-68185 [WasmJs] Attach js exception object to JsException
Fixes
  • KT-71294 Wasm Artifacts/Resource are being loaded relatively instead of absolutely
  • KT-71473 K/Wasm: Use --closed-world and related options for Binaryen
  • KT-72297 [Wasm] Unused associated object class lead to compiler fail
  • KT-72156 custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven public
  • KT-65799 K/Wasm: remove default exports from wasm exports
  • KT-71800 Wasm compiler: Fix member generation for data classes with an array-type property
  • KT-71580 String::toFloat on wasm behaves differently compared to other targets
  • KT-71523 K/Wasm: cleanup after fix for KT-71474
  • KT-71475 K/Wasm: KClass::qualifiedName returns incorrect result for nested or companion objects
  • KT-71474 K/Wasm: KProperty*Impl equals work incorrectly for clabbale reference created in different files or modules
  • KT-61130 K/Wasm: Function signatures may clash with base class internal methods from a friend module
  • KT-70820 [Kotlin QG] wasm-validator fails when running compile[...]KotlinWasmJsOptimize
  • KT-70819 [Kotlin QG] node.js fails when running wasmJs[...]Test KGP tasks
  • KT-70394 Investigate increased wasm binary size after switching stdlib compilation to K2
  • KT-69627 Remove create###Array functions from WASM stdlib
  • KT-68509 Fatal: error validating input in compileProductionExecutableKotlinWasmJsOptimize
Compiler
New Features
  • KT-71094 Kotlin/Native incremental compilation: fail compilation if cache build failed
  • KT-21908 Support 'when' exhaustiveness checking for generic type parameter with sealed class upper bound
  • KT-70679 Kotlin/Native: fill WritableTypeInfo from Swift Export type mapping
  • KT-59798 Builder inference is not working when combined with let expression
  • KT-54227 Cannot use nullable Nothing as reified type parameter
  • KT-71430 Kotlin-to-Java direct actualization implementation
  • KT-68163 Expose supplementary compiler warnings via CLI
  • KT-69321 Swift export: enable auto-linkage of binary dependencies
  • KT-11526 Improve diagnostics for "X overrides nothing"
  • KT-49710 False positive NO_ELSE_IN_WHEN with nullable type as receiver
  • KT-69729 Support calling super interface Java methods from Kotlin interface
  • KT-69508 Improve "Public-API inline function cannot access non-public-API" check for the inline property accessors
Performance Improvements
  • KT-71353 FP Kotlin performance degradation (around Cone types hierarchy changes)
  • KT-71159 [K2] OOM on large enum classes with fields
  • KT-69718 K2: Check for jvm nullability annotations in fir2ir is slow
  • KT-68417 Native: LLVM 16 inliner is slow on K/N-produced modules
  • KT-63971 K2: Redundant @ParameterName in abbreviated type in metadata
Fixes
  • KT-71550 JVM IR: NPE on identity equals of boolean true with null
  • KT-72214 -fpass-plugin (clangFlags) is not applied since Kotlin 2.0.20
  • KT-68933 CompilationException: Back-end: Could not get inlined class
  • KT-72255 Promote jspecify from warning to error
  • KT-73065 CCE with context receivers
  • KT-61033 K2: implement a diagnostic corresponding to K1's MISSING_BUILT_IN_DECLARATION
  • KT-72345 K2: Method 'get' without @Override annotation not called
  • KT-71260 K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwner when there is no actual for expect
  • KT-72996 false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operator
  • KT-72552 AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped types
  • KT-71751 K2: Skipping code in last statement of lambda
  • KT-71121 Kotlin/JS incremental compilation fails with KotlinIllegalArgumentExceptionWithAttachments
  • KT-60521 Drop language versions 1.4 and 1.5
  • KT-70461 K2: "Inline class types should have the same representation" caused by value class and smart check
  • KT-72238 Argument type mismatch in builder inside extension function after ?:
  • KT-70306 K2: Lambdas are unserializable: inferred from Java param ? super I
  • KT-67383 Incorrect optimisation when optimising for loop with UByte
  • KT-68653 Switch latest stable language version in Kotlin project to 2.1
  • KT-71708 False negative UNSUPPORTED for collection literals as trailing return value
  • KT-72281 K/N: "Failed to wait for cache to be built"
  • KT-72017 Enum property reflection returning null KClassifier property for Enum classes defined inside Kotlin Scripts
  • KT-69040 PCLA: deal with "deep" calls that can be fully analyzed properly
  • KT-69920 K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilation
  • KT-69549 Try to move callable reference transformation earlier in pipeline
  • KT-63944 Kotlin/Native: Cache flavor selection doesn't respect GC kind
  • KT-71649 K2: Put operator on mutableMap<T?, V>() causes crashes on null key
  • KT-70667 K2: "Type parameter * has inconsistent bounds" caused by wildcard and where-clause
  • KT-70562 @SubclassOptInRequired cannot accept multiple experimental marker
  • KT-69407 K2: Compiler crash (Shouldn't be here) due to unresolved reference in FirProjectionRelationChecker
  • KT-71508 JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported when java class is inherited from an effectively private class
  • KT-72178 K2: "Unexpected FirPlaceholderProjectionImpl" exception when using "_" as key type in EnumMap
  • KT-70407 Error/warning message for @SubclassOptInRequired-annotated class should provide more context
  • KT-72302 K2: no error on type operator in annotation parameter default value
  • KT-58820 OPT_IN_USAGE_ERROR's message text does not account for SubclassOptInRequired
  • KT-71662 PCLA: a type variable is not fixed on demand to a type containing a not-fixed type variable
  • KT-69739 K2: "KotlinIllegalArgumentExceptionWithAttachments: Unexpected FirPlaceholderProjectionImpl" caused by unresolved references
  • KT-72154 Dokka fails with not array: KClass<out Annotation> on Kotlin 2.1.20-dev with @SubclassOptInRequired
  • KT-70756 K2. Compiler crash with FileAnalysisException on incorrect symbol in nesting lambda
  • KT-72173 K2: simple object names from root package are resolved without imports in non-root packages when used as values
  • KT-71480 JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported while java object isn't created
  • KT-71034 Failing compiler/testData/codegen/box/inlineClasses/kt70461.kt
  • KT-71016 K/Wasm: Failing compiler/testData/codegen/box/inlineClasses/kt70461.kt
  • KT-52469 Deprecate reified type parameter instantiating into intersection types
  • KT-71753 PCLA: false-negative operator ambiguity error on fixing a type variable on demand for an operator assignment
  • KT-59871 K2: Fix introduced diagnostics
  • KT-71563 'llegalStateException: Source classes should be created separately before referencing' when actualized through typealias and java direct actualization
  • KT-64741 Avoid leaking ConeTypeVariable types in diagnostics from PCLA
  • KT-60447 Builder inference fails to infer generic type argument from local class
  • KT-69170 K2: "Unresolved reference" caused by generics and fun interfaces
  • KT-71756 K2 evaluator: broken resolve of private members during debug of Kotlin project itself
  • KT-68893 Invalid annotation in contract crashes with K2
  • KT-71490 K2: missing REDUNDANT_ELSE_IN_WHEN
  • KT-64403 Implement BlackBoxCodegenTestSpecGenerated for K2
  • KT-71551 JVM IR K1: NPE on generating a function imported from an object from another module
  • KT-71210 K2: false negative FUNCTION_CALL_EXPECTED / NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE with companion objects
  • KT-71528 K2/JVM: ClassCastException around Array<Nothing?>
  • KT-71228 K2: "IllegalArgumentException: Failed requirement" caused by lambda parameter and class type
  • KT-71738 K2: False negative REDECLARATION inside object expression
  • KT-71701 K2: false positive CAN_BE_VAL with lateinit and non-in-place lambda
  • KT-68694 K2 IDE / Kotlin Debugger: AE “Unresolved reference: <HIDDEN: samples/gen/classes/enum class/EnumClass.lam is invisible” on evaluating private lambda inside enum entry
  • KT-70970 K2 IDE / Kotlin Debugger: AE “Only assignable IrValues can be set” on calling overloaded inc() operator on interface
  • KT-70824 K2: NoSuchFieldException when evaluating private extension property
  • KT-70390 K2 IDE / Kotlin Debugger: can't invoke lambda from private class during evaluation
  • KT-68701 K2 IDE / Kotlin Debugger: AE “ERROR_CALL 'Unresolved reference: <HIDDEN: /privateLambda is invisible>#' type=IrErrorType(null)” on evaluating private top-level lambda
  • KT-68695 K2 IDE / Kotlin Debugger: AE “Unsupported callable reference” on evaluating ::lateinitStr on private lateinit property
  • KT-70861 K2 IDE / Kotlin Debugger: can't evaluate Clazz::class call for private class
  • KT-34911 Improve error message for WRONG_ANNOTATION_TARGET: list applicable targets
  • KT-71601 K2: When with a subject of type dynamic always considered exhaustive
  • KT-33091 Kotlin/Native: Compiler crashes if an external class is declared
  • KT-59651 K1/K2: Assertion error on external enum usage attempt
  • KT-69939 Extract a category of internal FIR checkers from supplementary FIR checkers
  • KT-70850 Pull down typeArguments from ConeKotlinType to ConeClassLikeType
  • KT-71117 K2: "IllegalArgumentException: No type for StarProjection" with star projection and function type
  • KT-71251 Native & JS K2: Missing check for calling isInitialized inside inline fun
  • KT-70161 Native: extracting LLVM 16 on Linux makes the compiler print many "Ignoring unknown extended header keyword 'LIBARCHIVE.creationtime'" messages
  • KT-71215 K2: UB due to the erroneous greening of the red code with multiple delegation with java
  • KT-59386 K2: Missing CONSTANT_EXPECTED_TYPE_MISMATCH
  • KT-69564 Make using -Xuse-k2 compiler flag an error
  • KT-69756 TypeOfLowering: don't create constant object nodes before inlining
  • KT-66328 K2: implement an error for KT-66324
  • KT-71046 K/N: a separate lowering to convert function reference to IrConstantObject
  • KT-69223 Drop parallel lowering mode in JVM backend
  • KT-70260 @JsPlainObject: improve compiler error if a method is present
  • KT-67739 Improve error message when JDK used in -Xjdk-release has corrupted class files
  • KT-63964 K2: different naming of classes defined in script in metadata
  • KT-70014 Common inference: introduce rigidTypeMarker
  • KT-71352 Cannot load script definition class org.gradle.kotlin.dsl.KotlinProjectScriptTemplate
  • KT-63502 Getting java.lang.ClassNotFoundException: javaslang.λ during compilation
  • KT-66316 Kotlin/Native: make @Escapes annotation required for all external functions
  • KT-69653 Prohibit exposing types via type parameters' bounds
  • KT-68451 Inconsistent rules of CFA in enum initialization block
  • KT-70893 K2: Bogus NO_COMPANION_OBJECT on resolve to private qualifier
  • KT-70965 FIR/AA: Initializers for Java annotation arguments mapping capture use-site sessions
  • KT-63945 K2: Prevent possible diagnostic loss
  • KT-64453 K2: Implement ComposeLikeIr...TestGenerated for K2
  • KT-30424 Confusing error message "modality is different"
  • KT-70846 Replace ConeKotlinType.nullability with isMarkedNullable on specific types
  • KT-56720 K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED in case of delegation in diamond inheritance
  • KT-69937 Define & enforce user-friendly terminology for extended checkers
  • KT-64406 K2: Implement CompileKotlinAgainstJavaTestGenerated for K2
  • KT-69938 Validate sets of default compiler warnings and supplementary compiler warnings
  • KT-68971 Investigate suspicious fragmentation of FIR trees for string literals with interpolation
  • KT-71073 Multi-dollar strings: parser grabs too much if backticks follow a short sequence of '$'
  • KT-71213 Rethrow exceptions in checkers with some useful attachments
  • KT-70395 K2: "Captured Type does not have a classifier" caused by out type and interface hierarchy
  • KT-70133 K2: false negative UNINITIALIZED_VARIABLE when postponed lambda is created before initialization
  • KT-70625 K2: ClassCastException caused by function reference, star projection and invariant type parameter
  • KT-70835 K2: "TYPE_MISMATCH" caused by operator assignment
  • KT-70366 K2: "KotlinIllegalArgumentExceptionWithAttachments: Failed to find functional supertype for class "
  • KT-68834 Parentheses don't influence calls of any convention operators (except invoke operator) after safe navigation operator
  • KT-70358 K2: "java.lang.IllegalArgumentException: No type for StarProjection" when using a star projection on a function type
  • KT-69298 K2: "Initializer type mismatch" caused by elvis operator type inference for nullable typealias
  • KT-71189 K2: emit 'DELEGATE_SPECIAL_FUNCTION_MISSING' and 'DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE' on 'by' keyword
  • KT-71178 K2: False negative NO_ELSE_IN_WHEN in when over nullable type with !is Nothing? check
  • KT-70812 False positive NO_ELSE_IN_WHEN with nullable type argument as subject
  • KT-70947 False positive NO_ELSE_IN_WHEN with DNN subject and nullable sealed class upper bound
  • KT-70752 Review diagnostics with whole declaration as range
  • KT-71160 K2: Rendering of flexible collection types and arrays is too verbose
  • KT-61227 Definitely non-nullable types cause "Any was expected" for @Nullable parameter
  • KT-69389 K2: NONE_APPLICABLE instead of more useful "type mismatch" error with overloads and parameter nullability mismatch
  • KT-69829 Missed UNRESOLVED_LABEL for label in returns and loops
  • KT-61223 JDK 21: new addFirst/addLast and putFirst/putLast methods allow adding nullable value for non-null types
  • KT-66742 Supertypes with inaccessible type arguments are allowed
  • KT-62906 Type system: consider changing simple type & DNN type relation
  • KT-70104 Update the error message for calling super Java interface methods case
  • KT-69794 K2: Wrong target is reported for EXPOSED_SUPER_INTERFACE diagnostic
  • KT-70724 False-positive UNINITIALIZED_VARIABLE for inline constructor with late-initialized variables
  • KT-70749 False-positive UNINITIALIZED_VARIABLE for inline fun with crossinline modifier
  • KT-65805 Migrate builtins serializer to K2
  • KT-71004 FirSignatureEnhancement#enhance mutates attributes on the original function
  • KT-70813 Questionable behavior for calls on ILT receivers
  • KT-70208 'when' is not exhaustive for expect Boolean
  • KT-69210 Native: tune LLVM optimization pipeline
  • KT-70753 K2: Missing non-null assertion on the return value of try-catch block
  • KT-70012 EXTENSION_SHADOWED_BY_MEMBER shouldn't be reported for actual declarations
  • KT-70837 K2. "Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource" on incorrect call with extension fun
  • KT-66751 Implement a general deprecation of types with inaccessible type arguments
  • KT-68748 K2: Remove irFactory from Fir2IrComponents
  • KT-61659 K2: Implement the EXTENSION_SHADOWED_BY_MEMBER warning
  • KT-70709 Range for MUST_BE_INITIALIZED shouldn't include property annotations
  • KT-63294 Do not use duplicated compiler argument names across the codebase
  • KT-70673 False positive NO_ELSE_IN_WHEN with nullable Boolean as subject
  • KT-70672 False positive NO_ELSE_IN_WHEN with nullable Enum as subject
  • KT-69207 Native: use lld when the compiler produces binaries for a Linux target
  • KT-67696 Native: compiler crashes when loading an LLVM bitcode file of unsupported version
  • KT-69767 K2: Investigate differences in tests without alias behavior for cyclic expansion
  • KT-70617 K2: ClassCastException caused by Java enum with overridden name property
  • KT-68796 Non-first invoke operator calls break chained calls of convention operators after safe navigation operator
  • KT-67772 K2: Metadata misses NoInfer annotation for unsafeCast result
  • KT-70304 [FIR2IR] Missing @NoInfer
  • KT-65085 K2: Get rid of special check for unresolved array literals on argument mapping phase
  • KT-65066 K1 crashes, K2 doesn't report type mismatch on array literal inside nested annotation call
  • KT-49235 Kotlin interface limited to 1000 super types
  • KT-69991 K2/JVM: Backend crash with functional types and KFunctions
  • KT-7461 Forbid using projection modifiers inside top-level Array in annotation's value parameter
  • KT-52315 Legacy keywords (header, impl) break enum definitions
  • KT-69499 Native: aggressive inline of runtime procedures causes compiler crash in debug builds
  • KT-69737 Native: incompatible target-cpu attributes between runtime and Kotlin code
  • KT-69911 Unexpected line numbers in default setter
  • KT-61529 K2: Unexpected FirClassLikeSymbol null with -no-jdk
  • KT-69475 K2: No "Name contains illegal characters" for package name with dots inside
  • KT-69484 Native: remove default values for isObjectType
  • KT-70352 K2: False-negative CONFLICTING_UPPER_BOUNDS on Nothing bound
  • KT-59781 K2: investigate implicit cast generation in fir2ir vs psi2ir
  • KT-70036 [FIR2IR] Fix param name in overridden setter
  • KT-68718 [JVM] Generic function is instantiated with wrong type argument
  • KT-67983 K2: False negative "Recursive type alias in expansion" at recursive typealiases
  • KT-70328 K2: @UnsafeVariance stored in the metadata despite the Source retention
  • KT-70313 K2: Don't add Any supertype to kotlin.Nothing compiled from sources
  • KT-69982 K2: New errors when executing :kotlin-stdlib:jvmJar
  • KT-70169 K2: implement a deprecation error for Synchronized, Throws, JvmField on annotation parameters
  • KT-67651 K2: inconsistency in behavior for SAM constructor with flexible type
  • KT-63857 K2: Extra operator modifier in metadata
  • KT-70182 K2: Set up isOperator flag according to operator naming conventions during building synthetic overrides for Java methods
  • KT-20798 Implement a deprecation warning for reified modifier on type parameters of type alias
  • KT-68697 K2 IDE / Kotlin Debugger: NSEE “List is empty.” when method reference is used in some place in code
  • KT-70157 K2: false positive JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS for a Java private class
  • KT-68702 K2 IDE: AE “SyntheticAccessorLowering should not attempt to modify other files!” on evaluating of supermethods toString() and hashCode()
  • KT-69509 K2 IDE / Kotlin Debugger: exception in lowering ReplaceKFunctionInvokeWithFunctionInvoke when compiling code fragment
  • KT-66323 K2: Clarify contracts of ConeSubstitutorByMap
  • KT-69652 K2: False positive "Redundant visibility modifier" with explicitApi()
  • KT-65815 K2: False-positive NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY with inline function returning Nothing?
  • KT-60508 K2/stdlib: compilation of common code fails if built-in types are provided as platform sources
  • KT-70037 K2: Generate IR body for Any constructor despite that fact it's empty
  • KT-69870 K2: False positive NO_VALUE_FOR_PARAMETER for override without default but base with default and with enabled KMP
  • KT-69599 K2: Investiage and fix lots of UNRESOLVED_REFERENCE during building stdlib native with K2
  • KT-68375 K2: FirPrimaryConstructorSuperTypeChecker fails on generated superclasses
  • KT-58309 Deal with test failures inside FirTypeEnhancementTestGenerated
  • KT-27112 Implement prohibition of exposing types via type parameters' bounds
  • KT-69831 Add long FastJarFS tests to the nightlyFirCompilerTest configuration
  • KT-69537 K2: Unintentional behavior caused by InferMoreImplicationsFromBooleanExpressions
  • KT-59814 K2: Explore why FirDataFlowAnalyzer strips away value parameters of non top-level-functions
  • KT-69069 K2: expect overloads are deprioritized in common code
  • KT-69511 KJS / K2: False positive IMPLICIT_BOXING_IN_IDENTITY_EQUALS when comparing dynamic with primitive
  • KT-69500 Native: introduce an option to inline less "ALWAYS_INLINE" runtime procedures
  • KT-69717 K2: Don't call coneType/coneTypeOrNull extensions on FirResolvedTypeRef
  • KT-60440 K2/Java: investigate constructor own type parameters enhancement
  • KT-69871 K2 allows modifier keywords on package declaration
  • KT-61271 Frontend: "The label does not denote a loop." error message is used even if the label does denote a loop
  • KT-69768 K2: Investigate differences in tests without alias behavior with typealias to enum entry
  • KT-63846 K2: incorrect type argument inferred for smart cast value of a generic type
  • KT-69774 Don't report overload resolution ambiguity if extension receiver contains error type
  • KT-61316 K2: Consider throwing exception when replaceType is called on special FirExpressions with immutable types
  • KT-69201 Discard expect candidate in overload conflict resolver if there is no actual
  • KT-69557 K2: Investigate failures with enabled assertion in ConeResolvedAtom constructor
  • KT-69783 K2: Make FirTypeProjection sealed
  • KT-68000 Investigate getting container functions in checkers
  • KT-69649 K2: Cleanup various utilities about toSymbol conversion
  • KT-69185 K2: Prepare a test runner for diagnostic tests with type aliases non-expanded automatically
  • KT-69390 UNRESOLVED_REFERENCE on call with lambda argument turns whole call red
  • KT-68794 K2 IDE / Kotlin Debugger: ISE “No real overrides for FUN FAKE_OVERRIDE name:privateFun visibility:private modality:FINAL” on calling private function from superclass in debugger
  • KT-69315 FirJavaGenericVarianceViolationTypeChecker: StackOverflowError
  • KT-49962 "Visibility inherited is not allowed in forVisibility" when analyzing broken file
  • KT-24212 Report "This class shouldn't be used in Kotlin" on calling constructor of Java class with Kotlin analog
  • KT-64195 K2: Consider make FirAnonymousInitializer. containingDeclarationSymbol not null
  • KT-64254 "Projections are not allowed on type arguments of functions and properties": Type-project type arguments of properties
  • KT-40533 Error message PROPERTY_WITH_NO_TYPE_NO_INITIALIZER for interface property is not fully correct
  • KT-20014 Improve diagnostics for lateinit property without initializer and type annotation
  • KT-51366 False positive error "Value class cannot extend classes" when extending generic interface with wrong number of type arguments
  • KT-68277 K2: false positive UNREACHABLE_CODE for non-local return/break
  • KT-69544 K2: Mapped Java @Target annotation's vararg argument has swapped type and elementType
  • KT-68998 K2: Refactor postponed atoms
  • KT-69288 Native: Apple LLVM 16 fork can't read bitcode with memory attribute produced by upstream LLVM 16
  • KT-67808 K2: Inconsistent properties initialization analysis in init blocks in presence of smartcast on this
  • KT-69035 K2: Investigate potential removal of FirMangler
  • KT-69473 Missing suspend-conversion for lambda in the last statement of when with expected type
  • KT-64640 Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collections
  • KT-65441 K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfaces
  • KT-54792 Store program order of properties inside @kotlin.Metadata
  • KT-59832 K2: Fix the TODO about merging values for labels in UnusedChecker
Compose compiler
New features
  • b/328817808 Added the PausableComposition feature flags
  • 83c48a0 Decoy support for JS target is removed from Compose compiler
Fixes
  • CMP-6926 iOS compilation failure: Unresolved reference 'copy'
  • CMP-6842 FAKE_OVERRIDE declarations are not preserved in metadata and should not be marked with annotations
  • CMP-6788 non-private field compilation warnings (stableprop & ComposableSingletons)
  • CMP-6685 Native/WASM compilation failure on Composable function with value-type arg + return
  • b/376058538 Fix stack overflow when inferring stability of indirect generic loop
  • b/339322843 Transform @Composable property delegate references
  • b/366040842, b/365066530 Replace deep copy in Compose plugin with in-place type mutation
  • b/329477544 Force open / overridden Composable functions to be non-restartable.
  • b/361652128 Disable live literal transform if the corresponding flag is disabled
  • b/325004814 [Compose] Fix infinite recursion in target analysis
  • b/357878245 Disallow open @Composable functions with default params to fix binary compatibility issues.
  • b/338597078 [Compose] Fix target warning message
  • b/351858979 Fix stability inferencing of interfaces on incremental compilation
  • b/346821372 [Compose] Fix code generation for group optimization
  • b/339311821 Give warning when stability configuration file is not found
  • b/346821372 Fixes group generation for if statements when nonSkippingGroupOptimization is enabled.
IDE. Gradle Integration
  • KT-48554 [Multiplatform Import] Ensure consistency between GradleImportProperties and PropertiesProvider
IR. Actualizer
  • KT-71631 Kotlin-to-Java direct actualization: java annotation element isn't actualized
  • KT-71597 Kotlin-to-Java direct actualization: it is possible to actualize a function with default parameters
  • KT-71592 Kotlin-to-Java direct actualization: constructor of nested class can't be actualized
  • KT-71577 Kotlin-to-Java direct actualization: method can be actualized by java static method
  • KT-69632 K2: Expect actual mismatch on actualization with alias to expect class
  • KT-71817 Actualization of static members is broken for non-JVM platforms
IR. Inlining
New Features
  • KT-69527 Set the right visibility for synthetic accessors in SyntheticAccessorLowering
Fixes
  • KT-71232 Implement an IR validation check that ensures that all IrFields are private on non-JVM backends
  • KT-69307 Source offsets seem incorrect after IR inlining
  • KT-72884 Internal error in body lowering: IllegalStateException: Can't inline given reference, it should've been lowered
  • KT-71659 IR Inliner fails to inline function expressions due to implicit cast from the 1st phase of inlining
  • KT-69681 IR: Report warnings on exposure of private types in non-private inline functions
  • KT-72521 Kotlin/Native: java.lang.AssertionError: kfun:androidx.compose.runtime#access$<get-androidx_compose_runtime_ProvidedValue$stable>$p$tComposerKt(){}kotlin.Int
  • KT-72623 Don't generate synthetic accessors in files other than the one being lowered
  • KT-70420 Enable double-inlining in Native & JS backends by default
  • KT-67292 Handling assertions before the IR inliner
  • KT-70423 KLIB: SyntheticAccessorLowering - generate static factory functions instead of synthetic constructors
  • KT-69565 Don't generate synthetic accessors for private symbols inside local classes
  • KT-69787 Handle clashes of synthetic accessors generated for top-level callables
  • KT-71137 Generate synthetic accessors for backing fields
  • KT-67172 Native & JS: Introduce OuterThisInInlineFunctionsSpecialAccessorLowering
  • KT-64865 Explicitly generate accessors for private declarations in inline functions
  • KT-71657 K/JS: Double-inlining causes failures in IC with top-level synthetic accessors
  • KT-71078 Inline all functions in local classes at the 1st stage of inlining
  • KT-69802 Don't extract local classes from inline functions in double inlining mode
  • KT-66508 IR inliner: Add implicit cast for initializer of temporary variables
  • KT-66507 IR inliner: Enable implicit casts in all KLib backends
  • KT-69466 IrInlinedFunctionBlock: Refactor it to make it possible to serialize in KLIBs
  • KT-69317 IR Inlining. Try to place inlined arguments outside IrInlinedFunctionBlock
  • KT-67149 Common Native/JS lowering prefix at the 2nd phase of compilation
  • KT-69172 Implement double-inlining for Native
  • KT-67304 Keep in common prefix: Shared variables + local classes in inline lambdas
  • KT-67170 ArrayConstructorReferenceLowering is missing in Native
  • KT-70583 Internal error in body lowering: java.lang.IllegalStateException: An attempt to generate an accessor after all accessors have been already added to their containers
  • KT-69700 Inline stub_for_inlining use sites survive after the inliner
  • KT-69462 Support dumping IR after inlining in compiler tests
  • KT-70693 IR: replace IrReturnableBlock.inlineFucntion with IrInlinedFunctionBlock.inlineFucntion
  • KT-70763 IR inline: consider storing stub_for_inline as an inlined function for callable reference
  • KT-69168 Wrap assertion calls before IR inliner
  • KT-69167 Create intrinsics in stdlib for handling assertions in KLIB-based backends
  • KT-69169 Expand assertion intrinsics in backend based on CLI parameters
  • KT-69174 Implement the basic Synthetic Accessors Lowering for KLIB-based backends
IR. Interpreter
  • KT-70388 K2 IDE / Kotlin Debugger: InterpreterError “Unsupported number of arguments for invocation as builtin function: INT_MAX_POWER_OF_TWO” during evaluation
IR. Tree
Fixes
  • KT-69644 Report warning on cross-file IrGetField operations generated by compiler plugins
  • KT-68789 Prepare tests for testing visibility (non-)violation in inlined IR
  • KT-71826 stdlib fails to compile with -Xserialize-ir=all
  • KT-70333 IR: remove ability to apply compiler plugins during KAPT stub generation phase
  • KT-67752 Make copyRemappedTypeArgumentsFrom and transformValueArguments methods in DeepCopyIrTreeWithSymbols protected instead of private
  • KT-68151 Setup testing visibility of referenced declarations in IR
  • KT-68988 [Tests] Streamline the order of irFiles in IR- and Kotlin-like dumps
  • KT-65773 Auto generate IR implementation classes
  • KT-70330 Automatically keep track of IrValueParameter.index
  • KT-68495 Compile-time failure on bounded generic value used in a contains-check with range
  • KT-68974 Validate scopes of IrValueParameters in IrValidator
JavaScript
New Features
  • KT-70254 K/JS: Generate arrows in ES6 mode instead of anonymous functions
  • KT-70283 KJS / ES6: Don't generate bind(this) calls for anonymous functions that capture this
Fixes
  • KT-43567 KJS: toString() method and string interpolation of variable produce different code
  • KT-70533 KJS: changed string concatenation behavior in 2.0
  • KT-14013 JS toString produces different result for nullable/non-nullable ref to the same array
  • KT-72732 KJS / ES6: "SyntaxError: 'super' keyword unexpected here" with enabled -Xir-generate-inline-anonymous-functions and disabled arrow functions
  • KT-69408 [JS] Enable insertAdditionalImplicitCasts=true (as in other KLIB-based backends)
  • KT-71821 K/JS tests are failing with coroutines flow and turbine on timeout
  • KT-31799 Allow non-identifier characters in Kotlin/JS (backquoted properties, @JsName)
  • KT-55869 Coroutine is not intercepted, when the coroutine is started calling startCoroutineUninterceptedOrReturn using callable reference
  • KT-70117 Generate debug info for code from js call
  • KT-69642 ES generator-based coroutines rely on eval
  • KT-67452 K2: Consider hiding dynamic type creation under FlexibleTypeFactory for JS only
  • KT-70226 Delete JS tests that were only run with the legacy JS backend
  • KT-71338 K/JS: Add a flag for switching generating arrow functions on & off
  • KT-69173 Implement double-inlining for JS
  • KT-67327 JS: Remove error tolerance
  • KT-69892 Array.isArray() returns false for an instance returned by KtList.asReadonlyArrayView()
  • KT-70231 Delete the org.jetbrains.kotlin.cli.js.dce.K2JSDce class
  • KT-69928 KJS: keys() and values() of KtMap's JS view don't behave as expected
  • KT-70707 KJS: asJsReadonlyMapView does not implement ReadonlyMap correctly
  • KT-71220 Fix invalid IrFunctionReference creation in InnerClassConstructorCallsLowering
  • KT-70393 Investigate failing JS test after switch stdlib compilation to K2
  • KT-64429 K2: Implement KlibJsIrTextTestCaseGenerated for K2
  • KT-69587 [Tests] Fix multi-module deserialization in JS irText tests
  • KT-70219 Delete the org.jetbrains.kotlin.cli.js.K2JSCompiler class
  • KT-70221 Rename org.jetbrains.kotlin.cli.js.K2JsIrCompiler to K2JSCompiler
  • KT-70229 Remove test classes related to the legacy JS backend
  • KT-70359 Remove legacy backend-related test directives from Kotlin/JS tests
  • KT-70362 Clean up Gradle tasks for running JS tests against the legacy JS backend
  • KT-66181 Reorganize JsCodeOutliningLowering and keep it before the IR inliner
  • KT-30016 JS BE does not generate special bridge methods
  • KT-68975 KJS: Investigate calling js(...) from inline functions
KMM Plugin
  • KT-71011 AS KMP plugin: ios application can't start for 2024.2.1
Klibs
New Features
  • KT-64169 [KLIB Resolve] Don't skip libraries that happen to have the same unique_name
  • KT-68322 Compiler (JS, Wasm): warn about incompatible Kotlin stdlib/compiler pair
Fixes
  • KT-61098 [KLIB Resolve] Don't allow working with KLIB "repositories"
  • KT-72965 Ignore subclassOptInRequired constructor warning
  • KT-68792 Bump KLIB ABI version in 2.1
  • KT-67474 K2: Missing @ExtensionFunctionType in metadata in KLIBs
  • KT-71633 [2.1.0] Suspicious "Argument type mismatch" error
  • KT-70146 [KLIB Resolve] Don't fail on nonexistent transitive dependency
  • KT-71455 [KLIB Resolve] Forbid passing KLIB unique names via CLI
  • KT-67448 [KLIB Resolve] Deprecate passing KLIB unique names via CLI
  • KT-67450 [KLIB Resolve] Kotlin/Native: Only one implicit repository should remain for the compiler ("dist")
  • KT-70285 Warning about incompatible stdlib (JS/Wasm) is not reported if stdlib is unpacked
  • KT-66218 Clean-up the code for serialization & deserialization of DFGs to & from KLIBs
  • KT-71414 KotlinLibraryResolver.resolveWithDependencies was evolved in binary incompatible way
  • KT-68195 move KlibMetadataProtoBuf to frondend-independent module
Language Design
  • KT-54617 Stabilize @SubclassOptInRequired: ability to require opt-in for interface implementation
  • KT-54458 Preview of non-local break and continue
  • KT-69924 Mention 'if' guard when '&&' is used incorrectly
  • KT-71222 Remove @ExperimentalSubclassOptIn from SubclassOptInRequired
  • KT-67675 Allow usage of Array<Nothing?>
  • KT-70754 Changes in typeOf behaviour for Kotlin/Native
  • KT-58659 Prohibit implementing a var property with an inherited val property
Libraries
Performance Improvements
  • KT-66715 Performance: faster alternative to String.lines()
Fixes
  • KT-71628 Review deprecations in stdlib for 2.1
  • KT-69545 Kotlin/Native: Deprecate API marked with FreezingIsDeprecated to error
  • KT-56076 K2: build Kotlin standard library
  • KT-71660 Stabilize experimental API for 2.1
  • KT-54299 Extract org.w3c declarations to separate library from K/Wasm Stdlib
  • KT-68027 Document caveats and deincentivise usage of measureTimeMillis
  • KT-71581 Update outdated documentation to common lazy and provide samples
  • KT-71796 Improve documentation for Path.walk and Path.visitFileTree functions
  • KT-68019 Fill in missing package descriptions for standard library documentation
  • KT-52181 Native: Inconsistent behaviour of LinkedHashMap#entries on JVM and Native
  • KT-71570 Document suspend lambda builder
  • KT-65526 Rewrite builtins as expect-actual
  • KT-68502 K2: Fix or suppress stdlib K2 warnings
  • KT-68731 K2: Handle some formally incompatible expect/actual classes in JVM stdlib
  • KT-70378 Implement custom serialization for Uuid
  • KT-70005 K/Wasm and K/Native: IntArray.sort - array element access out of bounds
  • KT-66764 kotlinx-benchmark: rework on kotlin-compiler-embeddable
  • KT-69817 Set up klib binary API validation for stdlib
  • KT-68396 Handle some formally incompatible top-level expects/actuals callables
  • KT-69524 kotlin.uuid.Uuid: checkHyphenAt - error message always specified index 8
  • KT-69327 [native] FloatingPointParser.initialParse works incorrectly for some inputs
  • KT-46785 Get rid of !! after readLine() in the standard library
Native
  • KT-71435 Native: cannot access class 'objcnames.classes.Protocol'
  • KT-49279 Kotlin/Native: update LLVM from 11.1.0 to 16.0.0
  • KT-61299 Native: patch LLVM to prevent it from using signal handlers incompatibly with JVM
  • KT-69637 Native: our LLVM shouldn't advise submitting bugs to the upstream
  • KT-64636 kotlin.incremental.native=true causes IrLinkageError
  • KT-69142 ObsoleteWorkersApi and FreezingIsDeprecated is not displayed on targets in webdocs
Native. Build Infrastructure
  • KT-71820 Update the coroutines version used in kotlin-native build infrastructure
  • KT-69479 Native: remove custom python version building from the LLVM builder container image
  • KT-63214 [K/N] llvm build script fails with MacOSX14.0.sdk sysroot
Native. ObjC Export
  • KT-62997 IllegalStateException for hashCode(): KClass for Objective-C classes is not supported yet
  • KT-59497 KClass.simpleName returns null in ObjC-inherited class
Native. Platform Libraries
  • KT-70032 Rebuild platform libraries in 2.1.0 with Xcode 16
  • KT-69448 LLVM 16 clang with Xcode 16 headers: 'sys/cdefs.h' file not found
Native. Runtime
  • KT-70680 Kotlin/Native: Use WritableTypeInfo when creating Swift wrapper from the runtime
  • KT-70568 Native: revert workaround for debug with LLVM 16
  • KT-67730 Native: fix runtime compilation warnings after update to LLVM 16
Native. Runtime. Memory
  • KT-72624 Native: testRelease_on_unattached_thread sometimes fails with Releasing StableRef with rc 0
  • KT-71401 K/N: CMS barrier can be executed on an unregisterred thread
  • KT-70364 Kotlin/Native: data race during GC initialization
  • KT-68544 [Native] Implement heap dump tool
  • KT-70365 Kotlin/Native: make thread id be pointer size
Native. Swift Export
New Features
  • KT-71539 Swift Export: export class member overrides
  • KT-70442 Swift Export: export class inheritance
  • KT-68864 Refactor internal details of swift-export-standalone
Fixes
  • KT-70678 Swift Export: generate Kotlin<->Swift type mapping
  • KT-70920 Swift Export Nullability: primitive type
  • KT-71087 Swift Export: Nullability: Never
  • KT-71086 Swift Export: Nullability: Strings
  • KT-70919 Swift Export Nullability: reference type
  • KT-71026 Swift Export: function overloading with ref types does not work
  • KT-70960 Swift Export nullability: add nullability to sir and printer
  • KT-70063 Swift export generates invalid Swift code for class and function with the same name
  • KT-70069 Swift export: filter out extension properties
  • KT-70068 Swift export: nullable types are not marked as unsupported
  • KT-69287 Swift Export: support leaking dependencies
  • KT-69633 Provide interface for multiple module translation
  • KT-69286 [Swift Export][TestInfra] Support translating multiple roots
  • KT-69376 Property with Any type does not force addition of import
Reflection
  • KT-71378 KotlinReflectionInternalError: Inconsistent number of parameters in the descriptor and Java reflection object
Specification
  • KT-53427 Specify @SubclassOptInRequired
Tools. CLI
New Features
  • KT-8087 Make it possible to suppress warnings globally in compiler (via command-line option)
  • KT-71537 Add JVM target bytecode version 23
Fixes
  • KT-70991 K2: Compilation fails if project version has a comma
  • KT-70179 K2: Building a file with kotlin-test-junit without junit does not include annotations
  • KT-72311 KotlinCliJavaFileManagerImpl caches empty result and broke repeated analyses
  • KT-61745 K2: support light tree in multi-module chunk mode
  • KT-70885 Errors are not reported for wrong arguments in -Xsuppress-warning flag for non-jvm backends
  • KT-69541 K2: "IllegalArgumentException: Unexpected versionNeededToExtract" on using JAR packaged as ZIP64
  • KT-69434 K2: Kotlin compiler JarFS can't handle large dependencies (>2GB)
  • KT-70959 K2: Support legacy metadata jar format in K2 compiler
  • KT-70337 Obsolete code is not removed after refactoring - JvmEnvironmentConfigurator.registerModuleDependencies
  • KT-70322 Merge CLITool and CLICompiler classes
Tools. CLI. Native
  • KT-68673 Kotlin/Native "You have not specified any compilation arguments. No output has been produced" when no source nor -Xinclude is passed
Tools. Compiler Plugins
Fixes
  • KT-72804 Regression in Kotlin 2.1.0: compilation fails when building iOS
  • KT-72824 Kotlin power-assert plugin StringIndexOutOfBoundsException
  • KT-71658 Transform top-level atomic properties to Java boxed atomics
  • KT-65645 Atomicfu-plugin: compilation hangs on a long string concatenation
  • KT-69038 Power-Assert does not display const vals
  • KT-71525 Setting JvmAbiConfigurationKeys.REMOVE_PRIVATE_CLASSES = true triggers java.util.ConcurrentModificationException
  • KT-41888 IrExpression startOffset and endOffset are inconsistent with raw file text
  • KT-69856 Compose Plugin: IrType.erasedUpperBound throws NullPointerException when evaluating IrScript nodes due to missing targetClass
  • KT-69410 PowerAssert: Cannot find overload of requireNotNull without existing message
  • KT-66293 Atomicfu-plugin: wrong return types for lowered extension functions
  • KT-69646 PowerAssert: result of array access operator is unaligned
  • KT-70112 Power Assert: multiline assertion support
  • KT-70504 [atomicfu-plugin] Incremental compilation fails for atomic extensions on JVM
  • KT-70351 K2 CodeGen API exception triggered by a compose compiler plugin lowering transformer for data class example
  • KT-70113 Power Assert: tab support
  • KT-69806 K2: SOE on nested plugin-like annotation in class annotated with itself
  • KT-69538 jvm-abi-gen: Remove copy$default if data class constructor is private and ConsistentCopyVisibility is used
Tools. Compiler plugins. Serialization
  • KT-70110 Prohibit @Serializable on companion object of another @Serializable class
  • KT-69388 Serialization: "You should use ConeClassLookupTagWithFixedSymbol" caused by @Serializable on local generic class
Tools. Daemon
  • KT-69929 compileKotlin task reports that daemon has terminated unexpectedly
  • KT-72530 The daemon has terminated unexpectedly on startup attempt #​1 with error code: Unknown
Tools. Fleet. ObjC Export
Fixes
  • KT-71162 ObjCExport: nullable functional type with reference arguments
  • KT-71022 ObjCExport: enum c keywords translation
  • KT-71082 ObjCExport: KotlinUnit translated as Function1
  • KT-70781 ObjCExport: classifiers and callables type parameters translation
  • KT-70943 ObjCExport: extension order
  • KT-70840 ObjCExport: duplicated interfaces
  • KT-70642 ObjCExport: translate collection type arguments as id
  • KT-70546 ObjCExport: method generic parameter is lost and translated as id
  • KT-70329 ObjCExport: translation and forward of super generic types
  • KT-70263 ObjCExport: generic extension support
  • KT-69685 ObjCExport: extension translated as not extension
  • KT-70318 ObjCExport: translate companion type
  • KT-69252 ObjCExport: Get rid of context receivers from ./native/objcexport-header-generator
Tools. Gradle
New Features
  • KT-69940 Expose supplementary compiler warnings via KGP
  • KT-71603 Introduce KotlinJvmExtension and KotlinAndroidExtension
  • KT-70383 KotlinJvmFactory registerKaptGenerateStubsTask() function should also request compilation task provider
  • KT-65125 Provide basic support for Swift Export in Kotlin Gradle Plugin
  • KT-71602 Introduce KotlinTopLevelExtension
  • KT-69927 Need ability to pass KotlinJvmCompilerOptions to registerKotlinJvmCompileTask()
  • KT-71227 [Compose] Add PausableComposition feature flag to the Compose Gradle Plugin
  • KT-68345 'composeCompiler#stabilityConfigurationFile' doesn't allow setting multiple stability configuration files
Performance Improvements
Fixes
  • KT-71411 Add FUS statistics for new Dokka tasks
  • KT-72495 Warn about kotlin-compiler-embeddable loaded along KGP
  • KT-70543 Gradle: create migration guide for those who are using Kotlin compiler classes indirectly available in buildscripts
  • KT-69329 Compatibility with Gradle 8.9 release
  • KT-71291 Log plugins from the list as Gradle plugins
  • KT-69255 Deprecate KotlinCompilationOutput#resourcesDirProvider
  • KT-61706 Gradle: remove kotlin-compiler-embeddable from build runtime dependencies
  • KT-73128 Apply Kotlinlang template for partial HTMLs
  • KT-47897 Official Kotlin Gradle plugin api
  • KT-58858 Add KDoc documentation for Kotlin Gradle plugin API
  • KT-73076 Kotlin Gradle Plugin API Reference: adjust settings
  • KT-72387 KGP 2.1.0-RC-227 changes cause KSP to crash calling produceUnpackedKlib
  • KT-53280 Gradle plugin leaks some compiler related extensions into API
  • KT-69851 Compatibility with Gradle 8.10 release
  • KT-65565 Remove deprecated common platform plugin id
  • KT-69719 Bump minimal supported Gradle version to 7.6.3
  • KT-69721 Bump minimal supported Android Gradle plugin version to 7.3.1
  • KT-66944 Relax host requirements on Kotlin klib compilation
  • KT-72651 Unable to use target for KotlinBaseApiPlugin.createKotlin(Jvm/Android)Extension()
  • KT-72467 kotlin.sourceSets extension not added for KotlinBaseApiPlugin.createKotlinAndroidExtension()
  • KT-72303 KGP 2.1.0-Beta2 broke compatibility with KSP
  • KT-68596 Update KGP deprecations before 2.1
  • KT-67951 Update Compose extension KDoc
  • KT-66049 KGP JVM: Publishing isn't compatible with isolated projects and project dependencies
  • KT-71405 Compose compiler gradle plugin: project.layout.file can't be used as a value of the 'stabilityConfigurationFiles' option
  • KT-71948 KotlinJvmFactory : get rid of replaces with TODO()
  • KT-72092 Gradle: use packed klib variant as the default when no packaging attribute is present
  • KT-58956 Offer a shared interface for JVM and Android compilerOptions in Project extension
  • KT-70251 Gradle: hide compiler symbols in KGP
  • KT-70430 Clean-up obsolete Gradle plugin variants for Gradle versions <7.6
  • KT-69853 Compile against Gradle API 8.10
  • KT-69852 Run Gradle integration tests against Gradle 8.10 release
  • KT-65990 Update GradleDeprecatedOption.level values for arguments removed from the DSL after 2.1
  • KT-69331 Run tests against Gradle 8.9 release
  • KT-69332 Compile against Gradle 8.9 API
  • KT-67174 Cleanup old Test DSL
  • KT-71071 BuildFusStatisticsIT.testInvalidFusReportDir test failes on Windows
  • KT-69585 KGP / Composite Build: "Could not apply withXml() to generated POM" during publishing
  • KT-59769 Many "Unexpected exception happened" warnings during build without internet connection
Tools. Gradle. Cocoapods
  • KT-63811 cinterop fails to build klib for iosArm64 target when iOS simulator SDK isn't installed
  • KT-70500 Remove useLibraries from CocoaPods plugin
  • KT-56947 Replace AFNetworking with a smaller library in tests
Tools. Gradle. JS
  • KT-69628 K/Wasm: Node.js version per project
  • KT-71578 KotlinJS. Webpack does not recompile on changes with per-file
  • KT-71536 [JS, Wasm] Stop collecting information about KLIB IC in Kotlin2JsCompile
  • KT-70621 Move kotlin-test-js-runner out of Kotlin repository
  • KT-67442 KJS / Gradle: kotlinStorePackageLock fails due to OS-dependent lockfile with npm package manager
Tools. Gradle. Multiplatform
New Features
  • KT-70469 Add feature flag for Project Isolation and Kotlin Multiplatform
  • KT-70897 Add KotlinBaseApiPlugin.kotlinAndroidExtension
Fixes
  • KT-71206 KGP: Test source set may get duplicated KLIBs of different versions
  • KT-71209 Drop Hierarchy Template diagnostic about used shortcuts
  • KT-69412 Change KotlinTargetAlreadyDeclaredChecker's severity from warning to error
  • KT-70060 KGP: handleHierarchicalStructureFlagsMigration doesn't support project isolation
  • KT-57280 Expose Kotlin Project Structure metadata via consumable configurations instead of accessing all gradle projects directly
  • KT-64999 Support Project Isolation with Kotlin Native tasks (XCode integration, Cocoapods etc)
  • KT-64998 Granular Metadata Dependencies Transformation is not compatible with Project Isolation
  • KT-70650 GenerateProjectStructureMetadata is not compatible with Project Isolation
  • KT-71675 checkSandboxAndWriteProtection collides with Compose's syncComposeResources
  • KT-66461 Promote compiler options DSL for multiplatform projects to stable
  • KT-69323 Don't pass platform dependencies to metadata compilation
  • KT-72454 Revert changes made in KT-69899 i.e. make kotlin.android.buildTypeAttribute.keep = false by default again
  • KT-70380 KMM App failed to consume android binary lib
  • KT-71423 Xcode archive missing dSYM files since Kotlin 2.0.20
  • KT-69899 KMP: Publish BuildType by default for android publications with multiple variants
  • KT-71428 Change deprecation message for KMP target shorcuts
  • KT-58231 Kotlin Gradle Plugin: set deprecation level to Error for KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImport
  • KT-72068 Distribution for klib cross-compilation is not downloaded during compile tasks
  • KT-70612 Report incompatibility warning when Project Isolation enabled and Included builds are used
  • KT-71529 Deprecate targetFromPreset API with an error
  • KT-69614 Deprecate with error ios/tvos/watchos presets
  • KT-69974 KMP: POM dependency rewriter doesn't work with Included Builds OR dependencySubstitution
  • KT-69472 Remove IncompatibleAgpVersionTooHighWarning diagnostic
  • KT-64996 Commonize Native Distribution task is not compatible with Project Isolation
  • KT-62911 Export Kotlin Multipaltform Project Coordinates as a secondary variant of apiMetadataElements
  • KT-70888 Project isolation: Project cannot dynamically look up a property in the parent project at PropertiesProvider.propertiesWithPrefix
  • KT-70688 Move ExperimentalSwiftExportDsl to another package
  • KT-58298 AndroidAndJavaConsumeMppLibIT maintenance: Convert to new infrastructure and add test for newer AGP versions
  • KT-68976 K2 IDE: Unresolved FileSystem.SYSTEM from OKIO in shared source sets
Tools. Gradle. Native
  • KT-67162 KGP: Kotlin/Native with Isolated Projects: kotlinNativeBundleBuildService cannot be changed any futher
  • KT-72366 KGP 2.1.0-Beta2 doesn't download kotlin-native-prebuilt when running Dokka
  • KT-45559 CInteropProcess: Changes to header files are not recognized; Task is still UP-TO-DATE
  • KT-71051 K/N dependencies are re-downloaded multiple times on Windows
  • KT-71398 kotlinNativeBundleConfiguration should not contain dependencies on unsupported platforms
  • KT-71722 kotlinNativeBundleConfiguration present in JVM-only Gradle project
  • KT-55832 Support passing errors to Xcode when configuration cache is enabled
  • KT-70690 not possible to build iOS app with Swift Export and Xcode 16
  • KT-65838 Remove project usage from PlatformLibrariesGenerator
  • KT-70875 KSP1 native tasks fail on configuration phase
Tools. Incremental Compile
  • KT-69123 IC: "NoSuchFieldError: No instance field". Not tracking changes to Android ViewBinding class
Tools. JPS
  • KT-68565 K2: IllegalStateException: Source classes should be created separately before referencing
  • KT-71042 JAVA_MODULE_DOES_NOT_READ_UNNAMED_MODULE when compiling IntelliJ
Tools. Kapt
  • KT-72249 K2 KAPT Not picking up use site annontation like K1 Kapt
  • KT-69860 K2 kapt: use compiler directly instead of Analysis API
  • KT-71776 K2 Kapt in 2.1.0-Beta1 fails with e: java.lang.IllegalStateException: FIR symbol "class org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol" is not supported in constant evaluation
  • KT-70879 Kapt: check that Kotlin 2.1 language features are ignored correctly by K1 kapt
  • KT-71431 K2KAPT fails on modules without any annotation processors
  • KT-70600 K2 KAPT: inline reified function has a null signature
  • KT-70718 Kapt: "error: could not load module " on error type in data class component
  • KT-69861 Kapt: use IR to obtain line information instead of PSI
Tools. REPL
  • KT-71109 Kotlin Scripting REPL doesn't support keyboard shortcuts
Tools. Scripts
  • KT-68685 K2 / Script: "KotlinReflectionInternalError: Unresolved class:" caused by main.kts script with nested classes and reflection
  • KT-68545 Using labeled this access to implicit receivers fails in scripts
Tools. Wasm
  • KT-67797 Improve the variable view during debugging in Fleet for Kotlin/Wasm
  • KT-71506 [Wasm, IC] FUS report for builds with incremental compilation
  • KT-70100 wasmJs Target Fails to Compile on ARM64 Linux
  • KT-70367 Update binaryen once we get a release with PR 6793
  • KT-67863 K/Wasm: Remove ChromeWasmGc
  • KT-71360 K/JS & K/Wasm: Upgrade NPM dependencies
  • KT-70297 Wasm: Incorrect kotlinJsTestRunner version set in Multi-Project Builds with mixed kotlin-stdlibs

v2.0.21: Kotlin 2.0.21

Changelog
Apple Ecosystem
Backend. Native. Debug
  • KT-71374 lldb: step out breaks breaking in Xcode 16
Compiler
Fixes
  • KT-69735 K2: Static fields are missing from the declaration list of corresponding IrClass for java class
  • KT-71122 Regression in Kotlin Compiler 2.0 causing NPE in the runtime
  • KT-70931 K2 / Scripts: "cannot convert IrExpression to ConstantValue" when using function annotation
  • KT-70584 K2: "IllegalStateException: flow for PostponedLambdaExitNode not initialized - traversing nodes in wrong order?"
  • KT-70808 K2: "node has already been visited" with anonymous object in dead code
  • KT-69985 K2: Classifier declarations from root package are resolved without imports in non-root packages
  • KT-70683 K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwner
  • KT-70901 False positive Public-API inline function cannot access non-public-API property accessor
  • KT-70930 K2: Java annotations not present on ENUM_ENTRY IR elements
  • KT-70194 K2 IDE: exception on a very red file
  • KT-69399 Native: IllegalStateException: "Failed to build cache"
Compose compiler
Fixes
  • b/329477544 Force open / overridden Composable functions to be non-restartable.
  • b/361652128 Disable live literal transform if the corresponding flag is disabled
IR. Actualizer
  • KT-70894 IR crash. Unprocessed IrFunctionFakeOverrideSymbol when actualize to Java
IR. Tree
  • KT-71191 SymbolTable: Check if the provided signature is public before adding a symbol to the SymbolTable
Native. Build Infrastructure
  • KT-71485 K/N runtime parts don't build due to _Float16 issues on x86_64 macOS
Native. C Export
  • KT-69507 LLVM 11 clang with Xcode 16 headers: standard c++ headers
Native. C and ObjC Import
  • KT-71029 Investigate why stdarg.h declarations leak into testModuleA
Native. Platform Libraries
  • KT-70566 LLVM 11 clang with Xcode 16 headers: 'sys/cdefs.h' file not found
  • KT-71624 Eliminate remaining UIKit/AppKit removed signatures
  • KT-70031 Rebuild platform libraries in 2.0.21 with Xcode 16
Native. Testing
  • KT-70603 C++ with -fmodules: cyclic dependency in module 'std': std -> _wctype -> __wctype -> std in dev llvm toolchains
Tools. CLI. Native
  • KT-71262 KotlinNativeLink tasks fetching from network despite -Xoverride-konan-properties=dependenciesUrl= being set
Tools. Compiler Plugins
  • KT-71038 PowerAssert: Constant on RHS of elvis operator leads to compiler crash
Tools. Daemon
  • KT-35381 Get rid of the native-platform usage in kotlin compiler
Tools. Gradle. Multiplatform
  • KT-71444 Certain POMs produced by Kotlin 2.0.20 cannot be consumed by KMP projects with Android targets
  • KT-70700 Gradle 8.10: The value for task ':commonizeNativeDistribution' property 'kotlinNativeBundleBuildService' cannot be changed any further
  • KT-71396 Gradle client side JVM explodes with OOM due to xcodebuild logs
Tools. Gradle. Native
  • KT-71419 Light bundle KGP IT run against a stable K/N version
Tools. JPS
  • KT-71450 Constant build failure: com.intellij.util.io.ClosedStorageException: storage is already closed

v2.0.20: Kotlin 2.0.20

Changelog
Analysis. API
New Features
  • KT-68143 Analysis API: support KtWhenConditionInRange call resolution
Performance Improvements
  • KT-67195 K2: do not call redundant resolve on body resolution phase for classes
Fixes
  • KT-67360 Analysis API: KtDestructuringDeclarationSymbol#entries shouldn't be KtLocalVariableSymbol
  • KT-67748 K2: AllCandidatesResolver modifies the original FirDelegatedConstructorCall
  • KT-68198 Analysis API: Support application service registration in plugin XMLs
  • KT-62936 Analysis API: NativeForwardDeclarationsSymbolProvider is not supported for Kotlin/Native
  • KT-68689 LL API: support analysis from builtins module
  • KT-69630 KAPT User project builds with KAPT4 enabled fail with Metaspace overflow
  • KT-65417 K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source sets
  • KT-68882 Analysis API: Refactor KaSymbols
  • KT-65413 K2 IDE: KTOR unresolved serializer() call for @Serializable class in common code
  • KT-67996 Analysis API: rename Kt prefix to Ka
  • KT-67775 Analysis API: expose only interfaces/abstract classes for the user surface
  • KT-68009 K2: lowering transformers of Compose compiler plugin access AbstractFir2IrLazyFunction modality, which results in null point exception
  • KT-68918 collectCallCandidates works incorrectly for parenthesis invoke
  • KT-68462 Analysis API: Integrate project-structure module into analysis-api and analysis-api-platform-interface
  • KT-69131 AA: "provideDelegate" operator is not resolved from the delegation reference in FIR implementation
  • KT-69055 Analysis API: Stabilize KaScopes
  • KT-66216 K2 IDE. "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" on incorrect string template
  • KT-68959 Introduce KaSeverity
  • KT-53669 Analysis API: redesign KtSymbolOrigin to distinguish kotlin/java source/library declarations
  • KT-68846 Mark KaFirReference and all implementations with internal modifier
  • KT-68845 Move KaSymbolBasedReference to resolution package
  • KT-68844 Move KaTypeProjection to types package
  • KT-65849 K2: Rename 'high-level-api' family of JARs to 'analysis-api'
  • KT-62540 Remove uses of TypeInfo.fromString and TypeInfo.createTypeText from Kotlin plugin
  • KT-62889 K2 IDE. FP MISSING_DEPENDENCY_CLASS on not available type alias with available underlying type
  • KT-68155 Analysis API: Add PSI validity check to analyze
  • KT-62343 Analysis API: fix binary incopatibility problems cause by KtAnalysisSessionProvider.analyze being inline
  • KT-68498 To get reference symbol the one should be KtSymbolBasedReference
  • KT-68393 Analysis API: Rename KaClassLikeSymbol. classIdIfNonLocal to classId
  • KT-62924 Analysis API: rename KtCallableSymbol.callableIdIfNonLocal -> callableId
  • KT-66712 K2 IDE. SOE on settings string template for string variable with the same name
  • KT-65892 K2: "We should be able to find a symbol" for findNonLocalFunction
  • KT-68273 AA: support KtFirKDocReference#isReferenceToImportAlias
  • KT-68272 AA: KtFirReference.isReferenceToImportAlias doesn't work for references on constructor
  • KT-66996 Analysis API: Expose the abbreviated type of an expanded KtType
  • KT-66646 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl from FirJsHelpersKt.isExportedObject
  • KT-68203 K2: Analysis API: wrong type of receiver value in case of imported object member
  • KT-68031 LL resolve crash in case of PCLA inference with local object
  • KT-67851 K2: PsiReference#isReferenceTo always returns false for references to Java getters
  • KT-68076 AA: use type code fragments for import alias detection
  • KT-65915 K2: Analysis API: extract services registration into xml file
  • KT-68049 Analysis API: do not expose imported symbols
  • KT-68075 K2: Analysis API: Type arguments for delegation constructor to java constructor with type parameters not supported
  • KT-65190 AA: reference to the super type is not resolved
  • KT-68070 AA: KtExpressionInfoProvider#isUsedAsExpression doesn't work for KtPropertyDelegate
  • KT-67743 K2: Stubs & AbbreviatedTypeAttribute
  • KT-67706 K2: "KtDotQualifiedExpression is not a subtype of class KtNamedDeclaration" from UnusedChecker
  • KT-68021 Analysis API: do not break the diagnostic collection in a case of exception from some collector
  • KT-67973 AA FIR: wrong KtCall modeling for == from type bound
  • KT-67949 AA: Type arguments of Java methods' calls are not reported as used by KtFirImportOptimizer
  • KT-67988 AA: functional type at receiver position should be wrapped in parenthesis
  • KT-66536 Analysis API: ContextCollector doesn't provide implicit receivers from FirExpressionResolutionExtension
  • KT-67321 AA: Type arguments of Java methods' calls are not resolved
  • KT-64158 K2: "KotlinIllegalArgumentExceptionWithAttachments: No fir element was found for KtParameter"
  • KT-60344 K2 IDE. "KotlinExceptionWithAttachments: expect createKtCall to succeed for resolvable case with callable symbol" on attempt to assign value to param named getParam
  • KT-64599 K2: "expect createKtCall to succeed for resolvable case with callable" for unfinished if statement
  • KT-60330 K2 IDE. ".KotlinExceptionWithAttachments: expect createKtCall to succeed for resolvable case with callable symbol" on attempt to assign or compare true with something
  • KT-66672 K2 IDE. False positive INVISIBLE_REFERENCE on accessing private subclass as type argument in parent class declaration
  • KT-67750 Analysis API: Remove infix modifiers from type equality and subtyping functions
  • KT-67655 Analysis API: declare a rule how to deal with parameters in KtLifetimeOwner
  • KT-61775 Analysis API: KtKClassAnnotationValue lacks complete type information
  • KT-67168 K2: Analysis API: Rendering is broken for JSR-305 enhanced Java types
  • KT-66689 Analysis API: KtFirPackageScope shouldn't rely on KotlinDeclarationProvider for binary dependencies in standalone mode
  • KT-60483 Analysis API: add isTailrec property to KtFunctionSymbol
  • KT-67472 K2: Analysis API FIR: KtFunctionCall misses argument with desugared expressions
  • KT-65759 Analysis API: Avoid hard references to LLFirSession in session validity trackers
  • KT-60272 K2: Implement active invalidation of KtAnalysisSessions
  • KT-66765 K2: Analysis API: support classpath substitution with library dependencies in super type transformer
  • KT-67265 K2: status phase should resolve original declarations in the case of classpath subsitution
  • KT-67244 K2: StackOverflowError in the case of cyclic type hierarchy and library classpath substitution
  • KT-67080 K2: clearer contract for lazyResolveToPhaseWithCallableMembers
  • KT-66713 K2 FIR: Expose a way to get the module name used for name mangling
  • KT-61892 KtType#asPsiType could provide nullability annotations
  • KT-66122 Analysis API: Pass KtTestModule instead of TestModule to tests based on AbstractAnalysisApiBasedTest
Analysis. Light Classes
  • KT-65714 K2: IDE K2: "org.jetbrains.kotlin.analysis.api.fir.symbols.pointers.KtFirClassLikeSymbolPointer pointer already disposed"
  • KT-65835 SymbolLightClassForClassLike.getName returns null for a companion object instead of Companion
  • KT-68261 SLC: Constructors of sealed classes should be private
  • KT-68696 Drop DecompiledPsiDeclarationProvider-related stuff
  • KT-68404 SLC: wrong binary resolution to declaration with @JvmName
  • KT-68275 LC: no arg constructor is not visible in light classes
  • KT-66687 Symbol Light Classes: Duplicate field names for classes with companion objects
  • KT-66804 Symbol Light Classes: Fields from the parent interface's companion are added to DefaultImpls
Apple Ecosystem
  • KT-65542 Cinterop tasks fails if Xcode 15.3 is used
Backend. Native. Debug
  • KT-67567 Native: after updating to LLVM 16 lldb hangs when smooth stepping
Backend. Wasm
  • KT-70591 To much sources that don't exist inside SourceMap file
  • KT-69529 compileProductionExecutableKotlinWasmJs FAILED: No such value argument slot in IrConstructorCallImpl: 1 (total=1)
  • KT-68088 Wasm: "UNREACHABLE executed at Precompute.cpp:838" running gradle task wasmJsBrowserDistribution for compose multiplatform on Windows
  • KT-65798 K/Wasm: make an error on default export usage
  • KT-68828 Wasm test failure. expect-actual. private constructor in expect
  • KT-68453 K/Wasm: "Supported JS engine not detected" in Web Worker
  • KT-64565 Kotlin/wasm removeEventListener function did not remove the event listener
  • KT-65322 [Wasm] Clean-up bootstrap code
  • KT-66099 Wasm: local.get of type f64 has to be in the same reference type hierarchy as (ref 686) @​+237036
  • KT-63230 [WASM] println(null) prints 'ul'
Compiler
New Features
  • KT-58310 Consider non-functional type constraints for type variable which is an expected type for lambda argument
  • KT-68969 Consider implementing general "redundant interpolation prefix" warning
  • KT-57872 Improve "Public-API inline function cannot access non-public-API" check
  • KT-68165 Native: type checks on generic types boundary
  • KT-67611 Implement improved handling of $ in literals
  • KT-67787 Implement guard conditions for when-with-subject
  • KT-39868 Allow access to protected consts and fields from a super companion object
  • KT-66169 useContents lacks a contract
  • KT-67767 Introduce an ability to enforce explicit return types for public declarations without enabling Explicit API mode
  • KT-65841 Allow to actualize expect types in kotlin stdlib to builtins in JVM
  • KT-53834 Support for JSpecify @NullUnmarked
Performance Improvements
  • KT-69995 K2: Slow compilation when star projecting mutually recursive bounds from java
  • KT-69723 K2: code analysis taking too long
  • KT-69898 K2: Performance degradation in fir2ir caused by changes around intersection types
  • KT-68034 Devirtualization analysis fails to devirtualize string.get
Fixes
  • KT-67102 IR Evaluator: NoSuchFieldException when accessing a private delegated property
  • KT-35305 "Overload resolution ambiguity" on function for unsigned types (UByte, UShort, UInt, ULong)
  • KT-69211 K2: java.lang.IllegalArgumentException: Failed requirement
  • KT-68874 Types with different captured types as type arguments are rendered incorrectly
  • KT-66086 K/N: Unchecked illegal cast is not thrown
  • KT-70186 Kotlin 2.0.20-Beta2: Unexpected number of type arguments: 0
  • KT-68889 K2: type variable should not be fixed
  • KT-69835 K2 / Native: kotlin.native.binary.gc=cms throws library cached but its dependency isn't error
  • KT-70417 DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE leads to NPE in BE
  • KT-69964 K2: Returning from an in-place lambda doesn't compile
  • KT-69773 K2: "Overload resolution ambiguity between candidate" with arrays
  • KT-60261 K2: No origin is set for composite assignment operators
  • KT-15388 Forbid delegated property to have external getter/setter
  • KT-70238 K2: false negative VOLATILE_ON_VALUE for constructor properties
  • KT-68669 K2: Generate inherited delegated members after actualization
  • KT-63828 K2: Missing signature metadata for accessors of properties inherited from delegate
  • KT-63871 K2: different value of isNotDefault flag for property inherited from delegate
  • KT-67119 Migration warning from context receivers to context parameters
  • KT-68997 K2: "No accessor found" for an inline value class when query the value of a delegated class by reflection
  • KT-64106 Native: the compiler allows using -opt and -g at the same time
  • KT-69766 K2: False negative: Internal setter of generic class is accessible from another module
  • KT-68364 JVM: ISE "Bad exception handler end" on a non-local break/continue inside try with finally
  • KT-69494 StackOverflowError in CfgTraverserKt.getPreviousCfgNodes
  • KT-56880 K2. Conflicting overloads for main() isn't shown when language version is set to 2.0
  • KT-69282 K2: equality of unsigned types with nullability works incorrectly
  • KT-68492 JVM IR backend: IDE / Kotlin Debugger: AE “Non-reified type parameter under ::class should be rejected by type checker” on evaluating private generic function
  • KT-70039 K2: inconsistent stability of vals of captured receivers
  • KT-44139 Don't report overload resolution ambiguities if arguments contain an error type
  • KT-68996 K2: "Not enough information to infer type argument" caused by typealias annotation with fixed generic argument
  • KT-55851 K2: reference to a field from package private class crashes in runtime
  • KT-65038 K2: Type alias from indirect dependency causes MISSING_DEPENDENCY_CLASS error
  • KT-61875 Native: remove support for bitcode embedding
  • KT-67693 Implement checkers for K1 compiler which will check the usage of K2 new features and report that they are not supported in K1 compiler
  • KT-68556 K2: false negative PROPERTY_WITH_NO_TYPE_NO_INITIALIZER on uninitialized property without type
  • KT-60445 K2/Java: investigate possible symbol clash while enhancing Java class type parameter bounds
  • KT-64193 K2: No smartcast with two boolean expressions in a row
  • KT-65546 K2. implement extended checker for unused anonymous parameter in lambda
  • KT-68358 @EnhancedNullability is missing on value parameter type after inheritance by delegation with strict JSpecify enabled
  • KT-67791 False negative "Synchronizing by Meters is forbidden" with inline value classes
  • KT-69495 k2: inconsistent output of unsigned number in string templates
  • KT-69619 K2. JAVA_TYPE_MISMATCH when Kotlin out generic type used in Java
  • KT-69563 trying to call .source on FirPackageFragmentDescriptor results in exception
  • KT-69611 Internal annotation FlexibleArrayElementVariance is written to output jar
  • KT-69463 K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERS with expect/actual declarations
  • KT-68724 K2: "ABSTRACT_MEMBER_NOT_IMPLEMENTED" caused by open modifier on interface
  • KT-69182 K2: OptIn on enum companion blocks enum constants
  • KT-69191 K2: "Unresolved reference" caused by nested data objects
  • KT-69569 Wrong paths when one type has multiple annotated arguments
  • KT-55128 Wrong type path in type annotations when type arguments are compiled to wildcards
  • KT-67692 Native: support LLVM opaque pointers in the compiler
  • KT-69402 FirSupertypeResolverVisitor: ConcurrentModificationException
  • KT-69062 K1: false-negative "unsupported feature" error on multi-dollar interpolation
  • KT-68967 Consider demoting warnings about multi-dollar interpolation to IJ inspections
  • KT-68957 False-negative diagnostics about multi-dollar interpolation on string literals without interpolation
  • KT-69476 False negative NO_ELSE_IN_WHEN on when over intersection type with expect enum/sealed class
  • KT-67069 K2: Delegated member calls interface method instead of fake override
  • KT-63864 K2: Missing abbreviated type in metadata
  • KT-59833 K2: Stop modifying values of enum entries
  • KT-69421 K2: Resolve changed from delegated function to java default function
  • KT-69392 K2: "UNSAFE_CALL": when with some variable subjects does not smartcast the variable
  • KT-69053 K2: Unsupported intersection overrides for fields
  • KT-69227 K2: "Argument type mismatch" caused by generic typealias and upper bound
  • KT-31371 NOT_YET_SUPPORTED_IN_INLINE: incorrect error message for local inline function
  • KT-49473 PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' property
  • KT-49474 NON_PUBLIC_CALL_FROM_PUBLIC_INLINE: specialize error message for 'inline' property
  • KT-49503 SUPER_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' property
  • KT-11302 On inapplicable '@JvmStatic' annotation, highlight only the annotation, not the function signature
  • KT-59510 K2: do not render annotations in the deprecation diagnostic
  • KT-68532 "This code uses error suppression for 'INAPPLICABLE_JVM_NAME'. While it might compile and work, the compiler behavior is UNSPECIFIED and WON'T BE PRESERVED"
  • KT-68859 K2: unable to suppress only "JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE"
  • KT-68469 [K2] MISSING_DEPENDENCY_CLASS caused by redundant @file:JvmName
  • KT-68999 K2: Unify the style of FIR generator with IR and SIR tree-generators
  • KT-66061 Kotlin/Native - building shared module for iOS - Argument list too long
  • KT-49420 Suspicious behaviour of frontend in case of DefinitelyNotNull type overload
  • KT-59752 K2: "Conflicting overloads" if function with same signature added to different contexts
  • KT-68618 K1: Unresolved reference for qualified this in implicit type
  • KT-25341 NOT_YET_SUPPORTED_IN_INLINE reported over anonymous object border
  • KT-69215 K2: IllegalArgumentException for delegated function in anonymous object with captured type parameters
  • KT-69044 Destructuring declaration shouldn't be possible in declaration in when
  • KT-69028 K2: FirJvmActualizingBuiltinSymbolProvider returns null on builtins declarations if common source-set is not presented
  • KT-15704 Rethink usage of term "type annotation" in error messages
  • KT-68970 K2. Argument type mismatch caused by out projection in inferred type from if - else
  • KT-68800 K2: Delete ConeAttributes.plus method
  • KT-59389 K2: Missing AMBIGUOUS_LABEL
  • KT-68803 K2: Smart cast fails with "Unresolved reference" when @Suppress("UNCHECKED_CAST") used in statement
  • KT-68968 K2: Missing ILLEGAL_SUSPEND_FUNCTION_CALL diagnostic in initialization code of a local class inside suspend function
  • KT-68336 K2 does not seem to pass the right constructor arguments to custom scripts
  • KT-68517 "IrSimpleFunctionSymbolImpl is unbound" for actual class containing non-actual functions
  • KT-59678 K2: Investigate ConeKotlinType.unCapture()
  • KT-69027 K2: Initialize FirStdlibBuiltinSyntheticFunctionInterfaceProvider in library session
  • KT-62818 K2: improve VAR_OVERRIDDEN_BY_VAL diagnostic message
  • KT-68214 Rename TypeApproximatorConfiguration properties for clarity
  • KT-68093 Implement deprecation of smartcasts on class-delegated properties
  • KT-67270 Native: report more performance metrics from the compiler
  • KT-68621 DATA_CLASS_INVISIBLE_COPY_USAGE false negative for inline fun
  • KT-68568 K2: False-positive ACCIDENTAL_OVERRIDE caused by missing dependency class
  • KT-66723 K2: NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS for actual typealias that extends to Java class with complicated hierarchy that includes default method
  • KT-69000 Can't render constructor of intersection type
  • KT-68849 K2: "ClassCastException: cannot be cast to kotlin.jvm.functions.Function2" caused by passing lambda to SAM constructor results
  • KT-61744 Native: -Xsave-llvm-ir-after fails to check errors from LLVMPrintModuleToFile
  • KT-67103 Support AbbreviatedTypeAttribute for aliased types from the source code
  • KT-63921 K2: different representation of recursive type aliases
  • KT-68679 K2: "Override has incorrect nullability in its signature compared to the overridden declaration" caused by subclass of Android HashMap
  • KT-64335 K2: improve rendering of captured types in diagnostic messages
  • KT-68820 K2: "Unresolved reference" on calling function with "contract" name
  • KT-67933 K2: no conversion between fun interfaces if target has suspend
  • KT-68230 K2: FirMissingDependencyClassChecker: Not supported: ConeFlexibleType
  • KT-68531 K2: False-negative error on assignment to enum entry
  • KT-68446 K2: compile-time failure on smart-casted generic value used as a when-subject in a contains-check with range
  • KT-68678 K2: Drop using FirBuiltinSymbolProvider while compiling JVM stdlib
  • KT-68382 Get rid of context receivers in FirScript implementation
  • KT-68585 Implement new rules for CFA about enum entries
  • KT-68110 K2: "Java type mismatch" caused by spring.Nullable
  • KT-68613 K2: False positive CONFLICTING_PROJECTION after fixing KT-67764
  • KT-67764 K2: False negative: Projection problem is not reported in is expression
  • KT-67887 Expection on assigning to private field of value type
  • KT-67801 NSME on evaluating private member function with value class parameter
  • KT-67800 NSME on evaluating private top-level function with value class parameter
  • KT-68542 K2: Fix referecing to @ExtensionFunctionType if it's declared in source
  • KT-68188 K2: Properly support FunctionN creation for stdlib compilation
  • KT-67946 K2: Crash on red code: Instead use FirErrorTypeRef for ERROR CLASS: Cannot infer argument for type parameter T
  • KT-68526 K2: false-negative inconsistent data class copy visibility warning on call to generic data class copy function
  • KT-68528 K2: false-positive inconsistent data class copy visibility warning on call to function from another module with identical value parameter types and return type
  • KT-68525 K2: false-negative inconsistent data class copy visibility warning on callable reference to data class copy function
  • KT-68617 K2: Secondary constructors in a sealed class have private visibility instead of protected in the generated IR
  • KT-63920 K2: Private secondary sealed class constructor is private in metadata, but protected in K1
  • KT-57996 Usages of Foo @Nullable []produce only warnings even with-Xtype-enhancement-improvements-strict-mode -Xjspecify-annotations=strict`
  • KT-68207 K2: Investigate if losing ConeIntersectionType.upperBoundForApproximation during approximation leads to any issues
  • KT-64990 K2: Remove usages of SymbolTable from FIR2IR
  • KT-67798 NSME on assigning to private delegated property of value class
  • KT-68264 K2: confusing INVISIBLE_* error when typealias is involved
  • KT-68529 K2: false-negative redundant annotation warning on @ExposedCopyVisibility on data class with public constructor
  • KT-67943 Approximation should not generate types with UPPER_BOUND_VIOLATION errors
  • KT-67503 K2: False negative "Type Expected" when attempting to annotate a wildcard type argument
  • KT-68187 K2: Create IrBuiltins in fir2ir only after IR actualization
  • KT-66443 K2: ArrayIterationHandler doesn't work if UIntArray declared in sources
  • KT-68291 K2 / Contracts: Non-existent invocation kind is suggested as a fix
  • KT-68209 K2: Strange import suggestion when lambda body contains invalid code
  • KT-67368 "NullPointerException: Parameter specified as non-null is null" local lambda creates new not-null checks with 2.0.0-Beta5
  • KT-51433 FE 1.0: implement warnings about label resolve changes
  • KT-66554 K2. Drop FIR based fake-override generator from fir2ir
  • KT-64202 K2: Drop old methods for calculation of overridden symbols for lazy declarations
  • KT-67895 K2: Properly implement generation of fake-overrides for fields
  • KT-54496 K2: REDUNDANT_MODALITY_MODIFIER diagnostic disregards compiler plugins
  • KT-63745 K2: Approximation of DNN with nullability warning attribute leads to attribute incorrectly becoming not-null
  • KT-63362 AbstractTypeApproximator fixes only first local type in hierarchy
  • KT-67769 K2: "variable must be initialized" on unreachable access in constructor
  • KT-51195 FIR IC: Incremental compilation fails with @PublishedApi property
  • KT-67966 No JVM type annotation is generated on a class supertype
  • KT-46640 Generate JVM type annotations on wildcard bounds
  • KT-67952 Annotations on type parameters are not generated for parameters other than the first
  • KT-68012 K2. No 'operator' modifier is required on 'component' error in K2
  • KT-61835 K2: FirStubTypeTransformer receives unresolved expressions in builder inference session
  • KT-63596 K1/K2: Different behavior for lambda with different return type
  • KT-67688 K2: False positive CANNOT_INFER_PARAMETER_TYPE for Unit constraint type variable
  • KT-62080 False positive UNUSED_VARIABLE for variable that is used in lambda and in further code with several conditions
  • KT-60726 K2: Missed TYPE_MISMATCH error: inferred type non-suspend function but suspend function was expected
  • KT-41835 [FIR] Green code turns to red in presence of smartcasts and redundant type arguments
  • KT-67579 K1/JVM: false-negative annotation-based diagnostics on usages of ABI compiled with non-trivially configured generation of default methods
  • KT-67493 K2: argument type mismatch: actual type is 'T', but 'T' was expected
  • KT-64900 K2: getConstructorKeyword call in PsiRawFirBuilder.toFirConstructor forces AST load
  • KT-67648 K2: wrong exposed visibility errors with WRONG_MODIFIER_CONTAINING_DECLARATION on top-level enum class
  • KT-58686 FIR2IR: Don't use global counters
  • KT-67592 K2: Success execution of :kotlin-stdlib:compileKotlinMetadata
  • KT-60398 K2: consider forbidding FirBasedSymbol rebind
  • KT-54918 Refactor transformAnonymousFunctionWithExpectedType
  • KT-63360 K2: Malformed type mismatch error with functional type
  • KT-67266 K2: disappeared INLINE_CLASS_DEPRECATED
  • KT-67569 K2: Fix default value parameters of Enum's constructor if it's declared in source code
  • KT-67378 K2: Don't use wrapScopeWithJvmMapped for common source sets
  • KT-67738 K2: Introduce kotlin.internal.ActualizeByJvmBuiltinProvider annotation
  • KT-64456 K2: Port *VersionRequirementTest to K2
  • KT-67136 Put $this parameter to LVT for suspend lambdas
  • KT-62538 K2: Declarations inside external classes should be implicitly external
  • KT-67627 K2: External interface companion isn't external in IR
  • KT-60290 K2: origin is not set for !in operator
  • KT-67512 K2: false positive WRONG_GETTER_RETURN_TYPE when getter return type is annotated
  • KT-67635 K2: No warning TYPE_MISMATCH_WHEN_FLEXIBILITY_CHANGES for SAM constructor with inferred type
  • KT-60501 K2 Scripting: investigate metadata difference between K1 and K2
  • KT-67598 K2: Fix incorrect casting UByte to Number in FirToConstantValueTransformer
  • KT-56564 False positive "non-exhaustive when" in case of intersection type
  • KT-63969 K2: extra property in metadata
  • KT-63968 K2: extra property in metadata for anonymous variable in script
  • KT-67547 K/N can't build caches, fails with "clang++: error=2, No such file or directory"
  • KT-67469 K2: Failing module in FP-intellij
  • KT-64033 K2: Investigate ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound
  • KT-64457 K2: Fix DecompiledKnmStubConsistencyK2TestGenerated
  • KT-66377 IR Evaluator: "no container found for type parameter" when evaluating nested generics
  • KT-66378 IR Evaluator: Symbol is unbound
  • KT-64506 IDE, IR Evaluator: NPE in ReflectiveAccessLowering.fieldLocationAndReceiver when evaluating private static properties
  • KT-67380 K2: Don't check for equals overriding for class Any
  • KT-67038 K2: Missing type of FirLiteralExpression causes an exception for property initializer type resolution
  • KT-59813 K2: Fix the TODO about firEffect.source in FirReturnsImpliesAnalyzer
  • KT-59834 K2: Fix the TODO about merge(other) in UnusedChecker
  • KT-59188 K2: Change positioning strategy for WRONG_NUMBER_OF_TYPE_ARGUMENTS error
  • KT-59108 K2. SMARTCAST_IMPOSSIBLE instead of UNSAFE_IMPLICIT_INVOKE_CALL
  • KT-65503 The inline processor cannot handle objects inside the lambda correctly when calling an inline function from another module
  • KT-30696 NoSuchMethodError if nested anonymous objects are used with propagation reified type parameter
  • KT-58966 Incorrect type inference for parameters with omitted type of anonymous function that is being analyzed as value of function type with receiver
  • KT-67458 Use @PhaseDescription for JVM backend lowering phases
  • KT-65647 K2 ignores diagnostics on sourceless FirTypeRefs
  • KT-64489 K2: Rename FirAugmentedArraySet
  • KT-67394 FIR: Make FIR repr of For from PSI and LightTree the same
  • KT-66724 K2 IDE. False positive errors because of wrong type inference in complex case of delegated property and type arguments
  • KT-40248 Confusing error message NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY
  • KT-66947 K2: false-positive JSpecify nullability enhancement warning on Java wildcard type argument with same base type but different nullabilities as upper and lower bounds
  • KT-66974 K2: false-negative JSpecify nullability enhancement warning on nullable projection of Java wildcard type argument with non-null bounds in out-position
  • KT-66946 K2: false-negative JSpecify nullability enhancement warning on Java wildcard type argument with nullable upper bound in out-position
  • KT-66442 K2: No visibility error on importing private aliases
  • KT-66598 K2: Allow comparisons, is-checks and casts between Kotlin and platform types
  • KT-55966 K2: Not enough information to infer type variable K if smartcast is used
  • KT-64894 OPT_IN_ARGUMENT_IS_NOT_MARKER diagnostic message is unclear
  • KT-67019 K2: IR has incorrect EQ origins for some inplace updating operators
  • KT-59810 K2: Support other ConstraintPosition-s
  • KT-55383 K1/K2: isClassTypeConstructor behaves differently for stub types
  • KT-60089 K2: Introduced ERROR_IN_CONTRACT_DESCRIPTION
  • KT-60382 K2: Refactor ExpectActualCollector
  • KT-62929 K2: investigate if guessArrayTypeIfNeeded is necessary in annotation loader
  • KT-65642 K2: IR: Array access desugaring doesn't have origins
  • KT-24807 No smartcast to Boolean in subject of when-expression when subject type is non-nullable
  • KT-66057 K2: incorrect supertype leads to class declaration being highlighted red
  • KT-63958 K2: drop support of UseBuilderInferenceOnlyIfNeeded=false
  • KT-63959 K2: treat stub types as non-nullable for isReceiverNullable check
  • KT-65100 IrFakeOverrideBuilder: support custom 'remove(Int)' handling logic in MutableCollection subclasses
Compose compiler
New features
  • cdfe659 Changed how compiler features being rolled out are enabled and disabled in compiler plugin CLI. Features, such as strong skipping and non-skipping group optimizations are now enabled through the "featureFlag" option instead of their own option.
  • 192e556 Strong skipping is now enabled by default
  • 842a9e8 Add support for default parameters in abstract and open @Composable functions b/165812010
Fixes
  • e207b05 Fixes group generation for if statements when nonSkippingGroupOptimization is enabled b/346821372
  • f64fc3a Fixes endToMarker generation in early return from inline lambdas that caused start/end imbalance b/346808602
  • d6ac8a5 Stop memoizing lambdas with captured property delegates b/342557697
  • f38d5a3 Stop capturing parameter meta across crossinline boundary b/343801379
  • 770fe8d Propagate annotations from inferred function types when serializing b/345261077
  • 3c67cda Fix memoization of captureless lambdas when K2 compiler is used b/340582180
  • 3281e53 Allow memoizing lambdas in composable inline functions b/340606661
  • b/351858979 Fix stability inferencing of interfaces on incremental compilation
  • b/346821372 [Compose] Fix code generation for group optimization
  • b/357878245 Disallow open @Composable functions with default params to fix binary compatibility issues.
IR. Actualizer
  • KT-68830 Compiler crash on missing actual class
  • KT-69024 K2: Children of expect annotation with @OptionalExpectation should be actualized
  • KT-68742 Allow expect protected to Java protected actualization
  • KT-66436 K2. Actualizing modCount property with a field in AbstractMutableList
  • KT-68741 Support actualization of AbstractMutableList.modCount
  • KT-68801 Crash on access of fake override of function actualized by fake override
  • KT-66307 K2: property fake override isn't generated for protected field
IR. Inlining
  • KT-67208 KJS: put ReplaceSuspendIntrinsicLowering after IR inliner
  • KT-68100 Run IR validation in the beginning and the end of the common prefix
  • KT-69171 Introduce a temporary -X CLI parameter that enables double-inlining
  • KT-69006 Enable IR visibility checks after IR inlining
  • KT-69183 IR inlining: properly handle defaults that depends on previous value parameters
  • KT-67660 Suspicious package part FQN calculation in InventNamesForLocalClasses
  • KT-68558 Move InlineCallableReferenceToLambdaPhase into ir.inline module
  • KT-56466 Support non-local break/continue in IR inliner
  • KT-64958 KJS: Put as many as possible lowerings after the inliner
  • KT-67297 Implement IR deserializer with unbound symbols
IR. Interpreter
  • KT-66938 Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir'
IR. Tree
Performance Improvements
  • KT-67695 ForLoopsLowering fails to handle a loop over an imprecise typed iterable
Fixes
  • KT-68784 Support validating visibility of referenced declarations in IrValidator
  • KT-68174 Delete the IrMessageLogger interface
  • KT-67082 Introduce attributes on IrElement
  • KT-68716 DeepCopyIrTreeWithSymbols.visitConst should remap const type
  • KT-67650 Add default implementations to methods for non-leaf IrSymbol subclasses from SymbolRemapper
  • KT-67649 Autogenerate IrSymbol interface hierarchy
  • KT-44721 IR: merge IrPrivateSymbolBase and IrPublicSymbolBase hierarchies
  • KT-67580 Autogenerate SymbolRemapper
  • KT-67457 Introduce a way to simplify IR lowering phase creation
  • KT-67060 NoSuchMethodError for org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl in the Flysto
JavaScript
New Features
  • KT-69133 Kotlin/JS: Add support for collection instantiation in JavaScript
  • KT-18891 JS: provide a way to declare static members (JsStatic?)
Fixes
  • KT-68943 @JsPlainObject breaks when interface has type parameters
  • KT-70592 "Error: HttpClientCall expected" on HTTP request when targeting es2015 with KTOR
  • KT-67273 Creating Kotlin Collections from JS collections
  • KT-65018 JS: Deprecate error tolerance
  • KT-67355 KJS / ES6: 'super' in lambda with enabled -Xir-generate-inline-anonymous-functions leads to JS errors
  • KT-69353 KJS / d.ts: Kotlin does not export base collection classes along with their mutable collection counterparts
  • KT-66898 KJS: Reserved keywords not escaped when -Xir-generate-inline-anonymous-functions is enabled
  • KT-69710 JS IR generates bad code for inner param default referring to outer members
  • KT-68632 K2: allow JS_NAME_CLASH suppression
  • KT-69400 Use correct type for references on local functions when transforming them into lambda
  • KT-68554 Legalize marker interface as parent for JSO (interface marked with @JsPlainObject)
  • KT-68740 Kotlin/JS 2.0.0 IrLinkageError with dynamic function parameters inside data classes
  • KT-68944 @JsPlainObject require properties, when type - nullable alias
  • KT-68891 @JsPlainObject fails to compile when encountering reserved keywords as interface properties
  • KT-69023 KJS / IR: globalThis is mandatory, breaking older browsers support
  • KT-68641 KJS: 'export was not found' with per-file mode on case-insensitive filesystem
  • KT-68053 K2: NON_EXPORTABLE_TYPE on a typealias of primitive type
  • KT-62304 K/JS: Investigate the compiler assertion crash in JS FIR with backend tests
  • KT-68620 [wasm][js] Default param in inner class method fails if we are referring generic extension property
  • KT-64801 K2 + JS and WASM: Inner with default inner doesn't work properly
  • KT-67248 ModuleDescriptor in JS Linker contains incorrect friend dependecies
  • KT-64424 K2: Migrate JsProtoComparisonTestGenerated to K2
  • KT-52602 Kotlin/JS + IR: incompatible ABI version is not reported when no declarations are actually used by a Gradle compilation
  • KT-66092 K/JS & Wasm: .isReified for reified upper bound is wrongly false
  • KT-67112 Unable to apply @JsStatic for common sources: [NO_CONSTRUCTOR]
  • KT-62329 KJS: "UnsupportedOperationException: Empty collection can't be reduced" caused by external enum with "@JsExport"
  • KT-67018 K/JS: Executable js file for module-kind=umd contains top level this instead of globalThis
  • KT-64776 Test infra for JS can't process dependency in mpp module
  • KT-65076 Use the same instance when a fun interface doesn't capture or capture only singletons
Klibs
  • KT-66557 Check, that no bad metadata in klib is produced, when we failed to compute constant value
  • KT-66968 Provide K/N platforms libs for all available targets
  • KT-66967 Provide K/N stdlib for all available targets in all distributions
  • KT-66605 [KLIB] Excessive creation of BaseKotlinLibrary during resolving libs
  • KT-68824 API 4 ABI: Don't show sealed class constructors
  • KT-68202 KLIB metadata: nested classes are sometimes inside a different 'knm' chunk
  • KT-65834 [KLIB Resolve] Drop library versions in KLIB manifests
  • KT-67446 [KLIB Tool] Drop "-repository " CLI parameter
  • KT-67445 [KLIB Tool] Drop "install" and "remove" commands
Language Design
  • KT-58920 K2: Prioritize Enum.entries resolve
  • KT-11914 Confusing data class copy with private constructor
  • KT-68636 Incorrect private_to_this visibility for data class with a private constructor
Libraries
New Features
  • KT-31880 UUID functionality to fix Java bugs as well as extend it
  • KT-57998 implement Base64.withoutPadding
Performance Improvements
  • KT-67023 Optimize Int.sign and Long.sign for js and wasmJs targets
Fixes
  • KT-70196 Introduce ExperimentalUuidApi annotation for marking Uuid API
  • KT-60787 Cannot ignore alpha when formatting with HexFormat
  • KT-68025 Improve documentation for Hex
  • KT-66129 Minor issues with HexFormat
  • KT-67511 provide equals() and hashCode() implementations for kotlinx.metadata.KmType
  • KT-68240 stdlib: proper expects for internal API used in intermediate shared source sets
  • KT-68840 atomicfu-runtime: annotate some internal functions with @PublishedApi
  • KT-68839 Annotate kotlin.js.VOID property with @PublishedApi
  • KT-68023 Improve documentation for Base64
  • KT-51483 Documentation of trimMargin is (partly) difficult to understand
  • KT-64649 Add explanation to "A compileOnly dependency is used in the Kotlin/Native target" warning message
  • KT-67807 JS/Wasm: ByteArray.decodeToString incorrectly handles ill-formed 4-byte sequences with a 2nd byte not being continuation byte
  • KT-67768 Wasm: ByteArray.decodeToString throws out-of-bounds exception if the last byte is a start of a 4-byte sequence
  • KT-66896 Improve Array contentEquals and contentDeepEquals documentation
Native
  • KT-70166 Native: EXC_BAD_ACCESS on watchOS when using Dispatchers
  • KT-69246 K2: linkPodDebugFrameworkIosArm64 takes 15 (!!) times longer
  • KT-67694 Native: WeakRefBenchmark degradation due to nonoptimized IntProgression iteration
  • KT-69206 Native: updating to LLVM 16 breaks debugging in lldb on Linux
  • KT-68640 Native: updating to LLVM 16 changes behavior of used attribute in C/C++ code
  • KT-58097 Kotlin/Native: improve the error message if Xcode is not properly configured
  • KT-67583 compileKotlin-task unexpectedly downloads K/N dependencies on Linux (but doesn't on Mac)
Native. Build Infrastructure
  • KT-69781 Kotlin/Native performance tests fail to compile with bitcode
Native. C and ObjC Import
  • KT-69094 LLVM 11 clang: cinterops fail with "_Float16 is not supported on this target"
  • KT-68254 Native: flaky testForwardEnum test in Kotlin/Native on MacOS
  • KT-65260 Native: compiler crashes when casting to an Obj-C class companion
Native. ObjC Export
  • KT-65666 Native: enable objcExportSuspendFunctionLaunchThreadRestriction=none by default
  • KT-57496 linkReleaseFrameworkIosArm64: e: Compilation failed: An operation is not implemented
Native. Platform Libraries
  • KT-69382 LLVM 11 clang: symbol not found when running the linker
Native. Runtime
  • KT-70043 Native: EXC_BAD_ACCESS on watchOS when using Random
  • KT-68928 EXC_BREAKPOINT: BUG IN CLIENT OF LIBPLATFORM: Trying to recursively lock an os_unfair_lock
Native. Runtime. Memory
  • KT-66644 Native: threads are too often paused to assist GC (with concurrent mark)
  • KT-68871 Native: Unexpected barriers phase during STW: weak-processing
  • KT-67779 Native: SpecialRefRegistry::ThradData publication prolongs the pause in CMS
  • KT-66918 Native: scan global root set concurrently
Native. Swift Export
  • KT-69469 Exporting object twice causing crash
  • KT-69251 Get rid of context receivers from ./native/.../lazyWithSessions.kt
  • KT-68865 Move config into test-directives
  • KT-68259 Swift export: secondary constructs lead to compilation errors
  • KT-67095 Native: fix testNativeRefs export test
  • KT-67099 Remove SirVisitor and SirTransformer from code
  • KT-67003 Abandon PackageInflator implementation in favour of PackageProvider component
Native. Testing
  • KT-69235 Incorrect handling of friend dependencies in Native test infra
  • KT-67436 Native: support CLI tests
  • KT-68416 Native: when using test grouping, a whole group gets ignored on non-Mac hosts if it has Objective-C tests
  • KT-68500 Native: Drop custom logic in ExtTestCaseGroupProvider, mute codegen/box tests explicitly
Reflection
  • KT-69433 KotlinReflectionInternalError on non-reified type parameter in typeOf inside an inline lambda
  • KT-68675 K2: KotlinReflectionInternalError on non-reified type parameter in typeOf inside a lambda
Tools. Build Tools API
  • KT-68555 BTA test infra: top level declarations are invisible across modules
Tools. CLI
  • KT-69792 Add the possibility to disable fast jar fs in K2
  • KT-68838 OutOfMemory when compiling in CLI
  • KT-67939 Add CLI argument to enable when guards feature
  • KT-68743 Extract common CLI arguments for all KLIB-based backends
  • KT-68450 CLI: errors related to module-info are reported even if there are no Kotlin source files
  • KT-68060 FastJarFS fails on empty jars
Tools. CLI. Native
  • KT-66952 Native: konanc fails when KONAN_HOME is under path with spaces
  • KT-64524 Introduce a CLI argument to override native_targets field in klib manifest
Tools. Commonizer
  • KT-68835 Command line length overflow on Linux/Windows while invoking commonizer via :commonizeDistribution
Tools. Compiler Plugin API
  • KT-68020 K2: run FirSupertypeGenerationExtension over generated declarations
Tools. Compiler Plugins
  • KT-64425 K2: Implement Atomicfu*IrTestGenerated for K2
  • KT-69401 Kotlin power assert plugin doesn't work correctly with safe cast operator
  • KT-69290 PowerAssert: implicit receivers included in power-assert generated diagram
  • KT-68511 Power Assert kotlinx.assertEquals message display problem
  • KT-68807 Power-Assert crashes the Kotlin compiler when if expression used as assertion parameter
  • KT-68162 K2 Parcelize implementation breaks compiler phase contracts
  • KT-67605 K2 parcelize: false positive NOTHING_TO_OVERRIDE in one test
  • KT-64455 K2: Implement ParcelizeIrBoxTestWithSerializableLikeExtension for K2
Tools. Compiler plugins. Serialization
  • KT-70516 KxSerialization: @KeepGeneratedSerializer and sealed class cause initialization error
  • KT-68752 Serializable annotation on Java class is not taken into account in K2 checker
  • KT-68931 JS/Native + serialization: partial linkage error
  • KT-69039 FIR: Implement IDE-only checker for kotlinx.serialization compiler plugin to report IDE-only diagnostics
Tools. Fleet. ObjC Export
  • KT-68826 ObjCExport: SerializersModuleBuilder
  • KT-68841 ObjCExport: @Deprecated support
  • KT-68887 ObjCExport: K1 text fixture @Deprecated support
  • KT-68051 [ObjCExport] Support reserved method names
Tools. Gradle
New Features
  • KT-68651 Compose: provide a single place in extension to configure all compose flags
Performance Improvements
  • KT-61861 Gradle: Kotlin compilations depend on packed artifacts
Fixes
  • KT-69809 Compose Gradle Plugin: AGP doesn't override configuration properties like traceMarkersEnabled
  • KT-65820 Compatibility with Gradle 8.7 release
  • KT-69444 Don't warn about missing Compose Compiler Gradle plugin in some cases
  • KT-67888 Remove usages of deprecated Configuration.fileCollection() method
  • KT-68843 Gradle: Kotlin plugin changes source set 'main' to 'null/main'
  • KT-67395 Add new plugins to collector kotlin gradle performance
  • KT-68661 Move ExperimentalWasmDsl to kotlin-gradle-plugin-annotations
  • KT-69837 Deprecation warning for file-based IC is issued when the property is set to true, altering the intended meaning of the message
  • KT-69291 Compose Gradle plugin: Enable strong skipping by default
  • KT-67766 Build against Gradle API 8.7
  • KT-67889 Run tests against Gradle 8.8 release
  • KT-65271 Gradle: "Mutating dependency DefaultExternalModuleDependency after it has been finalized has been deprecated " with gradle 8.6-rc-3
  • KT-67822 Deprecate JVM history files based incremental compilation
  • KT-64378 Compatibility with Gradle 8.6 release
  • KT-69414 Compose: featureFlags override values of the deprecated compose options
  • KT-67771 Compatibility with Gradle 8.8 release
  • KT-65528 Migrate rest of Gradle integration tests to new Test DSL
  • KT-68306 Project isolation for FUS statistics: Cannot access project ':' from project ':app' at org.jetbrains.kotlin.gradle.report.BuildMetricsService$ Companion.initBuildScanExtensionHolder
  • KT-67890 Compile against Gradle 8.8 API artifact
  • KT-68773 Kotlin 2.0.0 with Gradle 8.8: ConcurrentModificationException on BuildFusService configurationMetrics
  • KT-68308 Project isolation for FUS statistics: An error is thrown at org.gradle.configurationcache.ProblemReportingCrossProjectModelAccess$ProblemReportingProject.getLayout
  • KT-61574 Add project-isolation test for Kotlin/Android plugin
  • KT-65936 Provide a detailed error for changing kotlin native version dependency.
  • KT-62684 PropertiesBuildService should load extraProperties only once
  • KT-67288 Test DSL should not fail the test if build scan publishing has failed
  • KT-58280 org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath
Tools. Gradle. JS
  • KT-70077 [2.0.20-Beta2] KGP reports confusing warnings about js/wasmJS source sets
  • KT-69805 YarnSetupTask does not work for custom downloadBaseUrl
  • KT-67444 Gradle / JS: wrong type commonWebpackConfig.devServer.proxy
  • KT-42923 KJS: Resources are not available when running Karma tests
  • KT-68482 KotlinNpmInstallTask is not compatible with configuration cache
  • KT-68072 K/JS, K/Wasm: Module not found in transitive case
  • KT-68103 K/JS, K/Wasm: Generation of test compilation's package.json requires main compilation
  • KT-67924 K/JS, K/Wasm: kotlinNpmInstall can rewrite root package.json
Tools. Gradle. Kapt
  • KT-64627 Kapt3KotlinGradleSubplugin uses property lookup that breaks project isolation
  • KT-61928 Clarify parameter types in KaptArguments and KaptJavacOption
Tools. Gradle. Multiplatform
New Features
  • KT-56566 Consider pre-generating DSL accessors for source sets with names corresponding to the default target hierarchy
Fixes
  • KT-66568 w: KLIB resolver: The same 'unique_name=...' found in more than one library
  • KT-65754 Gradle: Commonized cinterop dependency configuration changes project description
  • KT-69406 Deprecate combinations of KMP plugin with some Gradle Java plugins
  • KT-64109 Using compileOnly/runtimeOnly dependencies in K/N-related configurations leads to odd behaviour
  • KT-69311 runDebugExecutable task fails with "this.compilation" is null with enabled configuration cache
  • KT-69310 w: KLIB resolver: The same 'unique_name=...' found in more than one library for diamond source set structures
  • KT-61793 KMP/AGP compatibility: Update the maximum tested AGP version to 8.3
  • KT-66209 Accessing the source sets by name is confusing
  • KT-62368 Kotlin 1.9.X fails to detect kotlin.test.Test annotation reference on commonTest source set when targeting JVM+Android
  • KT-67110 Usage of BuildOperationExecutor.getCurrentOpeartion internal Gradle API
  • KT-58319 kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'"
Tools. Gradle. Native
  • KT-69918 java.lang.NullPointerException: Cannot invoke "org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation.getTarget()" because "this.compilation" is null
  • KT-67935 OverriddenKotlinNativeHomeChecker does not work well with relative paths
  • KT-64430 Remove deprecated KotlinToolRunner(project) constructor
  • KT-64427 Stop using deprecated KotlinToolRunner(project) constructor call
Tools. Incremental Compile
  • KT-69042 K2: changing a Java constant won't cause Kotlin usages to recompile
  • KT-63476 Investigate the debug output of JVM compilation in KMP IC smoke tests
Tools. JPS
  • KT-63707 JPS: "Multiple values are not allowed for" caused by Compose
Tools. Kapt
  • KT-68145 K2 KAPT: missing $annotations methods for const properties and private properties without accessors
  • KT-67495 File leak in when building with kapt
  • KT-66780 K2 KAPT Kotlinc should exit with an exit code 1 (compilation error) if a Kapt task fails
  • KT-66998 K2 KAPT: Reimplement support for DefaultImpls
Tools. Scripts
  • KT-69296 scripting dependency resolution does not authenticate towards maven mirrors
  • KT-67575 FromConfigurationsBase script definition unexpected behaviour with regex from gradle templates
  • KT-67066 DeepCopyIrTreeWithSymbols does not copy IrScript nodes correctly
  • KT-67071 K2: ScriptCompilationConfigurationFromDefinition is not serializable
  • KT-67063 LauncherReplTest flaky on Windows
Tools. Wasm
  • KT-70220 K/Wasm: Upgrade NPM dependencies
  • KT-69245 K/Wasm: Remove warning of working-in-progress
  • KT-69154 K/Wasm: wasmJsBrowserProductionRun flaky crash with "WebAssembly.instantiate(): Import ... function import requires a callable"
  • KT-68930 K/Wasm: Production run doesn not use optimize task result
  • KT-67901 K/Wasm: Add kotlin-wasm-examples to CI
  • KT-67468 Gradle task build (allTests) fails on default web project
  • KT-67980 Wasm: Incorrect "Please choose a JavaScript environment to build distributions and run tests" when WASM is not configured
  • KT-67862 K/Wasm: Make usage of ChromeWasmGc an error

v2.0.10: Kotlin 2.0.10

2.0.10
Apple Ecosystem
  • KT-68257 Xcode incorrectly reuses embedAndSign framework when moving to and from 2.0.0
Compiler
Fixes
  • KT-69876 K2 Compile exception: Only IrBlockBody together with kotlinx serialization
  • KT-68521 K2: Property's private setters can be bypassed when using plusAssign and minusAssign operators
  • KT-68667 K2: Compiler hangs on mapNotNull and elvis inside lambda
  • KT-68747 K2: Long compilation time because of constraint solving when using typealias in different modules
  • KT-68940 K2: "IllegalArgumentException: All variables should be fixed to something"
  • KT-68797 K2 / Native: "java.lang.IllegalStateException: FIELD" caused by enabled caching
  • KT-68362 False-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED for inheritor of java class which directly implements java.util.Map
  • KT-68449 K2: "when" expression returns Unit
  • KT-67072 K2: inconsistent stability of open vals on receivers of final type
  • KT-68570 K2: "Unresolved reference" in call with lambda argument and nested lambda argument
  • KT-69159 K2: KotlinNothingValueException in Exposed
  • KT-68623 K2: "Only safe or null-asserted calls are allowed" on safe call
  • KT-68193 JDK 21: new MutableList.addFirst/addLast methods allow adding nullable value for non-null types
  • KT-67804 removeFirst and removeLast return type with Java 21
  • KT-68727 K2: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" caused by an enum class with default parameter in a different module
  • KT-68383 K2: "Argument type mismatch: actual type is 'kotlin.String', but 'T & Any' was expected." with intersection types
  • KT-68546 K2: false-positive conflicting overloads error on inheriting generic type with inherited generic and non-generic member overloads
  • KT-68626 K2: "Conflicting Overloads" for function if inherited from generic type
  • KT-68351 K2: "Suspension functions can only be called within coroutine body"
  • KT-68489 K2: WRONG_ANNOTATION_TARGET with Java and Kotlin @Target annotation positions
  • KT-69058 K2: Java-defined property annotations not persisted
  • KT-64515 K2 IDE: [NEW_INFERENCE_ERROR] in a build.gradle.kts script while applying "jvm-test-suite" plugin and then configuring targets for test suites
  • KT-68016 K2: Gradle repo test should compile correctly with Kotlin explicit api mode fails on K2
  • KT-68575 K2: @ParameterName annotation is not erased when inferring the type of it in lambdas
  • KT-67999 K2: lost flexibility on parameters of Java SAM
  • KT-59679 K2: Investigate extracting uncompleted candidates from blocks
  • KT-68401 K2: "IllegalAccessError: failed to access class" caused by package private super Java type, when inferencing a common super type of if or when branches on JVM
  • KT-68806 K/Wasm RuntimeError: unreachable on Sequence::toList
  • KT-68455 K2: False negative UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS
  • KT-68538 KJS/K2: using while with break inside inline lambdas leads to an endless cycle
  • KT-68798 JVM compiler crashes on calling private expect constructor with a default parameter
  • KT-68734 K2: enum class in KMP: Expect declaration MMKVLogLevel is incompatible with actual MMKVLogLevel because modality is different
  • KT-68674 False positive ACTUAL_WITHOUT_EXPECT in K2
  • KT-68350 K2: "Inapplicable candidate(s)" caused by parameter reference of local class with type parameters from function
  • KT-68571 K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by exceptions and when statement
  • KT-68523 K2: FileAnalysisException when using Definitely non-nullable types
  • KT-68339 K2: "Enum entry * is uninitialized here" caused by lazy property with enum in when expression
  • KT-66688 K2: false-negative "upper bound violated" error in extension receiver
  • KT-68630 DiagnosticsSuppressor is not invoked with Kotlin 2.0
  • KT-68222 K2. KMP. False negative Expected declaration must not have a body for expected top-level property with getter/setter
  • KT-64103 FirExpectActualDeclarationChecker reports diagnostic error for KtPsiSimpleDiagnostic with KtFakeSourceElement
  • KT-68191 K2. Static fake-overrides are not generated for kotlin Fir2IrLazyClass
  • KT-68024 K2: Gradle repo test accessors to kotlin internal task types... fails on K2
  • KT-64957 K1: drop ModuleAnnotationResolver
Compose compiler
Native
  • KT-68094 K2/Native: Member inherits different '@Throws' when inheriting from generic type
Tools. Compiler Plugins
  • KT-69187 Compose compiler for web doesn't support rememberComposableLambda
  • KT-68557 K2. Supertypes resolution of KJK hierarchy fails in presence of allopen plugin
Tools. Compiler plugins. Serialization
  • KT-68850 Compose lambda type not transformed with KGP 2 + new Compose plugin
Tools. Daemon
  • KT-68297 KGP 2.0 regression: JAVA_TOOL_OPTIONS is not considered in Kotlin daemon creation
Tools. Gradle
  • KT-69330 KotlinCompile friendPathsSet property is racy due causing build cache invalidation
  • KT-69026 Mark AGP 8.5.0 as compatible with KGP
  • KT-68447 ill-added intentionally-broken dependency source configurations
  • KT-69078 Gradle: Add option to disable FUS Service
  • KT-68278 Spring resource loading in combination with java-test-fixtures plugin broken
  • KT-66452 Gradle produces false positive configuration cache problem for Project usage at execution time
  • KT-68242 Run tests against AGP 8.4.0
Tools. Gradle. Multiplatform
  • KT-68805 KMP project (re-)import took a long time for downloading platform libs
  • KT-68248 kotlin multiplatform project fail to build on Fedora with corretto
Tools. Gradle. Native
  • KT-68638 KGP 2.0 breaks native test with api dependencies and configuration cache
  • KT-65761 Missing JDK Platform ClassLoader when compiling Kotlin native in daemon
Tools. JPS
  • KT-69204 Generate lookups in dumb mode for compatibility with ref index
Tools. Kapt
  • KT-68171 K2KAPT: boxed return types in overridden methods changed to primitives
Tools. Scripts
  • KT-68681 K2 / CLI / Script: "NullPointerException: getService(...) must not be null" caused by @DependsOn
  • KT-67747 K2: regression in Spring unit tests using javax.script.ScriptEngine

v2.0.0: Kotlin 2.0.0

Changelog
Analysis. API
New Features
  • KT-65327 Support reading klib contents in Analysis API
Performance Improvements
  • KT-65560 K2: Anaysis API: ContextCollector triggers redundant resolution in the case of file elements
  • KT-64987 Analysis API: 50GB memory allocation on creating empty kotlinx.collections.immutable.persistentMapOf
  • KT-61789 K2: optimize getFirForNonKtFileElement for references inside super type reference
  • KT-59498 K2: getOnAirGetTowerContextProvider took too much time due to on air resolve
  • KT-61728 Analysis API: optimize AllCandidatesResolver.getAllCandidates
Fixes
  • KT-65561 Analysis API: dummy.kt is not a physical file
  • KT-65616 K2: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus from STATUS
  • KT-65600 Analysis Api: FirFile for KtCodeFragments are created and not updated on changes
  • KT-64919 K2 IDE: Implement KMP support for sealed class inheritors
  • KT-64241 K2: Unresolved calls to functions in scripts depending on included projects
  • KT-65813 Analysis API Standalone: FirDeclarationForCompiledElementSearcher does not find compiled elements
  • KT-66052 AA: render expect/actual modifier
  • KT-66795 KtCodeFragment.clone() is broken
  • KT-66532 K2 CodeGen AA: missing annotation setup for function in source module but not in a compile target file
  • KT-64833 Analysis API: Members implemented by delegation have no overridden symbols
  • KT-62405 Analysis API: Symbols SUBSTITUTION_OVERRIDE have no overridden symbols
  • KT-66749 K2: "Collection contains no element matching the predicate" on an unresolved call
  • KT-62832 K2: ClassCastException: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus
  • KT-66719 AbstractGetKlibSourceFileNameTest: The dependency to ":native:analysis-api-klib-reader" breaks JPS compilation
  • KT-66603 Analysis API: support type annotations in KtPsiTypeProviderMixIn#asPsiType
  • KT-64505 Analysis API Standalone: Remove test-specific calculation of sealed class inheritors
  • KT-66013 Analysis API Standalone: Sealed inheritors aren't correctly calculated for source classes
  • KT-62880 K2 IDE: Unresolved java annotation methods in KDoc
  • KT-66530 K2: Analysis API: KtPsiTypeProvider#asKtType crashes on PsiClassType for Java type parameter with wrong use site
  • KT-65571 Support VirtualFile inputs to Analysis API modules
  • KT-66485 Substituted types are not provided for callable references
  • KT-66498 Analysis API: 'KtFe10SymbolDeclarationOverridesProvider' considers a class to be a subclass of itself
  • KT-64579 K2 IDE: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(Source) but FirArgumentListImpl found"
  • KT-65978 Analysis API: Use soft references in FileStructureCache
  • KT-64051 K2 IDE: Analysis API: Unresolved links to typealias in KDoc
  • KT-66189 K2 / IDE: KtFirExpressionTypeProvider bugs
  • KT-61422 K2 IDE: "No array element type for vararg value parameter: org.jetbrains.kotlin.fir.declarations.impl.FirValueParameterImpl"
  • KT-66276 K2: Analysis API: TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM false positive for script parameter
  • KT-66232 K2: Analysis API: cover ScriptWithCustomDefDiagnosticsTestBaseGenerated by LL FIR tests
  • KT-60996 K2: Stub Based Deserializer: Set versionRequirements to enable VERSION_REQUIREMENT_DEPRECATION diagnostics
  • KT-66306 K2: Analysis API: drop ability to enable global phase resolve lock
  • KT-55750 LL FIR: Implement multi-threaded resolve
  • KT-65563 Analysis API: Missing session component FirExpectActualMatchingContextFactory in LLFirLibrarySession
  • KT-66173 K2: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter' in array owner: LLFirLibrarySession
  • KT-66238 Gradle kotlin build scripts - a lot of unresolved symbols after latest changes in kotlin master
  • KT-65099 K2: Recursive local storage cache check for Fir2IrDeclarationStorage::createAndCacheIrPropertySymbols()
  • KT-65265 Analysis API: Add library session invalidation tests
  • KT-56288 Analysis API: Add tests for session invalidation on the Analysis API side
  • KT-64000 K2: make AnnotationArgumentsStateKeepers more accurate
  • KT-63606 K2: Analysis API: rewrite FirLazyAnnotationTransformer to avoid redundant transformations
  • KT-65191 KtFirMultiplatformInfoProvider#getExpectForActual doesn't return expect function for slightly broken code
  • KT-62136 Analysis API: Add concurrent tests for CleanableSoftValueCache
  • KT-61222 K2: Add lifecycle management for KtResolveExtension
  • KT-65960 Analysis API: Test infrastructure indexes binary libraries from decompiled files instead of stubs during IDE mode tests
  • KT-65240 K2: CodeGen API fails to resolve Annotation parameter type when it runs FIR2IR for a class with a parent class from other module if the parent class has an annotation from another module
  • KT-65344 K2: make FirScript statements (declarations) independent
  • KT-65930 AA: receiver type for Int?::foo misses nullability
  • KT-65914 AA: receiver type for this::foo returns return type of the target callable
  • KT-62071 Analysis API: KtFirScopeProvider.getScopeContextForPosition throws exception when ImplicitReceiverValue.implicitScope is null
  • KT-65780 K2: polish FileStructure implementation for FirFile
  • KT-62840 K2 Script: everything around destructuring declaration on top level of scripts are broken
  • KT-64528 K2 IDE: MPP: unregistered component 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'
  • KT-64921 K2 IDE: references in platform code resolve to expect classifier instead of actual
  • KT-61296 K2: do not resolve the entire file on lazyResolve call if FirFile is passed
  • KT-65683 Analysis API: Dangling file session creation causes a computeIfAbsent contract violation
  • KT-64884 K2 IDE. FP [NAMED_PARAMETER_NOT_FOUND] for copy method of library data class when class has not parameter-properties
  • KT-65763 K2: value parameter from library data class copy have RAW_FIR phase
  • KT-65665 Analysis API: support KtDelegatedSuperTypeEntry in KtFirExpressionInfoProvider.isUsedAsExpression
  • KT-62899 K2 IDE. IDE ignores @Suppress annotation for errors
  • KT-65655 Analysis API: KtCodeCompilationException should not strongly reference FIR sessions
  • KT-62302 Support PsiType -> KtType conversion
  • KT-64604 K2: IDE K2: "Modules are inconsistent during performance tests"
  • KT-65345 K2: unify FirDesignation and LLFirResolveTarget
  • KT-61757 K2 IDE: resolution to buitlins does not work for from common module
  • KT-65268 K2: Checking the presence of the delegated constructor call forces AST loading
  • KT-63330 Analysis API: Stub-based deserialized symbol providers provide unresolved enum entry annotation arguments
  • KT-65418 Analysis API: LLFirAbstractSessionFactory loads anchor module sessions eagerly
  • KT-64718 Analysis API: do not expose SealedClassInheritorsProvider and FirRegularClass to IDE Plugin
  • KT-65075 K2: getContainingDeclaration() is broken for declarations inside code fragments
  • KT-61332 Support KtTypeCodeFragment in PsiRawFirBuilder
  • KT-65150 AA: incorrect result from KtTypeProvider#getReceiverTypeForDoubleColonExpression for Java static method
  • KT-56551 LL FIR: implement parallel resolve for jumping phases
  • KT-65223 Psi: avoid KtFile usages
  • KT-65307 Analysis API FE10: support KtFe10AnalysisSessionProvider.getAnalysisSessionByUseSiteKtModule
  • KT-62695 K2 IDE: Unresolved extension functions in KDoc
  • KT-65152 Analysis API: KDoc references to packages are not fully resolved
  • KT-64988 K2 IDE: Navigation from the named argument in safe call does not work
  • KT-63195 AA: incorrect results from KtTypeProvider#getReceiverTypeForDoubleColonExpression
  • KT-64074 K2: Investigate LL divergence for Script.testTopLevelPropertyInitialization
  • KT-62441 K2: IDE K2: "No dangling modifier found"
  • KT-62895 K2 IDE. FP 'when' expression must be exhaustive with sealed interface from library
  • KT-64993 Analysis API: KtExpressionTypeProvider.getExpectedType works incorrectly for arguments of safe calls
  • KT-64883 Allow direct creation of KtCommonFile
  • KT-64646 K2: properly forbid ast loading during raw fir phase in tests
  • KT-64862 Psi: missed parenthesis in type reference presentation
  • KT-62893 K2 IDE. FP 'when' expression must be exhaustive with Java sealed interface from library
  • KT-63795 K2: lazyResolveToPhase(BODY_RESOLVE) cannot be called from a transformer with a phase BODY_RESOLVE from SealedClassInheritorsProviderIdeImpl
  • KT-64805 Analysis API: introduce common entry point for multi-file test cases
  • KT-64714 K2: Analysis API: CollectionsKt.map doesn't resolves from Java in kotlin repo
  • KT-64647 K2: Allow to calculate decompiled inheritors for sealed classes in tests
  • KT-64595 AA: stackoverflow while simplifying a type with a recursive type parameter
  • KT-64825 Analysis API. Cannot compute containing PSI for unknown source kind 'org.jetbrains.kotlin.KtFakeSourceElementKind$DefaultAccessor' exception on getContainingSymbol call for default setter parameter
  • KT-64080 K2: Analysis API: On-air resolve does not trigger resolution of delegated super call arguments
  • KT-64243 K2: proper lazy resolution for fake overrides
  • KT-62891 K2 IDE. FP [EXPOSED_FUNCTION_RETURN_TYPE] on overriding library method which returns protected type
  • KT-62667 K2: Cannot find enclosing declaration for KtNameReferenceExpression (on-air, imports)
  • KT-61890 Analysis API: Migrate KtFirScopeProvider to ContextCollector instead of onAirResolve
  • KT-64197 K2: Code fragments are only supported in JVM
  • KT-62357 K2 IDE. False positive on generated component methods and false negative on getter of @JvmRecord classes in Java
  • KT-62892 K2 IDE. Java outer class from other module is not resolved when nested class is accessed with fq name in a type position
  • KT-62888 K2 IDE. IDE infers reference to KMutableProperty as reference to just KProperty
  • KT-64584 K2: StubBasedFirDeserializedSymbolProvider: support deserialization of delegated declarations
  • KT-60324 K2 IDE: "NoSuchElementException: List is empty at JavaOverrideChecker#buildErasure"
  • KT-62896 K2 IDE. FP ABSTRACT_MEMBER_NOT_IMPLEMENTED on inheriting class from library which implements interface by delegation
  • KT-62947 Analysis API: Error while resolving FirPropertyImpl
  • KT-64468 Analysis API: Implement mixed multi-module tests which support different kinds of KtModules
  • KT-56541 Symbol Light Classes: No @NotNull annotations are generated for accessors of lateinit properties of unresolved types
  • KT-63547 K2 IDE. False Positive AMBIGUOUS_ANNOTATION_ARGUMENT
  • KT-64205 Analysis API: Do not import non-top-level callables by default
  • KT-63056 K2: Cannot mutate an immutable ImplicitReceiverValue on FirCodeFragment analysis
  • KT-64108 K2: KtFirSymbolDeclarationOverridesProvider shouldn't provide fake overrides
  • KT-63752 K2: java.lang.StackOverflowError FirFieldSymbol.getHasInitializer
  • KT-63718 Analysis API: Stub-based dependency symbol providers of library source sessions compute the wrong package name sets
  • KT-64225 K2: IDE K2: "FirLazyBlock should be calculated before accessing" in evaluate debuger completion
  • KT-64186 Analysis API: ContextCollector provides incorrect scopes for anonymous objects
  • KT-63979 K2 IDE: presentation of types in completion is too verbose
  • KT-63681 K2: LL FIR: Improve isResolved check coverage of after lazy resolution
  • KT-62982 K2: Cannot get a PSI element for 'Enum.values'
  • KT-59732 FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS) cannot be called from a transformer with a phase IMPORTS from serialisation plugin
  • KT-62676 K2 IDE: Reference shortener does not recoginize redundant this references
  • KT-63627 K2 IDE: shorten reference shortens required qualifier
  • KT-62675 K2 IDE: Reference shortener does not recoginize redundant labels
  • KT-60957 K2: Analysis API: Reference shortener does not work correctly with invoke function calls on properties
  • KT-63771 fe10: KtNamedClassOrObjectSymbol#isInline does not cover value classes
  • KT-60327 K2 IDE. "IllegalArgumentException: source must not be null" during delegation declaration
  • KT-62421 K2: IDE K2: "lazyResolveToPhase(BODY_RESOLVE) cannot be called from a transformer with a phase BODY_RESOLVE."
  • KT-62587 K2 IDE. FP unresolved reference on accessing nested class in annotation argument
  • KT-63700 K2: "FirLazyExpression should be calculated before accessing" in the case of secondary constructor
  • KT-61383 K2: 'KtCompilerFacility' fails on code fragment compilation in library sources with duplicated dependencies
  • KT-62111 K2 IDE. IllegalArgumentException on for loop with iterator declaration attempt
  • KT-63538 Analysis API: Removing a contract statement via PsiElement.delete() does not trigger an out-of-block modification
  • KT-63694 K1/K2 IDE. "RuntimeException: Broken stub format, most likely version of kotlin.FILE (kotlin.FILE) was not updated after serialization changes" exception on incorrect class name
  • KT-63660 K2: expect-actual gutter icons must be shown when declarations are matched but incompatible
  • KT-63560 Analysis API: Modifiable PSI tests cannot rely on the cached application environment to allow write access
  • KT-62980 Implement KtFirSimpleNameReference#getImportAlias
  • KT-63130 Analysis API: No receiver found for broken code during commit document
  • KT-62705 K2: "lazyResolveToPhase(IMPORTS) cannot be called..." from light classes
  • KT-60170 K2 IDE: CCE from KtFirCallResolver on invalid code with wrong implicit invoke
  • KT-61783 K2: Analyze 'KtCodeFragment' in a separate session
  • KT-62010 K2: IDE K2: "ConeClassLikeTypeImpl is not resolved to symbol for on-error type"
  • KT-62957 Analysis API: NullPointerException on call resolution when builtins are not available
  • KT-61252 K2: IDE K2: "By now the annotations argument mapping should have been resolved"
  • KT-62935 Analysis API: kotlin.Cloneable should not be available in Kotlin/Native sources
  • KT-62910 Analysis API: create AbstractFirPsiNativeDiagnosticsTest for LL FIR
  • KT-63096 K2: Analysis API: KotlinAnnotationsResolver for IDE is created with incorrect scope
  • KT-62310 K2 IDE. False positives errors with external annotations
  • KT-63282 K2 Script: annotation arguments phase should resolve propagated annotations
  • KT-62397 K2 IDE. FP Error in the editor on RequiresOptIn annotation from the lib despite the warning level
  • KT-63223 Analysis API: reference to declarations with kotlin* package are not resolved
  • KT-62626 IllegalStateException: Cannot build symbol for class org.jetbrains.kotlin.psi.KtScriptInitializer
  • KT-62693 K2: IDE K2: "PSI should present for declaration built by Kotlin code"
  • KT-62674 K2: "Scope for type ConeClassLikeTypeImpl" is null from transitive dependencies
  • KT-61889 Analysis API: Migrate KtFirReferenceShortener to ContextCollector instead of FirResolveContextCollector
  • KT-62772 Analysis API: No 'org.jetbrains.kotlin.fir.java.FirSyntheticPropertiesStorage'(31) in array owner: LLFirSourcesSession when analysing builtins in a context of common code
  • KT-60319 K2 IDE: "Stability for initialized variable always should be computable"
  • KT-62859 K2 IDE: "Evaluate expression" throws exception when calling "Any?.toString()"
  • KT-63058 K2 IDE: Code completion unexpectedly imports static/companion object method
  • KT-62588 getExpectedType should not calculate type of the expression
  • KT-61990 K2: Unexpected returnTypeRef for FirSyntheticProperty
  • KT-62625 K2: 'FirLazyExpression should be calculated before accessing' for unresolved super type
  • KT-62691 K2: optimize getFirForNonKtFileElement for references inside 'where'
  • KT-62834 K2: missing file node level in control flow builder
  • KT-62768 Analysis API: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(44) in array owner: LLFirSourcesSession exception on analysing common code
  • KT-62874 K2: FirLazyExpression should be calculated before accessing
  • KT-62407 Analysis API: resolve [this] in KDoc to extension receiver
  • KT-61204 K2: "FirLazyExpression should be calculated before accessing in ktor HttpBinApplication"
  • KT-61901 Analysis API: Declared member scopes for Java classes are missing static members
  • KT-61800 Analysis API: Provide separate declared member scopes for non-static and static callables
  • KT-61255 Analysis API: Get rid of valueOf, values and entries from a declared member scope
  • KT-62466 Expected type for functional expression should include inferred types
  • KT-61203 IDE K2: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirRegularClassImpl(Source) but FirArgumentListImpl found"
  • KT-61791 Analysis API: Implement combined getPackage for combined Kotlin symbol providers
  • KT-62437 K2 IDE. Resolution does not work inside lambda expression in constructor argument in supertypes
  • KT-62244 K2: Analysis API Standalone: Resolving klib dependencies from binary roots terminates application
  • KT-62897 K2 IDE. Unresolved declarations from libraries which are doubled in intellij project libraries
  • KT-61615 K2: No 'org.jetbrains.kotlin.fir.analysis.js.checkers.FirJsModuleKind' in array owner: LLFirSourcesSession
  • KT-59334 K2: LLFirImplicitTypesLazyResolver problems
  • KT-62038 K2: Nested classes are missing in symbol light class structure tests for libraries
  • KT-61788 Analysis API: Symbol for FirAnonymousInitializer cannot be null
  • KT-62139 Analysis API: KtFe10AnalysisSession.createContextDependentCopy does not need validity check
  • KT-62090 Analysis API: introduce an API to get a substitution formed by class inheritance
  • KT-62268 K2 IDE. No autocompletion and IllegalStateException for Pair
  • KT-60325 K2 IDE. "IllegalArgumentException: source must not be null" on throw usage attempt
  • KT-61431 K2: KtPropertyAccessorSymbolPointer pointer already disposed for $$result script property
  • KT-58490 K2: LLFirTypeLazyResolver problems
  • KT-58494 K2: LLFirAnnotationArgumentsLazyResolver problems
  • KT-58492 K2: LLFirBodyLazyResolver problems
  • KT-58769 K2: LL FIR: implement platform-dependent session factories
  • KT-60343 K2 IDE. IllegalArgumentException on passing incorrect type parameter to function
  • KT-61842 K2: reduce number of "in-block modification" events
  • KT-62012 K2: "KtReadActionConfinementLifetimeToken is inaccessible: Called outside analyse method"
  • KT-61371 K2: Analysis API standalone: register compiler symbol provider for libraries in standalone mode
  • KT-60611 K2: reduce number of "in-block modification" events
  • KT-61425 Analysis API: Provide a way to get a declared member scope for an enum entry's initializing anonymous object
  • KT-61405 Analysis API: An enum entry should not be a KtSymbolWithMembers
  • KT-55504 AA: remove dependency on :compiler:cli from standalone AA
  • KT-60904 K2: IDE K2: "For DESTRUCTURING_DECLARATION_ENTRY with text _, one of element types expected, but FirValueParameterSymbol found"
  • KT-61260 K2 Scripts: Containing function should be not null for KtParameter
  • KT-61568 FIR Analysis API: collectCallCandidates gives presence to the top level functions in the presence of more suitable overrides
  • KT-60610 K2 IDE: move "out of block" processing logic into LL FIR
  • KT-61597 Analysis API: KotlinIllegalStateExceptionWithAttachments: expected as maximum one expect for the actual on errorneous code with multiple expects
  • KT-59793 K2: class org.jetbrains.kotlin.fir.declarations.impl.FirErrorImportImpl cannot be cast to class org.jetbrains.kotlin.fir.declarations.FirResolvedImport
  • KT-61599 K2: ContextCollector: Support smart cast collection
  • KT-61689 Analysis API: ContextCollector provides incorrect context in scripts
  • KT-61683 Analysis API: resolve ambiguities in kotlin project
  • KT-61245 Analysis API: ContextCollector provides incorrect context for supertype constructor calls
  • KT-60384 K2: Opening @JvmName source in IDEA: NPE at PsiRawFirBuilder$Visitor.toFirConstructor()
  • KT-60918 K2 IDE: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtDestructuringDeclarationEntry, fir is null"
  • KT-61013 K2 Scripts: LLFirReturnTypeCalculatorWithJump: No designation of local declaration
  • KT-59517 K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent
  • KT-61331 K2: add cache restoring in case of existing context
  • KT-61408 K2: IDE K2: "Inconsistency in the cache. Someone without context put a null value in the cache"
Analysis. Light Classes
Performance Improvements
  • KT-63486 SLC: a lot of RAM is allocated in org.jetbrains.kotlin.asJava.LightClassUtil.isMangled
Fixes
  • KT-66692 SLC: findAttributeValue for attribute w/ default value in Java returns null
  • KT-61734 SLC: wildcard suppression not honored
  • KT-65112 Symbol Light Classes don't support annotations on type parameters
  • KT-65843 K2: Light method returns kotlin.Unit type for TestResult return type
  • KT-65653 SLC: wrong binary resolution to function with value class
  • KT-65393 SLC: missing deprecated-hidden property
  • KT-64772 SLC: presence of source PSI for compiler-generated declaration
  • KT-65425 K2 IDE: Seeing a reference to the class generated by compiler plugin exposed from Java code caused NPE from light classes
  • KT-64937 SLC: internal setters are not mangled
  • KT-63949 K2 IDE. Analyze hang on @Autowired constructor analysis
  • KT-63087 K2 IDE: in .java source reference to JvmName names on unsigned type / value class are unresolved
  • KT-64605 K2 IDE: usage of @Repeatable annotation in Java: false positive "Duplicate annotation"
  • KT-64795 SLC: distinguish last v.s. non-last vararg value parameter type during binary resolution
  • KT-61605 K2 IDE: Light elements do not obey platform contracts
  • KT-57536 SLC: no need to populate members with expect modifier
  • KT-64320 Decouple kotlin psi from java PSI
  • KT-64282 Decouple KotlinIconProviderService from java PSI
  • KT-63552 Symbol Light Classes don't support arrayOf and similar without parameters in property initializers and default parameter values
Apple Ecosystem
  • KT-63821 Copy framework to BUILT_PRODUCTS_DIR in the embedAndSign task
  • KT-67892 KotlinNativeLink task instantiates with a fixed list of apiFiles
  • KT-64096 Diagnostic when embedAndSign used for framework with cocoapods-dependencies
  • KT-66446 Diagnostic never showed, and build fails when CocoaPods dependency is used with embedAndSign task and linking type is dynamic
  • KT-66445 Diagnostic never showed when CocoaPods dependency is used with embedAndSign task and linking type is static
  • KT-62373 "Xcode higher than tested" diagnostic
  • KT-63212 podInstall task fails without a proper diagnostic when xcodeproj gem is outdated
Backend. Native. Debug
  • KT-65553 K2: Native: kt42208WithPassingLambdaToAnotherFunction test fails with K2
  • KT-57365 [Native] Incorrect debug info on inline function call site
Backend. Wasm
New Features
  • KT-65009 Generate TypeScript definitions for the @JsExport declarations in K/Wasm
  • KT-58088 [PL] Support & enable partial linkage for Wasm
  • KT-66327 Include information about particular Wasm target into KLib manifest
Fixes
  • KT-66465 WASM support doesn't appear to be able to see some common declarations
  • KT-66905 K/Wasm: support new version of exception handling proposal
  • KT-66515 Wasm: "call param types must match" during the build
  • KT-67435 K/Wasm: import.meta.url transforming into absolute local path in webpack
  • KT-65777 Implement named export for Kotlin/Wasm
  • KT-65660 [WasmJs] Support catching JS exceptions
  • KT-65824 Wasm: Allow unsigned primitives to be used inside functions annotated with @JsExport
  • KT-66103 Wasm: companion object is not initialized in test initializers1.kt
  • KT-66471 Null method reference with Kotlin/Wasm on 2.0.0-Beta4
  • KT-65210 K/Wasm ::class operator produces Number KClass for Short expression
  • KT-66065 [Wasm] Make specialisations for closured primitive values
  • KT-64890 K/Wasm compiler crash with external class and Kodein
  • KT-66104 Wasm: compiler crash: NoSuchElementException: Sequence contains no element matching the predicate
  • KT-65778 Create the same TypeScript tests infrastructure for Kotlin/Wasm that we have now for Kotlin/JS
  • KT-65411 Kotlin/Wasm: Boolean boxed instances are not the same
  • KT-65713 Kotlin/Wasm generates a wrapper that cannot run in Deno
  • KT-63939 Kotlin/Wasm Support lazy associated object initialisation
  • KT-61888 [Kotlin/wasm] in kotlin.test support for @AfterTest for async tests
  • KT-64803 K/Wasm: non-capturing lambdas are not singleton unlike same lambdas in jvm
  • KT-64449 K2: Implement K1WasmWasiCodegenBoxTestGenerated for K2
  • KT-64829 K/Wasm: division remainder has a wrong sign
  • KT-58852 WASM: two methods with different varargs: Class korlibs.template.dynamic.DynamicShape has 2 methods with the same signature [register(kotlin.Array)
  • KT-61263 K/Wasm: add a way to turn on k2 in wasm examples using Compose
  • KT-62863 Execution failed for task ':kotlinx-serialization-properties:wasmJsD8Test' in serialization in the K2 QG
  • KT-62657 K/Wasm: switch to json repots for Kotlin Wasm Benchmarks
  • KT-62147 [Kotlin/Wasm] Nothing typed when expression cause a backend error
  • KT-61958 Update SpiderMonkey and return its usage in box tests when they switch to the final opcodes for GC and FTR proposals
  • KT-60828 K/Wasm: return br_on_cast_fail usages
  • KT-59084 WASM: "RuntimeError: illegal cast" caused by inline class and JsAny
  • KT-60700 [WASM] test FirWasmCodegenBoxTestGenerated.testSuspendUnitConversion failed after KT-60259
Compiler
New Features
  • KT-45375 Generate all Kotlin lambdas via invokedynamic + LambdaMetafactory by default
  • KT-24664 No smartcast on stable property if receiver had non-null assertion
  • KT-23915 Add smart cast to non-nullable type after elvis operator
  • KT-61077 Support provideDelegate inference from var property type
  • KT-59688 K2: consider removing smartcasts only from the only visibile property with specific name, not from all of them
  • KT-7389 Intersection type for type parameter with multiple upper bounds in star projection
  • KT-63477 Consider supporting builder-style type inference from Unit coercion of last statements in lambdas
  • KT-61907 K2: builder inference works with assignments to member properties
  • KT-61909 K2: builder inference infers correct types from assignments to extension properties
  • KT-59551 K2: builder inference works with anonymous functions if builder parameter has a receiver with a postponed type variable
  • KT-65443 [K/N] Implement header caches
  • KT-4113 Smart casts for properties to not-null functional types at invoke calls
  • KT-65681 K2: Improve error message of UPPER_BOUND_VIOLATED when upper bound is a captured type or other non-denotable type
  • KT-32754 Choose existing extensions over additional built-ins members from JDK except overrides
  • KT-57800 Support synthetic properties on super receiver
  • KT-64350 K2: deprecate using typealias as a callable qualifier in imports
  • KT-26565 Choose existing extensions over additional built-ins members from JDK
  • KT-65478 JVM: Change inlined variable naming format
  • KT-64702 Upper bound of type parameter is ignored when capturing of in-projection appears in out position
  • KT-60274 K2: builder inference works through a delegated local variable inside builder argument
  • KT-65859 Calls refinement extension point
  • KT-15220 Reuse resolution results of common code for platform modules in multiplatform projects
  • KT-60476 K2: False positive NO_VALUE_FOR_PARAMETER in platform code for value class with default parameter in common declaration
  • KT-65153 K/N: extract liveness analysis to a separate phase
  • KT-59098 Support -Xjdk-release=1.6/1.7 with -jvm-target 1.8
  • KT-63670 Implement platform specific declaration clash diagnostics across all backends
  • KT-62547 Introduce a language feature flag for smartcasts based on "memory" variables
  • KT-60820 K1: Empty vararg value is inserted in serialized annotation call with expect default vararg value
  • KT-58172 Forbid expect class A actual constructor
  • KT-54443 Smart cast to non-null after safe-call in require
  • KT-25747 DFA variables: propagate smart cast results from local variables
  • KT-22997 Smart-cast should merge is-check for non-nullable type and a null check to a nullable type
  • KT-22996 Smart casts should observe nullability after is-check with a nullable subject type
  • KT-22004 Allow to resolve CONFLICTING_OVERLOADS with Deprecated(HIDDEN)
  • KT-61955 Support more wider actual member visibility, if the expect member is effectively final
  • KT-59504 K2 compiler does not require resolved 'componentX' functions for the placeholder ('_') variables in the destructuring declarations
  • KT-62239 Allow enum entries without parentheses uniformly
  • KT-11712 Smart cast is not applied for invisible setter
Performance Improvements
  • KT-47545 NI: Slow type inference involving large when-expression (ConstraintInjector.processConstraints)
  • KT-62714 Do not add nullability annotations to the methods of inner classes in enum entries
  • KT-62903 Unoptimzied when compilation
  • KT-67388 FP intellij: performance degradation in build 611
  • KT-67507 K2: Slow compilation times when a class has a lot of possibly conflicting declarations
  • KT-65005 K2: Investigate testCommonSuperTypeContravariant performance
  • KT-65996 Compiler enters endless loop
  • KT-66341 K2: Don't build IdSignatures in FIR2IR with IR f/o builder
  • KT-66172 K2: Improve memory consumption of KtPsiSourceElement
  • KT-50860 Combination of array set convention and plusAssign works exponentially
  • KT-62798 'in' range checks are not intrinsified in kotlin-stdlib
  • KT-65579 K2: performance regression in FP Space
  • KT-61635 K2: getConstructorKeyword call in PsiRawFirBuilder.toFirConstructor forces AST load
  • KT-62619 FIR: Checker performance regression due to MISSING_DEPENDENCY checkers
  • KT-62044 Do not add nullability annotations to the methods of anonymous class
  • KT-62706 Optimize KtSourceElement.findChild()
  • KT-62513 Do not add nullability annotations to the methods of local classes
  • KT-61991 K2: avoid redundant full body resolution for properties during implicit type phase
  • KT-61604 [K/N] Bitcode dependency linking is slow for large compilations
  • KT-61121 [K/N] Kotlin Native compiler performance is slow when generating large frameworks
  • KT-57616 K2: Consider optimizing reversed versions of persistent lists in FirTowerDataContext
Fixes
  • KT-67993 K2: PCLA Inference throws exception with local objects
  • KT-61768 Wrong bytecode index in LineNumberTable when there is an incremental operation
  • KT-63580 "AssertionError: access of const val: GET_FIELD" caused by const value and variable with delegation
  • KT-63567 "NoSuchMethodError" on getting value of lazily initialized property by companion's const value
  • KT-56078 K2: build kotlinx.coroutines
  • KT-67609 K2: False negative INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_ERROR
  • KT-57750 Report ambiguity error when resolving types and having the same-named classes star imported
  • KT-65603 K2: No approximation is done on public, but effectively private property
  • KT-59932 K2: Disappeared AMBIGUOUS_ANONYMOUS_TYPE_INFERRED
  • KT-59906 K2: Disappeared CAPTURED_VAL_INITIALIZATION
  • KT-53886 NoSuchMethodError exception in Kotlin/Native compiler
  • KT-57678 K2: Inconsistency in how K2 analyzes unresolved code for loops and changing closures
  • KT-57871 K1/K2 inconsistency on if-conditional without else-branch in parenthesis
  • KT-56384 K2: build IntelliJ monorepo master branch
  • KT-49191 Leaked integer literals from lambda with flexible return type
  • KT-65812 K2: "OutOfMemoryError: Java heap space" in kotlin.utils.SmartList.add
  • KT-67224 K2/Native: Member overrides different '@Throws' filter from separate module
  • KT-65623 K2: Unresolved reference in connection with casts
  • KT-64136 K2: NSME with Anvil compiler plugin
  • KT-51241 Provide a error when override method has different set of context receivers
  • KT-52920 Confusing "Multiple arguments applicable for context receiver" error message
  • KT-67912 K2: Cannot inference type properly from inline function with Type parameter
  • KT-68056 Prohibit referencing java field in case of conflict with property from companion object of the derived class
  • KT-61129 K2: Implement error suppression warning
  • KT-67367 K2: Incorrect resolution to top-level function with less specific signature in presence of SAM constructor on the same tower level
  • KT-50179 Fix DUPLICATE_LABEL_IN_WHEN warning with new rules of complex boolean constants
  • KT-45334 Prohibit referencing constructors of sealed classes by its inner members
  • KT-59943 K2: Disappeared OPERATOR_MODIFIER_REQUIRED
  • KT-67875 K2: Resolution ambiguity between Iterable and varargs
  • KT-67699 Not enough information to infer type argument for 'Error' using Arrow's Raise context receiver since Kotlin 2.0.0-Beta3
  • KT-67486 K2: Calling method from a Java (implementing a Kotlin class) with named parameters is no longer possible if Java method has different parameter names
  • KT-66527 K2: type mismatch on override for type
  • KT-59897 K2: Disappeared PACKAGE_OR_CLASSIFIER_REDECLARATION
  • KT-50020 K2: False-negative USAGE_IS_NOT_INLINEABLE when lambda in receiver position
  • KT-44557 Implement main function detection to FIR
  • KT-67810 K2: public-API inline function cannot access non-public-API annotation enum
  • KT-66447 Implement KT-59138 under a language feature
  • KT-54862 Anonymous type can be exposed from private inline function from type argument
  • KT-37592 Property invoke of a functional type with receiver is preferred over extension function invoke
  • KT-51194 False negative CONFLICTING_INHERITED_MEMBERS when dependency class contained in two different versions of the same dependency
  • KT-67221 K2: "new inference error [NewConstraintError at Incorporate TypeVariable" for captured type
  • KT-66701 K2: Java interface method override via Kotlin class rejected
  • KT-60604 K2: introduced NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, @PublishedApi needed for constants in annotations
  • KT-64309 Generate a variable mapping for continuation parameter in suspend methods just from the start
  • KT-65438 K2: Introduce WEAKLY_HIDDEN concept to built-in-JDK content mapping
  • KT-65235 JDK 21 might lead to change in overloads resolution
  • KT-66768 K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast call
  • KT-67106 Platforms libs-dependant autotests for ObjC checkers
  • KT-65440 K2: Mark all potential implementations of List.getFirst()/getLast() as deprecated independently of JDK
  • KT-65594 K2: Type inference fails on NullMarked object with star type
  • KT-62849 Unoptimised bytecode for Java synthetic property references
  • KT-60174 JVM IR inline: accidental reification in various cases
  • KT-57609 K2: Stop relying on the presence of @UnsafeVariance using for contravariant parameters
  • KT-54316 Out-of-call reference to companion object's member has invalid signature
  • KT-66976 Some value class diagnostics are missed
  • KT-57426 Incorrect error message on inapplicable smartcast from alien property
  • KT-55111 OptIn: forbid constructor calls with default arguments under marker
  • KT-49856 Incorrect smartcast on var assigned in try-catch block
  • KT-41237 ReturnsImplies contract for receiver of member function does not work (no smartcast)
  • KT-37878 No Smart cast for class literal reference of nullable generic type
  • KT-35846 Smart cast with unchecked cast leads to unresolved call that was resolved before (both old and new inference)
  • KT-30867 Unsound smartcast if smartcast source and break is placed in for-in header as function arguments
  • KT-30267 Inconsistent smart casts in while (true)
  • KT-33917 Prohibit to expose anonymous types from private inline functions
  • KT-28889 Smart cast does not work with boolean and infix function
  • KT-54790 False positive NO_ELSE_IN_WHEN when all interfaces are sealed
  • KT-54920 K2: when with a single branch stops being exhaustive the second time it's done
  • KT-53364 False positive UNUSED_VARIABLE warning for variable that is used across multiple blocks
  • KT-43234 False positive INVALID_IF_AS_EXPRESSION caused by if without else inside else inside synchronized()
  • KT-38490 False negative INVALID_IF_AS_EXPRESSION with unreachable code and coercion to Unit
  • KT-35510 No INVALID_IF_AS_EXPRESSION ("'if' must have both main and 'else' branches if used as an expression") diagnostic for if-expression with only one branch and Nothing type condition
  • KT-34016 Contracts - variable cannot be initialized before declaration
  • KT-56408 Inconsistent rules of CFA in class initialization block between K1 and K2
  • KT-33829 False positive SENSELESS_COMPARISON with assignment in catch block
  • KT-30717 False positive UNUSED_VARIABLE with local var used in inline lambda block with loop, return and other lambda
  • KT-28232 RETURN_NOT_ALLOWED in inline lambda argument of '[... ]' operator convention
  • KT-26116 No error when class member val is referenced in inline function before it is assigned later on
  • KT-25311 Calls on error type values lead to false-positive unreachable code
  • KT-24372 Misleading warning on unused setter parameter in some cases
  • KT-23680 False positive UNREACHABLE_CODE on throw with a return inside finally clause
  • KT-23502 When exhaustiveness is not checked for unreachable code, resulting in JVM back-end error
  • KT-22621 "throw throw Exception()": False negative UNREACHABLE_CODE warning
  • KT-22317 No INITIALIZATION_BEFORE_DECLARATION without primary constructor
  • KT-67307 K2: "Cannot find cached type parameter by FIR symbol" in JpaRepository.saveAll
  • KT-67185 K2: Incorrect coercion-to-Unit leading to CCE at runtime
  • KT-64891 K2: consider supporting/forbidding foo.(bar)() syntax
  • KT-59480 K2: build moko-resources
  • KT-65771 K2: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" when calling method imported using typealias as callable qualifier
  • KT-67502 K2: "property must be initialized or be abstract" with try-finally in secondary constructor
  • KT-67456 K2: "property must be initialized or be abstract" depending on constructor declaration order
  • KT-63524 K2: "Not enough information to infer type argument"
  • KT-67628 K2: "IllegalArgumentException: Expected nullable type" — alias of nullable type analyzed as non-nullable in type parameter
  • KT-67625 K2: Array aliases can't be used as vararg values
  • KT-67624 K2: False negative "The feature "break continue in inline lambdas" is experimental and should be enabled explicitly" in elvis operator
  • KT-61787 K2 doesn't report warnings for some Gradle tasks
  • KT-62550 K2: Different JVM signature of lambda with Unit return type
  • KT-65120 K2 Consider turn into platform checkers ones which checks for objC
  • KT-60271 K2: origins are not set on compare operators
  • KT-28695 Compiler does not detect uninitialized property in lambda
  • KT-67593 K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERS
  • KT-67484 K2: FIR2IR generates incorrect access to f/o of lateinit internal var
  • KT-47382 JVM / IR: "AssertionError: Unbound private symbol IrFieldSymbolImpl" caused by string template in constructor and extension property
  • KT-67581 K2: Compiler fails on actualizing abstract class with sealed Java class via type alias
  • KT-49404 Fix type unsoundness for contravariant captured type based on Java class
  • KT-22379 Condition of while-loop with break can produce unsound smartcast
  • KT-67021 K2: Cannot find cached type parameter by FIR symbol: E of the owner: FirRegularClassSymbol Function
  • KT-67014 K1/K2 handle when expression as annotation target differently
  • KT-67254 K1/K2 both allow annotations on loops, assignments, array sets
  • KT-66960 K2. KMP. False negative 'when' expression must be exhaustive without sealed class inheritor from common source-set
  • KT-65578 K2: implement a deprecation warning for KT-57014 (wrong nullability returned from JDK SAM constructor lambda)
  • KT-63466 @NonNull on a type-variable usage doesn't take precedence over a wildcard type argument
  • KT-56134 K2: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER diagnostic is reported for the wrong symbol
  • KT-66196 Convert INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_ERROR to warning
  • KT-66793 K2: "assigning single elements to varargs in named form is prohibited." caused by varargs supplied from java with elvis operator
  • KT-59872 K2: Disappeared TYPE_MISMATCH
  • KT-67192 K2: Disappeared TYPE_MISMATCH [3]
  • KT-63319 K1/K2: inconsistent behavior around NullMarked and type parameter based types
  • KT-59882 K2: Disappeared CANNOT_INFER_PARAMETER_TYPE
  • KT-67191 K2: Disappeared TYPE_MISMATCH [4]
  • KT-53752 Missed subtyping check for an intersection type
  • KT-52628 Deprecate SAM constructor usages which require OptIn without annotation
  • KT-54066 Deprecate upper bound violation in typealias constructors
  • KT-64860 K2: Consider using different ConstraintPosition when fixing variables for PCLA
  • KT-67189 K2: Disappeared TYPE_MISMATCH [5]
  • KT-67551 K2: No wrong annotation target error for for statement
  • KT-67374 K2: Object is not smartcasted to type parameter type
  • KT-67264 K2: "argument type mismatch" with suspend lambda and java wildcard
  • KT-63257 K2: FIR2IR inserts incorrect implicit cast for smartcasted variable
  • KT-66902 K2: "Named arguments are prohibited for non-Kotlin functions" with Java interop
  • KT-67311 K2: "Argument type mismatch" caused by lambda type when using named arguments
  • KT-57011 Make real type of a destructuring variable consistent with explicit type when specified
  • KT-62043 K2: Fix FirCompileKotlinAgainstCustomBinariesTest.testRawTypes
  • KT-66256 K2: compiler FIR2IR crash on SAM-conversion to value parameter of in-projected type
  • KT-67124 "Unstable inference behaviour with multiple generic lambdas" compilation error
  • KT-59791 K2: Implement partially constrained lambda analysis
  • KT-66743 Lambda receivers and anonymous function parameters of inaccessible types are allowed
  • KT-67315 K2: Some default imports are not excluded
  • KT-56126 Avoid using descriptors at JvmPlatformAnalyzerServices::computePlatformSpecificDefaultImports
  • KT-66513 K2: Suppressing OPT_IN_USAGE_ERROR is now a warning in K2, preventing safe code gen compatible with -Werror
  • KT-67233 False negative UNSAFE_CALL with type check after null coalescing with 'OR'
  • KT-52802 Report ambiguity resolving between property/field and enum entry
  • KT-64920 Json.encodeToString yields different results depending on whether typealias is used
  • KT-58260 Make invoke convention work consistently with expected desugaring
  • KT-67314 PCLA works inconsistently with smart-cast related CS forks
  • KT-66797 K2 JS: Primary constructor property annotation with target VALUE_PARAMETER is put on property instead of parameter
  • KT-55179 False negative PRIVATE_CLASS_MEMBER_FROM_INLINE on calling private class companion object member from internal inline function
  • KT-54663 Projected types don't take into account in-place not null types
  • KT-58191 K2: capturing closures successors that are already resolved (thanks to backward edges) must be taken into account for allowing smart casts
  • KT-67144 K2: potential NPE when assigning to unstable vars
  • KT-66971 K2: missing SMARTCAST_IMPOSSIBLE on open val declared in another module
  • KT-66904 K2: possible NPE when reassigning captured variables
  • KT-57031 operator assignment, increment/decrement should be considered as variable reassigning in terms of DFA. green in K1 -> red in K2 for unsound code
  • KT-67212 K2: "Failed to find functional supertype for class org.jetbrains.kotlin.fir.types.ConeCapturedType"
  • KT-67283 K2: No SAM conversion for fun interface with abstract toString
  • KT-67318 Compiler fails with OutOfMemoryError on combination of PCLA+smart cast
  • KT-66956 K2: false negative CONST_VAL_WITH_NON_CONST_INITIALIZER for inc/dec operators
  • KT-64233 K2: K1/K2: ensure JVM ABI consistency for quality gates projects
  • KT-63535 K2: Apply DFA implications for nullable Nothing to both sides
  • KT-63413 K2 / kotlinx-atomicfu: "IllegalStateException: Expected some types"
  • KT-62931 K2: extra class files for @OptionalExpectation marked annotations
  • KT-34307 Confusing error message on lambda return type mismatch
  • KT-62151 K2. overload resolution ambiguity for calls of Java record compact constructors
  • KT-60732 K2 Scripting: TeamCity DSL test
  • KT-65062 K2: build kotlinx.collections.immutable and pass to CI
  • KT-59467 K2: build toolbox-enterprise
  • KT-67205 K2: can't deserialize annotation with local class as argument
  • KT-52175 K2: WRONG_ANNOTATION_TARGET for annotation that used inside if
  • KT-65449 K2: build KAPT user project and pass it to CI
  • KT-61384 IrFakeOverrideBuilder incorrectly checks visibility for friend modules
  • KT-67142 K2: IrFakeOverrideBuilder: AbstractMethodError on raw type argument in a Java superclass
  • KT-65105 K2 / Native: Member overrides different '@Throws' filter
  • KT-62570 IncompatibleClassChangeError due to overriding final method
  • KT-57812 K2: support serialization of type annotation's arguments
  • KT-67190 K2: Disappeared TYPE_MISMATCH [2]
  • KT-56683 K2: No control flow analysis for top-level properties
  • KT-67188 K2: Disappeared TYPE_MISMATCH [6]
  • KT-62063 K2: drop pre-release flag in 2.0-RC
  • KT-67187 K2: Disappeared TYPE_MISMATCH [1]
  • KT-66909 K2: Implement a diagnostic for returning null from a lambda with expected return type Unit!
  • KT-66534 False positive ASSIGNMENT_TYPE_MISMATCH in lambdas with expected return type Unit!
  • KT-63381 IrFakeOverrideBuilder: PublishedApi affects overridability of internal members
  • KT-63836 K2: No deprecation error message in common metadata compilation
  • KT-57618 K2: complex deprecation messages are not printed in the error
  • KT-59856 K2: Check ConeDiagnostics that are not mapped to KtDiagnostics
  • KT-57502 K2: Smart casts should be forbidden if variable that remembers the smart cast is declared by delegation
  • KT-63967 K2: Missing getterSignature in metadata for script variables
  • KT-59372 K2: Missing SELF_CALL_IN_NESTED_OBJECT_CONSTRUCTOR_ERROR
  • KT-60526 K2: Fix the TODO in convertToIr.kt
  • KT-67090 K2: Exception from metadata compilation when compiling class with annotations from dependencies
  • KT-59479 K2: build KorGE
  • KT-64502 K2: Internal error on calling function before declaration
  • KT-62560 K2: KAPT4: annotation @ReplaceWith is missing a default value for the element 'imports'
  • KT-67027 K2: Review all use-sites of annotation arguments utilities
  • KT-65012 IR Evaluator: NoSuchFieldException when evaluating protected/private fields of superclasses
  • KT-66953 K2: toByte() call on Char leads to ClassCastException for klib backends
  • KT-60096 K2: Introduced API_NOT_AVAILABLE
  • KT-59484 K2: build trustwallet sample
  • KT-64151 K2: consider implementing FIR-level constant evaluation
  • KT-65787 K2: "KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType" caused by passing lambda expression with multiple labels to function
  • KT-53629 K2: forbid multiple labels per statement
  • KT-65255 K2 / KJS: "IllegalArgumentException: Candidate is not successful, but system has no contradiction"
  • KT-65195 K2: Unexpected exception when executing dynamic array element inc/dec
  • KT-63416 K2 / Contracts: False positive "Leaked in-place lambda" warning caused by suspend lambda with callsInPlace contract
  • KT-66717 Incorrect diagnostics around intersection property overrides
  • KT-63540 Restrict the CONFLICTING_OVERLOADS + DeprecatedLevel.HIDDEN ignore to final callables
  • KT-56587 There are no warnings in some cases when Enum.entries is shadowed
  • KT-65111 K2: Java star imports don't work in KJK interdependencies
  • KT-63709 K2: Argument smartcasting impacting receiver and call resolution for implicit invoke
  • KT-63530 K2: Disable passing data flow info from in-place lambdas
  • KT-65377 K2: "Argument type mismatch" caused by approximated captured type argument of generic type
  • KT-59400 K2: Missing CANNOT_INFER_VISIBILITY
  • KT-62305 K2: Missing Fir metadata serialization support for scripts
  • KT-64534 K2: org.jetbrains.kotlin.util.FileAnalysisException: Somewhere in file
  • KT-57555 [LC] Forbid deferred initialization of open properties with backing field
  • KT-65776 [LC] K2 breaks false && ... and false || ...
  • KT-64641 K2: Change in inference of supertype of function types with receiver
  • KT-65649 K2: IR has incorrect origins for some inplace updating operators
  • KT-64295 Forbid recursive resolve in case of potential ambiguity on upper tower level
  • KT-62866 K2: Change qualifier resolution behavior when companion object is preferred against static scope
  • KT-55446 Change impact of private-to-this visibility to resolution
  • KT-64255 Forbid accessing internal setter from a derived class in another module
  • KT-64966 Forbid generic delegating constructor calls with wrong type for generic parameter
  • KT-63389 K2: WRONG_ANNOTATION_TARGET is reported on incompatible annotations of a type wrapped into ()?
  • KT-66748 K2: False-positive AMBIGUOUS_SUPER in toString
  • KT-67013 K2: ClassCastException: class FirConstructorSymbol cannot be cast to class FirNamedFunctionSymbol
  • KT-64872 K2: do-while condition able to access uninitialized variable
  • KT-66350 K2: "IllegalStateException: Unsupported compile-time value STRING_CONCATENATION" when evaluating an annotation argument string
  • KT-61798 K2 incorrectly calculates modality of property accessors
  • KT-65035 IrFakeOverrideBuilder: AbstractMethodError on inheritance from Java subclass of CharSequence with inherited implementations
  • KT-61579 K2: Inconsistent reporting UNINITIALIZED_VARIABLE for top-level properties
  • KT-66730 K2: False positive RETURN_TYPE_MISMATCH in return statement in SAM constructor
  • KT-66570 Generic wildcard upper bound inference error
  • KT-65272 K2: invoke operator applies "restricted suspending call" error differently than K1
  • KT-66148 K2. Sources of receivers updated twice because of PCLA
  • KT-62525 K2: IllegalStateException: Can't find KotlinType in IrErrorType: IrErrorType(null)
  • KT-64266 K2: don't report MISSING_DEPENDENCY_CLASS on lambda parameter for non-generic types
  • KT-65300 K2: this-expressions in initializers and local declarations don't introduce type information to either BI or PCLA
  • KT-66463 K2: false positive ACCIDENTAL_OVERRIDE_CLASH_BY_JVM_SIGNATURE
  • KT-62356 Prohibit using property+invoke for iterator
  • KT-63631 K2: constant value UByte.MAX_VALUE is incorrectly deserialized from metadata
  • KT-65386 K2: Different signature of invoke for Unit lambda
  • KT-60574 K2: generated IR for suspendCoroutineUninterceptedOrReturn is different from K1 (K2 uses Any? instead of Unit)
  • KT-66512 K2: Incorrect diagnostic in lambda whose expected type is a type alias to Unit
  • KT-66279 K2: False positive INITIALIZER_TYPE_MISMATCH with return Unit in a lambda with the expected type () -> Unit
  • KT-66277 K2: False negative RETURN_TYPE_MISMATCH with empty return in lambda assigned to a property
  • KT-66654 K2 FIR resolution: Mismatch between actual type and expected type for a value parameter when the parameter type is a function type with special function kind
  • KT-66638 Cannot access properties of a generic type with wildcards
  • KT-66690 K2: don't report MISSING_DEPENDENCY_CLASS on expression without errors for generic type arguments
  • KT-66767 K2: Destructuring declaration inside initializer failure
  • KT-63695 JVM: Don't use plugin extensions when compiling code fragment
  • KT-65727 K2: add proper package for properties generated from destructuring declarations
  • KT-64854 K2: Trying to access private field on runtime with contracts
  • KT-65388 IrFakeOverrideBuilder - custom annotation is available in fake getter/setter
  • KT-66595 K2: compiler FIR checking crash on destructuring declarations calling hidden componentN declarations
  • KT-62129 K2: Verification error on calling an extension from an env with 2+ context receivers
  • KT-41607 NI: UNSAFE_CALL caused by try catch block assigning to a nullable variable
  • KT-63932 K2/Native codegen test failures around builder inference
  • KT-66352 K2: difference between LL FIR and FIR for componentN functions
  • KT-66686 K2 Script: Unresolved reference of script-specific entities on out-of-order resolve
  • KT-65523 K2: add proper package for result$$ property
  • KT-66699 Restore HostManager ABI
  • KT-60533 Inliner incorrectly captures non-null value as null in coroutines
  • KT-57925 K2: Consider removing FirEmptyContractDescription
  • KT-61893 K2: should not resolve to Java function with Kotlin hidden-level deprecation
  • KT-59669 K2: Explore assignments in in-place lambdas
  • KT-66271 Fir: Deserialize classFile, functionFile and propertyFile from KlibMetadataProtoBuf
  • KT-57957 K2: Symbol providers are frequently queried with error-named class IDs
  • KT-66046 K2: false negative CANNOT_WEAKEN_ACCESS_PRIVILEGE on property
  • KT-66677 K2: OVERRIDE_DEPRECATION isn't reported for WEAKLY_HIDDEN method toArray()
  • KT-62793 K2: slightly different bytecode of suspend conversions
  • KT-57244 K2: slightly different naming scheme for suspend conversion adapters
  • KT-60256 K2: types are not substituted in suspend conversion
  • KT-66673 K2/JS: FirJsInheritanceClassChecker doesn't expand type aliases to supertypes
  • KT-66475 K2/KMP/Wasm: report WRONG_JS_INTEROP_TYPE from a platform checker
  • KT-66474 K2/KMP/JS: report EXTERNAL_TYPE_EXTENDS_NON_EXTERNAL_TYPE from a platform checker
  • KT-66473 K2/Wasm: FirWasmExternalInheritanceChecker doesn't expand type aliases
  • KT-64407 Implement WriteSignatureTestGenerated for K2
  • KT-64438 K2: Port CodegenTestCase to K2
  • KT-64404 Implement WriteFlagsTestGenerated for K2
  • KT-66491 K2 / KJS: "Name contains illegal characters." caused by backticks in import
  • KT-66275 K2: false-positive "Java module does not depend on module" error on access to inherited member from twice-transitive dependency via class from transitive dependency
  • KT-65801 IrFakeOverrideBuilder - visibility is lost for setter in KJK hierarchy
  • KT-65576 K2: Incorrect resolution of variable+invoke when the property type is not computed
  • KT-58575 Private Kotlin property prevents use of Java get- and set-methods from Java-Kotlin-Java hierarchy
  • KT-61282 K2: Incorrect overridden function for java.nio.CharBuffer.get
  • KT-65464 K2: False positive UNRESOLVED_REFERENCE on extension property call defined in KJK hierarchy
  • KT-59470 K2: build KaMPKit
  • KT-60510 Smartcast to functional type does not work in when exprssion
  • KT-59677 K2: Report diagnostics about missing receiver for delegated constructor call to inner class
  • KT-65183 K2: Remove workaround for @OnlyInputTypes and captured types with recursive supertypes from inference
  • KT-66120 IrFakeOverrideBuilder: wrong return type in intersection with 3 classes
  • KT-65939 IrFakeOverrideBuilder - nullability annotation is lost in intersection without annotation
  • KT-59473 K2: build firebase-kotlin-sdk
  • KT-66356 K2: type mismatch error when generic type with inaccessible generic type as type argument is produced and consumed by declarations from dependencies
  • KT-65193 K2: "JAVA_TYPE_MISMATCH" caused by MutableList
  • KT-66636 NoSuchMethodError: 'void org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl. in the FLysto K2 QG
  • KT-63941 K2: "IllegalStateException: Unsupported compile-time value STRING_CONCATENATION" caused by class reference in string expression as annotation parameter
  • KT-65704 K2: computeCommonSuperType of flexible type with recursive captured type argument produces giant multi-level-deep type
  • KT-65410 K2: ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED for 'removeAt' in KJK hierarchy
  • KT-65184 K2: disappeared TYPE_MISMATCH for java collections
  • KT-66392 K2: Exception in KJK hierarchy with implicit types
  • KT-66551 Revert temporary commits after KT-62063 and bootstrapping
  • KT-65218 FIR LL and DiagnosticFE10 tests start to fail in case of adding any new declaration into stdlib commonMain
  • KT-66552 K2: build of intellij crashes the compiler
  • KT-63746 K2: JSpecify: If a class has a @Nullable type-parameter bound, Kotlin should still treat unbounded wildcards like platform types
  • KT-66504 K2: plusAssign operator call is resolved differently than function call
  • KT-48515 JSpecify: If a class has a @Nullable type-parameter bound, Kotlin should still treat unbounded wildcards like platform types
  • KT-57588 K2/Native: False positive '"CONFLICTING_OVERLOADS", "PARAMETER_NAME_CHANGED_ON_OVERRIDE" on overriding objc methods
  • KT-58892 K2: Parcelize doesn't work in common code when expect annotation is actualized with typealias to @Parcelize
  • KT-65882 K2: "KotlinNothingValueException" caused by unsafe cast and Nothing::class
  • KT-66124 K2: Remove FirLambdaArgumentExpression and FirNamedArgumentExpression after resolution
  • KT-65959 K2: Incorrect warnings about inline function impact
  • KT-64994 K2: @Composable lambda type is not resolved from other modules
  • KT-66048 K2: property becomes nullable in KJK hierarchy if base declaration has implicit return type
  • KT-47843 No error reported on assigning "continue" to a companion object
  • KT-47530 NI: Unexpected TYPE_MISMATCH when combining nested conditional and contravariant type argument
  • KT-49583 NI: NullPointerException on compiling anonymous function returning a method reference
  • KT-42782 NI: Smart casting for generic type doesn't work if the variable is already smart cast
  • KT-38031 FIR: Discrepancy in call resolution for qualifiers with old FE
  • KT-65789 K1/K2: Resolve change in constructor/top-level function ambiguity
  • KT-66150 K2: expects type argument in super qualifier
  • KT-60971 Incorrect "cannot inline bytecode built with JVM target ..." on property setter if only getter is inline
  • KT-61514 K2: Build fake overrides using IR during Fir2IR
  • KT-65584 K2: "Duplicate parameter name in a function type"
  • KT-50008 JSpecify @Nullable annotation on type-parameter bound prevents type-variable usages from being platform types
  • KT-37000 IndexOutOfBoundsException from TypeResolver on typealias with cyclic references
  • KT-56988 CFG, smart casts: red in K1 -> green in K2 for invalid code
  • KT-62118 FIR: "HashMap.entry" has invalid enhanced type
  • KT-64840 K2: Bare type are not allowed for TV based values during PCLA
  • KT-65415 K2: Stdlib K2 build error: IrConstructorSymbolImpl is already bound
  • KT-66449 Make DiagnosticSuppressor a project-level extension
  • KT-66411 FIR: Real source on fake block around assignment expression in the "when" branch affects resolve in K2 Analysis API and IDE
  • KT-65249 K2: False positive modality is different for native compilation
  • KT-65982 K2 Scripts cannot disambiguate declarations imported from default and explicit imports
  • KT-65677 K2: Unable to resolve parent class from companion object
  • KT-47310 Change qualifier resolution behavior when companion property is preferred against enum entry
  • KT-41034 K2: Change evaluation semantics for combination of safe calls and convention operators
  • KT-63529 K2: Compiler does not detect tailrec call with nullable type
  • KT-66441 Remove symbol table from IR fake override builder in Fir2Ir
  • KT-64846 K2: false negative CONFLICTING_JVM_DECLARATIONS on inheritance from Java collection subclass with a conflicting override
  • KT-62312 [K2/N] revert putting stdlib to the beginning of libraries list in the compiler
  • KT-58203 K2: false-negative incompatible types error on is-check with unrelated type
  • KT-65722 K2: Property reference refers to non-existent functions
  • KT-65878 K2: "ClassCastException" when passing nun-suspend lambda to SAM constructor with named argument
  • KT-66379 K2: No extra message in UPPER_BOUND_VIOLATED for cases with CapturedType
  • KT-59475 K2: build nowinandroid
  • KT-65926 K2: add tests for all fixed-in-k2 / not-reproducible-in-k2 unresolved issues
  • KT-59481 K2: build aws-sdk-kotlin + smithy-kotlin
  • KT-65022 K2: Compiler crashes when array literal is used in delegate expression
  • KT-62836 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
  • KT-64727 K1: Closing bracket of object inside crossinline lambda or inside lambda in inline function is not hit on step-over
  • KT-64726 K1: Cannot stop on closing bracket of crossinline lambda inside of another crossinline lambda
  • KT-64725 K1: Cannot stop on closing bracket of lambda of inline-only function
  • KT-66272 Could not load module with a combination of type parameters
  • KT-66243 Could not load module in a builder inference with lambda with typed parameter
  • KT-66229 Could not load module in a builder inference with Map.Entry
  • KT-66313 K2: declaration-order-dependent false-positive "recursive problem in type checker" error on getX declaration with implicit return type that calls x declaration via intermediate declaration in getX's expression body
  • KT-61041 K2: Consider getting rid of confusing shouldRunCompletion and shouldAvoidFullCompletion function in FirInferenceSession
  • KT-66267 K2: generic function's type parameter is erased if present as type argument in type of callable reference to member of generic function's local class
  • KT-61448 K2: Disappeared DEPRECATION in testWithModifiedMockJdk
  • KT-60106 K2: Introduced REIFIED_TYPE_FORBIDDEN_SUBSTITUTION
  • KT-58279 K2. False-negative Smart cast to is impossible, because is a public API property declared in different module for Java static field
  • KT-61626 K2: Module "com.soywiz.korlibs.kmem:kmem" has a reference to symbol korlibs.memory/Buffer|null[1]
  • KT-57427 Fix inconsistencies in name manglers that use different declaration representations
  • KT-66258 K2: accessor-targeted @Suppress annotation is ignored on primary constructor property
  • KT-29559 Smart Cast functionality doesn't behave in an expected way in all cases
  • KT-60777 K2: missing INLINE_FROM_HIGHER_PLATFORM
  • KT-66260 K2: false-positive "abstract function in non-abstract class" error on abstract member function of open interface
  • KT-66067 K2: different overrides are created in a complex hierarchy with raw types and upper-bounded type parameters
  • KT-65821 K2: [NONE_APPLICABLE] None of the following functions is applicable: [constructor(message: String?): Throwable, constructor(cause: Throwable?): Throwable, constructor(): Throwable, ...]
  • KT-66268 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
  • KT-63563 K2: False negative RETURN_TYPE_MISMATCH with empty return
  • KT-60797 K2: implement JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE
  • KT-28159 Smartcasts don't work with Nothing? values (Nothing? considered a null constant => an unstable value)
  • KT-28262 Smartcasts for reference equality don't work if explicit true check is used
  • KT-66000 K2: inherited inline getter has not been inlined
  • KT-66158 K2: not nullable return type for upper-bounded kotlin type parameter in KJK hierarchy
  • KT-57268 K2: extra methods remove and/or getOrDefault are generated for Map subclasses with JDK 1.6 in dependencies
  • KT-63577 K2: false-positive "wrong number of type arguments" error on callable reference to member of generic function's local class
  • KT-62352 jspecify NonNull annotation seems not supported
  • KT-65636 PowerAssert: Negative contains operator not aligned correctly in K2
  • KT-64271 K2: Wrong overriddenSymbols for toString of data class
  • KT-62779 K2: Difference in fake override generation
  • KT-61941 K2: FIR2IR incorrectly generates f/o structure for complex java/kotlin hierarchies with remapped jvm declarations
  • KT-60283 K2: fake override for java static method is not generated
  • KT-65095 K2: no bridge generated for getOrDefault when inheriting from Java Map implementation
  • KT-57301 K2: getOrDefault and bridges are not generated for certain Map subclasses
  • KT-50916 K2: store resolved type inside ConeStubType after builder inference
  • KT-65857 K2: java.lang.IllegalArgumentException: Unknown visibility: unknown
  • KT-66174 -Xjdk-release 6 and 7 have a misleading error message
  • KT-66175 Wrong supported options list for -jvm-target compiler option
  • KT-58814 Too eager subtype inference in when expression
  • KT-65408 K1: "There are still 2 unbound symbols after generation of IR module" caused by data object's copy function usage
  • KT-65844 False Positive "This class can only be used as an annotation or as an argument to @OptIn" when passing as an array
  • KT-58697 K2: Tests: Assert no dump files exist when dump directive isn't present
  • KT-63258 NPE with function reference from within lambda during init
  • KT-60597 K1: IllegalArgumentException: fromIndex(0) > toIndex(-1) when wrapping receiver with backticks
  • KT-33108 USELESS_CAST false positive for cast inside lambda
  • KT-58458 K1: "java.lang.NullPointerException" with 'var equals' or 'val equals' as argument in when
  • KT-58447 K1: "AssertionError: Recursion detected on input" with @ParameterName and extension
  • KT-41013 OVERLOAD_RESOLUTION_AMBIGUITY for functions takes lambda: can not resolve it, but only named lambda parameter
  • KT-56032 [LC issue] Incorrect wrapping when passing java vararg method to inline function
  • KT-65588 K2: typealias of primitive type in vararg causes ABI incompatibility
  • KT-23873 Indexed access operator can cause false USELESS_CAST warning
  • KT-31191 Contract not smartcasting for extension functions in if-statement with multiple conditions
  • KT-28725 ReenteringLazyValueComputationException during resolution & inference
  • KT-35429 ReenteringLazyValueComputationException when accessing property with same name
  • KT-63826 K2: expect for expect crashes the compiler
  • KT-25668 False-positive error on restricted suspending function call with callable reference
  • KT-18055 SMARTCAST_IMPOSSIBLE on mutable data class variable with a read-only property
  • KT-15904 Improve error message when type of generic extension call is inferred from receiver
  • KT-66186 K1 diagnostics miss some reporting messages
  • KT-65101 Generics behaving different when parenthesized
  • KT-63444 TYPE_MISMATCH caused by Inner class with nullable type and star projection
  • KT-62022 K1 False positive EXPOSED_FUNCTION_RETURN_TYPE on generics with anonymous object types
  • KT-58751 Definitely non-nullable type gets lost with star projection
  • KT-56624 "Unresolved reference" with import alias and enum constructor call
  • KT-54726 K1: StackOverflowError on mutually recursive typealiases
  • KT-35134 False negative INCOMPATIBLE_TYPES, EQUALITY_NOT_APPLICABLE when comparing smartcast value to Boolean
  • KT-20617 Qualified this@property does not work in extension properties with body expression
  • KT-10879 OVERLOAD_RESOLUTION_AMBIGUITY for synthetic property accessor with smartcasted receiver
  • KT-26768 K1 IDE: False positive "Smart cast to '$CLASS$' is impossible", on local variable in run closure
  • KT-63525 K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by unreachable code
  • KT-65333 K2: UNRESOLVED_REFERENCE for java inner class in intersection scope
  • KT-61060 K2: Rewrite delegate inference
  • KT-63712 Make it possible to add new stdlib API with SinceKotlin(2.0)
  • KT-63741 K2: fix visibility inference with overridden + inherited member
  • KT-64488 K2: False positive DEPRECATED_ACCESS_TO_ENTRY_PROPERTY_FROM_ENUM with context receivers
  • KT-62283 K2: build Dokka with K2 user project and pass it to CI
  • KT-57585 K2/MPP: false-negative errors on expect/actual modifiers mismatch
  • KT-66077 IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKinds
  • KT-57044 K2 LL Tests: false-positive 'Overload resolution ambiguity between candidates: [@Override() fun test(): Unit , fun test(): Unit]'
  • KT-66020 K2: ISE "IrPropertySymbolImpl is unbound. Signature: null" on a property with getter with @JvmName
  • KT-62135 K2, KLIB: Classes are still sorted before serializing them to metadata
  • KT-65866 [K/N] Fix java.lang.IllegalArgumentException: Unknown visibility: unknown
  • KT-66005 K2: "Should not be here: class org.jetbrains.kotlin.fir.expressions.impl.FirResolvedReifiedParameterReferenceImpl" on incorrect comparison of reified type parameter
  • KT-65840 [K2] Initializer type mismatch: expected 'Type', actual 'Type'
  • KT-65002 K2: Incorrect suspend conversion if argument is an aliased functional type
  • KT-65984 K2 scripting: failure on processing SUPPRESS annotation in the last script statement
  • KT-65680 K2: Class redeclaration leads to BackendException during IR fake override builder
  • KT-66028 K2: Convert FirExpectActualDeclarationChecker to platform checker
  • KT-65592 K2: IrFakeOverrideBuilder: ISE "should not be called" on diamond hierarchy with explicit dependency on annotations.jar
  • KT-65277 IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKinds
  • KT-65983 K2 gradle scripting: "'val' cannot be reassigned" errors
  • KT-60452 K2 Scripting: implement overriding of the script params
  • KT-65975 K2: Implicit receivers resolution order in K2 scripting
  • KT-60249 K2: No unit coercion generated for loops body
  • KT-65937 K2: order of enum entries changed
  • KT-65933 K2: Type missmatch in arrays in annotations
  • KT-65343 JVM IR: Source parameter is lost when copying with DeepCopyIrTreeWithSymbols
  • KT-65103 K2: IllegalArgumentException: IrErrorCallExpressionImpl(5388, 5392, "Unresolved reference: R?C|/cont|") found but error code is not allowed
  • KT-62788 K2: difference in annotation inheritance in overriddings
  • KT-65669 K2: ClassCastException class FirDeclarationStatusImpl cannot be cast to class FirResolvedDeclarationStatus
  • KT-65493 IrFakeOverrideBuilder: difference in return type for intersection with raw type
  • KT-65207 IrFakeOverrideBuilder - nullable return type for intersection override
  • KT-65972 Fix problems related to Unknown visibility in [FP] intellij
  • KT-65246 K2: Overiding java method that takes vararg parameter causes WRONG_NULLABILITY_FOR_JAVA_OVERRIDE warning
  • KT-59883 K2: Disappeared INVALID_IF_AS_EXPRESSION
  • KT-57300 K2: subclass of MutableCollection with primitive element type has methods with boxed type
  • KT-58476 Context receivers: "No mapping for symbol: VALUE_PARAMETER" with context-receiver inside suspended lambda calling another suspended function
  • KT-52213 Context receivers: "No mapping for symbol: VALUE_PARAMETER" caused by contextual suspending function type with receiver
  • KT-56545 Fix incorrect functions mangling in JVM backend in case of accidental clashing overload in a Java subclass
  • KT-13650 Right-hand side of a safe assignment is not always evaluated, which can fool smart-casts
  • KT-61823 K2: Render list of declarations in diagnostic messages with linebreak as separator
  • KT-65302 IrFakeOverrideBuilder - missing @EnhancedNullability
  • KT-65241 K2: [LT] Compiler crash on assignment expression with incorrect lvalue
  • KT-60006 K2: Disappeared EXPRESSION_EXPECTED
  • KT-65817 K2: Check if callable reference vararg adaption can be affected by primitive type aliases
  • KT-62847 K2: Introduce FIR node for SAM conversion
  • KT-65920 K2: no field for delegation is created
  • KT-65487 K2: Different fake overrides and false positive NOTHING_TO_OVERRIDE for intersection/override with Collection.remove
  • KT-65460 Don't compare order of functions in IR dump
  • KT-64276 [K/N][K2] K2 behaviorial difference with inconsistent inheritance of ObjCName
  • KT-65572 [K/N][K2] INCOMPATIBLE_OBJC_NAME_OVERRIDE error message changed from K1
  • KT-63420 Prevent weakening visibility in implicit overrides
  • KT-64635 K2: "KotlinIllegalArgumentExceptionWithAttachments: Expected expression 'FirAnonymousFunctionExpressionImpl' to be resolved" when provideDelegate is extension of function with receiver
  • KT-63879 K2: Redundant flag declaresDefaultValue for parameter of function inherited from delegate
  • KT-56744 Prepare language committee ticket about DFA/Smart-cast related changes in K2
  • KT-65790 K2: Move check for private-to-this visibility into checker
  • KT-65551 K2: Property redeclaration on native compilation leads to NotImplementedError
  • KT-65770 K2: Diagnostic rendering of vararg Foo parameter produces vararg Array<Foo>
  • KT-65555 K2: must override 'spliterator' because it inherits multiple implementations for it
  • KT-59921 K2: Disappeared NULL_FOR_NONNULL_TYPE
  • KT-65290 K2: No override for FUN DEFAULT_PROPERTY_ACCESSOR
  • KT-19446 False positive "Smart cast to 'Foo' is impossible" due to same variable names in different closures
  • KT-65337 K2: False positive UNRESOLVED_REFERENCE when lambda labeled by illegal label and operator-invoked
  • KT-65448 K2: fake overrides are not generated for 'containsAll', 'removeAll', 'retainAll' if inherited from raw type
  • KT-65298 K2: not nullable return type and parameter for raw types
  • KT-63377 K2: conflict between type parameter and nested class
  • KT-63286 K2: Top-level properties in scripts are missing initialization checks
  • KT-59744 K2: false negative VAL_REASSIGNMENT in case of reassignment inside custom setter
  • KT-58579 K2: false-positive new inference error on invoking a generic function on Java wildcard type bounded by raw-typed Java inner class
  • KT-60258 Support java-kotlin interop for @SubclassOptInRequired
  • KT-60262 Support for inter-module interaction for @SubclassOptInRequired
  • KT-62878 K2: missing implicit coercion to unit
  • KT-59715 K2: Check behaviour of property + operator in operator position
  • KT-63441 IrFakeOverrideBuilder: "accidental override" when implementing a Java function taking an array parameter
  • KT-65706 K2: IrFakeOverrideBuilder: ISE "Fake override should have at least one overridden descriptor" on J-K-J-K hierarchy with interface delegation
  • KT-61362 K2: Properties/fields are missing from system libraries
  • KT-63344 K2: False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED
  • KT-58845 K2: SAM checker can run incorrectly in presence of an expect supertype
  • KT-61843 K2: Missing TYPE_MISMATCH for nested array literals
  • KT-62752 expect-actual matcher/checker: return type must be "checking" incompatibility
  • KT-59887 K2: Disappeared ACTUAL_MISSING
  • KT-65604 K2: INAPPLICABLE_JVM_NAME: effective modality
  • KT-65637 Prepare documentation for PCLA implementation
  • KT-65341 K2: "Cannot find cached type parameter by FIR symbol" caused by not-null assertion operator inside string in throw
  • KT-49283 Support contribution type info from a nested builder inference call
  • KT-64077 K2: Builder inference ignores constraints from nested builder inference
  • KT-49160 Couldn't infer a type argument through several builder inference calls broken by a local class
  • KT-63827 K2: Array += desugaring doesn't have origin
  • KT-65057 K2: Wrong type inferred in code with heavy use of generics
  • KT-63514 ISE “Inline class types should have the same representation: [I != I” during compilation on submitting UIntArray to vararg
  • KT-61088 K2: return types of non-last-expression calls to @PolymorphicSignature methods inside try-expressions don't resolve to void when required
  • KT-62476 K2: Enable building fake overrides by ir on non-JVM targets
  • KT-59839 Prohibit header and impl in MPP
  • KT-61310 K2: "Not enough information to infer type variable R" for transformLatest
  • KT-63733 Builder-style type inference can't resolve to extension overloads when they're more applicable than member ones
  • KT-57707 K1: inconsistent TYPE_MISMATCH in builder inference
  • KT-55057 Builder inference changes behaviour sporadically based on BI annotation on unrelated call
  • KT-60663 Builder inference does not work inside a nested unrelated builder inference lambda
  • KT-53639 TYPE_MISMATCH: compiler can't infer the list's type when using buildList {} builder or Collection#isNotEmpty
  • KT-60291 K2: "IllegalStateException: Cannot serialize error type: ERROR CLASS: Cannot infer argument for type parameter T" during FIR serialization
  • KT-65033 K2: Fir2LazyIr: Lazy type aliases not supported
  • KT-57709 Inconsistent extension function call resolution in builder inference
  • KT-53740 Builder inference with multiple lambdas leads to unsound type
  • KT-60877 Builder inference from the null literal results in Nothing instead of Nothing? for producing positions of the postponed type variable
  • KT-53553 Builder inference: inconsistent types in different lambda scopes
  • KT-54400 K2: builder inference does not work with assignments of literals to member properties
  • KT-63840 Builder inference fails on calls to identity-shaped functions with postponed type variables inside select-constructions
  • KT-65262 K2: Exception in DFA for combination of try-finally + PCLA + DI
  • KT-58169 K2: make equals bounded smart casts work the same as in K1
  • KT-64967 K2: false positive TYPE_MISMATCH with generic type parameters
  • KT-64102 K2: Missing (disappeared in this case) DELEGATE_USES_EXTENSION_PROPERTY_TYPE_PARAMETER_ERROR
  • KT-63988 K2: Reflection cannot find type of local class of local class
  • KT-63901 K2: Different naming of inner class in metadata
  • KT-63655 K2: incorrect short class name in metadata for anonymous object inside a local class
  • KT-59664 Inline modifier can be added to a constructor parameter, but it does not have any effect
  • KT-59418 K2: Missing DUPLICATE_PARAMETER_NAME_IN_FUNCTION_TYPE
  • KT-63612 K2: Class is not abstract and does not implement abstract member
  • KT-63737 Wasm: revise external declaration FE checker for WASI mode
  • KT-59782 K2: Forbid local delegated properties with private accessors in public inline functions
  • KT-65482 K2: NoSuchFieldError due to using unboxed type
  • KT-61182 Unit conversion is accidentally allowed to be used for expressions on variables + invoke resolution
  • KT-62998 Forbid assignment of a nullable to a not-null Java field as a selector of unsafe assignment
  • KT-63208 K2: Implement deprecation cycle and fix missing errors for error-level nullable arguments of warning-level Java types
  • KT-57600 Forbid overriding of Java method with raw-typed parameter with generic typed parameter
  • KT-63147 K2: False negative DSL_SCOPE_VIOLATION when member is annotated with @LowPriorityInOverloadResolution
  • KT-62134 K2: handle non-simple types during FirStatusResolver.isPrivateToThis check
  • KT-42020 Psi2ir: IllegalStateException: "IrSimpleFunctionPublicSymbolImpl for public [...] is already bound" on generic function whose substitution leads to IdSignature clash
See the full 2.0.0 ChangeLog here - https://github.com/JetBrains/kotlin/blob/2.0.0/ChangeLog.md

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [org.jetbrains.kotlin:kotlin-maven-noarg](https://kotlinlang.org/) ([source](https://github.com/JetBrains/kotlin)) | build | major | `1.9.25` → `2.3.20` | | [org.jetbrains.kotlin:kotlin-maven-allopen](https://kotlinlang.org/) ([source](https://github.com/JetBrains/kotlin)) | build | major | `1.9.25` → `2.3.20` | --- ### Release Notes <details> <summary>JetBrains/kotlin (org.jetbrains.kotlin:kotlin-maven-noarg)</summary> ### [`v2.3.20`](https://github.com/JetBrains/kotlin/blob/HEAD/ChangeLog.md#2320) [Compare Source](https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.20) ##### Analysis API. FIR ##### New Features - [`KT-78090`](https://youtrack.jetbrains.com/issue/KT-78090) Implement stubs support for new conditional returns and holdsIn contracts ##### Fixes - [`KT-82948`](https://youtrack.jetbrains.com/issue/KT-82948) 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl' - [`KT-83467`](https://youtrack.jetbrains.com/issue/KT-83467) Package-level JSpecify annotations are ignored when coming from jars or libraries - [`KT-82057`](https://youtrack.jetbrains.com/issue/KT-82057) K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type - [`KT-82846`](https://youtrack.jetbrains.com/issue/KT-82846) AA: unresolved KtExpression.expressionType for the reference to the parameter with default value - [`KT-80485`](https://youtrack.jetbrains.com/issue/KT-80485) False positive UNRESOLVED\_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object - [`KT-82772`](https://youtrack.jetbrains.com/issue/KT-82772) Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode - [`KT-76487`](https://youtrack.jetbrains.com/issue/KT-76487) StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable - [`KT-82618`](https://youtrack.jetbrains.com/issue/KT-82618) Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25 - [`KT-82076`](https://youtrack.jetbrains.com/issue/KT-82076) Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis - [`KT-71596`](https://youtrack.jetbrains.com/issue/KT-71596) Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector - [`KT-82085`](https://youtrack.jetbrains.com/issue/KT-82085) No OUTER\_CLASS\_ARGUMENTS\_REQUIRED on type parameter bound in IDE - [`KT-81873`](https://youtrack.jetbrains.com/issue/KT-81873) Provide a way of including traces in phase JFR events - [`KT-71929`](https://youtrack.jetbrains.com/issue/KT-71929) Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions ##### Analysis API. Infrastructure - [`KT-83173`](https://youtrack.jetbrains.com/issue/KT-83173) Analysis API Tests: Library names with RC versions aren't sanitised - [`KT-65140`](https://youtrack.jetbrains.com/issue/KT-65140) LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR - [`KT-82212`](https://youtrack.jetbrains.com/issue/KT-82212) \[Analysis API, LL FIR] Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR ##### Analysis API. Light Classes - [`KT-82227`](https://youtrack.jetbrains.com/issue/KT-82227) Value classes should expose regular static methods ##### Analysis API. PSI - [`KT-81710`](https://youtrack.jetbrains.com/issue/KT-81710) 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas - [`KT-82258`](https://youtrack.jetbrains.com/issue/KT-82258) Prepare PSI for migration from context receivers to context parameters - [`KT-81074`](https://youtrack.jetbrains.com/issue/KT-81074) KDoc: List rendering is broken ##### Analysis API. Providers and Caches - [`KT-82449`](https://youtrack.jetbrains.com/issue/KT-82449) K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents) - [`KT-82629`](https://youtrack.jetbrains.com/issue/KT-82629) 'collectDiagnostics' returns stale syntax error after editor fix - [`KT-74907`](https://youtrack.jetbrains.com/issue/KT-74907) Analysis API: Apply platform-based library module content restrictions consistently ##### Analysis API. Standalone - [`KT-81107`](https://youtrack.jetbrains.com/issue/KT-81107) AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links ##### Analysis API. Stubs and Decompilation - [`KT-82792`](https://youtrack.jetbrains.com/issue/KT-82792) Stub for KtValueArgumentList inside KtAnnotationEntry should be present if it is present in psi - [`KT-82527`](https://youtrack.jetbrains.com/issue/KT-82527) TypeClsStubBuilder.createFunctionTypeStub throws NullPointerException - [`KT-82558`](https://youtrack.jetbrains.com/issue/KT-82558) Deserialized DNN type should have a fully qualified Any - [`KT-81928`](https://youtrack.jetbrains.com/issue/KT-81928) KaArrayAnnotationValueImpl.values missing first element - [`KT-82139`](https://youtrack.jetbrains.com/issue/KT-82139) Support contracts for property accessors - [`KT-82198`](https://youtrack.jetbrains.com/issue/KT-82198) Support context parameters in contracts ##### Analysis API. Surface ##### New Features - [`KT-82851`](https://youtrack.jetbrains.com/issue/KT-82851) Property accessors should inherit KDoc from the parent property - [`KT-63339`](https://youtrack.jetbrains.com/issue/KT-63339) Analysis API: Provide a way to extract KDoc for symbols - [`KT-79070`](https://youtrack.jetbrains.com/issue/KT-79070) KaTypeProvider: add API to build a default type with star projections - [`KT-66566`](https://youtrack.jetbrains.com/issue/KT-66566) AA: api to create functional types - [`KT-66043`](https://youtrack.jetbrains.com/issue/KT-66043) KtTypeCreator doesn't provide a way for creating annotated types ##### Performance Improvements - [`KT-83694`](https://youtrack.jetbrains.com/issue/KT-83694) Provide psi-based implementation of `KaDeclarationSymbol#isExternal` - [`KT-70868`](https://youtrack.jetbrains.com/issue/KT-70868) KaSymbol: support PSI-only visibility and modality for the case without compiler plugins - [`KT-81627`](https://youtrack.jetbrains.com/issue/KT-81627) KaFirSymbolDeclarationOverridesProvider#processOverrides should process only relevant declarations ##### Fixes - [`KT-83152`](https://youtrack.jetbrains.com/issue/KT-83152) \[Analysis API, KDoc] Make class name links on constructors point to the class - [`KT-83695`](https://youtrack.jetbrains.com/issue/KT-83695) Deprecate `KaSymbolInformationProvider#{getter, setter}DeprecationStatus` - [`KT-82853`](https://youtrack.jetbrains.com/issue/KT-82853) Add a convenience property for testing declarations for effective external-ness - [`KT-83226`](https://youtrack.jetbrains.com/issue/KT-83226) Support "Collection literals" in the Analysis API - [`KT-83225`](https://youtrack.jetbrains.com/issue/KT-83225) Support "`@IntroduceAt`" in the Analysis API - [`KT-83222`](https://youtrack.jetbrains.com/issue/KT-83222) Support "Improve use-site defaulting for annotations" in the Analysis API - [`KT-83351`](https://youtrack.jetbrains.com/issue/KT-83351) Rename KaSession context parameter from 's' in bridges to something nicer - [`KT-83199`](https://youtrack.jetbrains.com/issue/KT-83199) Clarify API around extension points - [`KT-83074`](https://youtrack.jetbrains.com/issue/KT-83074) Inner enum entry class has incorrect default visibility - [`KT-82442`](https://youtrack.jetbrains.com/issue/KT-82442) Add Ka prefix to org.jetbrains.kotlin.analysis.api.symbols.AdditionalKDocResolutionProvider - [`KT-82443`](https://youtrack.jetbrains.com/issue/KT-82443) Add Ka prefix to org.jetbrains.kotlin.analysis.api.symbols.DebugSymbolRenderer - [`KT-82441`](https://youtrack.jetbrains.com/issue/KT-82441) Add Ka prefix to org.jetbrains.kotlin.analysis.api.compile.CodeFragmentCapturedValue - [`KT-82439`](https://youtrack.jetbrains.com/issue/KT-82439) Add Ka prefix to org.jetbrains.kotlin.analysis.api.components.DebuggerExtension - [`KT-82438`](https://youtrack.jetbrains.com/issue/KT-82438) Add Ka prefix to org.jetbrains.kotlin.analysis.api.components.DefaultTypeClassIds - [`KT-68577`](https://youtrack.jetbrains.com/issue/KT-68577) `asPsiType` and `mapTypeToJvmType`: leading delimiter for class in a root package - [`KT-81734`](https://youtrack.jetbrains.com/issue/KT-81734) MIssing "ARGUMENT\_TYPE\_MISMATCH" caused by self-referential generic type - [`KT-82856`](https://youtrack.jetbrains.com/issue/KT-82856) Redesign KotlinReferenceProviderContributor to make it extensible - [`KT-82615`](https://youtrack.jetbrains.com/issue/KT-82615) Clarify `KtReference#resolvesByNames` contract - [`KT-82534`](https://youtrack.jetbrains.com/issue/KT-82534) No expected type for property accessor without body - [`KT-82406`](https://youtrack.jetbrains.com/issue/KT-82406) Add a test to ensure that all top-level classes in the Analysis API Surface have `Ka` prefix - [`KT-78397`](https://youtrack.jetbrains.com/issue/KT-78397) investigate if there is a need in Extra support for the "various little features in contracts" - [`KT-74009`](https://youtrack.jetbrains.com/issue/KT-74009) Analysis API: Expose "isOverloadable" check for callable symbols similar to "OverloadChecker.isOverloadable" - [`KT-78399`](https://youtrack.jetbrains.com/issue/KT-78399) Check return value - check how we see from Java(+Stub) we see “annotated” signatures - [`KT-80357`](https://youtrack.jetbrains.com/issue/KT-80357) \[Analysis API] `KaType.enhancedType` doesn't enhance type parameters - [`KT-73659`](https://youtrack.jetbrains.com/issue/KT-73659) Analysis API: The name of `KaType.enhancedType` is too general - [`KT-80545`](https://youtrack.jetbrains.com/issue/KT-80545) \[Analysis API] Deprecate `KaFunctionType.arity` - [`KT-77708`](https://youtrack.jetbrains.com/issue/KT-77708) K2 Mode: Potentially redundant smart cast highlighing when passing smartcasted expressions as arguments - [`KT-81264`](https://youtrack.jetbrains.com/issue/KT-81264) K2 AA: `KaValueParameterSymbol.hasDefaultValue` is false for overriding or actual functions - [`KT-81166`](https://youtrack.jetbrains.com/issue/KT-81166) Forbid the usage of KaSessionComponent implementation types directly - [`KT-74801`](https://youtrack.jetbrains.com/issue/KT-74801) Analysis API: Publish/subscribe to modification events with a single message bus topic ##### Backend. Native. Debug - [`KT-81741`](https://youtrack.jetbrains.com/issue/KT-81741) Native: stepping into data class hashCode in lldb goes to line 1 ##### Backend. Wasm ##### New Features - [`KT-81485`](https://youtrack.jetbrains.com/issue/KT-81485) \[Wasm] DebuggerCustomFormatters generation support for single module mode - [`KT-81483`](https://youtrack.jetbrains.com/issue/KT-81483) \[Wasm] Typescript generation support for single module mode - [`KT-81484`](https://youtrack.jetbrains.com/issue/KT-81484) \[Wasm] Dwarf generation support for single module mode ##### Performance Improvements - [`KT-83839`](https://youtrack.jetbrains.com/issue/KT-83839) K/Wasm: CMP. Load time on Safari significantly increased with Kotlin = 2.3.20-Beta1 - [`KT-81524`](https://youtrack.jetbrains.com/issue/KT-81524) Unnecessary Any-JsAny conversions are generated for external instanceofs ##### Fixes - [`KT-82732`](https://youtrack.jetbrains.com/issue/KT-82732) K/Wasm runtime crash when using fun reference: convertKotlinClosureToJsClosure - [`KT-82649`](https://youtrack.jetbrains.com/issue/KT-82649) K/Wasm: Rewrite StringBuilder to use JsString - [`KT-73240`](https://youtrack.jetbrains.com/issue/KT-73240) K/Wasm: consider using JS String Builtins proposal in String implementation for wasm-js target - [`KT-83995`](https://youtrack.jetbrains.com/issue/KT-83995) K/Wasm: 2.3.0 -> 2.3.20-Beta1 degradation in arrow tests - [`KT-82309`](https://youtrack.jetbrains.com/issue/KT-82309) K/Wasm: refactor \_initialize function - [`KT-70075`](https://youtrack.jetbrains.com/issue/KT-70075) Wasm: "OutOfMemoryError: GC overhead limit exceeded" during tests - [`KT-83046`](https://youtrack.jetbrains.com/issue/KT-83046) K/Wasm: don't use StringBuilder implicitly for string concatenations - [`KT-82645`](https://youtrack.jetbrains.com/issue/KT-82645) K/Wasm: wasmJs use js "String" for number2String conversion - [`KT-79937`](https://youtrack.jetbrains.com/issue/KT-79937) K/Wasm: support kotlin.js.nativeInvoke annotation - [`KT-67461`](https://youtrack.jetbrains.com/issue/KT-67461) Use new lowering phase creation API in Wasm backend - [`KT-83664`](https://youtrack.jetbrains.com/issue/KT-83664) Wasm: Colon and space are not sanitized in output file names - [`KT-65779`](https://youtrack.jetbrains.com/issue/KT-65779) JsExport declaration name clash - [`KT-82202`](https://youtrack.jetbrains.com/issue/KT-82202) \[Wasm] SourceMap generation support for single module mode - [`KT-82162`](https://youtrack.jetbrains.com/issue/KT-82162) \[Wasm] Run single module tests with standalone vm's - [`KT-81325`](https://youtrack.jetbrains.com/issue/KT-81325) \[Wasm] Remove string pool initialiser dependent code - [`KT-73238`](https://youtrack.jetbrains.com/issue/KT-73238) K/Wasm: stop using linear memory inside our code - [`KT-83025`](https://youtrack.jetbrains.com/issue/KT-83025) Wasm: Compose application is not loading - [`KT-73239`](https://youtrack.jetbrains.com/issue/KT-73239) K/Wasm: use JS String Builtins proposal to transfer strings to and from JS - [`KT-83194`](https://youtrack.jetbrains.com/issue/KT-83194) K/Wasm: create WasmIR test infrastructure - [`KT-65234`](https://youtrack.jetbrains.com/issue/KT-65234) K/Wasm Ensure that fp operations are aligned with other b-ends - [`KT-81856`](https://youtrack.jetbrains.com/issue/KT-81856) K/JS/Wasm interop: external instanceofs do not link in singleModule mode - [`KT-81610`](https://youtrack.jetbrains.com/issue/KT-81610) \[Wasm] Add CLI test for performance metrics for klibs->binary scenario - [`KT-81550`](https://youtrack.jetbrains.com/issue/KT-81550) Incorrect generation of .wat files - [`KT-71533`](https://youtrack.jetbrains.com/issue/KT-71533) K/Wasm + K2: no error on KClass::qualifiedName usages ##### Compiler ##### New Features - [`KT-75736`](https://youtrack.jetbrains.com/issue/KT-75736) Enable reading/writing annotations in metadata on JVM by default - [`KT-79330`](https://youtrack.jetbrains.com/issue/KT-79330) Implement the first version of inference for Collection Literals - [`KT-83401`](https://youtrack.jetbrains.com/issue/KT-83401) Collection literals: support different types of expected types for CL - [`KT-55548`](https://youtrack.jetbrains.com/issue/KT-55548) JSR-305: Overload resolution ambiguity: Platform Types vs Kotlin Types - [`KT-74860`](https://youtrack.jetbrains.com/issue/KT-74860) Support Unit coercion (incl. fun refs) in unused return value checker - [`KT-13968`](https://youtrack.jetbrains.com/issue/KT-13968) Support vertx nullable annotation - [`KT-79656`](https://youtrack.jetbrains.com/issue/KT-79656) Use `org.jetbrains.annotations.UnmodifiableView` and/or `org.jetbrains.annotations.Unmodifiable` to infer read-only types for Java entities - [`KT-81684`](https://youtrack.jetbrains.com/issue/KT-81684) Implement explicit passing of context arguments using named syntax \[TEST\_ONLY] - [`KT-80492`](https://youtrack.jetbrains.com/issue/KT-80492) Checkers for operator `of` - [`KT-82638`](https://youtrack.jetbrains.com/issue/KT-82638) Collection literals: resolve to factory functions for standard library classes - [`KT-82467`](https://youtrack.jetbrains.com/issue/KT-82467) Improve binary and JVM compatibility by generating bridges for abstract interface methods - [`KT-82655`](https://youtrack.jetbrains.com/issue/KT-82655) Bridges generated for non-fake overrides shall include annotations from target methods - [`KT-74223`](https://youtrack.jetbrains.com/issue/KT-74223) Move Kotlin/Native TestProcessor phase to the first phase - [`KT-27090`](https://youtrack.jetbrains.com/issue/KT-27090) Support contracts in getter and setter for top-level extension properties - [`KT-74809`](https://youtrack.jetbrains.com/issue/KT-74809) Support unnamed local variables - [`KT-45683`](https://youtrack.jetbrains.com/issue/KT-45683) Allow generics in contract type assertions ##### Performance Improvements - [`KT-81974`](https://youtrack.jetbrains.com/issue/KT-81974) Do not eagerly initialize reflection for KProperty objects for delegated properties - [`KT-83697`](https://youtrack.jetbrains.com/issue/KT-83697) Native: increased bitcode produced with enabled safe casts - [`KT-83036`](https://youtrack.jetbrains.com/issue/KT-83036) Native: too many casts emitted with -Xgeneric-safe-casts=true - [`KT-80061`](https://youtrack.jetbrains.com/issue/KT-80061) Compiler (or IDEA) hangs due to importing large Kotlin reflect functions (e.g. KFunction999999999) - [`KT-68592`](https://youtrack.jetbrains.com/issue/KT-68592) Investigate performance implications of enabling -Xjvm-default for ir.tree module - [`KT-73687`](https://youtrack.jetbrains.com/issue/KT-73687) Inefficient KtCommonFile#getFileAnnotationList - [`KT-71673`](https://youtrack.jetbrains.com/issue/KT-71673) Consider making EnhancementSymbolsCache. enhancedFunctions using simple cache ##### Fixes - [`KT-84773`](https://youtrack.jetbrains.com/issue/KT-84773) Annotations not persisted in IR for internal external functions - [`KT-78783`](https://youtrack.jetbrains.com/issue/KT-78783) K2: absence of warning for KTLC-284 migration - [`KT-81553`](https://youtrack.jetbrains.com/issue/KT-81553) INITIALIZER\_TYPE\_MISMATCH and ASSIGNMENT\_TYPE\_MISMATCH is reported on the entire initializer - [`KT-83395`](https://youtrack.jetbrains.com/issue/KT-83395) Kotlin/Native 2.3.0 iOS release framework fails with Invalid LLVM module (PHI node type mismatch) - [`KT-84620`](https://youtrack.jetbrains.com/issue/KT-84620) Incorrect optimization of property delegation - [`KT-81567`](https://youtrack.jetbrains.com/issue/KT-81567) Add a use-site warning if a `@DslMarker`-marked annotation is used on entities where it is a no-op - [`KT-81700`](https://youtrack.jetbrains.com/issue/KT-81700) flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures) - [`KT-83372`](https://youtrack.jetbrains.com/issue/KT-83372) compileDebugKotlinAndroid hangs in 2.3.0 with SQLDelight - [`KT-82579`](https://youtrack.jetbrains.com/issue/KT-82579) Update specificity rule for context parameters - [`KT-83590`](https://youtrack.jetbrains.com/issue/KT-83590) Some explicit backing fields must still be considered private-to-this - [`KT-83849`](https://youtrack.jetbrains.com/issue/KT-83849) False-positive NULLABILITY\_MISMATCH\_BASED\_ON\_JAVA\_ANNOTATIONS for `Optional.orElse(null)` call - [`KT-84192`](https://youtrack.jetbrains.com/issue/KT-84192) "Member overrides different '`@Throws`' filter from" caused by overriding in different module - [`KT-72994`](https://youtrack.jetbrains.com/issue/KT-72994) K2: Remove resolution to context receivers - [`KT-80247`](https://youtrack.jetbrains.com/issue/KT-80247) No diagnostic on unresolved type annotation from a dependency in an inferred type - [`KT-78730`](https://youtrack.jetbrains.com/issue/KT-78730) Move more LLVM-agnostic code to compiler/ir/backend.native or compiler/ir/backend.common - [`KT-74051`](https://youtrack.jetbrains.com/issue/KT-74051) Add a Continuation for tail-call suspend functions - [`KT-83984`](https://youtrack.jetbrains.com/issue/KT-83984) Data races around kotlinx.serialization plugin protobuf extensions registration - [`KT-83317`](https://youtrack.jetbrains.com/issue/KT-83317) ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant - [`KT-83031`](https://youtrack.jetbrains.com/issue/KT-83031) K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code - [`KT-83824`](https://youtrack.jetbrains.com/issue/KT-83824) Delegated property in Gradle DSL fails to compile - [`KT-83657`](https://youtrack.jetbrains.com/issue/KT-83657) \[K/N] Pre-codegen inline produces invalid bitcode - [`KT-81555`](https://youtrack.jetbrains.com/issue/KT-81555) Kotlin scripts: top-level name-based destructuring with \_ = prop fails with “exception while generating code” - [`KT-83314`](https://youtrack.jetbrains.com/issue/KT-83314) JSpecify `@NullMarked` changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3 - [`KT-83282`](https://youtrack.jetbrains.com/issue/KT-83282) JvmExposeBoxed: Duplicate annotation interface kotlin.coroutines.jvm.internal.DebugMetadata in class %class%$1 for suspend inline class value - [`KT-78443`](https://youtrack.jetbrains.com/issue/KT-78443) Refactor session component initialization for multi-target compilation - [`KT-83427`](https://youtrack.jetbrains.com/issue/KT-83427) Arguments of plugin-generated annotations are serialized incorrectly - [`KT-83538`](https://youtrack.jetbrains.com/issue/KT-83538) OPERATOR\_RENAMED\_ON\_IMPORT is not reported for 'provideDelegate' operator - [`KT-83537`](https://youtrack.jetbrains.com/issue/KT-83537) OPERATOR\_RENAMED\_ON\_IMPORT is not reported for 'of' operator - [`KT-82721`](https://youtrack.jetbrains.com/issue/KT-82721) Inconsistent explicit backing fields behavior - [`KT-83589`](https://youtrack.jetbrains.com/issue/KT-83589) Explicit backing fields don't likely work with intersection overrides - [`KT-81951`](https://youtrack.jetbrains.com/issue/KT-81951) K2: Another false positive "Assigned value is never read" in composable function - [`KT-83588`](https://youtrack.jetbrains.com/issue/KT-83588) Explicit backing field is falsely accessible from a subclass via a substitution override - [`KT-82849`](https://youtrack.jetbrains.com/issue/KT-82849) Collection literals (minor): collection literal should only be resolved to operator - [`KT-83363`](https://youtrack.jetbrains.com/issue/KT-83363) VerifyError: "Bad type on operand stack" on multi-line suspending call with default parameter value since API version 2.4 - [`KT-83570`](https://youtrack.jetbrains.com/issue/KT-83570) K2: Resolve problematic IR when referencing Kotlin const from annotation in Java - [`KT-83362`](https://youtrack.jetbrains.com/issue/KT-83362) Starting from 2.3 DefaultImpls bridge functions deprecated with the level HIDDEN are no longer synthetic - [`KT-9182`](https://youtrack.jetbrains.com/issue/KT-9182) Java interoperability: Overload resolution ambiguity on Java's `@NotNull` and primitives - [`KT-83633`](https://youtrack.jetbrains.com/issue/KT-83633) Forbid inline functional context parameters in inline functions - [`KT-83449`](https://youtrack.jetbrains.com/issue/KT-83449) compile-time IR failure on smart cast information leaking from capturing closure - [`KT-82375`](https://youtrack.jetbrains.com/issue/KT-82375) Add `ATOMIC_REF_WITHOUT_CONSISTENT_IDENTITY` warning for any argument without consistent identity - [`KT-82524`](https://youtrack.jetbrains.com/issue/KT-82524) Access to a companion that requires opt-in is possible without opt-in - [`KT-83367`](https://youtrack.jetbrains.com/issue/KT-83367) VolatileFieldsLowering may emit wrong parameter types for atomic intrinsic calls - [`KT-83382`](https://youtrack.jetbrains.com/issue/KT-83382) K2: Unreachable method exit breaks MUST\_BE\_INITIALIZED checks for succeeding value declarations - [`KT-82211`](https://youtrack.jetbrains.com/issue/KT-82211) False positive SENSELESS\_NULL\_IN\_WHEN with nullable var - [`KT-83157`](https://youtrack.jetbrains.com/issue/KT-83157) ExplicitBackingFields: "Property with explicit backing field should be final" in 2.3.0 - [`KT-83269`](https://youtrack.jetbrains.com/issue/KT-83269) K2: Wrong types in IR for explicit backing fields - [`KT-68606`](https://youtrack.jetbrains.com/issue/KT-68606) Argument type mismatch, despite being from the same star-projected type - [`KT-83324`](https://youtrack.jetbrains.com/issue/KT-83324) Native: problem with loops handling in types computation pass - [`KT-83241`](https://youtrack.jetbrains.com/issue/KT-83241) K2: "NoSuchElementException: List is empty" with top-level destructuring declaration and lambda initializer - [`KT-82277`](https://youtrack.jetbrains.com/issue/KT-82277) Misleading `Inapplicable candidate(s): fun <K> WHEN_CALL(vararg branches: K): K` when a when expression branch contains an unresolved reference - [`KT-80839`](https://youtrack.jetbrains.com/issue/KT-80839) Get rid of an obsolete -Xcompile-builtins-as-part-of-stdlib flag once previous changes are bootstrapped - [`KT-82900`](https://youtrack.jetbrains.com/issue/KT-82900) Language Feature EnhancedBridgesGeneration - [`KT-82651`](https://youtrack.jetbrains.com/issue/KT-82651) Do not generate self-recursive bridges in JVM backend - [`KT-5486`](https://youtrack.jetbrains.com/issue/KT-5486) Better errors for integers with leading zero - [`KT-83185`](https://youtrack.jetbrains.com/issue/KT-83185) Kotlin repeatable annotations are incorrectly deserialized from bytecode - [`KT-82863`](https://youtrack.jetbrains.com/issue/KT-82863) `@NoInfer` regression since 2.2.20 - [`KT-82376`](https://youtrack.jetbrains.com/issue/KT-82376) Header mode: Index out of bounds when generating bodies of data class - [`KT-82311`](https://youtrack.jetbrains.com/issue/KT-82311) Header mode: Error expression when assigning function declaration to a property - [`KT-82408`](https://youtrack.jetbrains.com/issue/KT-82408) Header mode: Java files are not compiled successfully - [`KT-82378`](https://youtrack.jetbrains.com/issue/KT-82378) Header mode: Sequence contains no element matching the predicate - [`KT-82407`](https://youtrack.jetbrains.com/issue/KT-82407) Header mode: Backend Internal error: Exception during IR lowering - [`KT-81763`](https://youtrack.jetbrains.com/issue/KT-81763) Incorrect comparison result when using elvis ?: with nullable Long values - [`KT-83153`](https://youtrack.jetbrains.com/issue/KT-83153) Properly ignore contract statements in the Return Value Checker - [`KT-83076`](https://youtrack.jetbrains.com/issue/KT-83076) Don't report `WRONG_JS_INTEROP_TYPE` on expect types during metadata compilation - [`KT-78589`](https://youtrack.jetbrains.com/issue/KT-78589) "Class does not have member field" caused by delegation from a Java to Kotlin class - [`KT-82640`](https://youtrack.jetbrains.com/issue/KT-82640) K2: CCE on green code - [`KT-82684`](https://youtrack.jetbrains.com/issue/KT-82684) "Don't know how to compile annotation value ERROR\_EXPR" on incorrect array literal in annotation default arguments - [`KT-81948`](https://youtrack.jetbrains.com/issue/KT-81948) K2: ClassCastException: "java.lang.String cannot be cast to java.lang.Void" when calling `@Nullable` Java function - [`KT-82788`](https://youtrack.jetbrains.com/issue/KT-82788) false-positive duplicate JVM class name error in IJ monorepo - [`KT-82841`](https://youtrack.jetbrains.com/issue/KT-82841) "kotlin.NoWhenBranchMatchedException" in `when` with `!is` check & non-sealed class in the middle of hierarchy - [`KT-82844`](https://youtrack.jetbrains.com/issue/KT-82844) "when" with no branches does not evaluate subject (side effects ignored) - [`KT-81625`](https://youtrack.jetbrains.com/issue/KT-81625) Incorrect empty parameters parsing (comma is highlighted in red) - [`KT-81193`](https://youtrack.jetbrains.com/issue/KT-81193) K2: SOE from `AbstractTypeApproximator.approximateToSuperType` with local enum class - [`KT-65059`](https://youtrack.jetbrains.com/issue/KT-65059) Stack overflow when typechecking an Elvis expression with deeply generic values - [`KT-82555`](https://youtrack.jetbrains.com/issue/KT-82555) `@Deprecated`(HIDDEN)\` objects not skipped when resolving qualifiers - [`KT-82737`](https://youtrack.jetbrains.com/issue/KT-82737) Leaked type variable in diagnostic when top-level lambda with uninferred type parameter has non-functional expected type - [`KT-78019`](https://youtrack.jetbrains.com/issue/KT-78019) Change K1 API deprecation level from Warning to Error - [`KT-82683`](https://youtrack.jetbrains.com/issue/KT-82683) K2: FIR2IR: compile-time JVM codegen failure on an argument of function subtype for a KSuspendFunction parameter - [`KT-82671`](https://youtrack.jetbrains.com/issue/KT-82671) Do not report ignorability mismatch on override/actualization if the function returns Unit type - [`KT-82506`](https://youtrack.jetbrains.com/issue/KT-82506) Misleading compilation warning: "This class is not recommended for use in Kotlin. Use 'java.util.Map' instead" - [`KT-52498`](https://youtrack.jetbrains.com/issue/KT-52498) Test privateSuperType.kt is failing with caches enabled - [`KT-82336`](https://youtrack.jetbrains.com/issue/KT-82336) Header mode: Cannot infer argument for type parameter T - [`KT-69326`](https://youtrack.jetbrains.com/issue/KT-69326) Inference chooses controversial order to fix variables - [`KT-82545`](https://youtrack.jetbrains.com/issue/KT-82545) Handle data class with extra components in migration warning for name-based destructuring - [`KT-82303`](https://youtrack.jetbrains.com/issue/KT-82303) Improve UNSUPPORTED\_FEATURE message when compiler argument has a parameter - [`KT-81866`](https://youtrack.jetbrains.com/issue/KT-81866) K2: False positive ILLEGAL\_RESTRICTED\_SUSPENDING\_FUNCTION\_CALL caused by smart-casted `@RestrictsSuspension` receiver - [`KT-13412`](https://youtrack.jetbrains.com/issue/KT-13412) Improve error message on callable reference with expression of nullable type - [`KT-82466`](https://youtrack.jetbrains.com/issue/KT-82466) KotlinIllegalArgumentExceptionWithAttachment when return is used in explicit delegation expression - [`KT-82454`](https://youtrack.jetbrains.com/issue/KT-82454) Local types aren't approximated in public declaration types - [`KT-82487`](https://youtrack.jetbrains.com/issue/KT-82487) False positive REDUNDANT\_VISIBILITY\_MODIFIER inside private class - [`KT-82369`](https://youtrack.jetbrains.com/issue/KT-82369) \[K2 REPL] Crash in the serialization plugin backend with "unable to transform declaration" - [`KT-82243`](https://youtrack.jetbrains.com/issue/KT-82243) Usage of nested type aliases is forbidden despite the feature flag - [`KT-62900`](https://youtrack.jetbrains.com/issue/KT-62900) K2: Expected expression to be resolved during Fir2Ir - [`KT-81941`](https://youtrack.jetbrains.com/issue/KT-81941) IllegalArgumentException: class org.jetbrains.kotlin.psi.KtValueArgument is not a subtype of class org.jetbrains.kotlin.psi.KtExpression for factory POSITIONED\_VALUE\_ARGUMENT\_FOR\_JAVA\_ANNOTATION - [`KT-80741`](https://youtrack.jetbrains.com/issue/KT-80741) Fix rendering of inner classes with generic outer classes - [`KT-82331`](https://youtrack.jetbrains.com/issue/KT-82331) Do not propagate context parameters from classes to constructors - [`KT-77276`](https://youtrack.jetbrains.com/issue/KT-77276) K2: Wrong scope for annotation arguments for the parameters of a secondary constructor header - [`KT-77275`](https://youtrack.jetbrains.com/issue/KT-77275) Inconsistency between scopes for primary/secondary constructor headers - [`KT-15152`](https://youtrack.jetbrains.com/issue/KT-15152) Improve error message for unresolved reference for delegation specifier and primary constructor call - [`KT-81498`](https://youtrack.jetbrains.com/issue/KT-81498) Make Kotlin/Native stdlib in distribution reproducible - [`KT-81408`](https://youtrack.jetbrains.com/issue/KT-81408) Allow local-variable-target annotations on destructuring declarations - [`KT-82012`](https://youtrack.jetbrains.com/issue/KT-82012) Annotations without parentheses on full form of name-based destructuring don't work - [`KT-81915`](https://youtrack.jetbrains.com/issue/KT-81915) Exception when analysing 'when' expression with annotated expression as a subject - [`KT-78364`](https://youtrack.jetbrains.com/issue/KT-78364) Static methods are not generated for companion object JvmStatic property accessors with JvmExposeBoxed - [`KT-81838`](https://youtrack.jetbrains.com/issue/KT-81838) Prohibit usage of nested type aliases (from lib) for sources with LV < 2.3 - [`KT-81357`](https://youtrack.jetbrains.com/issue/KT-81357) Forbid compilation of code with explicit *root\_ide\_package* in CLI mode - [`KT-73138`](https://youtrack.jetbrains.com/issue/KT-73138) K2: "Assignment type mismatch" when class name is underscore`_` - [`KT-82169`](https://youtrack.jetbrains.com/issue/KT-82169) Add quotes to message of WRONG\_NUMBER\_OF\_TYPE\_ARGUMENTS - [`KT-78386`](https://youtrack.jetbrains.com/issue/KT-78386) JvmExposeBoxed (with no name) + JvmOverloads + JvmName produces ambiguity - [`KT-78358`](https://youtrack.jetbrains.com/issue/KT-78358) Propagated JvmExposeBoxed annotation doesn't copy JvmName argument - [`KT-81699`](https://youtrack.jetbrains.com/issue/KT-81699) Move native klib compilation to a separate module - [`KT-81692`](https://youtrack.jetbrains.com/issue/KT-81692) Decouple compilation of Native klib from the Native backend - [`KT-80673`](https://youtrack.jetbrains.com/issue/KT-80673) Consider forbidding/minimizing usages of ClassId.isLocal and CallableId.isLocal - [`KT-81376`](https://youtrack.jetbrains.com/issue/KT-81376) False negative UNEXPECTED\_TRAILING\_LAMBDA\_ON\_A\_NEW\_LINE & bad positioning - [`KT-81946`](https://youtrack.jetbrains.com/issue/KT-81946) false-positive JAVA\_CLASS\_ON\_COMPANION in case of an explicit companion reference - [`KT-74461`](https://youtrack.jetbrains.com/issue/KT-74461) K2: Render function types nicely - [`KT-81875`](https://youtrack.jetbrains.com/issue/KT-81875) NCDFE: kotlinx/coroutines/internal/intellij/IntellijCoroutines at :compiler:multiplatform-parsing:jvmTest - [`KT-49722`](https://youtrack.jetbrains.com/issue/KT-49722) Report NOT\_YET\_SUPPORTED\_IN\_INLINE for inherited default parameters with inline function - [`KT-81913`](https://youtrack.jetbrains.com/issue/KT-81913) Inapplicable candidate when vararg-adaption for callable reference might be used (array parameter) - [`KT-81841`](https://youtrack.jetbrains.com/issue/KT-81841) Inapplicable candidate when vararg-adaption for callable reference might be used (generic parameter) - [`KT-39697`](https://youtrack.jetbrains.com/issue/KT-39697) "Cannot infer type parameter" in map with java static or global method reference - [`KT-81896`](https://youtrack.jetbrains.com/issue/KT-81896) Improve RedundantCallOfConversionMethod inspection for `@UnsafeNumber` annotated typealiases - [`KT-66413`](https://youtrack.jetbrains.com/issue/KT-66413) Incorrect line mapping in suspendable code before suspend call without parameters - [`KT-80525`](https://youtrack.jetbrains.com/issue/KT-80525) Update IntelliJ SDK dependency to 251.27812.49 - [`KT-81808`](https://youtrack.jetbrains.com/issue/KT-81808) Setting hasDefaultValue = true in irValueParameter() crashes the compiler - [`KT-78927`](https://youtrack.jetbrains.com/issue/KT-78927) False positive 'USELESS\_JVM\_EXPOSE\_BOXED' - [`KT-81703`](https://youtrack.jetbrains.com/issue/KT-81703) Drop obsolete K1 frontend code from Kotlin/Native - [`KT-81698`](https://youtrack.jetbrains.com/issue/KT-81698) Decouple`SpecialBackendChecksTraversal` from Native backend - [`KT-81687`](https://youtrack.jetbrains.com/issue/KT-81687) Different LightTree and PSI outputs when annotated class-like declaration is used as an expression - [`KT-81302`](https://youtrack.jetbrains.com/issue/KT-81302) False positive: Type Mismatch caused by context parameters, lambdas, and generics - [`KT-81584`](https://youtrack.jetbrains.com/issue/KT-81584) IAE "Collection contains more than one matching element" in FirElementSerializer on contextual property with same name as primary value class property - [`KT-77237`](https://youtrack.jetbrains.com/issue/KT-77237) JvmExposeBoxed breaks compilation with a secondary constructor with value class - [`KT-81262`](https://youtrack.jetbrains.com/issue/KT-81262) False positive: Access declaration type exposure: during access to public function class from internal inline declaration - [`KT-80112`](https://youtrack.jetbrains.com/issue/KT-80112) Kotlin Debugger: “Cannot find local variable” on evaluating default lambda inside inline function - [`KT-76806`](https://youtrack.jetbrains.com/issue/KT-76806) K2: AIOOBE in FirEqualityCompatibilityChecker - [`KT-81693`](https://youtrack.jetbrains.com/issue/KT-81693) Introduce lightweight versions of KonanConfig and PhaseContext - [`KT-72446`](https://youtrack.jetbrains.com/issue/KT-72446) K/N: inline function's default values aren't lowered with caches - [`KT-81521`](https://youtrack.jetbrains.com/issue/KT-81521) Anonymous function in context parameters breaks parser - [`KT-80853`](https://youtrack.jetbrains.com/issue/KT-80853) Class reference in context parameters breaks parser - [`KT-81441`](https://youtrack.jetbrains.com/issue/KT-81441) Missing type checks when class has deeply generic supertype - [`KT-79116`](https://youtrack.jetbrains.com/issue/KT-79116) Wrong parameter arguments mapping (compiler skips empty arguments) - [`KT-81422`](https://youtrack.jetbrains.com/issue/KT-81422) False negative in full-form name-based destructuring: annotations before val/var not rejected - [`KT-80652`](https://youtrack.jetbrains.com/issue/KT-80652) K2: USELESS\_IS\_CHECK is not detected in `when` - [`KT-80049`](https://youtrack.jetbrains.com/issue/KT-80049) Mangle `ERROR_TYPE`s in diagnostics reported to user - [`KT-73786`](https://youtrack.jetbrains.com/issue/KT-73786) Evaluator: cannot evaluate inline methods with reified parameter - [`KT-75828`](https://youtrack.jetbrains.com/issue/KT-75828) Store backing field/delegate annotations and extension receiver annotations in metadata - [`KT-74572`](https://youtrack.jetbrains.com/issue/KT-74572) Context parameters: contracts don't work with context parameters - [`KT-42824`](https://youtrack.jetbrains.com/issue/KT-42824) FIR: false INAPPLICABLE\_CANDIDATE when using in variance on a Java class ##### Compose compiler - [`b/481953005`](https://issuetracker.google.com/issues/481953005), [`b/481769383`](https://issuetracker.google.com/issues/481769383) Cache stability inference results during session - [`b/481735904`](https://issuetracker.google.com/issues/481735904) Fix Compose codegen crash in inline function - [`b/479646393`](https://issuetracker.google.com/issues/479646393) Add groups to inline functions with two or more inline parameters - [`b/458234821`](https://issuetracker.google.com/issues/458234821) Disable Compose K1 tests on CI - [`b/456948687`](https://issuetracker.google.com/issues/456948687) Force resolution of declarations when looking up SAM functions in FIR - [`b/445426829`](https://issuetracker.google.com/issues/445426829) Add a diagnostic for `key` call with no arguments ##### IR. Actualizer - [`KT-82418`](https://youtrack.jetbrains.com/issue/KT-82418) KMP Separate Compilation: NPE caused by actualization of NsCalendar.getEra - [`KT-82313`](https://youtrack.jetbrains.com/issue/KT-82313) ACTUAL\_ANNOTATION\_CONFLICTING\_DEFAULT\_ARGUMENT\_VALUE checks throw `conflicting values in expected and actual annotations` ##### IR. Inlining ##### Fixes - [`KT-82017`](https://youtrack.jetbrains.com/issue/KT-82017) \[Inliner] Inline function overrides abstract method with default value - [`KT-80814`](https://youtrack.jetbrains.com/issue/KT-80814) \[IR Inliner] Space: jsBrowserProductionWebpack task failed with HookWebpackError - [`KT-83280`](https://youtrack.jetbrains.com/issue/KT-83280) Split `LibrarySpecialCompatibilityChecksTest` into pure JS and pure Wasm tests - [`KT-81766`](https://youtrack.jetbrains.com/issue/KT-81766) K/N: Recursive inline expect/actual causes StackOverflowError - [`KT-80953`](https://youtrack.jetbrains.com/issue/KT-80953) \[Inliner] Eliminate excessive IMPLICIT\_CAST after IR Inliner on 2nd stage. - [`KT-79899`](https://youtrack.jetbrains.com/issue/KT-79899) \[IR Inliner] Split single-module tests having `inline fun` into files - [`KT-83148`](https://youtrack.jetbrains.com/issue/KT-83148) KLIB inliner: Make both "inliner" language features to require Api Version = 2.3 - [`KT-80791`](https://youtrack.jetbrains.com/issue/KT-80791) classFunctionsAndFieldsWithCrossModuleInliner fails per-file with cross-module inliner - [`KT-80696`](https://youtrack.jetbrains.com/issue/KT-80696) Can not get instance of singleton 'Obj': No class found for symbol - [`KT-82065`](https://youtrack.jetbrains.com/issue/KT-82065) IR inliner: Inline function's default value argument may get wrong offsets in a temporary variable - [`KT-81753`](https://youtrack.jetbrains.com/issue/KT-81753) Review diagnosticReporters usage in pre-serialization lowerings - [`KT-80793`](https://youtrack.jetbrains.com/issue/KT-80793) Test `friendDependencyWithCrossModuleInliner` fails per-file with cross-module inliner - [`KT-80698`](https://youtrack.jetbrains.com/issue/KT-80698) \[IC]\[WASM] Mismatched file stats - [`KT-80697`](https://youtrack.jetbrains.com/issue/KT-80697) \[IC]\[JS per file] Mismatched rebuilt modules - [`KT-80660`](https://youtrack.jetbrains.com/issue/KT-80660) \[Inliner] Bodyless functions should not be inlined at 1st compilation stage - [`KT-79064`](https://youtrack.jetbrains.com/issue/KT-79064) Try to get rid of `TypeOfPostProcessor` ##### IR. Interpreter - [`KT-82161`](https://youtrack.jetbrains.com/issue/KT-82161) Enable Enum.name and KCallable.name to constant evaluation - [`KT-80646`](https://youtrack.jetbrains.com/issue/KT-80646) Enable unsigned conversion functions when bootstrapped compiler is available ##### IR. Tree - [`KT-82765`](https://youtrack.jetbrains.com/issue/KT-82765) Kotlin/Native: Internal compiler error when building DFG - [`KT-82829`](https://youtrack.jetbrains.com/issue/KT-82829) IR deserializer: Don't deserialize any cinterop fake overrides from Klibs - [`KT-83236`](https://youtrack.jetbrains.com/issue/KT-83236) PeopleInSpace\_mpp compilation error: The symbol table has been sealed - [`KT-81154`](https://youtrack.jetbrains.com/issue/KT-81154) \[IrValidator] Fine-tune IrVisibilityChecker on 2nd stage - [`KT-80243`](https://youtrack.jetbrains.com/issue/KT-80243) Support Name Based Destructuring in loop with withIndex() - [`KT-79436`](https://youtrack.jetbrains.com/issue/KT-79436) KLIB stdlib symbols loading: Drop all functions from SymbolFinder except for loading the whole collection of (potentially unbound) symbols by name - [`KT-79435`](https://youtrack.jetbrains.com/issue/KT-79435) KLIB stdlib symbols loading: Load symbols and and filter/map them lazily in BuiltinSymbolsBase hierarchy when accessed by IR - [`KT-69082`](https://youtrack.jetbrains.com/issue/KT-69082) Migrate maps of IR elements to IR attributes - [`KT-67457`](https://youtrack.jetbrains.com/issue/KT-67457) Introduce a way to simplify IR lowering phase creation ##### JVM. Reflection ##### New Features - [`KT-22265`](https://youtrack.jetbrains.com/issue/KT-22265) Support for inherited annotations ##### Performance Improvements - [`KT-84600`](https://youtrack.jetbrains.com/issue/KT-84600) Performance regression around Kotlin properties JVM reflection during instantiation ##### Fixes - [`KT-83608`](https://youtrack.jetbrains.com/issue/KT-83608) Kotlin-reflect: "Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R" - [`KT-57357`](https://youtrack.jetbrains.com/issue/KT-57357) Reflection: "KotlinReflectionInternalError" when using `callBy` on constructor that has inline class parameter with nullable value - [`KT-83361`](https://youtrack.jetbrains.com/issue/KT-83361) "KotlinReflectionInternalError: Type parameter not found: 0" on super types with Kotlin 2.3.0 - [`KT-42199`](https://youtrack.jetbrains.com/issue/KT-42199) "KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke" on function reference to FunctionN.invoke - [`KT-81024`](https://youtrack.jetbrains.com/issue/KT-81024) Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter - [`KT-83067`](https://youtrack.jetbrains.com/issue/KT-83067) Reflection: IAE "argument type mismatch" on callBy with vararg of generic type parameter with primitive upper bound - [`KT-82699`](https://youtrack.jetbrains.com/issue/KT-82699) Reflection: incorrect behavior of KFunction.isExternal for Java native methods - [`KT-82350`](https://youtrack.jetbrains.com/issue/KT-82350) Reflection: incorrect behavior of KType.javaType on a type obtained from KType.withNullability - [`KT-29203`](https://youtrack.jetbrains.com/issue/KT-29203) KType.javaType always returns void class for local delegated property - [`KT-81899`](https://youtrack.jetbrains.com/issue/KT-81899) Reflection: incorrect javaType for local delegated property setter return type - [`KT-82093`](https://youtrack.jetbrains.com/issue/KT-82093) Reflection: IAE from defaultType for inner class of generic class - [`KT-77312`](https://youtrack.jetbrains.com/issue/KT-77312) KotlinReflectionInternalError: "Container of deserialized member is not resolved" on computing type parameter captured in a local delegated property - [`KT-82316`](https://youtrack.jetbrains.com/issue/KT-82316) Reflection: type parameters of top-level declarations behave incorrectly - [`KT-81987`](https://youtrack.jetbrains.com/issue/KT-81987) Reflection: error when calling function in inline class with inherited default value - [`KT-81870`](https://youtrack.jetbrains.com/issue/KT-81870) Reflection: Error when calling function with default parameters and extension receiver - [`KT-81880`](https://youtrack.jetbrains.com/issue/KT-81880) Reflection: Error when calling function with default & context parameters - [`KT-81907`](https://youtrack.jetbrains.com/issue/KT-81907) Reflection: incorrect result when calling function with default values and context parameters - [`KT-81859`](https://youtrack.jetbrains.com/issue/KT-81859) Reflection: do not use descriptors in ValueClassAwareCaller - [`KT-81854`](https://youtrack.jetbrains.com/issue/KT-81854) Reflection: incorrect type for instance receiver of inner class constructor - [`KT-81855`](https://youtrack.jetbrains.com/issue/KT-81855) Reflection: IAE "object is not an instance of declaring class" on function with context and extension receiver of inline class - [`KT-81843`](https://youtrack.jetbrains.com/issue/KT-81843) Reflection: NPE on accessing property accessor returnType for Java field - [`KT-81588`](https://youtrack.jetbrains.com/issue/KT-81588) Reflection: KotlinReflectionInternalError "Inconsistent number of parameters" on calling contextual declaration with value class type in the signature - [`KT-81111`](https://youtrack.jetbrains.com/issue/KT-81111) Reflection: suspend function types are loaded incorrectly by the new implementation - [`KT-81206`](https://youtrack.jetbrains.com/issue/KT-81206) Reflection: non-substituted Function type in suspend function supertypes - [`KT-81804`](https://youtrack.jetbrains.com/issue/KT-81804) Reflection: remove support for multi-field value classes - [`KT-81664`](https://youtrack.jetbrains.com/issue/KT-81664) Reflection: IAE "argument type mismatch" on calling member extension with value class in the signature ##### JavaScript ##### New Features - [`KT-83454`](https://youtrack.jetbrains.com/issue/KT-83454) K/JS: Support ES6 classes in js() calls - [`KT-83455`](https://youtrack.jetbrains.com/issue/KT-83455) K/JS: Support ES6 default function arguments in js() calls - [`KT-83453`](https://youtrack.jetbrains.com/issue/KT-83453) K/JS: Support ES6 concise methods in js() calls - [`KT-83457`](https://youtrack.jetbrains.com/issue/KT-83457) K/JS: Support ES6 spread operators in js() calls - [`KT-83456`](https://youtrack.jetbrains.com/issue/KT-83456) K/JS: Support ES6 rest function parameters in js() calls - [`KT-54504`](https://youtrack.jetbrains.com/issue/KT-54504) K/JS: Support ECMAScript tagged string templates - [`KT-82327`](https://youtrack.jetbrains.com/issue/KT-82327) KJS: Export parameter names of function types if present in .d.ts files - [`KT-82371`](https://youtrack.jetbrains.com/issue/KT-82371) KJS: Generate more concrete TypeScript for members of an uninhabited enum ##### Performance Improvements - [`KT-16379`](https://youtrack.jetbrains.com/issue/KT-16379) KotlinJs - ArrayList get is now slow ##### Fixes - [`KT-64951`](https://youtrack.jetbrains.com/issue/KT-64951) Kotlin-Multiplatform does not allow JSExport of expect - [`KT-83528`](https://youtrack.jetbrains.com/issue/KT-83528) K/JS: Array holes in array literals are ignored in the new js() parser - [`KT-84134`](https://youtrack.jetbrains.com/issue/KT-84134) KJS/CMP: "IrLinkageError: Function 'get' can not be called: No function found for symbol" - [`KT-65802`](https://youtrack.jetbrains.com/issue/KT-65802) How to implement Interfaces in Javascript/Typescript? - [`KT-83830`](https://youtrack.jetbrains.com/issue/KT-83830) Relocate org.antlr.v4 to an internal package - [`KT-83572`](https://youtrack.jetbrains.com/issue/KT-83572) KJS/Wasm: Cannot access `@JsModule`-declared class from non-modular project - [`KT-83930`](https://youtrack.jetbrains.com/issue/KT-83930) Kotlin/JS: JsStatic on property of interface companion generates incorrect d.ts - [`KT-70986`](https://youtrack.jetbrains.com/issue/KT-70986) Add Swc into the compilation pipeline of Kotlin/JS - [`KT-78742`](https://youtrack.jetbrains.com/issue/KT-78742) Investigate the usage of the ANTLR-generated parser for the `js` function - [`KT-60554`](https://youtrack.jetbrains.com/issue/KT-60554) KJS: rethink JS\_\*\_NAME\_CLASH diagnostics - [`KT-82552`](https://youtrack.jetbrains.com/issue/KT-82552) KJS: "Non-abstract class does not implement inherited abstract member from class" errors in generated .d.ts - [`KT-82652`](https://youtrack.jetbrains.com/issue/KT-82652) KJS: Exported abstract inner classes can be constructed from TypeScript - [`KT-82542`](https://youtrack.jetbrains.com/issue/KT-82542) KJS: Inner class can be constructed from TypeScript without passing an outer instance - [`KT-82499`](https://youtrack.jetbrains.com/issue/KT-82499) KJS: Omit parameters in private constructors in .d.ts files - [`KT-41082`](https://youtrack.jetbrains.com/issue/KT-41082) KJS: 'Reflection is not supported on JavaScript target, so you won't be able to read this annotation in runtime' warning is inconvenient and misleading - [`KT-82279`](https://youtrack.jetbrains.com/issue/KT-82279) KJS: DCE removes external members overrides without reason - [`KT-52800`](https://youtrack.jetbrains.com/issue/KT-52800) KJS / IR: sealed interface with nested data classes not accessible - [`KT-67460`](https://youtrack.jetbrains.com/issue/KT-67460) Use new lowering phase creation API in JS backend - [`KT-82667`](https://youtrack.jetbrains.com/issue/KT-82667) Kotlin/JS: ESM TypeScript definitions for exported nested Enums do not compile - [`KT-82553`](https://youtrack.jetbrains.com/issue/KT-82553) KJS: Incorrect .d.ts generated for generic inner classes - [`KT-82263`](https://youtrack.jetbrains.com/issue/KT-82263) Implement exporting top-level properties in Analysis API-based TypeScript Export - [`KT-82362`](https://youtrack.jetbrains.com/issue/KT-82362) KJS: Incorrect types generated in .d.ts for JsName-annotated enum entry - [`KT-82262`](https://youtrack.jetbrains.com/issue/KT-82262) Implement exporting top-level functions in Analysis API-based TypeScript Export - [`KT-82144`](https://youtrack.jetbrains.com/issue/KT-82144) K/JS: 'meta' identifier usage in js() inline calls prevents expression from parsing - [`KT-82149`](https://youtrack.jetbrains.com/issue/KT-82149) K/JS: `new` calls without arguments produce exceptions in js() inline calls - [`KT-81730`](https://youtrack.jetbrains.com/issue/KT-81730) Optimize suspend functions compilations via JS generators - [`KT-79243`](https://youtrack.jetbrains.com/issue/KT-79243) \[JS] Drop K1-specific tests, testrunners and test directives ##### Klibs ##### New Features - [`KT-83101`](https://youtrack.jetbrains.com/issue/KT-83101) Implement experimental KLib ABI dump parser ##### Fixes - [`KT-82586`](https://youtrack.jetbrains.com/issue/KT-82586) Export in previous version (JS, Wasm): adjust the checker for incompatible Kotlin stdlib/compiler pairs - [`KT-84273`](https://youtrack.jetbrains.com/issue/KT-84273) \[Klib] Added IrOffsetsChecker broke backward klib compatibility - [`KT-80910`](https://youtrack.jetbrains.com/issue/KT-80910) \[Klib] Ensure serialized source coordinates are correct - [`KT-81955`](https://youtrack.jetbrains.com/issue/KT-81955) \[JS] Support testing of forward compatibility with export in previous version - [`KT-81957`](https://youtrack.jetbrains.com/issue/KT-81957) \[JS] Create a common Gradle test task - [`KT-82736`](https://youtrack.jetbrains.com/issue/KT-82736) False positive `IR_PRIVATE_CALLABLE_REFERENCED_BY_NON_PRIVATE_INLINE_FUNCTION_ERROR` on referenece to local declaration - [`KT-82758`](https://youtrack.jetbrains.com/issue/KT-82758) \[PL] Change the behavior of getting name of removed property - [`KT-81470`](https://youtrack.jetbrains.com/issue/KT-81470) Simplify inline function deserialization after the bootstrap update - [`KT-81466`](https://youtrack.jetbrains.com/issue/KT-81466) Enable KlibAnnotationsInMetadata by default in LV 2.5 - [`KT-82208`](https://youtrack.jetbrains.com/issue/KT-82208) K/Wasm: allow using newer stdlib with older compiler - [`KT-83328`](https://youtrack.jetbrains.com/issue/KT-83328) kotlin-wasm-benchmarks: Compilation errors due to missing KLIB dependencies - [`KT-83071`](https://youtrack.jetbrains.com/issue/KT-83071) Failure on Native Nightly - [`KT-78365`](https://youtrack.jetbrains.com/issue/KT-78365) \[PL] Change the behavior of getting name of removed function - [`KT-81977`](https://youtrack.jetbrains.com/issue/KT-81977) Klib compatibility tests: Implement sanity checks - [`KT-81410`](https://youtrack.jetbrains.com/issue/KT-81410) Klib metadata: migrate to using the common annotations instead of klib-specific extensions in kotlinx-metadata-klib - [`KT-82577`](https://youtrack.jetbrains.com/issue/KT-82577) Don't use KLIB resolver in the KLIB tool - [`KT-82213`](https://youtrack.jetbrains.com/issue/KT-82213) IR linker doesn't complain when a private value class constructor is used from another module - [`KT-81003`](https://youtrack.jetbrains.com/issue/KT-81003) KLIBs: Eliminate excessive implicit casts in common prefix on the 1st stage - [`KT-81670`](https://youtrack.jetbrains.com/issue/KT-81670) K/N: Many Section still use none cacheable zip when Xklib-zip-file-accessor-cache-limit flag set - [`KT-81954`](https://youtrack.jetbrains.com/issue/KT-81954) \[JS] All forward compatibility tests fail - [`KT-81709`](https://youtrack.jetbrains.com/issue/KT-81709) \[KLIB Reproducibility] KLIB zip file generation is non-deterministic due to unsorted file system traversal - [`KT-81474`](https://youtrack.jetbrains.com/issue/KT-81474) \[Tests]\[Klibs] Migrate Klib evolution tests to PL tests engine ##### Language Design - [`KT-83009`](https://youtrack.jetbrains.com/issue/KT-83009) Exposing of non-exportable API from interfaces - [`KT-73502`](https://youtrack.jetbrains.com/issue/KT-73502) Context parameters: it is not possible to declare local function with a context ##### Libraries ##### New Features - [`KT-81997`](https://youtrack.jetbrains.com/issue/KT-81997) Method to create a detached copy of a Map entry - [`KT-79093`](https://youtrack.jetbrains.com/issue/KT-79093) Expose FirResolvedStatus.hasMustUseReturnValue in kotlin-metadata ##### Performance Improvements - [`KT-75801`](https://youtrack.jetbrains.com/issue/KT-75801) Optimize Array to list conversion using array copy instead of a loop - [`KT-82038`](https://youtrack.jetbrains.com/issue/KT-82038) K/N: iterating over Array.asList is slower compared to ArrayList ##### Fixes - [`KT-78115`](https://youtrack.jetbrains.com/issue/KT-78115) Investigate the current situation with 22 `kotlin.context` standard library overloads - [`KT-82363`](https://youtrack.jetbrains.com/issue/KT-82363) Add `assertIs` to the list of ignorable functions - [`KT-80666`](https://youtrack.jetbrains.com/issue/KT-80666) K/N and K/Wasm: Regex: unassigned category is excluded from other chars - [`KT-80665`](https://youtrack.jetbrains.com/issue/KT-80665) K/N and K/Wasm: Regex: unicode category Symbol matches some punctuation marks - [`KT-78089`](https://youtrack.jetbrains.com/issue/KT-78089) K/N: Regex: Quantified groups matching is causing a stack overflow - [`KT-82783`](https://youtrack.jetbrains.com/issue/KT-82783) HashMap (K/N, Wasm), MapBuilder (all targets) duplicate keys - [`KT-52400`](https://youtrack.jetbrains.com/issue/KT-52400) Deprecate `@BuilderInference` - [`KT-80786`](https://youtrack.jetbrains.com/issue/KT-80786) Annotate kotlin-stdlib-jdk7/8 with `@IgnorableReturnValue` - [`KT-83181`](https://youtrack.jetbrains.com/issue/KT-83181) Remove `@IgnorableReturnValue` from contract DSL functions - [`KT-82033`](https://youtrack.jetbrains.com/issue/KT-82033) Array\<Array<T>>.flatten fails with obscure error when total length exceeds List's size limit - [`KT-83290`](https://youtrack.jetbrains.com/issue/KT-83290) Remove unnecessary ExperimentalTime annotation from Uuid functions - [`KT-83026`](https://youtrack.jetbrains.com/issue/KT-83026) Specify compareTo behavior for Boolean - [`KT-82868`](https://youtrack.jetbrains.com/issue/KT-82868) Restore accidentally deleted JS-specific note in ArrayList documentation - [`KT-81563`](https://youtrack.jetbrains.com/issue/KT-81563) Document kotlin.collections.HashMap and HashSet - [`KT-81562`](https://youtrack.jetbrains.com/issue/KT-81562) Document kotlin.collections.ArrayList - [`KT-60535`](https://youtrack.jetbrains.com/issue/KT-60535) Mark SubclassOptInRequired and RequiresOptIn with MustBeDocumented - [`KT-64649`](https://youtrack.jetbrains.com/issue/KT-64649) Add explanation to "A compileOnly dependency is used in the Kotlin/Native target" warning message ##### Native - [`KT-83542`](https://youtrack.jetbrains.com/issue/KT-83542) Switch the default GC back to PMCS in 2.3.20-RC - [`KT-82387`](https://youtrack.jetbrains.com/issue/KT-82387) Kotlin <-> Xcode compatibility issue - [`KT-75806`](https://youtrack.jetbrains.com/issue/KT-75806) KN Compiler with debug build can not produce executable with debug info - [`KT-81828`](https://youtrack.jetbrains.com/issue/KT-81828) Update exception messages regarding disabling native cache - [`KT-81495`](https://youtrack.jetbrains.com/issue/KT-81495) Consider making Kotlin/Native distribution compiler cache reproducible - [`KT-81501`](https://youtrack.jetbrains.com/issue/KT-81501) Make Kotlin/Native distribution runtime .bc and fingerprint reproducible - [`KT-80790`](https://youtrack.jetbrains.com/issue/KT-80790) 'Argument list too long' error when using dynamic\_caches - [`KT-48566`](https://youtrack.jetbrains.com/issue/KT-48566) ExceptionInInitializerError when configuring Gradle project with kotlin-multiplatform plugin on a host unsupported by Kotlin/Native ##### Native. Build Infrastructure - [`KT-82886`](https://youtrack.jetbrains.com/issue/KT-82886) KonanTarget's clinit causes deadlock - [`KT-81345`](https://youtrack.jetbrains.com/issue/KT-81345) Temporary turned off Swift Export execution tests - [`KT-80869`](https://youtrack.jetbrains.com/issue/KT-80869) Extract per-module test generators for Native tests - [`KT-82028`](https://youtrack.jetbrains.com/issue/KT-82028) Kotlin/Native: move runtime building flags to runtime building code - [`KT-81500`](https://youtrack.jetbrains.com/issue/KT-81500) Make Kotlin/Native distribution shared libraries reproducible - [`KT-72011`](https://youtrack.jetbrains.com/issue/KT-72011) Kotlin/Native: consider building platform libraries with bootstrap compiler - [`KT-81666`](https://youtrack.jetbrains.com/issue/KT-81666) Kotlin/Native: build stdlib with the bootstrap compiler ##### Native. C and ObjC Import - [`KT-79741`](https://youtrack.jetbrains.com/issue/KT-79741) Native: implement type checking against Objective-C protocols without `protocolGetter` - [`KT-83039`](https://youtrack.jetbrains.com/issue/KT-83039) Native: mark header-defined functions and globals unavailable with `-Xccall-mode direct` - [`KT-82200`](https://youtrack.jetbrains.com/issue/KT-82200) Native: implement type checking against Objective-C protocols with `objc_runtime_name` without `protocolGetter` - [`KT-82669`](https://youtrack.jetbrains.com/issue/KT-82669) Kotlin/Native: cinterop tests failure with no class for metaclass - [`KT-79742`](https://youtrack.jetbrains.com/issue/KT-79742) Native: import C global variables without C wrappers - [`KT-81937`](https://youtrack.jetbrains.com/issue/KT-81937) Native: switch cinterop to `-Xccall-mode both` by default for custom cinterop klibs - [`KT-81548`](https://youtrack.jetbrains.com/issue/KT-81548) Native: compiler doesn't sanitize CCall.Direct symbol names in C stubs - [`KT-81538`](https://youtrack.jetbrains.com/issue/KT-81538) Native: InteropBridgesNameInventor doesn't handle legitimate '$' characters in function names - [`KT-81017`](https://youtrack.jetbrains.com/issue/KT-81017) Native: compiler can't call CCall.Direct with '$' in the symbol name ##### Native. ObjC Export - [`KT-82160`](https://youtrack.jetbrains.com/issue/KT-82160) K/N: bridge for fake override is not built but requested - [`KT-83736`](https://youtrack.jetbrains.com/issue/KT-83736) Objective-C export with `objcExportBlockExplicitParameterNames` generates invalid block signature when lambda parameter is named `id` - [`KT-83014`](https://youtrack.jetbrains.com/issue/KT-83014) Native: experimental support for generating an NS\_ENUM in addition to an Objective-C class for Kotlin classes - [`KT-76637`](https://youtrack.jetbrains.com/issue/KT-76637) ObjCExport: K1 + K2 integration test ##### Native. Runtime - [`KT-82077`](https://youtrack.jetbrains.com/issue/KT-82077) Kotlin/Native: in runtime make main module depend on mm module ##### Native. Runtime. Memory - [`KT-82635`](https://youtrack.jetbrains.com/issue/KT-82635) Enable CMS GC by default in 2.3.20-Beta1 - [`KT-83470`](https://youtrack.jetbrains.com/issue/KT-83470) Potential race condition in TryRequestThreadsSuspension due to initialization order - [`KT-83549`](https://youtrack.jetbrains.com/issue/KT-83549) Provide an experimental Platform property which returns information about object allocation mode - [`KT-83535`](https://youtrack.jetbrains.com/issue/KT-83535) Typo in out-of-memory error message - [`KT-81152`](https://youtrack.jetbrains.com/issue/KT-81152) Kotlin/Native: deprecate isMemoryLeakCheckerActive - [`KT-81156`](https://youtrack.jetbrains.com/issue/KT-81156) Kotlin/Native: deprecate forceCheckedShutdown ##### Native. Swift Export ##### New Features - [`KT-82908`](https://youtrack.jetbrains.com/issue/KT-82908) Swift Export: bridges for FT should be recursive ##### Fixes - [`KT-82054`](https://youtrack.jetbrains.com/issue/KT-82054) Swift Export: `private set` is ignored by swift export - [`KT-83499`](https://youtrack.jetbrains.com/issue/KT-83499) Swift Export: trampoulines w/ varargs results in a broken swift code - [`KT-83655`](https://youtrack.jetbrains.com/issue/KT-83655) Typealias to a closure receiving a closure results in broken swift code - [`KT-82053`](https://youtrack.jetbrains.com/issue/KT-82053) Swift Export: Returning generic on top level function produces uncompilable code - [`KT-80971`](https://youtrack.jetbrains.com/issue/KT-80971) Swift Export: Support exception throwing - [`KT-83141`](https://youtrack.jetbrains.com/issue/KT-83141) Swift Export: suspendable covariant functional type - [`KT-82907`](https://youtrack.jetbrains.com/issue/KT-82907) Swift Export: attributes are not printed for parameters of closures - [`KT-80970`](https://youtrack.jetbrains.com/issue/KT-80970) Swift Export: Support cancellation - [`KT-82726`](https://youtrack.jetbrains.com/issue/KT-82726) Swift Export: filters out wrong module for coroutines - [`KT-81591`](https://youtrack.jetbrains.com/issue/KT-81591) Custom type translation rules in Swift export - [`KT-81270`](https://youtrack.jetbrains.com/issue/KT-81270) K/N - Build fails when exposing suspend functions ##### Tools. BCV - [`KT-80938`](https://youtrack.jetbrains.com/issue/KT-80938) Binary compatibility validation: can't exclude container types of Repeatable annotations by `filters.excluded.byNames` - [`KT-83484`](https://youtrack.jetbrains.com/issue/KT-83484) Create fat-jar artifact for abi-tools \[ABI Validation] - [`KT-80747`](https://youtrack.jetbrains.com/issue/KT-80747) Refactor API of ABI tools \[ABI Tools] ##### Tools. Build Tools API ##### New Features - [`KT-80681`](https://youtrack.jetbrains.com/issue/KT-80681) BTA: introduce a special argument for passing compiler plugins - [`KT-80338`](https://youtrack.jetbrains.com/issue/KT-80338) Kotlin CRI generation - [`KT-78198`](https://youtrack.jetbrains.com/issue/KT-78198) BTA: implement basic metrics collection - [`KT-79975`](https://youtrack.jetbrains.com/issue/KT-79975) BTA: add ability to cancel build operations - [`KT-81790`](https://youtrack.jetbrains.com/issue/KT-81790) \[BTA] Make build operations and configuration immutable after execute - [`KT-82702`](https://youtrack.jetbrains.com/issue/KT-82702) BTA: Allow collecting compiler lookups in non-incremental mode - [`KT-81847`](https://youtrack.jetbrains.com/issue/KT-81847) Add CRI <-> BTA integration - [`KT-81845`](https://youtrack.jetbrains.com/issue/KT-81845) Add CRI <-> Maven integration ##### Fixes - [`KT-84577`](https://youtrack.jetbrains.com/issue/KT-84577) BTA: API 2.3.20 incompatible with compiler 2.3.10 - [`KT-82682`](https://youtrack.jetbrains.com/issue/KT-82682) BTA: reading non-nullable arguments may return null or throw NPE - [`KT-81729`](https://youtrack.jetbrains.com/issue/KT-81729) BTA: loading from a classloader without implementation fails with CNFE instead of error with explanation - [`KT-83971`](https://youtrack.jetbrains.com/issue/KT-83971) BTA: OperationCancelledException cannot be thrown properly from isolated classloader - [`KT-82167`](https://youtrack.jetbrains.com/issue/KT-82167) Add BuildTimeMetric for the CRI data generation - [`KT-81846`](https://youtrack.jetbrains.com/issue/KT-81846) Add FUS for CRI usage in Gradle / Maven - [`KT-82399`](https://youtrack.jetbrains.com/issue/KT-82399) \[BTA] JvmClasspathSnapshottingOperationImpl doesn't use Option defaults - [`KT-82039`](https://youtrack.jetbrains.com/issue/KT-82039) BuildEvent compilation error missing with KGP 2.3.0-Beta1 - [`KT-81887`](https://youtrack.jetbrains.com/issue/KT-81887) Implement the CRI lookup data generation - [`KT-81886`](https://youtrack.jetbrains.com/issue/KT-81886) Implement the CRI data serialization - [`KT-81780`](https://youtrack.jetbrains.com/issue/KT-81780) Add Gradle <-> CRI integration tests - [`KT-81645`](https://youtrack.jetbrains.com/issue/KT-81645) BTA prints unreadable version in "option available only since" error (shows KotlinReleaseVersion`@hash` instead of 2.x.y) ##### Tools. CLI - [`KT-83044`](https://youtrack.jetbrains.com/issue/KT-83044) Report redundant CLI arguments when they have no effect - [`KT-83202`](https://youtrack.jetbrains.com/issue/KT-83202) Report all errors during parsing CLI arguments instead of a single one - [`KT-73320`](https://youtrack.jetbrains.com/issue/KT-73320) Migrate the main JS CLI pipeline to the phased structure - [`KT-81898`](https://youtrack.jetbrains.com/issue/KT-81898) Introduce a CLI option to disable source file sorting - [`KT-73606`](https://youtrack.jetbrains.com/issue/KT-73606) Provide a unified interface for managing the reporting of compiler warnings - [`KT-48419`](https://youtrack.jetbrains.com/issue/KT-48419) Using a `@RequiresOptIn` API that does not exist should have an option to not output a warning - [`KT-81861`](https://youtrack.jetbrains.com/issue/KT-81861) Introduce a mechanism that allows suppressing CLI diagnostics - [`KT-82321`](https://youtrack.jetbrains.com/issue/KT-82321) KMP Separate Compilation: Common fragments are missing forward declaration symbol providers - [`KT-81551`](https://youtrack.jetbrains.com/issue/KT-81551) Introduce an experimental CLI option for enabling local type aliases - [`KT-74196`](https://youtrack.jetbrains.com/issue/KT-74196) Remove patched copy of com.intellij.util.lang.JavaVersion from the Kotlin repo ##### Tools. CLI. Native - [`KT-64509`](https://youtrack.jetbrains.com/issue/KT-64509) Refactor Kotlin/Native compiler setup: run FE without KonanConfig ##### Tools. Compiler Plugin API - [`KT-83823`](https://youtrack.jetbrains.com/issue/KT-83823) Deprecate `PreprocessedVirtualFileFactoryExtension` - [`KT-82809`](https://youtrack.jetbrains.com/issue/KT-82809) \[FIR]\[IC] New containingFileName parameter API is not actually compatible with IC - [`KT-46709`](https://youtrack.jetbrains.com/issue/KT-46709) IR plugin lookups don't work as expected for expect class with actual typealias - [`KT-82518`](https://youtrack.jetbrains.com/issue/KT-82518) Disable automatic body generation of the plugin-generated callables - [`KT-82159`](https://youtrack.jetbrains.com/issue/KT-82159) \[FIR] Automatically add expressions to properties or functions - [`KT-58886`](https://youtrack.jetbrains.com/issue/KT-58886) K2: compiler plugin generated top level declarations cause AssertionError on K/JS and K/Native ##### Tools. Compiler Plugins ##### New Features - [`KT-71893`](https://youtrack.jetbrains.com/issue/KT-71893) Support `@Builder` lombok annotation on methods - [`KT-28594`](https://youtrack.jetbrains.com/issue/KT-28594) Add a 'jpa' pre-defined flavor to the allOpen compiler plugin. - [`KT-81604`](https://youtrack.jetbrains.com/issue/KT-81604) Lombok Kotlin compiler plugin and -Werror: Unable to ignore warning for the plugin appliance ##### Fixes - [`KT-83119`](https://youtrack.jetbrains.com/issue/KT-83119) Lombok. canEqual is not available from kotlin for a class with `@Data` annotation - [`KT-83334`](https://youtrack.jetbrains.com/issue/KT-83334) Lombok. Builder function is unavailable for a generic class - [`KT-83063`](https://youtrack.jetbrains.com/issue/KT-83063) Lombok: Setter/getter is not available with a protected access level - [`KT-83217`](https://youtrack.jetbrains.com/issue/KT-83217) Lombok. With method is available for the static field - [`KT-83120`](https://youtrack.jetbrains.com/issue/KT-83120) Lombok. A constructor is available for a class with an existing constructor and `@Data`/`@Value` annotation - [`KT-83256`](https://youtrack.jetbrains.com/issue/KT-83256) Lombok. Setter is available for non-final fields if `@Value` and `@Data`/`@Setter` are used together - [`KT-83251`](https://youtrack.jetbrains.com/issue/KT-83251) Lombok. Constructor from `@Value` includes fields that are initialized in declaration - [`KT-83252`](https://youtrack.jetbrains.com/issue/KT-83252) Lombok. Class marked with `@Value` isn't final - [`KT-83085`](https://youtrack.jetbrains.com/issue/KT-83085) Lombok: getter/setter is available for a static field if class is annotated - [`KT-83078`](https://youtrack.jetbrains.com/issue/KT-83078) Lombok: getter and setter are not available for a static Java field - [`KT-82341`](https://youtrack.jetbrains.com/issue/KT-82341) Migrate official compiler plugins to IC-safe reference... API ##### Tools. Compiler plugins. Compose - [`KT-84218`](https://youtrack.jetbrains.com/issue/KT-84218) \[2.3.20-Beta1] "IllegalStateException: no implementation for FUN MISSING\_DECLARATION" during bitcode lowering - [`KT-84055`](https://youtrack.jetbrains.com/issue/KT-84055) Reference to lambda in lambda in function 'TextField' can not be evaluated ##### Tools. Compiler plugins. Serialization - [`KT-82351`](https://youtrack.jetbrains.com/issue/KT-82351) Migrate kotlinx.serialization to IC-safe reference... API - [`KT-76949`](https://youtrack.jetbrains.com/issue/KT-76949) Serialization: "IllegalStateException: Serializer for element of type kotlin.Any has not been found" on custom serializer for `Map<String, Any?>` - [`KT-73107`](https://youtrack.jetbrains.com/issue/KT-73107) Serialization: "IllegalStateException: Serializer for element of type kotlin.Any? has not been found" with star projection ##### Tools. Gradle ##### New Features - [`KT-79389`](https://youtrack.jetbrains.com/issue/KT-79389) Add allopen plugin + JPA preset to kotlin.plugin.jpa - [`KT-78200`](https://youtrack.jetbrains.com/issue/KT-78200) Gradle: enable JVM compilation through BTA by default - [`KT-81844`](https://youtrack.jetbrains.com/issue/KT-81844) Add CRI <-> Gradle integration ##### Performance Improvements - [`KT-84152`](https://youtrack.jetbrains.com/issue/KT-84152) Memory Leak and OOM Errors in Kotlin Gradle Plugin 2.3.20-Beta2 with `in-process` execution mode ##### Fixes - [`KT-80186`](https://youtrack.jetbrains.com/issue/KT-80186) Remove usage of deprecated Gradle API Project.container(...) - [`KT-78754`](https://youtrack.jetbrains.com/issue/KT-78754) KGP: Remove usages of isVisible/setVisible - [`KT-80356`](https://youtrack.jetbrains.com/issue/KT-80356) Compatibility with Gradle 9.2.0 release - [`KT-78763`](https://youtrack.jetbrains.com/issue/KT-78763) Compatibility with Gradle 9.1.0 release - [`KT-83316`](https://youtrack.jetbrains.com/issue/KT-83316) \[BTA] Build Reports missing information when JVM compilation uses Build Tools API - [`KT-82885`](https://youtrack.jetbrains.com/issue/KT-82885) Run tests against Gradle 9.3.0 - [`KT-83125`](https://youtrack.jetbrains.com/issue/KT-83125) Deprecate out-of-process compilation mode - [`KT-82323`](https://youtrack.jetbrains.com/issue/KT-82323) Deprecate LanguageSettings.enableLanguageFeature DSL - [`KT-83323`](https://youtrack.jetbrains.com/issue/KT-83323) Run integration tests against Gradle 9.2 - [`KT-82884`](https://youtrack.jetbrains.com/issue/KT-82884) Compile against Gradle API 9.3.0 - [`KT-78104`](https://youtrack.jetbrains.com/issue/KT-78104) Deprecate CleanableStore infrastructure - [`KT-80096`](https://youtrack.jetbrains.com/issue/KT-80096) Strange "Inconsistent JVM Target Compatibility" warning - [`KT-82715`](https://youtrack.jetbrains.com/issue/KT-82715) Declaring dependencies using multi-string notation has been deprecated - [`KT-83161`](https://youtrack.jetbrains.com/issue/KT-83161) CRI: it is not clear that CRI generation requires BTA being enabled - [`KT-82717`](https://youtrack.jetbrains.com/issue/KT-82717) Specifying 'org.gradle.java.installations.auto-detect' as a project property on the command line has been deprecated - [`KT-81830`](https://youtrack.jetbrains.com/issue/KT-81830) Create autogenerated kotlin version constants to be used with disableNativeCache DSL - [`KT-83322`](https://youtrack.jetbrains.com/issue/KT-83322) Compile against Gradle 9.2 API - [`KT-81831`](https://youtrack.jetbrains.com/issue/KT-81831) Verify Problems API implementation with Gradle guidelines - [`KT-80120`](https://youtrack.jetbrains.com/issue/KT-80120) Support colored value for --console command in Gradle 9.1 - [`KT-81400`](https://youtrack.jetbrains.com/issue/KT-81400) ToolingDiagnosticFactory: check if documentationLink set multiple times - [`KT-83070`](https://youtrack.jetbrains.com/issue/KT-83070) The KGP api reference is missing a description - [`KT-82459`](https://youtrack.jetbrains.com/issue/KT-82459) Improve iOS simulator boot implementation - [`KT-80008`](https://youtrack.jetbrains.com/issue/KT-80008) Track cross compilation status from project dependencies - [`KT-78764`](https://youtrack.jetbrains.com/issue/KT-78764) Compile against Gradle 9.1 API ##### Tools. Gradle. BCV - [`KT-80674`](https://youtrack.jetbrains.com/issue/KT-80674) Rename tasks to avoid using `legacy` word \[ABI Validation] - [`KT-80614`](https://youtrack.jetbrains.com/issue/KT-80614) Add dependency on abi check from gradle's check task \[ABI Validation] - [`KT-80827`](https://youtrack.jetbrains.com/issue/KT-80827) Delete DSL for working with dump variants \[ABI Validation] - [`KT-80823`](https://youtrack.jetbrains.com/issue/KT-80823) Stabilize DSL for filtering \[ABI Validation] ##### Tools. Gradle. Cocoapods - [`KT-80641`](https://youtrack.jetbrains.com/issue/KT-80641) EXECUTABLE\_DEBUG\_DYLIB\_PATH problem - [`KT-80644`](https://youtrack.jetbrains.com/issue/KT-80644) Cocoapod plugin builds a synthetic project for "generic/platform=iOS Simulator" ##### Tools. Gradle. JS - [`KT-84772`](https://youtrack.jetbrains.com/issue/KT-84772) Bundled yarn.lock for kotlinWasmToolingSetup does not include `@swc`/helpers`@0`.5.17 - [`KT-82946`](https://youtrack.jetbrains.com/issue/KT-82946) Js, Wasm: Upgrade NPM dependencies ##### Tools. Gradle. Multiplatform ##### New Features - [`KT-77258`](https://youtrack.jetbrains.com/issue/KT-77258) Query status of cross-compilation or compilation task - [`KT-81849`](https://youtrack.jetbrains.com/issue/KT-81849) Replace kotlin-test-common and kotlin-test-annotations-common with just kotlin-test ##### Fixes - [`KT-83917`](https://youtrack.jetbrains.com/issue/KT-83917) compileCommonMainKotlinMetadata fails in CMP core repository with Kotlin 2.3.20-Beta1 - [`KT-82090`](https://youtrack.jetbrains.com/issue/KT-82090) Kotlin JVM + Android Shared Source set fails Import with the Project Isolation enabled - [`KT-81973`](https://youtrack.jetbrains.com/issue/KT-81973) NPE with Cannot invoke "java.util.List.get(int)" because "path" is null in KMP + Android project - [`KT-79257`](https://youtrack.jetbrains.com/issue/KT-79257) Consider deprecating and removing kotlin.kmp.isolated-projects.support - [`KT-81944`](https://youtrack.jetbrains.com/issue/KT-81944) Legacy KMP Android uses wrong configurations to infer common dependencies - [`KT-83687`](https://youtrack.jetbrains.com/issue/KT-83687) Revert deprecation of 'androidTarget' for AGP lower than 9 - [`KT-81536`](https://youtrack.jetbrains.com/issue/KT-81536) "Couldn't resolve dependency in 'commonMain' for all target platforms" in 2.2.20-Beta2 - [`KT-81724`](https://youtrack.jetbrains.com/issue/KT-81724) IntelliJ successfully resolves imports that are not actually available in the given module - [`KT-79073`](https://youtrack.jetbrains.com/issue/KT-79073) compileTest\* tasks pass separateCompilation parameters but don't behave accordingly - [`KT-71130`](https://youtrack.jetbrains.com/issue/KT-71130) Enable Isolated Projects support by default for KMP ##### Tools. Gradle. Native - [`KT-84759`](https://youtrack.jetbrains.com/issue/KT-84759) iosX64 should not be marked as deprecated in Kotlin Gradle DSL - [`KT-83598`](https://youtrack.jetbrains.com/issue/KT-83598) KotlinNativeDownloadTask build caching is unsafe - [`KT-80715`](https://youtrack.jetbrains.com/issue/KT-80715) Deprecate `kotlin.native.cacheKind` and introduce DSL instead - [`KT-83353`](https://youtrack.jetbrains.com/issue/KT-83353) DisableNativeCache breaks up-to-date checks for non-cacheable K/N targets - [`KT-81443`](https://youtrack.jetbrains.com/issue/KT-81443) `ConfigurationCacheError` on Linux arm64 due to disabled iOS targets - [`KT-82970`](https://youtrack.jetbrains.com/issue/KT-82970) Warning about disabled K/N caches for non-cacheable targets is printed twice - [`KT-82786`](https://youtrack.jetbrains.com/issue/KT-82786) Warning about disabled K/N caches is displayed twice ##### Tools. Gradle. Swift Export - [`KT-82727`](https://youtrack.jetbrains.com/issue/KT-82727) Swift Export: generated kotlin bridges don't see neighboring modules ##### Tools. Gradle. Wasm - [`KT-82525`](https://youtrack.jetbrains.com/issue/KT-82525) K/Wasm: kotlinToolingSetup does not depend on package manager installation ##### Tools. Incremental Compile - [`KT-80483`](https://youtrack.jetbrains.com/issue/KT-80483) Incorporate IC lookups into `reference...` methods of `IrPluginContext` ##### Tools. JPS - [`KT-76927`](https://youtrack.jetbrains.com/issue/KT-76927) Switching from VAL to VAR does not trigger recompilation of usage in Kotlin-uses-Kotlin - [`KT-79362`](https://youtrack.jetbrains.com/issue/KT-79362) JPS/NoArg: Failed to build project with 'java.lang.NoClassDefFoundError: org/jetbrains/kotlin/com/intellij/psi/PsiElement' ##### Tools. Kapt - [`KT-81691`](https://youtrack.jetbrains.com/issue/KT-81691) K2: KAPT: "ClassCastException: IrErrorTypeImpl cannot be cast to class IrSimpleType" - [`KT-82338`](https://youtrack.jetbrains.com/issue/KT-82338) K2 KAPT: ISE "Cannot evaluate IR expression in annotation" on unresolved enum usage ##### Tools. Maven - [`KT-83565`](https://youtrack.jetbrains.com/issue/KT-83565) Maven: auto‑detect src/main|test/kotlin - [`KT-79304`](https://youtrack.jetbrains.com/issue/KT-79304) Maven: Automatically add kotlin-stdlib dependency - [`KT-83111`](https://youtrack.jetbrains.com/issue/KT-83111) Add JavaVersion argument resolver for kotlin-maven-plugin-test - [`KT-83112`](https://youtrack.jetbrains.com/issue/KT-83112) Add MavenVersion argument resolver for kotlin-maven-plugin-test ##### Tools. REPL - [`KT-82575`](https://youtrack.jetbrains.com/issue/KT-82575) \[K2 REPL] Redesign frontend resolution for REPL snippets - [`KT-82741`](https://youtrack.jetbrains.com/issue/KT-82741) \[K2 Repl] OOM in `FirJavaElementFinderKt.collectAllDependentSourceSessionsTo` when rerunning the same cell multiple times ##### Tools. Scripts - [`KT-81679`](https://youtrack.jetbrains.com/issue/KT-81679) Script explain: while loop explanation may lead to the hanging code - [`KT-81677`](https://youtrack.jetbrains.com/issue/KT-81677) Script explain: Contents of the if/when branches are not explained - [`KT-67063`](https://youtrack.jetbrains.com/issue/KT-67063) LauncherReplTest flaky on Windows ##### Tools. Statistics (FUS) - [`KT-82877`](https://youtrack.jetbrains.com/issue/KT-82877) Add performance measurement for KLIB size - [`KT-79576`](https://youtrack.jetbrains.com/issue/KT-79576) Included build subprojects produce FUS files with unknown\_id when configuration cache is enabled ### [`v2.3.10`](https://github.com/JetBrains/kotlin/blob/HEAD/ChangeLog.md#2310) [Compare Source](https://github.com/JetBrains/kotlin/compare/v2.3.0...v2.3.10) ##### Compiler - [`KT-83984`](https://youtrack.jetbrains.com/issue/KT-83984) Data races around kotlinx.serialization plugin protobuf extensions registration - [`KT-83317`](https://youtrack.jetbrains.com/issue/KT-83317) ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant - [`KT-83031`](https://youtrack.jetbrains.com/issue/KT-83031) K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code - [`KT-81700`](https://youtrack.jetbrains.com/issue/KT-81700) flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures) - [`KT-83983`](https://youtrack.jetbrains.com/issue/KT-83983) Revert of KT-83081 - [`KT-83314`](https://youtrack.jetbrains.com/issue/KT-83314) JSpecify `@NullMarked` changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3 - [`KT-82863`](https://youtrack.jetbrains.com/issue/KT-82863) `@NoInfer` regression since 2.2.20 - [`KT-82841`](https://youtrack.jetbrains.com/issue/KT-82841) "kotlin.NoWhenBranchMatchedException" in `when` with `!is` check & non-sealed class in the middle of hierarchy ##### JVM. Reflection - [`KT-83608`](https://youtrack.jetbrains.com/issue/KT-83608) Kotlin-reflect: "Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R" - [`KT-83361`](https://youtrack.jetbrains.com/issue/KT-83361) "KotlinReflectionInternalError: Type parameter not found: 0" on super types with Kotlin 2.3.0 - [`KT-42199`](https://youtrack.jetbrains.com/issue/KT-42199) "KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke" on function reference to FunctionN.invoke - [`KT-81024`](https://youtrack.jetbrains.com/issue/KT-81024) Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter ##### Tools. Compiler Plugins - [`KT-83266`](https://youtrack.jetbrains.com/issue/KT-83266) "Unsupported class file major version 69" for "produceReleaseComposeMapping" task with Kotlin 2.3 - [`KT-83099`](https://youtrack.jetbrains.com/issue/KT-83099) Compose compiler does not generate stack trace mappings for project files ##### Tools. Gradle - [`KT-83070`](https://youtrack.jetbrains.com/issue/KT-83070) The KGP api reference is missing a description - [`KT-82459`](https://youtrack.jetbrains.com/issue/KT-82459) Improve iOS simulator boot implementation ##### Tools. Gradle. JS - [`KT-82946`](https://youtrack.jetbrains.com/issue/KT-82946) Js, Wasm: Upgrade NPM dependencies ##### Tools. Gradle. Multiplatform - [`KT-83687`](https://youtrack.jetbrains.com/issue/KT-83687) Revert deprecation of 'androidTarget' for AGP lower than 9 ### [`v2.3.0`](https://github.com/JetBrains/kotlin/blob/HEAD/ChangeLog.md#230) [Compare Source](https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.0) ##### Analysis API - [`KT-80082`](https://youtrack.jetbrains.com/issue/KT-80082) K2. False positive "Cannot resolve method" for self-bounded generic with wildcard return type in Java interop - [`KT-80303`](https://youtrack.jetbrains.com/issue/KT-80303) Move `:native:analysis-api-klib-reader` to `:libraries:tools` ##### Analysis API. Code Compilation - [`KT-70860`](https://youtrack.jetbrains.com/issue/KT-70860) K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var - [`KT-78554`](https://youtrack.jetbrains.com/issue/KT-78554) K2 IDE / Kotlin Debugger: ISE “No override for FUN IR\_EXTERNAL\_DECLARATION\_STUB” on calling toString() for local class instance during evaluation - [`KT-73201`](https://youtrack.jetbrains.com/issue/KT-73201) K2 IDE: Error while evaluating expressions with local classes ##### Analysis API. FIR - [`KT-81378`](https://youtrack.jetbrains.com/issue/KT-81378) Expected expression 'FirFunctionCallImpl' to be resolved caused by `suspend {}` - [`KT-80473`](https://youtrack.jetbrains.com/issue/KT-80473) Add events for tracking LL activities - [`KT-46375`](https://youtrack.jetbrains.com/issue/KT-46375) Analysis API: Support cross-file class redeclaration checks using indices - [`KT-80471`](https://youtrack.jetbrains.com/issue/KT-80471) Analysis API: Deduplicate equivalent call candidates in `resolveToCallCandidates` - [`KT-79653`](https://youtrack.jetbrains.com/issue/KT-79653) \[Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries - [`KT-75858`](https://youtrack.jetbrains.com/issue/KT-75858) K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter - [`KT-80231`](https://youtrack.jetbrains.com/issue/KT-80231) AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases - [`KT-80233`](https://youtrack.jetbrains.com/issue/KT-80233) Pull mutation out of AnnotationArgumentsStateKeepers - [`KT-71466`](https://youtrack.jetbrains.com/issue/KT-71466) `LLFirBuiltinsSessionFactory` uses `createCompositeSymbolProvider` - [`KT-76432`](https://youtrack.jetbrains.com/issue/KT-76432) JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl ##### Analysis API. Infrastructure - [`KT-80717`](https://youtrack.jetbrains.com/issue/KT-80717) Support IntelliJ Bazel build in the Kotlin Coop development mode ##### Analysis API. Light Classes - [`KT-80656`](https://youtrack.jetbrains.com/issue/KT-80656) Duplicate no-args constructor in PSI - [`KT-60490`](https://youtrack.jetbrains.com/issue/KT-60490) Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class - [`KT-79689`](https://youtrack.jetbrains.com/issue/KT-79689) SymbolLightClassForClassLike.toString() causes PSI tree loading - [`KT-80690`](https://youtrack.jetbrains.com/issue/KT-80690) Private interface functions are not present in light classes - [`KT-80256`](https://youtrack.jetbrains.com/issue/KT-80256) K2: Certain actions in JPA code causes infinite PIEAE: "Element class CompositeElement of type REFERENCE\_EXPRESSION (class KtNameReferenceExpressionElementType)" - [`KT-79012`](https://youtrack.jetbrains.com/issue/KT-79012) Add a high-level overview of light classes ##### Analysis API. Providers and Caches ##### Fixes - [`KT-81476`](https://youtrack.jetbrains.com/issue/KT-81476) Analysis API: `AlreadyDisposedException` from low-memory cache cleanup - [`KT-80911`](https://youtrack.jetbrains.com/issue/KT-80911) Analysis API: Execute session invalidation in a non-cancelable section - [`KT-81242`](https://youtrack.jetbrains.com/issue/KT-81242) Analysis API: Add UUID/lifetime properties to LL FIR session structure logging - [`KT-80622`](https://youtrack.jetbrains.com/issue/KT-80622) Analysis API: Visualise LL FIR session structure & weight - [`KT-80904`](https://youtrack.jetbrains.com/issue/KT-80904) Analysis API: "Invalid dangling file module" exception during session invalidation - [`KT-78882`](https://youtrack.jetbrains.com/issue/KT-78882) K2 AA: Calling containingSymbol on getProgressionLastElement causes exception - [`KT-58325`](https://youtrack.jetbrains.com/issue/KT-58325) Analysis API: Combine `LLKotlinStubBasedLibrarySymbolProvider`s in session dependencies (optimization) - [`KT-77825`](https://youtrack.jetbrains.com/issue/KT-77825) Analysis API: `CheckersComponent` consumes a lot of memory while being unused in LL FIR sessions - [`KT-76526`](https://youtrack.jetbrains.com/issue/KT-76526) Incorrect built-in module is provided for non-JVM sources in Standalone - [`KT-62549`](https://youtrack.jetbrains.com/issue/KT-62549) Analysis API: Cache callables in combined Kotlin symbol providers - [`KT-70721`](https://youtrack.jetbrains.com/issue/KT-70721) LL FIR: investigate possibility of moving `LLFirFirClassByPsiClassProvider . getClassByPsiClass (PsiClass)` to symbol providers - [`KT-72998`](https://youtrack.jetbrains.com/issue/KT-72998) Analysis API: Introduce `getClassLikeSymbolByPsi` to LL FIR symbol providers ##### Analysis API. Standalone - [`KT-81108`](https://youtrack.jetbrains.com/issue/KT-81108) AA: java.lang.ClassCastException: class org.jetbrains.kotlin.fir.FirBinaryDependenciesModuleData cannot be cast to class org.jetbrains.kotlin.analysis.low\.level.api.fir.projectStructure.LLFirModuleData - [`KT-80573`](https://youtrack.jetbrains.com/issue/KT-80573) Potential performance issue on class ID computation - [`KT-80559`](https://youtrack.jetbrains.com/issue/KT-80559) Try to optimize KotlinStandaloneDeclarationProviderFactory startup for tests - [`KT-71706`](https://youtrack.jetbrains.com/issue/KT-71706) Analysis API Standalone: `StandaloneProjectFactory.createSearchScopeByLibraryRoots` creates inefficient file-based search scopes ##### Analysis API. Stubs and Decompilation ##### Performance Improvements - [`KT-77097`](https://youtrack.jetbrains.com/issue/KT-77097) Support `ReplaceWith` deprecation annotation argument via stubs ##### Fixes - [`KT-80350`](https://youtrack.jetbrains.com/issue/KT-80350) Drop K1 decompiler - [`KT-77082`](https://youtrack.jetbrains.com/issue/KT-77082) StackOverflowError in CreateFreshTypeVariableSubstitutorStage.shouldBeFlexible - [`KT-80798`](https://youtrack.jetbrains.com/issue/KT-80798) Improve stubs tests coverage - [`KT-75318`](https://youtrack.jetbrains.com/issue/KT-75318) Read context parameter fields from metadata in CallableClsStubBuilder - [`KT-77874`](https://youtrack.jetbrains.com/issue/KT-77874) AA disagrees with the compiler on descriptions of context parameters from binaries in messages for context argument ambiguity errors - [`KT-80276`](https://youtrack.jetbrains.com/issue/KT-80276) Implement native coping for stubs - [`KT-79780`](https://youtrack.jetbrains.com/issue/KT-79780) Decompiled MultifileClass has Facade kind - [`KT-79398`](https://youtrack.jetbrains.com/issue/KT-79398) isClsStubCompiledToJvmDefaultImplementation flag is inconsistent for compiled and decompiled stubs - [`KT-79798`](https://youtrack.jetbrains.com/issue/KT-79798) Prettify stub usages in LL stub-based deserializer - [`KT-78949`](https://youtrack.jetbrains.com/issue/KT-78949) AbstractLLStubBasedResolutionTest: tests against real stub-based files - [`KT-80251`](https://youtrack.jetbrains.com/issue/KT-80251) Inconsistent decompiled and compiled stub for properties with an initializer and a delegate - [`KT-74547`](https://youtrack.jetbrains.com/issue/KT-74547) Implement decompiler for K2 - [`KT-79555`](https://youtrack.jetbrains.com/issue/KT-79555) Move KotlinFileStubImpl serialization/deserialization to the Analysis API - [`KT-79487`](https://youtrack.jetbrains.com/issue/KT-79487) "null DefinitelyNotNullType for 'T'" from decompiler - [`KT-60764`](https://youtrack.jetbrains.com/issue/KT-60764) Stub Builder: fix differences between K1 and K2 stub building on decompiled files - [`KT-79484`](https://youtrack.jetbrains.com/issue/KT-79484) An empty enum class with a member decompiles with a synthetic error - [`KT-79730`](https://youtrack.jetbrains.com/issue/KT-79730) Decompiled files have an extra `Kt` suffix - [`KT-79483`](https://youtrack.jetbrains.com/issue/KT-79483) data modifier is not present on object modifier - [`KT-75398`](https://youtrack.jetbrains.com/issue/KT-75398) Local classes from scripts have ClassId in stubs - [`KT-79412`](https://youtrack.jetbrains.com/issue/KT-79412) Context parameters with type annotations cause inconsistency errors while building stubs ##### Analysis API. Surface ##### New Features - [`KT-80084`](https://youtrack.jetbrains.com/issue/KT-80084) Provide endpoints for Analysis API to understand when the context sensitive resolution is used - [`KT-64340`](https://youtrack.jetbrains.com/issue/KT-64340) Analysis API: no way to get a type of vararg parameter - [`KT-68387`](https://youtrack.jetbrains.com/issue/KT-68387) AA: provide context for type approximations ##### Performance Improvements - [`KT-80713`](https://youtrack.jetbrains.com/issue/KT-80713) Optimize KaDeclarationSymbol#visibility for class-like symbols - [`KT-79097`](https://youtrack.jetbrains.com/issue/KT-79097) KaFirNamedFunctionSymbol#isSuspend shouldn't trigger resolution - [`KT-79095`](https://youtrack.jetbrains.com/issue/KT-79095) isOverride shouldn't trigger resolution if not compiler plugins present ##### Fixes - [`KT-80234`](https://youtrack.jetbrains.com/issue/KT-80234) Incorrect value of `isActual` for the implicitly `actual` constructor of annotation class - [`KT-81132`](https://youtrack.jetbrains.com/issue/KT-81132) Use KaSession instead of a particular KaSessionComponent for context parameter bridges - [`KT-81129`](https://youtrack.jetbrains.com/issue/KT-81129) K2: KaSymbolInformationProvider#importableFqName: should return null for dynamic declarations - [`KT-81128`](https://youtrack.jetbrains.com/issue/KT-81128) K2: KaSymbolInformationProvider#importableFqName: should return null for error destructuring declarations - [`KT-81127`](https://youtrack.jetbrains.com/issue/KT-81127) K2: KaSymbolInformationProvider#importableFqName: should return null for anonymous functions - [`KT-81126`](https://youtrack.jetbrains.com/issue/KT-81126) K2: KaSymbolInformationProvider#importableFqName: should return null for enum entry initializer constructors - [`KT-81125`](https://youtrack.jetbrains.com/issue/KT-81125) K2: KaSymbolInformationProvider#importableFqName: should return null for property accessors - [`KT-81124`](https://youtrack.jetbrains.com/issue/KT-81124) K2: KaSymbolInformationProvider#importableFqName: type alias constructor should have a reference to the type alias and not to the underlying class - [`KT-70127`](https://youtrack.jetbrains.com/issue/KT-70127) Analysis API: 'KaFirReceiverParameterSymbol' does not implement 'KaFirSymbol'; leads to exception from `importableFqName` - [`KT-81123`](https://youtrack.jetbrains.com/issue/KT-81123) Reimplement KaFirSymbolInformationProvider#importableFqName - [`KT-81122`](https://youtrack.jetbrains.com/issue/KT-81122) Drop KaImportOptimizer - [`KT-78093`](https://youtrack.jetbrains.com/issue/KT-78093) Add bridges for context parameters - [`KT-79772`](https://youtrack.jetbrains.com/issue/KT-79772) Migrate from 'validityAsserted' to 'withValidityAssertion' - [`KT-79328`](https://youtrack.jetbrains.com/issue/KT-79328) K2 AA, isUsedAsExpression: Unhandled Non-KtExpression parent of KtExpression: class org.jetbrains.kotlin.psi.KtImportDirective - [`KT-80366`](https://youtrack.jetbrains.com/issue/KT-80366) IllegalStateException from KaFirStopWorldCacheCleaner - [`KT-80274`](https://youtrack.jetbrains.com/issue/KT-80274) Merge AbstractMultiModuleSymbolByPsiTest to AbstractSymbolByPsiTest - [`KT-80352`](https://youtrack.jetbrains.com/issue/KT-80352) KaBaseResolutionScope.contains(PsiElement) always returns false for Android light classes (e.g. synthetic R.java classes) - [`KT-80178`](https://youtrack.jetbrains.com/issue/KT-80178) Incorrect modality for an abstract interface function with a redundant `open` modifier - [`KT-79129`](https://youtrack.jetbrains.com/issue/KT-79129) \[Analysis API] `KaFe10TypeCreator.buildClassType` cannot build builtin types by class ids - [`KT-79143`](https://youtrack.jetbrains.com/issue/KT-79143) AA: `argumentMapping` contains an expression that is not an argument - [`KT-59857`](https://youtrack.jetbrains.com/issue/KT-59857) KaExpressionTypeProvider#returnType shouldn't throw an exception for class like declarations - [`KT-79667`](https://youtrack.jetbrains.com/issue/KT-79667) Enable resolve on java record components in standalone mode - [`KT-73050`](https://youtrack.jetbrains.com/issue/KT-73050) `KaFirSymbolRelationProvider#expectsForActual`: suspicius logic for KaReceiverParameterSymbol - [`KT-78904`](https://youtrack.jetbrains.com/issue/KT-78904) KaBaseWriteActionStartedChecker throws when no additional WA was done - [`KT-79281`](https://youtrack.jetbrains.com/issue/KT-79281) Add KDoc to `KaTypePointer#restore` - [`KT-78597`](https://youtrack.jetbrains.com/issue/KT-78597) KaUseSiteVisibilityChecker returns false for internal functions exposed via implicit receiver - [`KT-71705`](https://youtrack.jetbrains.com/issue/KT-71705) FIR api impl: Postfix increment expression's `expressionType` is Unit when incrementing array element - [`KT-75057`](https://youtrack.jetbrains.com/issue/KT-75057) Analysis API: Reference to object through typealias in invoke operator call leads to original type ##### Backend. Native. Debug - [`KT-79848`](https://youtrack.jetbrains.com/issue/KT-79848) Flaky debugger tests in opt.debug/cache.\*/GC.CMS/GC.sch.ad/alloc.custom configuration ##### Backend. Wasm ##### New Features - [`KT-59032`](https://youtrack.jetbrains.com/issue/KT-59032) Support instantiation of annotation classes on WASM ##### Fixes - [`KT-76204`](https://youtrack.jetbrains.com/issue/KT-76204) K/Wasm: support generating a wasm module per kotlin module/klib - [`KT-79357`](https://youtrack.jetbrains.com/issue/KT-79357) K/Wasm: store data for string literals in utf8 for Latin1 - [`KT-82075`](https://youtrack.jetbrains.com/issue/KT-82075) K/Wasm: kotlin.wasm.internal.getSimpleName crashes on iOS Safari older than 26 - [`KT-79244`](https://youtrack.jetbrains.com/issue/KT-79244) \[Wasm] Drop K1-specific tests, testrunners and test directives - [`KT-69621`](https://youtrack.jetbrains.com/issue/KT-69621) K/Wasm: Consider enabling support for KClass.qualifiedName by default - [`KT-80397`](https://youtrack.jetbrains.com/issue/KT-80397) K/Wasm: turn on by default using a new version of the exception handling proposal for wasm-wasi target - [`KT-81372`](https://youtrack.jetbrains.com/issue/KT-81372) K/Wasm: JsException: Exception was thrown while running JavaScript code on Safari 18.2/18.3 - [`KT-80018`](https://youtrack.jetbrains.com/issue/KT-80018) K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit) - [`KT-66072`](https://youtrack.jetbrains.com/issue/KT-66072) K/Wasm: improve how exceptions work in JS interop - [`KT-80106`](https://youtrack.jetbrains.com/issue/KT-80106) devServer in Kotlin/Wasm overwrites defaults, causing missing static paths - [`KT-80210`](https://youtrack.jetbrains.com/issue/KT-80210) Wasm: "Unexpected non-external class: kotlin.Nothing" caused by JsExport with JsPromise - [`KT-80555`](https://youtrack.jetbrains.com/issue/KT-80555) WASM IC: Can't link symbol on kotlinx.coroutines on fresh master - [`KT-80415`](https://youtrack.jetbrains.com/issue/KT-80415) WasmJs Number Elvis Operator Crash - [`KT-76509`](https://youtrack.jetbrains.com/issue/KT-76509) WasmJS: ReferenceError: Temporal is not defined caused by "Redundant reference to unused external results" - [`KT-79317`](https://youtrack.jetbrains.com/issue/KT-79317) \[Wasm] Do not throw CCE for ExcludedFromCodegen declarations - [`KT-78036`](https://youtrack.jetbrains.com/issue/KT-78036) K/Wasm: generate a message with "expected" and "actual" types in case of CCE ##### Compiler ##### New Features - [`KT-80461`](https://youtrack.jetbrains.com/issue/KT-80461) K2: false positive NO\_ELSE\_IN\_WHEN for complex sealed hierarchy - [`KT-77676`](https://youtrack.jetbrains.com/issue/KT-77676) K/N: enable typechecks and the casts optimization pass in debug mode by default - [`KT-79185`](https://youtrack.jetbrains.com/issue/KT-79185) Support local type aliases - [`KT-80837`](https://youtrack.jetbrains.com/issue/KT-80837) Warn about extension function with a context shadowed by member - [`KT-80768`](https://youtrack.jetbrains.com/issue/KT-80768) Warning on overloading by a superset of context parameters in class context - [`KT-80031`](https://youtrack.jetbrains.com/issue/KT-80031) Check spotbugs's `@CheckReturnValue` in Kotlin's unused return value checker - [`KT-79380`](https://youtrack.jetbrains.com/issue/KT-79380) Native: add performance measurement for the rest of backend phases - [`KT-79381`](https://youtrack.jetbrains.com/issue/KT-79381) Native: add performance measurement of LLVM phases - [`KT-80222`](https://youtrack.jetbrains.com/issue/KT-80222) Implement the prohibition of always-false `is` checks for definitely incompatible types - [`KT-79295`](https://youtrack.jetbrains.com/issue/KT-79295) Parse and build raw FIR from new short and full forms of positional destructuring with square brackets - [`KT-74810`](https://youtrack.jetbrains.com/issue/KT-74810) Support typealiased/mapped Java types in unused return value checker - [`KT-71244`](https://youtrack.jetbrains.com/issue/KT-71244) Incorporate existing `@CheckReturnValue` annotation(s) into Kotlin's unused return value checker - [`KT-79922`](https://youtrack.jetbrains.com/issue/KT-79922) Record 'MustUse/ExplicitlyIgnorable' state for overrides even in disabled RVC mode - [`KT-79920`](https://youtrack.jetbrains.com/issue/KT-79920) Store 'Explicitly ignorable' state of function/property in the metadata - [`KT-79690`](https://youtrack.jetbrains.com/issue/KT-79690) Implement a USELESS\_ELVIS\_LEFT\_IS\_NULL with elvis expression - [`KT-79296`](https://youtrack.jetbrains.com/issue/KT-79296) Implement/adapt diagnostics for new destructuring - [`KT-79298`](https://youtrack.jetbrains.com/issue/KT-79298) Report errors on new destructuring syntax in K1 ##### Performance Improvements - [`KT-81617`](https://youtrack.jetbrains.com/issue/KT-81617) Native: casts optimizations pass explodes on deep nested loops - [`KT-80554`](https://youtrack.jetbrains.com/issue/KT-80554) Kotlin/Native: investigate performance hit from always-on llvm pass profiling - [`KT-81340`](https://youtrack.jetbrains.com/issue/KT-81340) K/N: severe compilation time degradation after turning on casts optimization pass - [`KT-80370`](https://youtrack.jetbrains.com/issue/KT-80370) Add NO\_INLINE attribute to some of runtime functions - [`KT-80167`](https://youtrack.jetbrains.com/issue/KT-80167) K/N: condense the nodes and edges in DevirtualizationAnalysis constraint graph - [`KT-79535`](https://youtrack.jetbrains.com/issue/KT-79535) Revert incorrect SAM conversion enhancements brought to K2 ##### Fixes - [`KT-79979`](https://youtrack.jetbrains.com/issue/KT-79979) K2: ClassCastException when overriding extension property with delegation - [`KT-82590`](https://youtrack.jetbrains.com/issue/KT-82590) ClassCastException when instantiating class with generics implemented by fun interface and lambda - [`KT-78881`](https://youtrack.jetbrains.com/issue/KT-78881) K2: False positive "Assigned value is never read" in composable function - [`KT-79276`](https://youtrack.jetbrains.com/issue/KT-79276) Dexing fails with "Cannot read field X because <local0> is null" with 2.2.0 - [`KT-79547`](https://youtrack.jetbrains.com/issue/KT-79547) "UnsupportedOperationException: Not supported" with inlining and value classes - [`KT-79442`](https://youtrack.jetbrains.com/issue/KT-79442) "Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfaces - [`KT-80744`](https://youtrack.jetbrains.com/issue/KT-80744) Kotlin failure on lambda with type parameter - [`KT-81618`](https://youtrack.jetbrains.com/issue/KT-81618) "Number of arguments should not be less than number of parameters" on JVM on Kotlin 2.3.0-Beta1 - [`KT-82869`](https://youtrack.jetbrains.com/issue/KT-82869) Green-to-Red change in 2.3 after prioritizing non-suspend-function-type overloads - [`KT-79611`](https://youtrack.jetbrains.com/issue/KT-79611) "IllegalStateException: couldn't find inline method": Exception during incremental compilation - [`KT-78895`](https://youtrack.jetbrains.com/issue/KT-78895) Consider dropping isLocalInFunction and FirClassLikeDeclaration.isLocal - [`KT-82040`](https://youtrack.jetbrains.com/issue/KT-82040) Native: ClassCastException: PointerInputChange - [`KT-81924`](https://youtrack.jetbrains.com/issue/KT-81924) K2: "Cannot infer type for this parameter", "Overload resolution ambiguity between candidates" - [`KT-80864`](https://youtrack.jetbrains.com/issue/KT-80864) K2: Missing `Val cannot be reassigned` diagnostic for Java final fields (crashes in runtime with `IllegalAccessError`) - [`KT-71420`](https://youtrack.jetbrains.com/issue/KT-71420) Report error when reified type parameter is inferred to intersection type - [`KT-79451`](https://youtrack.jetbrains.com/issue/KT-79451) Rework approach to recursive types approximation - [`KT-78413`](https://youtrack.jetbrains.com/issue/KT-78413) Kotlin Debugger: value classes as context parameters have incorrect names in Variables View during debugging - [`KT-82138`](https://youtrack.jetbrains.com/issue/KT-82138) Debugger: Cannot evaluate JvmInline value class parameter - [`KT-82381`](https://youtrack.jetbrains.com/issue/KT-82381) ArrayIndexOutOfBoundsException while FirDiagnosticsCompilerResultsReporter tries to print code as part of a warning log - [`KT-81068`](https://youtrack.jetbrains.com/issue/KT-81068) Corrupted Unicode paths passed or used in the compiler - [`KT-79783`](https://youtrack.jetbrains.com/issue/KT-79783) KDoc parser: Links aren't rendered if the line has an indent of 4 or more - [`KT-80549`](https://youtrack.jetbrains.com/issue/KT-80549) Call of Java method with type parameter bounds: Expected FirResolvedTypeRef with ConeKotlinType but was FirJavaTypeRef - [`KT-82132`](https://youtrack.jetbrains.com/issue/KT-82132) False-positive type mismatch with -language-version 2.2 - [`KT-81988`](https://youtrack.jetbrains.com/issue/KT-81988) K2: Any?.toString() causes NPE inside lambda with Java - [`KT-81652`](https://youtrack.jetbrains.com/issue/KT-81652) Native: ClassCastException: ApplicationForegroundStateListener.Companion - [`KT-76479`](https://youtrack.jetbrains.com/issue/KT-76479) Backend. JVM: Report errors on exposure of types in inline functions - [`KT-82022`](https://youtrack.jetbrains.com/issue/KT-82022) K/N: Unexpected "Annotation `@JvmInline` is missing on actual declaration" warning with value classes - [`KT-80250`](https://youtrack.jetbrains.com/issue/KT-80250) ISE: flow for PostponedLambdaExitNode not initialized - traversing nodes in wrong order? - [`KT-76344`](https://youtrack.jetbrains.com/issue/KT-76344) Drop language version 1.9 for non-JVM platforms - [`KT-76343`](https://youtrack.jetbrains.com/issue/KT-76343) Drop language version 1.8 - [`KT-80330`](https://youtrack.jetbrains.com/issue/KT-80330) K2: NPE at org.jetbrains.kotlin.fir.resolve.calls.FirCallResolver.createResolvedNamedReference - [`KT-80400`](https://youtrack.jetbrains.com/issue/KT-80400) K2: AbstractMethodError on fun interface implementation inheriting from an interface compiled with -jvm-default=disable - [`KT-9111`](https://youtrack.jetbrains.com/issue/KT-9111) Improve diagnostic for call with access to outer class from nested class - [`KT-78280`](https://youtrack.jetbrains.com/issue/KT-78280) Implement the sourceless `KtDiagnostic`s - [`KT-74999`](https://youtrack.jetbrains.com/issue/KT-74999) K2: KotlinNothingValueException within Extension Function - [`KT-81254`](https://youtrack.jetbrains.com/issue/KT-81254) "AssertionError: There should be at least one non-stub type to compute common supertype": Parser issue during generic type inference - [`KT-53237`](https://youtrack.jetbrains.com/issue/KT-53237) NI: Frontend ignores generic bound when inferring types - [`KT-81186`](https://youtrack.jetbrains.com/issue/KT-81186) Only allow local type aliases in REPL/scripts until full stabilization - [`KT-80929`](https://youtrack.jetbrains.com/issue/KT-80929) IC Native: Undefined symbols on ktor - [`KT-81657`](https://youtrack.jetbrains.com/issue/KT-81657) K2: put warning about "exposing package-private in internal" under experimental language feature - [`KT-81241`](https://youtrack.jetbrains.com/issue/KT-81241) Konanc exit while lowering org.jetbrains.kotlin.ir.util.IrUtilsKt.remapTypeParameters - [`KT-74819`](https://youtrack.jetbrains.com/issue/KT-74819) K2: False-positive overload resolution ambiguity for flatMap inside PCLA - [`KT-81547`](https://youtrack.jetbrains.com/issue/KT-81547) Stabilize DFA-based exhaustiveness - [`KT-79274`](https://youtrack.jetbrains.com/issue/KT-79274) Frontend implementation of name-based destructuring - [`KT-79506`](https://youtrack.jetbrains.com/issue/KT-79506) Contract for getter and setter doesn't work if a property is called from another module - [`KT-58988`](https://youtrack.jetbrains.com/issue/KT-58988) K2: Deprecate exposing package-private parameter of internal method - [`KT-80711`](https://youtrack.jetbrains.com/issue/KT-80711) IC Native: NPE during link on ktor - [`KT-77727`](https://youtrack.jetbrains.com/issue/KT-77727) Move some of the extra checkers to the default list - [`KT-76136`](https://youtrack.jetbrains.com/issue/KT-76136) Switch latest stable version in Kotlin project to 2.3 - [`KT-81257`](https://youtrack.jetbrains.com/issue/KT-81257) Native: "Unexpected boolean predicate" when generating 'static\_cache' - [`KT-81525`](https://youtrack.jetbrains.com/issue/KT-81525) Report REDUNDANT\_SPREAD\_OPERATOR on (\*) instead of argument expression - [`KT-81522`](https://youtrack.jetbrains.com/issue/KT-81522) Fix Light Tree `SPREAD_OPERATOR` diagnostic positioning - [`KT-77008`](https://youtrack.jetbrains.com/issue/KT-77008) K2: Incorrectly force casting to a wrong type - [`KT-78127`](https://youtrack.jetbrains.com/issue/KT-78127) K2: Too precise inference for if/when with expected type in assignment - [`KT-80208`](https://youtrack.jetbrains.com/issue/KT-80208) K2: ClassCastException: "class java.util.ArrayList cannot be cast to class java.lang.Void" type inference picks Void for generic function - [`KT-75797`](https://youtrack.jetbrains.com/issue/KT-75797) Native: find a way to handle generates C bridges in inline functions - [`KT-78819`](https://youtrack.jetbrains.com/issue/KT-78819) K2: False positive ABSTRACT\_MEMBER\_NOT\_IMPLEMENTED in KJK hierarchy - [`KT-80003`](https://youtrack.jetbrains.com/issue/KT-80003) Kotlin/Native: deprecate eager GlobalData initialization - [`KT-79231`](https://youtrack.jetbrains.com/issue/KT-79231) Inconsistent InnerClass entry flags for abstract inner enum - [`KT-20677`](https://youtrack.jetbrains.com/issue/KT-20677) Improve diagnostic about implicit default constructor absence for expected annotation class - [`KT-81385`](https://youtrack.jetbrains.com/issue/KT-81385) Missing error of nullable expression in class literal in case of reified type parameter - [`KT-81251`](https://youtrack.jetbrains.com/issue/KT-81251) Smartcast doesn't work for an effectively private inline function - [`KT-81245`](https://youtrack.jetbrains.com/issue/KT-81245) Automatic smart cast on properties with EBF is allowed on inlined property accessors - [`KT-81222`](https://youtrack.jetbrains.com/issue/KT-81222) Custom getter is allowed on a property with redundant EBF - [`KT-80795`](https://youtrack.jetbrains.com/issue/KT-80795) Wrong type cast is added for IMPLICIT\_COERCION\_TO\_UNIT - [`KT-81141`](https://youtrack.jetbrains.com/issue/KT-81141) Fix FirUnsupportedArrayLiteralChecker to forbid array literals inside non-annotation contexts - [`KT-81383`](https://youtrack.jetbrains.com/issue/KT-81383) Return type of anonymous function used as `run` argument is incorrectly inferred to `Nothing` - [`KT-80577`](https://youtrack.jetbrains.com/issue/KT-80577) "Return type mismatch" for self-referential types used as generic parameters - [`KT-75215`](https://youtrack.jetbrains.com/issue/KT-75215) KDoc: references from `@param` tag are rendered as plain text - [`KT-79887`](https://youtrack.jetbrains.com/issue/KT-79887) K2 Compiler Internal Error in 'FirFakeOverrideGenerator.checkStatusIsResolved' Method - [`KT-78125`](https://youtrack.jetbrains.com/issue/KT-78125) false-negative shadowed contextual overload warning on local declarations - [`KT-81198`](https://youtrack.jetbrains.com/issue/KT-81198) Move type and type parameter annotations from jvm\_metadata.proto to metadata.proto - [`KT-81057`](https://youtrack.jetbrains.com/issue/KT-81057) Wrong handling of boxing during redundant casts optimization - [`KT-81191`](https://youtrack.jetbrains.com/issue/KT-81191) K2: "null cannot be cast to non-null type ConeTypeParameterLookupTag" with invalid code - [`KT-80285`](https://youtrack.jetbrains.com/issue/KT-80285) IJ monorepo: broken compilation after 2.2.20-RC update - [`KT-81115`](https://youtrack.jetbrains.com/issue/KT-81115) Allow converting lambda with explicit parameter when assigning to variable of an extension function type - [`KT-74588`](https://youtrack.jetbrains.com/issue/KT-74588) Redundant checkNotNull intrinsics instructions for Java generic methods - [`KT-78390`](https://youtrack.jetbrains.com/issue/KT-78390) Unmute `FusStatisticsIT.testKotlinxPlugins()` after AtomicFU updates `kotlin-metadata-jvm` - [`KT-79369`](https://youtrack.jetbrains.com/issue/KT-79369) Forbid typealiasing for all compiler-required annotations - [`KT-69294`](https://youtrack.jetbrains.com/issue/KT-69294) K2: Report `CONSTRUCTOR_OR_SUPERTYPE_ON_TYPEALIAS_WITH_TYPE_PROJECTION_ERROR` instead of `EXPANDED_TYPE_CANNOT_BE_INHERITED` after switching to LV 2.2 - [`KT-81064`](https://youtrack.jetbrains.com/issue/KT-81064) Wrong safe call null check handling during redundant casts optimization - [`KT-80871`](https://youtrack.jetbrains.com/issue/KT-80871) StackOverflowError on AnnotationTarget.TYPE - [`KT-80908`](https://youtrack.jetbrains.com/issue/KT-80908) K2: Compiling type annotation with self-annotated vararg fail with exception - [`KT-81018`](https://youtrack.jetbrains.com/issue/KT-81018) ISE "IR class for Foo not found" on missing dependency when lowering SAM constructor - [`KT-80936`](https://youtrack.jetbrains.com/issue/KT-80936) NON\_PUBLIC\_CALL\_FROM\_PUBLIC\_INLINE : `@PublishedApi` doesn't work for fun interfaces - [`KT-75748`](https://youtrack.jetbrains.com/issue/KT-75748) StackOverflowError when reading array from metadata annotations - [`KT-80606`](https://youtrack.jetbrains.com/issue/KT-80606) KotlinIllegalArgumentExceptionWithAttachments when using property itself in explicit backing field initialization - [`KT-80940`](https://youtrack.jetbrains.com/issue/KT-80940) K2: Exception in FIR2IR with AnnotationTarget.TYPE with self-annotated non-vararg default argument and usage in child module - [`KT-80538`](https://youtrack.jetbrains.com/issue/KT-80538) KaFirDiagnostic.EmptyRange doesn't work in most of the cases - [`KT-80524`](https://youtrack.jetbrains.com/issue/KT-80524) Class is not abstract and does not implement abstract member when compiling with kotlinc-jklib - [`KT-80597`](https://youtrack.jetbrains.com/issue/KT-80597) Apply fix for CVE-2024-7254 to our fork of protobuf 2.6.1 - [`KT-80849`](https://youtrack.jetbrains.com/issue/KT-80849) K2: `ConstValueProviderImpl` doesn't distinguish files with same name and package - [`KT-80602`](https://youtrack.jetbrains.com/issue/KT-80602) Exhaustiveness checker improvements for 2.3 - [`KT-80735`](https://youtrack.jetbrains.com/issue/KT-80735) Support || return/throw shortcut in unsed return value checker - [`KT-79651`](https://youtrack.jetbrains.com/issue/KT-79651) Report a warning about an unused return value only on the function name - [`KT-80719`](https://youtrack.jetbrains.com/issue/KT-80719) False positive: "Redundant visibility modifier": when overriding protected methods as "public" - [`KT-80434`](https://youtrack.jetbrains.com/issue/KT-80434) K2: DSL marker doesn't work with lambda fields - [`KT-80383`](https://youtrack.jetbrains.com/issue/KT-80383) Getter without a body is allowed on a property with an explicit backing field - [`KT-80446`](https://youtrack.jetbrains.com/issue/KT-80446) Explicit visibility modifiers are allowed on EBF - [`KT-80378`](https://youtrack.jetbrains.com/issue/KT-80378) ClassCastException on callable reference to a property with EBF - [`KT-80377`](https://youtrack.jetbrains.com/issue/KT-80377) Fir2Ir: "Cannot determine expected receiver type" for callable reference to a property with EBF outside of class - [`KT-80455`](https://youtrack.jetbrains.com/issue/KT-80455) K2: StackOverflowError in when exhaustiveness checker on red code - [`KT-72862`](https://youtrack.jetbrains.com/issue/KT-72862) \[Native caches] Umbrella for failing codegen/box tests for corner cases in synthetic accessors - [`KT-20278`](https://youtrack.jetbrains.com/issue/KT-20278) NO\_TYPE\_ARGUMENTS\_ON\_RHS: Confusing diagnostic for inner class of generic outer class - [`KT-80418`](https://youtrack.jetbrains.com/issue/KT-80418) Property with EBF with functional type isn't resolved if its type is Any - [`KT-80469`](https://youtrack.jetbrains.com/issue/KT-80469) Functional type from property is always used for explicit backing field - [`KT-80535`](https://youtrack.jetbrains.com/issue/KT-80535) Missing INITIALIZER\_TYPE\_MISMATCH for EBF - [`KT-80445`](https://youtrack.jetbrains.com/issue/KT-80445) Private visibility is possible for a property with EBF - [`KT-80164`](https://youtrack.jetbrains.com/issue/KT-80164) Move name generation for unnamed context parameters to frontend - [`KT-80684`](https://youtrack.jetbrains.com/issue/KT-80684) Line breaks are lost in multi-line diagnostic messages since 2.3.0 - [`KT-78112`](https://youtrack.jetbrains.com/issue/KT-78112) RETURN\_VALUE\_NOT\_USED is reported for local function even if it isn't marked with annotation in CHECKER mode - [`KT-48311`](https://youtrack.jetbrains.com/issue/KT-48311) Incorrect LINENUMBER after if with a suspend call - [`KT-80688`](https://youtrack.jetbrains.com/issue/KT-80688) Bad SourceDebugExtension caused by enhanced coroutines debugging - [`KT-73851`](https://youtrack.jetbrains.com/issue/KT-73851) Native: compilation fails with ClassCastException with genericSafeCasts=true - [`KT-77593`](https://youtrack.jetbrains.com/issue/KT-77593) Add a warning when `@IgnorableReturnValue` is inconsistent between expect/actual functions - [`KT-79386`](https://youtrack.jetbrains.com/issue/KT-79386) Confusing error message when named parameters are used for java method calls - [`KT-80600`](https://youtrack.jetbrains.com/issue/KT-80600) K2: Private and final modifiers are allowed on setter of open delegated property - [`KT-77101`](https://youtrack.jetbrains.com/issue/KT-77101) Invoke on callable reference is considered ignorable - [`KT-79923`](https://youtrack.jetbrains.com/issue/KT-79923) Remove lookup of `@IgnorableReturnValue` annotation from FirReturnValueOverrideChecker - [`KT-80517`](https://youtrack.jetbrains.com/issue/KT-80517) Synthetic kotlin.Any members in data classes are missing `@MustUseReturnValue` - [`KT-80194`](https://youtrack.jetbrains.com/issue/KT-80194) VAR\_TYPE\_MISMATCH\_ON\_OVERRIDE: doesn't mention the inferred type - [`KT-80484`](https://youtrack.jetbrains.com/issue/KT-80484) K2: ClassCastException due to fake source for implicit lambda parameter (RedundantNullableChecker) - [`KT-80592`](https://youtrack.jetbrains.com/issue/KT-80592) `UninitializedPropertyAccessException` when anayzing annotations on members of anonymous classes - [`KT-80399`](https://youtrack.jetbrains.com/issue/KT-80399) Anonymous Kotlin class incorrectly warns about deprecated java override despite '`@Deprecated`' annotation - [`KT-79610`](https://youtrack.jetbrains.com/issue/KT-79610) Adding CocoaPod to Kotlin/Native MPP triggers IR serialization failure and commonizer errors - [`KT-79951`](https://youtrack.jetbrains.com/issue/KT-79951) Infinite loop in parsing incomplete full form destructuring - [`KT-79866`](https://youtrack.jetbrains.com/issue/KT-79866) kotlinc 2.2.0 silently emits 'NonExistentClass' instead of reporting an error - [`KT-79777`](https://youtrack.jetbrains.com/issue/KT-79777) Argument type mismatch on value of complex type with a captured raw type argument - [`KT-78664`](https://youtrack.jetbrains.com/issue/KT-78664) False positive VARIABLE\_NEVER\_READ and ASSIGNED\_VALUE\_IS\_NEVER\_READ on function type variable with splited declaration and assignment - [`KT-79496`](https://youtrack.jetbrains.com/issue/KT-79496) False positive "when must be exhaustive" in triangle interface/class hierarchy - [`KT-79774`](https://youtrack.jetbrains.com/issue/KT-79774) KtDestructuringDeclaration.getLPar & getRPar are broken - [`KT-80391`](https://youtrack.jetbrains.com/issue/KT-80391) K2: Only one context parameter is mentioned in the \[NO\_CONTEXT\_ARGUMENT] diagnostic - [`KT-79785`](https://youtrack.jetbrains.com/issue/KT-79785) ktypew:kotlin.collections.List already exists error using Swift Export - [`KT-78879`](https://youtrack.jetbrains.com/issue/KT-78879) "Sealed types cannot be instantiated": Can't instantiate Java-defined sealed Class from Kotlin - [`KT-21598`](https://youtrack.jetbrains.com/issue/KT-21598) Extension is shadowed by member should not be reported when member is deprecated with HIDDEN level - [`KT-79622`](https://youtrack.jetbrains.com/issue/KT-79622) FUNCTION\_EXPECTED: Misleading 'expression cannot be invoked as a function' when inaccessible with private lambda - [`KT-80255`](https://youtrack.jetbrains.com/issue/KT-80255) \[EXTENSION\_FUNCTION\_IN\_EXTERNAL\_DECLARATION] can be attached to the receiver type of a functional type - [`KT-79816`](https://youtrack.jetbrains.com/issue/KT-79816) Java Interfaces implemented by delegation have non-null return checks - [`KT-80177`](https://youtrack.jetbrains.com/issue/KT-80177) Improve message of RECEIVER\_SHADOWED\_BY\_CONTEXT\_PARAMETER in case of member extension - [`KT-79770`](https://youtrack.jetbrains.com/issue/KT-79770) There is no RECEIVER\_SHADOWED\_BY\_CONTEXT\_PARAMETER if the usage of fun is from inside the class - [`KT-79430`](https://youtrack.jetbrains.com/issue/KT-79430) False positive EXTENSION\_SHADOWED\_BY\_MEMBER on overridden member extension - [`KT-62934`](https://youtrack.jetbrains.com/issue/KT-62934) Incorrect line mapping inside inline lambda after non-local return - [`KT-79545`](https://youtrack.jetbrains.com/issue/KT-79545) K2: no error on crossinline lambda usage in anonymous object base constructor call - [`KT-79643`](https://youtrack.jetbrains.com/issue/KT-79643) HAS\_NEXT\_FUNCTION\_AMBIGUITY and NEXT\_AMBIGUITY diagnostics are always ignored in favor of HAS\_NEXT\_FUNCTION\_NONE\_APPLICABLE and NEXT\_NONE\_APPLICABLE - [`KT-79327`](https://youtrack.jetbrains.com/issue/KT-79327) Modifier 'private' is not applicable to 'value parameter' is reported for context parameters - [`KT-76453`](https://youtrack.jetbrains.com/issue/KT-76453) K2 IDE: autocomplete freeze - [`KT-77182`](https://youtrack.jetbrains.com/issue/KT-77182) A function in a file annotated with `@file`:MustUseReturnValue doesn't produce a warning when it is used from compiled code - [`KT-78541`](https://youtrack.jetbrains.com/issue/KT-78541) Jspecify: Unsound platform type despite `@NullMarked` for an override with a generic-subclass return type - [`KT-79672`](https://youtrack.jetbrains.com/issue/KT-79672) 'when expression must be exhaustive' even after using 'require()' - [`KT-71306`](https://youtrack.jetbrains.com/issue/KT-71306) K2 IDE / Kotlin Debugger: “Cannot find local variable 'block' with type kotlin.jvm.functions.Function0” on evaluating lambda arg inside inline function - [`KT-76991`](https://youtrack.jetbrains.com/issue/KT-76991) K2 IDE / Kotlin Debugger: ISE “Couldn't find declaration file for” on evaluating local fun when the scope has also inline fun from another file call - [`KT-79877`](https://youtrack.jetbrains.com/issue/KT-79877) K2 IDE / Kotlin Debugger: failed evaluations of a code fragment capturing local data class - [`KT-77401`](https://youtrack.jetbrains.com/issue/KT-77401) \[FIR] `ParameterNameTypeAttribute.name` doesn't support `@ParameterName` with compile-time constant property argument - [`KT-79682`](https://youtrack.jetbrains.com/issue/KT-79682) Fix partially uninitialized locals after coroutine spills insertion - [`KT-79562`](https://youtrack.jetbrains.com/issue/KT-79562) NPE when passing non-lambda argument of nullable non-suspend function type into function that accepts nullable suspend function type - [`KT-79693`](https://youtrack.jetbrains.com/issue/KT-79693) NotImplementedError: An operation is not implemented: Unknown file with KMP separate compilation - [`KT-79662`](https://youtrack.jetbrains.com/issue/KT-79662) Unused return value checker doesn't work for com.google.errorprone.annotations.CheckReturnValue - [`KT-79781`](https://youtrack.jetbrains.com/issue/KT-79781) Missing MISSING\_DEPENDENCY\_CLASS when using type alias with inaccessible RHS - [`KT-77772`](https://youtrack.jetbrains.com/issue/KT-77772) Only report exposed type on qualifier if it's resolved to an object - [`KT-79765`](https://youtrack.jetbrains.com/issue/KT-79765) K2. Do not report ignore return value for unresolved reference - [`KT-79017`](https://youtrack.jetbrains.com/issue/KT-79017) False negative REDECLARATION on private nested class - [`KT-79519`](https://youtrack.jetbrains.com/issue/KT-79519) Nested type alias is unreachable from another module - [`KT-72039`](https://youtrack.jetbrains.com/issue/KT-72039) StackOverflowError on calling keySet on a Kotlin subclass of Java subclass of ConcurrentHashMap - [`KT-75843`](https://youtrack.jetbrains.com/issue/KT-75843) K2: incorrect line numbers in an if-expression with a super-call - [`KT-77504`](https://youtrack.jetbrains.com/issue/KT-77504) Add a warning when `@IgnorableReturnValue` is inconsistent on overrides - [`KT-78389`](https://youtrack.jetbrains.com/issue/KT-78389) Perform version 2.3 boostrapping - [`KT-79092`](https://youtrack.jetbrains.com/issue/KT-79092) Crash on default argument in function in fun interface - [`KT-77729`](https://youtrack.jetbrains.com/issue/KT-77729) Package-level `@NullMarked` does not work when kotlinc sees .java *source* files - [`KT-79013`](https://youtrack.jetbrains.com/issue/KT-79013) False negative `NOT_YET_SUPPORTED_IN_INLINE` on inline local functions inside inline functions - [`KT-79139`](https://youtrack.jetbrains.com/issue/KT-79139) False positive CONFLICTING\_OVERLOADS for context parameters instead of receivers - [`KT-35305`](https://youtrack.jetbrains.com/issue/KT-35305) Address the overload conflict resolution between unsigned and non-primitive types - [`KT-42096`](https://youtrack.jetbrains.com/issue/KT-42096) No diagnostic reported on `inline` modifier on an enum entry - [`KT-79355`](https://youtrack.jetbrains.com/issue/KT-79355) Failed to fix the problem of desugared `inc` with new reverse implies returns contract - [`KT-79277`](https://youtrack.jetbrains.com/issue/KT-79277) Implies returns contract doesn't affect the return type of the function if it is in the argument position - [`KT-79271`](https://youtrack.jetbrains.com/issue/KT-79271) Implies returns contract doesn't impact exhaustiveness - [`KT-79218`](https://youtrack.jetbrains.com/issue/KT-79218) SMARTCAST\_IMPOSSIBLE for top‑level extension‑property getter despite returnsNotNull contract - [`KT-79220`](https://youtrack.jetbrains.com/issue/KT-79220) returnsNotNull contract ignored on extension function with nullable receiver - [`KT-79354`](https://youtrack.jetbrains.com/issue/KT-79354) IllegalStateException: Debug metadata version mismatch. Expected: 1, got 2 with compiler 2.2.20-Beta1 and stdlib 2.2.0 - [`KT-77986`](https://youtrack.jetbrains.com/issue/KT-77986) K2: False negative: "Local classes are not yet supported in inline functions" - [`KT-79456`](https://youtrack.jetbrains.com/issue/KT-79456) Redeclaration conflict checks of private top-level classifiers rely on an incorrect containing file - [`KT-79125`](https://youtrack.jetbrains.com/issue/KT-79125) RVC full mode: delegated interfaces are not checked - [`KT-63720`](https://youtrack.jetbrains.com/issue/KT-63720) Coroutine debugger: do not optimise out local variables - [`KT-78595`](https://youtrack.jetbrains.com/issue/KT-78595) type variable leak on a generic property as a call argument given an unstable smart cast - [`KT-79076`](https://youtrack.jetbrains.com/issue/KT-79076) 'IllegalStateException: Cannot serialize error type: ERROR CLASS: Uninferred type' with Exposed column using recursive generic type - [`KT-59807`](https://youtrack.jetbrains.com/issue/KT-59807) K2: Replicate the MUST\_BE\_LATEINIT logic from K1 - [`KT-76782`](https://youtrack.jetbrains.com/issue/KT-76782) K2: Incorrect resolve into unrelated invoke operator with wrong diagnostic - [`KT-78066`](https://youtrack.jetbrains.com/issue/KT-78066) TYPE\_PARAMETER\_OF\_PROPERTY\_NOT\_USED\_IN\_RECEIVER error message does not account for context parameters - [`KT-76065`](https://youtrack.jetbrains.com/issue/KT-76065) Drop JavaTypeParameterDefaultRepresentationWithDNN feature - [`KT-77808`](https://youtrack.jetbrains.com/issue/KT-77808) Inference: recheck the code about DNN-related hacks - [`KT-24202`](https://youtrack.jetbrains.com/issue/KT-24202) NOTHING\_TO\_OVERRIDE if super-class reference misses generic arguments - [`KT-78909`](https://youtrack.jetbrains.com/issue/KT-78909) K2: Missing diagnostics \[CYCLIC\_INHERITANCE\_HIERARCHY] for recursive class inheritance leads to StackOverflowError - [`KT-75969`](https://youtrack.jetbrains.com/issue/KT-75969) java.lang.IllegalArgumentException: source must not be null on red code - [`KT-76902`](https://youtrack.jetbrains.com/issue/KT-76902) Omit type-use annotations from diagnostics - [`KT-17460`](https://youtrack.jetbrains.com/issue/KT-17460) Diagnostics and intention on suspend function that is overriden with non-suspend one. - [`KT-56665`](https://youtrack.jetbrains.com/issue/KT-56665) K2: false positive RECURSIVE\_TYPEALIAS\_EXPANSION - [`KT-78932`](https://youtrack.jetbrains.com/issue/KT-78932) Contracts are allowed for open and overridden property accessors - [`KT-77203`](https://youtrack.jetbrains.com/issue/KT-77203) FIR: Consider adding destructured type to all COMPONENT\_FUNCTION\_\* diagnostics - [`KT-77685`](https://youtrack.jetbrains.com/issue/KT-77685) "IllegalArgumentException: Sequence contains more than one matching element" - [`KT-78452`](https://youtrack.jetbrains.com/issue/KT-78452) Drop redundant frontend structures after fir2ir conversion - [`KT-70507`](https://youtrack.jetbrains.com/issue/KT-70507) Should parentheses prevent from plus/set operator desugaring? ##### Compose compiler ##### New features - [`98d3907`](https://github.com/JetBrains/kotlin/commit/98d39077a9b19c1e6c112dc59982175095ac9f41) Introduce a compose group analysis module that produces a proguard/R8 mapping from group keys in bytecode. ##### Fixes - [`b/419049140`](https://issuetracker.google.com/issues/419049140) Disabled memoization in `try` blocks - [`KT-81081`](https://youtrack.jetbrains.com/issue/KT-81081) Generate Compose-specific proguard mappings when Compose compiler plugin is applied. - [`b/431025881`](https://issuetracker.google.com/issues/431025881) \[Compose] Clean up runtime version checker - [`b/365922168`](https://issuetracker.google.com/issues/365922168) Add `java.util.Locale` to the list of known stable classes - [`b/407549020`](https://issuetracker.google.com/issues/407549020) Introduce a registry of known stable markers - [`b/417989445`](https://issuetracker.google.com/issues/417989445) Added a diagnostic to restrict usages of `runCatching` in `@Composable` functions - [`KT-80294`](https://youtrack.jetbrains.com/issue/KT-80294) Fix crash with inline `@Composable` function reference - [`b/430140896`](https://issuetracker.google.com/issues/430140896) Fix IrSourcePrinter output for when branch check and typechecks - [`CMP-9167`](https://youtrack.jetbrains.com/issue/CMP-9167) iOS: Platform declaration clash: The following functions have the same IR signature ##### IDE. Gradle Integration - [`KT-46273`](https://youtrack.jetbrains.com/issue/KT-46273) MPP: Don't fail import for case of missed platform in source set structure - [`KT-46417`](https://youtrack.jetbrains.com/issue/KT-46417) \[UNRESOLVED\_REFERENCE] For project to project dependencies of native platform test source sets - [`KT-44845`](https://youtrack.jetbrains.com/issue/KT-44845) After update to Kotlin 1.4.30 all external dependencies is unresolved in IDE with kotlin.mpp.enableGranularSourceSetsMetadata=true - [`KT-46142`](https://youtrack.jetbrains.com/issue/KT-46142) K/N distribution is unavailable from IDE with multiplatform hierarchical project structure enabled ##### IR. Actualizer - [`KT-77337`](https://youtrack.jetbrains.com/issue/KT-77337) `IrNoExpectSymbolsHandler` finds expect class reference after enabling annotation traversal in IR - [`KT-80002`](https://youtrack.jetbrains.com/issue/KT-80002) Investigate the need for map copying in IrCommonToPlatformDependencyExtractor.kt - [`KT-80131`](https://youtrack.jetbrains.com/issue/KT-80131) KMP Separate Compilation: No override for FUN IR\_EXTERNAL\_DECLARATION\_STUB name:<get-size> - [`KT-80064`](https://youtrack.jetbrains.com/issue/KT-80064) KMP Separate Compilation: ClassCastException: class org.jetbrains.kotlin.ir.symbols.impl.IrTypeAliasSymbolImpl cannot be cast to class org.jetbrains.kotlin.ir.symbols.IrClassSymbol - [`KT-80051`](https://youtrack.jetbrains.com/issue/KT-80051) KMP Separate Compilation: Actualization of common dependencies failed on 'PROPERTY FAKE\_OVERRIDE name:modCount visibility:protected modality:FINAL \[fake\_override,var]' - [`KT-79998`](https://youtrack.jetbrains.com/issue/KT-79998) KMP Separate Compilation: java.lang.IllegalStateException: No override for FUN IR\_EXTERNAL\_DECLARATION\_STUB name:<get-message> ##### IR. Inlining ##### New Features - [`KT-70360`](https://youtrack.jetbrains.com/issue/KT-70360) KLIBs: Uniformly handle`typeOf()` calls at 1st/2nd stages of compilation ##### Performance Improvements - [`KT-69497`](https://youtrack.jetbrains.com/issue/KT-69497) Crossinline lambda is allocated on K/N & JS ##### Fixes - [`KT-78673`](https://youtrack.jetbrains.com/issue/KT-78673) Make fakeOverrideLocalGenericBase not using red code - [`KT-78537`](https://youtrack.jetbrains.com/issue/KT-78537) \[Inliner] Incorrect KFunction.name of a reference to inlined local function - [`KT-74892`](https://youtrack.jetbrains.com/issue/KT-74892) Investigate passing inline lambda as argument of another inline function - [`KT-81673`](https://youtrack.jetbrains.com/issue/KT-81673) False warnings about ABI change in dependencies in library mode in 2.3.0-Beta1 - [`KT-81713`](https://youtrack.jetbrains.com/issue/KT-81713) \[Inliner] Compilation of inline function with recursive call applied to TODO() fails with an internal error - [`KT-80653`](https://youtrack.jetbrains.com/issue/KT-80653) \[IR Inliner] Space: "Local declarations should've been popped out by this point" - [`KT-78392`](https://youtrack.jetbrains.com/issue/KT-78392) CommonPrefix: Add a way of stopping execution when one of the phases is unsuccessful - [`KT-80927`](https://youtrack.jetbrains.com/issue/KT-80927) \[Native] Review intrinsics with PublishedApi - [`KT-81070`](https://youtrack.jetbrains.com/issue/KT-81070) \[Inliner] kotlin/Any is unbound - [`KT-80628`](https://youtrack.jetbrains.com/issue/KT-80628) KLIB inliner: Not enough information about the "full" mode - [`KT-69516`](https://youtrack.jetbrains.com/issue/KT-69516) Double-inlining for Native: Enable visibility checks after 1st phase of inlining - [`KT-79334`](https://youtrack.jetbrains.com/issue/KT-79334) Unify intrinsics used on 1st phase of IR inliner in KLIB-based compilers - [`KT-80610`](https://youtrack.jetbrains.com/issue/KT-80610) KLIB inliner: Always apply cross-module inlining to pre-processed inline functions - [`KT-80565`](https://youtrack.jetbrains.com/issue/KT-80565) KLIB Inliner: Add a special annotation to prohibit inlining of marked inline functions in stdlib on 1st compilation phase - [`KT-80883`](https://youtrack.jetbrains.com/issue/KT-80883) \[Inliner] Run pre-serialization lowerings in all testrunners - [`KT-77876`](https://youtrack.jetbrains.com/issue/KT-77876) IrVisibilityChecker: Different set of exceptions for 1st and 2nd compilation stages - [`KT-80693`](https://youtrack.jetbrains.com/issue/KT-80693) \[IC] Split IC invalidation tests for cross-module IR Inliner - [`KT-79718`](https://youtrack.jetbrains.com/issue/KT-79718) KLIB inliner: Emit warning on generation of `public` synthetic accessor when running in "explicit API mode" - [`KT-80226`](https://youtrack.jetbrains.com/issue/KT-80226) \[IR Inliner] Generate constructor accessors as constructors, not static functions - [`KT-80692`](https://youtrack.jetbrains.com/issue/KT-80692) \[IC] Split IC invalidation tests for intra-module IR Inliner - [`KT-77103`](https://youtrack.jetbrains.com/issue/KT-77103) \[Inliner] IrLocalDelegatedProperty was not serialized, while its symbol and IrRichPropertyReference were. - [`KT-80537`](https://youtrack.jetbrains.com/issue/KT-80537) The expected error is not emitted from FirJsKlibSyntheticAccessorsTestGenerated and NativeKlibSyntheticAccessorsTestGenerated - [`KT-78903`](https://youtrack.jetbrains.com/issue/KT-78903) Unify `codegen/boxInline` tests with `codegen/box` - [`KT-78989`](https://youtrack.jetbrains.com/issue/KT-78989) Add missing PL tests for inline functions/property accessors - [`KT-79771`](https://youtrack.jetbrains.com/issue/KT-79771) kotlinx-coroutines-core: Public synthetic accessor generated with enabled KLIB IR inliner - [`KT-79680`](https://youtrack.jetbrains.com/issue/KT-79680) `IrConstructorSymbolImpl is unbound` in lambdaWithoutNonLocalControlflow\.kt - [`KT-70849`](https://youtrack.jetbrains.com/issue/KT-70849) Ensure correct debug info for intra-module IR inlining on the first compilation phase - [`KT-79800`](https://youtrack.jetbrains.com/issue/KT-79800) JS BE errors with default values when IR inliner is enabled - [`KT-79352`](https://youtrack.jetbrains.com/issue/KT-79352) Remove excessive validations from `ValidateAfterAll...` on the first stage - [`KT-76599`](https://youtrack.jetbrains.com/issue/KT-76599) Migrate `IrValidationAfterInliningAllFunctionsPhase` to the first stage of compilation - [`KT-78245`](https://youtrack.jetbrains.com/issue/KT-78245) Synthetic Accessors incorrectly copies default values - [`KT-72594`](https://youtrack.jetbrains.com/issue/KT-72594) \[JS]\[Native] Add IrInliningFacade to test runners ##### IR. Interpreter - [`KT-72356`](https://youtrack.jetbrains.com/issue/KT-72356) K2 Native: IllegalStateException when annotation has the same source range as a constant in another file - [`KT-72881`](https://youtrack.jetbrains.com/issue/KT-72881) K2: incorrect empty array as annotation argument when parameter has default value ##### IR. Tree ##### Fixes - [`KT-79371`](https://youtrack.jetbrains.com/issue/KT-79371) Fix handling of broken SAM conversion in PL with enabled Rich References - [`KT-81952`](https://youtrack.jetbrains.com/issue/KT-81952) "IllegalStateException: Callable reference with vararg should not appear at this stage" for callable references to functions with generic vararg parameters - [`KT-79739`](https://youtrack.jetbrains.com/issue/KT-79739) Static synthetic accessors inside generic classes access its type parameters - [`KT-78100`](https://youtrack.jetbrains.com/issue/KT-78100) Track and annotate internal annotations with `@PublishedApi` to enable annotation visibility validation - [`KT-80825`](https://youtrack.jetbrains.com/issue/KT-80825) Drop `IrSerializationSettings.reuseExistingSignaturesForSymbols` setting - [`KT-79807`](https://youtrack.jetbrains.com/issue/KT-79807) Broken IR tree invariants in IrReplSnippet after FIR2IR - [`KT-77819`](https://youtrack.jetbrains.com/issue/KT-77819) \[IR] Fine-tune IrValidator's run after Fir2IR and IR plugins - [`KT-70160`](https://youtrack.jetbrains.com/issue/KT-70160) Remove IrDeclaration.parents after Anvil update - [`KT-80454`](https://youtrack.jetbrains.com/issue/KT-80454) LocalDeclarationsLowering: Clean-up the dead code - [`KT-80819`](https://youtrack.jetbrains.com/issue/KT-80819) Rework IrFileValidator to use Hashmap instead of ClassValue - [`KT-80516`](https://youtrack.jetbrains.com/issue/KT-80516) Kotlin-like IR dump: Don't render tailrec as lateinit - [`KT-78856`](https://youtrack.jetbrains.com/issue/KT-78856) Refactor LocalDeclarationsLowering to split it in smaller parts - [`KT-79439`](https://youtrack.jetbrains.com/issue/KT-79439) KLIB stdlib symbols loading: Split the result of merging of IrBuiltins with BuiltinSymbolsBase hierarchy into two parts (for 1st & 2nd phases) - [`KT-79437`](https://youtrack.jetbrains.com/issue/KT-79437) KLIB stdlib symbols loading: Drop loading functions from IrBuiltins and migrate usages to SymbolFinder functions and lazy filtering - [`KT-79569`](https://youtrack.jetbrains.com/issue/KT-79569) Unexpected error during DFG phase in Native due to PL issue with SAM conversion represented by rich reference - [`KT-76601`](https://youtrack.jetbrains.com/issue/KT-76601) IrValidatorConfig should have all checks disabled by default - [`KT-69662`](https://youtrack.jetbrains.com/issue/KT-69662) Deduplicate function `createTemporaryVariable` - [`KT-79440`](https://youtrack.jetbrains.com/issue/KT-79440) KLIB stdlib symbols loading: Drop BuiltinSymbolsBase from plugin API - [`KT-78960`](https://youtrack.jetbrains.com/issue/KT-78960) \[FO] Limit static fake overrides generation for static functions - [`KT-76813`](https://youtrack.jetbrains.com/issue/KT-76813) IR validator: not all symbols/references are visited ##### JVM. Reflection - [`KT-79020`](https://youtrack.jetbrains.com/issue/KT-79020) Suspend lambdas return type is shown as ??? in reflection - [`KT-81967`](https://youtrack.jetbrains.com/issue/KT-81967) isSubtypeOf: ClassCastException: CapturedKType cannot be cast to class AbstractKType - [`KT-76521`](https://youtrack.jetbrains.com/issue/KT-76521) Reflection: change KType representation to avoid dependency on K1 - [`KT-81619`](https://youtrack.jetbrains.com/issue/KT-81619) Reflection: Function supertype of a FunctionN class has flexible type in new implementation - [`KT-74529`](https://youtrack.jetbrains.com/issue/KT-74529) Context parameters support in reflection - [`KT-80901`](https://youtrack.jetbrains.com/issue/KT-80901) Reflection: incorrect translation of raw types in the new implementation - [`KT-74624`](https://youtrack.jetbrains.com/issue/KT-74624) Reflection: KClassifier.createType(...) ignores annotations parameter - [`KT-80203`](https://youtrack.jetbrains.com/issue/KT-80203) Reflection: provide a way to use legacy K1-based implementation - [`KT-80236`](https://youtrack.jetbrains.com/issue/KT-80236) Reflection: KType.toString for raw types no longer renders "(raw)" - [`KT-79206`](https://youtrack.jetbrains.com/issue/KT-79206) Reflection: suspend functional type classifier is null ##### JavaScript ##### New Features - [`KT-80401`](https://youtrack.jetbrains.com/issue/KT-80401) Kotlin/JS support for `default export` in generated JavaScript - [`KT-79284`](https://youtrack.jetbrains.com/issue/KT-79284) Use BigInt64Array for LongArray - [`KT-79222`](https://youtrack.jetbrains.com/issue/KT-79222) K/JS: Allow using Long in exported declarations - [`KT-79394`](https://youtrack.jetbrains.com/issue/KT-79394) Add the possibility to write common external declarations between JS and WasmJS targets ##### Performance Improvements - [`KT-57128`](https://youtrack.jetbrains.com/issue/KT-57128) KJS: Use BigInt to represent Long values in ES6 mode ##### Fixes - [`KT-79928`](https://youtrack.jetbrains.com/issue/KT-79928) Allow JsModule/JsNonModule/JsQualifier invocation on per-entity level - [`KT-79514`](https://youtrack.jetbrains.com/issue/KT-79514) java.lang.IllegalStateException: IrClassSymbolImpl is unbound. Signature: kotlin.js/Promise|null\[0] on running jsBrowserTest - [`KT-82005`](https://youtrack.jetbrains.com/issue/KT-82005) KJS: "TypeError: callAgent.jsonRpcCall\_ij3z26\_k$ is not a function" after code change in 2.3.0-Beta1/2 - [`KT-79359`](https://youtrack.jetbrains.com/issue/KT-79359) Kotlin/JS: Suspending function doesn’t return Unit on es2015 - [`KT-79089`](https://youtrack.jetbrains.com/issue/KT-79089) KJS: Could not load reporter / Cannot find module 'mocha' when running jsNode tests - [`KT-56281`](https://youtrack.jetbrains.com/issue/KT-56281) KJS: Can't export suspend functions - [`KT-79926`](https://youtrack.jetbrains.com/issue/KT-79926) Wrong export of interfaces with companions with ES Modules - [`KT-80168`](https://youtrack.jetbrains.com/issue/KT-80168) Allow `@JsStatic` inside interface companions - [`KT-70222`](https://youtrack.jetbrains.com/issue/KT-70222) Remove legacy JS BE-related CLI flags - [`KT-81424`](https://youtrack.jetbrains.com/issue/KT-81424) Kotlin/JS: Cannot Get / in a simple running application - [`KT-80873`](https://youtrack.jetbrains.com/issue/KT-80873) KJS: Stdlib requires ES2020-compatible JS engine due to BigInt type literal - [`KT-81066`](https://youtrack.jetbrains.com/issue/KT-81066) Wasm, JS: Remove redundant logging in compiler output - [`KT-72833`](https://youtrack.jetbrains.com/issue/KT-72833) KJS: Source maps have incorrect sources paths in `per-file` - [`KT-74055`](https://youtrack.jetbrains.com/issue/KT-74055) KJS: `@JsPlainObject` adds JS code even if marked interface is not used - [`KT-72474`](https://youtrack.jetbrains.com/issue/KT-72474) KJS: `@JsPlainObject` doesn't honour -XXLanguage:+JsAllowInvalidCharsIdentifiersEscaping - [`KT-79644`](https://youtrack.jetbrains.com/issue/KT-79644) BigInt enabled for ES 2015 despite being an ES 2020 feature - [`KT-52771`](https://youtrack.jetbrains.com/issue/KT-52771) KJS: Pair should be exported to JavaScript - [`KT-79704`](https://youtrack.jetbrains.com/issue/KT-79704) Unify variance rendering between JS and other backends - [`KT-69297`](https://youtrack.jetbrains.com/issue/KT-69297) Deprecate referencing inlineable lambdas in `js()` calls - [`KT-80086`](https://youtrack.jetbrains.com/issue/KT-80086) \[k/js] Resolving imported string literals - [`KT-79066`](https://youtrack.jetbrains.com/issue/KT-79066) \[Kotlin/JS] jsNodeTest fails with SyntaxError when a test file has `@file`:JsExport and useEsModules() is enabled - [`KT-77385`](https://youtrack.jetbrains.com/issue/KT-77385) Investigate partial linkage problems for JS HMPP tests - [`KT-79628`](https://youtrack.jetbrains.com/issue/KT-79628) Remove IR nodes from ExportModel - [`KT-79916`](https://youtrack.jetbrains.com/issue/KT-79916) K/JS: "Uncaught TypeError" when using 'Xes-long-as-bigint' in compose-html - [`KT-79050`](https://youtrack.jetbrains.com/issue/KT-79050) KJS / IC: "Unexpected body of primary constructor for processing irClass" - [`KT-79977`](https://youtrack.jetbrains.com/issue/KT-79977) KJS: Long.rotateLeft returns incorrect result when BigInts are enabled - [`KT-78831`](https://youtrack.jetbrains.com/issue/KT-78831) AbstractFunctionReferencesLowering: fragile fake override generation - [`KT-52230`](https://youtrack.jetbrains.com/issue/KT-52230) KSJ IR: Applying identity equality operator to Longs always returns false - [`KT-6675`](https://youtrack.jetbrains.com/issue/KT-6675) KotlinJS: toInt() on external Long throws error - [`KT-79184`](https://youtrack.jetbrains.com/issue/KT-79184) K/JS: Further intrinsify BigInt-backed Long operations ##### Klibs ##### New Features - [`KT-80761`](https://youtrack.jetbrains.com/issue/KT-80761) K2: \[K/N] Should reported klib usage include inheritance ##### Performance Improvements - [`KT-80861`](https://youtrack.jetbrains.com/issue/KT-80861) \[Klib] Deduplicate IrFileEntry.name - [`KT-80866`](https://youtrack.jetbrains.com/issue/KT-80866) \[Klib] Optimize size of IrFileEntry.line\_start\_offset - [`KT-80438`](https://youtrack.jetbrains.com/issue/KT-80438) Uncached KlibMetadataClassDataFinder.findClassData ##### Fixes - [`KT-64237`](https://youtrack.jetbrains.com/issue/KT-64237) Klib metadata: migrate to using the common annotations instead of klib-specific extensions in the compiler - [`KT-80099`](https://youtrack.jetbrains.com/issue/KT-80099) KLIB resolver: Could not find file because of missing `klib` extension in resolved symlink path - [`KT-80999`](https://youtrack.jetbrains.com/issue/KT-80999) Reuse existing `IrKotlinLibraryLayout` in `KotlinLibrary` for reading pre-processed functions - [`KT-80290`](https://youtrack.jetbrains.com/issue/KT-80290) Remove `if` and TODO in `countInAsInlinedLambdaArgumentWithPermittedNonLocalReturns` - [`KT-80298`](https://youtrack.jetbrains.com/issue/KT-80298) K/N: one-stage compilation is broken - [`KT-79958`](https://youtrack.jetbrains.com/issue/KT-79958) KLIB tool fails to render IR if there is IrErrorType in a lirbrary - [`KT-75241`](https://youtrack.jetbrains.com/issue/KT-75241) Move ExperimentalLibraryAbiReader to a publishable artifact - [`KT-76260`](https://youtrack.jetbrains.com/issue/KT-76260) Make `IrRichCallableReferencesInKlibs` lang feature stable in LV=2.3 - [`KT-61552`](https://youtrack.jetbrains.com/issue/KT-61552) \[PL] IndexOutOfBoundsException in SAM conversion with substituted function - [`KT-74417`](https://youtrack.jetbrains.com/issue/KT-74417) Deduce the metadata version based on LV in KLIB-based backends - [`KT-75980`](https://youtrack.jetbrains.com/issue/KT-75980) \[Klib] Reduce serialized size of IrFileEntries for sparse usage of another source files - [`KT-73826`](https://youtrack.jetbrains.com/issue/KT-73826) Deduplicate `IrFileEntry` that is serialized inside `IrInlinedFunctionBlock` ##### Language Design - [`KT-76926`](https://youtrack.jetbrains.com/issue/KT-76926) Allow return in expression bodies if return type is specified explicitly - [`KT-78866`](https://youtrack.jetbrains.com/issue/KT-78866) Show an error for implicit receiver shadowed by context parameter - [`KT-81561`](https://youtrack.jetbrains.com/issue/KT-81561) Update nested type aliases KEEP to reflect local type aliases support - [`KT-81015`](https://youtrack.jetbrains.com/issue/KT-81015) Stabilize nested type aliases - [`KT-32619`](https://youtrack.jetbrains.com/issue/KT-32619) JS: return Promise when `continuation` is not provided - [`KT-78976`](https://youtrack.jetbrains.com/issue/KT-78976) Decide if K2 should support local functions inside of local inline functions - [`KT-79308`](https://youtrack.jetbrains.com/issue/KT-79308) Ability to actualize empty interfaces as Any - [`KT-48872`](https://youtrack.jetbrains.com/issue/KT-48872) Provide modern and performant replacement for Enum.values() - [`KT-28850`](https://youtrack.jetbrains.com/issue/KT-28850) Prohibit protected visibility in final expected classes ##### Libraries ##### New Features - [`KT-81092`](https://youtrack.jetbrains.com/issue/KT-81092) Uuid: support generation of version 7 uuids with a given timestamp - [`KT-78463`](https://youtrack.jetbrains.com/issue/KT-78463) Annotate wasm and JS targets of kotlin-stdlib with `@IgnorableReturnValue` when appropriate - [`KT-74444`](https://youtrack.jetbrains.com/issue/KT-74444) EnumEntries type should implement RandomAccess - [`KT-78462`](https://youtrack.jetbrains.com/issue/KT-78462) Annotate kotlin-stdlib-jvm with `@IgnorableReturnValue` where appropriate ##### Performance Improvements - [`KT-72111`](https://youtrack.jetbrains.com/issue/KT-72111) Change Duration.parseOrNull logic to not throw exceptions internally ##### Fixes - [`KT-82901`](https://youtrack.jetbrains.com/issue/KT-82901) `Long.MIN_VALUE.milliseconds` produces invalid denormalized Duration - [`KT-81995`](https://youtrack.jetbrains.com/issue/KT-81995) K/N: CMP: Undefined symbol \_kfun:kotlin.time.Duration.kotlin.time.Duration - [`KT-56822`](https://youtrack.jetbrains.com/issue/KT-56822) Deprecate Number.toChar() with error deprecation level - [`KT-81078`](https://youtrack.jetbrains.com/issue/KT-81078) Increase kotlin.io.createTempDir and createTempFile deprecation level to ERROR - [`KT-74493`](https://youtrack.jetbrains.com/issue/KT-74493) Deprecate String.subSequence(start, end) with error and drop it in the future - [`KT-79192`](https://youtrack.jetbrains.com/issue/KT-79192) Increase InputStream.readBytes(Int) deprecation level to HIDDEN - [`KT-80778`](https://youtrack.jetbrains.com/issue/KT-80778) Stabilize kotlin.time.Clock and kotlin.time.Instant - [`KT-81043`](https://youtrack.jetbrains.com/issue/KT-81043) String.toBigDecimalOrNull rejects strings accepted by String.toBigDecimal - [`KT-81477`](https://youtrack.jetbrains.com/issue/KT-81477) Uuid.Companion.generateV\* are missing SinceKotlin annotation - [`KT-81478`](https://youtrack.jetbrains.com/issue/KT-81478) FileTreeWalkTest.withDirectoryFilter fails on Windows - [`KT-74411`](https://youtrack.jetbrains.com/issue/KT-74411) Introduce Uuid.generateV4() and generateV7() - [`KT-80530`](https://youtrack.jetbrains.com/issue/KT-80530) Annotate Kotlin/Native stdlib with must-use value/`@IgnorableReturnValue` when appropriate - [`KT-79791`](https://youtrack.jetbrains.com/issue/KT-79791) Duration.parse incorrectly handles negative decimal seconds in ISO-8601 format - [`KT-80619`](https://youtrack.jetbrains.com/issue/KT-80619) \[KLIBs] Enable intra-module inliner in stdlib & kotlin-test - [`KT-76773`](https://youtrack.jetbrains.com/issue/KT-76773) stdlib: contextOf's type argument can be inferred via contextOf's context argument - [`KT-71822`](https://youtrack.jetbrains.com/issue/KT-71822) Intersection with (subtraction from) an identity set may produce incorrect results - [`KT-80431`](https://youtrack.jetbrains.com/issue/KT-80431) Remove suppression of "ACTUAL\_ANNOTATIONS\_NOT\_MATCH\_EXPECT" from stdlib - [`KT-80605`](https://youtrack.jetbrains.com/issue/KT-80605) Rename MustUseReturnValue -> MustUseReturnValues - [`KT-69947`](https://youtrack.jetbrains.com/issue/KT-69947) KLIB stdlib: All intrinsics that can be used in KLIBs with inlined IR must be included in stdlib ABI dump - [`KT-59044`](https://youtrack.jetbrains.com/issue/KT-59044) Improve various aspects of TimeSource documentation - [`KT-80544`](https://youtrack.jetbrains.com/issue/KT-80544) Mark controversial path extensions (like .deleteRecursively()) as ignorable - [`KT-80603`](https://youtrack.jetbrains.com/issue/KT-80603) K/N and K/Wasm: \p{N} category is not supported - [`KT-80661`](https://youtrack.jetbrains.com/issue/KT-80661) ArrayDeque.lastIndexOf may return -1 for an element present in the deque - [`KT-80390`](https://youtrack.jetbrains.com/issue/KT-80390) ArrayDeque.indexOf(null) wrongly returns 0 after removals - [`KT-79094`](https://youtrack.jetbrains.com/issue/KT-79094) Change signature of assertFailsWith or make lambda excluded otherwise - [`KT-72028`](https://youtrack.jetbrains.com/issue/KT-72028) Incorrect parameters order in IndexedValue documentation - [`KT-80130`](https://youtrack.jetbrains.com/issue/KT-80130) \[stdlib] Commonize AssociatedObjects in commonNonJvmMain - [`KT-80107`](https://youtrack.jetbrains.com/issue/KT-80107) \[stdlib] Move CancellationException to commonNonJvmMain - [`KT-80179`](https://youtrack.jetbrains.com/issue/KT-80179) Investigate why StringBuilder.length is not enhanced automatically - [`KT-80046`](https://youtrack.jetbrains.com/issue/KT-80046) Increase test coverage of Duration.parse\[IsoString]\[OrNull] methods - [`KT-76459`](https://youtrack.jetbrains.com/issue/KT-76459) Remove comments about sorting stability in unsigned-type arrays - [`KT-79489`](https://youtrack.jetbrains.com/issue/KT-79489) Generate Stdlib API reference for webMain source set - [`KT-78243`](https://youtrack.jetbrains.com/issue/KT-78243) Drop JS- and Wasm-specific IrLinkageError classes - [`KT-79108`](https://youtrack.jetbrains.com/issue/KT-79108) Remove the default argument for `linkageError` from kotlin.js.getPropertyCallableRef - [`KT-79130`](https://youtrack.jetbrains.com/issue/KT-79130) K/JS: Remove bodies from intrinsified Long methods - [`KT-79239`](https://youtrack.jetbrains.com/issue/KT-79239) K/Wasm: elementAt extension function of Array/PrimitiveArray/UnsignedArray does not throw IndexOutOfBoundException on incorrect index - [`KT-79256`](https://youtrack.jetbrains.com/issue/KT-79256) K/Wasm: MatchResult.groups raises a trap on invalid group index - [`KT-57317`](https://youtrack.jetbrains.com/issue/KT-57317) Repack EnumEntries from stdlib into the compiler ##### Native - [`KT-80620`](https://youtrack.jetbrains.com/issue/KT-80620) Bump minimal iOS and tvOS supported versions to 14.0 - [`KT-80624`](https://youtrack.jetbrains.com/issue/KT-80624) Bump minimal watchOS supported versions to 7.0 - [`KT-79384`](https://youtrack.jetbrains.com/issue/KT-79384) K/N: Application Not Responding: Thread Deadlock - [`KT-80536`](https://youtrack.jetbrains.com/issue/KT-80536) Native: `DependencyDownloader` seems to have no timeout ##### Native. Build Infrastructure - [`KT-80147`](https://youtrack.jetbrains.com/issue/KT-80147) Set proper LV and AV for `kotlin-native/performance/buildSrc` - [`KT-79474`](https://youtrack.jetbrains.com/issue/KT-79474) Kotlin/Native: fix breakpad build - [`KT-79215`](https://youtrack.jetbrains.com/issue/KT-79215) Kotlin/Native: fix distInvalidateStaleCaches on windows ##### Native. C and ObjC Import - [`KT-79752`](https://youtrack.jetbrains.com/issue/KT-79752) Native: make cinterop generate CCall.Direct annotations - [`KT-79753`](https://youtrack.jetbrains.com/issue/KT-79753) Native: support CCall.Direct calls in the compiler - [`KT-81312`](https://youtrack.jetbrains.com/issue/KT-81312) Native: when `-Xccall-mode direct` is used, mark unsupported declarations with unresolvable symbol name instead of `@Deprecated`(ERROR) - [`KT-79571`](https://youtrack.jetbrains.com/issue/KT-79571) Xcode 26 beta 4: CInteropKT39120TestGenerated.testForwardEnum failed - [`KT-80838`](https://youtrack.jetbrains.com/issue/KT-80838) Cinterop fails with an error when Compilation works fine - [`KT-49034`](https://youtrack.jetbrains.com/issue/KT-49034) Kotlin/Native: `cnames.structs.Foo` resolves into wrong declaration ##### Native. ObjC Export - [`KT-81906`](https://youtrack.jetbrains.com/issue/KT-81906) Normalize `CFBundleIdentifier` when producing Apple framework - [`KT-78810`](https://youtrack.jetbrains.com/issue/KT-78810) \[ObjCExport] Enable explicit ObjC block parameter names by default - [`KT-80271`](https://youtrack.jetbrains.com/issue/KT-80271) ObjC/Swift Export: Remove Native platform `Cloneable` checks - [`KT-78604`](https://youtrack.jetbrains.com/issue/KT-78604) Consider not inheriting `KlibScope` from `KaScope` - [`KT-79767`](https://youtrack.jetbrains.com/issue/KT-79767) ObjCExport: private companion must not be exposed - [`KT-79724`](https://youtrack.jetbrains.com/issue/KT-79724) ObjCExport: extensions order - [`KT-79548`](https://youtrack.jetbrains.com/issue/KT-79548) ObjCExport: mangling difference between K1 and K2 when translating KotlinDurationCompanion - [`KT-79475`](https://youtrack.jetbrains.com/issue/KT-79475) ObjCExport: invalid property getter translation - [`KT-79346`](https://youtrack.jetbrains.com/issue/KT-79346) ObjCExport: Any method overrides - [`KT-78871`](https://youtrack.jetbrains.com/issue/KT-78871) ObjCExport: translation of keyword `release` with parameter generates invalid header ##### Native. Runtime. Memory - [`KT-75918`](https://youtrack.jetbrains.com/issue/KT-75918) Native: Deprecate -Xallocator=std - [`KT-80678`](https://youtrack.jetbrains.com/issue/KT-80678) Native: pagedAllocator=false sweep is slow - [`KT-75916`](https://youtrack.jetbrains.com/issue/KT-75916) Native: Enable sanitizer support with pagedAllocator=false ##### Native. Swift Export ##### Fixes - [`KT-81355`](https://youtrack.jetbrains.com/issue/KT-81355) Swift Export: Introduce a flag to turn off coroutines export - [`KT-80969`](https://youtrack.jetbrains.com/issue/KT-80969) Swift Export: Call `suspend` function as `async` on swift side - [`KT-80111`](https://youtrack.jetbrains.com/issue/KT-80111) Swift Export Build Fails Due to Errors in KotlinStdlib.swift - [`KT-80884`](https://youtrack.jetbrains.com/issue/KT-80884) Swift Export: support async in SIR - [`KT-80185`](https://youtrack.jetbrains.com/issue/KT-80185) Swift Export: IllegalArgumentException – Collection contains more than one matching element - [`KT-79889`](https://youtrack.jetbrains.com/issue/KT-79889) K/N: swift-export fails under several different conditions - [`KT-79518`](https://youtrack.jetbrains.com/issue/KT-79518) Swift export: represent kotlin.Any as swift.any - [`KT-78603`](https://youtrack.jetbrains.com/issue/KT-78603) Do not inherit SirAndKaSession from KaSession - [`KT-79227`](https://youtrack.jetbrains.com/issue/KT-79227) Swift Export: Fix First Release Issues - [`KT-79521`](https://youtrack.jetbrains.com/issue/KT-79521) '\_CoroutineScope' is inaccessible due to 'internal' protection level - [`KT-79181`](https://youtrack.jetbrains.com/issue/KT-79181) Swift Export Fails When Using T: Comparable<T> Generic Constraint in Kotlin Classes ##### Tools. Ant - [`KT-75875`](https://youtrack.jetbrains.com/issue/KT-75875) Remove Ant support ##### Tools. BCV - [`KT-80313`](https://youtrack.jetbrains.com/issue/KT-80313) Add ability to generate dump from jar files \[ABI Tools] ##### Tools. Build Tools API ##### New Features - [`KT-78194`](https://youtrack.jetbrains.com/issue/KT-78194) BTA: port the JVM prototype to the new design - [`KT-79409`](https://youtrack.jetbrains.com/issue/KT-79409) BTA: Support removed compiler arguments properly - [`KT-78193`](https://youtrack.jetbrains.com/issue/KT-78193) BTA: Implement core infrastructure according to the new design - [`KT-78196`](https://youtrack.jetbrains.com/issue/KT-78196) BTA: implement API adapter for the prototype implementation - [`KT-77999`](https://youtrack.jetbrains.com/issue/KT-77999) BTA: Generate BTA options from compiler arguments descriptions ##### Fixes - [`KT-75357`](https://youtrack.jetbrains.com/issue/KT-75357) CompilationService.loadImplementation(loader) Expects a `ClassLoader`, but Fails if its not a `URLClassLoader` - [`KT-73090`](https://youtrack.jetbrains.com/issue/KT-73090) Gradle 8.11 kotlin compilation fails when run with -Pkotlin.compiler.runViaBuildToolsApi=true - [`KT-81321`](https://youtrack.jetbrains.com/issue/KT-81321) Deprecate old BTA prototype API - [`KT-81602`](https://youtrack.jetbrains.com/issue/KT-81602) BTA: rename KotlinToolchains.jvm `@JvmName` for a more Java-friendly API - [`KT-75356`](https://youtrack.jetbrains.com/issue/KT-75356) Failing to pass a `-d` argument causes Build Tools API to NPE - [`KT-81130`](https://youtrack.jetbrains.com/issue/KT-81130) BTA: using KotlinVersion from stdlib in the API breaks when using isolated classloader - [`KT-78195`](https://youtrack.jetbrains.com/issue/KT-78195) BTA: migrate the test infrastructure from the prototype to the new design ##### Tools. CLI - [`KT-81077`](https://youtrack.jetbrains.com/issue/KT-81077) Add JVM target bytecode version 25 - [`KT-79867`](https://youtrack.jetbrains.com/issue/KT-79867) CompilerConfiguration.configureSourceRoots puts obfuscated file paths instead of ones passed on `classpath` to CLIConfigurationKeys.CONTENT\_ROOTS - [`KT-80348`](https://youtrack.jetbrains.com/issue/KT-80348) Expose 'XXLanguage' compiler argument as a normal argument - [`KT-80428`](https://youtrack.jetbrains.com/issue/KT-80428) KMP Separate Compilation: Handle friend dependencies - [`KT-74590`](https://youtrack.jetbrains.com/issue/KT-74590) Deprecate -Xjvm-default in favor of -jvm-default - [`KT-80349`](https://youtrack.jetbrains.com/issue/KT-80349) KMP Separate Compilation is enabled on non-KMP compilations - [`KT-79982`](https://youtrack.jetbrains.com/issue/KT-79982) Fix description of -Xjspecify-annotations - [`KT-79403`](https://youtrack.jetbrains.com/issue/KT-79403) Improve generator for deprecated CLI arguments - [`KT-75968`](https://youtrack.jetbrains.com/issue/KT-75968) Set proper lifecycle for all existing compiler arguments - [`KT-79293`](https://youtrack.jetbrains.com/issue/KT-79293) Create Language Features and compiler argument with parameter for new destructuring features ##### Tools. Commonizer - [`KT-49735`](https://youtrack.jetbrains.com/issue/KT-49735) \[Commonizer] :commonizeNativeDistribution fails for projects with two or more same native targets - [`KT-47523`](https://youtrack.jetbrains.com/issue/KT-47523) MPP: Unable to resolve c-interop dependency if platform is included in an intermediate source set with the only target - [`KT-48118`](https://youtrack.jetbrains.com/issue/KT-48118) Commonized c-interop lib is not attached to common main source set - [`KT-46248`](https://youtrack.jetbrains.com/issue/KT-46248) MPP: Compile KotlinMetadata fails with Unresolved reference if only one native platform from shared source set is available ##### Tools. Compiler Plugin API - [`KT-82563`](https://youtrack.jetbrains.com/issue/KT-82563) Improve compiler error messages to identify incompatible plugins causing compilation failures - [`KT-55300`](https://youtrack.jetbrains.com/issue/KT-55300) Provide a mechanism to describe ordering and dependencies for compiler plugins - [`KT-82099`](https://youtrack.jetbrains.com/issue/KT-82099) Compiler plugin ordering has no effect - [`KT-74867`](https://youtrack.jetbrains.com/issue/KT-74867) LLFirIdePredicateBasedProvider matches local classes when it shouldn't - [`KT-52665`](https://youtrack.jetbrains.com/issue/KT-52665) Deprecate `ComponentRegistrar` - [`KT-75865`](https://youtrack.jetbrains.com/issue/KT-75865) Provide an API for setting the file name for the file with top-level declarations generated by a plugin ##### Tools. Compiler Plugins ##### New Features - [`KT-81091`](https://youtrack.jetbrains.com/issue/KT-81091) \[DataFrame] Receivers from FirExpressionResolutionExtension are not resolved in CodeFragment ##### Fixes - [`KT-64339`](https://youtrack.jetbrains.com/issue/KT-64339) Symbol Light Classes: No Arg compiler plugin generates synthethic constructor which is not seen from light classes - [`KT-80429`](https://youtrack.jetbrains.com/issue/KT-80429) Power Assert with "Run test using: IntelliJ": NoClassDefFoundError (org.jetbrains.kotlin.kotlinx.collections.immutable.ExtensionsKt) during compilation - [`KT-79319`](https://youtrack.jetbrains.com/issue/KT-79319) Lombok: NullPointerException on `mvn compile` when importing Java constants - [`KT-81348`](https://youtrack.jetbrains.com/issue/KT-81348) Incorrect bytecode mentioning error class/package is generated by kotlinx-serialization when private serializer in another module is not accessible - [`KT-80944`](https://youtrack.jetbrains.com/issue/KT-80944) FirUserTypeRefImpl cannot be cast to class FirResolvedTypeRef in maven project - [`KT-80815`](https://youtrack.jetbrains.com/issue/KT-80815) NoArg compiler plugin: Promote NO\_NOARG\_CONSTRUCTOR\_IN\_SUPERCLASS diagnostic from warning to error - [`KT-80822`](https://youtrack.jetbrains.com/issue/KT-80822) False positive NO\_NOARG\_CONSTRUCTOR\_IN\_SUPERCLASS reported for a class with explicit noargs constructor already present - [`KT-53122`](https://youtrack.jetbrains.com/issue/KT-53122) Constructors generated with NoArg have no `@Metadata` and are invisible for the frontend - [`KT-74687`](https://youtrack.jetbrains.com/issue/KT-74687) Kotlin Lombok: False positive when calling builder on Java record - [`KT-80419`](https://youtrack.jetbrains.com/issue/KT-80419) Remove bundled jetbrains annotations from kotlin-dataframe-compiler-plugin - [`KT-79245`](https://youtrack.jetbrains.com/issue/KT-79245) \[AtomicFU] Drop K1/JS- and K1/Native-specific testrunners - [`KT-79197`](https://youtrack.jetbrains.com/issue/KT-79197) DataFrame: Cannot find local variable 'this`@df`' with type Scope0 - [`KT-73865`](https://youtrack.jetbrains.com/issue/KT-73865) Incorrect type is generated for irPropertyReference during K/N transformation ##### Tools. Compiler plugins. Serialization - [`KT-70345`](https://youtrack.jetbrains.com/issue/KT-70345) Promote COMPANION\_OBJECT\_IS\_SERIALIZABLE\_INSIDE\_SERIALIZABLE\_CLASS diagnostic to error - [`KT-79695`](https://youtrack.jetbrains.com/issue/KT-79695) Serialization does not exclude field-less properties in 2.2.20-Beta2 - [`KT-79246`](https://youtrack.jetbrains.com/issue/KT-79246) \[Serialization] Drop K1-specific testrunners ##### Tools. Gradle ##### New Features - [`KT-78199`](https://youtrack.jetbrains.com/issue/KT-78199) Gradle: Migrate JVM compilation in KGP to the new BTA - [`KT-45161`](https://youtrack.jetbrains.com/issue/KT-45161) Gradle: Support registering generated sources with the Kotlin model - [`KT-71602`](https://youtrack.jetbrains.com/issue/KT-71602) Introduce KotlinTopLevelExtension ##### Fixes - [`KT-67290`](https://youtrack.jetbrains.com/issue/KT-67290) Deprecate usage of HasKotlinDependencies inside KotlinCompilation - [`KT-80950`](https://youtrack.jetbrains.com/issue/KT-80950) KGP breaks configuration cache when signing plugin with GnuPG is applied - [`KT-64211`](https://youtrack.jetbrains.com/issue/KT-64211) Provide support for the kotlin.internal.compiler.arguments.log.level property while running via build tools api - [`KT-81719`](https://youtrack.jetbrains.com/issue/KT-81719) Do not register swift export related configurations when it's not required - [`KT-78741`](https://youtrack.jetbrains.com/issue/KT-78741) Add FUS analytics for klib cross-compilation - [`KT-75449`](https://youtrack.jetbrains.com/issue/KT-75449) Update deprecation of `KotlinJsTestFramework#createTestExecutionSpec` - [`KT-64273`](https://youtrack.jetbrains.com/issue/KT-64273) Gradle: remove symbols deprecated after KT-54312 - [`KT-74915`](https://youtrack.jetbrains.com/issue/KT-74915) Make ExtrasProperty.kt internal - [`KT-64992`](https://youtrack.jetbrains.com/issue/KT-64992) Remove KotlinCompilation.source - [`KT-82068`](https://youtrack.jetbrains.com/issue/KT-82068) Workaround iOS Simulator start failure in IT - [`KT-79482`](https://youtrack.jetbrains.com/issue/KT-79482) Report webMain / webTest usage in FUS metrics - [`KT-81199`](https://youtrack.jetbrains.com/issue/KT-81199) Deprecate "org.jetbrains.kotlin.android" plugin - [`KT-82244`](https://youtrack.jetbrains.com/issue/KT-82244) Conflicting warnings when using AGP 9.0.0-alpha with built-in Kotlin disabled - [`KT-81161`](https://youtrack.jetbrains.com/issue/KT-81161) Gradle plugin api reference: compiler arguments types are not available - [`KT-70251`](https://youtrack.jetbrains.com/issue/KT-70251) Gradle: hide compiler symbols in KGP - [`KT-81837`](https://youtrack.jetbrains.com/issue/KT-81837) Run integration tests against AGP 8.13 - [`KT-77457`](https://youtrack.jetbrains.com/issue/KT-77457) Compile against Gradle API 9.0 - [`KT-79238`](https://youtrack.jetbrains.com/issue/KT-79238) Bump minimal supported AGP version to 8.2.2 - [`KT-75869`](https://youtrack.jetbrains.com/issue/KT-75869) KGP JS - Update deprecated constructors - [`KT-76720`](https://youtrack.jetbrains.com/issue/KT-76720) Raise deprecation level to error for Kotlin\*Options properties - [`KT-79047`](https://youtrack.jetbrains.com/issue/KT-79047) Gradle compileKotlin fails with configuration cache - [`KT-81415`](https://youtrack.jetbrains.com/issue/KT-81415) BTA: Duplicate daemons when compiling JVM + JS in KGP - [`KT-80763`](https://youtrack.jetbrains.com/issue/KT-80763) Add redirect link to error message when 'org.jetbrains.kotlin.android' plugin is used with built-in Kotlin - [`KT-81038`](https://youtrack.jetbrains.com/issue/KT-81038) Gradle: remove support for properties disabling precise task outputs backup - [`KT-80808`](https://youtrack.jetbrains.com/issue/KT-80808) Warning from kotlin-dsl with kotlin("jvm") on Gradle < 9.0 doesn’t suggest updating Gradle - [`KT-80875`](https://youtrack.jetbrains.com/issue/KT-80875) Gradle: runToolInSeparateProcess may fail on Windows with too long command line - [`KT-79851`](https://youtrack.jetbrains.com/issue/KT-79851) Emit an actionable warning/error on unsupported AV/LV configured by `kotlin-dsl` - [`KT-77458`](https://youtrack.jetbrains.com/issue/KT-77458) Run Gradle integration tests against Gradle 9.0 - [`KT-80172`](https://youtrack.jetbrains.com/issue/KT-80172) Error message changes depending on the order of applying 'org.jetbrains.kotlin.android' and 'AGP' 9.0+ with built-in Kotlin plugin - [`KT-76177`](https://youtrack.jetbrains.com/issue/KT-76177) Remove deprecated classpath snapshot task inputs - [`KT-79339`](https://youtrack.jetbrains.com/issue/KT-79339) Remove additionalMetadata from compiler options DSL - [`KT-73478`](https://youtrack.jetbrains.com/issue/KT-73478) Add module level description - [`KT-80083`](https://youtrack.jetbrains.com/issue/KT-80083) KGP IT: fix tests on Windows - [`KT-79034`](https://youtrack.jetbrains.com/issue/KT-79034) Automatically disable cross compilation if it's not supported on the host - [`KT-79408`](https://youtrack.jetbrains.com/issue/KT-79408) A lot of errors files are created when compile Kotlin - [`KT-78827`](https://youtrack.jetbrains.com/issue/KT-78827) Rewrite Gradle compiler options DSL generator ##### Tools. Gradle. BCV - [`KT-80687`](https://youtrack.jetbrains.com/issue/KT-80687) Add description to Gradle tasks \[ABI Validation] - [`KT-80621`](https://youtrack.jetbrains.com/issue/KT-80621) Move Gradle tasks into suitable groups \[ABI Validation] - [`KT-78625`](https://youtrack.jetbrains.com/issue/KT-78625) Kotlin's built-in BCV generates empty .api files ##### Tools. Gradle. Compiler plugins - [`KT-81827`](https://youtrack.jetbrains.com/issue/KT-81827) Add a switch for mapping file tasks in Compose Gradle plugin ##### Tools. Gradle. JS ##### Fixes - [`KT-79921`](https://youtrack.jetbrains.com/issue/KT-79921) Web Tooling Gradle API does not respect webpack reconfiguration - [`KT-81009`](https://youtrack.jetbrains.com/issue/KT-81009) K/JS, Wasm: Promote deprecation of NPM and Yarn package manager internal functions - [`KT-76019`](https://youtrack.jetbrains.com/issue/KT-76019) Wasm/JS: Promote phantom-js for Karma deprecation to ERROR - [`KT-81005`](https://youtrack.jetbrains.com/issue/KT-81005) K/JS, Wasm: Promote deprecation of ExperimentalWasmDsl to Error - [`KT-81010`](https://youtrack.jetbrains.com/issue/KT-81010) K/JS, Wasm: Promote deprecation of internal JS functions to Error - [`KT-81008`](https://youtrack.jetbrains.com/issue/KT-81008) K/JS, Wasm: Promote deprecation of ExperimentalDceDsl to Error - [`KT-81007`](https://youtrack.jetbrains.com/issue/KT-81007) K/JS, Wasm: Promote deprecation of public constructors of JS declarations to Error - [`KT-81006`](https://youtrack.jetbrains.com/issue/KT-81006) K/JS, Wasm: Promote wasm declarations in "js" package deprecation to Error - [`KT-81004`](https://youtrack.jetbrains.com/issue/KT-81004) K/JS, Wasm: promote deprecation NodeJsExec.create to Error - [`KT-75621`](https://youtrack.jetbrains.com/issue/KT-75621) KJS / Gradle: Disable npm in --offline mode - [`KT-79910`](https://youtrack.jetbrains.com/issue/KT-79910) Wasm, JS: Upgrade NPM versions - [`KT-76996`](https://youtrack.jetbrains.com/issue/KT-76996) Wasm: js tasks triggers wasm subtasks - [`KT-79237`](https://youtrack.jetbrains.com/issue/KT-79237) Upgrade NPM dependencies versions ##### Tools. Gradle. Multiplatform ##### New Features - [`KT-76446`](https://youtrack.jetbrains.com/issue/KT-76446) Add kotlin-level dependency block to work the same way as commonMain/commonTest dependencies blocks ##### Fixes - [`KT-61127`](https://youtrack.jetbrains.com/issue/KT-61127) Remove scoped resolvable and intransitive DependenciesMetadata configurations used in the pre-IdeMultiplatformImport IDE import - [`KT-81980`](https://youtrack.jetbrains.com/issue/KT-81980) KGP warning gives incorrect suggestion for AGP application compatibility - [`KT-81601`](https://youtrack.jetbrains.com/issue/KT-81601) With `android.builtInKotlin=false` AGP 9.0+, using `kotlin-multiplatform` plugin will fail with a`Class Cast Exception` - [`KT-81060`](https://youtrack.jetbrains.com/issue/KT-81060) KMP stores common compilation dependency resolution in Configuration cache leading to error when deserializing (Android only) - [`KT-80720`](https://youtrack.jetbrains.com/issue/KT-80720) Gradle import of multiplatform project fails: "Failed to invoke getAssociateWith on KotlinJvmCompilation\_Decorated" - [`KT-81200`](https://youtrack.jetbrains.com/issue/KT-81200) Deprecate 'androidTarget' - [`KT-74005`](https://youtrack.jetbrains.com/issue/KT-74005) Implement a prototype of Unified Klib support in Kotlin Gradle Plugin - [`KT-77367`](https://youtrack.jetbrains.com/issue/KT-77367) \[uklib] Project dependency to kotlin-jvm module leads to failure in transform during IDE import - [`KT-80785`](https://youtrack.jetbrains.com/issue/KT-80785) With `android.builtInKotlin=false` and `android.newDsl=true`, using `kotlin-android` plugin will fail with `ClassCastException` - [`KT-81434`](https://youtrack.jetbrains.com/issue/KT-81434) \[uklib] androidCompileClasspath resolves java compatibility variant instead of android for uklib library - [`KT-81469`](https://youtrack.jetbrains.com/issue/KT-81469) \[uklib] kmpPublicationStrategy affects resolution during import for androidTarget - [`KT-81249`](https://youtrack.jetbrains.com/issue/KT-81249) Kotlin 2.2.20 broke KMP implementation of Parcelize - [`KT-77066`](https://youtrack.jetbrains.com/issue/KT-77066) Promote kotlinArtifacts deprecation to an error - [`KT-74955`](https://youtrack.jetbrains.com/issue/KT-74955) Remove resources resolution strategy completely - [`KT-62614`](https://youtrack.jetbrains.com/issue/KT-62614) Remove legacy kotlin-gradle-plugin-model - [`KT-79559`](https://youtrack.jetbrains.com/issue/KT-79559) AGP complains about configurations resolved at configuration time due to KMP partially resolved dependencies diagnostic - [`KT-78993`](https://youtrack.jetbrains.com/issue/KT-78993) The value for property '\*' property 'dependencies' is final and cannot be changed any further - [`KT-76200`](https://youtrack.jetbrains.com/issue/KT-76200) TestModuleProperties.productionModuleName for JVM module isn't present with 2.1.20-RC - [`KT-55312`](https://youtrack.jetbrains.com/issue/KT-55312) Replace "ALL\_COMPILE\_DEPENDENCIES\_METADATA" configuration with set of metadata dependencies configurations associated per set - [`KT-52216`](https://youtrack.jetbrains.com/issue/KT-52216) HMPP / KTOR: False positive "TYPE\_MISMATCH" with Throwable descendant - [`KT-54312`](https://youtrack.jetbrains.com/issue/KT-54312) TCS: Replace CompilationDetails abstract class hierarchy by composable implementation - [`KT-55230`](https://youtrack.jetbrains.com/issue/KT-55230) Remove metadata dependencies transformation for runtimeOnly scope ##### Tools. Gradle. Native - [`KT-80675`](https://youtrack.jetbrains.com/issue/KT-80675) Commonized cinterops between "test" compilations produce an import failure - [`KT-77732`](https://youtrack.jetbrains.com/issue/KT-77732) `commonizeCInterop` failed with "Unresolved classifier: platform/posix/size\_t" - [`KT-81510`](https://youtrack.jetbrains.com/issue/KT-81510) `commonizeCInterop` exception with 'kotlinNativeBundleConfiguration' not found - [`KT-81134`](https://youtrack.jetbrains.com/issue/KT-81134) Native: Gradle configuration failure likely related to Klibs cross-compilation - [`KT-77486`](https://youtrack.jetbrains.com/issue/KT-77486) Remove bitcode DSL - [`KT-64107`](https://youtrack.jetbrains.com/issue/KT-64107) Kotlin Gradle plugin allows native binaries to have both `debuggable` and `optimized` flags set to `true` - [`KT-74910`](https://youtrack.jetbrains.com/issue/KT-74910) Bump `destinationDir` in CInteropProcess to hidden - [`KT-74911`](https://youtrack.jetbrains.com/issue/KT-74911) Promote CInteropProcess.konanVersion to hidden - [`KT-74864`](https://youtrack.jetbrains.com/issue/KT-74864) Enable exporting KDocs by default to ObjC - [`KT-72705`](https://youtrack.jetbrains.com/issue/KT-72705) K/N: compile task cache can not be used due to 'artifactVersion' input property ##### Tools. Gradle. Swift Export - [`KT-81465`](https://youtrack.jetbrains.com/issue/KT-81465) Swift Export package is build with wrong target - [`KT-81460`](https://youtrack.jetbrains.com/issue/KT-81460) \[KGP] Crash in SwiftExportRunner due to older stdlib - [`KT-79524`](https://youtrack.jetbrains.com/issue/KT-79524) NoSuchMethodError: 'java.lang.String org.gradle.api.artifacts.ProjectDependency.getPath() for swift export with dependency export fro gradle < 8.11 ##### Tools. Incremental Compile - [`KT-75864`](https://youtrack.jetbrains.com/issue/KT-75864) Implement a conservative mechanism of the IC with compiler plugins generated top-level declarations - [`KT-55982`](https://youtrack.jetbrains.com/issue/KT-55982) K2: Consider global lookups from plugins in incremental compilation - [`KT-79504`](https://youtrack.jetbrains.com/issue/KT-79504) Implement an API to provide IC lookups from backend plugins - [`KT-75657`](https://youtrack.jetbrains.com/issue/KT-75657) Fix difference in incremental compilation scenarios in BTA in-process vs daemon compilation mode - [`KT-79541`](https://youtrack.jetbrains.com/issue/KT-79541) Refactor tracking of files relation in IC - [`KT-74628`](https://youtrack.jetbrains.com/issue/KT-74628) Incremental compilation runner does not check compiler exit code before mapping sources to classes ##### Tools. JPS - [`KT-77347`](https://youtrack.jetbrains.com/issue/KT-77347) Support file-less compatible IC approach ##### Tools. Kapt - [`KT-79138`](https://youtrack.jetbrains.com/issue/KT-79138) K2: KAPT Java Stub Gen: `Unresolved reference` with `@kotlin`.Metadata in Java in 2.2.0 - [`KT-79133`](https://youtrack.jetbrains.com/issue/KT-79133) K2 kapt: class literal with typealias is not expanded - [`KT-79305`](https://youtrack.jetbrains.com/issue/KT-79305) K2 kapt: ISE "Cannot evaluate IR expression in annotation" on typealias with unresolved expansion - [`KT-79136`](https://youtrack.jetbrains.com/issue/KT-79136) K2 kapt: unresolved nested class references in annotation arguments are generated without outer class names - [`KT-71786`](https://youtrack.jetbrains.com/issue/KT-71786) K2Kapt: Stubs generation does not fail on files with declaration errors - [`KT-80843`](https://youtrack.jetbrains.com/issue/KT-80843) K2: KAPT: Crash on any data class with duplicate properties: "Sequence contains more than one matching element" - [`KT-73411`](https://youtrack.jetbrains.com/issue/KT-73411) Remove `kapt.use.k2` property and code which allows to use K2 with K1 kapt - [`KT-79641`](https://youtrack.jetbrains.com/issue/KT-79641) Kapt: too much information is printed in verbose mode ##### Tools. Maven - [`KT-82180`](https://youtrack.jetbrains.com/issue/KT-82180) kotlin-maven-plugin: IC succeeds after dependent source deletion - [`KT-78201`](https://youtrack.jetbrains.com/issue/KT-78201) Maven: migrate JVM compilation to the new BTA - [`KT-81414`](https://youtrack.jetbrains.com/issue/KT-81414) 2.2.20 regression: OOM (Compressed class space) when in-process - [`KT-81435`](https://youtrack.jetbrains.com/issue/KT-81435) Maven: Improve BTA classloader reusage - [`KT-81681`](https://youtrack.jetbrains.com/issue/KT-81681) Maven: "NoClassDefFoundError" on a second test run - [`KT-81218`](https://youtrack.jetbrains.com/issue/KT-81218) Kotlin Maven Plugin 2.2.20: Java classes not resolved with enabled incremental compilation without daemon ##### Tools. Performance benchmarks - [`KT-79709`](https://youtrack.jetbrains.com/issue/KT-79709) Add `-Xdetailed-perf` CLI flag to control verbosity of performance logs - [`KT-79226`](https://youtrack.jetbrains.com/issue/KT-79226) \[K/N] Add performance measurement for native backend lowerings ##### Tools. REPL - [`KT-80062`](https://youtrack.jetbrains.com/issue/KT-80062) ReplSnippetLowering sometimes produces IrConstructorCall with too many arguments ##### Tools. Scripts - [`KT-80071`](https://youtrack.jetbrains.com/issue/KT-80071) Kotlin script mode produces invalid IR: "value that is not available in the current scope" ##### Tools. Statistics (FUS) - [`KT-77407`](https://youtrack.jetbrains.com/issue/KT-77407) Add performance measurement for prefix lowerings - [`KT-79455`](https://youtrack.jetbrains.com/issue/KT-79455) \[FUS] Collect KSP plugin version - [`KT-79090`](https://youtrack.jetbrains.com/issue/KT-79090) Integrate dynamic stats into `MarkdownReportRenderer` ##### Tools. Wasm - [`KT-82365`](https://youtrack.jetbrains.com/issue/KT-82365) K/Wasm: NodeRun tasks in Wasi depend on kotlinWasmToolingSetup - [`KT-81313`](https://youtrack.jetbrains.com/issue/KT-81313) K/Wasm: update Node.js to 24.x - [`KT-81315`](https://youtrack.jetbrains.com/issue/KT-81315) K/Wasm: update Node.js to 25.x - [`KT-80582`](https://youtrack.jetbrains.com/issue/KT-80582) Multiple reloads when using webpack dev server after 2.2.20-Beta2 - [`KT-80896`](https://youtrack.jetbrains.com/issue/KT-80896) K/Wasm: debug tests only once - [`KT-78921`](https://youtrack.jetbrains.com/issue/KT-78921) K/Wasm: don't generate empty yarn.lock file ### [`v2.2.21`](https://github.com/JetBrains/kotlin/releases/tag/v2.2.21): Kotlin 2.2.21 #### Changelog ##### Backend. Wasm - [`KT-81372`](https://youtrack.jetbrains.com/issue/KT-81372) K/Wasm: JsException: Exception was thrown while running JavaScript code on Safari 18.2/18.3 - [`KT-80018`](https://youtrack.jetbrains.com/issue/KT-80018) K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit) ##### Compiler - [`KT-81191`](https://youtrack.jetbrains.com/issue/KT-81191) K2: "null cannot be cast to non-null type ConeTypeParameterLookupTag" with invalid code - [`KT-80936`](https://youtrack.jetbrains.com/issue/KT-80936) NON\_PUBLIC\_CALL\_FROM\_PUBLIC\_INLINE : `@PublishedApi` doesn't work for fun interfaces ##### JavaScript - [`KT-79926`](https://youtrack.jetbrains.com/issue/KT-79926) Wrong export of interfaces with companions with ES Modules - [`KT-81424`](https://youtrack.jetbrains.com/issue/KT-81424) Kotlin/JS: Cannot Get / in a simple running application - [`KT-80873`](https://youtrack.jetbrains.com/issue/KT-80873) KJS: Stdlib requires ES2020-compatible JS engine due to BigInt type literal ##### Native - [`KT-79384`](https://youtrack.jetbrains.com/issue/KT-79384) K/N: Application Not Responding: Thread Deadlock ##### Tools. Gradle - [`KT-79047`](https://youtrack.jetbrains.com/issue/KT-79047) Gradle compileKotlin fails with configuration cache - [`KT-81148`](https://youtrack.jetbrains.com/issue/KT-81148) Publishing helpers in KGP are incompatible with Isolated Projects - [`KT-80950`](https://youtrack.jetbrains.com/issue/KT-80950) KGP breaks configuration cache when signing plugin with GnuPG is applied ##### Tools. Gradle. Multiplatform - [`KT-61127`](https://youtrack.jetbrains.com/issue/KT-61127) Remove scoped resolvable and intransitive DependenciesMetadata configurations used in the pre-IdeMultiplatformImport IDE import - [`KT-81249`](https://youtrack.jetbrains.com/issue/KT-81249) Kotlin 2.2.20 broke KMP implementation of Parcelize ##### Tools. Gradle. Native - [`KT-81510`](https://youtrack.jetbrains.com/issue/KT-81510) `commonizeCInterop` exception with 'kotlinNativeBundleConfiguration' not found - [`KT-81134`](https://youtrack.jetbrains.com/issue/KT-81134) Native: Gradle configuration failure likely related to Klibs cross-compilation - [`KT-77732`](https://youtrack.jetbrains.com/issue/KT-77732) `commonizeCInterop` failed with "Unresolved classifier: platform/posix/size\_t" - [`KT-80675`](https://youtrack.jetbrains.com/issue/KT-80675) Commonized cinterops between "test" compilations produce an import failure ##### Tools. Maven - [`KT-81218`](https://youtrack.jetbrains.com/issue/KT-81218) Kotlin Maven Plugin 2.2.20: Java classes not resolved with enabled incremental compilation without daemon ##### Tools. Wasm - [`KT-80582`](https://youtrack.jetbrains.com/issue/KT-80582) Multiple reloads when using webpack dev server after 2.2.20-Beta2 ### [`v2.2.20`](https://github.com/JetBrains/kotlin/releases/tag/v2.2.20): Kotlin 2.2.20 ##### Changelog ##### Analysis API - [`KT-78187`](https://youtrack.jetbrains.com/issue/KT-78187) Synthetic properties not to be shown as callables - [`KT-72525`](https://youtrack.jetbrains.com/issue/KT-72525) K2. red code and KIWA on new-lines in guarded when conditions (with parentheses) - [`KT-74246`](https://youtrack.jetbrains.com/issue/KT-74246) KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site ##### Analysis API. Code Compilation - [`KT-78382`](https://youtrack.jetbrains.com/issue/KT-78382) K2 IR lowering error when interface extends interface - [`KT-73201`](https://youtrack.jetbrains.com/issue/KT-73201) K2 IDE: Error while evaluating expressions with local classes - [`KT-78164`](https://youtrack.jetbrains.com/issue/KT-78164) Evaluator: '`@JvmName`' annotations are not recognized in other modules - [`KT-76457`](https://youtrack.jetbrains.com/issue/KT-76457) K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm - [`KT-73084`](https://youtrack.jetbrains.com/issue/KT-73084) K2 evaluator cannot resolve local variables standing at the closing brace ##### Analysis API. FIR ##### Performance Improvements - [`KT-76490`](https://youtrack.jetbrains.com/issue/KT-76490) Do not load ast during the contracts phase if no contracts present - [`KT-78132`](https://youtrack.jetbrains.com/issue/KT-78132) Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations ##### Fixes - [`KT-72227`](https://youtrack.jetbrains.com/issue/KT-72227) SOE from recursive value class - [`KT-68977`](https://youtrack.jetbrains.com/issue/KT-68977) K2 IDE: Reference to companion object through typealias in a function call does not work - [`KT-72357`](https://youtrack.jetbrains.com/issue/KT-72357) Implement partial body resolution - [`KT-76932`](https://youtrack.jetbrains.com/issue/KT-76932) Support context parameters on dangling modifier list - [`KT-72407`](https://youtrack.jetbrains.com/issue/KT-72407) FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing - [`KT-77602`](https://youtrack.jetbrains.com/issue/KT-77602) K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call - [`KT-77629`](https://youtrack.jetbrains.com/issue/KT-77629) K2: NPE: "org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution" - [`KT-76855`](https://youtrack.jetbrains.com/issue/KT-76855) Analysis API: `KaType.asPsiType` returns `null` for a local inner class in dependent analysis tests - [`KT-72718`](https://youtrack.jetbrains.com/issue/KT-72718) ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted - [`KT-76811`](https://youtrack.jetbrains.com/issue/KT-76811) Analysis API: `resolveToFirSymbol` finds a `FirPropertySymbol` for a `KtScript` in dependent analysis - [`KT-73586`](https://youtrack.jetbrains.com/issue/KT-73586) \[Analysis API] Add `lazyResolveToPhase(STATUS)` before accessing modifiers of members - [`KT-71135`](https://youtrack.jetbrains.com/issue/KT-71135) AA: exception from sealed inheritors checker when `analyzeCopy` - [`KT-75534`](https://youtrack.jetbrains.com/issue/KT-75534) K2 AA: "Containing declaration should present for nested declaration class KtNamedFunction" with dangling annotation on top-level anonymous function - [`KT-75687`](https://youtrack.jetbrains.com/issue/KT-75687) K2: local variable doesn't get to the do-while scope - [`KT-56543`](https://youtrack.jetbrains.com/issue/KT-56543) LL FIR: rework lazy transformers so transformers modify only declarations they suppose to ##### Analysis API. Infrastructure - [`KT-76809`](https://youtrack.jetbrains.com/issue/KT-76809) Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element ##### Analysis API. Light Classes - [`KT-78835`](https://youtrack.jetbrains.com/issue/KT-78835) Find usages of a light constructor from a class with an empty body finds usages of class as well - [`KT-78878`](https://youtrack.jetbrains.com/issue/KT-78878) K2. Method shown as unavailable in Java when `@JvmExposeBoxed` is applied (redundantly) at both class and method level in Kotlin - [`KT-78065`](https://youtrack.jetbrains.com/issue/KT-78065) Support "Expose boxed inline value classes" in Light Classes - [`KT-78076`](https://youtrack.jetbrains.com/issue/KT-78076) DLC: KotlinDeclarationInCompiledFileSearcher missed accessors if types are boxed - [`KT-77569`](https://youtrack.jetbrains.com/issue/KT-77569) SLC: annotation missing from generated no-args constructor - [`KT-75182`](https://youtrack.jetbrains.com/issue/KT-75182) K2 AA. False positive red code "Unresolved reference" to a Kotlin method in Java when Kotlin uses a value class with `@JvmOverloads` - [`KT-77564`](https://youtrack.jetbrains.com/issue/KT-77564) Constructor with JvmOverloads and value class shouldn't mark regular constructors private - [`KT-77505`](https://youtrack.jetbrains.com/issue/KT-77505) K2: find usages on java accessor methods do not detect kotlin property accessor usages - [`KT-76789`](https://youtrack.jetbrains.com/issue/KT-76789) Annotation resolve shouldn't search through non-class members - [`KT-76907`](https://youtrack.jetbrains.com/issue/KT-76907) Wrong equality between repeatable annotation and container ##### Analysis API. Providers and Caches - [`KT-77578`](https://youtrack.jetbrains.com/issue/KT-77578) Analysis API: Performance degradation of `KaBaseResolutionScope.contains` after introduction of library restriction scopes - [`KT-78640`](https://youtrack.jetbrains.com/issue/KT-78640) Analysis API: Remove "friend builtins provider" from `FirDeclarationForCompiledElementSearcher` - [`KT-74907`](https://youtrack.jetbrains.com/issue/KT-74907) Analysis API: Apply platform-based library module content restrictions consistently - [`KT-77605`](https://youtrack.jetbrains.com/issue/KT-77605) AA: Leaking KaDanglingFileModule through IdeKotlinPackageProvider - [`KT-62474`](https://youtrack.jetbrains.com/issue/KT-62474) Analysis API: Improve mergeability and performance of custom search scopes - [`KT-77022`](https://youtrack.jetbrains.com/issue/KT-77022) Get rid of ExpectBuiltinPostProcessor workaround - [`KT-77248`](https://youtrack.jetbrains.com/issue/KT-77248) Delegation of `JavaModuleResolver` is restricted to `CliJavaModuleResolver` - [`KT-76850`](https://youtrack.jetbrains.com/issue/KT-76850) LLFirLibrarySession cannot be cast to LLFirResolvableModuleSession - [`KT-76952`](https://youtrack.jetbrains.com/issue/KT-76952) Analysis API: `when` exhaustiveness analysis fails for sealed classes in dangling files - [`KT-72390`](https://youtrack.jetbrains.com/issue/KT-72390) Kotlin project full of red code ##### Analysis API. Standalone - [`KT-78638`](https://youtrack.jetbrains.com/issue/KT-78638) Analysis API Standalone: Stdlib builtins are not indexed in `STUBS` deserialized declaration origin mode ##### Analysis API. Stubs and Decompilation - [`KT-77496`](https://youtrack.jetbrains.com/issue/KT-77496) Support HAS\_MUST\_USE\_RETURN\_VALUE metadata flags in FirStubBasedMemberDeserializer - [`KT-77778`](https://youtrack.jetbrains.com/issue/KT-77778) Function receivers doesn't have annotations - [`KT-77777`](https://youtrack.jetbrains.com/issue/KT-77777) Receiver annotations shouldn't be present on types - [`KT-77538`](https://youtrack.jetbrains.com/issue/KT-77538) Support default property accessors with annotations - [`KT-77763`](https://youtrack.jetbrains.com/issue/KT-77763) Decompiled stubs miss inline modifier for property accessors - [`KT-77309`](https://youtrack.jetbrains.com/issue/KT-77309) Decompiled property from annotation constructor with default value should have a constant initializer - [`KT-77168`](https://youtrack.jetbrains.com/issue/KT-77168) Prefer DataInputOutputUtil for serialization/deserialization - [`KT-77117`](https://youtrack.jetbrains.com/issue/KT-77117) Flaky WRONG\_ANNOTATION\_TARGET diagnostic - [`KT-76791`](https://youtrack.jetbrains.com/issue/KT-76791) Function signature types are deserialized inconsistently - [`KT-76947`](https://youtrack.jetbrains.com/issue/KT-76947) Support functional types with context parameters ##### Analysis API. Surface ##### New Features - [`KT-73473`](https://youtrack.jetbrains.com/issue/KT-73473) Provide KaExpressionInformationProvider.isUsedAsResultOfLambda - [`KT-77278`](https://youtrack.jetbrains.com/issue/KT-77278) Implement psi-based `KaFirKotlinPropertyKtPropertyBasedSymbol#hasBackingField` - [`KT-70770`](https://youtrack.jetbrains.com/issue/KT-70770) KaLocalVariableSymbol: support `isLateInit` ##### Performance Improvements - [`KT-78526`](https://youtrack.jetbrains.com/issue/KT-78526) Get rid of redundant `checkValidity` from `withPsiValidityAssertion` ##### Fixes - [`KT-77674`](https://youtrack.jetbrains.com/issue/KT-77674) Analysis API: Redundant smart cast to the original type - [`KT-76577`](https://youtrack.jetbrains.com/issue/KT-76577) Guard KaFirStopWorldCacheCleaner from deadlocks via threads waiting - [`KT-78820`](https://youtrack.jetbrains.com/issue/KT-78820) K2: ISE "FIR element class FirErrorExpressionImpl is not supported in constant evaluation" through RedundantValueArgumentInspection - [`KT-75057`](https://youtrack.jetbrains.com/issue/KT-75057) Analysis API: Reference to object through typealias in invoke operator call leads to original type - [`KT-79042`](https://youtrack.jetbrains.com/issue/KT-79042) Do not restore KaTypePointer if target kind has changed - [`KT-72421`](https://youtrack.jetbrains.com/issue/KT-72421) AA: "KtReference.resolveToSymbols" returns empty list when ASSIGN\_OPERATOR\_AMBGUITY error is present - [`KT-63464`](https://youtrack.jetbrains.com/issue/KT-63464) AA: KtPsiTypeProvider#asPsiType doesn't substitute kotlin.Unit - [`KT-75913`](https://youtrack.jetbrains.com/issue/KT-75913) K2: SymbolLightLazyAnnotation evaluates arguments and replaces them with constants - [`KT-78628`](https://youtrack.jetbrains.com/issue/KT-78628) K2. Setting Receiver=true in Change Signature produces parameter of regular function type receiver instead of extension function type - [`KT-78278`](https://youtrack.jetbrains.com/issue/KT-78278) ISE: FIR element "class org.jetbrains.kotlin.fir.expressions.impl.FirErrorResolvedQualifierImpl" is not supported in constant evaluation at org.jetbrains.uast.kotlin.internal.FirKotlinUastConstantEvaluator.evaluate - [`KT-73184`](https://youtrack.jetbrains.com/issue/KT-73184) Analysis API: KaFunctionCall.argumentMapping is unexpectedly deparenthesised - [`KT-73327`](https://youtrack.jetbrains.com/issue/KT-73327) Cover all psi inputs with scope validity assertions - [`KT-78613`](https://youtrack.jetbrains.com/issue/KT-78613) PSI: add binary compatibility checks - [`KT-74013`](https://youtrack.jetbrains.com/issue/KT-74013) Analysis API: Cover the API surface with `@SubclassOptInRequired` annotations - [`KT-76614`](https://youtrack.jetbrains.com/issue/KT-76614) Move the parser and lexer to a separate module - [`KT-78552`](https://youtrack.jetbrains.com/issue/KT-78552) `KaFunctionValueParameter` is not marked as `KaLifetimeOwner` - [`KT-71152`](https://youtrack.jetbrains.com/issue/KT-71152) Add back SubclassOptInRequired to classes in KaModule.kt - [`KT-71876`](https://youtrack.jetbrains.com/issue/KT-71876) Support storing parameter names in `KaFunctionType` - [`KT-77738`](https://youtrack.jetbrains.com/issue/KT-77738) AA: inconsistent `KaType.allSupertypes` regarding multiple iterations - [`KT-75358`](https://youtrack.jetbrains.com/issue/KT-75358) K2 AA, KaFirVisibilityChecker: private member of anonymous object is not visible inside it - [`KT-73723`](https://youtrack.jetbrains.com/issue/KT-73723) K2 AA, KaFirVisibilityChecker: protected member of superclass is not visible from anonymous object - [`KT-78057`](https://youtrack.jetbrains.com/issue/KT-78057) \[Analysis API, K2] Context parameters are not resolved in KDoc - [`KT-73758`](https://youtrack.jetbrains.com/issue/KT-73758) K2 Mode: "KaEvaluator.evaluate" does not work for simple arithmetic expressions - [`KT-72301`](https://youtrack.jetbrains.com/issue/KT-72301) K2 AA. `PSI should present for declaration built by Kotlin code` on property access syntax of generic Java getter through Kotlin subclass - [`KT-77730`](https://youtrack.jetbrains.com/issue/KT-77730) K2: Unable to get a light PSI for a nested annotation used with fully-qualified name - [`KT-73216`](https://youtrack.jetbrains.com/issue/KT-73216) K2: unresolvable references in type parameters - [`KT-71794`](https://youtrack.jetbrains.com/issue/KT-71794) Analysis API: Types with errors have unresolved qualifiers in lambda parameters position - [`KT-65846`](https://youtrack.jetbrains.com/issue/KT-65846) Support parameter names in functional type rendering - [`KT-76738`](https://youtrack.jetbrains.com/issue/KT-76738) K2 AA: rendering constructor of sealed class inserts protected modifier - [`KT-77515`](https://youtrack.jetbrains.com/issue/KT-77515) `KaTypeProvider#receiverType` should be more tolerant to an error code - [`KT-77333`](https://youtrack.jetbrains.com/issue/KT-77333) K2 AA: KaFirTypeProvider.getType: InvalidFirElementTypeException: For TYPE\_REFERENCE with text `I`, unexpected element of type: FirSuperReceiverExpressionImpl found - [`KT-76044`](https://youtrack.jetbrains.com/issue/KT-76044) K2 AA: isFun is true for restored symbol of Java interface with several methods - [`KT-77264`](https://youtrack.jetbrains.com/issue/KT-77264) `KaTypeProvider#type` should be more tolerant to an error code - [`KT-77282`](https://youtrack.jetbrains.com/issue/KT-77282) KaPropertySymbol: support `isDelegatedProperty` for libraries - [`KT-77254`](https://youtrack.jetbrains.com/issue/KT-77254) K2 AA: expectedType doesn't provide anything for parameter default value - [`KT-74777`](https://youtrack.jetbrains.com/issue/KT-74777) KaVariableSymbol.hasBackingField returns incorrect result for libraries - [`KT-77280`](https://youtrack.jetbrains.com/issue/KT-77280) Rename `KaPropertyAccessorSymbol#isCustom` to `isNotDefault` - [`KT-77210`](https://youtrack.jetbrains.com/issue/KT-77210) Analysis API: `scopeContext` shows implicit receiver with a class instance in the class constructor - [`KT-77196`](https://youtrack.jetbrains.com/issue/KT-77196) Clarify differences between KaPropertyAccessorSymbol#{isDefault, hasBody} - [`KT-76580`](https://youtrack.jetbrains.com/issue/KT-76580) K2: No expected type for the second+ vararg argument - [`KT-76750`](https://youtrack.jetbrains.com/issue/KT-76750) K2. internal exception 'Unable to provide inlay hint' on typo in nested lambdas - [`KT-73290`](https://youtrack.jetbrains.com/issue/KT-73290) Analysis API: Improve the architecture of content scopes and resolution scopes - [`KT-73055`](https://youtrack.jetbrains.com/issue/KT-73055) Get rid of the deprecated Analysis API API - [`KT-70199`](https://youtrack.jetbrains.com/issue/KT-70199) K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments ##### Backend. Wasm ##### New Features - [`KT-65721`](https://youtrack.jetbrains.com/issue/KT-65721) K/Wasm: stop unconditionally exporting any main function from the root package ##### Performance Improvements - [`KT-70097`](https://youtrack.jetbrains.com/issue/KT-70097) Optimize shared primitive variables in Native and Wasm ##### Fixes - [`KT-80106`](https://youtrack.jetbrains.com/issue/KT-80106) devServer in Kotlin/Wasm overwrites defaults, causing missing static paths - [`KT-80018`](https://youtrack.jetbrains.com/issue/KT-80018) K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit) - [`KT-66072`](https://youtrack.jetbrains.com/issue/KT-66072) K/Wasm: improve how exceptions work in JS interop - [`KT-77897`](https://youtrack.jetbrains.com/issue/KT-77897) WasmJs: ClassCastException when using star-projection with nullable transformation in generic extension function - [`KT-71533`](https://youtrack.jetbrains.com/issue/KT-71533) K/Wasm + K2: no error on KClass::qualifiedName usages - [`KT-73931`](https://youtrack.jetbrains.com/issue/KT-73931) WASM: "RuntimeError: illegal cast" with nullable generic - [`KT-65403`](https://youtrack.jetbrains.com/issue/KT-65403) \[WASM] RuntimeError is thrown instead of ClassCastException - [`KT-79317`](https://youtrack.jetbrains.com/issue/KT-79317) \[Wasm] Do not throw CCE for ExcludedFromCodegen declarations - [`KT-66085`](https://youtrack.jetbrains.com/issue/KT-66085) K/WASM: Runtime error is uncaught with `catch (e: Throwable)` - [`KT-78036`](https://youtrack.jetbrains.com/issue/KT-78036) K/Wasm: generate a message with "expected" and "actual" types in case of CCE - [`KT-78384`](https://youtrack.jetbrains.com/issue/KT-78384) K/Wasm: Incorrect debug info of local declarations in inline function from another file - [`KT-72220`](https://youtrack.jetbrains.com/issue/KT-72220) Wasm: Unclear exception in case of missed dependency - [`KT-71691`](https://youtrack.jetbrains.com/issue/KT-71691) No trace on Wasm/JS if an error occurred in initializing global variables in a file with the main function - [`KT-67554`](https://youtrack.jetbrains.com/issue/KT-67554) \[Wasm] Consider to have reference equals or/and equals for function references - [`KT-71521`](https://youtrack.jetbrains.com/issue/KT-71521) K/Wasm: incorrect results on equality checks for capturing property references - [`KT-71522`](https://youtrack.jetbrains.com/issue/KT-71522) K/Wasm: incorrect results on equality checks for function references - [`KT-69570`](https://youtrack.jetbrains.com/issue/KT-69570) K/Wasm: JsExport with default parameter value compiles to invalid Wasm - [`KT-71517`](https://youtrack.jetbrains.com/issue/KT-71517) K/Wasm: KClass::qualifiedName for local classes and objects returns non-null value - [`KT-68309`](https://youtrack.jetbrains.com/issue/KT-68309) WASM: Anonymous class simpleName returns "<no name provided>" instead of null - [`KT-77272`](https://youtrack.jetbrains.com/issue/KT-77272) K/Wasm: Remove kotlin.wasm.internal.ClosureBox\* classes from the standard library - [`KT-66106`](https://youtrack.jetbrains.com/issue/KT-66106) Wasm: lambda was not invoked in test lambda2.kt - [`KT-77855`](https://youtrack.jetbrains.com/issue/KT-77855) \[Wasm] Improve virtual function calls speed for lambdas - [`KT-77501`](https://youtrack.jetbrains.com/issue/KT-77501) Wasm: unsigned vararg compiles to invalid Wasm - [`KT-76775`](https://youtrack.jetbrains.com/issue/KT-76775) \[Wasm] Inconsistent FP mod operation - [`KT-77464`](https://youtrack.jetbrains.com/issue/KT-77464) Wasm: KType.toString() has simple names even with -Xwasm-kclass-fqn - [`KT-77465`](https://youtrack.jetbrains.com/issue/KT-77465) Wasm: KTypeParamter printed without variance information ##### Compiler ##### New Features - [`KT-71768`](https://youtrack.jetbrains.com/issue/KT-71768) Enable -Xjvm-default=all-compatibility by default to generate JVM default interface methods - [`KT-78374`](https://youtrack.jetbrains.com/issue/KT-78374) Make indy lambda function name generation more consistent - [`KT-45683`](https://youtrack.jetbrains.com/issue/KT-45683) Allow generics in contract type assertions - [`KT-27090`](https://youtrack.jetbrains.com/issue/KT-27090) Support contracts in getter and setter for top-level extension properties - [`KT-76766`](https://youtrack.jetbrains.com/issue/KT-76766) Warning is missing for wrong subclass checking - [`KT-71244`](https://youtrack.jetbrains.com/issue/KT-71244) Incorporate existing `@CheckReturnValue` annotation(s) into Kotlin's unused return value checker - [`KT-73256`](https://youtrack.jetbrains.com/issue/KT-73256) Implement `all` meta-target for annotations - [`KT-78792`](https://youtrack.jetbrains.com/issue/KT-78792) Report warning for redundant return in expression body - [`KT-32313`](https://youtrack.jetbrains.com/issue/KT-32313) Support contracts for operator functions - [`KT-70722`](https://youtrack.jetbrains.com/issue/KT-70722) Implement better Kotlin warnings for value classes and JEP 390 (Warnings for Value-Based Classes) - [`KT-65688`](https://youtrack.jetbrains.com/issue/KT-65688) Generate when-expressions over final classes via invokedynamic typeSwitch + tableswitch on JDK 21+ - [`KT-54344`](https://youtrack.jetbrains.com/issue/KT-54344) Trigger the unused expression warning for interpolated strings, even when the expression may have side effects - [`KT-74807`](https://youtrack.jetbrains.com/issue/KT-74807) Implement 'full' unused return value checker mode - [`KT-77653`](https://youtrack.jetbrains.com/issue/KT-77653) K/N: an optimization pass to remove redundant type checks - [`KT-64477`](https://youtrack.jetbrains.com/issue/KT-64477) Enhance KotlinLightParser to make it able to parse scripts - [`KT-74809`](https://youtrack.jetbrains.com/issue/KT-74809) Support unnamed local variables - [`KT-72941`](https://youtrack.jetbrains.com/issue/KT-72941) ANNOTATIONS\_ON\_BLOCK\_LEVEL\_EXPRESSION\_ON\_THE\_SAME\_LINE missing in K2 - [`KT-75061`](https://youtrack.jetbrains.com/issue/KT-75061) Support context-sensitive resolution in type position ##### Performance Improvements - [`KT-77993`](https://youtrack.jetbrains.com/issue/KT-77993) Optimize old PSI/LightTree Kotlin parser - [`KT-78672`](https://youtrack.jetbrains.com/issue/KT-78672) Consider having FirCallableSymbol.callableId null for local properties / parameters - [`KT-77839`](https://youtrack.jetbrains.com/issue/KT-77839) K2: consider not creating CallableId for value parameters / variables / fields - [`KT-74981`](https://youtrack.jetbrains.com/issue/KT-74981) Kotlin/Native: large binary size for iOS target in 2.1.0(LLVM16) - [`KT-77838`](https://youtrack.jetbrains.com/issue/KT-77838) K2: consider replacing LinkedHashMap with HashMap inside scopes and scope session - [`KT-76698`](https://youtrack.jetbrains.com/issue/KT-76698) Android Studio compose preview holds read lock 700ms for KaCompilerFacility API - [`KT-68677`](https://youtrack.jetbrains.com/issue/KT-68677) Kotlin compilation issue when using EnumMap and Pair ##### Fixes - [`KT-79979`](https://youtrack.jetbrains.com/issue/KT-79979) K2: ClassCastException when overriding extension property with delegation - [`KT-67146`](https://youtrack.jetbrains.com/issue/KT-67146) `UPPER_BOUND_VIOLATED` missing on implicit type arguments - [`KT-76477`](https://youtrack.jetbrains.com/issue/KT-76477) Kotlin/Native: fix compiler performance reporting in sources->klib and klibs->binary - [`KT-79866`](https://youtrack.jetbrains.com/issue/KT-79866) kotlinc 2.2.0 silently emits 'NonExistentClass' instead of reporting an error - [`KT-78666`](https://youtrack.jetbrains.com/issue/KT-78666) "Platform declaration clash" caused by indy lambda name generation which generates conflicting names - [`KT-80285`](https://youtrack.jetbrains.com/issue/KT-80285) IJ monorepo: broken compilation after 2.2.20-RC update - [`KT-79442`](https://youtrack.jetbrains.com/issue/KT-79442) "Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfaces - [`KT-78589`](https://youtrack.jetbrains.com/issue/KT-78589) "Class does not have member field" caused by delegation from a Java to Kotlin class - [`KT-79816`](https://youtrack.jetbrains.com/issue/KT-79816) Java Interfaces implemented by delegation have non-null return checks - [`KT-78097`](https://youtrack.jetbrains.com/issue/KT-78097) False positive NO\_ELSE\_IN\_WHEN on sealed interface with negative is check - [`KT-77182`](https://youtrack.jetbrains.com/issue/KT-77182) A function in a file annotated with `@file`:MustUseReturnValue doesn't produce a warning when it is used from compiled code - [`KT-79085`](https://youtrack.jetbrains.com/issue/KT-79085) Adding `-Xreturn-value-checker=full` to kotlinc causes "error: conflicting overloads" - [`KT-75268`](https://youtrack.jetbrains.com/issue/KT-75268) K2: Implement the new compilation scheme for MPP (compiler part) - [`KT-78843`](https://youtrack.jetbrains.com/issue/KT-78843) FIR tree: comments within String concatenation aren't visited in 2.2.0 - [`KT-77401`](https://youtrack.jetbrains.com/issue/KT-77401) \[FIR] `ParameterNameTypeAttribute.name` doesn't support `@ParameterName` with compile-time constant property argument - [`KT-73611`](https://youtrack.jetbrains.com/issue/KT-73611) Remove -Xextended-compiler-checks in favor of a deprecation cycle - [`KT-79276`](https://youtrack.jetbrains.com/issue/KT-79276) Dexing fails with "Cannot read field X because <local0> is null" with 2.2.0 - [`KT-79781`](https://youtrack.jetbrains.com/issue/KT-79781) Missing MISSING\_DEPENDENCY\_CLASS when using type alias with inaccessible RHS - [`KT-78621`](https://youtrack.jetbrains.com/issue/KT-78621) false-positive type mismatch error on value of nullable type as value of platform type - [`KT-79547`](https://youtrack.jetbrains.com/issue/KT-79547) "UnsupportedOperationException: Not supported" with inlining and value classes - [`KT-52706`](https://youtrack.jetbrains.com/issue/KT-52706) Bad signature for generic value classes with substituted type parameter - [`KT-79519`](https://youtrack.jetbrains.com/issue/KT-79519) Nested type alias is unreachable from another module - [`KT-76839`](https://youtrack.jetbrains.com/issue/KT-76839) False-negative MISSING\_DEPENDENCY\_CLASS on parameter of data class constructor - [`KT-78352`](https://youtrack.jetbrains.com/issue/KT-78352) False-positive IDENTITY\_SENSITIVE\_OPERATIONS\_WITH\_VALUE\_TYPE when comparing with equality operator (==) - [`KT-78815`](https://youtrack.jetbrains.com/issue/KT-78815) `Symbol not found: __ZNSt3__117bad_function_callD1Ev` error on iOS 15.5 simulator in Xcode 16.3 after update to 2.2.0-Beta2 - [`KT-25341`](https://youtrack.jetbrains.com/issue/KT-25341) NOT\_YET\_SUPPORTED\_IN\_INLINE reported over anonymous object border - [`KT-77099`](https://youtrack.jetbrains.com/issue/KT-77099) 'all' annotation target is not a soft keyword - [`KT-76478`](https://youtrack.jetbrains.com/issue/KT-76478) FIR: Implement IDE-only checker for types exposed in inline function - [`KT-79355`](https://youtrack.jetbrains.com/issue/KT-79355) Failed to fix the problem of desugared `inc` with new reverse implies returns contract - [`KT-79277`](https://youtrack.jetbrains.com/issue/KT-79277) Implies returns contract doesn't affect the return type of the function if it is in the argument position - [`KT-79271`](https://youtrack.jetbrains.com/issue/KT-79271) Implies returns contract doesn't impact exhaustiveness - [`KT-79218`](https://youtrack.jetbrains.com/issue/KT-79218) SMARTCAST\_IMPOSSIBLE for top‑level extension‑property getter despite returnsNotNull contract - [`KT-79220`](https://youtrack.jetbrains.com/issue/KT-79220) returnsNotNull contract ignored on extension function with nullable receiver - [`KT-79354`](https://youtrack.jetbrains.com/issue/KT-79354) IllegalStateException: Debug metadata version mismatch. Expected: 1, got 2 with compiler 2.2.20-Beta1 and stdlib 2.2.0 - [`KT-78479`](https://youtrack.jetbrains.com/issue/KT-78479) IR lowering failed / Unexpected null argument for composable call - [`KT-77986`](https://youtrack.jetbrains.com/issue/KT-77986) K2: False negative: "Local classes are not yet supported in inline functions" - [`KT-79076`](https://youtrack.jetbrains.com/issue/KT-79076) 'IllegalStateException: Cannot serialize error type: ERROR CLASS: Uninferred type' with Exposed column using recursive generic type - [`KT-78726`](https://youtrack.jetbrains.com/issue/KT-78726) Split runPsiToIr phase into runPsiToIr and runIrLinker - [`KT-77672`](https://youtrack.jetbrains.com/issue/KT-77672) K/N: come up with a fallback strategy for the casts optimization pass - [`KT-76365`](https://youtrack.jetbrains.com/issue/KT-76365) K2: Missing ABSTRACT\_SUPER\_CALL - [`KT-76585`](https://youtrack.jetbrains.com/issue/KT-76585) K2: RETURN\_IN\_FUNCTION\_WITH\_EXPRESSION\_BODY is not reported inside initializers of local variables - [`KT-79099`](https://youtrack.jetbrains.com/issue/KT-79099) K2: Do not inherit inline modifier - [`KT-76902`](https://youtrack.jetbrains.com/issue/KT-76902) Omit type-use annotations from diagnostics - [`KT-64499`](https://youtrack.jetbrains.com/issue/KT-64499) Report error on overloading by order of context parameters - [`KT-58988`](https://youtrack.jetbrains.com/issue/KT-58988) K2: Deprecate exposing package-private parameter of internal method - [`KT-77199`](https://youtrack.jetbrains.com/issue/KT-77199) OPT\_IN\_USAGE\_ERROR is still absent when calling the enum primary constructor - [`KT-72800`](https://youtrack.jetbrains.com/issue/KT-72800) K2: java.util.NoSuchElementException when introduce variable - [`KT-79056`](https://youtrack.jetbrains.com/issue/KT-79056) Add experimental language version 2.5 - [`KT-17460`](https://youtrack.jetbrains.com/issue/KT-17460) Diagnostics and intention on suspend function that is overriden with non-suspend one. - [`KT-78351`](https://youtrack.jetbrains.com/issue/KT-78351) Plugins: VIRTUAL\_MEMBER\_HIDDEN caused by FirSupertypeGenerationExtension - [`KT-78527`](https://youtrack.jetbrains.com/issue/KT-78527) No LESS\_VISIBLE\_TYPE\_ACCESS\_IN\_INLINE\_WARNING is reported when a private companion object is accessed via the class name - [`KT-79045`](https://youtrack.jetbrains.com/issue/KT-79045) FirExpectActualMatcherTransformer should not visit bodies - [`KT-74570`](https://youtrack.jetbrains.com/issue/KT-74570) K2: Linenumber for annotation on property is present in LVT - [`KT-74569`](https://youtrack.jetbrains.com/issue/KT-74569) K2: Linenumber of annotation is present in constructor's LVT - [`KT-64731`](https://youtrack.jetbrains.com/issue/KT-64731) K2: Annotation on inline function or inside inline function is hit by debugger - [`KT-77756`](https://youtrack.jetbrains.com/issue/KT-77756) Add experimental language version 2.4 - [`KT-78837`](https://youtrack.jetbrains.com/issue/KT-78837) linkReleaseFrameworkIosArm64: Compilation failed: An interface expected but was Any - [`KT-78945`](https://youtrack.jetbrains.com/issue/KT-78945) CONTRACT\_NOT\_ALLOWED is not reported for local operator functions - [`KT-78944`](https://youtrack.jetbrains.com/issue/KT-78944) ANNOTATION\_IN\_CONTRACT\_ERROR is not reported for operators and property accessors with contracts - [`KT-78943`](https://youtrack.jetbrains.com/issue/KT-78943) ERROR\_IN\_CONTRACT\_DESCRIPTION is not reported for operators and property accessors with contracts - [`KT-78932`](https://youtrack.jetbrains.com/issue/KT-78932) Contracts are allowed for open and overridden property accessors - [`KT-77203`](https://youtrack.jetbrains.com/issue/KT-77203) FIR: Consider adding destructured type to all COMPONENT\_FUNCTION\_\* diagnostics - [`KT-76635`](https://youtrack.jetbrains.com/issue/KT-76635) Implement Data-Flow Based Exhaustiveness Support - [`KT-78805`](https://youtrack.jetbrains.com/issue/KT-78805) K2: False positive METHOD\_OF\_ANY\_IMPLEMENTED\_IN\_INTERFACE - [`KT-78651`](https://youtrack.jetbrains.com/issue/KT-78651) No need to report LESS\_VISIBLE\_TYPE\_ACCESS\_IN\_INLINE\_WARNING in noinline default value lambda - [`KT-78849`](https://youtrack.jetbrains.com/issue/KT-78849) K2: \[Wasm, Fir2IR] Invalid smartcast on overloaded function call - [`KT-78793`](https://youtrack.jetbrains.com/issue/KT-78793) Make feature AllowEagerSupertypeAccessibilityChecks experimental - [`KT-78736`](https://youtrack.jetbrains.com/issue/KT-78736) Missing \[NOT\_YET\_SUPPORTED\_IN\_INLINE] diagnostics because of incorrect context update - [`KT-78324`](https://youtrack.jetbrains.com/issue/KT-78324) K2: False negative \[INCONSISTENT\_TYPE\_PARAMETER\_VALUES] - [`KT-69975`](https://youtrack.jetbrains.com/issue/KT-69975) KDoc: cannot reference elements with names in backticks - [`KT-78229`](https://youtrack.jetbrains.com/issue/KT-78229) KDoc: unable to reference a method with spaces in the name - [`KT-78047`](https://youtrack.jetbrains.com/issue/KT-78047) Render unnamed context parameters as \_ instead of <unused var> - [`KT-74621`](https://youtrack.jetbrains.com/issue/KT-74621) Debugger: AssertionError on evaluating two suspending calls - [`KT-78784`](https://youtrack.jetbrains.com/issue/KT-78784) Improve deprecation warnings about KTLC-284 - [`KT-76826`](https://youtrack.jetbrains.com/issue/KT-76826) New inference error \[NewConstraintError at Incorporate TypeVariable] caused by recursive generics and nullable expected type - [`KT-77685`](https://youtrack.jetbrains.com/issue/KT-77685) "IllegalArgumentException: Sequence contains more than one matching element" - [`KT-78028`](https://youtrack.jetbrains.com/issue/KT-78028) "FirNamedFunctionSymbol" leaks to the error message about missing infix modifier - [`KT-77245`](https://youtrack.jetbrains.com/issue/KT-77245) Add expression name to RETURN\_VALUE\_NOT\_USED diagnostic - [`KT-78071`](https://youtrack.jetbrains.com/issue/KT-78071) False-positive NO\_ELSE\_IN\_WHEN after variable reassignment - [`KT-78068`](https://youtrack.jetbrains.com/issue/KT-78068) False-positive NO\_ELSE\_IN\_WHEN after excluding enum value with inequality check - [`KT-71134`](https://youtrack.jetbrains.com/issue/KT-71134) Consider to get rid of CapturedTypeMarker.withNotNullProjection() - [`KT-77131`](https://youtrack.jetbrains.com/issue/KT-77131) getValue/setValue can be declared with more than two/three parameters - [`KT-78452`](https://youtrack.jetbrains.com/issue/KT-78452) Drop redundant frontend structures after fir2ir conversion - [`KT-78458`](https://youtrack.jetbrains.com/issue/KT-78458) Don't populate PredicateBasedProvider if no lookup predicates are registered - [`KT-78440`](https://youtrack.jetbrains.com/issue/KT-78440) Lambda with an implicitly runtime-retained annotation is generated via invokedynamic with `-Xindy-allow-annotated-lambdas=false` - [`KT-77709`](https://youtrack.jetbrains.com/issue/KT-77709) Missing diagnostics of accessing less visible objects in inline function - [`KT-77577`](https://youtrack.jetbrains.com/issue/KT-77577) False positive exposed type warnings - [`KT-77095`](https://youtrack.jetbrains.com/issue/KT-77095) FIR: Report warnings on exposure of references to invisible references in inline functions - [`KT-76981`](https://youtrack.jetbrains.com/issue/KT-76981) Move exposed type checker to regular checkers - [`KT-78252`](https://youtrack.jetbrains.com/issue/KT-78252) ClassCastException when `Array<Void>` used for compile-time vararg of `Nothing` - [`KT-77713`](https://youtrack.jetbrains.com/issue/KT-77713) Context Parameters cause compiler generate r8 incompatible bytecode - [`KT-71854`](https://youtrack.jetbrains.com/issue/KT-71854) K2 IDE. False positive red code because of external annotation on a generic parameter - [`KT-67335`](https://youtrack.jetbrains.com/issue/KT-67335) K2: Infers Int instead of Long for an ILT - [`KT-76629`](https://youtrack.jetbrains.com/issue/KT-76629) K2 Mode: False positive RedundantVisibilityModifier inspection on private constructors in sealed classes - [`KT-77728`](https://youtrack.jetbrains.com/issue/KT-77728) Drop controversial experimental checkers - [`KT-78429`](https://youtrack.jetbrains.com/issue/KT-78429) K2: Property callable reference incorrectly smart-casted to intersection of property type and KProperty - [`KT-78509`](https://youtrack.jetbrains.com/issue/KT-78509) Renamed for override copy functions are cached in scope instead of session - [`KT-17417`](https://youtrack.jetbrains.com/issue/KT-17417) Loops in delegation: no compilation error on non-abstract class with abstract method that never implemented - [`KT-75033`](https://youtrack.jetbrains.com/issue/KT-75033) Split JvmBackendPipelinePhase to be able to provide a custom implementation of writeOutputs - [`KT-75831`](https://youtrack.jetbrains.com/issue/KT-75831) K2: An extra "\[VALUE\_PARAMETER\_WITHOUT\_EXPLICIT\_TYPE] An explicit type is required on a value parameter." for a missing parameter - [`KT-78370`](https://youtrack.jetbrains.com/issue/KT-78370) All the \[something]Assign operators on dynamic return Unit as a type - [`KT-73950`](https://youtrack.jetbrains.com/issue/KT-73950) K2 IDE / Kotlin Debugger: ISE “Fake override should have at least one overridden descriptor” on evaluation of local calss in presence of bystander - [`KT-78280`](https://youtrack.jetbrains.com/issue/KT-78280) Implement the sourceless `KtDiagnostic`s - [`KT-76543`](https://youtrack.jetbrains.com/issue/KT-76543) Migrate psi2ir sources to new IR parameter API - [`KT-77716`](https://youtrack.jetbrains.com/issue/KT-77716) Kotlin/Native and -Xseparate-kmp-compilation: "Compilation failed: Several functions kotlin/native/immutableBlobOf found" - [`KT-76400`](https://youtrack.jetbrains.com/issue/KT-76400) Context-sensitive resolution doesn’t work in if-else condition passed as a function argument - [`KT-76606`](https://youtrack.jetbrains.com/issue/KT-76606) Enable 'Indy: Allow lambdas with annotations' by default - [`KT-76739`](https://youtrack.jetbrains.com/issue/KT-76739) Dubious argument type mismatch "actual type is 'String', but 'String' was expected" caused by wrong number of type arguments - [`KT-78121`](https://youtrack.jetbrains.com/issue/KT-78121) Report warning on function type with multiple implicit values that's annotated with DSL marker - [`KT-76872`](https://youtrack.jetbrains.com/issue/KT-76872) Anonymous context parameters are not visible in debugger - [`KT-74088`](https://youtrack.jetbrains.com/issue/KT-74088) Kotlin Debugger: CCE on evaluating private suspend function - [`KT-77301`](https://youtrack.jetbrains.com/issue/KT-77301) False positive Context Parameter resolution when using DslMarker - [`KT-78230`](https://youtrack.jetbrains.com/issue/KT-78230) Add more test cases to the holdsIn contracts - [`KT-78111`](https://youtrack.jetbrains.com/issue/KT-78111) K2: Approximation of captured star projection in function type produces `Function1<Nothing?, Unit>` in IR - [`KT-77273`](https://youtrack.jetbrains.com/issue/KT-77273) K/N: Remove the kotlin.native.internal.Ref class from the standard library - [`KT-73995`](https://youtrack.jetbrains.com/issue/KT-73995) JVM bytecode: Bad name for value class field - [`KT-73013`](https://youtrack.jetbrains.com/issue/KT-73013) Kotlin Debugger: ISE “No mapping for symbol: VALUE\_PARAMETER” on evaluating callable reference to local function with closure in it - [`KT-77665`](https://youtrack.jetbrains.com/issue/KT-77665) K2: unresolved annotatation on local context parameter type - [`KT-77485`](https://youtrack.jetbrains.com/issue/KT-77485) Add constraints logging to inference - [`KT-76504`](https://youtrack.jetbrains.com/issue/KT-76504) Find and deprecate actively used parts of K1 API - [`KT-75338`](https://youtrack.jetbrains.com/issue/KT-75338) K2 Mode: False positive "Redundant assignment" diagnostic on variable captured by local function - [`KT-77648`](https://youtrack.jetbrains.com/issue/KT-77648) K2: False negative DSL\_SCOPE\_VIOLATION when using named argument for lambda with annotated function type - [`KT-77355`](https://youtrack.jetbrains.com/issue/KT-77355) Report warning on overloading by a superset of another overload's context parameters - [`KT-77354`](https://youtrack.jetbrains.com/issue/KT-77354) Report warning on overloading by a subtype of another overload's context parameter - [`KT-78084`](https://youtrack.jetbrains.com/issue/KT-78084) Unify deprecation warning messages - [`KT-76776`](https://youtrack.jetbrains.com/issue/KT-76776) `@MustUseReturnValue` doesn't affect nested scopes - [`KT-77545`](https://youtrack.jetbrains.com/issue/KT-77545) `@NoInfer` on receiver type leads to false positive type mismatch when generic type is specified explicitly and closest implicit receiver is of incorrect type - [`KT-76772`](https://youtrack.jetbrains.com/issue/KT-76772) `@NoInfer` on a context parameter's type leads to a false-positive context argument ambiguity error regardless of the closest implicit values' types if there are multiple of them at the call site - [`KT-76771`](https://youtrack.jetbrains.com/issue/KT-76771) `@NoInfer` on context parameter type leads to a false-positive type mismatch when generic type is specified explicitly and closest implicit value at the call site is of a mismatching type - [`KT-77156`](https://youtrack.jetbrains.com/issue/KT-77156) INITIALIZATION\_BEFORE\_DECLARATION is not reported in anonymous object - [`KT-78060`](https://youtrack.jetbrains.com/issue/KT-78060) UNRESOLVED\_REFERENCE in fp-space - [`KT-67555`](https://youtrack.jetbrains.com/issue/KT-67555) Debug metadata: map the Continuation label to the next executable location in file - [`KT-77723`](https://youtrack.jetbrains.com/issue/KT-77723) Refine the message for ArrayEqualityCanBeReplacedWithEquals checker - [`KT-75178`](https://youtrack.jetbrains.com/issue/KT-75178) Inline functions in conjunction with `@JvmStatic` may result in bytecode errors - [`KT-77390`](https://youtrack.jetbrains.com/issue/KT-77390) Prototype lazy loading of stdlib symbols in Native - [`KT-77921`](https://youtrack.jetbrains.com/issue/KT-77921) False positive EXTENSION\_SHADOWED\_BY\_MEMBER when member has context parameters - [`KT-77895`](https://youtrack.jetbrains.com/issue/KT-77895) false-negative error on package directives with context parameter lists (even with context parameters disabled) - [`KT-76767`](https://youtrack.jetbrains.com/issue/KT-76767) AMBIGUOUS\_CONTEXT\_ARGUMENT should report the name of the context parameter in addition to the type - [`KT-77444`](https://youtrack.jetbrains.com/issue/KT-77444) K2: False negative "Unchecked cast" with casting from MutableList<out T> to MutableList<T> - [`KT-63348`](https://youtrack.jetbrains.com/issue/KT-63348) K2: FIR2IR should properly pass expected types - [`KT-77627`](https://youtrack.jetbrains.com/issue/KT-77627) K2: consider getting rid of NEW\_INFERENCE\_ERROR - [`KT-75833`](https://youtrack.jetbrains.com/issue/KT-75833) K2: Extra \[ANNOTATION\_ARGUMENT\_MUST\_BE\_CONST] when passing regex-like strings as annotation arguments - [`KT-77547`](https://youtrack.jetbrains.com/issue/KT-77547) Native: add a check that the logic looking for stdlib-related bitcode is not used when compiling sources to a klib - [`KT-77206`](https://youtrack.jetbrains.com/issue/KT-77206) Remove `PARAMETER_NAME_CHANGED_ON_OVERRIDE` suppression in KMP lexers - [`KT-77679`](https://youtrack.jetbrains.com/issue/KT-77679) Update syntax-api dependency in KMP Kotlin parser - [`KT-77705`](https://youtrack.jetbrains.com/issue/KT-77705) K2: Consuming data class compiled with kotlin 1.0.5 breaks the K2 compiler - [`KT-76583`](https://youtrack.jetbrains.com/issue/KT-76583) CCE: suspend lambda attempts to unbox value class parameter twice after lambda suspended - [`KT-76663`](https://youtrack.jetbrains.com/issue/KT-76663) KJS: KotlinNothingValueException caused by expression return since 2.1.20 - [`KT-75457`](https://youtrack.jetbrains.com/issue/KT-75457) Native: cache machinery uses stdlib cache with default runtime options even if custom runtime options are supplied when partial linkage is disabled - [`KT-77563`](https://youtrack.jetbrains.com/issue/KT-77563) False-positive smart cast with captured local in init block causes NPE - [`KT-77696`](https://youtrack.jetbrains.com/issue/KT-77696) ISE "couldn't find inline method" on kotlin/Result compiled by old Kotlin version - [`KT-76931`](https://youtrack.jetbrains.com/issue/KT-76931) K2: Annotation on do-while expression captures variables from inside the loop - [`KT-77183`](https://youtrack.jetbrains.com/issue/KT-77183) Metadata: remove multi-field value class representation - [`KT-77678`](https://youtrack.jetbrains.com/issue/KT-77678) Apply found optimization to Kotlin KMP parser - [`KT-60127`](https://youtrack.jetbrains.com/issue/KT-60127) K2: Support scripts with LightTree-based raw FIR building - [`KT-76615`](https://youtrack.jetbrains.com/issue/KT-76615) K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" for mixed Java/Kotlin code - [`KT-77220`](https://youtrack.jetbrains.com/issue/KT-77220) Annotation with EXPRESSION is not allowed on lambdas in Kotlin 2.2.0 - [`KT-77656`](https://youtrack.jetbrains.com/issue/KT-77656) K/N: fix the super type for local delegated properties - [`KT-75907`](https://youtrack.jetbrains.com/issue/KT-75907) Inference/PCLA: consider storing semi-fixed variables in inference session - [`KT-77144`](https://youtrack.jetbrains.com/issue/KT-77144) Implement KMP Kotlin parser - [`KT-77352`](https://youtrack.jetbrains.com/issue/KT-77352) Implement KMP Expression parser - [`KT-76984`](https://youtrack.jetbrains.com/issue/KT-76984) SYNCHRONIZED\_BLOCK\_ON\_JAVA\_VALUE\_BASED\_CLASS isn't reported for primitive wrapper classes instantiated within the scope - [`KT-67471`](https://youtrack.jetbrains.com/issue/KT-67471) K2: "Unresolved reference" on incorrect term of FQ name - [`KT-77269`](https://youtrack.jetbrains.com/issue/KT-77269) \[K/N] external calls checker crashes when used with caches - [`KT-77205`](https://youtrack.jetbrains.com/issue/KT-77205) Kotlin Debugger / Context Parameters: CCE “class FirPropertySymbol cannot be cast to class FirFunctionSymbol” on evaluating class property - [`KT-74133`](https://youtrack.jetbrains.com/issue/KT-74133) FIR: use EmptyDeprecationsPerUseSite consistently in symbols - [`KT-77100`](https://youtrack.jetbrains.com/issue/KT-77100) java.lang.Void type is not ignorable - [`KT-77491`](https://youtrack.jetbrains.com/issue/KT-77491) K2: No SUPERTYPE\_IS\_EXTENSION\_FUNCTION\_TYPE when using typealias - [`KT-77490`](https://youtrack.jetbrains.com/issue/KT-77490) Report error on contextual function type in supertype - [`KT-77431`](https://youtrack.jetbrains.com/issue/KT-77431) Functional type with a context is allowed as an upper-bound - [`KT-77432`](https://youtrack.jetbrains.com/issue/KT-77432) Context isn't passed properly when functional type with a context is used as a type argument - [`KT-77417`](https://youtrack.jetbrains.com/issue/KT-77417) There is no TYPE\_VARIANCE\_CONFLICT\_ERROR when 'out' type is used in context - [`KT-62631`](https://youtrack.jetbrains.com/issue/KT-62631) Improve expect-actual "checking" incompatibilities reporting - [`KT-77481`](https://youtrack.jetbrains.com/issue/KT-77481) Support ExpectRefinement feature in HMPP compilation scheme - [`KT-77268`](https://youtrack.jetbrains.com/issue/KT-77268) Make sure that -Xreturn-value-checker also enables -XX:UnnamedLocalVariables - [`KT-65719`](https://youtrack.jetbrains.com/issue/KT-65719) K1/K2: Nullness defaults from subclass unsoundly applied to method in superclass - [`KT-53836`](https://youtrack.jetbrains.com/issue/KT-53836) In type-parameter declarations, recognize JSpecify annotations only on *bounds* - [`KT-73658`](https://youtrack.jetbrains.com/issue/KT-73658) JSpecify `@NonNull` annotation on type-parameter bound prevents type-variable usages from being platform types - [`KT-77000`](https://youtrack.jetbrains.com/issue/KT-77000) Leave ForbidInferOfInvisibleTypeAsReifiedOrVararg as a warning - [`KT-74084`](https://youtrack.jetbrains.com/issue/KT-74084) K2: False negative \[NO\_ELSE\_IN\_WHEN] - [`KT-77451`](https://youtrack.jetbrains.com/issue/KT-77451) FirLazyResolveContractViolationException for test with overridden delegate - [`KT-77397`](https://youtrack.jetbrains.com/issue/KT-77397) Report UNSUPPORTED\_CONTEXTUAL\_DECLARATION\_CALL when calling declaration with contextual function type in signature - [`KT-77137`](https://youtrack.jetbrains.com/issue/KT-77137) K2: Controversial behavior allows resolving annotation arguments on a companion inside it - [`KT-77257`](https://youtrack.jetbrains.com/issue/KT-77257) Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the conditional expression to the inaccessible interface - [`KT-77256`](https://youtrack.jetbrains.com/issue/KT-77256) Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the functional call result to the inaccessible interface - [`KT-76356`](https://youtrack.jetbrains.com/issue/KT-76356) K2 evaluation fails on evaluating inline methods if there is an inline with AutoCloseable - [`KT-73786`](https://youtrack.jetbrains.com/issue/KT-73786) Evaluator: cannot evaluate inline methods with reified parameter - [`KT-77204`](https://youtrack.jetbrains.com/issue/KT-77204) Native: XCode strip command causes flaky tests - [`KT-77351`](https://youtrack.jetbrains.com/issue/KT-77351) Implement KMP KDoc parser - [`KT-76914`](https://youtrack.jetbrains.com/issue/KT-76914) compile-time failure on a type argument placeholder in a callable reference - [`KT-76597`](https://youtrack.jetbrains.com/issue/KT-76597) False negative opt-in required on delegated constructor call - [`KT-76667`](https://youtrack.jetbrains.com/issue/KT-76667) Mark the class implementation of interface function with ACC\_BRIDGE in the class file - [`KT-77181`](https://youtrack.jetbrains.com/issue/KT-77181) K2: a nested typealias annotation observes member declarations of the outer class - [`KT-77180`](https://youtrack.jetbrains.com/issue/KT-77180) K2: Wrong scope for annotation arguments in the constructor header - [`KT-77287`](https://youtrack.jetbrains.com/issue/KT-77287) Try enforcing `source != null` when `origin == Source` - [`KT-76135`](https://youtrack.jetbrains.com/issue/KT-76135) K2: drop pre-1.8 language features from compiler code - [`KT-77231`](https://youtrack.jetbrains.com/issue/KT-77231) Reflection: CCE on resuming coroutine after callSuspend if result is a generic inline class substituted with primitive - [`KT-77031`](https://youtrack.jetbrains.com/issue/KT-77031) Investigate the actual need of deduplicating provider in HMPP compilation scheme - [`KT-77050`](https://youtrack.jetbrains.com/issue/KT-77050) Implement KMP KDoc lexer - [`KT-77048`](https://youtrack.jetbrains.com/issue/KT-77048) Implement KMP Kotlin lexer - [`KT-77044`](https://youtrack.jetbrains.com/issue/KT-77044) Consolidate, refine and update jFlex dependency - [`KT-77252`](https://youtrack.jetbrains.com/issue/KT-77252) It is impossible to declare an unnamed variable in a script - [`KT-58137`](https://youtrack.jetbrains.com/issue/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-77140`](https://youtrack.jetbrains.com/issue/KT-77140) Protect ConstraintSystemCompletionMode.UNTIL\_FIRST\_LAMBDA with opt-in - [`KT-76898`](https://youtrack.jetbrains.com/issue/KT-76898) K2: ClassCastException when data class shadows supertype's `componentX` method with wrong type - [`KT-75695`](https://youtrack.jetbrains.com/issue/KT-75695) Bogus "Assigned value is never read" warning for prefix ++ operator - [`KT-76805`](https://youtrack.jetbrains.com/issue/KT-76805) Wrong NPE occurs when assigning synthetic properties with platform types in Kotlin 2.1.20 - [`KT-77078`](https://youtrack.jetbrains.com/issue/KT-77078) K2: anonymous object is wrongly allowed to implement interfaces by unsafe Delegation - [`KT-72722`](https://youtrack.jetbrains.com/issue/KT-72722) Treat 'copy' calls of a data class as explicit constructor usages - [`KT-77149`](https://youtrack.jetbrains.com/issue/KT-77149) IllegalArgumentException: source must not be null - [`KT-76806`](https://youtrack.jetbrains.com/issue/KT-76806) K2: AIOOBE in FirEqualityCompatibilityChecker - [`KT-72391`](https://youtrack.jetbrains.com/issue/KT-72391) KJS: (a \* b).toDouble\_ygsx0s\_k$ is not a function - [`KT-76950`](https://youtrack.jetbrains.com/issue/KT-76950) K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" with nullable UByte - [`KT-76043`](https://youtrack.jetbrains.com/issue/KT-76043) Native: NotImplementedError: Generation of stubs for class org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl is not supported yet - [`KT-77126`](https://youtrack.jetbrains.com/issue/KT-77126) Transitive dependency mismatch between Kotlin Gradle Plugin and Scripting dependencies - [`KT-72831`](https://youtrack.jetbrains.com/issue/KT-72831) ANNOTATION\_USED\_AS\_ANNOTATION\_ARGUMENT missing in some cases in K2 - [`KT-73707`](https://youtrack.jetbrains.com/issue/KT-73707) Remove dependency on ":compiler:backend.jvm" from Native - [`KT-75499`](https://youtrack.jetbrains.com/issue/KT-75499) CheckerContext#{containingDeclaration, containingFile} in checkers should return symbols - [`KT-76548`](https://youtrack.jetbrains.com/issue/KT-76548) False positive TYPE\_MISMATCH when resolving an expression with the expected type from the upper bound - [`KT-76142`](https://youtrack.jetbrains.com/issue/KT-76142) K2: `@RequiresOptIn` warning does not display the custom message when using concatenated strings. - [`KT-68699`](https://youtrack.jetbrains.com/issue/KT-68699) Kotlin Debugger: UPAE “lateinit property parent has not been initialized” on trying evaluate enumValues<T>(), enumEntries<T>() from inlined function with reified parameter - [`KT-63267`](https://youtrack.jetbrains.com/issue/KT-63267) K2: incorrect line numbers after smart cast of an extension receiver - [`KT-71309`](https://youtrack.jetbrains.com/issue/KT-71309) Kotlin Debugger: UnsupportedOperationException on calling method with reified type parameter - [`KT-74912`](https://youtrack.jetbrains.com/issue/KT-74912) K2: Investigate irrelevant ARGUMENT\_TYPE\_MISMATCH on top-level lambdas - [`KT-74657`](https://youtrack.jetbrains.com/issue/KT-74657) K2: Linenumber for annotation on local variable is present in LVT - [`KT-76749`](https://youtrack.jetbrains.com/issue/KT-76749) NONE\_APPLICABLE message is unreadable for stdlib context function - [`KT-74932`](https://youtrack.jetbrains.com/issue/KT-74932) Investigate false-negative ARGUMENT\_TYPE\_MISMATCH on a nested anonymous function - [`KT-74545`](https://youtrack.jetbrains.com/issue/KT-74545) Redundant TYPE\_MISMATCH in variable initializer with call - [`KT-76774`](https://youtrack.jetbrains.com/issue/KT-76774) K2: Simplify ResolutionMode.WithExpectedType contracts - [`KT-76689`](https://youtrack.jetbrains.com/issue/KT-76689) Unnamed local variable with type and without initializer is allowed - [`KT-76746`](https://youtrack.jetbrains.com/issue/KT-76746) ClassCastException: class org.jetbrains.kotlin.fir.types.impl.FirUserTypeRefImpl cannot be cast to class - [`KT-76754`](https://youtrack.jetbrains.com/issue/KT-76754) K2: Compiler doesn't check annotations on array literals (as annotation arguments) - [`KT-76674`](https://youtrack.jetbrains.com/issue/KT-76674) The function isn't called from unnamed local variable initializer - [`KT-75553`](https://youtrack.jetbrains.com/issue/KT-75553) `MISSING_DEPENDENCY_SUPERCLASS` and `MISSING_DEPENDENCY_SUPERCLASS_WARNING` is reported at the same time on the same element - [`KT-76345`](https://youtrack.jetbrains.com/issue/KT-76345) Enhance variable fixation - [`KT-73348`](https://youtrack.jetbrains.com/issue/KT-73348) AssertionError from isCompiledToJvmDefault on super call of suspend function with composable function parameter - [`KT-72305`](https://youtrack.jetbrains.com/issue/KT-72305) K2: Report error when using synthetic properties in case of mapped collections - [`KT-73527`](https://youtrack.jetbrains.com/issue/KT-73527) Prohibit (via a deprecation warning) accessing nested class through generic outer class - [`KT-59886`](https://youtrack.jetbrains.com/issue/KT-59886) K2: Disappeared ERROR\_IN\_CONTRACT\_DESCRIPTION - [`KT-61227`](https://youtrack.jetbrains.com/issue/KT-61227) Definitely non-nullable types cause "Any was expected" for `@Nullable` parameter - [`KT-57911`](https://youtrack.jetbrains.com/issue/KT-57911) K2: Contracts are not inherited by substitution overrides - [`KT-47398`](https://youtrack.jetbrains.com/issue/KT-47398) 'null' EnhancedNullability value in String-based 'when' might produce different behavior depending on whether 'when' is "optimized" or not ##### Compose compiler - [`CMP-7505`](https://youtrack.jetbrains.com/issue/CMP-7505) IrLinkageError: Function can not be called: No function found for symbol - [`b/432262806`](https://issuetracker.google.com/issues/432262806) Fix target description lookup - [`b/436870733`](https://issuetracker.google.com/issues/436870733) Prevent lambda memoization in local classes inside a composable - [`b/432485982`](https://issuetracker.google.com/issues/432485982) Fix AbstractMethodError when overriding function with default parameters - [`b/432262806`](https://issuetracker.google.com/issues/432262806) Use classId as FirApplierInferencer tokens - [`b/400371006`](https://issuetracker.google.com/issues/400371006) Gate default parameters behind language versions - [`b/245673006`](https://issuetracker.google.com/issues/245673006) Specify fqName for classes and functions in build metrics - [`b/254577243`](https://issuetracker.google.com/issues/254577243) Avoid printing complex expressions in compiler metrics - [`b/394891628`](https://issuetracker.google.com/issues/394891628) Allow specifying target version of Compose runtime - [`b/424454512`](https://issuetracker.google.com/issues/424454512) Recreate FirApplierInferencer for each check - [`b/417406922`](https://issuetracker.google.com/issues/417406922) Restrict references to `@Composable` properties - [`b/282135108`](https://issuetracker.google.com/issues/282135108), [`b/349866442`](https://issuetracker.google.com/issues/349866442) \[Compose] Enable applier checking when using FIR - [`b/307592552`](https://issuetracker.google.com/issues/307592552) Add BigInteger and BigDecimal to the list of known stable classes - [`b/414547195`](https://issuetracker.google.com/issues/414547195) Unwrap type casts when inferring `@Composable` call arguments ##### IR. Inlining ##### New Features - [`KT-70360`](https://youtrack.jetbrains.com/issue/KT-70360) KLIBs: Uniformly handle`typeOf()` calls at 1st/2nd stages of compilation ##### Fixes - [`KT-79002`](https://youtrack.jetbrains.com/issue/KT-79002) \[Inliner]\[Native]\[PL] Native backend fails for inline function that instantiates a class that was compiled implementing two interfaces, which turned into abstract classes - [`KT-78137`](https://youtrack.jetbrains.com/issue/KT-78137) Review & enable PL tests with enabled IR inliner - [`KT-72464`](https://youtrack.jetbrains.com/issue/KT-72464) \[Native]\[JS]\[Wasm] Non-local return through suspend conversion breaks the IR inliner - [`KT-69941`](https://youtrack.jetbrains.com/issue/KT-69941) Rewrite `DumpSyntheticAccessors` lowering to test handler after moving common Native/JS prefix to KLIB compilation - [`KT-78245`](https://youtrack.jetbrains.com/issue/KT-78245) Synthetic Accessors incorrectly copies default values - [`KT-76236`](https://youtrack.jetbrains.com/issue/KT-76236) Include `NativeInliningFacade` and `JsIrInliningFacade` in all Native & JS test runners - [`KT-76512`](https://youtrack.jetbrains.com/issue/KT-76512) Avoid using `originalFunction` inside `FunctionInlining` - [`KT-69457`](https://youtrack.jetbrains.com/issue/KT-69457) \[references] IR Inliner: References to inline functions are not inlined - [`KT-47521`](https://youtrack.jetbrains.com/issue/KT-47521) Native & JS: Recursive inline fun calls -> StackOverflowError - [`KT-76425`](https://youtrack.jetbrains.com/issue/KT-76425) Do not store signatures of preprocessed inline functions in KLIBs - [`KT-76763`](https://youtrack.jetbrains.com/issue/KT-76763) \[Inliner] Don't use attributeOwnerId to pass info from Inliner to non-JVM backends - [`KT-77102`](https://youtrack.jetbrains.com/issue/KT-77102) \[Inliner] Expression uses unlinked type parameter symbol - [`KT-76145`](https://youtrack.jetbrains.com/issue/KT-76145) Enhance error message about poisoned KLIBs in KLIB-based compilers - [`KT-77079`](https://youtrack.jetbrains.com/issue/KT-77079) IR: Report warnings on exposure of references to invisible declarations in inline functions - [`KT-69797`](https://youtrack.jetbrains.com/issue/KT-69797) \[references] Accessors for private function/constructor/property references are not generated - [`KT-76454`](https://youtrack.jetbrains.com/issue/KT-76454) Investigate erasure of class type parameters during inliner - [`KT-72593`](https://youtrack.jetbrains.com/issue/KT-72593) \[K/N] Add NativeIrInliningFacade to CrossCompilationIdentityTest - [`KT-70969`](https://youtrack.jetbrains.com/issue/KT-70969) IR Inliner: Ensure that common prefix at 1st phase does not affect KLIB signatures - [`KT-75937`](https://youtrack.jetbrains.com/issue/KT-75937) \[IR Inliner] Umbrella for failing tests due to public inliner - [`KT-77295`](https://youtrack.jetbrains.com/issue/KT-77295) Improve Diagnostic Message Formatting for Private API Exposure in Inline Functions - [`KT-77047`](https://youtrack.jetbrains.com/issue/KT-77047) Ir Ininler: crash on fake override in private class from more visible class - [`KT-77336`](https://youtrack.jetbrains.com/issue/KT-77336) \[references] Synthetic accessor test for private top-level function accessed via reference fails with `No function found for symbol` - [`KT-76761`](https://youtrack.jetbrains.com/issue/KT-76761) \[Inliner] non-JVM IR Inliner incorrectly uses K/JVM-specific code - [`KT-76712`](https://youtrack.jetbrains.com/issue/KT-76712) \[Inliner] No function found for symbol '/<unknown name>|?' - [`KT-76711`](https://youtrack.jetbrains.com/issue/KT-76711) \[Inliner] Reference to function 'privateMethod' can not be evaluated ##### IR. Tree - [`KT-77508`](https://youtrack.jetbrains.com/issue/KT-77508) K/JS and K/Native CompilationException Wrong number of parameters in wrapper - [`KT-78978`](https://youtrack.jetbrains.com/issue/KT-78978) PL tests: Drop `adjust*forLazyIr()` hack - [`KT-76813`](https://youtrack.jetbrains.com/issue/KT-76813) IR validator: not all symbols/references are visited - [`KT-77596`](https://youtrack.jetbrains.com/issue/KT-77596) Refine `reuseExistingSignaturesForSymbols` setting in IR serializer - [`KT-76723`](https://youtrack.jetbrains.com/issue/KT-76723) IR validator: Check visibilities of annotations - [`KT-76405`](https://youtrack.jetbrains.com/issue/KT-76405) Visit annotations in IrTypeVisitor and IrTreeSymbolsVisitor - [`KT-78033`](https://youtrack.jetbrains.com/issue/KT-78033) \[PL] Merge `IrUnimplementedOverridesStrategy` to `PartiallyLinkedIrTreePatcher` ##### JVM. Reflection - [`KT-77882`](https://youtrack.jetbrains.com/issue/KT-77882) kotlin-reflect: KParameter.name returns "<unused var>" instead of null for anonymous context parameters - [`KT-77879`](https://youtrack.jetbrains.com/issue/KT-77879) kotlin-reflect: toString overrides of KCallable implementations do not render context parameters - [`KT-74529`](https://youtrack.jetbrains.com/issue/KT-74529) Context parameters support in reflection - [`KT-52170`](https://youtrack.jetbrains.com/issue/KT-52170) Reflection: typeOf\<Array<Long>> gives classifier LongArray - [`KT-77663`](https://youtrack.jetbrains.com/issue/KT-77663) Reflection: java.util.ServiceConfigurationError: "module kotlin.reflect does not declare `uses`" when using kotlin-reflect in modular mode ##### JavaScript ##### New Features - [`KT-79222`](https://youtrack.jetbrains.com/issue/KT-79222) K/JS: Allow using Long in exported declarations - [`KT-79394`](https://youtrack.jetbrains.com/issue/KT-79394) Add the possibility to write common external declarations between JS and WasmJS targets - [`KT-70486`](https://youtrack.jetbrains.com/issue/KT-70486) K/JS: exported exception types should extend Error - [`KT-19016`](https://youtrack.jetbrains.com/issue/KT-19016) Define accessors as enumerable ##### Performance Improvements - [`KT-57128`](https://youtrack.jetbrains.com/issue/KT-57128) KJS: Use BigInt to represent Long values in ES6 mode - [`KT-54689`](https://youtrack.jetbrains.com/issue/KT-54689) KJS: Data class equals less efficient than manually written version ##### Fixes - [`KT-69297`](https://youtrack.jetbrains.com/issue/KT-69297) Deprecate referencing inlineable lambdas in `js()` calls - [`KT-77620`](https://youtrack.jetbrains.com/issue/KT-77620) Fix failing IC tests on Windows - [`KT-77372`](https://youtrack.jetbrains.com/issue/KT-77372) KJS: NullPointerException at JsIntrinsics$JsReflectionSymbols - [`KT-78316`](https://youtrack.jetbrains.com/issue/KT-78316) KJS: List is not exported to TypeScript declaration if wrapped in Promise - [`KT-79644`](https://youtrack.jetbrains.com/issue/KT-79644) BigInt enabled for ES 2015 despite being an ES 2020 feature - [`KT-79089`](https://youtrack.jetbrains.com/issue/KT-79089) KJS: Could not load reporter / Cannot find module 'mocha' when running jsNode tests - [`KT-79916`](https://youtrack.jetbrains.com/issue/KT-79916) K/JS: "Uncaught TypeError" when using 'Xes-long-as-bigint' in compose-html - [`KT-79050`](https://youtrack.jetbrains.com/issue/KT-79050) KJS / IC: "Unexpected body of primary constructor for processing irClass" - [`KT-79977`](https://youtrack.jetbrains.com/issue/KT-79977) KJS: Long.rotateLeft returns incorrect result when BigInts are enabled - [`KT-76093`](https://youtrack.jetbrains.com/issue/KT-76093) Support new callable reference nodes in partial linkage in Kotlin/JS - [`KT-78073`](https://youtrack.jetbrains.com/issue/KT-78073) K/JS: KProperty from local delegate changes after another delegate is invoked - [`KT-52230`](https://youtrack.jetbrains.com/issue/KT-52230) KSJ IR: Applying identity equality operator to Longs always returns false - [`KT-6675`](https://youtrack.jetbrains.com/issue/KT-6675) KotlinJS: toInt() on external Long throws error - [`KT-79184`](https://youtrack.jetbrains.com/issue/KT-79184) K/JS: Further intrinsify BigInt-backed Long operations - [`KT-78701`](https://youtrack.jetbrains.com/issue/KT-78701) Js and Wasm: enumValueOf does not include invalid value into an exception message - [`KT-55256`](https://youtrack.jetbrains.com/issue/KT-55256) KJS: non-exported subclass with a no-parameter function overload doesn't compile - [`KT-76034`](https://youtrack.jetbrains.com/issue/KT-76034) passProcessArgvToMainFunction contains the node path and script path - [`KT-66091`](https://youtrack.jetbrains.com/issue/KT-66091) KJS, WASM: `AssertionError: Illegal value: <T>` in test nonReified\_equality.kt - [`KT-78169`](https://youtrack.jetbrains.com/issue/KT-78169) KJS: \[NON\_EXPORTABLE\_TYPE] with `@JsExport` class if `@JsStatic` companion method returns an out type - [`KT-57192`](https://youtrack.jetbrains.com/issue/KT-57192) KJS: "Exported declaration uses non-exportable return type" caused by `@JsExport` Promise with Unit type - [`KT-61183`](https://youtrack.jetbrains.com/issue/KT-61183) KJS: "AssertionError: Assertion failed" from JsSuspendFunctionsLowering - [`KT-59326`](https://youtrack.jetbrains.com/issue/KT-59326) KJS / IR: invalid code generated when using constructor parameter named `default` - [`KT-70295`](https://youtrack.jetbrains.com/issue/KT-70295) KLIB stdlib: Unify intrinsics for boxing captured variables in lambdas across non-JVM backends - [`KT-77021`](https://youtrack.jetbrains.com/issue/KT-77021) CompilationException: Encountered a local class not previously collected on inner classes inside anonymous objects - [`KT-77320`](https://youtrack.jetbrains.com/issue/KT-77320) KJS: Big.js times() is compiled to multiply (\*) operator - [`KT-77430`](https://youtrack.jetbrains.com/issue/KT-77430) K/JS: Remove sharedBox\* intrinsics from the standard library - [`KT-73267`](https://youtrack.jetbrains.com/issue/KT-73267) KJS: IC: "FileNotFoundException": Build failures with Kotlin 2.1-RC and RC2 - [`KT-76912`](https://youtrack.jetbrains.com/issue/KT-76912) KJS: `@JsStatic` can't be used for companion objects implementing external interfaces - [`KT-77271`](https://youtrack.jetbrains.com/issue/KT-77271) KJS / Serialization: "Cannot set property message of Error which has only a getter" - [`KT-77242`](https://youtrack.jetbrains.com/issue/KT-77242) Kotlin/JS & Kotlin/Wasm backends: Artificially apply reverse topo-order after IR linkage - [`KT-77649`](https://youtrack.jetbrains.com/issue/KT-77649) KJS: es-arrow-functions requires explicit opt-in when target is ES2015 - [`KT-76235`](https://youtrack.jetbrains.com/issue/KT-76235) \[JS] Extra invalid line `tmp_0.tmp00__1 = Options;` in testSuspendFunction() - [`KT-76234`](https://youtrack.jetbrains.com/issue/KT-76234) \[JS] Extra invalid line `Parent` in testNested() - [`KT-76233`](https://youtrack.jetbrains.com/issue/KT-76233) \[JS] Extra invalid import line in testJsQualifier() - [`KT-77190`](https://youtrack.jetbrains.com/issue/KT-77190) Migrate JS diagnostic tests to the new CLI-based test facades (1st phase only) - [`KT-77418`](https://youtrack.jetbrains.com/issue/KT-77418) KJS: cannot debug with whole-program granularity - [`KT-77371`](https://youtrack.jetbrains.com/issue/KT-77371) \[K/N]\[K/JS]\[K/Wasm] Unify visibility rules for generated default argument stubs - [`KT-77148`](https://youtrack.jetbrains.com/issue/KT-77148) KJS: "Uncaught TypeError: (intermediate value).l(...).m is not a function" during production build run - [`KT-77193`](https://youtrack.jetbrains.com/issue/KT-77193) Migrate JS irText tests to the new CLI-based test facades (1st phase only) - [`KT-77192`](https://youtrack.jetbrains.com/issue/KT-77192) Migrate JS ABI reader tests to the new CLI-based test facades (1st phase only) - [`KT-77187`](https://youtrack.jetbrains.com/issue/KT-77187) Migrate JS box tests to the new CLI-based test facades (1st phase only) - [`KT-77027`](https://youtrack.jetbrains.com/issue/KT-77027) Migrate 1st phase facades to the phased CLI infrastructure in JS tests - [`KT-69591`](https://youtrack.jetbrains.com/issue/KT-69591) KJS / d.ts: Wrong type of SerializerFactory for abstract classes - [`KT-76027`](https://youtrack.jetbrains.com/issue/KT-76027) KJS: "ReferenceError: entries is not defined": Accessing entries of an enum arbitrarily fails with println() - [`KT-76232`](https://youtrack.jetbrains.com/issue/KT-76232) Suspend contextual function with extension receiver results in wrong values at runtime in JS - [`KT-42305`](https://youtrack.jetbrains.com/issue/KT-42305) KJS / IR: "Class constructor is marked as private" `@JsExport` produces wrong TS code for sealed classes - [`KT-52563`](https://youtrack.jetbrains.com/issue/KT-52563) KJS / IR: Invalid TypeScript generated for class extending base class with private constructor ##### Klibs ##### New Features - [`KT-78699`](https://youtrack.jetbrains.com/issue/KT-78699) Compiler (JS, Wasm): warn about incompatible kotlin-test/compiler pair - [`KT-78700`](https://youtrack.jetbrains.com/issue/KT-78700) Compiler (JS, Wasm): Consider making diagnostics for incompatible kotlin-stdlib/compiler and kotlin-test/compiler pairs errors instead of warnings - [`KT-74815`](https://youtrack.jetbrains.com/issue/KT-74815) KLIB resolver can't consume metadata klibs between source sets when abi\_versions diverge - [`KT-68322`](https://youtrack.jetbrains.com/issue/KT-68322) Compiler (JS, Wasm): warn about incompatible Kotlin stdlib/compiler pair ##### Fixes - [`KT-78168`](https://youtrack.jetbrains.com/issue/KT-78168) K/N: "IndexOutOfBoundsException: Index 3 out of bounds for length 3" for iOS build with Kotlin 2.2.0-RC2 - [`KT-75766`](https://youtrack.jetbrains.com/issue/KT-75766) PL: Error on building fake override with multiple overridden members with unbound symbols in return type - [`KT-75757`](https://youtrack.jetbrains.com/issue/KT-75757) PL: Error on building fake overrides with unbound symbols in value parameters - [`KT-76094`](https://youtrack.jetbrains.com/issue/KT-76094) Support new callable reference nodes in partial linkage in Kotlin/Wasm - [`KT-78771`](https://youtrack.jetbrains.com/issue/KT-78771) KLIBs: Improve `zipDirAs()` function that is used to produce KLIB (ZIP) archives - [`KT-75980`](https://youtrack.jetbrains.com/issue/KT-75980) \[Klib] Reduce serialized size of IrFileEntries for sparse usage of another source files - [`KT-78349`](https://youtrack.jetbrains.com/issue/KT-78349) \[Tests] Enable Partial Linkage in all tests - [`KT-76827`](https://youtrack.jetbrains.com/issue/KT-76827) KLIB cross-compilation tests: Don't use IR hashes and metadata hashes in test data - [`KT-76266`](https://youtrack.jetbrains.com/issue/KT-76266) Move trigger of :tools:binary-compatibility-validator:check to native/native.tests/klib-ir-inliner - [`KT-76725`](https://youtrack.jetbrains.com/issue/KT-76725) KLIB ABI export in older version: Restore legacy directories - [`KT-76061`](https://youtrack.jetbrains.com/issue/KT-76061) Add option for suppress warning of missing no-existent transitive klib dependencies - [`KT-76471`](https://youtrack.jetbrains.com/issue/KT-76471) Partial linkage: add an attribute if a class is invalid - [`KT-75192`](https://youtrack.jetbrains.com/issue/KT-75192) KLIB reader tends to extract files from the KLIB archive to a temporary directory even when this is not needed ##### Language Design - [`KT-78866`](https://youtrack.jetbrains.com/issue/KT-78866) Warn implicit receiver shadowed by context parameter - [`KT-54363`](https://youtrack.jetbrains.com/issue/KT-54363) Allow using reified types for catch parameters - [`KT-32993`](https://youtrack.jetbrains.com/issue/KT-32993) Contract to specify that a function parameter is always true inside lambda - [`KT-79308`](https://youtrack.jetbrains.com/issue/KT-79308) Ability to actualize empty interfaces as Any - [`KT-8889`](https://youtrack.jetbrains.com/issue/KT-8889) Contracts: if a given function parameter is not null, the result is not null - [`KT-22786`](https://youtrack.jetbrains.com/issue/KT-22786) Returns are not allowed for expression-body functions and are allowed when an inline lambda is added - [`KT-77836`](https://youtrack.jetbrains.com/issue/KT-77836) Support using context parameter of a `@RestrictsSuspension` type as the "restricted coroutine scope" - [`KT-77823`](https://youtrack.jetbrains.com/issue/KT-77823) Context-sensitive resolution doesn't work for subtypes of sealed types - [`KT-75977`](https://youtrack.jetbrains.com/issue/KT-75977) False positive unresolved\_reference when resolving nested member after a type check - [`KT-73557`](https://youtrack.jetbrains.com/issue/KT-73557) Allow refining expect declarations for platform groups ##### Libraries ##### New Features - [`KT-76389`](https://youtrack.jetbrains.com/issue/KT-76389) Provide `update` functions for common atomics - [`KT-78581`](https://youtrack.jetbrains.com/issue/KT-78581) Add the KClass.isInterface property to Kotlin/JS stdlib - [`KT-34132`](https://youtrack.jetbrains.com/issue/KT-34132) Contract for ClosedRange<T>.contains(T?) operator - [`KT-73853`](https://youtrack.jetbrains.com/issue/KT-73853) Provide vararg constructors for Atomic Arrays ##### Fixes - [`KT-71628`](https://youtrack.jetbrains.com/issue/KT-71628) Review deprecations in stdlib for 2.1 - [`KT-76773`](https://youtrack.jetbrains.com/issue/KT-76773) stdlib: contextOf's type argument can be inferred via contextOf's context argument - [`KT-79489`](https://youtrack.jetbrains.com/issue/KT-79489) Generate Stdlib API reference for webMain source set - [`KT-79080`](https://youtrack.jetbrains.com/issue/KT-79080) Annotate WasmImport and WasmExport as experimental API - [`KT-79121`](https://youtrack.jetbrains.com/issue/KT-79121) K/Wasm annotate JS-interop API as experimental - [`KT-78710`](https://youtrack.jetbrains.com/issue/KT-78710) kotlin.wasm and kotlin.wasm.unsafe packages are missing description - [`KT-78709`](https://youtrack.jetbrains.com/issue/KT-78709) Wasm: KClass.qualifiedName KDoc should reflect the behavior on the target - [`KT-78704`](https://youtrack.jetbrains.com/issue/KT-78704) CharSequence.subSequence and String.substring behavior with invalid indices differs between targets - [`KT-78705`](https://youtrack.jetbrains.com/issue/KT-78705) Float.sign and Double.sign behavior for negative zero is not documented - [`KT-74543`](https://youtrack.jetbrains.com/issue/KT-74543) Support for context parameters in kotlinx-metadata - [`KT-78340`](https://youtrack.jetbrains.com/issue/KT-78340) String.startsWith KDoc declares invalid exception condition - [`KT-78242`](https://youtrack.jetbrains.com/issue/KT-78242) Move IrLinkageError to the common non-JVM part of the standard library - [`KT-67819`](https://youtrack.jetbrains.com/issue/KT-67819) Document collection interfaces contracts ##### Native - [`KT-79075`](https://youtrack.jetbrains.com/issue/KT-79075) Stuck on Kotlin\_getSourceInfo\_core\_symbolication - [`KT-76178`](https://youtrack.jetbrains.com/issue/KT-76178) LLVM Update: symbol '\_\_ZnwmSt19\_\_type\_descriptor\_t' missing - [`KT-78959`](https://youtrack.jetbrains.com/issue/KT-78959) Xcode 26: fix GC stress tests - [`KT-78734`](https://youtrack.jetbrains.com/issue/KT-78734) Finish runtime crash dump generation - [`KT-74662`](https://youtrack.jetbrains.com/issue/KT-74662) Consider providing a way to enable stack canaries for Kotlin/Native binaries - [`KT-77378`](https://youtrack.jetbrains.com/issue/KT-77378) \[macos] Loading libraries with non resolved paths runs XProtectService - [`KT-61549`](https://youtrack.jetbrains.com/issue/KT-61549) Kotlin/Native: remove kotlin-native/Interop/JsRuntime - [`KT-76563`](https://youtrack.jetbrains.com/issue/KT-76563) LLVM Update: numerous "was built for newer 'macOS' version" warnings ##### Native. Build Infrastructure - [`KT-77349`](https://youtrack.jetbrains.com/issue/KT-77349) Kotlin/Native: default cache for stdlib is unused ##### Native. C and ObjC Import - [`KT-79571`](https://youtrack.jetbrains.com/issue/KT-79571) Xcode 26 beta 4: CInteropKT39120TestGenerated.testForwardEnum failed - [`KT-71400`](https://youtrack.jetbrains.com/issue/KT-71400) Fix disabled -fmodules testing for stdarg.h ##### Native. ObjC Export ##### New Features - [`KT-77488`](https://youtrack.jetbrains.com/issue/KT-77488) \[ObjCExport] Add explicit ObjCBlock parameter name in objc export - [`KT-76974`](https://youtrack.jetbrains.com/issue/KT-76974) Include conflicting element in objc export warnings - [`KT-76338`](https://youtrack.jetbrains.com/issue/KT-76338) Native, ObjCExport: Replace name mangling of special method families ##### Fixes - [`KT-55648`](https://youtrack.jetbrains.com/issue/KT-55648) Native: produce smaller binaries - [`KT-78447`](https://youtrack.jetbrains.com/issue/KT-78447) \[ObjCExport] Add missing ERROR constructors, align with K1 - [`KT-78034`](https://youtrack.jetbrains.com/issue/KT-78034) ObjCExport: primitive type extension translated as static method - [`KT-77781`](https://youtrack.jetbrains.com/issue/KT-77781) ObjCExport: support `@ObjCName` for function parameters and receiver parameters - [`KT-77592`](https://youtrack.jetbrains.com/issue/KT-77592) KMP plugin uses incorrect Swift name from ObjCName annotation - [`KT-77625`](https://youtrack.jetbrains.com/issue/KT-77625) ObjCExport: ObjCName annotation adds kotlin name swift\_name - [`KT-77484`](https://youtrack.jetbrains.com/issue/KT-77484) KotlinConf app: Invalid identifiers in `ObjCHeader.render` - [`KT-77500`](https://youtrack.jetbrains.com/issue/KT-77500) `IllegalStateException` during generating ObjC header stubs ##### Native. Runtime - [`KT-79152`](https://youtrack.jetbrains.com/issue/KT-79152) Native: unexpected thread state in kotlin::to\_string<KStringConversionMode> ##### Native. Runtime. Memory - [`KT-78925`](https://youtrack.jetbrains.com/issue/KT-78925) Crash SIGABRT on Apple Watch after updating Kotlin to 2.2.0 - [`KT-76851`](https://youtrack.jetbrains.com/issue/KT-76851) Kotlin/Native: GC scheduler MutatorAssists requestAssists and completeEpoch issue - [`KT-63143`](https://youtrack.jetbrains.com/issue/KT-63143) Kotlin/Native: execute Cleaners on the finalizer thread ##### Native. Swift Export - [`KT-79105`](https://youtrack.jetbrains.com/issue/KT-79105) ConcurrentModificationException During Swift Export Caused by Usage of Array - [`KT-79227`](https://youtrack.jetbrains.com/issue/KT-79227) Swift Export: Fix First Release Issues - [`KT-78947`](https://youtrack.jetbrains.com/issue/KT-78947) Implement FUS for Swift export - [`KT-79521`](https://youtrack.jetbrains.com/issue/KT-79521) '\_CoroutineScope' is inaccessible due to 'internal' protection level - [`KT-79181`](https://youtrack.jetbrains.com/issue/KT-79181) Swift Export Fails When Using T: Comparable<T> Generic Constraint in Kotlin Classes - [`KT-77650`](https://youtrack.jetbrains.com/issue/KT-77650) Swift export execution tests fail with caches enabled - [`KT-77634`](https://youtrack.jetbrains.com/issue/KT-77634) K/N: swift export tests started failing after hyper-existentials - [`KT-77290`](https://youtrack.jetbrains.com/issue/KT-77290) Transitive Export on swift export can duplicate declarations ##### Tools. Build Tools API - [`KT-78415`](https://youtrack.jetbrains.com/issue/KT-78415) Add a tool for performance reports analysing ##### Tools. CLI ##### New Features - [`KT-75812`](https://youtrack.jetbrains.com/issue/KT-75812) Basic DSL for compiler arguments representation ##### Fixes - [`KT-78318`](https://youtrack.jetbrains.com/issue/KT-78318) Unresolved reference when compiling kotlin/JS project on fresh master - [`KT-75968`](https://youtrack.jetbrains.com/issue/KT-75968) Set proper lifecycle for all existing compiler arguments - [`KT-77445`](https://youtrack.jetbrains.com/issue/KT-77445) UNRESOLVED\_REFERENCE when importing classes from kotlin-stdlib - [`KT-77030`](https://youtrack.jetbrains.com/issue/KT-77030) Implement setup of HMPP sessions for KLib-based compilers - [`KT-78578`](https://youtrack.jetbrains.com/issue/KT-78578) Support for placeholder (\*) and directory in `-Xdump-perf` - [`KT-78129`](https://youtrack.jetbrains.com/issue/KT-78129) Compiler cannot parse -Xfragment-dependency with a comma in the path - [`KT-76828`](https://youtrack.jetbrains.com/issue/KT-76828) Warning doesn't exist error with -Xwarning-level when the source file has no code - [`KT-76957`](https://youtrack.jetbrains.com/issue/KT-76957) Incorrect error message when severity is set with -Xsuppress-warning and -Xwarning-level for the same diagnostic - [`KT-76829`](https://youtrack.jetbrains.com/issue/KT-76829) UnsupportedOperationException when reenabling a taking place warning with -Xwarning-level - [`KT-76111`](https://youtrack.jetbrains.com/issue/KT-76111) kotlinc warns about org.fusesource.jansi.internal.JansiLoader call to System.load - [`KT-76447`](https://youtrack.jetbrains.com/issue/KT-76447) Remove -Xjps compiler argument ##### Tools. Compiler Plugin API - [`KT-78279`](https://youtrack.jetbrains.com/issue/KT-78279) Make the DiagnosticReporter default way for reporting in IR plugins - [`KT-77157`](https://youtrack.jetbrains.com/issue/KT-77157) Cannot create a symbol pointer for local class generated by FirFunctionCallRefinementExtension ##### Tools. Compiler Plugins ##### New Features - [`KT-78038`](https://youtrack.jetbrains.com/issue/KT-78038) Make jvm-abi-gen compiler plugin output classloader-friendly - [`KT-77339`](https://youtrack.jetbrains.com/issue/KT-77339) Update kotlin dataframe dependency to 1.0.0-dev-6925 ##### Fixes - [`KT-78969`](https://youtrack.jetbrains.com/issue/KT-78969) \[DataFrame] Provide source elements for plugin-generated classes - [`KT-75265`](https://youtrack.jetbrains.com/issue/KT-75265) PowerAssert: the result of invoke is displayed at the same level as value that can be confusing - [`KT-78490`](https://youtrack.jetbrains.com/issue/KT-78490) "AssertionError: SyntheticAccessorLowering should not attempt to modify other files" when calling protected open composable with default argument - [`KT-77626`](https://youtrack.jetbrains.com/issue/KT-77626) K2: AssertionError: FUN LOCAL\_FUNCTION\_FOR\_LAMBDA has no continuation - [`KT-78671`](https://youtrack.jetbrains.com/issue/KT-78671) \[DataFrame] Support type parameter types in DataSchema to fix evaluate expression - [`KT-78439`](https://youtrack.jetbrains.com/issue/KT-78439) DataFrame compiler plugin: Unresolved reference error in REPL - [`KT-75876`](https://youtrack.jetbrains.com/issue/KT-75876) PowerAssert: don't display results for assertion operator - [`KT-75514`](https://youtrack.jetbrains.com/issue/KT-75514) \[JS]\[Native] Add IrPreSerializationLoweringFacade to Atomicfu test runners - [`KT-77719`](https://youtrack.jetbrains.com/issue/KT-77719) Remove suppress INVISIBLE\_REFERENCE from DataFrame plugin - [`KT-77691`](https://youtrack.jetbrains.com/issue/KT-77691) Kotlin DataFrame plugin: IR and FIR anonymous functions have inconsistent receivers - [`KT-77455`](https://youtrack.jetbrains.com/issue/KT-77455) kotlin-dataframe plugin throws NoClassDefFoundError in IDE - [`KT-77437`](https://youtrack.jetbrains.com/issue/KT-77437) Kotlin DataFrame: Add configuration key to disable top level properties generator - [`KT-74366`](https://youtrack.jetbrains.com/issue/KT-74366) Delete kotlin-android-extensions compiler plugin - [`KT-73364`](https://youtrack.jetbrains.com/issue/KT-73364) Migrate atomicfu sources to new IR parameter API ##### Tools. Compiler plugins. Serialization - [`KT-79695`](https://youtrack.jetbrains.com/issue/KT-79695) Serialization does not exclude field-less properties in 2.2.20-Beta2 - [`KT-73365`](https://youtrack.jetbrains.com/issue/KT-73365) Migrate kotlinx-serialization sources to new IR parameter API ##### Tools. Gradle ##### New Features - [`KT-76421`](https://youtrack.jetbrains.com/issue/KT-76421) Stabilize klib cross-compilation on different platforms - [`KT-77107`](https://youtrack.jetbrains.com/issue/KT-77107) Introduce Kotlin ecosystem plugin ##### Fixes - [`KT-80172`](https://youtrack.jetbrains.com/issue/KT-80172) Error message changes depending on the order of applying 'org.jetbrains.kotlin.android' and 'AGP' 9.0+ with built-in Kotlin plugin - [`KT-77546`](https://youtrack.jetbrains.com/issue/KT-77546) Implement basic support for HMPP compilation scheme support in KGP - [`KT-79034`](https://youtrack.jetbrains.com/issue/KT-79034) Automatically disable cross compilation if it's not supported on the host - [`KT-79408`](https://youtrack.jetbrains.com/issue/KT-79408) A lot of errors files are created when compile Kotlin - [`KT-77785`](https://youtrack.jetbrains.com/issue/KT-77785) Add -fmodules option to CocoaPod dependency by default - [`KT-75921`](https://youtrack.jetbrains.com/issue/KT-75921) Make Swift Export available by default - [`KT-63383`](https://youtrack.jetbrains.com/issue/KT-63383) Add compiler performance metrics to Native build reports - [`KT-77023`](https://youtrack.jetbrains.com/issue/KT-77023) Support creating KotlinJvmAndroidCompilation in KotlinBaseApiPlugin - [`KT-74420`](https://youtrack.jetbrains.com/issue/KT-74420) Migrate kotlin-parcelize away from AGP's deprecated Variant API - [`KT-78233`](https://youtrack.jetbrains.com/issue/KT-78233) Add ExperimentalFeatureWarning unique id - [`KT-67992`](https://youtrack.jetbrains.com/issue/KT-67992) Cleanup deprecated code required for KSP1 - [`KT-72341`](https://youtrack.jetbrains.com/issue/KT-72341) Remove 'kotlin-android-extensions' plugin - [`KT-67291`](https://youtrack.jetbrains.com/issue/KT-67291) Enable Project Isolation AND/OR Configuration Cache mode for Gradle Integration tests - [`KT-78325`](https://youtrack.jetbrains.com/issue/KT-78325) Kotlin ecosystem plugin rejects compatible Gradle patch version when DCL is enabled - [`KT-76353`](https://youtrack.jetbrains.com/issue/KT-76353) Handle migration to stable -jvm-default in KGP: replace deprecated option and suppress warnings - [`KT-76797`](https://youtrack.jetbrains.com/issue/KT-76797) KGP: StdlibDependencyManagementKt.configureStdlibVersionAlignment() triggering eager configuration realization - [`KT-77163`](https://youtrack.jetbrains.com/issue/KT-77163) Migrate Swift Export IT to injections - [`KT-76282`](https://youtrack.jetbrains.com/issue/KT-76282) Add missing Android Gradle plugin versions in tests - [`KT-77011`](https://youtrack.jetbrains.com/issue/KT-77011) Update build regression benchmarks for 2.2.0 release - [`KT-76138`](https://youtrack.jetbrains.com/issue/KT-76138) Compile against Gradle API 8.14 - [`KT-76139`](https://youtrack.jetbrains.com/issue/KT-76139) Run integration tests against Gradle 8.14 - [`KT-77035`](https://youtrack.jetbrains.com/issue/KT-77035) A compiler diagnostic isn't reported when its severity is set to warning with Gradle - [`KT-76951`](https://youtrack.jetbrains.com/issue/KT-76951) 'distribution-base' plugin is only applied in Gradle 8.13 - [`KT-73142`](https://youtrack.jetbrains.com/issue/KT-73142) Kotlin Gradle plugin: Remove usage of Gradle's internal ExecHandleBuilder - [`KT-76740`](https://youtrack.jetbrains.com/issue/KT-76740) Use Problems API for warning introduced in KT-75808 - [`KT-65271`](https://youtrack.jetbrains.com/issue/KT-65271) Gradle: "Mutating dependency DefaultExternalModuleDependency after it has been finalized has been deprecated " with gradle 8.6-rc-3 ##### Tools. Gradle. Cocoapods - [`KT-76035`](https://youtrack.jetbrains.com/issue/KT-76035) Allow extra command line arguments in PodBuildTask - [`KT-78387`](https://youtrack.jetbrains.com/issue/KT-78387) Kotlin Cocoapods Gradle Plugin is not compatible with Gradle isolated projects - [`KT-79429`](https://youtrack.jetbrains.com/issue/KT-79429) K/N: Cocoapods: IllegalArgumentException: "cinterop doesn't support having headers in -fmodules mode" with 2.2.20-Beta1 if explicitly not specify false for 'useClangModules' ##### Tools. Gradle. Compiler plugins - [`KT-66728`](https://youtrack.jetbrains.com/issue/KT-66728) Deprecate `kapt.use.k2` property ##### Tools. Gradle. JS ##### New Features - [`KT-75480`](https://youtrack.jetbrains.com/issue/KT-75480) Add shared source set for js and wasmJs target - [`KT-77073`](https://youtrack.jetbrains.com/issue/KT-77073) generateTypeScriptDefinitions() does not add generated .d.ts file to package.json automatically ##### Fixes - [`KT-77319`](https://youtrack.jetbrains.com/issue/KT-77319) KJS / Gradle: generateTypeScriptDefinitions() generates wrong file extension when outputting ES modules - [`KT-79921`](https://youtrack.jetbrains.com/issue/KT-79921) Web Tooling Gradle API does not respect webpack reconfiguration - [`KT-76996`](https://youtrack.jetbrains.com/issue/KT-76996) Wasm: js tasks triggers wasm subtasks - [`KT-79237`](https://youtrack.jetbrains.com/issue/KT-79237) Upgrade NPM dependencies versions - [`KT-79188`](https://youtrack.jetbrains.com/issue/KT-79188) Pre-generated accessors aren't available for webMain / webTest source sets - [`KT-78504`](https://youtrack.jetbrains.com/issue/KT-78504) \[2.2.0-RC3] NPM Tasks in 2.2 RCs produce broken/unusable build cache entries - [`KT-77443`](https://youtrack.jetbrains.com/issue/KT-77443) NPE: "NullPointerException: Cannot invoke org.gradle.api.tasks.TaskProvider.flatMap(org.gradle.api.Transformer)": ExecutableWasm.optimizeTask is accessed before initialization - [`KT-76987`](https://youtrack.jetbrains.com/issue/KT-76987) JS, Wasm: Upgrade NPM dependencies - [`KT-77119`](https://youtrack.jetbrains.com/issue/KT-77119) KJS: Gradle: Setting custom environment variables in KotlinJsTest tasks no longer works - [`KT-74735`](https://youtrack.jetbrains.com/issue/KT-74735) KGP uses Gradle internal `CompositeProjectComponentArtifactMetadata` ##### Tools. Gradle. Multiplatform ##### New Features - [`KT-69790`](https://youtrack.jetbrains.com/issue/KT-69790) Report human-readable error when declared dependency doesn't support required target types - [`KT-76446`](https://youtrack.jetbrains.com/issue/KT-76446) Add kotlin-level dependency block to work the same way as commonMain/commonTest dependencies blocks ##### Fixes - [`KT-78297`](https://youtrack.jetbrains.com/issue/KT-78297) FileNotFoundException in generateMetadataFile task if non-packed=false - [`KT-62294`](https://youtrack.jetbrains.com/issue/KT-62294) kotlin-parcelize plugin does not support the new android kotlin multiplatform plugin - [`KT-77404`](https://youtrack.jetbrains.com/issue/KT-77404) The kotlin-stdlib and annotations are missing from commonTest dependencies with 2.2.0-Beta1 - [`KT-79559`](https://youtrack.jetbrains.com/issue/KT-79559) AGP complains about configurations resolved at configuration time due to KMP partially resolved dependencies diagnostic - [`KT-78993`](https://youtrack.jetbrains.com/issue/KT-78993) The value for property '\*' property 'dependencies' is final and cannot be changed any further - [`KT-77843`](https://youtrack.jetbrains.com/issue/KT-77843) KGP fails with Gradle 9 on `ProjectDependency.getDependencyProject()` - [`KT-79315`](https://youtrack.jetbrains.com/issue/KT-79315) Early task materialization with cross-project configuration breaks configuration due to KMP partial resolution checker - [`KT-77466`](https://youtrack.jetbrains.com/issue/KT-77466) KMP - testFixturesApi and similar configurations do not affect jvmTestFixtures source set - [`KT-78433`](https://youtrack.jetbrains.com/issue/KT-78433) Gradle: add tracking of the new KMP compilation scheme to FUS - [`KT-78431`](https://youtrack.jetbrains.com/issue/KT-78431) Gradle: in-process metadata compiler uses deprecated K2MetadataCompiler - [`KT-77414`](https://youtrack.jetbrains.com/issue/KT-77414) KMP dependencies in detached source sets cause IDE resolution to write error logs: "kotlin-project-structure-metadata.json (No such file or directory)" - [`KT-76200`](https://youtrack.jetbrains.com/issue/KT-76200) TestModuleProperties.productionModuleName for JVM module isn't present with 2.1.20-RC ##### Tools. Gradle. Native - [`KT-51301`](https://youtrack.jetbrains.com/issue/KT-51301) Remove ability to use Native non-embeddable compiler jar in Gradle plugin - [`KT-74864`](https://youtrack.jetbrains.com/issue/KT-74864) Enable exporting KDocs by default to ObjC - [`KT-77977`](https://youtrack.jetbrains.com/issue/KT-77977) "Unknown hardware platform: riscv64" on JVM project build - [`KT-78838`](https://youtrack.jetbrains.com/issue/KT-78838) Add default 3G max heap size for the commonizer JVM process - [`KT-68256`](https://youtrack.jetbrains.com/issue/KT-68256) Reduce commonizer max heap size to default 3g and allow users to configure it - [`KT-77067`](https://youtrack.jetbrains.com/issue/KT-77067) Kotlin Gradle plugin with the configuration cache passes all platform libraries to the compiler when compiling a binary for the first time ##### Tools. Gradle. Swift Export - [`KT-79554`](https://youtrack.jetbrains.com/issue/KT-79554) Swift Export status diagnostic is produced even if swift export is not configured - [`KT-78385`](https://youtrack.jetbrains.com/issue/KT-78385) Swift Export is not compatible with Gradle isolated projects - [`KT-79524`](https://youtrack.jetbrains.com/issue/KT-79524) NoSuchMethodError: 'java.lang.String org.gradle.api.artifacts.ProjectDependency.getPath() for swift export with dependency export fro gradle < 8.11 ##### Tools. Incremental Compile - [`KT-60653`](https://youtrack.jetbrains.com/issue/KT-60653) IC does not handle changes in inline functions objects/lambdas correctly - [`KT-78807`](https://youtrack.jetbrains.com/issue/KT-78807) Changing ABI fingerprint on non-ABI changes when lambda passed to inlined function - [`KT-69075`](https://youtrack.jetbrains.com/issue/KT-69075) Incremental compilation: smartcast is impossible on field with `@JvmName` ##### Tools. JPS - [`KT-77347`](https://youtrack.jetbrains.com/issue/KT-77347) Support file-less compatible IC approach - [`KT-78444`](https://youtrack.jetbrains.com/issue/KT-78444) Clean up JPS code base - [`KT-75460`](https://youtrack.jetbrains.com/issue/KT-75460) Adding `@PurelyImplements` annotation to a List does *not* cause incremental recompile of affected files - [`KT-50594`](https://youtrack.jetbrains.com/issue/KT-50594) Fix org.jetbrains.kotlin.arguments.CompilerArgumentsContentProspectorTest ##### Tools. Kapt - [`KT-79138`](https://youtrack.jetbrains.com/issue/KT-79138) K2: KAPT Java Stub Gen: `Unresolved reference` with `@kotlin`.Metadata in Java in 2.2.0 - [`KT-79641`](https://youtrack.jetbrains.com/issue/KT-79641) Kapt: too much information is printed in verbose mode - [`KT-79136`](https://youtrack.jetbrains.com/issue/KT-79136) K2 kapt: unresolved nested class references in annotation arguments are generated without outer class names - [`KT-79133`](https://youtrack.jetbrains.com/issue/KT-79133) K2 kapt: class literal with typealias is not expanded - [`KT-77853`](https://youtrack.jetbrains.com/issue/KT-77853) K2 KAPT: backend internal error: exception during IR fake override builder - [`KT-73322`](https://youtrack.jetbrains.com/issue/KT-73322) Migrate `FirKaptAnalysisHandlerExtension` compilation pipeline to the phased structure ##### Tools. Maven - [`KT-77587`](https://youtrack.jetbrains.com/issue/KT-77587) Maven: Introduce Kotlin daemon support and make it enabled by default - [`KT-63688`](https://youtrack.jetbrains.com/issue/KT-63688) Remove JS-related stuff from kotlin-maven-plugin ##### Tools. Maven. Compiler plugins - [`KT-77511`](https://youtrack.jetbrains.com/issue/KT-77511) Add maven plugin for Kotlin DataFrame plugin ##### Tools. REPL - [`KT-78755`](https://youtrack.jetbrains.com/issue/KT-78755) \[K2 Repl] Redeclaring variables does not work - [`KT-75632`](https://youtrack.jetbrains.com/issue/KT-75632) Contunue deprecation of the REPL built into `kotlinc` - [`KT-77470`](https://youtrack.jetbrains.com/issue/KT-77470) \[K2 Repl] Lazy Properties crash code generation - [`KT-76507`](https://youtrack.jetbrains.com/issue/KT-76507) \[K2 Repl] Delegated properties are not visible in the next snippet - [`KT-76508`](https://youtrack.jetbrains.com/issue/KT-76508) \[K2 Repl] Annotations on property accessors are not resolved - [`KT-75672`](https://youtrack.jetbrains.com/issue/KT-75672) \[K2 Repl] Serialization plugin crashes compiler backend ##### Tools. Scripts - [`KT-78378`](https://youtrack.jetbrains.com/issue/KT-78378) "Explain" feature of the kotlin script fails on hidden variables ##### Tools. Statistics (FUS) - [`KT-79455`](https://youtrack.jetbrains.com/issue/KT-79455) \[FUS] Collect KSP plugin version - [`KT-77755`](https://youtrack.jetbrains.com/issue/KT-77755) \[FUS Pipeline] Fus file format - [`KT-77995`](https://youtrack.jetbrains.com/issue/KT-77995) Do not collect FUS metrics on TeamCity ##### Tools. Wasm - [`KT-76842`](https://youtrack.jetbrains.com/issue/KT-76842) K/Wasm: serve project sources in \*DevRun tasks by default - [`KT-78921`](https://youtrack.jetbrains.com/issue/KT-78921) K/Wasm: don't generate empty yarn.lock file - [`KT-75714`](https://youtrack.jetbrains.com/issue/KT-75714) Wasm: Move tooling NPM dependencies outside user project - [`KT-70013`](https://youtrack.jetbrains.com/issue/KT-70013) .gradle/yarn and .gradle/node are part of Gradle configuration cache - [`KT-76838`](https://youtrack.jetbrains.com/issue/KT-76838) K/Wasm: No possible to set downloadBaseUrl to null for D8 and Binaryen - [`KT-76948`](https://youtrack.jetbrains.com/issue/KT-76948) Wasm: Rename kotlinBinaryenSetup and kotlinD8Setup ### [`v2.2.10`](https://github.com/JetBrains/kotlin/releases/tag/v2.2.10): Kotlin 2.2.10 ##### Changelog ##### Compiler - [`KT-79276`](https://youtrack.jetbrains.com/issue/KT-79276) Dexing fails with "Cannot read field X because <local0> is null" with 2.2.0 - [`KT-79442`](https://youtrack.jetbrains.com/issue/KT-79442) "Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfaces - [`KT-78815`](https://youtrack.jetbrains.com/issue/KT-78815) `Symbol not found: __ZNSt3__117bad_function_callD1Ev` error on iOS 15.5 simulator in Xcode 16.3 after update to 2.2.0-Beta2 - [`KT-78501`](https://youtrack.jetbrains.com/issue/KT-78501) K2: Missing \[ABSTRACT\_SUPER\_CALL] diagnostics for delegated interface method leads to AssertionError: isCompiledToJvmDefault during IR lowering - [`KT-78479`](https://youtrack.jetbrains.com/issue/KT-78479) IR lowering failed / Unexpected null argument for composable call - [`KT-76477`](https://youtrack.jetbrains.com/issue/KT-76477) Kotlin/Native: fix compiler performance reporting in sources->klib and klibs->binary - [`KT-78736`](https://youtrack.jetbrains.com/issue/KT-78736) Missing \[NOT\_YET\_SUPPORTED\_IN\_INLINE] diagnostics because of incorrect context update - [`KT-77685`](https://youtrack.jetbrains.com/issue/KT-77685) "IllegalArgumentException: Sequence contains more than one matching element" - [`KT-76365`](https://youtrack.jetbrains.com/issue/KT-76365) K2: Missing ABSTRACT\_SUPER\_CALL - [`KT-78352`](https://youtrack.jetbrains.com/issue/KT-78352) False-positive IDENTITY\_SENSITIVE\_OPERATIONS\_WITH\_VALUE\_TYPE when comparing with equality operator (==) ##### Compose compiler - [`KT-78479`](https://youtrack.jetbrains.com/issue/KT-78479) Ensure that default transform affects functions entered through a call - [`KT-78490`](https://youtrack.jetbrains.com/issue/KT-78490) Fix visibility for default wrappers of protected methods - [`b/408492167`](https://issuetracker.google.com/issues/408492167) Emit parameter names in Compose source information ##### JavaScript - [`KT-79050`](https://youtrack.jetbrains.com/issue/KT-79050) KJS / IC: "Unexpected body of primary constructor for processing irClass" - [`KT-79089`](https://youtrack.jetbrains.com/issue/KT-79089) KJS: Could not load reporter / Cannot find module 'mocha' when running jsNode tests ##### Native - [`KT-79075`](https://youtrack.jetbrains.com/issue/KT-79075) Stuck on Kotlin\_getSourceInfo\_core\_symbolication - [`KT-76178`](https://youtrack.jetbrains.com/issue/KT-76178) LLVM Update: symbol '\_\_ZnwmSt19\_\_type\_descriptor\_t' missing ##### Native. Runtime. Memory - [`KT-78925`](https://youtrack.jetbrains.com/issue/KT-78925) Crash SIGABRT on Apple Watch after updating Kotlin to 2.2.0 ##### Tools. CLI - [`KT-77445`](https://youtrack.jetbrains.com/issue/KT-77445) UNRESOLVED\_REFERENCE when importing classes from kotlin-stdlib - [`KT-78263`](https://youtrack.jetbrains.com/issue/KT-78263) java.lang.NoClassDefFoundError: Could not initialize class com.intellij.psi.impl.PsiSubstitutorImpl - [`KT-78318`](https://youtrack.jetbrains.com/issue/KT-78318) Unresolved reference when compiling kotlin/JS project on fresh master ##### Tools. Compiler Plugins - [`KT-78490`](https://youtrack.jetbrains.com/issue/KT-78490) "AssertionError: SyntheticAccessorLowering should not attempt to modify other files" when calling protected open composable with default argument - [`KT-78038`](https://youtrack.jetbrains.com/issue/KT-78038) Make jvm-abi-gen compiler plugin output classloader-friendly ##### Tools. Gradle - [`KT-77023`](https://youtrack.jetbrains.com/issue/KT-77023) Support creating KotlinJvmAndroidCompilation in KotlinBaseApiPlugin ##### Tools. Gradle. JS - [`KT-78504`](https://youtrack.jetbrains.com/issue/KT-78504) \[2.2.0-RC3] NPM Tasks in 2.2 RCs produce broken/unusable build cache entries ##### Tools. Gradle. Multiplatform - [`KT-77466`](https://youtrack.jetbrains.com/issue/KT-77466) KMP - testFixturesApi and similar configurations do not affect jvmTestFixtures source set - [`KT-68646`](https://youtrack.jetbrains.com/issue/KT-68646) Compose extension's metrics/reports dir should use subdirs based on target ##### Tools. Gradle. Native - [`KT-77977`](https://youtrack.jetbrains.com/issue/KT-77977) "Unknown hardware platform: riscv64" on JVM project build ##### Tools. Incremental Compile - [`KT-78807`](https://youtrack.jetbrains.com/issue/KT-78807) Changing ABI fingerprint on non-ABI changes when lambda passed to inlined function ##### Tools. Kapt - [`KT-77853`](https://youtrack.jetbrains.com/issue/KT-77853) K2 KAPT: backend internal error: exception during IR fake override builder - [`KT-79138`](https://youtrack.jetbrains.com/issue/KT-79138) K2: KAPT Java Stub Gen: `Unresolved reference` with `@kotlin`.Metadata in Java in 2.2.0 ### [`v2.2.0`](https://github.com/JetBrains/kotlin/releases/tag/v2.2.0): Kotlin 2.2.0 ##### Changelog ##### Analysis API - [`KT-73337`](https://youtrack.jetbrains.com/issue/KT-73337) Migrate analysis sources to new IR parameter API - [`KT-75880`](https://youtrack.jetbrains.com/issue/KT-75880) K2 Mode: Typealias reference resolves to the underlying class in KMP project - [`KT-74246`](https://youtrack.jetbrains.com/issue/KT-74246) KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site - [`KT-57733`](https://youtrack.jetbrains.com/issue/KT-57733) Analysis API: Use optimized `ModuleWithDependenciesScope`s in combined symbol providers - [`KT-69535`](https://youtrack.jetbrains.com/issue/KT-69535) Redesign 'containingSymbol' - [`KT-69950`](https://youtrack.jetbrains.com/issue/KT-69950) Analysis API: Introduce `isSubtypeOf(ClassId)` - [`KT-68393`](https://youtrack.jetbrains.com/issue/KT-68393) Analysis API: Rename `KaClassLikeSymbol. classIdIfNonLocal` to `classId` - [`KT-62924`](https://youtrack.jetbrains.com/issue/KT-62924) Analysis API: rename KtCallableSymbol.callableIdIfNonLocal -> callableId ##### Analysis API. Code Compilation - [`KT-75502`](https://youtrack.jetbrains.com/issue/KT-75502) K2: IDEA hangs when evaluating inside kotlin-stdlib modules in the Kotlin project - [`KT-73077`](https://youtrack.jetbrains.com/issue/KT-73077) Evaluation of inline functions is broken inside Kotlin project and Amper module in Idea sources - [`KT-73936`](https://youtrack.jetbrains.com/issue/KT-73936) K2: CyclicInlineDependencyException: Inline functions have a cyclic dependency in evaluator - [`KT-74582`](https://youtrack.jetbrains.com/issue/KT-74582) InterpreterMethodNotFoundError when trying to evaluate simple expressions after recent fixes - [`KT-74524`](https://youtrack.jetbrains.com/issue/KT-74524) Compilation exception with incorrect JvmName annotation arguments - [`KT-74443`](https://youtrack.jetbrains.com/issue/KT-74443) Compilation peer collector ignores inline property accessors ##### Analysis API. FIR ##### New Features - [`KT-73493`](https://youtrack.jetbrains.com/issue/KT-73493) Support context parameters ##### Performance Improvements - [`KT-75790`](https://youtrack.jetbrains.com/issue/KT-75790) Experiment with increasing DEFAULT\_LOCKING\_INTERVAL time - [`KT-72159`](https://youtrack.jetbrains.com/issue/KT-72159) LLFirCompilerRequiredAnnotationsTargetResolver: consider rewriting it to use honest jumping locks ##### Fixes - [`KT-76331`](https://youtrack.jetbrains.com/issue/KT-76331) Cleanup FileStructureElement for classes - [`KT-73117`](https://youtrack.jetbrains.com/issue/KT-73117) K2 AA: Exception "Setter is not found" when val has a setter without body - [`KT-76540`](https://youtrack.jetbrains.com/issue/KT-76540) K2: Missing library dependency on Android SDK from androidx.activity-1.8.2 causes LiveEdit failures - [`KT-73266`](https://youtrack.jetbrains.com/issue/KT-73266) K2. "Declaration should have non-local container" with unclosed annotation on top-level function - [`KT-76432`](https://youtrack.jetbrains.com/issue/KT-76432) JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl - [`KT-76217`](https://youtrack.jetbrains.com/issue/KT-76217) K2 AA: "No fir element was found for KtParameter" with multiple context parameter lists - [`KT-74740`](https://youtrack.jetbrains.com/issue/KT-74740) Highlighting is broken after the built-in serialization refactoring - [`KT-76366`](https://youtrack.jetbrains.com/issue/KT-76366) ContextCollector: annotations on class members don't have the class as implicit receiver - [`KT-76352`](https://youtrack.jetbrains.com/issue/KT-76352) ContextCollector: wrong class annotation context in BODY mode - [`KT-76341`](https://youtrack.jetbrains.com/issue/KT-76341) ContextCollector: support dangling modifiers - [`KT-76332`](https://youtrack.jetbrains.com/issue/KT-76332) "Declaration should have non-local container" for declaration inside file annotation - [`KT-76115`](https://youtrack.jetbrains.com/issue/KT-76115) Disable `FirElementBuilder#getFirForElementInsideAnnotations` optimization for files, classes and scripts - [`KT-76347`](https://youtrack.jetbrains.com/issue/KT-76347) ContextCollector: avoid resolution for enum entry annotations - [`KT-76272`](https://youtrack.jetbrains.com/issue/KT-76272) Cleanup AbstractFileStructureTest - [`KT-75542`](https://youtrack.jetbrains.com/issue/KT-75542) K2 AA: "FirDeclaration was not found for class KtNamedFunction, fir is class FirErrorExpressionImpl" for unclosed annotation on member function - [`KT-73719`](https://youtrack.jetbrains.com/issue/KT-73719) K2. "FirDeclaration was not found for class KtDestructuringDeclaration, fir is class FirBlockImpl" on incorrect chain call - [`KT-72908`](https://youtrack.jetbrains.com/issue/KT-72908) K2 Analysis API: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtFunctionLiteral" with non-local destructuring declaration without initializer before `init` block - [`KT-75532`](https://youtrack.jetbrains.com/issue/KT-75532) ContextCollector: scope for an anonymous function type parameter contains regular parameters - [`KT-74508`](https://youtrack.jetbrains.com/issue/KT-74508) `FirElementBuilder#findElementInside` should reuse logic from `KtToFirMapping#getFir` - [`KT-73066`](https://youtrack.jetbrains.com/issue/KT-73066) \[LL] Enable low-level-api-fir-native even with the disabled native part - [`KT-75132`](https://youtrack.jetbrains.com/issue/KT-75132) Investigate failures of sandbox diagnostic test - [`KT-75130`](https://youtrack.jetbrains.com/issue/KT-75130) Set up LL FIR tests for sandbox test data - [`KT-73386`](https://youtrack.jetbrains.com/issue/KT-73386) Standardize LL FIR test for compiler test data - [`KT-75125`](https://youtrack.jetbrains.com/issue/KT-75125) ISE “Value classes cannot have 0 fields” on instantiating inline class without fields - [`KT-75179`](https://youtrack.jetbrains.com/issue/KT-75179) ContextCollector: support error properties - [`KT-74632`](https://youtrack.jetbrains.com/issue/KT-74632) K2: ISE FirLazyDelegatedConstructorCall should be calculated before accessing - [`KT-74818`](https://youtrack.jetbrains.com/issue/KT-74818) K2 AA: "FirDeclaration was not found for class KtTypeParameter, fir is null" with TYPE\_PARAMETERS\_NOT\_ALLOWED on anonymous function - [`KT-73183`](https://youtrack.jetbrains.com/issue/KT-73183) Support context parameters in ContextCollectorVisitor - [`KT-60350`](https://youtrack.jetbrains.com/issue/KT-60350) K2 IDE: top level destructuring RHS should be resolvable - [`KT-74794`](https://youtrack.jetbrains.com/issue/KT-74794) K2: FirLazyExpression should be calculated before accessing with context parameter and implicit return type - [`KT-72938`](https://youtrack.jetbrains.com/issue/KT-72938) Get rid of KaFirAnnotationListForReceiverParameter - [`KT-73727`](https://youtrack.jetbrains.com/issue/KT-73727) Exception in implicit type resolution ##### Analysis API. Infrastructure - [`KT-74917`](https://youtrack.jetbrains.com/issue/KT-74917) \[Analysis API, Test Framework] Introduce a way to acquire `PsiFile` for a given `TestFile` in `KtTestModule` ##### Analysis API. Light Classes - [`KT-73405`](https://youtrack.jetbrains.com/issue/KT-73405) Get rid of KtElement#{symbolPointer, symbolPointerOfType} API usages - [`KT-75391`](https://youtrack.jetbrains.com/issue/KT-75391) Reduce the amount of psi-based logic in light classes - [`KT-70001`](https://youtrack.jetbrains.com/issue/KT-70001) SLC adds `@Override` with zero text offset on `override` member - [`KT-75755`](https://youtrack.jetbrains.com/issue/KT-75755) K2. False positive red code on vararg parameters in Kotlin class with `@JvmOverloads` when called from Java - [`KT-75397`](https://youtrack.jetbrains.com/issue/KT-75397) Constructors and functions with non-last vararg parameters are treated as varargs - [`KT-74868`](https://youtrack.jetbrains.com/issue/KT-74868) Support context parameters - [`KT-74733`](https://youtrack.jetbrains.com/issue/KT-74733) SymbolPsiLiteral.text == value for Java constant - [`KT-74620`](https://youtrack.jetbrains.com/issue/KT-74620) Delegated functions with value classes are present in light classes - [`KT-74595`](https://youtrack.jetbrains.com/issue/KT-74595) Static functions with value classes are present in light classes - [`KT-74284`](https://youtrack.jetbrains.com/issue/KT-74284) Synthetic data class methods using value class types present in LC ##### Analysis API. Providers and Caches ##### Performance Improvements - [`KT-62115`](https://youtrack.jetbrains.com/issue/KT-62115) Analysis API: Package providers are not cached per search scope - [`KT-74463`](https://youtrack.jetbrains.com/issue/KT-74463) Analysis API: `LLNativeForwardDeclarationsSymbolProvider` queries its cache even when the `ClassId` cannot represent a native forward declaration ##### Fixes - [`KT-74541`](https://youtrack.jetbrains.com/issue/KT-74541) Analysis API: Include files generated by resolve extensions in `KaModule` content scopes - [`KT-64236`](https://youtrack.jetbrains.com/issue/KT-64236) Analysis API: Introduce a separate module for fallback dependencies of library source modules - [`KT-74090`](https://youtrack.jetbrains.com/issue/KT-74090) Analysis API: Support dumb mode (restricted analysis) - [`KT-63780`](https://youtrack.jetbrains.com/issue/KT-63780) Analysis API: Invalidate resolvable library sessions when binary library modules are modified - [`KT-72388`](https://youtrack.jetbrains.com/issue/KT-72388) KaFirStopWorldCacheCleaner: Control-flow exceptions - [`KT-74943`](https://youtrack.jetbrains.com/issue/KT-74943) Analysis API: Replace `KotlinGlobalModificationService` with simpler global modification event publishing and listener-based modification trackers - [`KT-70518`](https://youtrack.jetbrains.com/issue/KT-70518) K2: Analysis API: Access indices outside of `ConcurrentMap` computation in symbol providers - [`KT-74302`](https://youtrack.jetbrains.com/issue/KT-74302) Analysis API: `LLFirProvider` should disregard self-declarations in `getFirClassifierBy*` - [`KT-67868`](https://youtrack.jetbrains.com/issue/KT-67868) Analysis API: Improve the architecture of `LLFirKotlinSymbolProvider`s ##### Analysis API. Standalone - [`KT-72810`](https://youtrack.jetbrains.com/issue/KT-72810) withMultiplatformLightClassSupport is inconvenient in Standalone ##### Analysis API. Stubs and Decompilation - [`KT-71787`](https://youtrack.jetbrains.com/issue/KT-71787) `PsiRawFirBuilder.Visitor#visitStringTemplateExpression` forces AST loading - [`KT-68484`](https://youtrack.jetbrains.com/issue/KT-68484) K2 IDE, Analysis API: "We should be able to find a symbol for function" for getting KaType of `Iterable<T>.map(transform: (T) -> R)` parameter in J2K ##### Analysis API. Surface ##### New Features - [`KT-74475`](https://youtrack.jetbrains.com/issue/KT-74475) Add `isInline` for `KaPropertySymbol` - [`KT-75063`](https://youtrack.jetbrains.com/issue/KT-75063) KaScopeContext: support context parameters ##### Performance Improvements - [`KT-73669`](https://youtrack.jetbrains.com/issue/KT-73669) Support psi-based symbol pointer for implicit primary constructors - [`KT-76008`](https://youtrack.jetbrains.com/issue/KT-76008) Provide PSI-based implementation for `KaFirNamedClassSymbol#companionObject` - [`KT-70165`](https://youtrack.jetbrains.com/issue/KT-70165) Introduce PSI-based `KaSymbol`s for K2 ##### Fixes - [`KT-72730`](https://youtrack.jetbrains.com/issue/KT-72730) K2: "Unexpected owner function: KtNamedFunction" on vararg val parameter in function - [`KT-75123`](https://youtrack.jetbrains.com/issue/KT-75123) K2. KaFirNamedFunctionSymbol should contain a receiver - [`KT-75894`](https://youtrack.jetbrains.com/issue/KT-75894) Cannot build KaFirJavaFieldSymbol for FirFieldImpl - [`KT-75115`](https://youtrack.jetbrains.com/issue/KT-75115) Analysis API: The `JavaModuleResolver` compiler class is leaked to Analysis API platform implementations - [`KT-76018`](https://youtrack.jetbrains.com/issue/KT-76018) K2: Stop the wold leads to deadlock/freeze - [`KT-76011`](https://youtrack.jetbrains.com/issue/KT-76011) `KaFirNamedClassSymbol#companionObject` doesn't provide generated objects generated by compiled plugins - [`KT-72482`](https://youtrack.jetbrains.com/issue/KT-72482) "KotlinIllegalArgumentExceptionWithAttachments: Expected all candidates to have same callableId but some of them but was different" on trying to add the import - [`KT-75586`](https://youtrack.jetbrains.com/issue/KT-75586) `KaFirPropertyGetterSymbol#isInline` and `KaFirPropertySetterSymbol#isInline` is incorrect for accessors with explicit modifier - [`KT-58572`](https://youtrack.jetbrains.com/issue/KT-58572) Analysis API: Enforcing STATUS resolve in 'KtFirNamedClassOrObjectSymbol.visibility' may cause lazy resolve contract violation - [`KT-75574`](https://youtrack.jetbrains.com/issue/KT-75574) Recognize injected code fragment copies - [`KT-75573`](https://youtrack.jetbrains.com/issue/KT-75573) Recognize physical file copies as dangling files - [`KT-74801`](https://youtrack.jetbrains.com/issue/KT-74801) Analysis API: Publish/subscribe to modification events with a single message bus topic - [`KT-73290`](https://youtrack.jetbrains.com/issue/KT-73290) Analysis API: Improve the architecture of content scopes and resolution scopes - [`KT-68901`](https://youtrack.jetbrains.com/issue/KT-68901) Constructor delegation call receiver missing in fir implementation - [`KT-72639`](https://youtrack.jetbrains.com/issue/KT-72639) Support context parameter API - [`KT-73112`](https://youtrack.jetbrains.com/issue/KT-73112) AA: FirExpression.toKtReceiverValue should handle context receivers properly - [`KT-74905`](https://youtrack.jetbrains.com/issue/KT-74905) Cannot find context receiver in FIR declaration - [`KT-74563`](https://youtrack.jetbrains.com/issue/KT-74563) `createPointer` is overloaded not for all implementations - [`KT-73722`](https://youtrack.jetbrains.com/issue/KT-73722) Analysis API: Automatically check that the API surface is fully documented - [`KT-65065`](https://youtrack.jetbrains.com/issue/KT-65065) Provide `KtTypeReference#getShortTypeText()` ##### Backend. Native. Debug - [`KT-75991`](https://youtrack.jetbrains.com/issue/KT-75991) Xcode 16.3: Fix lldb stepping test over an inline function ##### Backend. Wasm ##### New Features - [`KT-59032`](https://youtrack.jetbrains.com/issue/KT-59032) Support instantiation of annotation classes on WASM ##### Fixes - [`KT-77622`](https://youtrack.jetbrains.com/issue/KT-77622) K/Wasm: investigate CMP crash on mobile Safari - [`KT-76747`](https://youtrack.jetbrains.com/issue/KT-76747) \[Wasm] Wasm name section absent for wasm structs - [`KT-76701`](https://youtrack.jetbrains.com/issue/KT-76701) K/Wasm: custom formatters are not loaded when a project is built with incremental compilation - [`KT-66081`](https://youtrack.jetbrains.com/issue/KT-66081) K/WASM: `0/0`, `5/0` and `5%0`throw not ArithmeticException, but RuntimeError - [`KT-76287`](https://youtrack.jetbrains.com/issue/KT-76287) \[Wasm] Enable stdlib and kotlin.test tests after compiler bootstrap - [`KT-75871`](https://youtrack.jetbrains.com/issue/KT-75871) \[Wasm] Implement new RTTI approach - [`KT-75872`](https://youtrack.jetbrains.com/issue/KT-75872) Wasm / IC: IllegalStateException: IC internal error: can not find library - [`KT-74441`](https://youtrack.jetbrains.com/issue/KT-74441) K/Wasm: incorrect 1e-45.toString() - [`KT-59118`](https://youtrack.jetbrains.com/issue/KT-59118) WASM: floating point toString inconsistencies - [`KT-68948`](https://youtrack.jetbrains.com/issue/KT-68948) Wasm: float from variable is printed with many decimal points - [`KT-69107`](https://youtrack.jetbrains.com/issue/KT-69107) \[wasm] Seemingly incorrect rounding - [`KT-73362`](https://youtrack.jetbrains.com/issue/KT-73362) Migrate K/Wasm sources to new IR parameter API ##### Compiler ##### New Features - [`KT-70722`](https://youtrack.jetbrains.com/issue/KT-70722) Implement better Kotlin warnings for value classes and JEP 390 (Warnings for Value-Based Classes) - [`KT-71768`](https://youtrack.jetbrains.com/issue/KT-71768) Enable -Xjvm-default=all-compatibility by default to generate JVM default interface methods - [`KT-54205`](https://youtrack.jetbrains.com/issue/KT-54205) Support jakarta Nullability annotations - [`KT-57919`](https://youtrack.jetbrains.com/issue/KT-57919) Store all annotations in Kotlin metadata on JVM under a flag - [`KT-73255`](https://youtrack.jetbrains.com/issue/KT-73255) Change defaulting rule for annotations - [`KT-74382`](https://youtrack.jetbrains.com/issue/KT-74382) Annotating Java record components for `@JvmRecord` data class - [`KT-74811`](https://youtrack.jetbrains.com/issue/KT-74811) Prohibit usages of `@MustUseValue` / `@IgnorableValue` if RV checker is not enabled - [`KT-74806`](https://youtrack.jetbrains.com/issue/KT-74806) Implement feature flag for improved unused return value checker - [`KT-74809`](https://youtrack.jetbrains.com/issue/KT-74809) Support unnamed local variables - [`KT-73508`](https://youtrack.jetbrains.com/issue/KT-73508) Add a warning diagnostic for using kotlin.concurrent.AtomicRef<Int> - [`KT-72941`](https://youtrack.jetbrains.com/issue/KT-72941) ANNOTATIONS\_ON\_BLOCK\_LEVEL\_EXPRESSION\_ON\_THE\_SAME\_LINE missing in K2 - [`KT-74497`](https://youtrack.jetbrains.com/issue/KT-74497) Warn about incompatible Kotlin and Java targets in annotations - [`KT-75061`](https://youtrack.jetbrains.com/issue/KT-75061) Support context-sensitive resolution in type position - [`KT-75315`](https://youtrack.jetbrains.com/issue/KT-75315) Support context-sensitive resolution in the call-argument position - [`KT-75316`](https://youtrack.jetbrains.com/issue/KT-75316) Support context-sensitive resolution for expression-position with expected type - [`KT-76088`](https://youtrack.jetbrains.com/issue/KT-76088) Support context-sensitive resolution for annotation arguments - [`KT-74049`](https://youtrack.jetbrains.com/issue/KT-74049) Introduce special override rule to allow overriding T! with T & Any ##### Performance Improvements - [`KT-76395`](https://youtrack.jetbrains.com/issue/KT-76395) Performance degradation on 28.03.2025 - [`KT-76422`](https://youtrack.jetbrains.com/issue/KT-76422) FirJavaFacade#createFirJavaClass: do not compute super type references right away - [`KT-75957`](https://youtrack.jetbrains.com/issue/KT-75957) K2: PsiRawFirBuilder.Visitor#toFirExpression forces AST loading via getSpreadElement - [`KT-74824`](https://youtrack.jetbrains.com/issue/KT-74824) Exponential performance caused by nested flexible types - [`KT-62855`](https://youtrack.jetbrains.com/issue/KT-62855) K2: extra allocation for SAM conversion compared to K1 - [`KT-74977`](https://youtrack.jetbrains.com/issue/KT-74977) K/N: support stack array for Array(size) call - [`KT-74369`](https://youtrack.jetbrains.com/issue/KT-74369) Exponential compiler memory usage in specific situations with type inference ##### Fixes - [`KT-76606`](https://youtrack.jetbrains.com/issue/KT-76606) Enable 'Indy: Allow lambdas with annotations' by default - [`KT-77301`](https://youtrack.jetbrains.com/issue/KT-77301) False positive Context Parameter resolution when using DslMarker - [`KT-74389`](https://youtrack.jetbrains.com/issue/KT-74389) K2: False positive NON\_EXPORTABLE\_TYPE on non-Unit `Promise<...>` in K/JS - [`KT-77219`](https://youtrack.jetbrains.com/issue/KT-77219) "`@Composable` annotation is not applicable" on vararg `@Composable` () -> Unit in Kotlin 2.2.0 - [`KT-76357`](https://youtrack.jetbrains.com/issue/KT-76357) K2: a nested class annotation observes member declarations of the outer class - [`KT-72734`](https://youtrack.jetbrains.com/issue/KT-72734) Support new callable reference nodes in Kotlin Native - [`KT-74421`](https://youtrack.jetbrains.com/issue/KT-74421) K2: Missing "val cannot be reassigned" when trying to assign a value to parent's "val" - [`KT-63720`](https://youtrack.jetbrains.com/issue/KT-63720) Coroutine debugger: do not optimise out local variables - [`KT-74470`](https://youtrack.jetbrains.com/issue/KT-74470) NSME on calling in runtime internal constructor of value class with default arg from tests - [`KT-77640`](https://youtrack.jetbrains.com/issue/KT-77640) Context parameters: using 'contextOf()' function leads to \[NO\_CONTEXT\_ARGUMENT] - [`KT-73909`](https://youtrack.jetbrains.com/issue/KT-73909) Add an inspection discouraging usage of kotlin.concurrent Native atomics in favor of the new atomics - [`KT-76583`](https://youtrack.jetbrains.com/issue/KT-76583) CCE: suspend lambda attempts to unbox value class parameter twice after lambda suspended - [`KT-76663`](https://youtrack.jetbrains.com/issue/KT-76663) KJS: KotlinNothingValueException caused by expression return since 2.1.20 - [`KT-75457`](https://youtrack.jetbrains.com/issue/KT-75457) Native: cache machinery uses stdlib cache with default runtime options even if custom runtime options are supplied when partial linkage is disabled - [`KT-76615`](https://youtrack.jetbrains.com/issue/KT-76615) K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" for mixed Java/Kotlin code - [`KT-77220`](https://youtrack.jetbrains.com/issue/KT-77220) Annotation with EXPRESSION is not allowed on lambdas in Kotlin 2.2.0 - [`KT-76381`](https://youtrack.jetbrains.com/issue/KT-76381) K2: Expected expression 'FirPropertyAccessExpressionImpl' to be resolved - [`KT-74739`](https://youtrack.jetbrains.com/issue/KT-74739) Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION\_REFERENCE" - [`KT-74325`](https://youtrack.jetbrains.com/issue/KT-74325) Explicit API mode does not enforce explicit return types for extension properties - [`KT-77259`](https://youtrack.jetbrains.com/issue/KT-77259) Confusing message for `ANNOTATION_WILL_BE_APPLIED_ALSO_TO_PROPERTY_OR_FIELD` - [`KT-73771`](https://youtrack.jetbrains.com/issue/KT-73771) K2: Infinite compilation caused by buildList without type - [`KT-61258`](https://youtrack.jetbrains.com/issue/KT-61258) Kotlin/Native: CLASS CLASS name:<no name provided> modality:FINAL visibility:local superTypes:\[<root>.Base] - [`KT-75317`](https://youtrack.jetbrains.com/issue/KT-75317) Kotlin/Native: segfault in kotlin::gc::Mark<kotlin::gc::mark::ConcurrentMark::MarkTraits> - [`KT-75965`](https://youtrack.jetbrains.com/issue/KT-75965) The iOS app did not run successfully in Release mode - [`KT-77397`](https://youtrack.jetbrains.com/issue/KT-77397) Report UNSUPPORTED\_CONTEXTUAL\_DECLARATION\_CALL when calling declaration with contextual function type in signature - [`KT-77137`](https://youtrack.jetbrains.com/issue/KT-77137) K2: Controversial behavior allows resolving annotation arguments on a companion inside it - [`KT-77150`](https://youtrack.jetbrains.com/issue/KT-77150) Native: compilation fails with an assertion error - [`KT-51960`](https://youtrack.jetbrains.com/issue/KT-51960) ClassCastException: Inline function with both context and extension receiver produces this when invoked - [`KT-73611`](https://youtrack.jetbrains.com/issue/KT-73611) Remove -Xextended-compiler-checks in favor of a deprecation cycle - [`KT-74649`](https://youtrack.jetbrains.com/issue/KT-74649) Deprecate language versions 1.8 and 1.9 - [`KT-77283`](https://youtrack.jetbrains.com/issue/KT-77283) Binary compatibility of FirDeclarationChecker - [`KT-73445`](https://youtrack.jetbrains.com/issue/KT-73445) K2: do not report "cannot infer visibility" when inheriting multiple implementations - [`KT-75945`](https://youtrack.jetbrains.com/issue/KT-75945) Indy: Allow lambdas with annotations - [`KT-76898`](https://youtrack.jetbrains.com/issue/KT-76898) K2: ClassCastException when data class shadows supertype's `componentX` method with wrong type - [`KT-75992`](https://youtrack.jetbrains.com/issue/KT-75992) Xcode 16.3: stacktraces on simulators are not symbolicated - [`KT-76805`](https://youtrack.jetbrains.com/issue/KT-76805) Wrong NPE occurs when assigning synthetic properties with platform types in Kotlin 2.1.20 - [`KT-76171`](https://youtrack.jetbrains.com/issue/KT-76171) "KotlinIllegalArgumentExceptionWithAttachments: Expected expression 'FirSingleExpressionBlock' to be resolved" - [`KT-77078`](https://youtrack.jetbrains.com/issue/KT-77078) K2: anonymous object is wrongly allowed to implement interfaces by unsafe Delegation - [`KT-72722`](https://youtrack.jetbrains.com/issue/KT-72722) Treat 'copy' calls of a data class as explicit constructor usages - [`KT-77001`](https://youtrack.jetbrains.com/issue/KT-77001) Leave ForbidParenthesizedLhsInAssignments as a warning - [`KT-75828`](https://youtrack.jetbrains.com/issue/KT-75828) Store backing field/delegate annotations and extension receiver annotations in metadata - [`KT-58369`](https://youtrack.jetbrains.com/issue/KT-58369) K2: enable DFA warnings - [`KT-51258`](https://youtrack.jetbrains.com/issue/KT-51258) Annotations should go before context receivers - [`KT-76253`](https://youtrack.jetbrains.com/issue/KT-76253) K2 Compiler: Less precise diagnostic COMPONENT\_FUNCTION\_AMBIGUITY for flexible type - [`KT-59526`](https://youtrack.jetbrains.com/issue/KT-59526) Store annotation default values in metadata on JVM - [`KT-63850`](https://youtrack.jetbrains.com/issue/KT-63850) K2: setter with an annotated parameter has `isNotDefault == false` flag in metadata - [`KT-75712`](https://youtrack.jetbrains.com/issue/KT-75712) -Wextra: false positive UNUSED\_LAMBDA\_EXPRESSION on functional type variable assignment with inferred type - [`KT-4779`](https://youtrack.jetbrains.com/issue/KT-4779) Generate default methods for implementations in interfaces - [`KT-69624`](https://youtrack.jetbrains.com/issue/KT-69624) Debugger: Missing local variable in Variables view (inline function) - [`KT-75518`](https://youtrack.jetbrains.com/issue/KT-75518) NO\_CONTEXT\_ARGUMENT should report the name of the context parameter in addition to the type - [`KT-76199`](https://youtrack.jetbrains.com/issue/KT-76199) Introduce -Xcontext-sensitive-resolution compiler flag - [`KT-75553`](https://youtrack.jetbrains.com/issue/KT-75553) `MISSING_DEPENDENCY_SUPERCLASS` and `MISSING_DEPENDENCY_SUPERCLASS_WARNING` is reported at the same time on the same element - [`KT-76159`](https://youtrack.jetbrains.com/issue/KT-76159) Obsolete error "'`@JvmDefaultWithCompatibility`' annotation is only allowed on interfaces" should be removed - [`KT-76660`](https://youtrack.jetbrains.com/issue/KT-76660) False negative RETURN\_NOT\_ALLOWED in lambda in default argument leads to NoClassDefFoundError: $$$$$NON\_LOCAL\_RETURN$$$$$ - [`KT-76301`](https://youtrack.jetbrains.com/issue/KT-76301) Fail to infer types after syntactical change - [`KT-74999`](https://youtrack.jetbrains.com/issue/KT-74999) K2: KotlinNothingValueException within Extension Function - [`KT-76675`](https://youtrack.jetbrains.com/issue/KT-76675) KIAEWA exception at KaFirDataFlowProvider with non-local return from nested inline call - [`KT-75756`](https://youtrack.jetbrains.com/issue/KT-75756) Backend Internal error: Exception during IR lowering when trying to access variable from providedProperties in class within kotlin custom script - [`KT-76345`](https://youtrack.jetbrains.com/issue/KT-76345) Enhance variable fixation - [`KT-76578`](https://youtrack.jetbrains.com/issue/KT-76578) \[FIR, K1/K2 Regression] `lateinit` is allowed on loop parameters - [`KT-76448`](https://youtrack.jetbrains.com/issue/KT-76448) FirOverrideChecker: class ClsMethodImpl is not a subtype of class KtNamedDeclaration for factory VIRTUAL\_MEMBER\_HIDDEN - [`KT-73360`](https://youtrack.jetbrains.com/issue/KT-73360) Migrate K/JVM sources to new IR parameter API - [`KT-74852`](https://youtrack.jetbrains.com/issue/KT-74852) Kotlin/Native: allow caches for thread state checker and sanitizers - [`KT-76130`](https://youtrack.jetbrains.com/issue/KT-76130) IR evaluator does not support array literals in annotation parameter default values - [`KT-76436`](https://youtrack.jetbrains.com/issue/KT-76436) Missing K2 checker: non-local return through lambda passed to inline f/o - [`KT-74326`](https://youtrack.jetbrains.com/issue/KT-74326) False negative: no variable must be initialized error though code doesn't compile - [`KT-76572`](https://youtrack.jetbrains.com/issue/KT-76572) FIR\_NON\_SUPPRESSIBLE\_ERROR\_NAMES does not contain deprecation errors - [`KT-75704`](https://youtrack.jetbrains.com/issue/KT-75704) Refactor `FirWhenSubjectExpression` - [`KT-76284`](https://youtrack.jetbrains.com/issue/KT-76284) Flexible captured type is not approximated in receiver position - [`KT-76192`](https://youtrack.jetbrains.com/issue/KT-76192) RETURN\_TYPE\_MISMATCH with same expected and actual type: nullability of actual type is omitted - [`KT-75944`](https://youtrack.jetbrains.com/issue/KT-75944) Allow using invokedynamic for lambdas with no 'Runtime' level retention annotations - [`KT-76396`](https://youtrack.jetbrains.com/issue/KT-76396) FirIntegerConstantOperatorScope: NoSuchElementException: Collection contains no element matching the predicate - [`KT-76209`](https://youtrack.jetbrains.com/issue/KT-76209) CONFLICTING\_UPPER\_BOUNDS on `Nothing` bound - [`KT-59506`](https://youtrack.jetbrains.com/issue/KT-59506) Context receivers: Unable to use trailing comma in receiver list - [`KT-46119`](https://youtrack.jetbrains.com/issue/KT-46119) NONE\_APPLICABLE instead of NAMED\_ARGUMENTS\_NOT\_ALLOWED with overloaded Java constructor call - [`KT-75503`](https://youtrack.jetbrains.com/issue/KT-75503) Run lazy resolution in CallableCopyTypeCalculator and use withForcedTypeCalculator everywhere in checkers - [`KT-76485`](https://youtrack.jetbrains.com/issue/KT-76485) Don't report EXTENSION\_SHADOWED\_BY\_MEMBER if extension can be called with named arguments - [`KT-76154`](https://youtrack.jetbrains.com/issue/KT-76154) False positive "EXTENSION\_SHADOWED\_BY\_MEMBER" when extension adds default values to parameters - [`KT-76527`](https://youtrack.jetbrains.com/issue/KT-76527) False positive UNSUPPORTED\_CONTEXTUAL\_DECLARATION\_CALL with -Xcontext-receivers and implicit invoke - [`KT-63246`](https://youtrack.jetbrains.com/issue/KT-63246) K2: False positive NOTHING\_TO\_OVERRIDE in generic property with context receiver in non generic class extending generic class - [`KT-58534`](https://youtrack.jetbrains.com/issue/KT-58534) K2: "Argument type mismatch" with typealias to context receiver functional type - [`KT-71792`](https://youtrack.jetbrains.com/issue/KT-71792) Switch latest stable version in Kotlin project to 2.2 - [`KT-74827`](https://youtrack.jetbrains.com/issue/KT-74827) CompilationErrorException : Could not load module in an attempt to find deserializer when trying to evaluate an expression - [`KT-70352`](https://youtrack.jetbrains.com/issue/KT-70352) K2: False-negative CONFLICTING\_UPPER\_BOUNDS on `Nothing` bound - [`KT-71481`](https://youtrack.jetbrains.com/issue/KT-71481) K2: drop pre-1.6 language features from compiler code - [`KT-74454`](https://youtrack.jetbrains.com/issue/KT-74454) Support trailing comma in context parameters - [`KT-74069`](https://youtrack.jetbrains.com/issue/KT-74069) False positive UNUSED\_EXPRESSION due to Long/Int conversion - [`KT-74337`](https://youtrack.jetbrains.com/issue/KT-74337) Local Delegated properties don't preserve their annotations and don't show up in reflection - [`KT-55187`](https://youtrack.jetbrains.com/issue/KT-55187) Context receivers in function types can have labels - [`KT-58498`](https://youtrack.jetbrains.com/issue/KT-58498) Context receivers: ClassCastException with object and extension function in interface - [`KT-58165`](https://youtrack.jetbrains.com/issue/KT-58165) K2: "IllegalArgumentException: No argument for parameter VALUE\_PARAMETER" on overridden contextual property - [`KT-75234`](https://youtrack.jetbrains.com/issue/KT-75234) Add error for callsInPlace contracts on context parameters - [`KT-73805`](https://youtrack.jetbrains.com/issue/KT-73805) K2: Investigate missing diagnostic in implicit invoke call on context function type with receiver from module with disabled context parameters - [`KT-41934`](https://youtrack.jetbrains.com/issue/KT-41934) NI: a type variable for lambda parameter has been inferred to nullable type instead of not null one - [`KT-75983`](https://youtrack.jetbrains.com/issue/KT-75983) Backend Internal error: Exception during IR lowering 'IllegalStateException: Internal error: cannot convert Any to Int' - [`KT-75535`](https://youtrack.jetbrains.com/issue/KT-75535) Compilation of typealias does not check for clashes - [`KT-72313`](https://youtrack.jetbrains.com/issue/KT-72313) K2 IDE / KMP Debugger: Evaluation of inline functions declared in a common source set causes a crash - [`KT-76290`](https://youtrack.jetbrains.com/issue/KT-76290) False positive UNUSED\_EXPRESSION while returning Unit in the when branches - [`KT-32358`](https://youtrack.jetbrains.com/issue/KT-32358) NI: Smart cast doesn't work with inline function after elvis operator - [`KT-76316`](https://youtrack.jetbrains.com/issue/KT-76316) K2: Missing NON\_PUBLIC\_CALL\_FROM\_PUBLIC\_INLINE on object extending private class in public inline function - [`KT-76324`](https://youtrack.jetbrains.com/issue/KT-76324) Frontend diagnostic says "... this will be an error in Kotlin N.M" but N.M is already released - [`KT-76058`](https://youtrack.jetbrains.com/issue/KT-76058) PCLA: compile-time failure on calling a higher-order function from another module inside a lambda assigned to a variable of a type with a postponed type variable - [`KT-75571`](https://youtrack.jetbrains.com/issue/KT-75571) K2: type mismatch error provides unsubstituted types - [`KT-31391`](https://youtrack.jetbrains.com/issue/KT-31391) 'Recursive call is not a tail call' with elvis operator in tailrec function - [`KT-73420`](https://youtrack.jetbrains.com/issue/KT-73420) False-positive `NON_TAIL_RECURSIVE_CALL` on tailrec function with elvis in the return statement - [`KT-75815`](https://youtrack.jetbrains.com/issue/KT-75815) Disable warnings about different context parameter names in overrides - [`KT-75169`](https://youtrack.jetbrains.com/issue/KT-75169) Unnecessary EXTENSION\_SHADOWED\_BY\_MEMBER on generic declarations - [`KT-75483`](https://youtrack.jetbrains.com/issue/KT-75483) Native: redundant unboxing generated with smart cast - [`KT-76339`](https://youtrack.jetbrains.com/issue/KT-76339) K2: Dangling modifier list is missed for enum entries in PSI mode - [`KT-75513`](https://youtrack.jetbrains.com/issue/KT-75513) Avoid overrides traversal without preinitialization - [`KT-74587`](https://youtrack.jetbrains.com/issue/KT-74587) Report an error when JvmDefaultWithoutCompatibility is used with -Xjvm-default=all - [`KT-76257`](https://youtrack.jetbrains.com/issue/KT-76257) Annotations with class references are not supported when marking IR declarations as visible to metadata - [`KT-71793`](https://youtrack.jetbrains.com/issue/KT-71793) Drop language versions 1.6 and 1.7 - [`KT-59272`](https://youtrack.jetbrains.com/issue/KT-59272) Incorrect bytecode generated: wrong line number table after condition - [`KT-69248`](https://youtrack.jetbrains.com/issue/KT-69248) K2: IAE “class KtDotQualifiedExpression is not a subtype of class KtCallExpression for factory ENUM\_CLASS\_CONSTRUCTOR\_CALL” with qualified enum constructor call - [`KT-73778`](https://youtrack.jetbrains.com/issue/KT-73778) Kotlin Debugger: NSFE on accessing private property from dependencies during evaluation - [`KT-74131`](https://youtrack.jetbrains.com/issue/KT-74131) Incorrect line numbers for static initializer with delegated local variable - [`KT-76320`](https://youtrack.jetbrains.com/issue/KT-76320) K2: PsiRawFirBuilder: import alias triggers ast loading - [`KT-63851`](https://youtrack.jetbrains.com/issue/KT-63851) K2: No `setterValueParameter` in metadata for property setter with an annotated parameter - [`KT-55083`](https://youtrack.jetbrains.com/issue/KT-55083) JVM: AbstractMethodError caused by lambda with sealed base interface and fun sub interface and overridden method - [`KT-16727`](https://youtrack.jetbrains.com/issue/KT-16727) Names for anonymous classes in interfaces are malformed on JDK 8 - [`KT-12466`](https://youtrack.jetbrains.com/issue/KT-12466) NoClassDefFoundError: B$DefaultImpls on super interface call through K-J-K inheritance - [`KT-71002`](https://youtrack.jetbrains.com/issue/KT-71002) Possible inheritance from nullable type through typealias - [`KT-75293`](https://youtrack.jetbrains.com/issue/KT-75293) K2: Missing \[HAS\_NEXT\_FUNCTION\_TYPE\_MISMATCH] diagnostics - [`KT-75498`](https://youtrack.jetbrains.com/issue/KT-75498) Forbid .declarations access from checkers - [`KT-72335`](https://youtrack.jetbrains.com/issue/KT-72335) KotlinIllegalArgumentExceptionWithAttachments when using illegal selector - [`KT-68375`](https://youtrack.jetbrains.com/issue/KT-68375) K2: FirPrimaryConstructorSuperTypeChecker fails on generated superclasses - [`KT-71718`](https://youtrack.jetbrains.com/issue/KT-71718) K2: drop TypePreservingVisibilityWrtHack - [`KT-75112`](https://youtrack.jetbrains.com/issue/KT-75112) FE resolves wrong receivers order for property passed to delegate - [`KT-75924`](https://youtrack.jetbrains.com/issue/KT-75924) K2. Incorrect generic type Inference "R? & Any" appears for "Add explicit type arguments" - [`KT-75969`](https://youtrack.jetbrains.com/issue/KT-75969) java.lang.IllegalArgumentException: source must not be null on red code - [`KT-75322`](https://youtrack.jetbrains.com/issue/KT-75322) ConeDiagnosticToFirDiagnosticKt: source must not be null - [`KT-73800`](https://youtrack.jetbrains.com/issue/KT-73800) Wrong method executed on super call in -Xjvm-default=all/all-compatibility with an extraneous super-interface - [`KT-38029`](https://youtrack.jetbrains.com/issue/KT-38029) Wrong method executed on super call in diamond hierarchy with covariant override - [`KT-75242`](https://youtrack.jetbrains.com/issue/KT-75242) Any use-site target can be applied to a lambda and an expression - [`KT-73051`](https://youtrack.jetbrains.com/issue/KT-73051) incorrect direction of subtyping violation in type mismatch error's message for A\<X<C>> \</: A\<Y<Tv>> given a Tv <: Rv == C constraint from a lambda return position - [`KT-75090`](https://youtrack.jetbrains.com/issue/KT-75090) Argument type mismatch: actual type is 'SuspendFunction0<Unit>', but 'SuspendFunction0<Unit>' was expected when anonymous function is passed to function expecting suspend function type - [`KT-74956`](https://youtrack.jetbrains.com/issue/KT-74956) K2: No USAGE\_IS\_NOT\_INLINABLE with compiling an inlined function call - [`KT-76049`](https://youtrack.jetbrains.com/issue/KT-76049) K2: drop explicitTypeArgumentIfMadeFlexibleSynthetically creation when DontMakeExplicitJavaTypeArgumentsFlexible is enabled - [`KT-76055`](https://youtrack.jetbrains.com/issue/KT-76055) K2: drop prepareCustomReturnTypeSubstitutorForFunctionCall logic when DontMakeExplicitJavaTypeArgumentsFlexible is enabled - [`KT-76057`](https://youtrack.jetbrains.com/issue/KT-76057) K2: don't do reverse Java overridability checks when DontMakeExplicitJavaTypeArgumentsFlexible is enabled - [`KT-75197`](https://youtrack.jetbrains.com/issue/KT-75197) K2: Missing \[COMPARE\_TO\_TYPE\_MISMATCH] diagnostics - [`KT-75639`](https://youtrack.jetbrains.com/issue/KT-75639) Inline `context` function leads to `ClassCastException` - [`KT-75677`](https://youtrack.jetbrains.com/issue/KT-75677) K2: change runtime behavior of KT-75649 case in 2.2 - [`KT-75961`](https://youtrack.jetbrains.com/issue/KT-75961) K2: `PsiRawFirBuilder.Visitor#visitSimpleNameExpression`forces AST loading via `getReferencedNameElement().node.text` - [`KT-67869`](https://youtrack.jetbrains.com/issue/KT-67869) Make inference for lambda working consistently inside and outside of the call - [`KT-74885`](https://youtrack.jetbrains.com/issue/KT-74885) K2: IAE "source must not be null" in FirCyclicTypeBoundsChecker - [`KT-75578`](https://youtrack.jetbrains.com/issue/KT-75578) K2: False negative \[SUPER\_CALL\_WITH\_DEFAULT\_PARAMETERS] when calling the upper-class implementation of a method with the default value argument - [`KT-73954`](https://youtrack.jetbrains.com/issue/KT-73954) Generate implementations in classes for inherited non-abstract methods in -Xjvm-default=all-compatibility - [`KT-75173`](https://youtrack.jetbrains.com/issue/KT-75173) Context parameters: KotlinIllegalArgumentExceptionWithAttachments if you override function with value/extension parameter by fun with context - [`KT-75742`](https://youtrack.jetbrains.com/issue/KT-75742) Native: "IllegalArgumentException: unknown pass name '' " when specifying an empty list of LLVM passes - [`KT-74819`](https://youtrack.jetbrains.com/issue/KT-74819) K2: False-positive overload resolution ambiguity for flatMap inside PCLA - [`KT-75093`](https://youtrack.jetbrains.com/issue/KT-75093) K2 IDE: "Unreachable code" highlighting range is confusing - [`KT-74572`](https://youtrack.jetbrains.com/issue/KT-74572) Context parameters: contracts don't work with context parameters - [`KT-74765`](https://youtrack.jetbrains.com/issue/KT-74765) Move K1 lazy IR implementation from 'ir.tree' to 'psi2ir' - [`KT-71425`](https://youtrack.jetbrains.com/issue/KT-71425) IR Inliner: investigate return type of an inlined block - [`KT-74764`](https://youtrack.jetbrains.com/issue/KT-74764) Native: merge init nodes generated within the same LLVM module for the same klib - [`KT-75561`](https://youtrack.jetbrains.com/issue/KT-75561) K/N: place InteropLowering after UpgradeCallableReferences phase - [`KT-73369`](https://youtrack.jetbrains.com/issue/KT-73369) K/N: move interop lowering up the pipeline - [`KT-75517`](https://youtrack.jetbrains.com/issue/KT-75517) K2: Refactor FirCallableSymbol.resolvedContextParameters to return symbols - [`KT-75821`](https://youtrack.jetbrains.com/issue/KT-75821) K2: REPL resolution doesn't take into account the property type when processing its initializer - [`KT-75705`](https://youtrack.jetbrains.com/issue/KT-75705) IllegalArgumentException when isInitialized is used with java field - [`KT-75334`](https://youtrack.jetbrains.com/issue/KT-75334) Java target shouldn't be specified if Kotlin target isn't specified - [`KT-75157`](https://youtrack.jetbrains.com/issue/KT-75157) Missing PARAMETER\_NAME\_CHANGED\_ON\_OVERRIDE and DIFFERENT\_NAMES\_FOR\_THE\_SAME\_PARAMETER\_IN\_SUPERTYPES for context parameters - [`KT-75160`](https://youtrack.jetbrains.com/issue/KT-75160) Check usages of value parameters in checkers and adapt to context parameters - [`KT-75729`](https://youtrack.jetbrains.com/issue/KT-75729) KtPsiFactory: no type-safe way to create triple-quoted KtStringTemplateExpression - [`KT-75040`](https://youtrack.jetbrains.com/issue/KT-75040) Unify `subject` and `subjectVariable` in `FirWhenExpression` - [`KT-75323`](https://youtrack.jetbrains.com/issue/KT-75323) FirSyntheticProperty: Unexpected status. Expected is FirResolvedDeclarationStatus, but was FirDeclarationStatusImpl - [`KT-75602`](https://youtrack.jetbrains.com/issue/KT-75602) Introduce concept of shared library session in Fir sessions - [`KT-75509`](https://youtrack.jetbrains.com/issue/KT-75509) PARAMETER\_NAME\_CHANGED\_ON\_OVERRIDE is reported randomly - [`KT-75124`](https://youtrack.jetbrains.com/issue/KT-75124) IAE “class org.jetbrains.kotlin.psi.KtContextReceiver is not a subtype of class org.jetbrains.kotlin.psi.KtParameter for factory EXPOSED\_PARAMETER\_TYPE” on private context receiver - [`KT-73585`](https://youtrack.jetbrains.com/issue/KT-73585) K2: ABSTRACT\_SUPER\_CALL is not reported - [`KT-75531`](https://youtrack.jetbrains.com/issue/KT-75531) K2 REPL: local name doesn't shadow one from implicit receiver - [`KT-73359`](https://youtrack.jetbrains.com/issue/KT-73359) Migrate frontend sources to new IR parameter API - [`KT-75380`](https://youtrack.jetbrains.com/issue/KT-75380) K2: Modality is configured incorrectly for some FirDefaultPropertyAccessor - [`KT-75526`](https://youtrack.jetbrains.com/issue/KT-75526) Regression in K2 scripting: local name doesn't shadow one from the implicit receiver - [`KT-59379`](https://youtrack.jetbrains.com/issue/KT-59379) K2: Missing MIXING\_NAMED\_AND\_POSITIONED\_ARGUMENTS - [`KT-75106`](https://youtrack.jetbrains.com/issue/KT-75106) K2: type parameters of anonymous functions are unresolved - [`KT-73387`](https://youtrack.jetbrains.com/issue/KT-73387) Unexpected implicit type during enhancement - [`KT-72618`](https://youtrack.jetbrains.com/issue/KT-72618) Cannot define operator inc/dec in class context - [`KT-74546`](https://youtrack.jetbrains.com/issue/KT-74546) Serialize context parameters to metadata - [`KT-68768`](https://youtrack.jetbrains.com/issue/KT-68768) K2: unsuccessful inference fork with jspecify annotations - [`KT-75345`](https://youtrack.jetbrains.com/issue/KT-75345) Add a test for KT-42271 - [`KT-75012`](https://youtrack.jetbrains.com/issue/KT-75012) K2: Compiler crash on `dynamic == null` - [`KT-75195`](https://youtrack.jetbrains.com/issue/KT-75195) IllegalStateException: No value for annotation parameter when `@all` meta-target is used with annotation with constructor - [`KT-75163`](https://youtrack.jetbrains.com/issue/KT-75163) WRONG\_ANNOTATION\_TARGET\_WITH\_USE\_SITE\_TARGET for `@all` meta-target although there are applicable targets - [`KT-75198`](https://youtrack.jetbrains.com/issue/KT-75198) `@all` meta-target should be forbidden for delegated properties - [`KT-74958`](https://youtrack.jetbrains.com/issue/KT-74958) K2: UNEXPECTED\_TRAILING\_LAMBDA\_ON\_A\_NEW\_LINE isn't reported on accidental trailing closure - [`KT-74982`](https://youtrack.jetbrains.com/issue/KT-74982) Improve UNSUPPORTED message handling - [`KT-75111`](https://youtrack.jetbrains.com/issue/KT-75111) False negative "This declaration needs opt-in" for usage of enum entry with OptIn marker in another module - [`KT-74924`](https://youtrack.jetbrains.com/issue/KT-74924) Infinite recursion in substitution of captured type with recursive supertype - [`KT-75289`](https://youtrack.jetbrains.com/issue/KT-75289) NPE: getParent(...) must not be null - [`KT-75275`](https://youtrack.jetbrains.com/issue/KT-75275) Inline class member inherited from interface is not mangled in '-Xjvm-default=all-compatibility' - [`KT-74340`](https://youtrack.jetbrains.com/issue/KT-74340) FIR: folding binary expression chains for psi parser - [`KT-73831`](https://youtrack.jetbrains.com/issue/KT-73831) Do not choose `field` target in annotation classes - [`KT-73494`](https://youtrack.jetbrains.com/issue/KT-73494) Enable first-only-warn annotation defaulting mode - [`KT-75174`](https://youtrack.jetbrains.com/issue/KT-75174) K2: incorrect influence of return type nullability on required receiver type in KJK hierarchy with property - [`KT-74920`](https://youtrack.jetbrains.com/issue/KT-74920) Overriding T! with T & Any is not allowed to the extension property receiver type - [`KT-75150`](https://youtrack.jetbrains.com/issue/KT-75150) False ambiguous context parameter reported because context is not chosen via generic parameter - [`KT-74965`](https://youtrack.jetbrains.com/issue/KT-74965) CLI compiler doesn't report syntax errors for JS, Metadata backends if light-tree mode is disabled - [`KT-74303`](https://youtrack.jetbrains.com/issue/KT-74303) K2 IDE / Kotlin Debugger: AE “Trying to inline an anonymous object which is not part of the public ABI” on evaluating private inline function with object inside - [`KT-75177`](https://youtrack.jetbrains.com/issue/KT-75177) NoSuchMethodError on suspend default interface method fake override returning inline class in -Xjvm-default=all-compatibility - [`KT-74718`](https://youtrack.jetbrains.com/issue/KT-74718) K/N: Move TestProcessor phase to the top of the pipeline - [`KT-75015`](https://youtrack.jetbrains.com/issue/KT-75015) Context parameters: it is possible to declare anonymous function with modifiers but they don't have any effect - [`KT-75092`](https://youtrack.jetbrains.com/issue/KT-75092) K2: Missing errors for modifiers on anonymous function in statement position - [`KT-75009`](https://youtrack.jetbrains.com/issue/KT-75009) Context parameters: context is unresolved inside anonymous function if passed as an argument - [`KT-75017`](https://youtrack.jetbrains.com/issue/KT-75017) Context parameters: "IllegalStateException: Cannot find variable a: R|kotlin/String| in local storage " when context from another local function is called - [`KT-75154`](https://youtrack.jetbrains.com/issue/KT-75154) Context receiver deprecation warning should depend on langauge version, not on LATEST\_STABLE - [`KT-74979`](https://youtrack.jetbrains.com/issue/KT-74979) Context parameters: anonymous functions with a context aren't parsed in complex cases - [`KT-74673`](https://youtrack.jetbrains.com/issue/KT-74673) K2: ClassCastException when passing suspending functional interface with generic - [`KT-74469`](https://youtrack.jetbrains.com/issue/KT-74469) K2: False positive: "Argument type mismatch" during Java interop - [`KT-75105`](https://youtrack.jetbrains.com/issue/KT-75105) K2: False negative NAME\_IN\_CONSTRAINT\_IS\_NOT\_A\_TYPE\_PARAMETER for type constraint of anonymous function - [`KT-74929`](https://youtrack.jetbrains.com/issue/KT-74929) False positive TYPE\_PARAMETER\_OF\_PROPERTY\_NOT\_USED\_IN\_RECEIVER if it is used with T\&Any - [`KT-74227`](https://youtrack.jetbrains.com/issue/KT-74227) K2: "Cannot infer type for this parameter. Please specify it explicitly" caused by lambda in another lambda with a parameterized function type - [`KT-64558`](https://youtrack.jetbrains.com/issue/KT-64558) K2 compiler does not report UNNECESSARY\_SAFE\_CALL, UNNECESSARY\_NOT\_NULL\_ASSERTION, USELESS\_ELVIS, while K2 IDEA does - [`KT-74728`](https://youtrack.jetbrains.com/issue/KT-74728) K2: Java method overriding Kotlin method with receiver loses vararg modifier - [`KT-70789`](https://youtrack.jetbrains.com/issue/KT-70789) CLI error "mixing legacy and modern plugin arguments is prohibited" on using -Xcompiler-plugin unless default scripting plugin is disabled - [`KT-72829`](https://youtrack.jetbrains.com/issue/KT-72829) Forbid 'entries' name of enum entry, and deprioritize it in resolve - [`KT-75037`](https://youtrack.jetbrains.com/issue/KT-75037) K2: IrGeneratedDeclarationsRegistrar.registerFunctionAsMetadataVisible doesn't handle extension receivers and context parameters - [`KT-73149`](https://youtrack.jetbrains.com/issue/KT-73149) Annotations support for context parameters - [`KT-74798`](https://youtrack.jetbrains.com/issue/KT-74798) Report error on local contextual properties - [`KT-74092`](https://youtrack.jetbrains.com/issue/KT-74092) Context parameters: it is not possible to declare an anonymous function with a context - [`KT-52152`](https://youtrack.jetbrains.com/issue/KT-52152) K2: Investigate suspicious code at SAM conversions - [`KT-75016`](https://youtrack.jetbrains.com/issue/KT-75016) K2: BackendException when context var property is declared in interface - [`KT-74474`](https://youtrack.jetbrains.com/issue/KT-74474) K2: Report more precise diagnostic when last expression of non-unit lambda is a statement - [`KT-74478`](https://youtrack.jetbrains.com/issue/KT-74478) K2: False negative RETURN TYPE\_MISMATCH if the last statement of a lambda is indexed assignment - [`KT-73685`](https://youtrack.jetbrains.com/issue/KT-73685) K2 IDE / Kotlin Debugger: NSME “Method not found” on evaluating function with constant value in `@JvmName` - [`KT-74449`](https://youtrack.jetbrains.com/issue/KT-74449) Report RETURN\_TYPE\_MISMATCH instead of ARGUMENT\_TYPE\_MISMATCH for return expressions in lambdas - [`KT-74918`](https://youtrack.jetbrains.com/issue/KT-74918) FIR: account for K/Wasm diagnostics in generateNonSuppressibleErrorNamesFile - [`KT-74897`](https://youtrack.jetbrains.com/issue/KT-74897) K2: Report UNSUPPORTED\_FEATURE instead of TOPLEVEL\_TYPEALIASES\_ONLY for nested type aliases - [`KT-74963`](https://youtrack.jetbrains.com/issue/KT-74963) K2: Fir2Ir: Avoid a situation when startOffset > endOffset in generated IrBranch - [`KT-74697`](https://youtrack.jetbrains.com/issue/KT-74697) Overriding a method that's both deprecated and non-deprecated should not cause warnings - [`KT-74928`](https://youtrack.jetbrains.com/issue/KT-74928) K2: "IllegalStateException: Cannot find cached type parameter by FIR symbol" in KJK hierarchy with extension property - [`KT-74630`](https://youtrack.jetbrains.com/issue/KT-74630) K2: local class arguments in annotations on types and type parameters are not serialized - [`KT-74445`](https://youtrack.jetbrains.com/issue/KT-74445) Commonize Native Function/Property reference lowerings - [`KT-74670`](https://youtrack.jetbrains.com/issue/KT-74670) Warning message CONTEXT\_CLASS\_OR\_CONSTRUCTOR isn't reported for context receiver on the constructor - [`KT-74617`](https://youtrack.jetbrains.com/issue/KT-74617) Trivial SMAP optimization leads to missing debug info after inline - [`KT-74812`](https://youtrack.jetbrains.com/issue/KT-74812) compile-time failure on a callable reference with an input type inferred to an inaccessible generic type - [`KT-66195`](https://youtrack.jetbrains.com/issue/KT-66195) K2: Java method is not enhanced from overridden's context receivers - [`KT-74501`](https://youtrack.jetbrains.com/issue/KT-74501) Context parameters: ABSTRACT\_MEMBER\_NOT\_IMPLEMENTED if fun with context is implemented in Java in KJK hierarchy - [`KT-74385`](https://youtrack.jetbrains.com/issue/KT-74385) Missing diagnostic on repeated suspend modifier in function type - [`KT-74749`](https://youtrack.jetbrains.com/issue/KT-74749) Provide explanation IR before script compilation - [`KT-74751`](https://youtrack.jetbrains.com/issue/KT-74751) K2: IllegalStateException: Can't apply receivers of FirPropertyAccessExpressionImpl to IrTypeOperatorCallImpl - [`KT-74729`](https://youtrack.jetbrains.com/issue/KT-74729) NPE when suspend lambda has inline class parameter - [`KT-74336`](https://youtrack.jetbrains.com/issue/KT-74336) Not supported: class org.jetbrains.kotlin.fir.types.ConeIntersectionType - [`KT-74203`](https://youtrack.jetbrains.com/issue/KT-74203) K2: False negative NO\_ELSE\_IN\_WHEN of a generic type with star projection <\*> bounded by a sealed hierarchy - [`KT-48085`](https://youtrack.jetbrains.com/issue/KT-48085) Kotlin/Native: LLD removes live code with `--gc-sections` when producing DLL - [`KT-69164`](https://youtrack.jetbrains.com/issue/KT-69164) Native: use lld from bundled LLVM distribution when compiling on Windows for a MinGW target - [`KT-74081`](https://youtrack.jetbrains.com/issue/KT-74081) Context parameters: implicit call resolves to extension when there is a context - [`KT-74682`](https://youtrack.jetbrains.com/issue/KT-74682) Implement internal type exposure via parameter bounds deprecation postponement - [`KT-74556`](https://youtrack.jetbrains.com/issue/KT-74556) K2: "IAE: class KtDestructuringDeclaration is not a subtype of class KtNamedDeclaration for factory REDECLARATION" with two non-local destructuring declarations - [`KT-73146`](https://youtrack.jetbrains.com/issue/KT-73146) Context parameters CLI & diagnostics - [`KT-72104`](https://youtrack.jetbrains.com/issue/KT-72104) Consider enabling check for unbound symbols in JVM before lowerings - [`KT-74568`](https://youtrack.jetbrains.com/issue/KT-74568) Synthetic nested classes missing JVM attributes - [`KT-73703`](https://youtrack.jetbrains.com/issue/KT-73703) \[Native] Move KonanIrLinker to `serialization.native` module - [`KT-61175`](https://youtrack.jetbrains.com/issue/KT-61175) K2: FirReceiverParameter does not extend FirDeclaration - [`KT-73961`](https://youtrack.jetbrains.com/issue/KT-73961) 'lateinit is unnecessary' on transient properties should not be reported for serializable classes - [`KT-73858`](https://youtrack.jetbrains.com/issue/KT-73858) Compose / iOS: NullPointerException on building - [`KT-62953`](https://youtrack.jetbrains.com/issue/KT-62953) JVM IR: Use `SimpleNamedCompilerPhase` instead of `NamedCompilerPhase` - [`KT-72929`](https://youtrack.jetbrains.com/issue/KT-72929) Consider caching typealiased constructor symbols created by TypeAliasConstructorsSubstitutingScope - [`KT-74459`](https://youtrack.jetbrains.com/issue/KT-74459) K2: false positive MISSING\_DEPENDENCY\_CLASS for types inside default argument - [`KT-73705`](https://youtrack.jetbrains.com/issue/KT-73705) \[Native] Decouple native caches support from KonanIrLinker and KonanPartialModuleDeserializer - [`KT-74091`](https://youtrack.jetbrains.com/issue/KT-74091) K2: `@JvmOverloads`-produced overloads have generated line number table - [`KT-69754`](https://youtrack.jetbrains.com/issue/KT-69754) Drop -Xuse-k2 compiler flag - [`KT-73352`](https://youtrack.jetbrains.com/issue/KT-73352) K2: false negative ARRAY\_EQUALITY\_OPERATOR\_CAN\_BE\_REPLACED\_WITH\_EQUALS - [`KT-72962`](https://youtrack.jetbrains.com/issue/KT-72962) Consider enabling ConsiderForkPointsWhenCheckingContradictions LF earlier - [`KT-73027`](https://youtrack.jetbrains.com/issue/KT-73027) IllegalStateException: Annotation argument value cannot be null: since - [`KT-74242`](https://youtrack.jetbrains.com/issue/KT-74242) Freeze on `runCatching` call in `finally` block inside SAM conversion - [`KT-29222`](https://youtrack.jetbrains.com/issue/KT-29222) FIR: consider folding binary expression chains - [`KT-73760`](https://youtrack.jetbrains.com/issue/KT-73760) Cannot implement two Java interfaces with `@NotNull`-annotated type argument and Kotlin's plain (nullable) type parameter - [`KT-58933`](https://youtrack.jetbrains.com/issue/KT-58933) Applying suggested signature from WRONG\_NULLABILITY\_FOR\_JAVA\_OVERRIDE leads to red code - [`KT-70507`](https://youtrack.jetbrains.com/issue/KT-70507) Should parentheses prevent from plus/set operator desugaring? - [`KT-67520`](https://youtrack.jetbrains.com/issue/KT-67520) Change of behaviour of inline function with safe cast on value type - [`KT-67518`](https://youtrack.jetbrains.com/issue/KT-67518) Value classes leak their carrier type implementation details via inlining - [`KT-72305`](https://youtrack.jetbrains.com/issue/KT-72305) K2: Report error when using synthetic properties in case of mapped collections - [`KT-71226`](https://youtrack.jetbrains.com/issue/KT-71226) K2 Evaluator: Code fragment compilation with unresolved classes does not fail with exception - [`KT-70233`](https://youtrack.jetbrains.com/issue/KT-70233) Implement a deprecation error for FIELD-targeted annotations on annotation properties - [`KT-67517`](https://youtrack.jetbrains.com/issue/KT-67517) Value class upcast to Any leaks carrier type interfaces - [`KT-72814`](https://youtrack.jetbrains.com/issue/KT-72814) FIR: don't use function references in FirThisReference - [`KT-73153`](https://youtrack.jetbrains.com/issue/KT-73153) K2: Standalone diagnostics on type arguments are not reported - [`KT-73011`](https://youtrack.jetbrains.com/issue/KT-73011) K2: Allow overloads resolution for callable references based on expected type variable with constraints - [`KT-70139`](https://youtrack.jetbrains.com/issue/KT-70139) Remove dependencies of debugger on K1 and old JVM backend - [`KT-69223`](https://youtrack.jetbrains.com/issue/KT-69223) Drop parallel lowering mode in JVM backend - [`KT-7461`](https://youtrack.jetbrains.com/issue/KT-7461) Forbid using projection modifiers inside top-level Array in annotation's value parameter - [`KT-53804`](https://youtrack.jetbrains.com/issue/KT-53804) Restore old and incorrect logic of generating InnerClasses attributes for kotlin-stdlib - [`KT-52774`](https://youtrack.jetbrains.com/issue/KT-52774) Resolve unqualified enum constants based on expected type ##### Compose compiler ##### New features - [`5f7e5d1`](https://github.com/JetBrains/kotlin/commit/5f7e5d1518e839c1f8514a5c145aad52b1ce1739) Enabled PausableComposition feature flag by default - [`e49ba7a`](https://github.com/JetBrains/kotlin/commit/e49ba7a4e60da8c4bd5020376a69749484d39f6c) Enabled OptimizeNonSkippingGroups feature flag by default - ##### Fixes - [`b/420729503`](https://issuetracker.google.com/issues/420729503) Avoid copying `@Deprecated` annotations on Compose compiler stubs - [`b/417412949`](https://issuetracker.google.com/issues/417412949) Emit fake line number for `skipToGroupEnd` branch - [`b/412584977`](https://issuetracker.google.com/issues/412584977) Fix false positive for overriding open functions from older dependencies - [`b/409238521`](https://issuetracker.google.com/issues/409238521) Fix crash when searching for ComposableLambda::invoke function on JS - [`b/408752831`](https://issuetracker.google.com/issues/408752831) Fix early return with value from `key` groups - [`b/388505454`](https://issuetracker.google.com/issues/388505454) Treat context parameters the same way as extension receiver - [`b/408013789`](https://issuetracker.google.com/issues/408013789) Add missing return for the default function wrappers - [`b/405541364`](https://issuetracker.google.com/issues/405541364) Realize coalescable children in the body of `key` call - [`b/305035807`](https://issuetracker.google.com/issues/305035807) Add support for `@Composable` function references with K2 - [`b/401484249`](https://issuetracker.google.com/issues/401484249) Generate a group around `Array` constructor call - [`b/400380396`](https://issuetracker.google.com/issues/400380396) Fix missing `endMovableGroup` call with early return in `key` function - [`b/397855145`](https://issuetracker.google.com/issues/397855145) Fix "Unknown file" error in target annotation inference - [`b/274898109`](https://issuetracker.google.com/issues/274898109) Fix off-by-one error when calculating changed arg count for lambdas - [`b/377499888`](https://issuetracker.google.com/issues/377499888) Allow restarting overridden functions in a final class - [`b/393400768`](https://issuetracker.google.com/issues/393400768) Use -1 for `.changed` call if nullable enum parameter is `null` - [`b/390151896`](https://issuetracker.google.com/issues/390151896) Fix default arguments with varargs in `@Composable` functions - [`b/388030459`](https://issuetracker.google.com/issues/388030459), [`b/377737816`](https://issuetracker.google.com/issues/377737816) Prevent usage of transitive captures in lambda memoization - [`b/310004740`](https://issuetracker.google.com/issues/310004740) Check vararg parameter length in skipping logic - [`b/367066334`](https://issuetracker.google.com/issues/367066334) Add diagnostic to restrict `@Composable` annotation to function types only - [`b/388505454`](https://issuetracker.google.com/issues/388505454) Change order of $changed bits with context parameters - [`CMP-7873`](https://youtrack.jetbrains.com/issue/CMP-7873) Native build fails with "e: Compilation failed: Exception during generating code for following declaration" ##### IDE - [`KT-54804`](https://youtrack.jetbrains.com/issue/KT-54804) Generate synthetic functions for annotations on properties in light classes ##### IR. Actualizer - [`KT-70907`](https://youtrack.jetbrains.com/issue/KT-70907) Actualize fake override symbols in Ir Actualizer ##### IR. Inlining ##### Fixes - [`KT-76145`](https://youtrack.jetbrains.com/issue/KT-76145) Enhance error message about poisoned KLIBs in KLIB-based compilers - [`KT-70916`](https://youtrack.jetbrains.com/issue/KT-70916) IR: Report errors on exposure of private types in non-private inline functions - [`KT-73155`](https://youtrack.jetbrains.com/issue/KT-73155) Move `Mapping` from `LoweringContext` back to `CommonBackendContext` - [`KT-76186`](https://youtrack.jetbrains.com/issue/KT-76186) \[IR] Sanitize deserialized IR dump of anonymous classes - [`KT-75788`](https://youtrack.jetbrains.com/issue/KT-75788) IR inliner: Serialize preprocessed inline functions in a separate place inside KLIBs - [`KT-71416`](https://youtrack.jetbrains.com/issue/KT-71416) Perform IR-level visibility diagnostics for inline functions after the first phase of inlining - [`KT-76224`](https://youtrack.jetbrains.com/issue/KT-76224) \[IR]\[Inliner] Dumb file is unsuported in IrSymbolBase.getDescriptor() - [`KT-75793`](https://youtrack.jetbrains.com/issue/KT-75793) IR inliner: Stop injecting the deserialized function body to LazyIR inline function - [`KT-75791`](https://youtrack.jetbrains.com/issue/KT-75791) IR inliner: `NonLinkingIrInlineFunctionDeserializer` should load inline functions from a separate location in a KLIB - [`KT-73708`](https://youtrack.jetbrains.com/issue/KT-73708) Use some marker in KLIBs produced with IR inliner - [`KT-76024`](https://youtrack.jetbrains.com/issue/KT-76024) \[JS]\[IR Inliner] Partial linkage: No function found for symbol in `kotlin` package - [`KT-75733`](https://youtrack.jetbrains.com/issue/KT-75733) Reorganize execution of the common prefix at 1st phase of compilation - [`KT-75986`](https://youtrack.jetbrains.com/issue/KT-75986) Add an option to the `DumpIrTreeOptions` to dump IR signature if available - [`KT-75951`](https://youtrack.jetbrains.com/issue/KT-75951) \[IR Inliner] Illegal non-local return reported by the partial linkage engine - [`KT-75932`](https://youtrack.jetbrains.com/issue/KT-75932) Fix a problem with already bound symbol with public IR inline enabled - [`KT-64812`](https://youtrack.jetbrains.com/issue/KT-64812) Investigate and fix remaining owner usages in inliner - [`KT-74732`](https://youtrack.jetbrains.com/issue/KT-74732) IR: Exposure of private type is reported at wrong source location - [`KT-76007`](https://youtrack.jetbrains.com/issue/KT-76007) IR deserialization tests w/ enabled IR inliner: undefined offsets in IrInlinedFunctionBlock.inlinedFunctionSymbol - [`KT-74734`](https://youtrack.jetbrains.com/issue/KT-74734) \[Native] Use NativeInliningFacade in new subclass of AbstractFirNativeSerializationTest - [`KT-73985`](https://youtrack.jetbrains.com/issue/KT-73985) KLIB Synthetic Accessors Dump Format: Include local declarations - [`KT-72594`](https://youtrack.jetbrains.com/issue/KT-72594) \[JS]\[Native] Add IrInliningFacade to test runners - [`KT-74456`](https://youtrack.jetbrains.com/issue/KT-74456) SerializedIrDumpHandler: Compare IR dumps with source offsets - [`KT-73624`](https://youtrack.jetbrains.com/issue/KT-73624) \[Native] Implement inlining facade - [`KT-70370`](https://youtrack.jetbrains.com/issue/KT-70370) SyntheticAccessorLowering: Turn on mode with narrowing visibility on 1st phase of compilation - [`KT-70452`](https://youtrack.jetbrains.com/issue/KT-70452) OuterThisInInlineFunctionsSpecialAccessorLowering - run it after inlining of private functions - [`KT-70451`](https://youtrack.jetbrains.com/issue/KT-70451) Enable double-inlining in Native & JS backends unconditionally - [`KT-69681`](https://youtrack.jetbrains.com/issue/KT-69681) IR: Report warnings on exposure of private types in non-private inline functions ##### IR. Interpreter - [`KT-74581`](https://youtrack.jetbrains.com/issue/KT-74581) Support `IrRich*Reference` in IR interpreter ##### IR. Tree ##### Fixes - [`KT-73189`](https://youtrack.jetbrains.com/issue/KT-73189) Migrate compiler sources to new IR parameter API - [`KT-77508`](https://youtrack.jetbrains.com/issue/KT-77508) K/JS and K/Native CompilationException Wrong number of parameters in wrapper - [`KT-74331`](https://youtrack.jetbrains.com/issue/KT-74331) Implement IrElement.copyAttributes as a true attribute map copy - [`KT-76600`](https://youtrack.jetbrains.com/issue/KT-76600) Use a language feature to check error on cross-file IrGetField operations generated by compiler plugins - [`KT-75628`](https://youtrack.jetbrains.com/issue/KT-75628) IR validator: Forbid IrExpressionBody for IrFunction - [`KT-75679`](https://youtrack.jetbrains.com/issue/KT-75679) Extract common `invokeFunction` in IrRichCallableReference - [`KT-74799`](https://youtrack.jetbrains.com/issue/KT-74799) \[Native]\[IR] Excessive FUNCTION\_INTERFACE\_CLASS after deserialization - [`KT-71138`](https://youtrack.jetbrains.com/issue/KT-71138) Report error on cross-file IrGetField operations generated by compiler plugins - [`KT-75196`](https://youtrack.jetbrains.com/issue/KT-75196) \[IR] Make startOffset and endOffset mutable - [`KT-73206`](https://youtrack.jetbrains.com/issue/KT-73206) Extract common parts from new IrRichFunctionReference/IrRichPropertyReference nodes - [`KT-73190`](https://youtrack.jetbrains.com/issue/KT-73190) Migrate common backend sources to new IR parameter API - [`KT-73225`](https://youtrack.jetbrains.com/issue/KT-73225) Migrate `compiler.ir.serialization.common` to new IR parameter API - [`KT-73220`](https://youtrack.jetbrains.com/issue/KT-73220) Migrate `compiler.ir.tree` to new IR parameter API - [`KT-75189`](https://youtrack.jetbrains.com/issue/KT-75189) Add an IR validation for the correspondingPropertySymbol - [`KT-74275`](https://youtrack.jetbrains.com/issue/KT-74275) Adjust IR dump format for context parameters & new parameter API - [`KT-74269`](https://youtrack.jetbrains.com/issue/KT-74269) Drop IrElementVisitor, IrElementVisitorVoid and IrElementTransformer interfaces - [`KT-72739`](https://youtrack.jetbrains.com/issue/KT-72739) Create a lowering to replace old callable reference nodes with new ones - [`KT-73120`](https://youtrack.jetbrains.com/issue/KT-73120) Get rid of `Ir` class - [`KT-73045`](https://youtrack.jetbrains.com/issue/KT-73045) Fix inconsistency between shapes of IR calls vs callee - [`KT-69714`](https://youtrack.jetbrains.com/issue/KT-69714) \[IR] Remove IrErrorDeclaration - [`KT-73609`](https://youtrack.jetbrains.com/issue/KT-73609) Tests: Implement DeserializerFacade for Kotlin/Native - [`KT-73813`](https://youtrack.jetbrains.com/issue/KT-73813) Implement tests for all IR validator checkers - [`KT-73171`](https://youtrack.jetbrains.com/issue/KT-73171) Choose the approach for testing IR serialization/deserialization wrt IR inliner - [`KT-73430`](https://youtrack.jetbrains.com/issue/KT-73430) \[IR] Get rid of SymbolFinder usages outside of `Symbols` hierarchy - [`KT-74455`](https://youtrack.jetbrains.com/issue/KT-74455) IR dump: Support dumping source offsets - [`KT-73433`](https://youtrack.jetbrains.com/issue/KT-73433) \[IR] Get rid of some symbols lookup methods ##### JVM. Reflection - [`KT-75505`](https://youtrack.jetbrains.com/issue/KT-75505) Reflection: use kotlin-metadata-jvm to implement class visibility, modality, modifiers, etc - [`KT-77663`](https://youtrack.jetbrains.com/issue/KT-77663) Reflection: java.util.ServiceConfigurationError: "module kotlin.reflect does not declare `uses`" when using kotlin-reflect in modular mode - [`KT-75464`](https://youtrack.jetbrains.com/issue/KT-75464) Bundle kotlin-metadata-jvm into kotlin-reflect - [`KT-71832`](https://youtrack.jetbrains.com/issue/KT-71832) kotlin.jvm.internal.ClassReference static overhead is 11,060 bytes ##### JavaScript ##### New Features - [`KT-31493`](https://youtrack.jetbrains.com/issue/KT-31493) \[Kotlin/JS] Can't put typealias in file marked with JsModule annotation ##### Performance Improvements - [`KT-74533`](https://youtrack.jetbrains.com/issue/KT-74533) K/JS: avoid number to char calls in charSequenceGet intrinsic ##### Fixes - [`KT-77021`](https://youtrack.jetbrains.com/issue/KT-77021) CompilationException: Encountered a local class not previously collected on inner classes inside anonymous objects - [`KT-78073`](https://youtrack.jetbrains.com/issue/KT-78073) K/JS: KProperty from local delegate changes after another delegate is invoked - [`KT-77271`](https://youtrack.jetbrains.com/issue/KT-77271) KJS / Serialization: "Cannot set property message of Error which has only a getter" - [`KT-76235`](https://youtrack.jetbrains.com/issue/KT-76235) \[JS] Extra invalid line `tmp_0.tmp00__1 = Options;` in testSuspendFunction() - [`KT-76234`](https://youtrack.jetbrains.com/issue/KT-76234) \[JS] Extra invalid line `Parent` in testNested() - [`KT-76233`](https://youtrack.jetbrains.com/issue/KT-76233) \[JS] Extra invalid import line in testJsQualifier() - [`KT-74839`](https://youtrack.jetbrains.com/issue/KT-74839) AssociatedObjectKey metadata doesn't survive incremental compilation - [`KT-77418`](https://youtrack.jetbrains.com/issue/KT-77418) KJS: cannot debug with whole-program granularity - [`KT-76463`](https://youtrack.jetbrains.com/issue/KT-76463) KJS: `@JsPlainObject` fails in parent count is 8+ - [`KT-75606`](https://youtrack.jetbrains.com/issue/KT-75606) KJS: java.lang.AssertionError: Different declarations with the same signatures were detected - [`KT-69591`](https://youtrack.jetbrains.com/issue/KT-69591) KJS / d.ts: Wrong type of SerializerFactory for abstract classes - [`KT-72437`](https://youtrack.jetbrains.com/issue/KT-72437) KJS. Invalid `copy` method for inherited JSO with type parameters - [`KT-57192`](https://youtrack.jetbrains.com/issue/KT-57192) KJS: "Exported declaration uses non-exportable return type" caused by `@JsExport` Promise with Unit type - [`KT-73226`](https://youtrack.jetbrains.com/issue/KT-73226) Migrate K/JS to new IR parameter API - [`KT-75254`](https://youtrack.jetbrains.com/issue/KT-75254) KJS: Merge AbstractSuspendFunctionsLowering from Common and JS backends - [`KT-76440`](https://youtrack.jetbrains.com/issue/KT-76440) `@JsPlainObject` compiles broken code when inlining suspend function and non suspend function - [`KT-71169`](https://youtrack.jetbrains.com/issue/KT-71169) `@JsPlainObject` copy produces the wrong type when copied property is nullable in parent interface - [`KT-75772`](https://youtrack.jetbrains.com/issue/KT-75772) KJS: NullPointerException caused by reference of private class with `@JsExport` - [`KT-73363`](https://youtrack.jetbrains.com/issue/KT-73363) Migrate `js-plain-objects` plugin to new IR parameter API - [`KT-64927`](https://youtrack.jetbrains.com/issue/KT-64927) \[JS] TypeError when abstract class with override var property extends an exported abstract class with val property - [`KT-70623`](https://youtrack.jetbrains.com/issue/KT-70623) Kotlin/JS: Incremental compilation fails when granularity is changed - [`KT-74384`](https://youtrack.jetbrains.com/issue/KT-74384) Support new callable reference nodes in JS backend - [`KT-70652`](https://youtrack.jetbrains.com/issue/KT-70652) Kotlin/JS: `@JsExport` doesn't work with granularity per-file - [`KT-71365`](https://youtrack.jetbrains.com/issue/KT-71365) KJS. File-level export support - [`KT-68775`](https://youtrack.jetbrains.com/issue/KT-68775) Kotlin/JS infinite loop for exception message override that calls super.message - [`KT-42271`](https://youtrack.jetbrains.com/issue/KT-42271) K/JS: isInitialized for not-lateinit property isn't marked as error as in JVM project - [`KT-70664`](https://youtrack.jetbrains.com/issue/KT-70664) Extending a `@JsPlainObject` interface with a generic type parameter fails with a compile error - [`KT-71656`](https://youtrack.jetbrains.com/issue/KT-71656) K2 JS: "IllegalStateException: Class has no primary constructor: kotlin.ULong" - [`KT-42305`](https://youtrack.jetbrains.com/issue/KT-42305) KJS / IR: "Class constructor is marked as private" `@JsExport` produces wrong TS code for sealed classes - [`KT-52563`](https://youtrack.jetbrains.com/issue/KT-52563) KJS / IR: Invalid TypeScript generated for class extending base class with private constructor ##### Klibs ##### New Features - [`KT-72296`](https://youtrack.jetbrains.com/issue/KT-72296) Use specialized signatures for serialized local fake overrides ##### Fixes - [`KT-78168`](https://youtrack.jetbrains.com/issue/KT-78168) K/N: "IndexOutOfBoundsException: Index 3 out of bounds for length 3" for iOS build with Kotlin 2.2.0-RC2 - [`KT-74635`](https://youtrack.jetbrains.com/issue/KT-74635) KLIBs: Change call serialization scheme to store all arguments in a single list - [`KT-76061`](https://youtrack.jetbrains.com/issue/KT-76061) Add option for suppress warning of missing no-existent transitive klib dependencies - [`KT-70146`](https://youtrack.jetbrains.com/issue/KT-70146) \[KLIB Resolve] Don't fail on nonexistent transitive dependency - [`KT-75624`](https://youtrack.jetbrains.com/issue/KT-75624) Don't fail on an attempt to deserialize "unknown" IrStatementOrigin and IrDeclarationOrigin - [`KT-55808`](https://youtrack.jetbrains.com/issue/KT-55808) Support metadata version checks for klibs in the compiler - [`KT-56062`](https://youtrack.jetbrains.com/issue/KT-56062) Support `-Xmetadata-version` for KLIB-based compilers - [`KT-76158`](https://youtrack.jetbrains.com/issue/KT-76158) Drop "description" from local signatures - [`KT-75749`](https://youtrack.jetbrains.com/issue/KT-75749) KLIB: Fail with error on attempt to serialize/deserialize SpecialFakeOverrideSignature - [`KT-75941`](https://youtrack.jetbrains.com/issue/KT-75941) \[IR Inliner] Abstract function is not implemented in non-abstract anonymous object - [`KT-75867`](https://youtrack.jetbrains.com/issue/KT-75867) The CLI argument -Xabi-version allows versions with multiple 0 and -0 - [`KT-75192`](https://youtrack.jetbrains.com/issue/KT-75192) KLIB reader tends to extract files from the KLIB archive to a temporary directory even when this is not needed - [`KT-75013`](https://youtrack.jetbrains.com/issue/KT-75013) Make klib reader more flexible: allow empty directories to be omitted - [`KT-75680`](https://youtrack.jetbrains.com/issue/KT-75680) KLIB: Drop obsolete IrPerFileLibraryImpl & IrPerFileWriterImpl - [`KT-73779`](https://youtrack.jetbrains.com/issue/KT-73779) \[Native] Context parameters: extension receiver is preferred over context parameters - [`KT-65375`](https://youtrack.jetbrains.com/issue/KT-65375) Clean-up the logic for serialization of error types in metadata and in IR - [`KT-73826`](https://youtrack.jetbrains.com/issue/KT-73826) Deduplicate `IrFileEntry` that is serialized inside `IrInlinedFunctionBlock` - [`KT-75091`](https://youtrack.jetbrains.com/issue/KT-75091) Drop `targets/$target_name/kotlin` directory from klibs - [`KT-74352`](https://youtrack.jetbrains.com/issue/KT-74352) API4ABI: Fix representation of context parameters - [`KT-71007`](https://youtrack.jetbrains.com/issue/KT-71007) Align KLIB ABI version with the language version - [`KT-73672`](https://youtrack.jetbrains.com/issue/KT-73672) Bump KLIB ABI version in 2.2.0 - [`KT-74080`](https://youtrack.jetbrains.com/issue/KT-74080) API4ABI: Adapt API for value parameter kinds - [`KT-74396`](https://youtrack.jetbrains.com/issue/KT-74396) Support context parameters in klibs - [`KT-72931`](https://youtrack.jetbrains.com/issue/KT-72931) Support new callable reference nodes in KLIB \[de]serializer ##### Language Design ##### New Features - [`KT-2425`](https://youtrack.jetbrains.com/issue/KT-2425) Multidollar interpolation: improve handling of $ in string literals - [`KT-1436`](https://youtrack.jetbrains.com/issue/KT-1436) Support non-local break and continue - [`KT-13626`](https://youtrack.jetbrains.com/issue/KT-13626) Guard conditions in when-with-subject - [`KT-54206`](https://youtrack.jetbrains.com/issue/KT-54206) Support local contextual functions ##### Fixes - [`KT-53673`](https://youtrack.jetbrains.com/issue/KT-53673) Support `@DslMarker` annotations on contextual receivers - [`KT-73557`](https://youtrack.jetbrains.com/issue/KT-73557) Allow refining expect declarations for platform groups - [`KT-72417`](https://youtrack.jetbrains.com/issue/KT-72417) Annotation with target RECORD\_COMPONENT cannot be used on `@JvmRecord` data class components - [`KT-67977`](https://youtrack.jetbrains.com/issue/KT-67977) Compile results of annotations assigned to JvmRecord properties as in Java - [`KT-73502`](https://youtrack.jetbrains.com/issue/KT-73502) Context parameters: it is not possible to declare local function with a context - [`KT-73632`](https://youtrack.jetbrains.com/issue/KT-73632) Expect class redeclaration is allowed - [`KT-70002`](https://youtrack.jetbrains.com/issue/KT-70002) \[LC] Forbid using projection modifiers inside top-level Array in annotation's value parameter ##### Libraries ##### New Features - [`KT-76163`](https://youtrack.jetbrains.com/issue/KT-76163) K/N: Hide or remove CreateNSStringFromKString/CreateKStringFromNSString - [`KT-70456`](https://youtrack.jetbrains.com/issue/KT-70456) Base64: Support lineLength parameter for Mime - [`KT-76394`](https://youtrack.jetbrains.com/issue/KT-76394) kotlin.time.TimeSource.asClock missing - [`KT-31857`](https://youtrack.jetbrains.com/issue/KT-31857) Provide easy way to retrieve annotations for kotlinx-metadata - [`KT-76528`](https://youtrack.jetbrains.com/issue/KT-76528) Instant.parseOrNull - [`KT-74804`](https://youtrack.jetbrains.com/issue/KT-74804) Add `@MustUseValue` and `@IgnorableValue` / `@Discardable` to kotlin-stdlib - [`KT-74422`](https://youtrack.jetbrains.com/issue/KT-74422) KotlinWebsiteSampleRewriter should filter individual imports from samples package ##### Performance Improvements - [`KT-68860`](https://youtrack.jetbrains.com/issue/KT-68860) K/JS: optimize listOf(element) - [`KT-75647`](https://youtrack.jetbrains.com/issue/KT-75647) Optimized sequenceOf(T) overload is missing ##### Fixes - [`KT-72138`](https://youtrack.jetbrains.com/issue/KT-72138) Stabilize experimental API for 2.2 - [`KT-76831`](https://youtrack.jetbrains.com/issue/KT-76831) Atomic types: inconsistent behavior on JS and Wasm targets - [`KT-76795`](https://youtrack.jetbrains.com/issue/KT-76795) RecursiveDeletionTest.deleteRelativeSymbolicLink fails on Windows for unprivileged users - [`KT-75290`](https://youtrack.jetbrains.com/issue/KT-75290) kotlin-metadata: deprecate hasAnnotations flag, add JVM-only hasAnnotationsInBytecode instead - [`KT-76193`](https://youtrack.jetbrains.com/issue/KT-76193) Common Atomics: 'AtomicArray.compareAndSetAt' and 'compareAndExchangeAt' docs incorrectly suggest they use `==` when actually they use `===` - [`KT-54077`](https://youtrack.jetbrains.com/issue/KT-54077) Consider using SecureDirectoryStream in deleteRecursively even when Path.parent is null - [`KT-72866`](https://youtrack.jetbrains.com/issue/KT-72866) Standard library functions to work with context parameters - [`KT-76743`](https://youtrack.jetbrains.com/issue/KT-76743) Add kotlin-scripting-jvm to projectsUsedInIntelliJKotlinPlugin list - [`KT-72483`](https://youtrack.jetbrains.com/issue/KT-72483) Clean up redundant stdlib code for Kotlin 2.2 - [`KT-76385`](https://youtrack.jetbrains.com/issue/KT-76385) Remove suppression from functions to work with context parameters - [`KT-75337`](https://youtrack.jetbrains.com/issue/KT-75337) Remove suppress annotations from `@IgnorableReturnValue` - [`KT-72137`](https://youtrack.jetbrains.com/issue/KT-72137) Review deprecations in stdlib for 2.2 - [`KT-75491`](https://youtrack.jetbrains.com/issue/KT-75491) Non intuitive work of 'in' (contains) with String range - [`KT-75933`](https://youtrack.jetbrains.com/issue/KT-75933) Update readLine's KDoc to suggest alternative functions - [`KT-46360`](https://youtrack.jetbrains.com/issue/KT-46360) Type inference fails to infer type for sumOf call with integer literal: "Overload resolution ambiguity TypeVariable(T)) -> Int / Long" - [`KT-73590`](https://youtrack.jetbrains.com/issue/KT-73590) Samplify string.split - [`KT-75759`](https://youtrack.jetbrains.com/issue/KT-75759) Add the serializer for kotlin.time.Instant to the list of standard serializers - [`KT-71628`](https://youtrack.jetbrains.com/issue/KT-71628) Review deprecations in stdlib for 2.1 - [`KT-73726`](https://youtrack.jetbrains.com/issue/KT-73726) A link from shuffle's KDoc is not rendered properly - [`KT-74173`](https://youtrack.jetbrains.com/issue/KT-74173) The sample code of `lazy` on stdlib can not run on playground due to "samples" package import - [`KT-50081`](https://youtrack.jetbrains.com/issue/KT-50081) AbstractList sublist leads to StackOverflow ##### Native - [`KT-76992`](https://youtrack.jetbrains.com/issue/KT-76992) Native: update llvm for windows targets - [`KT-56107`](https://youtrack.jetbrains.com/issue/KT-56107) Support Enum.entries for C/ObjC interop enums - [`KT-76552`](https://youtrack.jetbrains.com/issue/KT-76552) LLVM Update: rebase the LLVM branch - [`KT-76662`](https://youtrack.jetbrains.com/issue/KT-76662) LLVM 19 update: documentation - [`KT-76560`](https://youtrack.jetbrains.com/issue/KT-76560) LLVM Update: investigate changes in filterStdargH test - [`KT-76283`](https://youtrack.jetbrains.com/issue/KT-76283) LLVM Update: pass all tests - [`KT-74377`](https://youtrack.jetbrains.com/issue/KT-74377) Kotlin Native: release executable crashes with error 139 - [`KT-75829`](https://youtrack.jetbrains.com/issue/KT-75829) LLVM Update: port K/N on LLVM 19 - [`KT-76280`](https://youtrack.jetbrains.com/issue/KT-76280) LLVM Update: benchmarksAnalyzer build failed - [`KT-70202`](https://youtrack.jetbrains.com/issue/KT-70202) Xcode 16 Linker fails with SIGBUS ##### Native. Build Infrastructure - [`KT-77349`](https://youtrack.jetbrains.com/issue/KT-77349) Kotlin/Native: default cache for stdlib is unused ##### Native. C and ObjC Import - [`KT-75598`](https://youtrack.jetbrains.com/issue/KT-75598) Native: fix samples/objc test - [`KT-76551`](https://youtrack.jetbrains.com/issue/KT-76551) LLVM Update: investigate CXFile equality problem further - [`KT-75781`](https://youtrack.jetbrains.com/issue/KT-75781) Xcode 16.3: Fix cinterop tests failing with fatal error: could not build module '\_stdint' - [`KT-74549`](https://youtrack.jetbrains.com/issue/KT-74549) Native: replace clang\_Type\_getNumProtocols/clang\_Type\_getProtocol with standard libclang functions ##### Native. Platforms - [`KT-74702`](https://youtrack.jetbrains.com/issue/KT-74702) Deprecate Windows 7 support ##### Native. Runtime - [`KT-71534`](https://youtrack.jetbrains.com/issue/KT-71534) Native: Support Latin-1 encoded strings at runtime - [`KT-67741`](https://youtrack.jetbrains.com/issue/KT-67741) Kotlin/Native: Unify SpecialRef handling ##### Native. Runtime. Memory - [`KT-74831`](https://youtrack.jetbrains.com/issue/KT-74831) Kotlin/Native: investigate mmap usage in custom allocator - [`KT-74432`](https://youtrack.jetbrains.com/issue/KT-74432) Native: add an option to allocate everything in SingleObjectPage - [`KT-74975`](https://youtrack.jetbrains.com/issue/KT-74975) Enable CMS by default in Swift export - [`KT-60928`](https://youtrack.jetbrains.com/issue/KT-60928) Kotlin/Native: refactor allocator code - [`KT-50291`](https://youtrack.jetbrains.com/issue/KT-50291) Kotlin/Native: remove dependency of mm on gc implementation ##### Native. Swift Export - [`KT-75166`](https://youtrack.jetbrains.com/issue/KT-75166) Support export of platform libraries types in Swift export - [`KT-75079`](https://youtrack.jetbrains.com/issue/KT-75079) Swift export: add dependency from sir-compiler-bridge to Analysis API - [`KT-72413`](https://youtrack.jetbrains.com/issue/KT-72413) Swift Export: potential memory leak when best-fitting class is different from the formal type - [`KT-72107`](https://youtrack.jetbrains.com/issue/KT-72107) Remove IntoSingleModule stratagy ##### Tools. Ant - [`KT-73116`](https://youtrack.jetbrains.com/issue/KT-73116) Deprecate Ant support ##### Tools. BCV - [`KT-75686`](https://youtrack.jetbrains.com/issue/KT-75686) Improve DSL for BCV in KGP - [`KT-76129`](https://youtrack.jetbrains.com/issue/KT-76129) Abi validation filtering functionality for included classes doesn't work - [`KT-75999`](https://youtrack.jetbrains.com/issue/KT-75999) ABI validation filter doesn't apply excluded kotlin files - [`KT-75981`](https://youtrack.jetbrains.com/issue/KT-75981) ABI validation filter not applying excluded classes without package names - [`KT-71168`](https://youtrack.jetbrains.com/issue/KT-71168) Implement a prototype of ABI Validation in Kotlin Gradle Plugin ##### Tools. Build Tools API - [`KT-76455`](https://youtrack.jetbrains.com/issue/KT-76455) BTA: Compilation is always non-incremental if BTA API >= 2.2.0 is used together with BTA impl < 2.2.0 - [`KT-76060`](https://youtrack.jetbrains.com/issue/KT-76060) BTA: Java sources passed for IC may fail compilation in non-incremental mode - [`KT-74041`](https://youtrack.jetbrains.com/issue/KT-74041) Build Tools API: Lower level or remove compiler arguments log ##### Tools. CLI ##### New Features - [`KT-73606`](https://youtrack.jetbrains.com/issue/KT-73606) Provide a unified interface for managing the reporting of compiler warnings - [`KT-24746`](https://youtrack.jetbrains.com/issue/KT-24746) Provide ability to exclude specific warnings from compiler option Werror (all warnings as errors) - [`KT-18783`](https://youtrack.jetbrains.com/issue/KT-18783) Option to treat a specific compiler warning as an error - [`KT-76095`](https://youtrack.jetbrains.com/issue/KT-76095) Add JVM target bytecode version 24 - [`KT-73007`](https://youtrack.jetbrains.com/issue/KT-73007) Add stable compiler argument -jvm-default instead of -Xjvm-default ##### Performance Improvements - [`KT-75641`](https://youtrack.jetbrains.com/issue/KT-75641) kotlinc -help spends almost 1 second on Usage.render() ##### Fixes - [`KT-77445`](https://youtrack.jetbrains.com/issue/KT-77445) UNRESOLVED\_REFERENCE when importing classes from kotlin-stdlib - [`KT-75300`](https://youtrack.jetbrains.com/issue/KT-75300) Lenient compiler mode which generates stubs for missing actuals - [`KT-76829`](https://youtrack.jetbrains.com/issue/KT-76829) UnsupportedOperationException when reenabling a taking place warning with -Xwarning-level - [`KT-75588`](https://youtrack.jetbrains.com/issue/KT-75588) \[2.1.20-RC] "was compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" warnings despite using the same compiler version - [`KT-74663`](https://youtrack.jetbrains.com/issue/KT-74663) kotlinc-js CLI: not providing -ir-output-dir results in NullPointerException - [`KT-75967`](https://youtrack.jetbrains.com/issue/KT-75967) Implement generation of CLI arguments in compiler using new single representation - [`KT-75966`](https://youtrack.jetbrains.com/issue/KT-75966) Declare all existing CLI arguments using the new DSL - [`KT-76498`](https://youtrack.jetbrains.com/issue/KT-76498) Implement JSON dumper for performance stats - [`KT-75970`](https://youtrack.jetbrains.com/issue/KT-75970) Extract all non-trivial logic from `CommonCompilerArguments` and its inheritors - [`KT-73595`](https://youtrack.jetbrains.com/issue/KT-73595) Kapt.use.k2=true is ignored silently for language-version 1.9 or less - [`KT-75043`](https://youtrack.jetbrains.com/issue/KT-75043) Migrate Metadata compilation pipeline to the phased structure - [`KT-75113`](https://youtrack.jetbrains.com/issue/KT-75113) TEST\_ONLY LanguageFeature doesn't abort the compilation ##### Tools. CLI. Native - [`KT-69485`](https://youtrack.jetbrains.com/issue/KT-69485) Native: remove adding $llvmDir\bin to PATH on Windows ##### Tools. Commonizer - [`KT-74623`](https://youtrack.jetbrains.com/issue/KT-74623) Drop metadata version check from KLIB commonizer ##### Tools. Compiler Plugin API - [`KT-74640`](https://youtrack.jetbrains.com/issue/KT-74640) \[FIR] Support setting `source` in declaration generators ##### Tools. Compiler Plugins ##### Fixes - [`KT-76162`](https://youtrack.jetbrains.com/issue/KT-76162) "IllegalStateException: No mapping for symbol: VALUE\_PARAMETER INSTANCE\_RECEIVER" after updating to 2.1.20 - [`KT-61584`](https://youtrack.jetbrains.com/issue/KT-61584) \[atomicfu]: prohibit declaration of AtomicReference to the value class in the compiler plugin - [`KT-70982`](https://youtrack.jetbrains.com/issue/KT-70982) Deprecate declaration of atomic properties marked with `@PublishedApi` with error - [`KT-73367`](https://youtrack.jetbrains.com/issue/KT-73367) Migrate compose plugin to new IR parameter API - [`KT-76429`](https://youtrack.jetbrains.com/issue/KT-76429) Migrate kotlin-dataframe plugin to new IR parameter API - [`KT-75263`](https://youtrack.jetbrains.com/issue/KT-75263) PowerAssert: no additional info is displayed for 'when' with subject - [`KT-75614`](https://youtrack.jetbrains.com/issue/KT-75614) PowerAssert: handling of exceptions doesn't work inside assert function - [`KT-75264`](https://youtrack.jetbrains.com/issue/KT-75264) PowerAssert: the diagram for try-catch with boolean expressions isn't clear - [`KT-75663`](https://youtrack.jetbrains.com/issue/KT-75663) PowerAssert: 'contains' result for strings is displayed under the first parameter instead of 'in' - [`KT-73897`](https://youtrack.jetbrains.com/issue/KT-73897) PowerAssert: Implicit argument detection is brittle in a number of cases - [`KT-74315`](https://youtrack.jetbrains.com/issue/KT-74315) Kotlin Lombok: "Unresolved reference" on generating `@Builder` for static inner class where outer class is also using `@Builder` - [`KT-72172`](https://youtrack.jetbrains.com/issue/KT-72172) File Leak occurring in Kotlin Daemon - [`KT-75159`](https://youtrack.jetbrains.com/issue/KT-75159) Compose: Missing 'FunctionKeyMeta' annotation on lamdas declared in non-composable function - [`KT-72877`](https://youtrack.jetbrains.com/issue/KT-72877) Power-Assert should provide IrExpression transformation API - [`KT-73871`](https://youtrack.jetbrains.com/issue/KT-73871) PowerAssert: Comparison via operator overload results in confusing diagram - [`KT-73898`](https://youtrack.jetbrains.com/issue/KT-73898) PowerAssert: Operator calls with multiple receivers incorrectly aligned - [`KT-73870`](https://youtrack.jetbrains.com/issue/KT-73870) PowerAssert: Object should not be displayed ##### Tools. Compiler plugins. Serialization - [`KT-49632`](https://youtrack.jetbrains.com/issue/KT-49632) Provide diagnostic when custom serializer for generic type does not have required constructor signature ( ISE Null argument in ExpressionCodegen for parameter VALUE\_PARAMETER) ##### Tools. Gradle ##### New Features - [`KT-75823`](https://youtrack.jetbrains.com/issue/KT-75823) Resources bundle with XCFrameworks for iOS - [`KT-73418`](https://youtrack.jetbrains.com/issue/KT-73418) Gradle '--warning-mode' value should affect Gradle plugin diagnostics - [`KT-73906`](https://youtrack.jetbrains.com/issue/KT-73906) Improve ToolingDiagnostic CLI rendering - [`KT-73285`](https://youtrack.jetbrains.com/issue/KT-73285) Integrate Gradle Problem API with KGP diagnostics - [`KT-61649`](https://youtrack.jetbrains.com/issue/KT-61649) Add Gradle compiler option for jvm-default - [`KT-68659`](https://youtrack.jetbrains.com/issue/KT-68659) Collect reported Kotlin Gradle Plugin diagnostics into one HTML/Text file report instead of writing it to log ##### Fixes - [`KT-75188`](https://youtrack.jetbrains.com/issue/KT-75188) Groovy plugin breaks access to internal members of test friendPaths classes in kotlin compilation - [`KT-54110`](https://youtrack.jetbrains.com/issue/KT-54110) Change deprecation level to ERROR for kotlinOptions DSL - [`KT-74277`](https://youtrack.jetbrains.com/issue/KT-74277) KGP / FreeBSD: "TargetSupportException: Unknown operating system: FreeBSD" during the build - [`KT-75820`](https://youtrack.jetbrains.com/issue/KT-75820) Gradle: "ClassNotFoundException: intellij.util.containers.Stack" while parsing compilation warnings with IN\_PROCESS execution strategy - [`KT-64991`](https://youtrack.jetbrains.com/issue/KT-64991) Change deprecation level to error for KotlinCompilation.source - [`KT-75107`](https://youtrack.jetbrains.com/issue/KT-75107) Add Gradle property to use new FIR IC runner - [`KT-66133`](https://youtrack.jetbrains.com/issue/KT-66133) Finalize resolution strategy for resources and remove the one that is unused - [`KT-59632`](https://youtrack.jetbrains.com/issue/KT-59632) KotlinCompileTool.setSource() should replace existing sources - [`KT-62963`](https://youtrack.jetbrains.com/issue/KT-62963) Remove "kotlin.incremental.useClasspathSnapshot" property - [`KT-76137`](https://youtrack.jetbrains.com/issue/KT-76137) Compatibility with Gradle 8.14 release - [`KT-76797`](https://youtrack.jetbrains.com/issue/KT-76797) KGP: StdlibDependencyManagementKt.configureStdlibVersionAlignment() triggering eager configuration realization - [`KT-76282`](https://youtrack.jetbrains.com/issue/KT-76282) Add missing Android Gradle plugin versions in tests - [`KT-77011`](https://youtrack.jetbrains.com/issue/KT-77011) Update build regression benchmarks for 2.2.0 release - [`KT-76138`](https://youtrack.jetbrains.com/issue/KT-76138) Compile against Gradle API 8.14 - [`KT-76139`](https://youtrack.jetbrains.com/issue/KT-76139) Run integration tests against Gradle 8.14 - [`KT-74007`](https://youtrack.jetbrains.com/issue/KT-74007) Not all the DSL features related to kotlinOptions are deprecated - [`KT-77288`](https://youtrack.jetbrains.com/issue/KT-77288) Using 'KotlinJvmOptions' is an error - Gradle sync issue when using 2.2.0-Beta2 with Android Gradle Plugin - [`KT-74887`](https://youtrack.jetbrains.com/issue/KT-74887) Compatibility with Gradle 8.13 release - [`KT-73682`](https://youtrack.jetbrains.com/issue/KT-73682) Compatibility with Gradle 8.12 release - [`KT-77035`](https://youtrack.jetbrains.com/issue/KT-77035) A compiler diagnostic isn't reported when its severity is set to warning with Gradle - [`KT-70620`](https://youtrack.jetbrains.com/issue/KT-70620) Raise to error deprecation for KotlinCompilationOutput#resourcesDirProvider - [`KT-68597`](https://youtrack.jetbrains.com/issue/KT-68597) Update KGP deprecations before 2.2 - [`KT-68325`](https://youtrack.jetbrains.com/issue/KT-68325) Add to Compiler Types DSL exceptions message possible ways of a solution - [`KT-76951`](https://youtrack.jetbrains.com/issue/KT-76951) 'distribution-base' plugin is only applied in Gradle 8.13 - [`KT-73142`](https://youtrack.jetbrains.com/issue/KT-73142) Kotlin Gradle plugin: Remove usage of Gradle's internal ExecHandleBuilder - [`KT-73968`](https://youtrack.jetbrains.com/issue/KT-73968) KotlinDependencyManagement tries to mutate configuration after it was resolved - [`KT-74890`](https://youtrack.jetbrains.com/issue/KT-74890) Run Gradle integrations test against Gradle 8.13 release - [`KT-74889`](https://youtrack.jetbrains.com/issue/KT-74889) Compile against Gradle 8.13 API - [`KT-76052`](https://youtrack.jetbrains.com/issue/KT-76052) Support Gradle 8.13 for Problems API - [`KT-73684`](https://youtrack.jetbrains.com/issue/KT-73684) Run integration tests against Gradle 8.12 - [`KT-76377`](https://youtrack.jetbrains.com/issue/KT-76377) Add integration tests for Problems API - [`KT-74551`](https://youtrack.jetbrains.com/issue/KT-74551) Improve KGP-IT withDebug for tests with environment variables - [`KT-74717`](https://youtrack.jetbrains.com/issue/KT-74717) Test publication with dependency constraints - [`KT-75164`](https://youtrack.jetbrains.com/issue/KT-75164) Run Gradle incremental compilation tests with FIR runner - [`KT-72694`](https://youtrack.jetbrains.com/issue/KT-72694) Accessing Task.project during execution is being deprecated in Gradle 8.12 - [`KT-76374`](https://youtrack.jetbrains.com/issue/KT-76374) Investigate and fix failing tests with configuration cache in KotlinDaemonIT: testDaemonMultiproject and testMultipleCompilations - [`KT-76379`](https://youtrack.jetbrains.com/issue/KT-76379) Gradle: KotlinGradleFinishBuildHandler does not perform cleanup on configuration cache reuse - [`KT-61911`](https://youtrack.jetbrains.com/issue/KT-61911) Gradle: make KGP to depend on fixated version of stdlib - [`KT-76026`](https://youtrack.jetbrains.com/issue/KT-76026) \[ToolingDiagnostic] Gradle warning mode=fail: no emoji replacement, title color unchanged - [`KT-76025`](https://youtrack.jetbrains.com/issue/KT-76025) ToolingDiagnostic with FATAL Severity: ANSI escape codes are not rendered properly in the Build tool window in IntelliJ IDEA - [`KT-70252`](https://youtrack.jetbrains.com/issue/KT-70252) Gradle: remove Intellij dependencies from KGP runtime - [`KT-74333`](https://youtrack.jetbrains.com/issue/KT-74333) improve ToolingDiagnosticBuilder - [`KT-73683`](https://youtrack.jetbrains.com/issue/KT-73683) Compile against Gradle API 8.12 - [`KT-75187`](https://youtrack.jetbrains.com/issue/KT-75187) Make KotlinToolingDiagnostics internal - [`KT-75568`](https://youtrack.jetbrains.com/issue/KT-75568) Do not use env variables registered as CC inputs - [`KT-73842`](https://youtrack.jetbrains.com/issue/KT-73842) Gradle: AGP failing tests with "Failed to calculate the value of property 'generalConfigurationMetrics'" using KGP - [`KT-75262`](https://youtrack.jetbrains.com/issue/KT-75262) Gradle test-fixtures plugin apply order breaks the project - [`KT-75277`](https://youtrack.jetbrains.com/issue/KT-75277) FUS statistics: 'java.lang.IllegalStateException: The value for this property cannot be changed any further' exception is thrown during project import - [`KT-75026`](https://youtrack.jetbrains.com/issue/KT-75026) Corrupted NonSynchronizedMetricsContainer in parallel Gradle build - [`KT-73849`](https://youtrack.jetbrains.com/issue/KT-73849) Categorize ToolingDiagnostics - [`KT-74462`](https://youtrack.jetbrains.com/issue/KT-74462) Flaky Kotlin Gradle Plugin Tests: IsInIdeaEnvironmentValueSource$Inject not found - [`KT-72329`](https://youtrack.jetbrains.com/issue/KT-72329) Consider bumping apiVersion for projects with compatibility setup - [`KT-74772`](https://youtrack.jetbrains.com/issue/KT-74772) ToolingDiagnostic: title is not displayed on Windows - [`KT-74485`](https://youtrack.jetbrains.com/issue/KT-74485) BuildFinishedListenerService is not thread-safe - [`KT-74639`](https://youtrack.jetbrains.com/issue/KT-74639) Executable binaries for JVM test cannot be created unless an additional suffix is set in Groovy - [`KT-72187`](https://youtrack.jetbrains.com/issue/KT-72187) Gradle tests are using incorrect Kotlin/Native distribution - [`KT-57653`](https://youtrack.jetbrains.com/issue/KT-57653) Explicit API mode is not enabled when free compiler arguments are specified in Gradle project - [`KT-51378`](https://youtrack.jetbrains.com/issue/KT-51378) Gradle 'buildSrc' compilation fails when newer version of Kotlin plugin is added to the build script classpath ##### Tools. Gradle. Compiler plugins - [`KT-58009`](https://youtrack.jetbrains.com/issue/KT-58009) `BaseKapt.annotationProcessorOptionProviders` should be a `List<CommandLineArgumentProvider>` instead of `List<Any>` - [`KT-61928`](https://youtrack.jetbrains.com/issue/KT-61928) Clarify parameter types in KaptArguments and KaptJavacOption ##### Tools. Gradle. JS - [`KT-74859`](https://youtrack.jetbrains.com/issue/KT-74859) Gradle configuration cache issues related to RootPackageJsonTask - [`KT-70357`](https://youtrack.jetbrains.com/issue/KT-70357) Remove JS/Dce deprecated Gradle DSL - [`KT-71217`](https://youtrack.jetbrains.com/issue/KT-71217) KJS: 'Per-file' "Module not found: Error: Can't resolve void.mjs" - [`KT-77119`](https://youtrack.jetbrains.com/issue/KT-77119) KJS: Gradle: Setting custom environment variables in KotlinJsTest tasks no longer works - [`KT-74735`](https://youtrack.jetbrains.com/issue/KT-74735) KGP uses Gradle internal `CompositeProjectComponentArtifactMetadata` - [`KT-71879`](https://youtrack.jetbrains.com/issue/KT-71879) Notice of upcoming deprecation for Boolean 'is-' properties in Gradle Groovy scripts - [`KT-75863`](https://youtrack.jetbrains.com/issue/KT-75863) Wasm/JS: Deprecate phantom-js for Karma - [`KT-75485`](https://youtrack.jetbrains.com/issue/KT-75485) KJS: "Module not found: Error: Can't resolve 'style-loader' and 'css-loader'" in 2.1.20-RC - [`KT-74869`](https://youtrack.jetbrains.com/issue/KT-74869) KJS: `jsBrowserProductionWebpack` does not minify output with 2.1.20-Beta2 ##### Tools. Gradle. Multiplatform ##### New Features - [`KT-60623`](https://youtrack.jetbrains.com/issue/KT-60623) Deprecate `publishAllLibraryVariants` in kotlin-android ##### Fixes - [`KT-75161`](https://youtrack.jetbrains.com/issue/KT-75161) Deprecate commonization parameters in KGP with an error - [`KT-74005`](https://youtrack.jetbrains.com/issue/KT-74005) Implement a prototype of Unified Klib support in Kotlin Gradle Plugin - [`KT-61817`](https://youtrack.jetbrains.com/issue/KT-61817) Remove support for Legacy Metadata Compilation with support of Compatibility Metadata Variant - [`KT-71634`](https://youtrack.jetbrains.com/issue/KT-71634) KGP: Remove KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImport - [`KT-77404`](https://youtrack.jetbrains.com/issue/KT-77404) The kotlin-stdlib and annotations are missing from commonTest dependencies with 2.2.0-Beta1 - [`KT-62643`](https://youtrack.jetbrains.com/issue/KT-62643) Increase DeprecationLevel to 'Error' on deprecated 'ExtrasProperty.kt' (Kotlin 2.2) - [`KT-75605`](https://youtrack.jetbrains.com/issue/KT-75605) Dependency resolution fails in commonTest/nativeTest source sets for KMP module when depending on another project due to missing PSM - [`KT-71698`](https://youtrack.jetbrains.com/issue/KT-71698) Remove preset APIs - [`KT-68015`](https://youtrack.jetbrains.com/issue/KT-68015) Remove legacy KMP flags - [`KT-74727`](https://youtrack.jetbrains.com/issue/KT-74727) Dependency resolve from a single target KMP module to another kmp module fails on non-found PSM - [`KT-75808`](https://youtrack.jetbrains.com/issue/KT-75808) KGP: MPP with jvm target and Gradle java-test-fixtures is broken - [`KT-59315`](https://youtrack.jetbrains.com/issue/KT-59315) Improve the readability of KGP diagnostics in CLI build output - [`KT-58231`](https://youtrack.jetbrains.com/issue/KT-58231) Kotlin Gradle Plugin: set deprecation level to Error for KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImport - [`KT-66423`](https://youtrack.jetbrains.com/issue/KT-66423) Configuration cache false recalculation because of Kotlin Native downloading during the execution phase - [`KT-74888`](https://youtrack.jetbrains.com/issue/KT-74888) Use 'distribution-base' plugin in KMP/JVM - [`KT-76659`](https://youtrack.jetbrains.com/issue/KT-76659) Write proper diagnostics for Uklib checks - [`KT-70493`](https://youtrack.jetbrains.com/issue/KT-70493) Improve gray-box testing experience in KGP-IT - [`KT-71608`](https://youtrack.jetbrains.com/issue/KT-71608) Remove 'android()' target - [`KT-75512`](https://youtrack.jetbrains.com/issue/KT-75512) Maven-publish: ArtifactId is not correct in`pom` file with customized `withXml` - [`KT-72203`](https://youtrack.jetbrains.com/issue/KT-72203) Swift Export: Unclear failure for invalid module name - [`KT-74278`](https://youtrack.jetbrains.com/issue/KT-74278) KSP tasks don't trigger a K/N distribution downloading - [`KT-74669`](https://youtrack.jetbrains.com/issue/KT-74669) Executable binaries for JVM: a jar generated by jvmJar task isn't added to the build/install/testAppName/lib directory - [`KT-69200`](https://youtrack.jetbrains.com/issue/KT-69200) Module 'intellij.kotlin.gradle.multiplatformTests' transitively depends on K1/K2 implementation - [`KT-71454`](https://youtrack.jetbrains.com/issue/KT-71454) Remove not compatible with Project Isolation PomDependenciesRewriter - [`KT-73536`](https://youtrack.jetbrains.com/issue/KT-73536) Enable kmp isolated projects support for kotlin-test and patch PSM.json ##### Tools. Gradle. Native - [`KT-77067`](https://youtrack.jetbrains.com/issue/KT-77067) Kotlin Gradle plugin with the configuration cache passes all platform libraries to the compiler when compiling a binary for the first time - [`KT-74953`](https://youtrack.jetbrains.com/issue/KT-74953) Deprecate kotlinArtifacts with a warning - [`KT-71069`](https://youtrack.jetbrains.com/issue/KT-71069) Remove `konanVersion ` from CInteropProcess - [`KT-75171`](https://youtrack.jetbrains.com/issue/KT-75171) Provide custom freeCompilerArgs to Swift Export's link task - [`KT-74591`](https://youtrack.jetbrains.com/issue/KT-74591) HostManager.isMingw isLinux and isMac are not accessible in groovy scripts - [`KT-65692`](https://youtrack.jetbrains.com/issue/KT-65692) Remove Kotlin Native Performance plugin - [`KT-74403`](https://youtrack.jetbrains.com/issue/KT-74403) :commonizeNativeDistribution fails when configured native targets cannot be built on machine ##### Tools. Gradle. Xcode - [`KT-66262`](https://youtrack.jetbrains.com/issue/KT-66262) Deprecate and remove support for bitcode embedding from the Kotlin Gradle plugin ##### Tools. Incremental Compile - [`KT-62555`](https://youtrack.jetbrains.com/issue/KT-62555) Wrong ABI fingerprint for inline function containing a lambda - [`KT-75883`](https://youtrack.jetbrains.com/issue/KT-75883) Follow-up: switch from INSTANCE heuristic to outerClass chain - [`KT-75276`](https://youtrack.jetbrains.com/issue/KT-75276) Test IC issues with first-round failures that might be fixed by Fir runner - [`KT-76041`](https://youtrack.jetbrains.com/issue/KT-76041) Make lenient mode work with IC - [`KT-75155`](https://youtrack.jetbrains.com/issue/KT-75155) Split HistoryFileJvmIncrementalCompilerRunner and the current one - [`KT-74628`](https://youtrack.jetbrains.com/issue/KT-74628) Incremental compilation runner does not check compiler exit code before mapping sources to classes ##### Tools. JPS - [`KT-60914`](https://youtrack.jetbrains.com/issue/KT-60914) IC misses dependency to recompile when named kt file with JvmField instructed property was replaced with an object with the same name - [`KT-76495`](https://youtrack.jetbrains.com/issue/KT-76495) JPS: delegated Maven builds use embeddable version of kotlin-serialization compiler plugin with non-embeddable Kotlin compiler - [`KT-76461`](https://youtrack.jetbrains.com/issue/KT-76461) Fix "compilation of typealias does not check for clashes" for JPS - [`KT-75917`](https://youtrack.jetbrains.com/issue/KT-75917) Unused imports may lead to inc compilation failure - [`KT-73379`](https://youtrack.jetbrains.com/issue/KT-73379) Review the usage of JavaBuilder.IS\_ENABLED inside the KotlinBuilder JSP builder - [`KT-63707`](https://youtrack.jetbrains.com/issue/KT-63707) JPS: "Multiple values are not allowed for" caused by Compose ##### Tools. Kapt - [`KT-75936`](https://youtrack.jetbrains.com/issue/KT-75936) K2 KAPT: unsupported FIR element kinds in constant evaluation - [`KT-64385`](https://youtrack.jetbrains.com/issue/KT-64385) K2: Enable K2 KAPT by default - [`KT-76546`](https://youtrack.jetbrains.com/issue/KT-76546) Kapt / CLI: ""compile" mode is not supported in Kotlin 2.x" with -version flag - [`KT-75942`](https://youtrack.jetbrains.com/issue/KT-75942) K2 KAPT: underscore not allowed here - [`KT-40485`](https://youtrack.jetbrains.com/issue/KT-40485) -Xjvm-default=all causes private interface methods to be generated in JVM target < 9 which is not supported in annotation processing - [`KT-75202`](https://youtrack.jetbrains.com/issue/KT-75202) K2 kapt: mapped type class literal is converted incorrectly - [`KT-70797`](https://youtrack.jetbrains.com/issue/KT-70797) Remove obsolete K2 kapt implementation based on Analysis API ##### Tools. Maven - [`KT-73012`](https://youtrack.jetbrains.com/issue/KT-73012) Migrate Kotlin Maven plugin to the Build Tools API - [`KT-77036`](https://youtrack.jetbrains.com/issue/KT-77036) Kotlin Maven plugin: ClassNotFoundException com.google.common.base.Joiner with compiler plugins in debug mode - [`KT-61285`](https://youtrack.jetbrains.com/issue/KT-61285) Remove multiplatform "support" from Maven Plugin ##### Tools. Performance benchmarks - [`KT-75563`](https://youtrack.jetbrains.com/issue/KT-75563) Fix crash on kotlin compiler server user project related to performance measurements ##### Tools. REPL ##### Fixes - [`KT-75632`](https://youtrack.jetbrains.com/issue/KT-75632) Contunue deprecation of the REPL built into `kotlinc` - [`KT-76507`](https://youtrack.jetbrains.com/issue/KT-76507) \[K2 Repl] Delegated properties are not visible in the next snippet - [`KT-76508`](https://youtrack.jetbrains.com/issue/KT-76508) \[K2 Repl] Annotations on property accessors are not resolved - [`KT-75672`](https://youtrack.jetbrains.com/issue/KT-75672) \[K2 Repl] Serialization plugin crashes compiler backend - [`KT-76009`](https://youtrack.jetbrains.com/issue/KT-76009) \[K2 Repl] Kotlin-specific imports does not work if dependency is added to the classpath after 1st snippet - [`KT-75580`](https://youtrack.jetbrains.com/issue/KT-75580) \[K2 Repl] Cannot access snippet properties using Kotlin reflection - [`KT-75616`](https://youtrack.jetbrains.com/issue/KT-75616) \[K2 Repl] Sealed hierarchies causes a FileAnalysisException - [`KT-75593`](https://youtrack.jetbrains.com/issue/KT-75593) \[K2 Repl] Custom Delegates crash code gen - [`KT-75607`](https://youtrack.jetbrains.com/issue/KT-75607) \[K2 Repl] ScriptingConfiguration.jvm.jvmTarget is not respected - [`KT-74607`](https://youtrack.jetbrains.com/issue/KT-74607) \[K2 Repl] Lambda statement crashes code generation - [`KT-74615`](https://youtrack.jetbrains.com/issue/KT-74615) \[K2 REPL] Anonymous objects crash code generation - [`KT-74856`](https://youtrack.jetbrains.com/issue/KT-74856) \[K2 Repl] Snippet class files are missing Kotlin metadata - [`KT-74768`](https://youtrack.jetbrains.com/issue/KT-74768) \[K2 Repl] refineConfiguration does not update the classpath correctly - [`KT-74593`](https://youtrack.jetbrains.com/issue/KT-74593) \[K2 Repl] defaultImports does not work in ScriptCompilationConfiguration ##### Tools. Scripts - [`KT-75589`](https://youtrack.jetbrains.com/issue/KT-75589) Scripts: "IndexOutOfBoundsException in jdk.internal.util.Preconditions.outOfBounds" when trying to extend a class which uses global variable - [`KT-76424`](https://youtrack.jetbrains.com/issue/KT-76424) Dependencies in main.kts not working with 2.1.20 - [`KT-76296`](https://youtrack.jetbrains.com/issue/KT-76296) Kotlin script compiler crashes when secondary constructor calls a function - [`KT-76430`](https://youtrack.jetbrains.com/issue/KT-76430) Migrate scripting plugin to new IR parameter API - [`KT-74004`](https://youtrack.jetbrains.com/issue/KT-74004) "Evaluate expression" fails in scripts ##### Tools. Wasm - [`KT-76161`](https://youtrack.jetbrains.com/issue/KT-76161) Wasm: "export startUnitTests was not found" after updating to Kotlin 2.1.20 - [`KT-73398`](https://youtrack.jetbrains.com/issue/KT-73398) K/Wasm: Separate from JS NPM infrastructure - [`KT-76948`](https://youtrack.jetbrains.com/issue/KT-76948) Wasm: Rename kotlinBinaryenSetup and kotlinD8Setup - [`KT-74840`](https://youtrack.jetbrains.com/issue/KT-74840) Wasm: Binaryen setup per project - [`KT-76657`](https://youtrack.jetbrains.com/issue/KT-76657) K/Wasm: Composite build does not work with wasm tasks - [`KT-76656`](https://youtrack.jetbrains.com/issue/KT-76656) K/Wasm: Change NPM project name of wasm projects - [`KT-76587`](https://youtrack.jetbrains.com/issue/KT-76587) Wasm lock check failure says to run the JS lock upgrade - [`KT-76330`](https://youtrack.jetbrains.com/issue/KT-76330) K/Wasm: update binaryen to 123 or newer - [`KT-74480`](https://youtrack.jetbrains.com/issue/KT-74480) Projects using Compose don't run in Android Studio started from 2.1.20- Kotlin version ### [`v2.1.21`](https://github.com/JetBrains/kotlin/releases/tag/v2.1.21): Kotlin 2.1.21 ##### Changelog ##### Backend. Native. Debug - [`KT-75991`](https://youtrack.jetbrains.com/issue/KT-75991) Xcode 16.3: Fix lldb stepping test over an inline function ##### Compiler - [`KT-75992`](https://youtrack.jetbrains.com/issue/KT-75992) Xcode 16.3: stacktraces on simulators are not symbolicated - [`KT-76663`](https://youtrack.jetbrains.com/issue/KT-76663) KJS: KotlinNothingValueException caused by expression return since 2.1.20 - [`KT-75756`](https://youtrack.jetbrains.com/issue/KT-75756) Backend Internal error: Exception during IR lowering when trying to access variable from providedProperties in class within kotlin custom script - [`KT-76209`](https://youtrack.jetbrains.com/issue/KT-76209) CONFLICTING\_UPPER\_BOUNDS on `Nothing` bound - [`KT-70352`](https://youtrack.jetbrains.com/issue/KT-70352) K2: False-negative CONFLICTING\_UPPER\_BOUNDS on `Nothing` bound - [`KT-74739`](https://youtrack.jetbrains.com/issue/KT-74739) Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION\_REFERENCE" - [`KT-75483`](https://youtrack.jetbrains.com/issue/KT-75483) Native: redundant unboxing generated with smart cast - [`KT-71425`](https://youtrack.jetbrains.com/issue/KT-71425) IR Inliner: investigate return type of an inlined block ##### Native - [`KT-76252`](https://youtrack.jetbrains.com/issue/KT-76252) Native: executable crash with generic value classes with 2.1.20 ##### Native. C and ObjC Import - [`KT-75781`](https://youtrack.jetbrains.com/issue/KT-75781) Xcode 16.3: Fix cinterop tests failing with fatal error: could not build module '\_stdint' ##### Native. Runtime. Memory - [`KT-74280`](https://youtrack.jetbrains.com/issue/KT-74280) Native: GC.collect crashes with -Xallocator=std ##### Tools. CLI - [`KT-75588`](https://youtrack.jetbrains.com/issue/KT-75588) \[2.1.20-RC] "was compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" warnings despite using the same compiler version - [`KT-74663`](https://youtrack.jetbrains.com/issue/KT-74663) kotlinc-js CLI: not providing -ir-output-dir results in NullPointerException ##### Tools. Compiler Plugins - [`KT-76162`](https://youtrack.jetbrains.com/issue/KT-76162) "IllegalStateException: No mapping for symbol: VALUE\_PARAMETER INSTANCE\_RECEIVER" after updating to 2.1.20 ##### Tools. Gradle - [`KT-73682`](https://youtrack.jetbrains.com/issue/KT-73682) Compatibility with Gradle 8.12 release - [`KT-73142`](https://youtrack.jetbrains.com/issue/KT-73142) Kotlin Gradle plugin: Remove usage of Gradle's internal ExecHandleBuilder - [`KT-36004`](https://youtrack.jetbrains.com/issue/KT-36004) Update 'org.gradle.usage' attribute rules to support the 'JAVA\_API' and 'JAVA\_RUNTIME' value - [`KT-73968`](https://youtrack.jetbrains.com/issue/KT-73968) KotlinDependencyManagement tries to mutate configuration after it was resolved - [`KT-73684`](https://youtrack.jetbrains.com/issue/KT-73684) Run integration tests against Gradle 8.12 - [`KT-72694`](https://youtrack.jetbrains.com/issue/KT-72694) Accessing Task.project during execution is being deprecated in Gradle 8.12 - [`KT-73683`](https://youtrack.jetbrains.com/issue/KT-73683) Compile against Gradle API 8.12 ##### Tools. Gradle. JS - [`KT-77119`](https://youtrack.jetbrains.com/issue/KT-77119) KJS: Gradle: Setting custom environment variables in KotlinJsTest tasks no longer works - [`KT-74735`](https://youtrack.jetbrains.com/issue/KT-74735) KGP uses Gradle internal `CompositeProjectComponentArtifactMetadata` - [`KT-71879`](https://youtrack.jetbrains.com/issue/KT-71879) Notice of upcoming deprecation for Boolean 'is-' properties in Gradle Groovy scripts ##### Tools. Gradle. Multiplatform - [`KT-75808`](https://youtrack.jetbrains.com/issue/KT-75808) KGP: MPP with jvm target and Gradle java-test-fixtures is broken - [`KT-75605`](https://youtrack.jetbrains.com/issue/KT-75605) Dependency resolution fails in commonTest/nativeTest source sets for KMP module when depending on another project due to missing PSM - [`KT-75512`](https://youtrack.jetbrains.com/issue/KT-75512) Maven-publish: ArtifactId is not correct in`pom` file with customized `withXml` ##### Tools. Incremental Compile - [`KT-62555`](https://youtrack.jetbrains.com/issue/KT-62555) Wrong ABI fingerprint for inline function containing a lambda - [`KT-75883`](https://youtrack.jetbrains.com/issue/KT-75883) Follow-up: switch from INSTANCE heuristic to outerClass chain ##### Tools. Kapt - [`KT-75936`](https://youtrack.jetbrains.com/issue/KT-75936) K2 KAPT: unsupported FIR element kinds in constant evaluation - [`KT-75942`](https://youtrack.jetbrains.com/issue/KT-75942) K2 KAPT: underscore not allowed here ##### Tools. Scripts - [`KT-76424`](https://youtrack.jetbrains.com/issue/KT-76424) Dependencies in main.kts not working with 2.1.20 - [`KT-76296`](https://youtrack.jetbrains.com/issue/KT-76296) Kotlin script compiler crashes when secondary constructor calls a function - [`KT-75589`](https://youtrack.jetbrains.com/issue/KT-75589) Scripts: "IndexOutOfBoundsException in jdk.internal.util.Preconditions.outOfBounds" when trying to extend a class which uses global variable ##### Tools. Wasm - [`KT-76161`](https://youtrack.jetbrains.com/issue/KT-76161) Wasm: "export startUnitTests was not found" after updating to Kotlin 2.1.20 ### [`v2.1.20`](https://github.com/JetBrains/kotlin/releases/tag/v2.1.20): Kotlin 2.1.20 ##### Changelog ##### Analysis API ##### Fixes - [`KT-68198`](https://youtrack.jetbrains.com/issue/KT-68198) Analysis API: Support application service registration in plugin XMLs - [`KT-57733`](https://youtrack.jetbrains.com/issue/KT-57733) Analysis API: Use optimized `ModuleWithDependenciesScope`s in combined symbol providers - [`KT-73156`](https://youtrack.jetbrains.com/issue/KT-73156) AA: type retrieval for erroneous typealias crashes - [`KT-71907`](https://youtrack.jetbrains.com/issue/KT-71907) K2 debugger evaluator failed when cannot resolve unrelated annotation - [`KT-69128`](https://youtrack.jetbrains.com/issue/KT-69128) K2 IDE: "Unresolved reference in KDoc" reports existing Java class in reference to its own nested class - [`KT-71613`](https://youtrack.jetbrains.com/issue/KT-71613) KaFirPsiJavaTypeParameterSymbol cannot be cast to KaFirTypeParameterSymbol - [`KT-71741`](https://youtrack.jetbrains.com/issue/KT-71741) K2 IDE. Classifier was found in KtFile but was not found in FirFile in `libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts` in `kotlin.git` and broken analysis - [`KT-71942`](https://youtrack.jetbrains.com/issue/KT-71942) Need to rethrow Intellij Platform exceptions, like ProcessCanceledException - [`KT-70949`](https://youtrack.jetbrains.com/issue/KT-70949) Analysis API: "containingDeclaration" does not work on nested Java classes in K2 implementation - [`KT-69736`](https://youtrack.jetbrains.com/issue/KT-69736) K2 IDE: False positive resolution from KDoc for `value` - [`KT-69047`](https://youtrack.jetbrains.com/issue/KT-69047) Analysis API: Unresolved KDoc reference to extensions with the same name - [`KT-70815`](https://youtrack.jetbrains.com/issue/KT-70815) Analysis API: Implement stop-the-world session invalidation - [`KT-69630`](https://youtrack.jetbrains.com/issue/KT-69630) KAPT User project builds with KAPT4 enabled fail with Metaspace overflow ##### Analysis API. Code Compilation - [`KT-71263`](https://youtrack.jetbrains.com/issue/KT-71263) K2 evaluator: Error in evaluating self property with extension receiver ##### Analysis API. FIR ##### Performance Improvements - [`KT-72025`](https://youtrack.jetbrains.com/issue/KT-72025) FileStructureElement: reduce redundant resolve - [`KT-74012`](https://youtrack.jetbrains.com/issue/KT-74012) Redundant `FirAbstractBodyResolveTransformerDispatcher.<init>` CPU consumption - [`KT-73900`](https://youtrack.jetbrains.com/issue/KT-73900) ContextCollectorVisitor#computeContext may spend significant time on `createSnapshot` - [`KT-73665`](https://youtrack.jetbrains.com/issue/KT-73665) FirElementFinder is inefficient in large files - [`KT-73330`](https://youtrack.jetbrains.com/issue/KT-73330) Remove bodies from functions without contracts after the CONTRACTS phase - [`KT-73017`](https://youtrack.jetbrains.com/issue/KT-73017) Analysis API: `FirReferenceResolveHelper.getSymbolsByResolvedImport` searches for classes even when the selected `FqName` is a known package ##### Fixes - [`KT-72308`](https://youtrack.jetbrains.com/issue/KT-72308) getOrBuildFir returns null for this expression for plusAssign operator - [`KT-72660`](https://youtrack.jetbrains.com/issue/KT-72660) ISE: Recursive update at org.jetbrains.kotlin.analysis.low\.level.api.fir.caches.FirCaffeineCache.getValue - [`KT-74097`](https://youtrack.jetbrains.com/issue/KT-74097) ISE: Recursive update at org.jetbrains.kotlin.analysis.low\.level.api.fir.caches.FirCaffeineCache.getValue - [`KT-74098`](https://youtrack.jetbrains.com/issue/KT-74098) ISE: Recursive update at org.jetbrains.kotlin.analysis.low\.level.api.fir.caches.FirCaffeineCache.getValue - [`KT-72148`](https://youtrack.jetbrains.com/issue/KT-72148) K2: KISEWA: Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(DataClassMember) but FirArgumentListImpl found - [`KT-73079`](https://youtrack.jetbrains.com/issue/KT-73079) K2: Internal compiler error when conflicting type aliases are present - [`KT-73456`](https://youtrack.jetbrains.com/issue/KT-73456) Expected FirResolvedContractDescription but FirRawContractDescriptionImpl found for FirSimpleFunctionImpl - [`KT-73259`](https://youtrack.jetbrains.com/issue/KT-73259) Expected FirResolvedContractDescription but FirLegacyRawContractDescriptionImpl found for FirSimpleFunctionImpl - [`KT-72740`](https://youtrack.jetbrains.com/issue/KT-72740) FirDanglingModifierList: `lazyResolveToPhase(STATUS)` cannot be called from a transformer with a phase STATUS - [`KT-66132`](https://youtrack.jetbrains.com/issue/KT-66132) K2: FirRegularClass expected, but FirFileImpl found | Containing declaration is not found - [`KT-72196`](https://youtrack.jetbrains.com/issue/KT-72196) K2. KMP. IllegalStateException: expect-actual matching is only possible for code with sources - [`KT-72652`](https://youtrack.jetbrains.com/issue/KT-72652) `FirProvider#getContainingClass` should support `FirDanglingModifierSymbol` - [`KT-73105`](https://youtrack.jetbrains.com/issue/KT-73105) Lazy resolve contract violation (BODY\_RESOLVE from BODY\_RESOLVE) - [`KT-66261`](https://youtrack.jetbrains.com/issue/KT-66261) K2: Analysis API: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" with MULTIPLE\_LABELS\_ARE\_FORBIDDEN K2 error - [`KT-72315`](https://youtrack.jetbrains.com/issue/KT-72315) K2. KIWA on usage of always-true OR in guard condition - [`KT-65707`](https://youtrack.jetbrains.com/issue/KT-65707) K2 IDE: unresolved calls of callables imported with typealias as qualifier - [`KT-61516`](https://youtrack.jetbrains.com/issue/KT-61516) K2: Provide an LL FIR implementation for `getContainingClassSymbol` (in `FirHelpers`) - [`KT-72853`](https://youtrack.jetbrains.com/issue/KT-72853) Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirContextReceiverImpl(Source) but FirArgumentListImpl found - [`KT-64215`](https://youtrack.jetbrains.com/issue/KT-64215) K2: do not resolve type annotations of receiver if it is used as an implicit return type - [`KT-64248`](https://youtrack.jetbrains.com/issue/KT-64248) K2: do not resolve type annotations of context receiver if it is used as an implicit return type - [`KT-72821`](https://youtrack.jetbrains.com/issue/KT-72821) Add assertion to diagnostic tests to check that all declarations have BODY\_RESOLVE phase at the end - [`KT-64056`](https://youtrack.jetbrains.com/issue/KT-64056) K2: K2: FirLazyBodiesCalculator shouldn't calculate annotation arguments on type phase - [`KT-71651`](https://youtrack.jetbrains.com/issue/KT-71651) K2 IDE: False positive NON\_LOCAL\_SUSPENSION\_POINT in suspend function call - [`KT-72164`](https://youtrack.jetbrains.com/issue/KT-72164) K2. IllegalArgumentException when pre and post increment are used simultaneously in assignment - [`KT-71174`](https://youtrack.jetbrains.com/issue/KT-71174) Illegal scope used - [`KT-72407`](https://youtrack.jetbrains.com/issue/KT-72407) FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing - [`KT-72228`](https://youtrack.jetbrains.com/issue/KT-72228) K2: Reformat doesn't work in project with Kotlin `2.0.21` - [`KT-69671`](https://youtrack.jetbrains.com/issue/KT-69671) TYPES phase contract violation through JavaSymbolProvider - [`KT-71348`](https://youtrack.jetbrains.com/issue/KT-71348) K2: KotlinIllegalStateExceptionWithAttachments: 'By now the annotations argument mapping should have been resolved' during code inspection - [`KT-72024`](https://youtrack.jetbrains.com/issue/KT-72024) FirClassVarianceChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource - [`KT-71746`](https://youtrack.jetbrains.com/issue/KT-71746) K2 IDE. `ISE: Zero or multiple overrides found for descriptor in FirRegularClassSymbol serializing/ExternalSerializer` and red code on `@Serializer`(forClass) \` usage ##### Analysis API. Infrastructure - [`KT-72922`](https://youtrack.jetbrains.com/issue/KT-72922) KotlinFakeClsStubsCache project leakage - [`KT-71988`](https://youtrack.jetbrains.com/issue/KT-71988) Improve scripts test coverage by LL FIR - [`KT-64687`](https://youtrack.jetbrains.com/issue/KT-64687) K2: Analysis API: migrate AbstractFirLibraryModuleDeclarationResolveTest to kotlin repo ##### Analysis API. Light Classes - [`KT-73492`](https://youtrack.jetbrains.com/issue/KT-73492) K2. FP error in Java file when using `@JvmSuppressWildcards` annotation without arguments - [`KT-66763`](https://youtrack.jetbrains.com/issue/KT-66763) K2: Get rid of context receivers in Analysis API and LL API - [`KT-71781`](https://youtrack.jetbrains.com/issue/KT-71781) SLC: migrate SLC from KotlinModificationTrackerService to KotlinModificationTrackerFactory - [`KT-67963`](https://youtrack.jetbrains.com/issue/KT-67963) K2: PsiInvalidElementAccessException on redeclaration of class with constructor - [`KT-71407`](https://youtrack.jetbrains.com/issue/KT-71407) K2: Do not report `@JvmField` default value as PsiField initializer in K2 - [`KT-72078`](https://youtrack.jetbrains.com/issue/KT-72078) K2 PSI change for constructor parameter with value class type ##### Analysis API. Providers and Caches - [`KT-69247`](https://youtrack.jetbrains.com/issue/KT-69247) Analysis API: Invalidate sessions after builtins modification events - [`KT-72704`](https://youtrack.jetbrains.com/issue/KT-72704) ISE: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(53) in array owner: LLFirBuiltinsAndCloneableSession for Builtins for JS/wasm-js (JS) - [`KT-67148`](https://youtrack.jetbrains.com/issue/KT-67148) Analysis API: Introduce a weak reference cache for the original `KtSymbol` in `KtSymbolPointer` - [`KT-73395`](https://youtrack.jetbrains.com/issue/KT-73395) Analysis API: `JavaElementPsiSourceWithSmartPointer` contains strong references to PSI - [`KT-72390`](https://youtrack.jetbrains.com/issue/KT-72390) Kotlin project full of red code - [`KT-72388`](https://youtrack.jetbrains.com/issue/KT-72388) KaFirStopWorldCacheCleaner: Control-flow exceptions - [`KT-72644`](https://youtrack.jetbrains.com/issue/KT-72644) "PSI has changed since creation" reason is misleading ##### Analysis API. Standalone - [`KT-73776`](https://youtrack.jetbrains.com/issue/KT-73776) Analysis API Standalone: Application services are missing registrations in tests and Dokka - [`KT-70346`](https://youtrack.jetbrains.com/issue/KT-70346) Analysis API Standalone: Remove the custom class loader option in Standalone session creation ##### Analysis API. Stubs and Decompilation - [`KT-69398`](https://youtrack.jetbrains.com/issue/KT-69398) K2 IDE: SOE on editing top level private variable name - [`KT-72897`](https://youtrack.jetbrains.com/issue/KT-72897) Analysis API: Smart PSI element pointers for `KtEnumEntry` stubs cannot be restored - [`KT-71565`](https://youtrack.jetbrains.com/issue/KT-71565) KtClassOrObject should use isLocal from greenStub ##### Analysis API. Surface ##### New Features - [`KT-73414`](https://youtrack.jetbrains.com/issue/KT-73414) Analysis API: Support typealiased constructors in KaConstructorSymbol - [`KT-70301`](https://youtrack.jetbrains.com/issue/KT-70301) Analysis API: 'KaSamConstructorSymbol' does not allow to find the constructed SAM type - [`KT-68236`](https://youtrack.jetbrains.com/issue/KT-68236) Analysis API: add `isExternal` property for KtPropertySymbol - [`KT-68598`](https://youtrack.jetbrains.com/issue/KT-68598) Analysis API: missed getClassLikeSymbolByClassId API ##### Performance Improvements - [`KT-74112`](https://youtrack.jetbrains.com/issue/KT-74112) UI freeze: `AnyThreadWriteThreadingSupport.getWritePermit` - [`KT-73942`](https://youtrack.jetbrains.com/issue/KT-73942) Extend resolveToSymbols cache to all references - [`KT-73622`](https://youtrack.jetbrains.com/issue/KT-73622) Cache `resolveToSymbols` result - [`KT-72684`](https://youtrack.jetbrains.com/issue/KT-72684) Drop explicit resolve from KaFirJavaInteroperabilityComponent#asPsiTypeElement - [`KT-60486`](https://youtrack.jetbrains.com/issue/KT-60486) Analysis API: optimize KaExpressionTypeProvider.returnType for simple cases ##### Fixes - [`KT-70114`](https://youtrack.jetbrains.com/issue/KT-70114) K2: Analysis API: do not lazy resolve declarations without deprecation to get it deprecation - [`KT-73406`](https://youtrack.jetbrains.com/issue/KT-73406) \[Analysis API] Allow extending KaModule resolution scope for all KaModules - [`KT-65850`](https://youtrack.jetbrains.com/issue/KT-65850) Cover Analysis API with KDocs - [`KT-72099`](https://youtrack.jetbrains.com/issue/KT-72099) Analysis API: implement an API to retrieve default imports - [`KT-73662`](https://youtrack.jetbrains.com/issue/KT-73662) KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl - [`KT-70108`](https://youtrack.jetbrains.com/issue/KT-70108) Analysis API: "KaScopeProvider.scopeContext" provides scopes from implicit companion objects with inaccessible classifiers - [`KT-68954`](https://youtrack.jetbrains.com/issue/KT-68954) Remove JAR publications with old artifact names (high-level-api family) - [`KT-70134`](https://youtrack.jetbrains.com/issue/KT-70134) Analysis API: Port API documentation from the guide to KDoc - [`KT-72973`](https://youtrack.jetbrains.com/issue/KT-72973) Introduce KaSymbolOrigin.TYPE\_ALIAS\_CONSTRUCTOR - [`KT-70356`](https://youtrack.jetbrains.com/issue/KT-70356) analyzeCopy with IGNORE\_SELF cannot find private members - [`KT-66783`](https://youtrack.jetbrains.com/issue/KT-66783) Analysis API: `KtFirSymbolProvider` creates symbols when given PSI from unrelated modules - [`KT-72937`](https://youtrack.jetbrains.com/issue/KT-72937) Migrate KaFirReceiverParameterSymbol to KaFirSymbol/KaFirKtBasedSymbol - [`KT-70243`](https://youtrack.jetbrains.com/issue/KT-70243) K2 IDE: PsiMethod.callableSymbol returns `null` for constructor - [`KT-66608`](https://youtrack.jetbrains.com/issue/KT-66608) Support `OperatorFunctionChecks#isOperator` in AA - [`KT-73068`](https://youtrack.jetbrains.com/issue/KT-73068) Analysis API: A `KaFirJavaFieldSymbol` for a static Java field is open instead of final - [`KT-73055`](https://youtrack.jetbrains.com/issue/KT-73055) Get rid of the deprecated Analysis API API - [`KT-65065`](https://youtrack.jetbrains.com/issue/KT-65065) Provide `KtTypeReference#getShortTypeText()` - [`KT-63800`](https://youtrack.jetbrains.com/issue/KT-63800) AA: this reference shortener doesn't simplify label - [`KT-72793`](https://youtrack.jetbrains.com/issue/KT-72793) Analysis API: 'expressionType' returns raw type for typealiased constructors calls - [`KT-72658`](https://youtrack.jetbrains.com/issue/KT-72658) `resolveToCall` doesn't work for `KtSafeQualifiedExpression` - [`KT-69930`](https://youtrack.jetbrains.com/issue/KT-69930) K2 IDE: Kotlin/JS project: ISE: "Unsupported type DYNAMIC\_TYPE" - [`KT-71373`](https://youtrack.jetbrains.com/issue/KT-71373) Make KaSessionProvider the internal API - [`KT-71869`](https://youtrack.jetbrains.com/issue/KT-71869) KaClassSymbol.superTypes for kotlin.Any contains kotlin.Any itself (K1-only) - [`KT-64190`](https://youtrack.jetbrains.com/issue/KT-64190) K2 IDE: Analysis API: KDoc link leads to a function instead of interface - [`KT-72075`](https://youtrack.jetbrains.com/issue/KT-72075) `defaultType` should be available for `KaClassifierSymbol` instead of `KaNamedClassSymbol` - [`KT-72002`](https://youtrack.jetbrains.com/issue/KT-72002) Analysis API: psi KaTypeParameterSymbol for default Java constructor is null ##### Backend. Native. Debug - [`KT-73306`](https://youtrack.jetbrains.com/issue/KT-73306) Native: add a way to specify a dir for the debug compilation unit file - [`KT-68536`](https://youtrack.jetbrains.com/issue/KT-68536) Native: bridges and trampolines affect stepping in the debugger - [`KT-72398`](https://youtrack.jetbrains.com/issue/KT-72398) Native: use `DW_AT_trampoline` for `objc2kotlin_*` functions instead of `KonanHook` in `konan_lldb.py` ##### Backend. Wasm - [`KT-71868`](https://youtrack.jetbrains.com/issue/KT-71868) K/Wasm: support generating debug information in DWARF format - [`KT-71645`](https://youtrack.jetbrains.com/issue/KT-71645) \[Wasm] Check wasm test runner for groupByPackage=true case - [`KT-72232`](https://youtrack.jetbrains.com/issue/KT-72232) Wasm, IC: Compilation exception on renaming of file - [`KT-73907`](https://youtrack.jetbrains.com/issue/KT-73907) Wasm: Duplication of files in browser distribution - [`KT-72223`](https://youtrack.jetbrains.com/issue/KT-72223) Compiler generates an invalid glue-code for externals with backquoted identifiers - [`KT-73015`](https://youtrack.jetbrains.com/issue/KT-73015) \[Wasm, IC] Implement possibility for readonly IC cache - [`KT-71763`](https://youtrack.jetbrains.com/issue/KT-71763) K/Wasm: compiler generates incorrect code for is check on JsAny - [`KT-72156`](https://youtrack.jetbrains.com/issue/KT-72156) custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven public - [`KT-71037`](https://youtrack.jetbrains.com/issue/KT-71037) \[Wasm, IC] Investigate how make kotlin.test not fully loaded in IC ##### Compiler ##### New Features - [`KT-74049`](https://youtrack.jetbrains.com/issue/KT-74049) Introduce special override rule to allow overriding T! with T & Any - [`KT-73256`](https://youtrack.jetbrains.com/issue/KT-73256) Implement `all` meta-target for annotations - [`KT-73255`](https://youtrack.jetbrains.com/issue/KT-73255) Change defaulting rule for annotations - [`KT-61447`](https://youtrack.jetbrains.com/issue/KT-61447) Support context receivers overloads in Kotlin multiplatform - [`KT-67034`](https://youtrack.jetbrains.com/issue/KT-67034) Warning when a property hides a Java field from superclass - [`KT-71092`](https://youtrack.jetbrains.com/issue/KT-71092) Native: Write out used dependencies - [`KT-71094`](https://youtrack.jetbrains.com/issue/KT-71094) Kotlin/Native incremental compilation: fail compilation if cache build failed - [`KT-71569`](https://youtrack.jetbrains.com/issue/KT-71569) Improve diagnostic precision for OPT\_IN\_ARGUMENT\_IS\_NOT\_MARKER ##### Performance Improvements - [`KT-73434`](https://youtrack.jetbrains.com/issue/KT-73434) Slow / infinite compile involving ConeInferenceContext - [`KT-73328`](https://youtrack.jetbrains.com/issue/KT-73328) Do not spill `this` to a local variable in coroutines - [`KT-69995`](https://youtrack.jetbrains.com/issue/KT-69995) K2: Slow compilation when star projecting mutually recursive bounds from java - [`KT-73687`](https://youtrack.jetbrains.com/issue/KT-73687) Inefficient KtCommonFile#getFileAnnotationList - [`KT-45452`](https://youtrack.jetbrains.com/issue/KT-45452) K/N optimization: inline simple functions that aren't marked with `inline` keyword - [`KT-64898`](https://youtrack.jetbrains.com/issue/KT-64898) K2: toFirProperty call in PsiRawFirBuilder forces AST loading - [`KT-71673`](https://youtrack.jetbrains.com/issue/KT-71673) Consider making EnhancementSymbolsCache. enhancedFunctions using simple cache - [`KT-71973`](https://youtrack.jetbrains.com/issue/KT-71973) KtPsiUtil#getEnclosingElementForLocalDeclaration shouldn't iterate over directories ##### Fixes - [`KT-75965`](https://youtrack.jetbrains.com/issue/KT-75965) The iOS app did not run successfully in Release mode - [`KT-57696`](https://youtrack.jetbrains.com/issue/KT-57696) Deprecate JvmDefault annotation with level HIDDEN - [`KT-75578`](https://youtrack.jetbrains.com/issue/KT-75578) K2: False negative \[SUPER\_CALL\_WITH\_DEFAULT\_PARAMETERS] when calling the upper-class implementation of a method with the default value argument - [`KT-74764`](https://youtrack.jetbrains.com/issue/KT-74764) Native: merge init nodes generated within the same LLVM module for the same klib - [`KT-75444`](https://youtrack.jetbrains.com/issue/KT-75444) Contradictions in the constraint system are ignored in case of multiple constraints from forking points - [`KT-75649`](https://youtrack.jetbrains.com/issue/KT-75649) K2: NPE on assigning platform type value to non-nullable lateinit var - [`KT-75483`](https://youtrack.jetbrains.com/issue/KT-75483) Native: redundant unboxing generated with smart cast - [`KT-73028`](https://youtrack.jetbrains.com/issue/KT-73028) K2. FileAnalysisException on private property in Context - [`KT-73937`](https://youtrack.jetbrains.com/issue/KT-73937) Context parameters: IllegalArgumentException: source must not be null on lateinit var with a context - [`KT-74104`](https://youtrack.jetbrains.com/issue/KT-74104) Native: SynchronizedLazyImpl produces NPE on 2.1.20-Beta1 on mingwX64 - [`KT-71752`](https://youtrack.jetbrains.com/issue/KT-71752) K2: Absent non-null check for platform types in assignments - [`KT-75526`](https://youtrack.jetbrains.com/issue/KT-75526) Regression in K2 scripting: local name doesn't shadow one from the implicit receiver - [`KT-68131`](https://youtrack.jetbrains.com/issue/KT-68131) K2: build Grazie monorepo main branch - [`KT-72618`](https://youtrack.jetbrains.com/issue/KT-72618) Cannot define operator inc/dec in class context - [`KT-74739`](https://youtrack.jetbrains.com/issue/KT-74739) Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION\_REFERENCE" - [`KT-68768`](https://youtrack.jetbrains.com/issue/KT-68768) K2: unsuccessful inference fork with jspecify annotations - [`KT-71943`](https://youtrack.jetbrains.com/issue/KT-71943) K2: IAE "source must not be null" in FirJvmModuleAccessibilityQualifiedAccessChecker - [`KT-75111`](https://youtrack.jetbrains.com/issue/KT-75111) False negative "This declaration needs opt-in" for usage of enum entry with OptIn marker in another module - [`KT-73831`](https://youtrack.jetbrains.com/issue/KT-73831) Do not choose `field` target in annotation classes - [`KT-73494`](https://youtrack.jetbrains.com/issue/KT-73494) Enable first-only-warn annotation defaulting mode - [`KT-74929`](https://youtrack.jetbrains.com/issue/KT-74929) False positive TYPE\_PARAMETER\_OF\_PROPERTY\_NOT\_USED\_IN\_RECEIVER if it is used with T\&Any - [`KT-74227`](https://youtrack.jetbrains.com/issue/KT-74227) K2: "Cannot infer type for this parameter. Please specify it explicitly" caused by lambda in another lambda with a parameterized function type - [`KT-70789`](https://youtrack.jetbrains.com/issue/KT-70789) CLI error "mixing legacy and modern plugin arguments is prohibited" on using -Xcompiler-plugin unless default scripting plugin is disabled - [`KT-73903`](https://youtrack.jetbrains.com/issue/KT-73903) Design 'replaceWith' / 'test-only' kinds for the 'LanguageFeature' class - [`KT-74474`](https://youtrack.jetbrains.com/issue/KT-74474) K2: Report more precise diagnostic when last expression of non-unit lambda is a statement - [`KT-74478`](https://youtrack.jetbrains.com/issue/KT-74478) K2: False negative RETURN TYPE\_MISMATCH if the last statement of a lambda is indexed assignment - [`KT-67480`](https://youtrack.jetbrains.com/issue/KT-67480) K/N: a separate inlining phase after the lowerings - [`KT-72154`](https://youtrack.jetbrains.com/issue/KT-72154) Dokka fails with `not array: KClass<out Annotation>` on Kotlin 2.1.20-dev with `@SubclassOptInRequired` - [`KT-72040`](https://youtrack.jetbrains.com/issue/KT-72040) Extra checkers: false-positive unused parameter warnings on anonymous lambda parameters - [`KT-74203`](https://youtrack.jetbrains.com/issue/KT-74203) K2: False negative NO\_ELSE\_IN\_WHEN of a generic type with star projection <\*> bounded by a sealed hierarchy - [`KT-63720`](https://youtrack.jetbrains.com/issue/KT-63720) Coroutine debugger: do not optimise out local variables - [`KT-74024`](https://youtrack.jetbrains.com/issue/KT-74024) K2: Prohibit declaring local type aliases - [`KT-73146`](https://youtrack.jetbrains.com/issue/KT-73146) Context parameters CLI & diagnostics - [`KT-73251`](https://youtrack.jetbrains.com/issue/KT-73251) Warn users about removal of context classes and constructors - [`KT-72222`](https://youtrack.jetbrains.com/issue/KT-72222) Context parameters parsing & resolution part 1 - [`KT-61175`](https://youtrack.jetbrains.com/issue/KT-61175) K2: FirReceiverParameter does not extend FirDeclaration - [`KT-73858`](https://youtrack.jetbrains.com/issue/KT-73858) Compose / iOS: NullPointerException on building - [`KT-73864`](https://youtrack.jetbrains.com/issue/KT-73864) \[Native] Decouple `IrType.computePrimitiveBinaryTypeOrNull` from backend.native - [`KT-73122`](https://youtrack.jetbrains.com/issue/KT-73122) Move the upgrade references lowering to be first one in Native pipeline - [`KT-73608`](https://youtrack.jetbrains.com/issue/KT-73608) K2: "Initializer type mismatch" with map and typealias to object - [`KT-73691`](https://youtrack.jetbrains.com/issue/KT-73691) DCE removes static initializer function, which is actually called - [`KT-74147`](https://youtrack.jetbrains.com/issue/KT-74147) K2: False negative INCONSISTENT\_TYPE\_PARAMETER\_VALUES - [`KT-73454`](https://youtrack.jetbrains.com/issue/KT-73454) K2: Fix type parameters mapping for typealiases with inner RHS - [`KT-73043`](https://youtrack.jetbrains.com/issue/KT-73043) K2 Compiler does not allow references to inner constructors with typealiases - [`KT-74040`](https://youtrack.jetbrains.com/issue/KT-74040) Compilation of inner class usage does not check the visibility of parent class during compilation in different rounds - [`KT-74195`](https://youtrack.jetbrains.com/issue/KT-74195) Fully qualified names in error messages make them complicated - [`KT-74221`](https://youtrack.jetbrains.com/issue/KT-74221) Make `FirSupertypesChecker` a platform checker - [`KT-72962`](https://youtrack.jetbrains.com/issue/KT-72962) Consider enabling ConsiderForkPointsWhenCheckingContradictions LF earlier - [`KT-74242`](https://youtrack.jetbrains.com/issue/KT-74242) Freeze on `runCatching` call in `finally` block inside SAM conversion - [`KT-29222`](https://youtrack.jetbrains.com/issue/KT-29222) FIR: consider folding binary expression chains - [`KT-73760`](https://youtrack.jetbrains.com/issue/KT-73760) Cannot implement two Java interfaces with `@NotNull`-annotated type argument and Kotlin's plain (nullable) type parameter - [`KT-58933`](https://youtrack.jetbrains.com/issue/KT-58933) Applying suggested signature from WRONG\_NULLABILITY\_FOR\_JAVA\_OVERRIDE leads to red code - [`KT-74107`](https://youtrack.jetbrains.com/issue/KT-74107) K2: Calling type alias constructor with inner RHS in static scope causes runtime crash - [`KT-74244`](https://youtrack.jetbrains.com/issue/KT-74244) Context parameters: context isn't checked for expect/actual property declaration - [`KT-74276`](https://youtrack.jetbrains.com/issue/KT-74276) Update ASM from 9.0 to 9.6.1 - [`KT-72737`](https://youtrack.jetbrains.com/issue/KT-72737) Avoid function references creation in lowerings after FunctionReferenceLowering - [`KT-72295`](https://youtrack.jetbrains.com/issue/KT-72295) K2: Generated accessors for delegated property should have property source - [`KT-73150`](https://youtrack.jetbrains.com/issue/KT-73150) Investigate/test approximation of context parameter type in completion - [`KT-73862`](https://youtrack.jetbrains.com/issue/KT-73862) \[Native] Decouple NativePreSerializationLoweringContext from backend.native - [`KT-70507`](https://youtrack.jetbrains.com/issue/KT-70507) Should parentheses prevent from plus/set operator desugaring? - [`KT-72677`](https://youtrack.jetbrains.com/issue/KT-72677) K2 IDE / Kotlin Debugger: “Couldn't find virtual file for p1/MainKt$foo$iface$1” on evaluating inline function from another module - [`KT-72672`](https://youtrack.jetbrains.com/issue/KT-72672) K2 IDE / Kotlin Debugger: “Couldn't find virtual file” on evaluating inline function for enum class entries from test module - [`KT-73912`](https://youtrack.jetbrains.com/issue/KT-73912) Cannot evaluate inline methods from another module in KMP project - [`KT-73765`](https://youtrack.jetbrains.com/issue/KT-73765) K2: Prohibit nested type aliases with inner RHS when it captures type parameters implicitly - [`KT-73869`](https://youtrack.jetbrains.com/issue/KT-73869) \[Native] Move KonanSymbols out of `backend.native` - [`KT-73823`](https://youtrack.jetbrains.com/issue/KT-73823) Kotlin/Native: IndexOutOfBounds for java.util.Map::getOrDefault - [`KT-73755`](https://youtrack.jetbrains.com/issue/KT-73755) K2: type mismatch error contains unsubstituted type parameter types - [`KT-72837`](https://youtrack.jetbrains.com/issue/KT-72837) ERROR\_IN\_CONTRACT\_DESCRIPTION message contains compiler internals - [`KT-73771`](https://youtrack.jetbrains.com/issue/KT-73771) K2: Infinite compilation caused by buildList without type - [`KT-67520`](https://youtrack.jetbrains.com/issue/KT-67520) Change of behaviour of inline function with safe cast on value type - [`KT-67518`](https://youtrack.jetbrains.com/issue/KT-67518) Value classes leak their carrier type implementation details via inlining - [`KT-71767`](https://youtrack.jetbrains.com/issue/KT-71767) Generate default compatibility bridges in -Xjvm-default=all/all-compatibility mode - [`KT-73716`](https://youtrack.jetbrains.com/issue/KT-73716) Context parameters expose visibility - [`KT-73671`](https://youtrack.jetbrains.com/issue/KT-73671) Context parameters: val/var on context parameter on a property is possible - [`KT-73510`](https://youtrack.jetbrains.com/issue/KT-73510) Context parameters: It is possible to declare a context for init block - [`KT-72305`](https://youtrack.jetbrains.com/issue/KT-72305) K2: Report error when using synthetic properties in case of mapped collections - [`KT-72429`](https://youtrack.jetbrains.com/issue/KT-72429) StackOverflowError when compiling large files - [`KT-72500`](https://youtrack.jetbrains.com/issue/KT-72500) K2 Debugger: NSME on evaluating lambda with a call to internal class field - [`KT-73845`](https://youtrack.jetbrains.com/issue/KT-73845) K2: IllegalArgumentException during FIR2IR transformation when processing nested default values in annotations - [`KT-73538`](https://youtrack.jetbrains.com/issue/KT-73538) K2 IDE / Kotlin Debugger: ISE “couldn't find inline method" on evaluating internal inline function with default arg from main module in test module - [`KT-73347`](https://youtrack.jetbrains.com/issue/KT-73347) K2: Expected is FirResolvedDeclarationStatus - [`KT-71226`](https://youtrack.jetbrains.com/issue/KT-71226) K2 Evaluator: Code fragment compilation with unresolved classes does not fail with exception - [`KT-73902`](https://youtrack.jetbrains.com/issue/KT-73902) Clean-up code around lateinit inline/value classes - [`KT-73693`](https://youtrack.jetbrains.com/issue/KT-73693) K2: DslMarker checker doesn't report violation for callable reference with bound receiver - [`KT-73667`](https://youtrack.jetbrains.com/issue/KT-73667) K2: DslMarker checker ignores function type annotations for invokeExtension - [`KT-72797`](https://youtrack.jetbrains.com/issue/KT-72797) K2 IDE / Kotlin Debugger: AE “No such value argument slot in IrCallImpl” on evaluating inc()-operator for private field - [`KT-68388`](https://youtrack.jetbrains.com/issue/KT-68388) Compiler crash on convesion to fun interface with extension receiver - [`KT-73801`](https://youtrack.jetbrains.com/issue/KT-73801) False positive CONFLICTING\_OVERLOADS between base suspend fun and derived property - [`KT-62833`](https://youtrack.jetbrains.com/issue/KT-62833) K2: Run smoke FP tests with SLOW\_ASSERTIONS enabled - [`KT-54068`](https://youtrack.jetbrains.com/issue/KT-54068) Context receivers with lambda nesting result in Type mismatch - [`KT-51383`](https://youtrack.jetbrains.com/issue/KT-51383) Lambdas with context receivers do not accept context receivers from scope - [`KT-73331`](https://youtrack.jetbrains.com/issue/KT-73331) Context parameters implicit invoke - [`KT-73650`](https://youtrack.jetbrains.com/issue/KT-73650) Implement DIFFERENT\_NAMES\_FOR\_THE\_SAME\_PARAMETER\_IN\_SUPERTYPES for K2 - [`KT-73745`](https://youtrack.jetbrains.com/issue/KT-73745) Migrate modularized tests to the latest stable version - [`KT-70233`](https://youtrack.jetbrains.com/issue/KT-70233) Implement a deprecation error for FIELD-targeted annotations on annotation properties - [`KT-72996`](https://youtrack.jetbrains.com/issue/KT-72996) false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operator - [`KT-73791`](https://youtrack.jetbrains.com/issue/KT-73791) Forbid using `inline` and `value` class modifiers together - [`KT-73704`](https://youtrack.jetbrains.com/issue/KT-73704) \[Native] Decouple KonanIrLinker from cinterop deserialization - [`KT-73641`](https://youtrack.jetbrains.com/issue/KT-73641) Context parameters DSL marker support - [`KT-59880`](https://youtrack.jetbrains.com/issue/KT-59880) K2: Disappeared CONFLICTING\_OVERLOADS - [`KT-73339`](https://youtrack.jetbrains.com/issue/KT-73339) K2: "VerifyError: Bad type on operand stack" because of missing implicit cast on generic field receiver with star projection - [`KT-72585`](https://youtrack.jetbrains.com/issue/KT-72585) K2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace top-level type with star projection: S - [`KT-59443`](https://youtrack.jetbrains.com/issue/KT-59443) K2: Implement missing K1 diagnostics - [`KT-67517`](https://youtrack.jetbrains.com/issue/KT-67517) Value class upcast to Any leaks carrier type interfaces - [`KT-73527`](https://youtrack.jetbrains.com/issue/KT-73527) Prohibit (via a deprecation warning) accessing nested class through generic outer class - [`KT-72852`](https://youtrack.jetbrains.com/issue/KT-72852) JAVA\_CLASS\_ON\_COMPANION compiler warning missing in K2 - [`KT-71704`](https://youtrack.jetbrains.com/issue/KT-71704) K2: subAtom already initialized - [`KT-73399`](https://youtrack.jetbrains.com/issue/KT-73399) compile-time JVM codegen failure on a KProperty argument of a KSuspendFunction parameter - [`KT-72281`](https://youtrack.jetbrains.com/issue/KT-72281) K/N: "Failed to wait for cache to be built" - [`KT-73049`](https://youtrack.jetbrains.com/issue/KT-73049) Kotlin Debugger: CNFE on evaluating local function inside lambda - [`KT-72725`](https://youtrack.jetbrains.com/issue/KT-72725) KMP: Unsupported actualization of inherited java field in expect class - [`KT-73476`](https://youtrack.jetbrains.com/issue/KT-73476) K2: Visibility of nested type aliases is not respected if RHS is inner - [`KT-72957`](https://youtrack.jetbrains.com/issue/KT-72957) K2: Don't use offsets for mapping annotations from IR plugins injected into metadata - [`KT-72814`](https://youtrack.jetbrains.com/issue/KT-72814) FIR: don't use function references in FirThisReference - [`KT-73143`](https://youtrack.jetbrains.com/issue/KT-73143) Context parameters resolution leftovers - [`KT-71649`](https://youtrack.jetbrains.com/issue/KT-71649) K2: Put operator on mutableMap\<T?, V>() causes crashes on null key - [`KT-72832`](https://youtrack.jetbrains.com/issue/KT-72832) Erroneous implicit cast inserted by smartcast - [`KT-72930`](https://youtrack.jetbrains.com/issue/KT-72930) K2 IDE / Kotlin Debugger: ISE “couldn't find inline method” on evaluating internal inline function from main module in test module - [`KT-73095`](https://youtrack.jetbrains.com/issue/KT-73095) K2: "Failed to find functional supertype for ConeIntersectionType" - [`KT-70366`](https://youtrack.jetbrains.com/issue/KT-70366) K2: "KotlinIllegalArgumentExceptionWithAttachments: Failed to find functional supertype for class " - [`KT-73260`](https://youtrack.jetbrains.com/issue/KT-73260) Rename context receivers to context parameters in frontend - [`KT-73375`](https://youtrack.jetbrains.com/issue/KT-73375) K2/JVM: -Xuse-type-table generates incorrect metadata for local delegated properties - [`KT-72470`](https://youtrack.jetbrains.com/issue/KT-72470) Annotations on effect declarations are unresolved - [`KT-72409`](https://youtrack.jetbrains.com/issue/KT-72409) False negative "Type parameter is forbidden for catch parameter" - [`KT-72723`](https://youtrack.jetbrains.com/issue/KT-72723) K2: Replace unused FIR properties required by inheritence with computed properties - [`KT-72246`](https://youtrack.jetbrains.com/issue/KT-72246) Exception from FirReceiverAccessBeforeSuperCallChecker on red code - [`KT-47289`](https://youtrack.jetbrains.com/issue/KT-47289) No error on companion object inside inner class in enum constructor call - [`KT-46120`](https://youtrack.jetbrains.com/issue/KT-46120) No error reported when Java interface method is implemented by delegation to Java class where corresponding method has different generic signature - [`KT-72746`](https://youtrack.jetbrains.com/issue/KT-72746) K2: No IR overriddens generated for Nothing.toString - [`KT-70389`](https://youtrack.jetbrains.com/issue/KT-70389) K2: StackOverflowError at org.jetbrains.kotlin.fir.resolve.calls.CreateFreshTypeVariableSubstitutorStage.shouldBeFlexible - [`KT-72537`](https://youtrack.jetbrains.com/issue/KT-72537) \[FIR Analysis] 'IllegalArgumentException: source must not be null' when typing '++++' (four pluses) - [`KT-73010`](https://youtrack.jetbrains.com/issue/KT-73010) K2: Refactor `DispatchReceiverMemberScopeTowerLevel.processMembers` - [`KT-72924`](https://youtrack.jetbrains.com/issue/KT-72924) Extension property declaration shouldn't be possible in when - [`KT-72826`](https://youtrack.jetbrains.com/issue/KT-72826) UNUSED\_LAMBDA\_EXPRESSION compiler warning missing in K2 - [`KT-25513`](https://youtrack.jetbrains.com/issue/KT-25513) Report compilation error when in generated JVM bytecode there is a need for CHECKCAST to inaccessible interface - [`KT-73153`](https://youtrack.jetbrains.com/issue/KT-73153) K2: Standalone diagnostics on type arguments are not reported - [`KT-71252`](https://youtrack.jetbrains.com/issue/KT-71252) JVM: Set the proper visibility to backing fields of lateinit properties - [`KT-73213`](https://youtrack.jetbrains.com/issue/KT-73213) K2: Initialize outer type parameter refs for inner (local) type aliases during FIR building - [`KT-73215`](https://youtrack.jetbrains.com/issue/KT-73215) Set up isInner property for inner type aliases during FIR building - [`KT-73088`](https://youtrack.jetbrains.com/issue/KT-73088) K2: Introduce NestedTypeAliases experimental feature - [`KT-73192`](https://youtrack.jetbrains.com/issue/KT-73192) K2: FirJavaField has incorrect modality - [`KT-60310`](https://youtrack.jetbrains.com/issue/KT-60310) K2: introduce FirErrorContractDescription to distinguish unresolved contract from error one - [`KT-73008`](https://youtrack.jetbrains.com/issue/KT-73008) K2: Resolve nested type aliases in derived classes - [`KT-73009`](https://youtrack.jetbrains.com/issue/KT-73009) K2: Treat nested type aliases as classes during supertypes resolution (they are not inner by default) - [`KT-59886`](https://youtrack.jetbrains.com/issue/KT-59886) K2: Disappeared ERROR\_IN\_CONTRACT\_DESCRIPTION - [`KT-72839`](https://youtrack.jetbrains.com/issue/KT-72839) Rewrite processConstraintStorageFromExpression using resolution atoms - [`KT-73147`](https://youtrack.jetbrains.com/issue/KT-73147) Context parameters FIR2IR support - [`KT-72789`](https://youtrack.jetbrains.com/issue/KT-72789) Fix inconsistent IR produced by ScriptsToClassesLowering for script instance feature - [`KT-66711`](https://youtrack.jetbrains.com/issue/KT-66711) K2: INITIALIZER\_TYPE\_MISMATCH is reported on the whole lambda instead of RETURN\_TYPE\_MISMATCH on each return expression - [`KT-73011`](https://youtrack.jetbrains.com/issue/KT-73011) K2: Allow overloads resolution for callable references based on expected type variable with constraints - [`KT-73031`](https://youtrack.jetbrains.com/issue/KT-73031) K2: Callable reference unresolved inside elvis with a complex function type - [`KT-66161`](https://youtrack.jetbrains.com/issue/KT-66161) K2: False-positive REDUNDANT\_VISIBILITY\_MODIFIER for protected modifier in private class - [`KT-73065`](https://youtrack.jetbrains.com/issue/KT-73065) CCE with context receivers - [`KT-72345`](https://youtrack.jetbrains.com/issue/KT-72345) K2: Method 'get' without `@Override` annotation not called - [`KT-69981`](https://youtrack.jetbrains.com/issue/KT-69981) K2: Refactor ResolutionMode.WithExpectedType.expectedType to be a ConeKotlinType - [`KT-68363`](https://youtrack.jetbrains.com/issue/KT-68363) `ABSTRACT_MEMBER_NOT_IMPLEMENTED` diagnostic reported only for the first not implemented function - [`KT-72105`](https://youtrack.jetbrains.com/issue/KT-72105) JVM: typeOf() result is sometimes incorrectly optimized to null in bytecode - [`KT-72813`](https://youtrack.jetbrains.com/issue/KT-72813) FIR: fix containing declaration for annotations of a receiver parameter - [`KT-72552`](https://youtrack.jetbrains.com/issue/KT-72552) AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped types - [`KT-71751`](https://youtrack.jetbrains.com/issue/KT-71751) K2: Skipping code in last statement of lambda - [`KT-72863`](https://youtrack.jetbrains.com/issue/KT-72863) K2: failed compilation for a context receiver with an annotated type - [`KT-68984`](https://youtrack.jetbrains.com/issue/KT-68984) K2: Typealiased SAM constructors resolve to the expanded interface - [`KT-57471`](https://youtrack.jetbrains.com/issue/KT-57471) K2: Wrong diagnostics for named lambda arguments - [`KT-69560`](https://youtrack.jetbrains.com/issue/KT-69560) Tidy up test data that affected by `PrioritizedEnumEntries` or `ProperUninitializedEnumEntryAccessAnalysis` features - [`KT-72894`](https://youtrack.jetbrains.com/issue/KT-72894) "Placeholder projection cannot be mapped." error from resolve when using placeholder in a typealias - [`KT-70886`](https://youtrack.jetbrains.com/issue/KT-70886) FIR/AA: Reduce strong memory footprint of cached symbol names providers - [`KT-72238`](https://youtrack.jetbrains.com/issue/KT-72238) Argument type mismatch in builder inside extension function after ?: - [`KT-72738`](https://youtrack.jetbrains.com/issue/KT-72738) Simplify naming scheme for function references - [`KT-72340`](https://youtrack.jetbrains.com/issue/KT-72340) K1/K2 difference in de-duplication of OPT\_IN\_USAGE and OPT\_IN\_TO\_INHERITANCE - [`KT-61272`](https://youtrack.jetbrains.com/issue/KT-61272) Frontend: error message "feature ... is experimental and should be enabled explicitly" does not explain how to do it - [`KT-72664`](https://youtrack.jetbrains.com/issue/KT-72664) K2: Function type kind is not propagated for parameters of incomplete calls - [`KT-64247`](https://youtrack.jetbrains.com/issue/KT-64247) K2: FirContextReceiver does not extend FirDeclaration - [`KT-67383`](https://youtrack.jetbrains.com/issue/KT-67383) Incorrect optimisation when optimising for loop with UByte - [`KT-70975`](https://youtrack.jetbrains.com/issue/KT-70975) K2: Confusing INVISIBLE\_REFERENCE message when accessing nested class in private-in-file class - [`KT-72743`](https://youtrack.jetbrains.com/issue/KT-72743) CCE in `FirUninitializedEnumChecker`: `FirPropertySymbol` cannot be cast to `FirEnumEntrySymbol` - [`KT-71708`](https://youtrack.jetbrains.com/issue/KT-71708) False negative UNSUPPORTED for collection literals as trailing return value - [`KT-67707`](https://youtrack.jetbrains.com/issue/KT-67707) K2: CCE "ArrayMapImpl cannot be cast to class OneElementArrayMap" from FIR evaluator - [`KT-71966`](https://youtrack.jetbrains.com/issue/KT-71966) Seemingly bug in SupertypeComputationSession#breakLoopFor - [`KT-17455`](https://youtrack.jetbrains.com/issue/KT-17455) Confusing error message "There's a cycle in the inheritance hierarchy for this type" when outer class inherits nested class - [`KT-71119`](https://youtrack.jetbrains.com/issue/KT-71119) K2: "AssertionError: Should be primitive or nullable primitive type" caused by comparing Double/Float and Any successor type - [`KT-57527`](https://youtrack.jetbrains.com/issue/KT-57527) K1/K2: "IllegalArgumentException: Some properties have the same names" with inline class - [`KT-57851`](https://youtrack.jetbrains.com/issue/KT-57851) Wrong ValueClassRepresentation inside value class - [`KT-67998`](https://youtrack.jetbrains.com/issue/KT-67998) K2: CANNOT\_INFER\_PARAMETER\_TYPE on incomplete call inside if in a Java SAM - [`KT-71961`](https://youtrack.jetbrains.com/issue/KT-71961) K2 debugger evaluation ClassCastException in IrElementsCreationUtilsKt#createFilesWithBuiltinsSyntheticDeclarationsIfNeeded - [`KT-72504`](https://youtrack.jetbrains.com/issue/KT-72504) Optimize `KotlinLocalVirtualFile.isDirectory` for parent virtual files - [`KT-71399`](https://youtrack.jetbrains.com/issue/KT-71399) Kotlin Script: NPE on type resolve - [`KT-69283`](https://youtrack.jetbrains.com/issue/KT-69283) Incorrect synthetic line numbers when inlining suspend funs - [`KT-52929`](https://youtrack.jetbrains.com/issue/KT-52929) Java cannot extend instantiations of generic Kotlin collections in the presence of instantiated Kotlin subclasses - [`KT-71885`](https://youtrack.jetbrains.com/issue/KT-71885) K2: confusing message when lateinit var is assigned once - [`KT-69920`](https://youtrack.jetbrains.com/issue/KT-69920) K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilation - [`KT-55894`](https://youtrack.jetbrains.com/issue/KT-55894) NI: Compile errors for out-projected types are more cryptic than previously - [`KT-72231`](https://youtrack.jetbrains.com/issue/KT-72231) K2: NONE\_APPLICABLE instead of NAMED\_ARGUMENTS\_NOT\_ALLOWED for non-Kotlin functions with overloads - [`KT-72422`](https://youtrack.jetbrains.com/issue/KT-72422) KMP: False-positive report of ACTUAL\_ANNOTATIONS\_NOT\_MATCH\_EXPECT on SublcassOptInRequired - [`KT-72257`](https://youtrack.jetbrains.com/issue/KT-72257) 'javaClass' method cannot be evaluated in Kotlin project itself - [`KT-72408`](https://youtrack.jetbrains.com/issue/KT-72408) Introduce new TYPE\_VARIANCE\_CONFLICT diagnostics - [`KT-71508`](https://youtrack.jetbrains.com/issue/KT-71508) JAVA\_CLASS\_INHERITS\_KT\_PRIVATE\_CLASS isn't reported when java class is inherited from an effectively private class - [`KT-72177`](https://youtrack.jetbrains.com/issue/KT-72177) K2: Argument type mismatch when using star projection - [`KT-72245`](https://youtrack.jetbrains.com/issue/KT-72245) K2: When Java source roots are passed by file, fully qualified deep packages are unresolved - [`KT-63923`](https://youtrack.jetbrains.com/issue/KT-63923) Confusing error messages for TYPE\_MISMATCH from inference - [`KT-57708`](https://youtrack.jetbrains.com/issue/KT-57708) Unclear TYPE\_MISMATCH messages in certain situations with generics - [`KT-72178`](https://youtrack.jetbrains.com/issue/KT-72178) K2: "Unexpected FirPlaceholderProjectionImpl" exception when using "\_" as key type in EnumMap - [`KT-62455`](https://youtrack.jetbrains.com/issue/KT-62455) "NullPointerException" with 'multi-field value class' - [`KT-72302`](https://youtrack.jetbrains.com/issue/KT-72302) K2: no error on type operator in annotation parameter default value - [`KT-72212`](https://youtrack.jetbrains.com/issue/KT-72212) \[Scripting] Guava dependency is not packaged correctly - [`KT-71662`](https://youtrack.jetbrains.com/issue/KT-71662) PCLA: a type variable is not fixed on demand to a type containing a not-fixed type variable - [`KT-72229`](https://youtrack.jetbrains.com/issue/KT-72229) K2: Change LV of ProhibitConstructorAndSupertypeOnTypealiasWithTypeProjection to 2.2 - [`KT-70256`](https://youtrack.jetbrains.com/issue/KT-70256) K2: Check for `MISSING_BUILT_IN_DECLARATION` not only for JVM but for all platforms - [`KT-72173`](https://youtrack.jetbrains.com/issue/KT-72173) K2: simple object names from root package are resolved without imports in non-root packages when used as values - [`KT-71480`](https://youtrack.jetbrains.com/issue/KT-71480) JAVA\_CLASS\_INHERITS\_KT\_PRIVATE\_CLASS isn't reported while java object isn't created - [`KT-60034`](https://youtrack.jetbrains.com/issue/KT-60034) K2: Introduced NO\_GET\_METHOD - [`KT-72199`](https://youtrack.jetbrains.com/issue/KT-72199) K1: Match the shape of references to synthetic Java properties to the shape of their getters - [`KT-15672`](https://youtrack.jetbrains.com/issue/KT-15672) Improve diagnostics for accessing Enum companion object from enum constructor - [`KT-71321`](https://youtrack.jetbrains.com/issue/KT-71321) K2: ClassCastException caused by missed type mismatch when passing a method reference - [`KT-72041`](https://youtrack.jetbrains.com/issue/KT-72041) Extra checkers: false-positive unused parameter warnings on implicit lambda parameters - [`KT-71959`](https://youtrack.jetbrains.com/issue/KT-71959) NO\_VALUE\_FOR\_PARAMETER should use actual lambda parameter name - [`KT-69985`](https://youtrack.jetbrains.com/issue/KT-69985) K2: simple classifier names from root package are resolved without imports in non-root packages - [`KT-70139`](https://youtrack.jetbrains.com/issue/KT-70139) Remove dependencies of debugger on K1 and old JVM backend - [`KT-72142`](https://youtrack.jetbrains.com/issue/KT-72142) PSI: unrelated enums are treated as equivalent - [`KT-57358`](https://youtrack.jetbrains.com/issue/KT-57358) False positive "Const 'val' initializer should be a constant value" caused by equality with literals - [`KT-71753`](https://youtrack.jetbrains.com/issue/KT-71753) PCLA: false-negative operator ambiguity error on fixing a type variable on demand for an operator assignment - [`KT-70844`](https://youtrack.jetbrains.com/issue/KT-70844) K2 IDE: deprecated marker shouldn't highlight not deprecated type argument - [`KT-70854`](https://youtrack.jetbrains.com/issue/KT-70854) K2 IDE: annotation on delegation causes illegal argument exception - [`KT-56901`](https://youtrack.jetbrains.com/issue/KT-56901) NI: Missing error on passing star-projection to reified type argument - [`KT-70856`](https://youtrack.jetbrains.com/issue/KT-70856) K2: IllegalStateException: Non-empty unresolved argument list - [`KT-71897`](https://youtrack.jetbrains.com/issue/KT-71897) K2: Don't erase in projections in SAM conversion if -Xsam-conversion=class like in K1 - [`KT-66464`](https://youtrack.jetbrains.com/issue/KT-66464) Introduce `isInlineable` parameter for `FunctionTypeKind` - [`KT-71590`](https://youtrack.jetbrains.com/issue/KT-71590) K2: false alarm from `UselessCallOnNotNullChecker` - [`KT-71919`](https://youtrack.jetbrains.com/issue/KT-71919) Wrapped ProcessCanceledException in GenerationState#loadClassBuilderInterceptors - [`KT-70922`](https://youtrack.jetbrains.com/issue/KT-70922) PSI for KtPropertyAccessor is inconsistent with KtNamedFunction - [`KT-28598`](https://youtrack.jetbrains.com/issue/KT-28598) Type is inferred incorrectly to Any on a deep generic type with out projection - [`KT-71490`](https://youtrack.jetbrains.com/issue/KT-71490) K2: missing REDUNDANT\_ELSE\_IN\_WHEN - [`KT-36107`](https://youtrack.jetbrains.com/issue/KT-36107) Remove deprecated mod operator convention - [`KT-71166`](https://youtrack.jetbrains.com/issue/KT-71166) Generic synthetic property is unresolved when parameterized with Unit - [`KT-71738`](https://youtrack.jetbrains.com/issue/KT-71738) K2: False negative REDECLARATION inside object expression - [`KT-59908`](https://youtrack.jetbrains.com/issue/KT-59908) K2: Disappeared RECURSIVE\_TYPEALIAS\_EXPANSION - [`KT-69937`](https://youtrack.jetbrains.com/issue/KT-69937) Define & enforce user-friendly terminology for extended checkers - [`KT-68834`](https://youtrack.jetbrains.com/issue/KT-68834) Parentheses don't influence calls of any convention operators (except invoke operator) after safe navigation operator - [`KT-58437`](https://youtrack.jetbrains.com/issue/KT-58437) K2: Do not use descriptors in KonanSymbols - [`KT-18563`](https://youtrack.jetbrains.com/issue/KT-18563) Do not generate inline reified functions as private in bytecode ##### Compose compiler - [`b/397855145`](https://issuetracker.google.com/issues/397855145) Fix "Unknown file" error in target annotation inference - [`b/377499888`](https://issuetracker.google.com/issues/377499888) Allow restarting overridden functions in a final class - [`b/390151896`](https://issuetracker.google.com/issues/390151896) Fix default arguments with varargs in `@Composable` functions - [`b/388030459`](https://issuetracker.google.com/issues/388030459) Kotlin compiler backend exception when lambda with anonymous object is memoized - [`b/310004740`](https://issuetracker.google.com/issues/310004740) Check vararg parameter length in skipping logic - [`b/393400768`](https://issuetracker.google.com/issues/393400768) Use -1 for `.changed` call if nullable enum parameter is `null` - [`b/388505454`](https://issuetracker.google.com/issues/388505454) Change order of $changed bits with context parameters - [`b/165812010`](https://issuetracker.google.com/issues/165812010) Support default values in open `@Composable` functions (K2 only) - [`b/285336821`](https://issuetracker.google.com/issues/285336821) Use stability of parent class in stability inference - [`b/353744956`](https://issuetracker.google.com/issues/353744956) Fix context receiver/parameter handling in Compose - [`b/195200551`](https://issuetracker.google.com/issues/195200551) Call `Enum#ordinal` on enum values passed to Composer#changed - [`b/378697545`](https://issuetracker.google.com/issues/378697545) Avoid using ComposableSingletons inside public inline functions - [`b/376148043`](https://issuetracker.google.com/issues/376148043) Use remember function source key for intrinsic remember - [`b/345204571`](https://issuetracker.google.com/issues/345204571) Remove IR offsets for conditions generated by Compose compiler - [`b/376058538`](https://issuetracker.google.com/issues/376058538) Fix stack overflow when inferring stability of indirect generic loop - [`b/339322843`](https://issuetracker.google.com/issues/339322843) Transform `@Composable` property delegate references - [`CMP-7571`](https://youtrack.jetbrains.com/issue/CMP-7571) 1.8.0-alpha03 incompatible with Compose based on k1 ##### IDE - [`KT-59445`](https://youtrack.jetbrains.com/issue/KT-59445) Recursion detected on input: JavaAnnotationImpl ##### IR. Actualizer - [`KT-68830`](https://youtrack.jetbrains.com/issue/KT-68830) Compiler crash on missing actual class - [`KT-71809`](https://youtrack.jetbrains.com/issue/KT-71809) Kotlin-to-Java direct actualization: the property isn't actualized by overridden getter - [`KT-71817`](https://youtrack.jetbrains.com/issue/KT-71817) Actualization of static members is broken for non-JVM platforms ##### IR. Inlining ##### Fixes - [`KT-69681`](https://youtrack.jetbrains.com/issue/KT-69681) IR: Report warnings on exposure of private types in non-private inline functions - [`KT-72776`](https://youtrack.jetbrains.com/issue/KT-72776) \[JS] Add lowerings around inlining of private functions to the common prefix at the 1st phase of compilation - [`KT-72775`](https://youtrack.jetbrains.com/issue/KT-72775) \[JS] Add lowerings up to "cache private inline functions" to the common prefix at the 1st phase of compilation - [`KT-72440`](https://youtrack.jetbrains.com/issue/KT-72440) \[Native] Add lowerings around inlining of private functions to the common prefix at the 1st phase of compilation - [`KT-72439`](https://youtrack.jetbrains.com/issue/KT-72439) \[Native] Add lowerings up to "cache private inline functions" to the common prefix at the 1st phase of compilation - [`KT-74039`](https://youtrack.jetbrains.com/issue/KT-74039) IR proto: Rename properties of IrInlinedFunctionBlock - [`KT-73987`](https://youtrack.jetbrains.com/issue/KT-73987) Cherry-pick the fix for KT-73482 to 2.1.20-Beta1 - [`KT-73475`](https://youtrack.jetbrains.com/issue/KT-73475) Fix validation errors for `sharedBox...` methods - [`KT-73588`](https://youtrack.jetbrains.com/issue/KT-73588) Support serialization/deserialization of IrReturnableBlock and IrInlinedFunctionBlock - [`KT-69009`](https://youtrack.jetbrains.com/issue/KT-69009) Merge -Xverify-ir-visibility-after-inlining and -Xverify-ir-visibility CLI flags - [`KT-72915`](https://youtrack.jetbrains.com/issue/KT-72915) Use `LoweringContext` instead of `CommonBackendContext` for the first stage of compilation - [`KT-73101`](https://youtrack.jetbrains.com/issue/KT-73101) Try to unbound `JsIntrinsic` from `JsIrBackendContext` - [`KT-73110`](https://youtrack.jetbrains.com/issue/KT-73110) Unbind JS version of `Symbols` from `SymbolTable` - [`KT-73108`](https://youtrack.jetbrains.com/issue/KT-73108) Unbind JS version of `Symbols` from context - [`KT-71864`](https://youtrack.jetbrains.com/issue/KT-71864) \[JS] Run IrValidator as the first lowering in 1st compilation phase - [`KT-73103`](https://youtrack.jetbrains.com/issue/KT-73103) Switch `InlineCallableReferenceToLambdaPhase` to use `LoweringContext` - [`KT-73098`](https://youtrack.jetbrains.com/issue/KT-73098) Use `LoweringContext` for `NativeInlineFunctionResolver` - [`KT-73096`](https://youtrack.jetbrains.com/issue/KT-73096) Change `LateinitLowering` to use `LoweringContext` instead of `CommonBackendContext` - [`KT-71141`](https://youtrack.jetbrains.com/issue/KT-71141) Merge lateinit-related lowerings - [`KT-73099`](https://youtrack.jetbrains.com/issue/KT-73099) Use `BackendContext` for the `JsCodeOutliningLowering` - [`KT-73097`](https://youtrack.jetbrains.com/issue/KT-73097) Try to use `BackendContext` for `LocalDeclarationsLowering` - [`KT-73035`](https://youtrack.jetbrains.com/issue/KT-73035) Remove field of type SymbolTable from Symbols - [`KT-72919`](https://youtrack.jetbrains.com/issue/KT-72919) Move `JsCommonBackendContext.coroutineSymbols` into `Symbols` - [`KT-72916`](https://youtrack.jetbrains.com/issue/KT-72916) Drop `symbolTable` reference from `BuiltinSymbolsBase` - [`KT-72912`](https://youtrack.jetbrains.com/issue/KT-72912) Rewrite `andAllOuterClasses` located in `FunctionInlining` - [`KT-72910`](https://youtrack.jetbrains.com/issue/KT-72910) Move `isSideEffectFree` to the `Symbols` - [`KT-72907`](https://youtrack.jetbrains.com/issue/KT-72907) Extract `SharedVariablesManager` from `BackendContext` - [`KT-72905`](https://youtrack.jetbrains.com/issue/KT-72905) Unbind `KonanSharedVariablesManager` from `KonanBackendContext` - [`KT-70961`](https://youtrack.jetbrains.com/issue/KT-70961) \[K/N] Test IR inliner on 1st stage with box tests - [`KT-72884`](https://youtrack.jetbrains.com/issue/KT-72884) Internal error in body lowering: IllegalStateException: Can't inline given reference, it should've been lowered - [`KT-72920`](https://youtrack.jetbrains.com/issue/KT-72920) Drop `context` parameter from `JsCommonCoroutineSymbols` - [`KT-72906`](https://youtrack.jetbrains.com/issue/KT-72906) Unbind `JsSharedVariablesManager` from `JsIrBackendContext` - [`KT-67298`](https://youtrack.jetbrains.com/issue/KT-67298) Write tests for deserialization/serialization of unbound IR - [`KT-72521`](https://youtrack.jetbrains.com/issue/KT-72521) Kotlin/Native: java.lang.AssertionError: kfun:androidx.compose.runtime#access$\<get-androidx\_compose\_runtime\_ProvidedValue$stable>$p$tComposerKt(){}kotlin.Int - [`KT-67220`](https://youtrack.jetbrains.com/issue/KT-67220) Drop caching of deserialized/lowered inline functions - [`KT-72623`](https://youtrack.jetbrains.com/issue/KT-72623) Don't generate synthetic accessors in files other than the one being lowered - [`KT-71859`](https://youtrack.jetbrains.com/issue/KT-71859) \[K/N] Run IrValidator as the first lowering in 1st compilation phase - [`KT-67292`](https://youtrack.jetbrains.com/issue/KT-67292) Handling assertions before the IR inliner - [`KT-70423`](https://youtrack.jetbrains.com/issue/KT-70423) KLIB: SyntheticAccessorLowering - generate static factory functions instead of synthetic constructors - [`KT-69765`](https://youtrack.jetbrains.com/issue/KT-69765) Add language feature to enable IR inliner in K2 1st phase ##### IR. Interpreter - [`KT-72356`](https://youtrack.jetbrains.com/issue/KT-72356) K2 Native: IllegalStateException when annotation has the same source range as a constant in another file - [`KT-71903`](https://youtrack.jetbrains.com/issue/KT-71903) \[K/N] Find a way to set up a synchronization point for the IR interpreter - [`KT-66450`](https://youtrack.jetbrains.com/issue/KT-66450) IR interpreter can't handle entries of lowered enums - [`KT-71971`](https://youtrack.jetbrains.com/issue/KT-71971) K2 evaluator error on casting object of value type ##### IR. Tree ##### Performance Improvements - [`KT-74496`](https://youtrack.jetbrains.com/issue/KT-74496) 8% performance regression in lowerings - [`KT-72211`](https://youtrack.jetbrains.com/issue/KT-72211) Refactor IrValidator to speed up ##### Fixes - [`KT-73553`](https://youtrack.jetbrains.com/issue/KT-73553) \[Native] Create testrunners for serialization tests - [`KT-73224`](https://youtrack.jetbrains.com/issue/KT-73224) Migrate `compiler.ir.interpreter` to new IR parameter API - [`KT-73179`](https://youtrack.jetbrains.com/issue/KT-73179) Drop IrAttributeContainer - [`KT-67545`](https://youtrack.jetbrains.com/issue/KT-67545) Autogenerate DeepCopyIrTreeWithSymbols - [`KT-73222`](https://youtrack.jetbrains.com/issue/KT-73222) Migrate `compiler.ir.inline` to new IR parameter API - [`KT-72735`](https://youtrack.jetbrains.com/issue/KT-72735) Add new IR nodes for callable references - [`KT-73248`](https://youtrack.jetbrains.com/issue/KT-73248) Merge `FileValidator` and `CheckIrElementVisitor` into `IrValidator` - [`KT-73221`](https://youtrack.jetbrains.com/issue/KT-73221) Migrate `compiler.ir.actualization` to new IR parameter API - [`KT-73219`](https://youtrack.jetbrains.com/issue/KT-73219) Migrate `compiler.tests-compiler-utils` to new IR parameter API - [`KT-73194`](https://youtrack.jetbrains.com/issue/KT-73194) \[IR] Consider moving platform-independent funs from SymbolLookupUtils to SymbolFinder - [`KT-73218`](https://youtrack.jetbrains.com/issue/KT-73218) Migrate `compiler.tests-common-new` to new IR parameter API - [`KT-73227`](https://youtrack.jetbrains.com/issue/KT-73227) Migrate `js:js.tests` to new IR parameter API - [`KT-73258`](https://youtrack.jetbrains.com/issue/KT-73258) \[IR] Separate new lookup functionality from IrBuiltins - [`KT-73063`](https://youtrack.jetbrains.com/issue/KT-73063) \[JS]\[Wasm] Simplify ExpectDeclarationsRemoveLowering - [`KT-73350`](https://youtrack.jetbrains.com/issue/KT-73350) Migrate `:native.tests:klib-ir-inliner` to new IR parameter API - [`KT-68992`](https://youtrack.jetbrains.com/issue/KT-68992) Fix IR serializer to handle IR with unbound symbols - [`KT-64866`](https://youtrack.jetbrains.com/issue/KT-64866) Support deserializing and serializing unbound IR - [`KT-72619`](https://youtrack.jetbrains.com/issue/KT-72619) \[IR] Steer checks for vararg types with new test directive - [`KT-69498`](https://youtrack.jetbrains.com/issue/KT-69498) \[IR] Merge two `IrTypeUtils.kt` sources - [`KT-72376`](https://youtrack.jetbrains.com/issue/KT-72376) Disable vararg types checking in org.jetbrains.kotlin.fir.pipeline.ConvertToIrKt#runMandatoryIrValidation - [`KT-69454`](https://youtrack.jetbrains.com/issue/KT-69454) \[IR] Check vararg types in IrValidator - [`KT-68314`](https://youtrack.jetbrains.com/issue/KT-68314) Remove IrBuiltins from IrModule - [`KT-71944`](https://youtrack.jetbrains.com/issue/KT-71944) Move IR lowering phase descriptions to kdoc - [`KT-71826`](https://youtrack.jetbrains.com/issue/KT-71826) stdlib fails to compile with `-Xserialize-ir=all` ##### JavaScript ##### Performance Improvements - [`KT-16379`](https://youtrack.jetbrains.com/issue/KT-16379) KotlinJs - ArrayList get is now slow - [`KT-71199`](https://youtrack.jetbrains.com/issue/KT-71199) K/JS: charSequenceGet intrinsic should bypass Char range checks - [`KT-73759`](https://youtrack.jetbrains.com/issue/KT-73759) KJS: do not fillArrayVal if using an Array init function - [`KT-72180`](https://youtrack.jetbrains.com/issue/KT-72180) Fix problems with memory spikes during JS Codegen/Box tests ##### Fixes - [`KT-70987`](https://youtrack.jetbrains.com/issue/KT-70987) KJS: `@JsExport`: NullPointerException with private data class - [`KT-75606`](https://youtrack.jetbrains.com/issue/KT-75606) KJS: java.lang.AssertionError: Different declarations with the same signatures were detected - [`KT-58797`](https://youtrack.jetbrains.com/issue/KT-58797) Optimize the code generated for objects on JS and Wasm backends - [`KT-48468`](https://youtrack.jetbrains.com/issue/KT-48468) KJS / IR: "StackOverflowError" when long and complex `js` used - [`KT-72437`](https://youtrack.jetbrains.com/issue/KT-72437) KJS. Invalid `copy` method for inherited JSO with type parameters - [`KT-72974`](https://youtrack.jetbrains.com/issue/KT-72974) KJS / ESModules: EagerInitialization annotation has no effect on unused properties - [`KT-71788`](https://youtrack.jetbrains.com/issue/KT-71788) KJS: NPE when use `@JsExport` with `@JsPlainObject` - [`KT-43567`](https://youtrack.jetbrains.com/issue/KT-43567) KJS: toString() method and string interpolation of variable produce different code - [`KT-70778`](https://youtrack.jetbrains.com/issue/KT-70778) Kotlin Js companion is undefined in production build - [`KT-73130`](https://youtrack.jetbrains.com/issue/KT-73130) KJS: Missed `break` for do/while in generated JS code - [`KT-68067`](https://youtrack.jetbrains.com/issue/KT-68067) KJS: Overriding methods with default parameters doesn't work - [`KT-71656`](https://youtrack.jetbrains.com/issue/KT-71656) K2 JS: "IllegalStateException: Class has no primary constructor: kotlin.ULong" - [`KT-72598`](https://youtrack.jetbrains.com/issue/KT-72598) KJS: Nested `@JsPlainObject` does not work - [`KT-70078`](https://youtrack.jetbrains.com/issue/KT-70078) `@JsPlainObject` compiles broken code when inlining suspend function - [`KT-68904`](https://youtrack.jetbrains.com/issue/KT-68904) `@JsPlainObject` breaks when inside a file with `@file`:JsQualifier - [`KT-74067`](https://youtrack.jetbrains.com/issue/KT-74067) KJS: ES class constructor is generated with 'return this' - [`KT-72883`](https://youtrack.jetbrains.com/issue/KT-72883) \[JS] AbstractSuspendFunctionsLowering crashes on private top level suspend fun - [`KT-70533`](https://youtrack.jetbrains.com/issue/KT-70533) KJS: changed string concatenation behavior in 2.0 - [`KT-71949`](https://youtrack.jetbrains.com/issue/KT-71949) K/JS: investigate test failures in MPP codegen tests with friend dependencies - [`KT-71857`](https://youtrack.jetbrains.com/issue/KT-71857) \[JS] Add new step to codegen tests for IR inliner invocation - [`KT-14013`](https://youtrack.jetbrains.com/issue/KT-14013) JS toString produces different result for nullable/non-nullable ref to the same array - [`KT-70803`](https://youtrack.jetbrains.com/issue/KT-70803) Investigate generating call with invalid argument count in Js Backend - [`KT-72200`](https://youtrack.jetbrains.com/issue/KT-72200) Remove legacy JS test executors - [`KT-68332`](https://youtrack.jetbrains.com/issue/KT-68332) Remove legacy Nashorn script engine - [`KT-39337`](https://youtrack.jetbrains.com/issue/KT-39337) KJS: remove LabeledBlockToDoWhileTransformation and related things - [`KT-72732`](https://youtrack.jetbrains.com/issue/KT-72732) KJS / ES6: "SyntaxError: 'super' keyword unexpected here" with enabled `-Xir-generate-inline-anonymous-functions` and disabled arrow functions - [`KT-71821`](https://youtrack.jetbrains.com/issue/KT-71821) K/JS tests are failing with coroutines flow and turbine on timeout - [`KT-70227`](https://youtrack.jetbrains.com/issue/KT-70227) Remove JS from the `org.jetbrains.kotlin.test.TargetBackend` enum - [`KT-71855`](https://youtrack.jetbrains.com/issue/KT-71855) ES6ConstructorLowering sets extensionReceiver to a function without extension receiver - [`KT-70226`](https://youtrack.jetbrains.com/issue/KT-70226) Delete JS tests that were only run with the legacy JS backend ##### KMM Plugin - [`KT-66458`](https://youtrack.jetbrains.com/issue/KT-66458) KMM Wizards: Get rid of deprecated 'kotlinOptions' ##### Klibs ##### Fixes - [`KT-70146`](https://youtrack.jetbrains.com/issue/KT-70146) \[KLIB Resolve] Don't fail on nonexistent transitive dependency - [`KT-75393`](https://youtrack.jetbrains.com/issue/KT-75393) Non-JVM artifacts from Kotlin 2.1.20-RC fail on 2.1.x releases due to IMPLICIT\_ARGUMENT - [`KT-74045`](https://youtrack.jetbrains.com/issue/KT-74045) Context parameters: conflicting signatures for properties with/without context on the non-JVM backends - [`KT-74050`](https://youtrack.jetbrains.com/issue/KT-74050) Kotlin 2.1.0 with K1 throws a signature mismatch of Ir and Descriptor for Composable lambda - [`KT-73589`](https://youtrack.jetbrains.com/issue/KT-73589) Design & implement signatures for context parameters - [`KT-73721`](https://youtrack.jetbrains.com/issue/KT-73721) NativeLibraryAbiReaderWithManifestTest - move to Common BE tests - [`KT-73855`](https://youtrack.jetbrains.com/issue/KT-73855) \[Klibs] Changing function body causes change to header klib - [`KT-73474`](https://youtrack.jetbrains.com/issue/KT-73474) Create `NonLinkingIrInlineFunctionDeserializer` directly inside inline function resolver - [`KT-72627`](https://youtrack.jetbrains.com/issue/KT-72627) IrInstanceInitializer is always deserialized having kotlin/Unit type - [`KT-71500`](https://youtrack.jetbrains.com/issue/KT-71500) Improve "incompatible ABI version" error message - [`KT-72965`](https://youtrack.jetbrains.com/issue/KT-72965) Ignore subclassOptInRequired constructor warning - [`KT-69309`](https://youtrack.jetbrains.com/issue/KT-69309) Separate pure KLIB tests from Kotlin/Native tests - [`KT-71917`](https://youtrack.jetbrains.com/issue/KT-71917) \[JS] Make it possible to run IR lowerings before serializing to KLIBs - [`KT-67474`](https://youtrack.jetbrains.com/issue/KT-67474) K2: Missing `@ExtensionFunctionType` in metadata in KLIBs - [`KT-68756`](https://youtrack.jetbrains.com/issue/KT-68756) \[K/N] Make it possible to run IR lowerings before serializing to KLIBs - [`KT-72333`](https://youtrack.jetbrains.com/issue/KT-72333) Ensure KLIBs with old local signatures (< 2.1.20) are mutually compatible with KLIBs with new local signatures (>= 2.1.20) - [`KT-71633`](https://youtrack.jetbrains.com/issue/KT-71633) \[2.1.0] Suspicious "Argument type mismatch" error - [`KT-71333`](https://youtrack.jetbrains.com/issue/KT-71333) KLIB cross-compilation: Add additional tests ##### Libraries ##### New Features - [`KT-72480`](https://youtrack.jetbrains.com/issue/KT-72480) Move Instant and Clock from kotlinx-datetime to stdlib - [`KT-31880`](https://youtrack.jetbrains.com/issue/KT-31880) UUID functionality to fix Java bugs as well as extend it - [`KT-54606`](https://youtrack.jetbrains.com/issue/KT-54606) Print program name in Kotlin/Native executables ##### Performance Improvements - [`KT-72492`](https://youtrack.jetbrains.com/issue/KT-72492) Improve String.toFloatOrNull performance - [`KT-70695`](https://youtrack.jetbrains.com/issue/KT-70695) Float/Double.isFinite can be optimized ##### Fixes - [`KT-73654`](https://youtrack.jetbrains.com/issue/KT-73654) Remove org.w3c packages from stdlib documentation - [`KT-62423`](https://youtrack.jetbrains.com/issue/KT-62423) Consider providing Common atomic types - [`KT-28492`](https://youtrack.jetbrains.com/issue/KT-28492) Merge sources when building kotlin-osgi-bundle - [`KT-74173`](https://youtrack.jetbrains.com/issue/KT-74173) The sample code of `lazy` on stdlib can not run on playground due to "samples" package import - [`KT-73695`](https://youtrack.jetbrains.com/issue/KT-73695) PublishedApi KDoc's link to inline functions page is not rendered properly - [`KT-73817`](https://youtrack.jetbrains.com/issue/KT-73817) Part 1. Moving Atomics to kotlin.concurrent.atomics: bootstrap updates - [`KT-73743`](https://youtrack.jetbrains.com/issue/KT-73743) UninitializedPropertyAccessException on AtomicReference initialization - [`KT-73820`](https://youtrack.jetbrains.com/issue/KT-73820) Part 2. Moving Atomics to kotlin.concurrent.atomics: move the API to the new package - [`KT-73816`](https://youtrack.jetbrains.com/issue/KT-73816) Moving common Atomics to kotlin.concurrent.atomics package - [`KT-73747`](https://youtrack.jetbrains.com/issue/KT-73747) AtomicBoolean.asJavaAtomic() and AtomicBoolean.asKotlinAtomic() have unnecessary type parameter - [`KT-74641`](https://youtrack.jetbrains.com/issue/KT-74641) k.t.Clock: bypass thread state validation for std::chrono::system\_clock::now() - [`KT-74676`](https://youtrack.jetbrains.com/issue/KT-74676) Wasm: common atomic API actualizations are annotated with wrong experimental annotation - [`KT-74600`](https://youtrack.jetbrains.com/issue/KT-74600) Common atomic types could be used without explicit opt-in - [`KT-73291`](https://youtrack.jetbrains.com/issue/KT-73291) Uuid.random() requires security context in WasmJs - [`KT-69575`](https://youtrack.jetbrains.com/issue/KT-69575) kotlin.uuid.Uuid is not Comparable - [`KT-54859`](https://youtrack.jetbrains.com/issue/KT-54859) `kotlin.repeat` should document behavior in the case of negative arguments - [`KT-74294`](https://youtrack.jetbrains.com/issue/KT-74294) Make the Uuid.parse function able to parse multiple formats - [`KT-74279`](https://youtrack.jetbrains.com/issue/KT-74279) Introduce Uuid.parseHexDash() and toHexDashString() - [`KT-74272`](https://youtrack.jetbrains.com/issue/KT-74272) Introduce Uuid.fromUByteArray and toUByteArray - [`KT-74314`](https://youtrack.jetbrains.com/issue/KT-74314) Reduce bitwise operations on Longs in Uuid implementation - [`KT-73391`](https://youtrack.jetbrains.com/issue/KT-73391) Provide samples for common atomics API - [`KT-73890`](https://youtrack.jetbrains.com/issue/KT-73890) Add kotlin-metadata-jvm to .zip compiler distribution - [`KT-71099`](https://youtrack.jetbrains.com/issue/KT-71099) Mention that selector for maxBy/minBy family is not invoked for 1-element collections - [`KT-71762`](https://youtrack.jetbrains.com/issue/KT-71762) ReplaceWith properties kdoc is rendered with extra spaces - [`KT-73740`](https://youtrack.jetbrains.com/issue/KT-73740) Unresolved reference 'AtomicBoolean' in 2.1.20-Beta1 - [`KT-73762`](https://youtrack.jetbrains.com/issue/KT-73762) Warn about `@Transient` being not sound to use with non-nullable types - [`KT-50395`](https://youtrack.jetbrains.com/issue/KT-50395) Stdlib documentation for StringBuilder.removeRange is unclear - [`KT-36863`](https://youtrack.jetbrains.com/issue/KT-36863) Specify which element is returned from max/min functions if multiple elements are equal to min/max - [`KT-71606`](https://youtrack.jetbrains.com/issue/KT-71606) Provide Atomic and AtomicArray builtins in a bootstrap compiler - [`KT-73064`](https://youtrack.jetbrains.com/issue/KT-73064) Samplification of the Optional extensions documentation - [`KT-69545`](https://youtrack.jetbrains.com/issue/KT-69545) Kotlin/Native: Deprecate API marked with FreezingIsDeprecated to error - [`KT-61184`](https://youtrack.jetbrains.com/issue/KT-61184) Drop redundant `@Suppress` from some classes in stdlib. After stdlib migration to K2 - [`KT-72380`](https://youtrack.jetbrains.com/issue/KT-72380) Incorrect Duration parsing with extra leading zeros in components and multiple signs - [`KT-72278`](https://youtrack.jetbrains.com/issue/KT-72278) Clean up redundant stdlib code for Kotlin 2.1 - [`KT-49026`](https://youtrack.jetbrains.com/issue/KT-49026) Add Regex.replace/replaceFirst samples ##### Native - [`KT-75807`](https://youtrack.jetbrains.com/issue/KT-75807) CMP caching fails for iOS with Kotlin 2.1.20-RC2 - [`KT-70202`](https://youtrack.jetbrains.com/issue/KT-70202) Xcode 16 Linker fails with SIGBUS - [`KT-74377`](https://youtrack.jetbrains.com/issue/KT-74377) Kotlin Native: release executable crashes with error 139 - [`KT-73559`](https://youtrack.jetbrains.com/issue/KT-73559) K/Native: AndroidNativeArm64 linking fails starting from Kotlin 2.1.0 - [`KT-71976`](https://youtrack.jetbrains.com/issue/KT-71976) \[Native]\[KLIB Resolve]: compilation error if libraries have the same `unique_name` and the strategy is allow-all-with-warning or allow-first-with-warning ##### Native. Build Infrastructure - [`KT-72063`](https://youtrack.jetbrains.com/issue/KT-72063) Jars using `native` in their name are incompatible with JPMS - [`KT-70990`](https://youtrack.jetbrains.com/issue/KT-70990) Kotlin/Native: fix stdlib building task - [`KT-71820`](https://youtrack.jetbrains.com/issue/KT-71820) Update the coroutines version used in kotlin-native build infrastructure - [`KT-71261`](https://youtrack.jetbrains.com/issue/KT-71261) Kotlin/Native: enable gradle caching for runtime building tasks ##### Native. C and ObjC Import - [`KT-74043`](https://youtrack.jetbrains.com/issue/KT-74043) Drop obsolete parts of Skia (aka ad-hoc C++) import ##### Native. ObjC Export - [`KT-72673`](https://youtrack.jetbrains.com/issue/KT-72673) Native: objc2kotlin "virtual" bridges have no debug info ##### Native. Swift Export - [`KT-73623`](https://youtrack.jetbrains.com/issue/KT-73623) Swift Export: Interfaces: Add protocol printing - [`KT-72703`](https://youtrack.jetbrains.com/issue/KT-72703) Translate valueOf into static func - [`KT-72102`](https://youtrack.jetbrains.com/issue/KT-72102) Create test infra for swift export in IDE - [`KT-72096`](https://youtrack.jetbrains.com/issue/KT-72096) Create module for swift-export-in-ide - [`KT-71898`](https://youtrack.jetbrains.com/issue/KT-71898) Swift Export: support List in overrides ##### Test Infrastructure - [`KT-67281`](https://youtrack.jetbrains.com/issue/KT-67281) \[Tests] Introduce an obligatory diagnostics test directive to choose a test runner - [`KT-62472`](https://youtrack.jetbrains.com/issue/KT-62472) Remove suppressions of warnings which are presented only in K2 but not in K1 compiler in Kotlin project - [`KT-72094`](https://youtrack.jetbrains.com/issue/KT-72094) K2: switch DEBUG\_INFO\_EXPRESSION\_TYPE to regular FIR infrastructure for type rendering ##### Tools. CLI - [`KT-73319`](https://youtrack.jetbrains.com/issue/KT-73319) Migrate the main JVM CLI pipeline to the phased structure - [`KT-74099`](https://youtrack.jetbrains.com/issue/KT-74099) Add CLI argument to enable nested type aliases feature - [`KT-69384`](https://youtrack.jetbrains.com/issue/KT-69384) Add a way to force colored compiler diagnostic output - [`KT-73320`](https://youtrack.jetbrains.com/issue/KT-73320) Migrate the main JS CLI pipeline to the phased structure - [`KT-73922`](https://youtrack.jetbrains.com/issue/KT-73922) `CompileEnvironmentUtil.writeToJar` is unbuffered - [`KT-73967`](https://youtrack.jetbrains.com/issue/KT-73967) JDK 25: "IllegalArgumentException: 25-ea" with EA builds - [`KT-72927`](https://youtrack.jetbrains.com/issue/KT-72927) Combine `FlexiblePhaseConfig` and `PhaseConfig` - [`KT-73244`](https://youtrack.jetbrains.com/issue/KT-73244) `:compiler:cli-base` depends on `:compiler:ir.serialization.jvm` to read a single property - [`KT-70179`](https://youtrack.jetbrains.com/issue/KT-70179) K2: Building a file with kotlin-test-junit without junit does not include annotations - [`KT-41756`](https://youtrack.jetbrains.com/issue/KT-41756) Sanitize stack trace in 'kotlin' runner CLI script ##### Tools. Commonizer - [`KT-74623`](https://youtrack.jetbrains.com/issue/KT-74623) Drop metadata version check from KLIB commonizer ##### Tools. Compiler Plugin API - [`KT-71212`](https://youtrack.jetbrains.com/issue/KT-71212) Allow compiler plugins to write custom data to declarations metadata ##### Tools. Compiler Plugins ##### New Features - [`KT-53563`](https://youtrack.jetbrains.com/issue/KT-53563) Kotlin Lombok: Support `@SuperBuilder` - [`KT-71547`](https://youtrack.jetbrains.com/issue/KT-71547) Lombok Compiler Plugin Does Not Support `@Builder` on Constructors ##### Fixes - [`KT-73897`](https://youtrack.jetbrains.com/issue/KT-73897) PowerAssert: Implicit argument detection is brittle in a number of cases - [`KT-74315`](https://youtrack.jetbrains.com/issue/KT-74315) Kotlin Lombok: "Unresolved reference" on generating `@Builder` for static inner class where outer class is also using `@Builder` - [`KT-74102`](https://youtrack.jetbrains.com/issue/KT-74102) "Lambda cannot be cast to class kotlin.jvm.functions.Function0" in 2.1.20-Beta1 with Compose - [`KT-75159`](https://youtrack.jetbrains.com/issue/KT-75159) Compose: Missing 'FunctionKeyMeta' annotation on lamdas declared in non-composable function - [`KT-58695`](https://youtrack.jetbrains.com/issue/KT-58695) Lombok Builders's subclassing leads to 'Unresolved reference' - [`KT-73871`](https://youtrack.jetbrains.com/issue/KT-73871) PowerAssert: Comparison via operator overload results in confusing diagram - [`KT-73898`](https://youtrack.jetbrains.com/issue/KT-73898) PowerAssert: Operator calls with multiple receivers incorrectly aligned - [`KT-73870`](https://youtrack.jetbrains.com/issue/KT-73870) PowerAssert: Object should not be displayed - [`KT-73895`](https://youtrack.jetbrains.com/issue/KT-73895) jvm-abi-gen: $serializer class name is written incorrectly to InnerClasses attribute - [`KT-73349`](https://youtrack.jetbrains.com/issue/KT-73349) Migrate power-assert sources to new IR parameter API - [`KT-73366`](https://youtrack.jetbrains.com/issue/KT-73366) Migrate parcelize sources to new IR parameter API - [`KT-72824`](https://youtrack.jetbrains.com/issue/KT-72824) Kotlin power-assert plugin StringIndexOutOfBoundsException ##### Tools. Compiler plugins. Serialization - [`KT-71072`](https://youtrack.jetbrains.com/issue/KT-71072) KxSerialization: KeepGeneratedSerializer and sealed class in Map causes initialization-error - [`KT-73830`](https://youtrack.jetbrains.com/issue/KT-73830) \[Kotlin/Wasm] CompileError: WebAssembly.Module(): Compiling function [#&#8203;10198](https://github.com/JetBrains/kotlin/issues/10198):"kotlinx.serialization.$serializer.serialize" failed ##### Tools. Daemon - [`KT-73311`](https://youtrack.jetbrains.com/issue/KT-73311) "Unable to release compile session, maybe daemon is already down" flakiness - [`KT-70556`](https://youtrack.jetbrains.com/issue/KT-70556) Add support for SourcesChanges.ToBeCalculated - [`KT-72530`](https://youtrack.jetbrains.com/issue/KT-72530) The daemon has terminated unexpectedly on startup attempt [#&#8203;1](https://github.com/JetBrains/kotlin/issues/1) with error code: Unknown - [`KT-72373`](https://youtrack.jetbrains.com/issue/KT-72373) Fix naming for the new daemon symbols added after KT-69929 ##### Tools. Fleet. ObjC Export - [`KT-73237`](https://youtrack.jetbrains.com/issue/KT-73237) ObjCExport: immutable property translated as mutable ##### Tools. Gradle ##### New Features - [`KT-41409`](https://youtrack.jetbrains.com/issue/KT-41409) Gradle: Support binaries.executable for jvm targets - [`KT-58830`](https://youtrack.jetbrains.com/issue/KT-58830) Expose AdhocComponentWithVariants API on KGP generated component - [`KT-72320`](https://youtrack.jetbrains.com/issue/KT-72320) Gradle Plugin Diagnostics Reporter: add emojis to increase visibility ##### Performance Improvements - [`KT-69613`](https://youtrack.jetbrains.com/issue/KT-69613) Remove usages of `getCanonicalPath` and `getCanonicalFile` in plugins code - [`KT-68136`](https://youtrack.jetbrains.com/issue/KT-68136) Gradle: improve classloaders cache eviction ##### Fixes - [`KT-73842`](https://youtrack.jetbrains.com/issue/KT-73842) Gradle: AGP failing tests with "Failed to calculate the value of property 'generalConfigurationMetrics'" using KGP - [`KT-74394`](https://youtrack.jetbrains.com/issue/KT-74394) KGP + isolated projects: "Something has been appended to this collector already" - [`KT-75262`](https://youtrack.jetbrains.com/issue/KT-75262) Gradle test-fixtures plugin apply order breaks the project - [`KT-75277`](https://youtrack.jetbrains.com/issue/KT-75277) FUS statistics: 'java.lang.IllegalStateException: The value for this property cannot be changed any further' exception is thrown during project import - [`KT-75026`](https://youtrack.jetbrains.com/issue/KT-75026) Corrupted NonSynchronizedMetricsContainer in parallel Gradle build - [`KT-74997`](https://youtrack.jetbrains.com/issue/KT-74997) Unexpected KGP warnings about kotlin scripting plugin - [`KT-74322`](https://youtrack.jetbrains.com/issue/KT-74322) Enable source information by default in Compose compiler gradle plugin - [`KT-72337`](https://youtrack.jetbrains.com/issue/KT-72337) kotlin-android-extensions plugin should fail the build on apply - [`KT-72967`](https://youtrack.jetbrains.com/issue/KT-72967) Remove deprecated KotlinPlatformJsPlugin - [`KT-74846`](https://youtrack.jetbrains.com/issue/KT-74846) Gradle Configuration Cache miss on second build with 2.1.20-Beta2 - [`KT-74462`](https://youtrack.jetbrains.com/issue/KT-74462) Flaky Kotlin Gradle Plugin Tests: IsInIdeaEnvironmentValueSource$Inject not found - [`KT-74415`](https://youtrack.jetbrains.com/issue/KT-74415) Make composeCompiler.includeSourceInformation true by default - [`KT-73782`](https://youtrack.jetbrains.com/issue/KT-73782) KGP diagnostics reporter: emojis added to KGP warning/errors are displayed broken on Windows - [`KT-74095`](https://youtrack.jetbrains.com/issue/KT-74095) Make ToolingDiagnosticBuilder internal API - [`KT-74124`](https://youtrack.jetbrains.com/issue/KT-74124) Gradle: error message regression of incompatible Gradle version usage - [`KT-74639`](https://youtrack.jetbrains.com/issue/KT-74639) Executable binaries for JVM test cannot be created unless an additional suffix is set in Groovy - [`KT-73728`](https://youtrack.jetbrains.com/issue/KT-73728) 'generatePomFileForMavenPublication' creates pom with dependencies with 'unspecified' version - [`KT-73974`](https://youtrack.jetbrains.com/issue/KT-73974) Configuration cache when run Xcode tasks without xcode's environment - [`KT-74476`](https://youtrack.jetbrains.com/issue/KT-74476) KGP uses internal Gradle API, DefaultArtifactPublicationSet - [`KT-62273`](https://youtrack.jetbrains.com/issue/KT-62273) Use new FUS plugin in Kotlin - [`KT-72963`](https://youtrack.jetbrains.com/issue/KT-72963) Remove deprecated KotlinPlatformAndroidPlugin - [`KT-74017`](https://youtrack.jetbrains.com/issue/KT-74017) Remove kotlin.androidExtensionsPlugin.enabled flag - [`KT-73749`](https://youtrack.jetbrains.com/issue/KT-73749) KGP diagnostics reporter: emojis are duplicated if a gradle task is executed from the IDEA UI - [`KT-72467`](https://youtrack.jetbrains.com/issue/KT-72467) kotlin.sourceSets extension not added for KotlinBaseApiPlugin.createKotlinAndroidExtension() - [`KT-74143`](https://youtrack.jetbrains.com/issue/KT-74143) Gradle: Add workaround for [gradle/gradle#31881](https://github.com/gradle/gradle/issues/31881) - [`KT-72384`](https://youtrack.jetbrains.com/issue/KT-72384) Run Gradle Integration tests against Gradle 8.11 - [`KT-70150`](https://youtrack.jetbrains.com/issue/KT-70150) Android Kotlin Compile Task has ClassPath Backwards - [`KT-72495`](https://youtrack.jetbrains.com/issue/KT-72495) Warn about kotlin-compiler-embeddable loaded along KGP - [`KT-71549`](https://youtrack.jetbrains.com/issue/KT-71549) K2: NoSuchMethodError: org.jetbrains.kotlin.incremental.storage.ExternalizersKt.saveToFile with dependency locking - [`KT-67277`](https://youtrack.jetbrains.com/issue/KT-67277) Gradle: decommission properties to disable precise task outputs backup - [`KT-73795`](https://youtrack.jetbrains.com/issue/KT-73795) Fix failing checkNodeJsSetup test on Windows - [`KT-72383`](https://youtrack.jetbrains.com/issue/KT-72383) Compatibility with Gradle 8.11 release - [`KT-72394`](https://youtrack.jetbrains.com/issue/KT-72394) ProjectDependency.getDependencyProject() is deprecated in Gradle 8.11 - [`KT-72385`](https://youtrack.jetbrains.com/issue/KT-72385) Compile against Gradle API 8.11 - [`KT-71711`](https://youtrack.jetbrains.com/issue/KT-71711) KGP: Kotlin Stdlib is leaking when KGP is applied in buildSrc - [`KT-73128`](https://youtrack.jetbrains.com/issue/KT-73128) Apply Kotlinlang template for partial HTMLs - [`KT-58858`](https://youtrack.jetbrains.com/issue/KT-58858) Add KDoc documentation for Kotlin Gradle plugin API - [`KT-73076`](https://youtrack.jetbrains.com/issue/KT-73076) Kotlin Gradle Plugin API Reference: adjust settings - [`KT-72651`](https://youtrack.jetbrains.com/issue/KT-72651) Unable to use `target` for KotlinBaseApiPlugin.createKotlin(Jvm/Android)Extension() - [`KT-72303`](https://youtrack.jetbrains.com/issue/KT-72303) KGP 2.1.0-Beta2 broke compatibility with KSP - [`KT-71405`](https://youtrack.jetbrains.com/issue/KT-71405) Compose compiler gradle plugin: project.layout.file can't be used as a value of the 'stabilityConfigurationFiles' option - [`KT-71948`](https://youtrack.jetbrains.com/issue/KT-71948) KotlinJvmFactory : get rid of replaces with TODO() - [`KT-72092`](https://youtrack.jetbrains.com/issue/KT-72092) Gradle: use packed klib variant as the default when no packaging attribute is present ##### Tools. Gradle. JS - [`KT-75485`](https://youtrack.jetbrains.com/issue/KT-75485) KJS: "Module not found: Error: Can't resolve 'style-loader' and 'css-loader'" in 2.1.20-RC - [`KT-74869`](https://youtrack.jetbrains.com/issue/KT-74869) KJS: `jsBrowserProductionWebpack` does not minify output with 2.1.20-Beta2 - [`KT-74859`](https://youtrack.jetbrains.com/issue/KT-74859) Gradle configuration cache issues related to RootPackageJsonTask - [`KT-72175`](https://youtrack.jetbrains.com/issue/KT-72175) JS, Wasm: Deprecate non-Provider API in JS infrastructure extensions - [`KT-66388`](https://youtrack.jetbrains.com/issue/KT-66388) KJS / Gradle: Allow using an insecure protocol to download Node.js/Yarn when setting up project using Gradle >= 7 - [`KT-73614`](https://youtrack.jetbrains.com/issue/KT-73614) org.jetbrains.kotlin.gradle.targets.jsAbstractSetupTask.destinationProvider should be public - [`KT-72027`](https://youtrack.jetbrains.com/issue/KT-72027) JS target build fails on ARM64 Windows - [`KT-71362`](https://youtrack.jetbrains.com/issue/KT-71362) KGP/JS: moduleName is not compatible with convention plugins - [`KT-72874`](https://youtrack.jetbrains.com/issue/KT-72874) KJS: NodeJsRootExtension: "'download: Boolean' is deprecated. Use download from NodeJsExtension (not NodeJsRootExtension) instead You can find this extension after applying NodeJsPlugin. This will be removed in 2.2" - [`KT-72872`](https://youtrack.jetbrains.com/issue/KT-72872) Js, Wasm: downloadBaseUrl in NodeJsEnvSpec could not be disabled ##### Tools. Gradle. Multiplatform ##### Performance Improvements - [`KT-71888`](https://youtrack.jetbrains.com/issue/KT-71888) Default Target Hierarchy results in very large heap usage/OoM when resolving IDE dependencies in larger projects ##### Fixes - [`KT-66542`](https://youtrack.jetbrains.com/issue/KT-66542) Gradle: JVM target with `withJava()` produces a deprecation warning - [`KT-71074`](https://youtrack.jetbrains.com/issue/KT-71074) Optimize Granular Metadata Dependencies Transformation for Import after adding support for Project Isolation - [`KT-74669`](https://youtrack.jetbrains.com/issue/KT-74669) Executable binaries for JVM: a jar generated by jvmJar task isn't added to the build/install/testAppName/lib directory - [`KT-37964`](https://youtrack.jetbrains.com/issue/KT-37964) Gradle application/distribution plugin does not copy and name jar files correctly when using installDist task for multiplatform project - [`KT-30878`](https://youtrack.jetbrains.com/issue/KT-30878) It's impossible to have .java sources in a Multiplatform Gradle Project with Android, because `android()` and `jvm { withJava() }` targets can not be applied to one and the same Gradle Project - [`KT-66962`](https://youtrack.jetbrains.com/issue/KT-66962) Kapt with Kotlin Multiplatform: Cannot query the value of this provider because it has no value available - [`KT-74898`](https://youtrack.jetbrains.com/issue/KT-74898) The wording for the warning about incompatible 'application' plugin should be updated to suggest using the new binaries DSL - [`KT-72488`](https://youtrack.jetbrains.com/issue/KT-72488) Unify freeCompilerArgs property in swiftExport and compilerArgs - [`KT-74727`](https://youtrack.jetbrains.com/issue/KT-74727) Dependency resolve from a single target KMP module to another kmp module fails on non-found PSM - [`KT-75062`](https://youtrack.jetbrains.com/issue/KT-75062) Remove usage of deprecated ProjectDependency.getDependencyProject - [`KT-71130`](https://youtrack.jetbrains.com/issue/KT-71130) Enable Isolated Projects support by default for KMP - [`KT-74832`](https://youtrack.jetbrains.com/issue/KT-74832) Relax JVM target validation diagnostic in KMP/Jvm projects - [`KT-57280`](https://youtrack.jetbrains.com/issue/KT-57280) Expose Kotlin Project Structure metadata via consumable configurations instead of accessing all gradle projects directly - [`KT-72130`](https://youtrack.jetbrains.com/issue/KT-72130) Gradle Project Isolation Violation in build.gradle due to KGP - [`KT-74298`](https://youtrack.jetbrains.com/issue/KT-74298) Incorrect DSL for swift export settings under the export node - [`KT-73620`](https://youtrack.jetbrains.com/issue/KT-73620) KMP 2.1.0: Transitive dependency is broken when setting publication groupId - [`KT-72112`](https://youtrack.jetbrains.com/issue/KT-72112) KotlinNativeLink task fetches configuration that might not exist - [`KT-49155`](https://youtrack.jetbrains.com/issue/KT-49155) MPP, Gradle: Cannot use `test-retry-gradle-plugin` with Kotlin multiplatform tests - [`KT-61816`](https://youtrack.jetbrains.com/issue/KT-61816) Remove Legacy Multiplatform Gradle Plugin - [`KT-72068`](https://youtrack.jetbrains.com/issue/KT-72068) Distribution for klib cross-compilation is not downloaded during compile tasks - [`KT-64998`](https://youtrack.jetbrains.com/issue/KT-64998) Granular Metadata Dependencies Transformation is not compatible with Project Isolation - [`KT-72454`](https://youtrack.jetbrains.com/issue/KT-72454) Revert changes made in KT-69899 i.e. make kotlin.android.buildTypeAttribute.keep = false by default again - [`KT-70380`](https://youtrack.jetbrains.com/issue/KT-70380) KMM App failed to consume android binary lib - [`KT-71529`](https://youtrack.jetbrains.com/issue/KT-71529) Deprecate targetFromPreset API with an error ##### Tools. Gradle. Native - [`KT-71398`](https://youtrack.jetbrains.com/issue/KT-71398) kotlinNativeBundleConfiguration should not contain dependencies on unsupported platforms - [`KT-74403`](https://youtrack.jetbrains.com/issue/KT-74403) :commonizeNativeDistribution fails when configured native targets cannot be built on machine - [`KT-62826`](https://youtrack.jetbrains.com/issue/KT-62826) Show a warning when KGP and K/N versions mismatch - [`KT-73572`](https://youtrack.jetbrains.com/issue/KT-73572) \[Gradle] `kotlin.native.cacheKind=none` doesn't work anymore - [`KT-71722`](https://youtrack.jetbrains.com/issue/KT-71722) kotlinNativeBundleConfiguration present in JVM-only Gradle project - [`KT-72686`](https://youtrack.jetbrains.com/issue/KT-72686) Add warning about Kotlin native home conflict declaration - [`KT-71419`](https://youtrack.jetbrains.com/issue/KT-71419) Light bundle KGP IT run against a stable K/N version - [`KT-70558`](https://youtrack.jetbrains.com/issue/KT-70558) False positive up-to-date status for CInterop tasks after changes in .h files ##### Tools. Gradle. Xcode - [`KT-71535`](https://youtrack.jetbrains.com/issue/KT-71535) embedSwiftExportForXcode doesn't report configuration error about missed dependency - [`KT-72485`](https://youtrack.jetbrains.com/issue/KT-72485) Swift Export DSL exposes unused options in `binaries` section - [`KT-66894`](https://youtrack.jetbrains.com/issue/KT-66894) XCFramework task fails when name passed to xcframework DSL is different from framework's name - [`KT-65675`](https://youtrack.jetbrains.com/issue/KT-65675) XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworks ##### Tools. Incremental Compile - [`KT-69333`](https://youtrack.jetbrains.com/issue/KT-69333) Remove built-in ABI snapshot implementation - [`KT-55940`](https://youtrack.jetbrains.com/issue/KT-55940) Kotlin 1.8.0 compiler hangs indefinitely - [`KT-29860`](https://youtrack.jetbrains.com/issue/KT-29860) Incremental compilation looping or incorrect results ##### Tools. JPS - [`KT-73688`](https://youtrack.jetbrains.com/issue/KT-73688) Make it possible to build and run JPS locally - [`KT-73607`](https://youtrack.jetbrains.com/issue/KT-73607) JPS incremental compilation is broken after KT-71549 - [`KT-68565`](https://youtrack.jetbrains.com/issue/KT-68565) K2: IllegalStateException: Source classes should be created separately before referencing ##### Tools. Kapt - [`KT-75202`](https://youtrack.jetbrains.com/issue/KT-75202) K2 kapt: mapped type class literal is converted incorrectly - [`KT-64385`](https://youtrack.jetbrains.com/issue/KT-64385) K2: Enable K2 KAPT by default - [`KT-71154`](https://youtrack.jetbrains.com/issue/KT-71154) Kapt tests: EXPECTED\_ERROR directive is checked incorrectly - [`KT-71776`](https://youtrack.jetbrains.com/issue/KT-71776) K2 Kapt in 2.1.0-Beta1 fails with `e: java.lang.IllegalStateException: FIR symbol "class org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol" is not supported in constant evaluation` ##### Tools. Maven - [`KT-69231`](https://youtrack.jetbrains.com/issue/KT-69231) PowerAssert: Create maven plugin for power-assert ##### Tools. Scripts - [`KT-72277`](https://youtrack.jetbrains.com/issue/KT-72277) Legacy REPL implementation is still based on the old backend ##### Tools. Wasm - [`KT-72157`](https://youtrack.jetbrains.com/issue/KT-72157) Turn on custom formatters feature by default in development builds - [`KT-71361`](https://youtrack.jetbrains.com/issue/KT-71361) \[Wasm] Make all production-mode binaries optimised with binaryen ### [`v2.1.10`](https://github.com/JetBrains/kotlin/releases/tag/v2.1.10): Kotlin 2.1.10 ##### Changelog ##### Compiler - [`KT-73858`](https://youtrack.jetbrains.com/issue/KT-73858) Compose / iOS: NullPointerException on building - [`KT-73454`](https://youtrack.jetbrains.com/issue/KT-73454) K2: Fix type parameters mapping for typealiases with inner RHS - [`KT-73043`](https://youtrack.jetbrains.com/issue/KT-73043) K2 Compiler does not allow references to inner constructors with typealiases - [`KT-74040`](https://youtrack.jetbrains.com/issue/KT-74040) Compilation of inner class usage does not check the visibility of parent class during compilation in different rounds - [`KT-73339`](https://youtrack.jetbrains.com/issue/KT-73339) K2: "VerifyError: Bad type on operand stack" because of missing implicit cast on generic field receiver with star projection - [`KT-72585`](https://youtrack.jetbrains.com/issue/KT-72585) K2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace top-level type with star projection: S - [`KT-73399`](https://youtrack.jetbrains.com/issue/KT-73399) compile-time JVM codegen failure on a KProperty argument of a KSuspendFunction parameter - [`KT-72725`](https://youtrack.jetbrains.com/issue/KT-72725) KMP: Unsupported actualization of inherited java field in expect class - [`KT-73153`](https://youtrack.jetbrains.com/issue/KT-73153) K2: Standalone diagnostics on type arguments are not reported ##### Compose compiler - [`CMP-5680`](https://youtrack.jetbrains.com/issue/CMP-5680) Compose compiler: unexpected stability warnings for classes compiled with 2.0.10 - [`b/381407900`](https://issuetracker.google.com/issues/381407900) Avoid adding Compose annotations on synthetic classes ##### IR. Inlining - [`KT-73981`](https://youtrack.jetbrains.com/issue/KT-73981) \[2.1.10] Suppress `checkIncorrectCrossFileDeclarationAccess` warning for Compose `<class>$stable` field access ##### JavaScript - [`KT-70778`](https://youtrack.jetbrains.com/issue/KT-70778) Kotlin Js companion is undefined in production build - [`KT-73130`](https://youtrack.jetbrains.com/issue/KT-73130) KJS: Missed `break` for do/while in generated JS code - [`KT-58797`](https://youtrack.jetbrains.com/issue/KT-58797) Optimize the code generated for objects on JS and Wasm backends ##### Klibs - [`KT-70146`](https://youtrack.jetbrains.com/issue/KT-70146) \[KLIB Resolve] Don't fail on nonexistent transitive dependency - [`KT-73951`](https://youtrack.jetbrains.com/issue/KT-73951) Workaround for "Partial linkage engine may not patch some discrepancies in IR when compiling Kotlin/Native static caches" in 2.1.10 ##### Native - [`KT-73559`](https://youtrack.jetbrains.com/issue/KT-73559) K/Native: AndroidNativeArm64 linking fails starting from Kotlin 2.1.0 ##### Tools. CLI - [`KT-73967`](https://youtrack.jetbrains.com/issue/KT-73967) JDK 25: "IllegalArgumentException: 25-ea" with EA builds ##### Tools. Daemon - [`KT-73311`](https://youtrack.jetbrains.com/issue/KT-73311) "Unable to release compile session, maybe daemon is already down" flakiness ##### Tools. Gradle - [`KT-73728`](https://youtrack.jetbrains.com/issue/KT-73728) 'generatePomFileForMavenPublication' creates pom with dependencies with 'unspecified' version ##### Tools. Gradle. Multiplatform - [`KT-73620`](https://youtrack.jetbrains.com/issue/KT-73620) KMP 2.1.0: Transitive dependency is broken when setting publication groupId ##### Tools. Gradle. Native - [`KT-73572`](https://youtrack.jetbrains.com/issue/KT-73572) \[Gradle] `kotlin.native.cacheKind=none` doesn't work anymore - [`KT-71419`](https://youtrack.jetbrains.com/issue/KT-71419) Light bundle KGP IT run against a stable K/N version ### [`v2.1.0`](https://github.com/JetBrains/kotlin/releases/tag/v2.1.0): Kotlin 2.1.0 ##### Changelog ##### Analysis API ##### New Features - [`KT-68603`](https://youtrack.jetbrains.com/issue/KT-68603) KotlinDirectInheritorsProvider: add an option to ignore non-kotlin results ##### Performance Improvements - [`KT-70757`](https://youtrack.jetbrains.com/issue/KT-70757) Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbol ##### Fixes - [`KT-70437`](https://youtrack.jetbrains.com/issue/KT-70437) Class reference is not resolvable - [`KT-57733`](https://youtrack.jetbrains.com/issue/KT-57733) Analysis API: Use optimized `ModuleWithDependenciesScope`s in combined symbol providers - [`KT-72389`](https://youtrack.jetbrains.com/issue/KT-72389) K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal class - [`KT-69190`](https://youtrack.jetbrains.com/issue/KT-69190) K2: False-positive "redundant private modifier" - [`KT-64984`](https://youtrack.jetbrains.com/issue/KT-64984) Analysis API: Support Wasm target - [`KT-70375`](https://youtrack.jetbrains.com/issue/KT-70375) K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointer - [`KT-71259`](https://youtrack.jetbrains.com/issue/KT-71259) K2 evaluator: Invalid smart cast info collecting for Code Fragments - [`KT-69360`](https://youtrack.jetbrains.com/issue/KT-69360) Lack of implicit receiver for the last statement under lambda in scripts - [`KT-70890`](https://youtrack.jetbrains.com/issue/KT-70890) Analysis API: Experiment with weak references to LL FIR/analysis sessions in session caches - [`KT-70657`](https://youtrack.jetbrains.com/issue/KT-70657) Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jars - [`KT-71055`](https://youtrack.jetbrains.com/issue/KT-71055) Suspend calls inside 'analyze()' break the block guarantees - [`KT-70815`](https://youtrack.jetbrains.com/issue/KT-70815) Analysis API: Implement stop-the-world session invalidation - [`KT-69819`](https://youtrack.jetbrains.com/issue/KT-69819) K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualified - [`KT-68761`](https://youtrack.jetbrains.com/issue/KT-68761) Analysis API: Experiment with limited-size cache in `KaFirSessionProvider` - [`KT-70384`](https://youtrack.jetbrains.com/issue/KT-70384) Analysis API Standalone: The same class in the same two renamed jars is unresolved - [`KT-71067`](https://youtrack.jetbrains.com/issue/KT-71067) Exceptions from references cancel Find Usages - [`KT-69535`](https://youtrack.jetbrains.com/issue/KT-69535) Redesign 'containingSymbol' - [`KT-71025`](https://youtrack.jetbrains.com/issue/KT-71025) K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" values - [`KT-67483`](https://youtrack.jetbrains.com/issue/KT-67483) K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation call - [`KT-69416`](https://youtrack.jetbrains.com/issue/KT-69416) K2 IDE / Completion: “No classifier found” on simple value creating - [`KT-70257`](https://youtrack.jetbrains.com/issue/KT-70257) CCE: class kotlin.UInt cannot be cast to class java.lang.Number - [`KT-70376`](https://youtrack.jetbrains.com/issue/KT-70376) K2 IDE / Kotlin Debugger: IAE “Only componentN functions should be cached this way, but got: toString” on evaluating toString() method for value class - [`KT-70264`](https://youtrack.jetbrains.com/issue/KT-70264) AA: service registration via XML fails with AbstractMethodError in Lint CLI - [`KT-69950`](https://youtrack.jetbrains.com/issue/KT-69950) Analysis API: Introduce `isSubtypeOf(ClassId)` - [`KT-68625`](https://youtrack.jetbrains.com/issue/KT-68625) K2: “`lazyResolveToPhase(STATUS)` cannot be called from a transformer with a phase STATUS.” - [`KT-67665`](https://youtrack.jetbrains.com/issue/KT-67665) K2: contract violation for value class with a constructor parameter with an implicit type - [`KT-67009`](https://youtrack.jetbrains.com/issue/KT-67009) Analysis API: Add abbreviated type tests for type aliases from source modules - [`KT-69977`](https://youtrack.jetbrains.com/issue/KT-69977) KaFirFunctionalType#getAbbreviation is always null - [`KT-68341`](https://youtrack.jetbrains.com/issue/KT-68341) Analysis API: Expanded function types from libraries don't have an abbreviated type - [`KT-68857`](https://youtrack.jetbrains.com/issue/KT-68857) Analysis API: Refactor annotations - [`KT-70386`](https://youtrack.jetbrains.com/issue/KT-70386) Do not filter out overloads from different libraries in dangling files - [`KT-65552`](https://youtrack.jetbrains.com/issue/KT-65552) K2: CANNOT\_CHECK\_FOR\_ERASED in KtTypeCodeFragment - [`KT-65803`](https://youtrack.jetbrains.com/issue/KT-65803) K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments" - [`KT-68896`](https://youtrack.jetbrains.com/issue/KT-68896) Support VirtualFile binary dependency inputs to Analysis API modules - [`KT-69395`](https://youtrack.jetbrains.com/issue/KT-69395) K2 IDE: incorrect overload selection from binary dependencies in a shared native source set - [`KT-68573`](https://youtrack.jetbrains.com/issue/KT-68573) ISE: "Unexpected constant value (kotlin/annotation/AnnotationTarget, CLASS)" at Kt1DescUtilsKt.toKtConstantValue() - [`KT-69576`](https://youtrack.jetbrains.com/issue/KT-69576) Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns false for companion references in implicit invoke operator calls - [`KT-69568`](https://youtrack.jetbrains.com/issue/KT-69568) Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns true for non-companion references in qualified calls - [`KT-69436`](https://youtrack.jetbrains.com/issue/KT-69436) Analysis API Platform: Encapsulate `LLFirDeclarationModificationService` as an engine service - [`KT-63004`](https://youtrack.jetbrains.com/issue/KT-63004) K2: Analysis API: Design API for querying declarations generated by compiler plugins (similar to indices) - [`KT-69452`](https://youtrack.jetbrains.com/issue/KT-69452) AA FIR: wrong source PSI after compile-time evaluation - [`KT-69598`](https://youtrack.jetbrains.com/issue/KT-69598) AA: definitely not-null type at receiver position should be wrapped in parenthesis - [`KT-60484`](https://youtrack.jetbrains.com/issue/KT-60484) Analysis API: add support for KtType pointers similar to KtSymbolPointer - [`KT-68884`](https://youtrack.jetbrains.com/issue/KT-68884) Analysis API: Rename/deprecate/remove declarations as part of Stabilization - [`KT-69453`](https://youtrack.jetbrains.com/issue/KT-69453) AA FIR: miss to handle expected type of lambda with explicit label - [`KT-69533`](https://youtrack.jetbrains.com/issue/KT-69533) Protect implementation parts of Analysis API with opt-in annotations ##### Analysis API. FIR ##### Performance Improvements - [`KT-71566`](https://youtrack.jetbrains.com/issue/KT-71566) FirElementBuilder#getFirForNonKtFileElement should iterate a Psi file over and over - [`KT-71224`](https://youtrack.jetbrains.com/issue/KT-71224) Analysis API: `FirElementFinder.collectDesignationPath` relies on naive iteration through FIR files ##### Fixes - [`KT-70327`](https://youtrack.jetbrains.com/issue/KT-70327) Analysis API: Batch inspection causes deadlock in `ValueWithPostCompute` - [`KT-69070`](https://youtrack.jetbrains.com/issue/KT-69070) Analysis API: Querying declared member scope for Java symbols results in exception in some use cases - [`KT-68268`](https://youtrack.jetbrains.com/issue/KT-68268) LLSealedInheritorsProvider: reduce scope to kotlin files - [`KT-69671`](https://youtrack.jetbrains.com/issue/KT-69671) TYPES phase contract violation through JavaSymbolProvider - [`KT-70624`](https://youtrack.jetbrains.com/issue/KT-70624) Declaration symbols from code fragments are treated as not local - [`KT-70662`](https://youtrack.jetbrains.com/issue/KT-70662) NPE: FirLazyBodiesCalculatorKt.calculateLazyBodyForProperty - [`KT-70859`](https://youtrack.jetbrains.com/issue/KT-70859) Do not fail highlighting due to resolution problems - [`KT-70474`](https://youtrack.jetbrains.com/issue/KT-70474) FirLazyResolveContractViolationException from JavaSymbolProvider - [`KT-70323`](https://youtrack.jetbrains.com/issue/KT-70323) FirLazyResolveContractViolationException: `lazyResolveToPhase(TYPES)` cannot be called from a transformer with a phase TYPES - [`KT-71567`](https://youtrack.jetbrains.com/issue/KT-71567) LLFirCompilerRequiredAnnotationsTargetResolver should calculate annotation arguments on demand - [`KT-71584`](https://youtrack.jetbrains.com/issue/KT-71584) `getNonLocalContainingOrThisDeclaration` treats KtParameter from functional type as non-local ##### Analysis API. Light Classes ##### Performance Improvements - [`KT-69998`](https://youtrack.jetbrains.com/issue/KT-69998) Drop redundant cache from ClassInnerStuffCache ##### Fixes - [`KT-69833`](https://youtrack.jetbrains.com/issue/KT-69833) Support value classes - [`KT-71693`](https://youtrack.jetbrains.com/issue/KT-71693) Wrong name mangling for JvmField class property and companion property clash - [`KT-71469`](https://youtrack.jetbrains.com/issue/KT-71469) KtLightClassForDecompiledDeclaration: missed kotlinOrigin - [`KT-70710`](https://youtrack.jetbrains.com/issue/KT-70710) Provide light classes for KMP modules in Android Lint - [`KT-70548`](https://youtrack.jetbrains.com/issue/KT-70548) SLC: text of class object access expression is not the same as raw text - [`KT-70572`](https://youtrack.jetbrains.com/issue/KT-70572) SLC: missing `isInheritor` implementation for type parameter - [`KT-70491`](https://youtrack.jetbrains.com/issue/KT-70491) SLC: inconsistent source PSI of no-arg constructor for all default values - [`KT-70458`](https://youtrack.jetbrains.com/issue/KT-70458) SLC: missed `auxiliaryOriginalElement` for delegated property - [`KT-70232`](https://youtrack.jetbrains.com/issue/KT-70232) Support a companion object inside value classes - [`KT-70349`](https://youtrack.jetbrains.com/issue/KT-70349) `@delegate`:\` annotations are missed for light class fields - [`KT-68328`](https://youtrack.jetbrains.com/issue/KT-68328) Move KtLightClassBase to ULC ##### Analysis API. Providers and Caches - [`KT-65618`](https://youtrack.jetbrains.com/issue/KT-65618) K2: resulted FirClass.psi != requested PsiClass from completion - [`KT-69292`](https://youtrack.jetbrains.com/issue/KT-69292) K2: Analysis API: A property's `MUST_BE_INITIALIZED` diagnostic is not updated after changing `field` usage in an accessor - [`KT-71468`](https://youtrack.jetbrains.com/issue/KT-71468) Drop redundant logic from LLFirJavaFacadeForBinaries - [`KT-71700`](https://youtrack.jetbrains.com/issue/KT-71700) Cache result of resolveToCall - [`KT-71520`](https://youtrack.jetbrains.com/issue/KT-71520) Analysis API: `LLFirNativeForwardDeclarationsSymbolProvider` spends a lot of time in indices ##### Analysis API. Standalone - [`KT-65110`](https://youtrack.jetbrains.com/issue/KT-65110) Analysis API: In Standalone mode the order of symbols is unstable ##### Analysis API. Stubs and Decompilation - [`KT-71565`](https://youtrack.jetbrains.com/issue/KT-71565) KtClassOrObject should use isLocal from greenStub ##### Analysis API. Surface ##### New Features - [`KT-69960`](https://youtrack.jetbrains.com/issue/KT-69960) `resolveToCallCandidates` should support operators - [`KT-69961`](https://youtrack.jetbrains.com/issue/KT-69961) `resolveToCallCandidates` should support properties ##### Performance Improvements - [`KT-70529`](https://youtrack.jetbrains.com/issue/KT-70529) KaSymbol: reduce the number of `cached` usages - [`KT-70165`](https://youtrack.jetbrains.com/issue/KT-70165) Introduce PSI-based `KaSymbol`s for K2 ##### Fixes - [`KT-69371`](https://youtrack.jetbrains.com/issue/KT-69371) Analysis API: expose only interfaces/abstract classes for the resolution API - [`KT-69696`](https://youtrack.jetbrains.com/issue/KT-69696) KaSymbolByFirBuilder should filter call-site substitutions - [`KT-69679`](https://youtrack.jetbrains.com/issue/KT-69679) KaDelegatedConstructorCall should have substituted signature - [`KT-70206`](https://youtrack.jetbrains.com/issue/KT-70206) `anonymousSymbol` API throws an exception for regular functions - [`KT-69699`](https://youtrack.jetbrains.com/issue/KT-69699) Receiver type is not substituted in the case of conflict declarations - [`KT-69381`](https://youtrack.jetbrains.com/issue/KT-69381) Analysis API: Investigate the viability of current `KaSymbol` caches - [`KT-70199`](https://youtrack.jetbrains.com/issue/KT-70199) K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments - [`KT-70661`](https://youtrack.jetbrains.com/issue/KT-70661) Invalid FirDeclarationOrigin ScriptTopLevelDestructuringDeclarationContainer - [`KT-70663`](https://youtrack.jetbrains.com/issue/KT-70663) KaFirDestructuringDeclarationSymbol: Failed requirement - [`KT-63490`](https://youtrack.jetbrains.com/issue/KT-63490) Analysis API: Accessing the Analysis API should be prohibited during dumb mode - [`KT-63390`](https://youtrack.jetbrains.com/issue/KT-63390) K2: Analysis API: add annotations to KtClassInitializerSymbol - [`KT-55124`](https://youtrack.jetbrains.com/issue/KT-55124) Design common ancestor for KtValueParameter and KtReceiverParameterSymbol - [`KT-71731`](https://youtrack.jetbrains.com/issue/KT-71731) directlyOverridenSymbols/allOverridenSymbols works incorrectly for intersection overrides ##### Apple Ecosystem - [`KT-66262`](https://youtrack.jetbrains.com/issue/KT-66262) Deprecate and remove support for bitcode embedding from the Kotlin Gradle plugin - [`KT-66894`](https://youtrack.jetbrains.com/issue/KT-66894) XCFramework task fails when name passed to xcframework DSL is different from framework's name - [`KT-65675`](https://youtrack.jetbrains.com/issue/KT-65675) XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworks - [`KT-69119`](https://youtrack.jetbrains.com/issue/KT-69119) xcodeVersion task fails if Xcode isn't installed and apple-specific native targets aren't declared ##### Backend. Wasm ##### New Features - [`KT-70786`](https://youtrack.jetbrains.com/issue/KT-70786) Improve DX of the variable view during debugging in Chrome/Firefox for Kotlin/Wasm - [`KT-70331`](https://youtrack.jetbrains.com/issue/KT-70331) Support incremental compilation for the Wasm backend - [`KT-71686`](https://youtrack.jetbrains.com/issue/KT-71686) K/Wasm: Add functions to convert between Kotlin and JS array types - [`KT-68185`](https://youtrack.jetbrains.com/issue/KT-68185) \[WasmJs] Attach js exception object to JsException ##### Fixes - [`KT-71294`](https://youtrack.jetbrains.com/issue/KT-71294) Wasm Artifacts/Resource are being loaded relatively instead of absolutely - [`KT-71473`](https://youtrack.jetbrains.com/issue/KT-71473) K/Wasm: Use `--closed-world` and related options for Binaryen - [`KT-72297`](https://youtrack.jetbrains.com/issue/KT-72297) \[Wasm] Unused associated object class lead to compiler fail - [`KT-72156`](https://youtrack.jetbrains.com/issue/KT-72156) custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven public - [`KT-65799`](https://youtrack.jetbrains.com/issue/KT-65799) K/Wasm: remove default exports from wasm exports - [`KT-71800`](https://youtrack.jetbrains.com/issue/KT-71800) Wasm compiler: Fix member generation for data classes with an array-type property - [`KT-71580`](https://youtrack.jetbrains.com/issue/KT-71580) String::toFloat on wasm behaves differently compared to other targets - [`KT-71523`](https://youtrack.jetbrains.com/issue/KT-71523) K/Wasm: cleanup after fix for KT-71474 - [`KT-71475`](https://youtrack.jetbrains.com/issue/KT-71475) K/Wasm: KClass::qualifiedName returns incorrect result for nested or companion objects - [`KT-71474`](https://youtrack.jetbrains.com/issue/KT-71474) K/Wasm: KProperty\*Impl equals work incorrectly for clabbale reference created in different files or modules - [`KT-61130`](https://youtrack.jetbrains.com/issue/KT-61130) K/Wasm: Function signatures may clash with base class internal methods from a friend module - [`KT-70820`](https://youtrack.jetbrains.com/issue/KT-70820) \[Kotlin QG] wasm-validator fails when running compile\[...]KotlinWasmJsOptimize - [`KT-70819`](https://youtrack.jetbrains.com/issue/KT-70819) \[Kotlin QG] node.js fails when running wasmJs\[...]Test KGP tasks - [`KT-70394`](https://youtrack.jetbrains.com/issue/KT-70394) Investigate increased wasm binary size after switching stdlib compilation to K2 - [`KT-69627`](https://youtrack.jetbrains.com/issue/KT-69627) Remove `create###Array` functions from WASM stdlib - [`KT-68509`](https://youtrack.jetbrains.com/issue/KT-68509) Fatal: error validating input in compileProductionExecutableKotlinWasmJsOptimize ##### Compiler ##### New Features - [`KT-71094`](https://youtrack.jetbrains.com/issue/KT-71094) Kotlin/Native incremental compilation: fail compilation if cache build failed - [`KT-21908`](https://youtrack.jetbrains.com/issue/KT-21908) Support 'when' exhaustiveness checking for generic type parameter with sealed class upper bound - [`KT-70679`](https://youtrack.jetbrains.com/issue/KT-70679) Kotlin/Native: fill WritableTypeInfo from Swift Export type mapping - [`KT-59798`](https://youtrack.jetbrains.com/issue/KT-59798) Builder inference is not working when combined with `let` expression - [`KT-54227`](https://youtrack.jetbrains.com/issue/KT-54227) Cannot use nullable Nothing as reified type parameter - [`KT-71430`](https://youtrack.jetbrains.com/issue/KT-71430) Kotlin-to-Java direct actualization implementation - [`KT-68163`](https://youtrack.jetbrains.com/issue/KT-68163) Expose supplementary compiler warnings via CLI - [`KT-69321`](https://youtrack.jetbrains.com/issue/KT-69321) Swift export: enable auto-linkage of binary dependencies - [`KT-11526`](https://youtrack.jetbrains.com/issue/KT-11526) Improve diagnostics for "X overrides nothing" - [`KT-49710`](https://youtrack.jetbrains.com/issue/KT-49710) False positive NO\_ELSE\_IN\_WHEN with nullable type as receiver - [`KT-69729`](https://youtrack.jetbrains.com/issue/KT-69729) Support calling super interface Java methods from Kotlin interface - [`KT-69508`](https://youtrack.jetbrains.com/issue/KT-69508) Improve "Public-API inline function cannot access non-public-API" check for the inline property accessors ##### Performance Improvements - [`KT-71353`](https://youtrack.jetbrains.com/issue/KT-71353) FP Kotlin performance degradation (around Cone types hierarchy changes) - [`KT-71159`](https://youtrack.jetbrains.com/issue/KT-71159) \[K2] OOM on large enum classes with fields - [`KT-69718`](https://youtrack.jetbrains.com/issue/KT-69718) K2: Check for jvm nullability annotations in fir2ir is slow - [`KT-68417`](https://youtrack.jetbrains.com/issue/KT-68417) Native: LLVM 16 inliner is slow on K/N-produced modules - [`KT-63971`](https://youtrack.jetbrains.com/issue/KT-63971) K2: Redundant `@ParameterName` in abbreviated type in metadata ##### Fixes - [`KT-71550`](https://youtrack.jetbrains.com/issue/KT-71550) JVM IR: NPE on identity equals of boolean true with null - [`KT-72214`](https://youtrack.jetbrains.com/issue/KT-72214) -fpass-plugin (clangFlags) is not applied since Kotlin 2.0.20 - [`KT-68933`](https://youtrack.jetbrains.com/issue/KT-68933) CompilationException: Back-end: Could not get inlined class - [`KT-72255`](https://youtrack.jetbrains.com/issue/KT-72255) Promote jspecify from warning to error - [`KT-73065`](https://youtrack.jetbrains.com/issue/KT-73065) CCE with context receivers - [`KT-61033`](https://youtrack.jetbrains.com/issue/KT-61033) K2: implement a diagnostic corresponding to K1's MISSING\_BUILT\_IN\_DECLARATION - [`KT-72345`](https://youtrack.jetbrains.com/issue/KT-72345) K2: Method 'get' without `@Override` annotation not called - [`KT-71260`](https://youtrack.jetbrains.com/issue/KT-71260) K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwner when there is no actual for expect - [`KT-72996`](https://youtrack.jetbrains.com/issue/KT-72996) false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operator - [`KT-72552`](https://youtrack.jetbrains.com/issue/KT-72552) AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped types - [`KT-71751`](https://youtrack.jetbrains.com/issue/KT-71751) K2: Skipping code in last statement of lambda - [`KT-71121`](https://youtrack.jetbrains.com/issue/KT-71121) Kotlin/JS incremental compilation fails with KotlinIllegalArgumentExceptionWithAttachments - [`KT-60521`](https://youtrack.jetbrains.com/issue/KT-60521) Drop language versions 1.4 and 1.5 - [`KT-70461`](https://youtrack.jetbrains.com/issue/KT-70461) K2: "Inline class types should have the same representation" caused by value class and smart check - [`KT-72238`](https://youtrack.jetbrains.com/issue/KT-72238) Argument type mismatch in builder inside extension function after ?: - [`KT-70306`](https://youtrack.jetbrains.com/issue/KT-70306) K2: Lambdas are unserializable: inferred from Java param `? super I` - [`KT-67383`](https://youtrack.jetbrains.com/issue/KT-67383) Incorrect optimisation when optimising for loop with UByte - [`KT-68653`](https://youtrack.jetbrains.com/issue/KT-68653) Switch latest stable language version in Kotlin project to 2.1 - [`KT-71708`](https://youtrack.jetbrains.com/issue/KT-71708) False negative UNSUPPORTED for collection literals as trailing return value - [`KT-72281`](https://youtrack.jetbrains.com/issue/KT-72281) K/N: "Failed to wait for cache to be built" - [`KT-72017`](https://youtrack.jetbrains.com/issue/KT-72017) Enum property reflection returning null KClassifier property for Enum classes defined inside Kotlin Scripts - [`KT-69040`](https://youtrack.jetbrains.com/issue/KT-69040) PCLA: deal with "deep" calls that can be fully analyzed properly - [`KT-69920`](https://youtrack.jetbrains.com/issue/KT-69920) K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilation - [`KT-69549`](https://youtrack.jetbrains.com/issue/KT-69549) Try to move callable reference transformation earlier in pipeline - [`KT-63944`](https://youtrack.jetbrains.com/issue/KT-63944) Kotlin/Native: Cache flavor selection doesn't respect GC kind - [`KT-71649`](https://youtrack.jetbrains.com/issue/KT-71649) K2: Put operator on mutableMap\<T?, V>() causes crashes on null key - [`KT-70667`](https://youtrack.jetbrains.com/issue/KT-70667) K2: "Type parameter \* has inconsistent bounds" caused by wildcard and where-clause - [`KT-70562`](https://youtrack.jetbrains.com/issue/KT-70562) `@SubclassOptInRequired` cannot accept multiple experimental marker - [`KT-69407`](https://youtrack.jetbrains.com/issue/KT-69407) K2: Compiler crash (Shouldn't be here) due to unresolved reference in FirProjectionRelationChecker - [`KT-71508`](https://youtrack.jetbrains.com/issue/KT-71508) JAVA\_CLASS\_INHERITS\_KT\_PRIVATE\_CLASS isn't reported when java class is inherited from an effectively private class - [`KT-72178`](https://youtrack.jetbrains.com/issue/KT-72178) K2: "Unexpected FirPlaceholderProjectionImpl" exception when using "\_" as key type in EnumMap - [`KT-70407`](https://youtrack.jetbrains.com/issue/KT-70407) Error/warning message for `@SubclassOptInRequired`-annotated class should provide more context - [`KT-72302`](https://youtrack.jetbrains.com/issue/KT-72302) K2: no error on type operator in annotation parameter default value - [`KT-58820`](https://youtrack.jetbrains.com/issue/KT-58820) OPT\_IN\_USAGE\_ERROR's message text does not account for SubclassOptInRequired - [`KT-71662`](https://youtrack.jetbrains.com/issue/KT-71662) PCLA: a type variable is not fixed on demand to a type containing a not-fixed type variable - [`KT-69739`](https://youtrack.jetbrains.com/issue/KT-69739) K2: "KotlinIllegalArgumentExceptionWithAttachments: Unexpected FirPlaceholderProjectionImpl" caused by unresolved references - [`KT-72154`](https://youtrack.jetbrains.com/issue/KT-72154) Dokka fails with `not array: KClass<out Annotation>` on Kotlin 2.1.20-dev with `@SubclassOptInRequired` - [`KT-70756`](https://youtrack.jetbrains.com/issue/KT-70756) K2. Compiler crash with FileAnalysisException on incorrect symbol in nesting lambda - [`KT-72173`](https://youtrack.jetbrains.com/issue/KT-72173) K2: simple object names from root package are resolved without imports in non-root packages when used as values - [`KT-71480`](https://youtrack.jetbrains.com/issue/KT-71480) JAVA\_CLASS\_INHERITS\_KT\_PRIVATE\_CLASS isn't reported while java object isn't created - [`KT-71034`](https://youtrack.jetbrains.com/issue/KT-71034) Failing compiler/testData/codegen/box/inlineClasses/kt70461.kt - [`KT-71016`](https://youtrack.jetbrains.com/issue/KT-71016) K/Wasm: Failing compiler/testData/codegen/box/inlineClasses/kt70461.kt - [`KT-52469`](https://youtrack.jetbrains.com/issue/KT-52469) Deprecate reified type parameter instantiating into intersection types - [`KT-71753`](https://youtrack.jetbrains.com/issue/KT-71753) PCLA: false-negative operator ambiguity error on fixing a type variable on demand for an operator assignment - [`KT-59871`](https://youtrack.jetbrains.com/issue/KT-59871) K2: Fix introduced diagnostics - [`KT-71563`](https://youtrack.jetbrains.com/issue/KT-71563) 'llegalStateException: Source classes should be created separately before referencing' when actualized through typealias and java direct actualization - [`KT-64741`](https://youtrack.jetbrains.com/issue/KT-64741) Avoid leaking ConeTypeVariable types in diagnostics from PCLA - [`KT-60447`](https://youtrack.jetbrains.com/issue/KT-60447) Builder inference fails to infer generic type argument from local class - [`KT-69170`](https://youtrack.jetbrains.com/issue/KT-69170) K2: "Unresolved reference" caused by generics and fun interfaces - [`KT-71756`](https://youtrack.jetbrains.com/issue/KT-71756) K2 evaluator: broken resolve of private members during debug of Kotlin project itself - [`KT-68893`](https://youtrack.jetbrains.com/issue/KT-68893) Invalid annotation in contract crashes with K2 - [`KT-71490`](https://youtrack.jetbrains.com/issue/KT-71490) K2: missing REDUNDANT\_ELSE\_IN\_WHEN - [`KT-64403`](https://youtrack.jetbrains.com/issue/KT-64403) Implement BlackBoxCodegenTestSpecGenerated for K2 - [`KT-71551`](https://youtrack.jetbrains.com/issue/KT-71551) JVM IR K1: NPE on generating a function imported from an object from another module - [`KT-71210`](https://youtrack.jetbrains.com/issue/KT-71210) K2: false negative FUNCTION\_CALL\_EXPECTED / NESTED\_CLASS\_ACCESSED\_VIA\_INSTANCE\_REFERENCE with companion objects - [`KT-71528`](https://youtrack.jetbrains.com/issue/KT-71528) K2/JVM: ClassCastException around Array\<Nothing?> - [`KT-71228`](https://youtrack.jetbrains.com/issue/KT-71228) K2: "IllegalArgumentException: Failed requirement" caused by lambda parameter and class type - [`KT-71738`](https://youtrack.jetbrains.com/issue/KT-71738) K2: False negative REDECLARATION inside object expression - [`KT-71701`](https://youtrack.jetbrains.com/issue/KT-71701) K2: false positive CAN\_BE\_VAL with lateinit and non-in-place lambda - [`KT-68694`](https://youtrack.jetbrains.com/issue/KT-68694) K2 IDE / Kotlin Debugger: AE “Unresolved reference: \<HIDDEN: samples/gen/classes/enum class/EnumClass.lam is invisible” on evaluating private lambda inside enum entry - [`KT-70970`](https://youtrack.jetbrains.com/issue/KT-70970) K2 IDE / Kotlin Debugger: AE “Only assignable IrValues can be set” on calling overloaded inc() operator on interface - [`KT-70824`](https://youtrack.jetbrains.com/issue/KT-70824) K2: NoSuchFieldException when evaluating private extension property - [`KT-70390`](https://youtrack.jetbrains.com/issue/KT-70390) K2 IDE / Kotlin Debugger: can't invoke lambda from private class during evaluation - [`KT-68701`](https://youtrack.jetbrains.com/issue/KT-68701) K2 IDE / Kotlin Debugger: AE “ERROR\_CALL 'Unresolved reference: \<HIDDEN: /privateLambda is invisible>#' type=IrErrorType(null)” on evaluating private top-level lambda - [`KT-68695`](https://youtrack.jetbrains.com/issue/KT-68695) K2 IDE / Kotlin Debugger: AE “Unsupported callable reference” on evaluating ::lateinitStr on private lateinit property - [`KT-70861`](https://youtrack.jetbrains.com/issue/KT-70861) K2 IDE / Kotlin Debugger: can't evaluate Clazz::class call for private class - [`KT-34911`](https://youtrack.jetbrains.com/issue/KT-34911) Improve error message for WRONG\_ANNOTATION\_TARGET: list applicable targets - [`KT-71601`](https://youtrack.jetbrains.com/issue/KT-71601) K2: When with a subject of type dynamic always considered exhaustive - [`KT-33091`](https://youtrack.jetbrains.com/issue/KT-33091) Kotlin/Native: Compiler crashes if an external class is declared - [`KT-59651`](https://youtrack.jetbrains.com/issue/KT-59651) K1/K2: Assertion error on external enum usage attempt - [`KT-69939`](https://youtrack.jetbrains.com/issue/KT-69939) Extract a category of internal FIR checkers from supplementary FIR checkers - [`KT-70850`](https://youtrack.jetbrains.com/issue/KT-70850) Pull down typeArguments from ConeKotlinType to ConeClassLikeType - [`KT-71117`](https://youtrack.jetbrains.com/issue/KT-71117) K2: "IllegalArgumentException: No type for StarProjection" with star projection and function type - [`KT-71251`](https://youtrack.jetbrains.com/issue/KT-71251) Native & JS K2: Missing check for calling `isInitialized` inside inline fun - [`KT-70161`](https://youtrack.jetbrains.com/issue/KT-70161) Native: extracting LLVM 16 on Linux makes the compiler print many "Ignoring unknown extended header keyword 'LIBARCHIVE.creationtime'" messages - [`KT-71215`](https://youtrack.jetbrains.com/issue/KT-71215) K2: UB due to the erroneous greening of the red code with multiple delegation with java - [`KT-59386`](https://youtrack.jetbrains.com/issue/KT-59386) K2: Missing CONSTANT\_EXPECTED\_TYPE\_MISMATCH - [`KT-69564`](https://youtrack.jetbrains.com/issue/KT-69564) Make using -Xuse-k2 compiler flag an error - [`KT-69756`](https://youtrack.jetbrains.com/issue/KT-69756) TypeOfLowering: don't create constant object nodes before inlining - [`KT-66328`](https://youtrack.jetbrains.com/issue/KT-66328) K2: implement an error for KT-66324 - [`KT-71046`](https://youtrack.jetbrains.com/issue/KT-71046) K/N: a separate lowering to convert function reference to IrConstantObject - [`KT-69223`](https://youtrack.jetbrains.com/issue/KT-69223) Drop parallel lowering mode in JVM backend - [`KT-70260`](https://youtrack.jetbrains.com/issue/KT-70260) `@JsPlainObject`: improve compiler error if a method is present - [`KT-67739`](https://youtrack.jetbrains.com/issue/KT-67739) Improve error message when JDK used in -Xjdk-release has corrupted class files - [`KT-63964`](https://youtrack.jetbrains.com/issue/KT-63964) K2: different naming of classes defined in script in metadata - [`KT-70014`](https://youtrack.jetbrains.com/issue/KT-70014) Common inference: introduce rigidTypeMarker - [`KT-71352`](https://youtrack.jetbrains.com/issue/KT-71352) Cannot load script definition class org.gradle.kotlin.dsl.KotlinProjectScriptTemplate - [`KT-63502`](https://youtrack.jetbrains.com/issue/KT-63502) Getting java.lang.ClassNotFoundException: javaslang.λ during compilation - [`KT-66316`](https://youtrack.jetbrains.com/issue/KT-66316) Kotlin/Native: make `@Escapes` annotation required for all external functions - [`KT-69653`](https://youtrack.jetbrains.com/issue/KT-69653) Prohibit exposing types via type parameters' bounds - [`KT-68451`](https://youtrack.jetbrains.com/issue/KT-68451) Inconsistent rules of CFA in enum initialization block - [`KT-70893`](https://youtrack.jetbrains.com/issue/KT-70893) K2: Bogus NO\_COMPANION\_OBJECT on resolve to private qualifier - [`KT-70965`](https://youtrack.jetbrains.com/issue/KT-70965) FIR/AA: Initializers for Java annotation arguments mapping capture use-site sessions - [`KT-63945`](https://youtrack.jetbrains.com/issue/KT-63945) K2: Prevent possible diagnostic loss - [`KT-64453`](https://youtrack.jetbrains.com/issue/KT-64453) K2: Implement ComposeLikeIr...TestGenerated for K2 - [`KT-30424`](https://youtrack.jetbrains.com/issue/KT-30424) Confusing error message "modality is different" - [`KT-70846`](https://youtrack.jetbrains.com/issue/KT-70846) Replace `ConeKotlinType.nullability` with `isMarkedNullable` on specific types - [`KT-56720`](https://youtrack.jetbrains.com/issue/KT-56720) K2: false positive MANY\_IMPL\_MEMBER\_NOT\_IMPLEMENTED in case of delegation in diamond inheritance - [`KT-69937`](https://youtrack.jetbrains.com/issue/KT-69937) Define & enforce user-friendly terminology for extended checkers - [`KT-64406`](https://youtrack.jetbrains.com/issue/KT-64406) K2: Implement CompileKotlinAgainstJavaTestGenerated for K2 - [`KT-69938`](https://youtrack.jetbrains.com/issue/KT-69938) Validate sets of default compiler warnings and supplementary compiler warnings - [`KT-68971`](https://youtrack.jetbrains.com/issue/KT-68971) Investigate suspicious fragmentation of FIR trees for string literals with interpolation - [`KT-71073`](https://youtrack.jetbrains.com/issue/KT-71073) Multi-dollar strings: parser grabs too much if backticks follow a short sequence of '$' - [`KT-71213`](https://youtrack.jetbrains.com/issue/KT-71213) Rethrow exceptions in checkers with some useful attachments - [`KT-70395`](https://youtrack.jetbrains.com/issue/KT-70395) K2: "Captured Type does not have a classifier" caused by `out` type and interface hierarchy - [`KT-70133`](https://youtrack.jetbrains.com/issue/KT-70133) K2: false negative UNINITIALIZED\_VARIABLE when postponed lambda is created before initialization - [`KT-70625`](https://youtrack.jetbrains.com/issue/KT-70625) K2: ClassCastException caused by function reference, star projection and invariant type parameter - [`KT-70835`](https://youtrack.jetbrains.com/issue/KT-70835) K2: "TYPE\_MISMATCH" caused by operator assignment - [`KT-70366`](https://youtrack.jetbrains.com/issue/KT-70366) K2: "KotlinIllegalArgumentExceptionWithAttachments: Failed to find functional supertype for class " - [`KT-68834`](https://youtrack.jetbrains.com/issue/KT-68834) Parentheses don't influence calls of any convention operators (except invoke operator) after safe navigation operator - [`KT-70358`](https://youtrack.jetbrains.com/issue/KT-70358) K2: "java.lang.IllegalArgumentException: No type for StarProjection" when using a star projection on a function type - [`KT-69298`](https://youtrack.jetbrains.com/issue/KT-69298) K2: "Initializer type mismatch" caused by elvis operator type inference for nullable typealias - [`KT-71189`](https://youtrack.jetbrains.com/issue/KT-71189) K2: emit 'DELEGATE\_SPECIAL\_FUNCTION\_MISSING' and 'DELEGATE\_SPECIAL\_FUNCTION\_NONE\_APPLICABLE' on 'by' keyword - [`KT-71178`](https://youtrack.jetbrains.com/issue/KT-71178) K2: False negative NO\_ELSE\_IN\_WHEN in when over nullable type with `!is Nothing?` check - [`KT-70812`](https://youtrack.jetbrains.com/issue/KT-70812) False positive NO\_ELSE\_IN\_WHEN with nullable type argument as subject - [`KT-70947`](https://youtrack.jetbrains.com/issue/KT-70947) False positive NO\_ELSE\_IN\_WHEN with DNN subject and nullable sealed class upper bound - [`KT-70752`](https://youtrack.jetbrains.com/issue/KT-70752) Review diagnostics with whole declaration as range - [`KT-71160`](https://youtrack.jetbrains.com/issue/KT-71160) K2: Rendering of flexible collection types and arrays is too verbose - [`KT-61227`](https://youtrack.jetbrains.com/issue/KT-61227) Definitely non-nullable types cause "Any was expected" for `@Nullable` parameter - [`KT-69389`](https://youtrack.jetbrains.com/issue/KT-69389) K2: NONE\_APPLICABLE instead of more useful "type mismatch" error with overloads and parameter nullability mismatch - [`KT-69829`](https://youtrack.jetbrains.com/issue/KT-69829) Missed UNRESOLVED\_LABEL for label in returns and loops - [`KT-61223`](https://youtrack.jetbrains.com/issue/KT-61223) JDK 21: new addFirst/addLast and putFirst/putLast methods allow adding nullable value for non-null types - [`KT-66742`](https://youtrack.jetbrains.com/issue/KT-66742) Supertypes with inaccessible type arguments are allowed - [`KT-62906`](https://youtrack.jetbrains.com/issue/KT-62906) Type system: consider changing simple type & DNN type relation - [`KT-70104`](https://youtrack.jetbrains.com/issue/KT-70104) Update the error message for calling super Java interface methods case - [`KT-69794`](https://youtrack.jetbrains.com/issue/KT-69794) K2: Wrong target is reported for EXPOSED\_SUPER\_INTERFACE diagnostic - [`KT-70724`](https://youtrack.jetbrains.com/issue/KT-70724) False-positive UNINITIALIZED\_VARIABLE for inline constructor with late-initialized variables - [`KT-70749`](https://youtrack.jetbrains.com/issue/KT-70749) False-positive UNINITIALIZED\_VARIABLE for inline fun with crossinline modifier - [`KT-65805`](https://youtrack.jetbrains.com/issue/KT-65805) Migrate builtins serializer to K2 - [`KT-71004`](https://youtrack.jetbrains.com/issue/KT-71004) FirSignatureEnhancement#enhance mutates attributes on the original function - [`KT-70813`](https://youtrack.jetbrains.com/issue/KT-70813) Questionable behavior for calls on ILT receivers - [`KT-70208`](https://youtrack.jetbrains.com/issue/KT-70208) 'when' is not exhaustive for expect Boolean - [`KT-69210`](https://youtrack.jetbrains.com/issue/KT-69210) Native: tune LLVM optimization pipeline - [`KT-70753`](https://youtrack.jetbrains.com/issue/KT-70753) K2: Missing non-null assertion on the return value of try-catch block - [`KT-70012`](https://youtrack.jetbrains.com/issue/KT-70012) EXTENSION\_SHADOWED\_BY\_MEMBER shouldn't be reported for actual declarations - [`KT-70837`](https://youtrack.jetbrains.com/issue/KT-70837) K2. "Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource" on incorrect call with extension fun - [`KT-66751`](https://youtrack.jetbrains.com/issue/KT-66751) Implement a general deprecation of types with inaccessible type arguments - [`KT-68748`](https://youtrack.jetbrains.com/issue/KT-68748) K2: Remove `irFactory` from `Fir2IrComponents` - [`KT-61659`](https://youtrack.jetbrains.com/issue/KT-61659) K2: Implement the `EXTENSION_SHADOWED_BY_MEMBER` warning - [`KT-70709`](https://youtrack.jetbrains.com/issue/KT-70709) Range for MUST\_BE\_INITIALIZED shouldn't include property annotations - [`KT-63294`](https://youtrack.jetbrains.com/issue/KT-63294) Do not use duplicated compiler argument names across the codebase - [`KT-70673`](https://youtrack.jetbrains.com/issue/KT-70673) False positive NO\_ELSE\_IN\_WHEN with nullable Boolean as subject - [`KT-70672`](https://youtrack.jetbrains.com/issue/KT-70672) False positive NO\_ELSE\_IN\_WHEN with nullable Enum as subject - [`KT-69207`](https://youtrack.jetbrains.com/issue/KT-69207) Native: use lld when the compiler produces binaries for a Linux target - [`KT-67696`](https://youtrack.jetbrains.com/issue/KT-67696) Native: compiler crashes when loading an LLVM bitcode file of unsupported version - [`KT-69767`](https://youtrack.jetbrains.com/issue/KT-69767) K2: Investigate differences in tests without alias behavior for cyclic expansion - [`KT-70617`](https://youtrack.jetbrains.com/issue/KT-70617) K2: ClassCastException caused by Java enum with overridden `name` property - [`KT-68796`](https://youtrack.jetbrains.com/issue/KT-68796) Non-first invoke operator calls break chained calls of convention operators after safe navigation operator - [`KT-67772`](https://youtrack.jetbrains.com/issue/KT-67772) K2: Metadata misses NoInfer annotation for unsafeCast result - [`KT-70304`](https://youtrack.jetbrains.com/issue/KT-70304) \[FIR2IR] Missing `@NoInfer` - [`KT-65085`](https://youtrack.jetbrains.com/issue/KT-65085) K2: Get rid of special check for unresolved array literals on argument mapping phase - [`KT-65066`](https://youtrack.jetbrains.com/issue/KT-65066) K1 crashes, K2 doesn't report type mismatch on array literal inside nested annotation call - [`KT-49235`](https://youtrack.jetbrains.com/issue/KT-49235) Kotlin interface limited to 1000 super types - [`KT-69991`](https://youtrack.jetbrains.com/issue/KT-69991) K2/JVM: Backend crash with functional types and KFunctions - [`KT-7461`](https://youtrack.jetbrains.com/issue/KT-7461) Forbid using projection modifiers inside top-level Array in annotation's value parameter - [`KT-52315`](https://youtrack.jetbrains.com/issue/KT-52315) Legacy keywords (header, impl) break enum definitions - [`KT-69499`](https://youtrack.jetbrains.com/issue/KT-69499) Native: aggressive inline of runtime procedures causes compiler crash in debug builds - [`KT-69737`](https://youtrack.jetbrains.com/issue/KT-69737) Native: incompatible target-cpu attributes between runtime and Kotlin code - [`KT-69911`](https://youtrack.jetbrains.com/issue/KT-69911) Unexpected line numbers in default setter - [`KT-61529`](https://youtrack.jetbrains.com/issue/KT-61529) K2: Unexpected FirClassLikeSymbol null with -no-jdk - [`KT-69475`](https://youtrack.jetbrains.com/issue/KT-69475) K2: No "Name contains illegal characters" for package name with dots inside - [`KT-69484`](https://youtrack.jetbrains.com/issue/KT-69484) Native: remove default values for `isObjectType` - [`KT-70352`](https://youtrack.jetbrains.com/issue/KT-70352) K2: False-negative CONFLICTING\_UPPER\_BOUNDS on `Nothing` bound - [`KT-59781`](https://youtrack.jetbrains.com/issue/KT-59781) K2: investigate implicit cast generation in fir2ir vs psi2ir - [`KT-70036`](https://youtrack.jetbrains.com/issue/KT-70036) \[FIR2IR] Fix param name in overridden setter - [`KT-68718`](https://youtrack.jetbrains.com/issue/KT-68718) \[JVM] Generic function is instantiated with wrong type argument - [`KT-67983`](https://youtrack.jetbrains.com/issue/KT-67983) K2: False negative "Recursive type alias in expansion" at recursive typealiases - [`KT-70328`](https://youtrack.jetbrains.com/issue/KT-70328) K2: `@UnsafeVariance` stored in the metadata despite the Source retention - [`KT-70313`](https://youtrack.jetbrains.com/issue/KT-70313) K2: Don't add `Any` supertype to `kotlin.Nothing` compiled from sources - [`KT-69982`](https://youtrack.jetbrains.com/issue/KT-69982) K2: New errors when executing `:kotlin-stdlib:jvmJar` - [`KT-70169`](https://youtrack.jetbrains.com/issue/KT-70169) K2: implement a deprecation error for Synchronized, Throws, JvmField on annotation parameters - [`KT-67651`](https://youtrack.jetbrains.com/issue/KT-67651) K2: inconsistency in behavior for SAM constructor with flexible type - [`KT-63857`](https://youtrack.jetbrains.com/issue/KT-63857) K2: Extra `operator` modifier in metadata - [`KT-70182`](https://youtrack.jetbrains.com/issue/KT-70182) K2: Set up `isOperator` flag according to operator naming conventions during building synthetic overrides for Java methods - [`KT-20798`](https://youtrack.jetbrains.com/issue/KT-20798) Implement a deprecation warning for reified modifier on type parameters of type alias - [`KT-68697`](https://youtrack.jetbrains.com/issue/KT-68697) K2 IDE / Kotlin Debugger: NSEE “List is empty.” when method reference is used in some place in code - [`KT-70157`](https://youtrack.jetbrains.com/issue/KT-70157) K2: false positive JAVA\_CLASS\_INHERITS\_KT\_PRIVATE\_CLASS for a Java private class - [`KT-68702`](https://youtrack.jetbrains.com/issue/KT-68702) K2 IDE: AE “SyntheticAccessorLowering should not attempt to modify other files!” on evaluating of supermethods toString() and hashCode() - [`KT-69509`](https://youtrack.jetbrains.com/issue/KT-69509) K2 IDE / Kotlin Debugger: exception in lowering ReplaceKFunctionInvokeWithFunctionInvoke when compiling code fragment - [`KT-66323`](https://youtrack.jetbrains.com/issue/KT-66323) K2: Clarify contracts of `ConeSubstitutorByMap` - [`KT-69652`](https://youtrack.jetbrains.com/issue/KT-69652) K2: False positive "Redundant visibility modifier" with explicitApi() - [`KT-65815`](https://youtrack.jetbrains.com/issue/KT-65815) K2: False-positive NO\_RETURN\_IN\_FUNCTION\_WITH\_BLOCK\_BODY with inline function returning Nothing? - [`KT-60508`](https://youtrack.jetbrains.com/issue/KT-60508) K2/stdlib: compilation of common code fails if built-in types are provided as platform sources - [`KT-70037`](https://youtrack.jetbrains.com/issue/KT-70037) K2: Generate IR body for `Any` constructor despite that fact it's empty - [`KT-69870`](https://youtrack.jetbrains.com/issue/KT-69870) K2: False positive NO\_VALUE\_FOR\_PARAMETER for override without default but base with default and with enabled KMP - [`KT-69599`](https://youtrack.jetbrains.com/issue/KT-69599) K2: Investiage and fix lots of `UNRESOLVED_REFERENCE` during building stdlib native with K2 - [`KT-68375`](https://youtrack.jetbrains.com/issue/KT-68375) K2: FirPrimaryConstructorSuperTypeChecker fails on generated superclasses - [`KT-58309`](https://youtrack.jetbrains.com/issue/KT-58309) Deal with test failures inside FirTypeEnhancementTestGenerated - [`KT-27112`](https://youtrack.jetbrains.com/issue/KT-27112) Implement prohibition of exposing types via type parameters' bounds - [`KT-69831`](https://youtrack.jetbrains.com/issue/KT-69831) Add long FastJarFS tests to the `nightlyFirCompilerTest` configuration - [`KT-69537`](https://youtrack.jetbrains.com/issue/KT-69537) K2: Unintentional behavior caused by InferMoreImplicationsFromBooleanExpressions - [`KT-59814`](https://youtrack.jetbrains.com/issue/KT-59814) K2: Explore why `FirDataFlowAnalyzer` strips away value parameters of non top-level-functions - [`KT-69069`](https://youtrack.jetbrains.com/issue/KT-69069) K2: expect overloads are deprioritized in common code - [`KT-69511`](https://youtrack.jetbrains.com/issue/KT-69511) KJS / K2: False positive IMPLICIT\_BOXING\_IN\_IDENTITY\_EQUALS when comparing dynamic with primitive - [`KT-69500`](https://youtrack.jetbrains.com/issue/KT-69500) Native: introduce an option to inline less "ALWAYS\_INLINE" runtime procedures - [`KT-69717`](https://youtrack.jetbrains.com/issue/KT-69717) K2: Don't call `coneType`/`coneTypeOrNull` extensions on `FirResolvedTypeRef` - [`KT-60440`](https://youtrack.jetbrains.com/issue/KT-60440) K2/Java: investigate constructor own type parameters enhancement - [`KT-69871`](https://youtrack.jetbrains.com/issue/KT-69871) K2 allows modifier keywords on `package` declaration - [`KT-61271`](https://youtrack.jetbrains.com/issue/KT-61271) Frontend: "The label does not denote a loop." error message is used even if the label does denote a loop - [`KT-69768`](https://youtrack.jetbrains.com/issue/KT-69768) K2: Investigate differences in tests without alias behavior with typealias to enum entry - [`KT-63846`](https://youtrack.jetbrains.com/issue/KT-63846) K2: incorrect type argument inferred for smart cast value of a generic type - [`KT-69774`](https://youtrack.jetbrains.com/issue/KT-69774) Don't report overload resolution ambiguity if extension receiver contains error type - [`KT-61316`](https://youtrack.jetbrains.com/issue/KT-61316) K2: Consider throwing exception when replaceType is called on special FirExpressions with immutable types - [`KT-69201`](https://youtrack.jetbrains.com/issue/KT-69201) Discard expect candidate in overload conflict resolver if there is no actual - [`KT-69557`](https://youtrack.jetbrains.com/issue/KT-69557) K2: Investigate failures with enabled assertion in `ConeResolvedAtom` constructor - [`KT-69783`](https://youtrack.jetbrains.com/issue/KT-69783) K2: Make FirTypeProjection sealed - [`KT-68000`](https://youtrack.jetbrains.com/issue/KT-68000) Investigate getting container functions in checkers - [`KT-69649`](https://youtrack.jetbrains.com/issue/KT-69649) K2: Cleanup various utilities about `toSymbol` conversion - [`KT-69185`](https://youtrack.jetbrains.com/issue/KT-69185) K2: Prepare a test runner for diagnostic tests with type aliases non-expanded automatically - [`KT-69390`](https://youtrack.jetbrains.com/issue/KT-69390) UNRESOLVED\_REFERENCE on call with lambda argument turns whole call red - [`KT-68794`](https://youtrack.jetbrains.com/issue/KT-68794) K2 IDE / Kotlin Debugger: ISE “No real overrides for FUN FAKE\_OVERRIDE name:privateFun visibility:private modality:FINAL” on calling private function from superclass in debugger - [`KT-69315`](https://youtrack.jetbrains.com/issue/KT-69315) FirJavaGenericVarianceViolationTypeChecker: StackOverflowError - [`KT-49962`](https://youtrack.jetbrains.com/issue/KT-49962) "Visibility inherited is not allowed in forVisibility" when analyzing broken file - [`KT-24212`](https://youtrack.jetbrains.com/issue/KT-24212) Report "This class shouldn't be used in Kotlin" on calling constructor of Java class with Kotlin analog - [`KT-64195`](https://youtrack.jetbrains.com/issue/KT-64195) K2: Consider make `FirAnonymousInitializer. containingDeclarationSymbol` not null - [`KT-64254`](https://youtrack.jetbrains.com/issue/KT-64254) "Projections are not allowed on type arguments of functions and properties": Type-project type arguments of properties - [`KT-40533`](https://youtrack.jetbrains.com/issue/KT-40533) Error message PROPERTY\_WITH\_NO\_TYPE\_NO\_INITIALIZER for interface property is not fully correct - [`KT-20014`](https://youtrack.jetbrains.com/issue/KT-20014) Improve diagnostics for lateinit property without initializer and type annotation - [`KT-51366`](https://youtrack.jetbrains.com/issue/KT-51366) False positive error "Value class cannot extend classes" when extending generic interface with wrong number of type arguments - [`KT-68277`](https://youtrack.jetbrains.com/issue/KT-68277) K2: false positive UNREACHABLE\_CODE for non-local `return`/`break` - [`KT-69544`](https://youtrack.jetbrains.com/issue/KT-69544) K2: Mapped Java `@Target` annotation's vararg argument has swapped type and elementType - [`KT-68998`](https://youtrack.jetbrains.com/issue/KT-68998) K2: Refactor postponed atoms - [`KT-69288`](https://youtrack.jetbrains.com/issue/KT-69288) Native: Apple LLVM 16 fork can't read bitcode with memory attribute produced by upstream LLVM 16 - [`KT-67808`](https://youtrack.jetbrains.com/issue/KT-67808) K2: Inconsistent properties initialization analysis in init blocks in presence of smartcast on this - [`KT-69035`](https://youtrack.jetbrains.com/issue/KT-69035) K2: Investigate potential removal of FirMangler - [`KT-69473`](https://youtrack.jetbrains.com/issue/KT-69473) Missing suspend-conversion for lambda in the last statement of when with expected type - [`KT-64640`](https://youtrack.jetbrains.com/issue/KT-64640) Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collections - [`KT-65441`](https://youtrack.jetbrains.com/issue/KT-65441) K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfaces - [`KT-54792`](https://youtrack.jetbrains.com/issue/KT-54792) Store program order of properties inside `@kotlin`.Metadata - [`KT-59832`](https://youtrack.jetbrains.com/issue/KT-59832) K2: Fix the TODO about merging values for labels in UnusedChecker ##### Compose compiler ##### New features - [`b/328817808`](https://issuetracker.google.com/issues/328817808) Added the PausableComposition feature flags - [`83c48a0`](https://github.com/JetBrains/kotlin/commit/83c48a0dc54c8b48bd46805c84c5df215558134d) Decoy support for JS target is removed from Compose compiler ##### Fixes - [`CMP-6926`](https://youtrack.jetbrains.com/issue/CMP-6926) iOS compilation failure: Unresolved reference 'copy' - [`CMP-6842`](https://youtrack.jetbrains.com/issue/CMP-6842) FAKE\_OVERRIDE declarations are not preserved in metadata and should not be marked with annotations - [`CMP-6788`](https://youtrack.jetbrains.com/issue/CMP-6788) non-private field compilation warnings (stableprop & ComposableSingletons) - [`CMP-6685`](https://youtrack.jetbrains.com/issue/CMP-6685) Native/WASM compilation failure on Composable function with value-type arg + return - [`b/376058538`](https://issuetracker.google.com/issues/376058538) Fix stack overflow when inferring stability of indirect generic loop - [`b/339322843`](https://issuetracker.google.com/issues/339322843) Transform `@Composable` property delegate references - [`b/366040842`](https://issuetracker.google.com/issues/366040842), [`b/365066530`](https://issuetracker.google.com/issues/365066530) Replace deep copy in Compose plugin with in-place type mutation - [`b/329477544`](https://issuetracker.google.com/issues/329477544) Force open / overridden Composable functions to be non-restartable. - [`b/361652128`](https://issuetracker.google.com/issues/361652128) Disable live literal transform if the corresponding flag is disabled - [`b/325004814`](https://issuetracker.google.com/issues/325004814) \[Compose] Fix infinite recursion in target analysis - [`b/357878245`](https://issuetracker.google.com/issues/357878245) Disallow open `@Composable` functions with default params to fix binary compatibility issues. - [`b/338597078`](https://issuetracker.google.com/issues/338597078) \[Compose] Fix target warning message - [`b/351858979`](https://issuetracker.google.com/issues/351858979) Fix stability inferencing of interfaces on incremental compilation - [`b/346821372`](https://issuetracker.google.com/issues/346821372) \[Compose] Fix code generation for group optimization - [`b/339311821`](https://issuetracker.google.com/issues/339311821) Give warning when stability configuration file is not found - [`b/346821372`](https://issuetracker.google.com/issues/346821372) Fixes group generation for if statements when nonSkippingGroupOptimization is enabled. ##### IDE. Gradle Integration - [`KT-48554`](https://youtrack.jetbrains.com/issue/KT-48554) \[Multiplatform Import] Ensure consistency between `GradleImportProperties` and `PropertiesProvider` ##### IR. Actualizer - [`KT-71631`](https://youtrack.jetbrains.com/issue/KT-71631) Kotlin-to-Java direct actualization: java annotation element isn't actualized - [`KT-71597`](https://youtrack.jetbrains.com/issue/KT-71597) Kotlin-to-Java direct actualization: it is possible to actualize a function with default parameters - [`KT-71592`](https://youtrack.jetbrains.com/issue/KT-71592) Kotlin-to-Java direct actualization: constructor of nested class can't be actualized - [`KT-71577`](https://youtrack.jetbrains.com/issue/KT-71577) Kotlin-to-Java direct actualization: method can be actualized by java static method - [`KT-69632`](https://youtrack.jetbrains.com/issue/KT-69632) K2: Expect actual mismatch on actualization with alias to expect class - [`KT-71817`](https://youtrack.jetbrains.com/issue/KT-71817) Actualization of static members is broken for non-JVM platforms ##### IR. Inlining ##### New Features - [`KT-69527`](https://youtrack.jetbrains.com/issue/KT-69527) Set the right visibility for synthetic accessors in SyntheticAccessorLowering ##### Fixes - [`KT-71232`](https://youtrack.jetbrains.com/issue/KT-71232) Implement an IR validation check that ensures that all IrFields are private on non-JVM backends - [`KT-69307`](https://youtrack.jetbrains.com/issue/KT-69307) Source offsets seem incorrect after IR inlining - [`KT-72884`](https://youtrack.jetbrains.com/issue/KT-72884) Internal error in body lowering: IllegalStateException: Can't inline given reference, it should've been lowered - [`KT-71659`](https://youtrack.jetbrains.com/issue/KT-71659) IR Inliner fails to inline function expressions due to implicit cast from the 1st phase of inlining - [`KT-69681`](https://youtrack.jetbrains.com/issue/KT-69681) IR: Report warnings on exposure of private types in non-private inline functions - [`KT-72521`](https://youtrack.jetbrains.com/issue/KT-72521) Kotlin/Native: java.lang.AssertionError: kfun:androidx.compose.runtime#access$\<get-androidx\_compose\_runtime\_ProvidedValue$stable>$p$tComposerKt(){}kotlin.Int - [`KT-72623`](https://youtrack.jetbrains.com/issue/KT-72623) Don't generate synthetic accessors in files other than the one being lowered - [`KT-70420`](https://youtrack.jetbrains.com/issue/KT-70420) Enable double-inlining in Native & JS backends by default - [`KT-67292`](https://youtrack.jetbrains.com/issue/KT-67292) Handling assertions before the IR inliner - [`KT-70423`](https://youtrack.jetbrains.com/issue/KT-70423) KLIB: SyntheticAccessorLowering - generate static factory functions instead of synthetic constructors - [`KT-69565`](https://youtrack.jetbrains.com/issue/KT-69565) Don't generate synthetic accessors for private symbols inside local classes - [`KT-69787`](https://youtrack.jetbrains.com/issue/KT-69787) Handle clashes of synthetic accessors generated for top-level callables - [`KT-71137`](https://youtrack.jetbrains.com/issue/KT-71137) Generate synthetic accessors for backing fields - [`KT-67172`](https://youtrack.jetbrains.com/issue/KT-67172) Native & JS: Introduce OuterThisInInlineFunctionsSpecialAccessorLowering - [`KT-64865`](https://youtrack.jetbrains.com/issue/KT-64865) Explicitly generate accessors for private declarations in inline functions - [`KT-71657`](https://youtrack.jetbrains.com/issue/KT-71657) K/JS: Double-inlining causes failures in IC with top-level synthetic accessors - [`KT-71078`](https://youtrack.jetbrains.com/issue/KT-71078) Inline all functions in local classes at the 1st stage of inlining - [`KT-69802`](https://youtrack.jetbrains.com/issue/KT-69802) Don't extract local classes from inline functions in double inlining mode - [`KT-66508`](https://youtrack.jetbrains.com/issue/KT-66508) IR inliner: Add implicit cast for initializer of temporary variables - [`KT-66507`](https://youtrack.jetbrains.com/issue/KT-66507) IR inliner: Enable implicit casts in all KLib backends - [`KT-69466`](https://youtrack.jetbrains.com/issue/KT-69466) IrInlinedFunctionBlock: Refactor it to make it possible to serialize in KLIBs - [`KT-69317`](https://youtrack.jetbrains.com/issue/KT-69317) IR Inlining. Try to place inlined arguments outside `IrInlinedFunctionBlock` - [`KT-67149`](https://youtrack.jetbrains.com/issue/KT-67149) Common Native/JS lowering prefix at the 2nd phase of compilation - [`KT-69172`](https://youtrack.jetbrains.com/issue/KT-69172) Implement double-inlining for Native - [`KT-67304`](https://youtrack.jetbrains.com/issue/KT-67304) Keep in common prefix: Shared variables + local classes in inline lambdas - [`KT-67170`](https://youtrack.jetbrains.com/issue/KT-67170) ArrayConstructorReferenceLowering is missing in Native - [`KT-70583`](https://youtrack.jetbrains.com/issue/KT-70583) Internal error in body lowering: java.lang.IllegalStateException: An attempt to generate an accessor after all accessors have been already added to their containers - [`KT-69700`](https://youtrack.jetbrains.com/issue/KT-69700) Inline `stub_for_inlining` use sites survive after the inliner - [`KT-69462`](https://youtrack.jetbrains.com/issue/KT-69462) Support dumping IR after inlining in compiler tests - [`KT-70693`](https://youtrack.jetbrains.com/issue/KT-70693) IR: replace IrReturnableBlock.inlineFucntion with IrInlinedFunctionBlock.inlineFucntion - [`KT-70763`](https://youtrack.jetbrains.com/issue/KT-70763) IR inline: consider storing stub\_for\_inline as an inlined function for callable reference - [`KT-69168`](https://youtrack.jetbrains.com/issue/KT-69168) Wrap assertion calls before IR inliner - [`KT-69167`](https://youtrack.jetbrains.com/issue/KT-69167) Create intrinsics in stdlib for handling assertions in KLIB-based backends - [`KT-69169`](https://youtrack.jetbrains.com/issue/KT-69169) Expand assertion intrinsics in backend based on CLI parameters - [`KT-69174`](https://youtrack.jetbrains.com/issue/KT-69174) Implement the basic Synthetic Accessors Lowering for KLIB-based backends ##### IR. Interpreter - [`KT-70388`](https://youtrack.jetbrains.com/issue/KT-70388) K2 IDE / Kotlin Debugger: InterpreterError “Unsupported number of arguments for invocation as builtin function: INT\_MAX\_POWER\_OF\_TWO” during evaluation ##### IR. Tree ##### Fixes - [`KT-69644`](https://youtrack.jetbrains.com/issue/KT-69644) Report warning on cross-file IrGetField operations generated by compiler plugins - [`KT-68789`](https://youtrack.jetbrains.com/issue/KT-68789) Prepare tests for testing visibility (non-)violation in inlined IR - [`KT-71826`](https://youtrack.jetbrains.com/issue/KT-71826) stdlib fails to compile with `-Xserialize-ir=all` - [`KT-70333`](https://youtrack.jetbrains.com/issue/KT-70333) IR: remove ability to apply compiler plugins during KAPT stub generation phase - [`KT-67752`](https://youtrack.jetbrains.com/issue/KT-67752) Make copyRemappedTypeArgumentsFrom and transformValueArguments methods in DeepCopyIrTreeWithSymbols protected instead of private - [`KT-68151`](https://youtrack.jetbrains.com/issue/KT-68151) Setup testing visibility of referenced declarations in IR - [`KT-68988`](https://youtrack.jetbrains.com/issue/KT-68988) \[Tests] Streamline the order of irFiles in IR- and Kotlin-like dumps - [`KT-65773`](https://youtrack.jetbrains.com/issue/KT-65773) Auto generate IR implementation classes - [`KT-70330`](https://youtrack.jetbrains.com/issue/KT-70330) Automatically keep track of IrValueParameter.index - [`KT-68495`](https://youtrack.jetbrains.com/issue/KT-68495) Compile-time failure on bounded generic value used in a contains-check with range - [`KT-68974`](https://youtrack.jetbrains.com/issue/KT-68974) Validate scopes of IrValueParameters in IrValidator ##### JavaScript ##### New Features - [`KT-70254`](https://youtrack.jetbrains.com/issue/KT-70254) K/JS: Generate arrows in ES6 mode instead of anonymous functions - [`KT-70283`](https://youtrack.jetbrains.com/issue/KT-70283) KJS / ES6: Don't generate bind(this) calls for anonymous functions that capture `this` ##### Fixes - [`KT-43567`](https://youtrack.jetbrains.com/issue/KT-43567) KJS: toString() method and string interpolation of variable produce different code - [`KT-70533`](https://youtrack.jetbrains.com/issue/KT-70533) KJS: changed string concatenation behavior in 2.0 - [`KT-14013`](https://youtrack.jetbrains.com/issue/KT-14013) JS toString produces different result for nullable/non-nullable ref to the same array - [`KT-72732`](https://youtrack.jetbrains.com/issue/KT-72732) KJS / ES6: "SyntaxError: 'super' keyword unexpected here" with enabled `-Xir-generate-inline-anonymous-functions` and disabled arrow functions - [`KT-69408`](https://youtrack.jetbrains.com/issue/KT-69408) \[JS] Enable insertAdditionalImplicitCasts=true (as in other KLIB-based backends) - [`KT-71821`](https://youtrack.jetbrains.com/issue/KT-71821) K/JS tests are failing with coroutines flow and turbine on timeout - [`KT-31799`](https://youtrack.jetbrains.com/issue/KT-31799) Allow non-identifier characters in Kotlin/JS (backquoted properties, `@JsName`) - [`KT-55869`](https://youtrack.jetbrains.com/issue/KT-55869) Coroutine is not intercepted, when the coroutine is started calling `startCoroutineUninterceptedOrReturn` using callable reference - [`KT-70117`](https://youtrack.jetbrains.com/issue/KT-70117) Generate debug info for code from `js` call - [`KT-69642`](https://youtrack.jetbrains.com/issue/KT-69642) ES generator-based coroutines rely on eval - [`KT-67452`](https://youtrack.jetbrains.com/issue/KT-67452) K2: Consider hiding dynamic type creation under FlexibleTypeFactory for JS only - [`KT-70226`](https://youtrack.jetbrains.com/issue/KT-70226) Delete JS tests that were only run with the legacy JS backend - [`KT-71338`](https://youtrack.jetbrains.com/issue/KT-71338) K/JS: Add a flag for switching generating arrow functions on & off - [`KT-69173`](https://youtrack.jetbrains.com/issue/KT-69173) Implement double-inlining for JS - [`KT-67327`](https://youtrack.jetbrains.com/issue/KT-67327) JS: Remove error tolerance - [`KT-69892`](https://youtrack.jetbrains.com/issue/KT-69892) Array.isArray() returns false for an instance returned by KtList.asReadonlyArrayView() - [`KT-70231`](https://youtrack.jetbrains.com/issue/KT-70231) Delete the org.jetbrains.kotlin.cli.js.dce.K2JSDce class - [`KT-69928`](https://youtrack.jetbrains.com/issue/KT-69928) KJS: keys() and values() of KtMap's JS view don't behave as expected - [`KT-70707`](https://youtrack.jetbrains.com/issue/KT-70707) KJS: asJsReadonlyMapView does not implement ReadonlyMap correctly - [`KT-71220`](https://youtrack.jetbrains.com/issue/KT-71220) Fix invalid IrFunctionReference creation in InnerClassConstructorCallsLowering - [`KT-70393`](https://youtrack.jetbrains.com/issue/KT-70393) Investigate failing JS test after switch stdlib compilation to K2 - [`KT-64429`](https://youtrack.jetbrains.com/issue/KT-64429) K2: Implement KlibJsIrTextTestCaseGenerated for K2 - [`KT-69587`](https://youtrack.jetbrains.com/issue/KT-69587) \[Tests] Fix multi-module deserialization in JS irText tests - [`KT-70219`](https://youtrack.jetbrains.com/issue/KT-70219) Delete the org.jetbrains.kotlin.cli.js.K2JSCompiler class - [`KT-70221`](https://youtrack.jetbrains.com/issue/KT-70221) Rename org.jetbrains.kotlin.cli.js.K2JsIrCompiler to K2JSCompiler - [`KT-70229`](https://youtrack.jetbrains.com/issue/KT-70229) Remove test classes related to the legacy JS backend - [`KT-70359`](https://youtrack.jetbrains.com/issue/KT-70359) Remove legacy backend-related test directives from Kotlin/JS tests - [`KT-70362`](https://youtrack.jetbrains.com/issue/KT-70362) Clean up Gradle tasks for running JS tests against the legacy JS backend - [`KT-66181`](https://youtrack.jetbrains.com/issue/KT-66181) Reorganize JsCodeOutliningLowering and keep it before the IR inliner - [`KT-30016`](https://youtrack.jetbrains.com/issue/KT-30016) JS BE does not generate special bridge methods - [`KT-68975`](https://youtrack.jetbrains.com/issue/KT-68975) KJS: Investigate calling `js(...)` from inline functions ##### KMM Plugin - [`KT-71011`](https://youtrack.jetbrains.com/issue/KT-71011) AS KMP plugin: ios application can't start for 2024.2.1 ##### Klibs ##### New Features - [`KT-64169`](https://youtrack.jetbrains.com/issue/KT-64169) \[KLIB Resolve] Don't skip libraries that happen to have the same `unique_name` - [`KT-68322`](https://youtrack.jetbrains.com/issue/KT-68322) Compiler (JS, Wasm): warn about incompatible Kotlin stdlib/compiler pair ##### Fixes - [`KT-61098`](https://youtrack.jetbrains.com/issue/KT-61098) \[KLIB Resolve] Don't allow working with KLIB "repositories" - [`KT-72965`](https://youtrack.jetbrains.com/issue/KT-72965) Ignore subclassOptInRequired constructor warning - [`KT-68792`](https://youtrack.jetbrains.com/issue/KT-68792) Bump KLIB ABI version in 2.1 - [`KT-67474`](https://youtrack.jetbrains.com/issue/KT-67474) K2: Missing `@ExtensionFunctionType` in metadata in KLIBs - [`KT-71633`](https://youtrack.jetbrains.com/issue/KT-71633) \[2.1.0] Suspicious "Argument type mismatch" error - [`KT-70146`](https://youtrack.jetbrains.com/issue/KT-70146) \[KLIB Resolve] Don't fail on nonexistent transitive dependency - [`KT-71455`](https://youtrack.jetbrains.com/issue/KT-71455) \[KLIB Resolve] Forbid passing KLIB unique names via CLI - [`KT-67448`](https://youtrack.jetbrains.com/issue/KT-67448) \[KLIB Resolve] Deprecate passing KLIB unique names via CLI - [`KT-67450`](https://youtrack.jetbrains.com/issue/KT-67450) \[KLIB Resolve] Kotlin/Native: Only one implicit repository should remain for the compiler ("dist") - [`KT-70285`](https://youtrack.jetbrains.com/issue/KT-70285) Warning about incompatible stdlib (JS/Wasm) is not reported if stdlib is unpacked - [`KT-66218`](https://youtrack.jetbrains.com/issue/KT-66218) Clean-up the code for serialization & deserialization of DFGs to & from KLIBs - [`KT-71414`](https://youtrack.jetbrains.com/issue/KT-71414) KotlinLibraryResolver.resolveWithDependencies was evolved in binary incompatible way - [`KT-68195`](https://youtrack.jetbrains.com/issue/KT-68195) move KlibMetadataProtoBuf to frondend-independent module ##### Language Design - [`KT-54617`](https://youtrack.jetbrains.com/issue/KT-54617) Stabilize `@SubclassOptInRequired`: ability to require opt-in for interface implementation - [`KT-54458`](https://youtrack.jetbrains.com/issue/KT-54458) Preview of non-local break and continue - [`KT-69924`](https://youtrack.jetbrains.com/issue/KT-69924) Mention 'if' guard when '&&' is used incorrectly - [`KT-71222`](https://youtrack.jetbrains.com/issue/KT-71222) Remove `@ExperimentalSubclassOptIn` from SubclassOptInRequired - [`KT-67675`](https://youtrack.jetbrains.com/issue/KT-67675) Allow usage of Array\<Nothing?> - [`KT-70754`](https://youtrack.jetbrains.com/issue/KT-70754) Changes in typeOf behaviour for Kotlin/Native - [`KT-58659`](https://youtrack.jetbrains.com/issue/KT-58659) Prohibit implementing a var property with an inherited val property ##### Libraries ##### Performance Improvements - [`KT-66715`](https://youtrack.jetbrains.com/issue/KT-66715) Performance: faster alternative to String.lines() ##### Fixes - [`KT-71628`](https://youtrack.jetbrains.com/issue/KT-71628) Review deprecations in stdlib for 2.1 - [`KT-69545`](https://youtrack.jetbrains.com/issue/KT-69545) Kotlin/Native: Deprecate API marked with FreezingIsDeprecated to error - [`KT-56076`](https://youtrack.jetbrains.com/issue/KT-56076) K2: build Kotlin standard library - [`KT-71660`](https://youtrack.jetbrains.com/issue/KT-71660) Stabilize experimental API for 2.1 - [`KT-54299`](https://youtrack.jetbrains.com/issue/KT-54299) Extract org.w3c declarations to separate library from K/Wasm Stdlib - [`KT-68027`](https://youtrack.jetbrains.com/issue/KT-68027) Document caveats and deincentivise usage of measureTimeMillis - [`KT-71581`](https://youtrack.jetbrains.com/issue/KT-71581) Update outdated documentation to common lazy and provide samples - [`KT-71796`](https://youtrack.jetbrains.com/issue/KT-71796) Improve documentation for Path.walk and Path.visitFileTree functions - [`KT-68019`](https://youtrack.jetbrains.com/issue/KT-68019) Fill in missing package descriptions for standard library documentation - [`KT-52181`](https://youtrack.jetbrains.com/issue/KT-52181) Native: Inconsistent behaviour of LinkedHashMap#entries on JVM and Native - [`KT-71570`](https://youtrack.jetbrains.com/issue/KT-71570) Document suspend lambda builder - [`KT-65526`](https://youtrack.jetbrains.com/issue/KT-65526) Rewrite builtins as expect-actual - [`KT-68502`](https://youtrack.jetbrains.com/issue/KT-68502) K2: Fix or suppress stdlib K2 warnings - [`KT-68731`](https://youtrack.jetbrains.com/issue/KT-68731) K2: Handle some formally incompatible expect/actual classes in JVM stdlib - [`KT-70378`](https://youtrack.jetbrains.com/issue/KT-70378) Implement custom serialization for Uuid - [`KT-70005`](https://youtrack.jetbrains.com/issue/KT-70005) K/Wasm and K/Native: IntArray.sort - array element access out of bounds - [`KT-66764`](https://youtrack.jetbrains.com/issue/KT-66764) kotlinx-benchmark: rework on kotlin-compiler-embeddable - [`KT-69817`](https://youtrack.jetbrains.com/issue/KT-69817) Set up klib binary API validation for stdlib - [`KT-68396`](https://youtrack.jetbrains.com/issue/KT-68396) Handle some formally incompatible top-level expects/actuals callables - [`KT-69524`](https://youtrack.jetbrains.com/issue/KT-69524) kotlin.uuid.Uuid: checkHyphenAt - error message always specified index 8 - [`KT-69327`](https://youtrack.jetbrains.com/issue/KT-69327) \[native] FloatingPointParser.initialParse works incorrectly for some inputs - [`KT-46785`](https://youtrack.jetbrains.com/issue/KT-46785) Get rid of !! after readLine() in the standard library ##### Native - [`KT-71435`](https://youtrack.jetbrains.com/issue/KT-71435) Native: cannot access class 'objcnames.classes.Protocol' - [`KT-49279`](https://youtrack.jetbrains.com/issue/KT-49279) Kotlin/Native: update LLVM from 11.1.0 to 16.0.0 - [`KT-61299`](https://youtrack.jetbrains.com/issue/KT-61299) Native: patch LLVM to prevent it from using signal handlers incompatibly with JVM - [`KT-69637`](https://youtrack.jetbrains.com/issue/KT-69637) Native: our LLVM shouldn't advise submitting bugs to the upstream - [`KT-64636`](https://youtrack.jetbrains.com/issue/KT-64636) kotlin.incremental.native=true causes IrLinkageError - [`KT-69142`](https://youtrack.jetbrains.com/issue/KT-69142) ObsoleteWorkersApi and FreezingIsDeprecated is not displayed on targets in webdocs ##### Native. Build Infrastructure - [`KT-71820`](https://youtrack.jetbrains.com/issue/KT-71820) Update the coroutines version used in kotlin-native build infrastructure - [`KT-69479`](https://youtrack.jetbrains.com/issue/KT-69479) Native: remove custom python version building from the LLVM builder container image - [`KT-63214`](https://youtrack.jetbrains.com/issue/KT-63214) \[K/N] llvm build script fails with MacOSX14.0.sdk sysroot ##### Native. ObjC Export - [`KT-62997`](https://youtrack.jetbrains.com/issue/KT-62997) IllegalStateException for hashCode(): KClass for Objective-C classes is not supported yet - [`KT-59497`](https://youtrack.jetbrains.com/issue/KT-59497) KClass.simpleName returns null in ObjC-inherited class ##### Native. Platform Libraries - [`KT-70032`](https://youtrack.jetbrains.com/issue/KT-70032) Rebuild platform libraries in 2.1.0 with Xcode 16 - [`KT-69448`](https://youtrack.jetbrains.com/issue/KT-69448) LLVM 16 clang with Xcode 16 headers: 'sys/cdefs.h' file not found ##### Native. Runtime - [`KT-70680`](https://youtrack.jetbrains.com/issue/KT-70680) Kotlin/Native: Use WritableTypeInfo when creating Swift wrapper from the runtime - [`KT-70568`](https://youtrack.jetbrains.com/issue/KT-70568) Native: revert workaround for debug with LLVM 16 - [`KT-67730`](https://youtrack.jetbrains.com/issue/KT-67730) Native: fix runtime compilation warnings after update to LLVM 16 ##### Native. Runtime. Memory - [`KT-72624`](https://youtrack.jetbrains.com/issue/KT-72624) Native: testRelease\_on\_unattached\_thread sometimes fails with Releasing StableRef with rc 0 - [`KT-71401`](https://youtrack.jetbrains.com/issue/KT-71401) K/N: CMS barrier can be executed on an unregisterred thread - [`KT-70364`](https://youtrack.jetbrains.com/issue/KT-70364) Kotlin/Native: data race during GC initialization - [`KT-68544`](https://youtrack.jetbrains.com/issue/KT-68544) \[Native] Implement heap dump tool - [`KT-70365`](https://youtrack.jetbrains.com/issue/KT-70365) Kotlin/Native: make thread id be pointer size ##### Native. Swift Export ##### New Features - [`KT-71539`](https://youtrack.jetbrains.com/issue/KT-71539) Swift Export: export class member overrides - [`KT-70442`](https://youtrack.jetbrains.com/issue/KT-70442) Swift Export: export class inheritance - [`KT-68864`](https://youtrack.jetbrains.com/issue/KT-68864) Refactor internal details of swift-export-standalone ##### Fixes - [`KT-70678`](https://youtrack.jetbrains.com/issue/KT-70678) Swift Export: generate Kotlin<->Swift type mapping - [`KT-70920`](https://youtrack.jetbrains.com/issue/KT-70920) Swift Export Nullability: primitive type - [`KT-71087`](https://youtrack.jetbrains.com/issue/KT-71087) Swift Export: Nullability: Never - [`KT-71086`](https://youtrack.jetbrains.com/issue/KT-71086) Swift Export: Nullability: Strings - [`KT-70919`](https://youtrack.jetbrains.com/issue/KT-70919) Swift Export Nullability: reference type - [`KT-71026`](https://youtrack.jetbrains.com/issue/KT-71026) Swift Export: function overloading with ref types does not work - [`KT-70960`](https://youtrack.jetbrains.com/issue/KT-70960) Swift Export nullability: add nullability to sir and printer - [`KT-70063`](https://youtrack.jetbrains.com/issue/KT-70063) Swift export generates invalid Swift code for class and function with the same name - [`KT-70069`](https://youtrack.jetbrains.com/issue/KT-70069) Swift export: filter out extension properties - [`KT-70068`](https://youtrack.jetbrains.com/issue/KT-70068) Swift export: nullable types are not marked as unsupported - [`KT-69287`](https://youtrack.jetbrains.com/issue/KT-69287) Swift Export: support leaking dependencies - [`KT-69633`](https://youtrack.jetbrains.com/issue/KT-69633) Provide interface for multiple module translation - [`KT-69286`](https://youtrack.jetbrains.com/issue/KT-69286) \[Swift Export]\[TestInfra] Support translating multiple roots - [`KT-69376`](https://youtrack.jetbrains.com/issue/KT-69376) Property with Any type does not force addition of import ##### Reflection - [`KT-71378`](https://youtrack.jetbrains.com/issue/KT-71378) KotlinReflectionInternalError: Inconsistent number of parameters in the descriptor and Java reflection object ##### Specification - [`KT-53427`](https://youtrack.jetbrains.com/issue/KT-53427) Specify `@SubclassOptInRequired` ##### Tools. CLI ##### New Features - [`KT-8087`](https://youtrack.jetbrains.com/issue/KT-8087) Make it possible to suppress warnings globally in compiler (via command-line option) - [`KT-71537`](https://youtrack.jetbrains.com/issue/KT-71537) Add JVM target bytecode version 23 ##### Fixes - [`KT-70991`](https://youtrack.jetbrains.com/issue/KT-70991) K2: Compilation fails if project version has a comma - [`KT-70179`](https://youtrack.jetbrains.com/issue/KT-70179) K2: Building a file with kotlin-test-junit without junit does not include annotations - [`KT-72311`](https://youtrack.jetbrains.com/issue/KT-72311) KotlinCliJavaFileManagerImpl caches empty result and broke repeated analyses - [`KT-61745`](https://youtrack.jetbrains.com/issue/KT-61745) K2: support light tree in multi-module chunk mode - [`KT-70885`](https://youtrack.jetbrains.com/issue/KT-70885) Errors are not reported for wrong arguments in -Xsuppress-warning flag for non-jvm backends - [`KT-69541`](https://youtrack.jetbrains.com/issue/KT-69541) K2: "IllegalArgumentException: Unexpected versionNeededToExtract" on using JAR packaged as ZIP64 - [`KT-69434`](https://youtrack.jetbrains.com/issue/KT-69434) K2: Kotlin compiler JarFS can't handle large dependencies (>2GB) - [`KT-70959`](https://youtrack.jetbrains.com/issue/KT-70959) K2: Support legacy metadata jar format in K2 compiler - [`KT-70337`](https://youtrack.jetbrains.com/issue/KT-70337) Obsolete code is not removed after refactoring - `JvmEnvironmentConfigurator.registerModuleDependencies` - [`KT-70322`](https://youtrack.jetbrains.com/issue/KT-70322) Merge CLITool and CLICompiler classes ##### Tools. CLI. Native - [`KT-68673`](https://youtrack.jetbrains.com/issue/KT-68673) Kotlin/Native "You have not specified any compilation arguments. No output has been produced" when no source nor `-Xinclude` is passed ##### Tools. Compiler Plugins ##### Fixes - [`KT-72804`](https://youtrack.jetbrains.com/issue/KT-72804) Regression in Kotlin 2.1.0: compilation fails when building iOS - [`KT-72824`](https://youtrack.jetbrains.com/issue/KT-72824) Kotlin power-assert plugin StringIndexOutOfBoundsException - [`KT-71658`](https://youtrack.jetbrains.com/issue/KT-71658) Transform top-level atomic properties to Java boxed atomics - [`KT-65645`](https://youtrack.jetbrains.com/issue/KT-65645) Atomicfu-plugin: compilation hangs on a long string concatenation - [`KT-69038`](https://youtrack.jetbrains.com/issue/KT-69038) Power-Assert does not display const vals - [`KT-71525`](https://youtrack.jetbrains.com/issue/KT-71525) Setting JvmAbiConfigurationKeys.REMOVE\_PRIVATE\_CLASSES = true triggers java.util.ConcurrentModificationException - [`KT-41888`](https://youtrack.jetbrains.com/issue/KT-41888) IrExpression startOffset and endOffset are inconsistent with raw file text - [`KT-69856`](https://youtrack.jetbrains.com/issue/KT-69856) Compose Plugin: IrType.erasedUpperBound throws NullPointerException when evaluating IrScript nodes due to missing targetClass - [`KT-69410`](https://youtrack.jetbrains.com/issue/KT-69410) PowerAssert: Cannot find overload of requireNotNull without existing message - [`KT-66293`](https://youtrack.jetbrains.com/issue/KT-66293) Atomicfu-plugin: wrong return types for lowered extension functions - [`KT-69646`](https://youtrack.jetbrains.com/issue/KT-69646) PowerAssert: result of array access operator is unaligned - [`KT-70112`](https://youtrack.jetbrains.com/issue/KT-70112) Power Assert: multiline assertion support - [`KT-70504`](https://youtrack.jetbrains.com/issue/KT-70504) \[atomicfu-plugin] Incremental compilation fails for atomic extensions on JVM - [`KT-70351`](https://youtrack.jetbrains.com/issue/KT-70351) K2 CodeGen API exception triggered by a compose compiler plugin lowering transformer for data class example - [`KT-70113`](https://youtrack.jetbrains.com/issue/KT-70113) Power Assert: tab support - [`KT-69806`](https://youtrack.jetbrains.com/issue/KT-69806) K2: SOE on nested plugin-like annotation in class annotated with itself - [`KT-69538`](https://youtrack.jetbrains.com/issue/KT-69538) jvm-abi-gen: Remove copy$default if data class constructor is private and ConsistentCopyVisibility is used ##### Tools. Compiler plugins. Serialization - [`KT-70110`](https://youtrack.jetbrains.com/issue/KT-70110) Prohibit `@Serializable` on companion object of another `@Serializable` class - [`KT-69388`](https://youtrack.jetbrains.com/issue/KT-69388) Serialization: "You should use ConeClassLookupTagWithFixedSymbol" caused by `@Serializable` on local generic class ##### Tools. Daemon - [`KT-69929`](https://youtrack.jetbrains.com/issue/KT-69929) compileKotlin task reports that daemon has terminated unexpectedly - [`KT-72530`](https://youtrack.jetbrains.com/issue/KT-72530) The daemon has terminated unexpectedly on startup attempt [#&#8203;1](https://github.com/JetBrains/kotlin/issues/1) with error code: Unknown ##### Tools. Fleet. ObjC Export ##### Fixes - [`KT-71162`](https://youtrack.jetbrains.com/issue/KT-71162) ObjCExport: nullable functional type with reference arguments - [`KT-71022`](https://youtrack.jetbrains.com/issue/KT-71022) ObjCExport: enum c keywords translation - [`KT-71082`](https://youtrack.jetbrains.com/issue/KT-71082) ObjCExport: KotlinUnit translated as Function1 - [`KT-70781`](https://youtrack.jetbrains.com/issue/KT-70781) ObjCExport: classifiers and callables type parameters translation - [`KT-70943`](https://youtrack.jetbrains.com/issue/KT-70943) ObjCExport: extension order - [`KT-70840`](https://youtrack.jetbrains.com/issue/KT-70840) ObjCExport: duplicated interfaces - [`KT-70642`](https://youtrack.jetbrains.com/issue/KT-70642) ObjCExport: translate collection type arguments as id - [`KT-70546`](https://youtrack.jetbrains.com/issue/KT-70546) ObjCExport: method generic parameter is lost and translated as id - [`KT-70329`](https://youtrack.jetbrains.com/issue/KT-70329) ObjCExport: translation and forward of super generic types - [`KT-70263`](https://youtrack.jetbrains.com/issue/KT-70263) ObjCExport: generic extension support - [`KT-69685`](https://youtrack.jetbrains.com/issue/KT-69685) ObjCExport: extension translated as not extension - [`KT-70318`](https://youtrack.jetbrains.com/issue/KT-70318) ObjCExport: translate companion type - [`KT-69252`](https://youtrack.jetbrains.com/issue/KT-69252) ObjCExport: Get rid of context receivers from ./native/objcexport-header-generator ##### Tools. Gradle ##### New Features - [`KT-69940`](https://youtrack.jetbrains.com/issue/KT-69940) Expose supplementary compiler warnings via KGP - [`KT-71603`](https://youtrack.jetbrains.com/issue/KT-71603) Introduce KotlinJvmExtension and KotlinAndroidExtension - [`KT-70383`](https://youtrack.jetbrains.com/issue/KT-70383) KotlinJvmFactory registerKaptGenerateStubsTask() function should also request compilation task provider - [`KT-65125`](https://youtrack.jetbrains.com/issue/KT-65125) Provide basic support for Swift Export in Kotlin Gradle Plugin - [`KT-71602`](https://youtrack.jetbrains.com/issue/KT-71602) Introduce KotlinTopLevelExtension - [`KT-69927`](https://youtrack.jetbrains.com/issue/KT-69927) Need ability to pass KotlinJvmCompilerOptions to registerKotlinJvmCompileTask() - [`KT-71227`](https://youtrack.jetbrains.com/issue/KT-71227) \[Compose] Add PausableComposition feature flag to the Compose Gradle Plugin - [`KT-68345`](https://youtrack.jetbrains.com/issue/KT-68345) 'composeCompiler#stabilityConfigurationFile' doesn't allow setting multiple stability configuration files ##### Performance Improvements - [`KT-65285`](https://youtrack.jetbrains.com/issue/KT-65285) Use uncompressed Klibs ##### Fixes - [`KT-71411`](https://youtrack.jetbrains.com/issue/KT-71411) Add FUS statistics for new Dokka tasks - [`KT-72495`](https://youtrack.jetbrains.com/issue/KT-72495) Warn about kotlin-compiler-embeddable loaded along KGP - [`KT-70543`](https://youtrack.jetbrains.com/issue/KT-70543) Gradle: create migration guide for those who are using Kotlin compiler classes indirectly available in buildscripts - [`KT-69329`](https://youtrack.jetbrains.com/issue/KT-69329) Compatibility with Gradle 8.9 release - [`KT-71291`](https://youtrack.jetbrains.com/issue/KT-71291) Log plugins from the list as Gradle plugins - [`KT-69255`](https://youtrack.jetbrains.com/issue/KT-69255) Deprecate KotlinCompilationOutput#resourcesDirProvider - [`KT-61706`](https://youtrack.jetbrains.com/issue/KT-61706) Gradle: remove kotlin-compiler-embeddable from build runtime dependencies - [`KT-73128`](https://youtrack.jetbrains.com/issue/KT-73128) Apply Kotlinlang template for partial HTMLs - [`KT-47897`](https://youtrack.jetbrains.com/issue/KT-47897) Official Kotlin Gradle plugin api - [`KT-58858`](https://youtrack.jetbrains.com/issue/KT-58858) Add KDoc documentation for Kotlin Gradle plugin API - [`KT-73076`](https://youtrack.jetbrains.com/issue/KT-73076) Kotlin Gradle Plugin API Reference: adjust settings - [`KT-72387`](https://youtrack.jetbrains.com/issue/KT-72387) KGP 2.1.0-RC-227 changes cause KSP to crash calling produceUnpackedKlib - [`KT-53280`](https://youtrack.jetbrains.com/issue/KT-53280) Gradle plugin leaks some compiler related extensions into API - [`KT-69851`](https://youtrack.jetbrains.com/issue/KT-69851) Compatibility with Gradle 8.10 release - [`KT-65565`](https://youtrack.jetbrains.com/issue/KT-65565) Remove deprecated common platform plugin id - [`KT-69719`](https://youtrack.jetbrains.com/issue/KT-69719) Bump minimal supported Gradle version to 7.6.3 - [`KT-69721`](https://youtrack.jetbrains.com/issue/KT-69721) Bump minimal supported Android Gradle plugin version to 7.3.1 - [`KT-66944`](https://youtrack.jetbrains.com/issue/KT-66944) Relax host requirements on Kotlin klib compilation - [`KT-72651`](https://youtrack.jetbrains.com/issue/KT-72651) Unable to use `target` for KotlinBaseApiPlugin.createKotlin(Jvm/Android)Extension() - [`KT-72467`](https://youtrack.jetbrains.com/issue/KT-72467) kotlin.sourceSets extension not added for KotlinBaseApiPlugin.createKotlinAndroidExtension() - [`KT-72303`](https://youtrack.jetbrains.com/issue/KT-72303) KGP 2.1.0-Beta2 broke compatibility with KSP - [`KT-68596`](https://youtrack.jetbrains.com/issue/KT-68596) Update KGP deprecations before 2.1 - [`KT-67951`](https://youtrack.jetbrains.com/issue/KT-67951) Update Compose extension KDoc - [`KT-66049`](https://youtrack.jetbrains.com/issue/KT-66049) KGP JVM: Publishing isn't compatible with isolated projects and project dependencies - [`KT-71405`](https://youtrack.jetbrains.com/issue/KT-71405) Compose compiler gradle plugin: project.layout.file can't be used as a value of the 'stabilityConfigurationFiles' option - [`KT-71948`](https://youtrack.jetbrains.com/issue/KT-71948) KotlinJvmFactory : get rid of replaces with TODO() - [`KT-72092`](https://youtrack.jetbrains.com/issue/KT-72092) Gradle: use packed klib variant as the default when no packaging attribute is present - [`KT-58956`](https://youtrack.jetbrains.com/issue/KT-58956) Offer a shared interface for JVM and Android compilerOptions in Project extension - [`KT-70251`](https://youtrack.jetbrains.com/issue/KT-70251) Gradle: hide compiler symbols in KGP - [`KT-70430`](https://youtrack.jetbrains.com/issue/KT-70430) Clean-up obsolete Gradle plugin variants for Gradle versions <7.6 - [`KT-69853`](https://youtrack.jetbrains.com/issue/KT-69853) Compile against Gradle API 8.10 - [`KT-69852`](https://youtrack.jetbrains.com/issue/KT-69852) Run Gradle integration tests against Gradle 8.10 release - [`KT-65990`](https://youtrack.jetbrains.com/issue/KT-65990) Update `GradleDeprecatedOption.level` values for arguments removed from the DSL after 2.1 - [`KT-69331`](https://youtrack.jetbrains.com/issue/KT-69331) Run tests against Gradle 8.9 release - [`KT-69332`](https://youtrack.jetbrains.com/issue/KT-69332) Compile against Gradle 8.9 API - [`KT-67174`](https://youtrack.jetbrains.com/issue/KT-67174) Cleanup old Test DSL - [`KT-71071`](https://youtrack.jetbrains.com/issue/KT-71071) BuildFusStatisticsIT.testInvalidFusReportDir test failes on Windows - [`KT-69585`](https://youtrack.jetbrains.com/issue/KT-69585) KGP / Composite Build: "Could not apply withXml() to generated POM" during publishing - [`KT-59769`](https://youtrack.jetbrains.com/issue/KT-59769) Many "Unexpected exception happened" warnings during build without internet connection ##### Tools. Gradle. Cocoapods - [`KT-63811`](https://youtrack.jetbrains.com/issue/KT-63811) cinterop fails to build klib for iosArm64 target when iOS simulator SDK isn't installed - [`KT-70500`](https://youtrack.jetbrains.com/issue/KT-70500) Remove useLibraries from CocoaPods plugin - [`KT-56947`](https://youtrack.jetbrains.com/issue/KT-56947) Replace AFNetworking with a smaller library in tests ##### Tools. Gradle. JS - [`KT-69628`](https://youtrack.jetbrains.com/issue/KT-69628) K/Wasm: Node.js version per project - [`KT-71578`](https://youtrack.jetbrains.com/issue/KT-71578) KotlinJS. Webpack does not recompile on changes with `per-file` - [`KT-71536`](https://youtrack.jetbrains.com/issue/KT-71536) \[JS, Wasm] Stop collecting information about KLIB IC in Kotlin2JsCompile - [`KT-70621`](https://youtrack.jetbrains.com/issue/KT-70621) Move kotlin-test-js-runner out of Kotlin repository - [`KT-67442`](https://youtrack.jetbrains.com/issue/KT-67442) KJS / Gradle: `kotlinStorePackageLock` fails due to OS-dependent lockfile with npm package manager ##### Tools. Gradle. Multiplatform ##### New Features - [`KT-70469`](https://youtrack.jetbrains.com/issue/KT-70469) Add feature flag for Project Isolation and Kotlin Multiplatform - [`KT-70897`](https://youtrack.jetbrains.com/issue/KT-70897) Add KotlinBaseApiPlugin.kotlinAndroidExtension ##### Fixes - [`KT-71206`](https://youtrack.jetbrains.com/issue/KT-71206) KGP: Test source set may get duplicated KLIBs of different versions - [`KT-71209`](https://youtrack.jetbrains.com/issue/KT-71209) Drop Hierarchy Template diagnostic about used shortcuts - [`KT-69412`](https://youtrack.jetbrains.com/issue/KT-69412) Change `KotlinTargetAlreadyDeclaredChecker`'s severity from warning to error - [`KT-70060`](https://youtrack.jetbrains.com/issue/KT-70060) KGP: handleHierarchicalStructureFlagsMigration doesn't support project isolation - [`KT-57280`](https://youtrack.jetbrains.com/issue/KT-57280) Expose Kotlin Project Structure metadata via consumable configurations instead of accessing all gradle projects directly - [`KT-64999`](https://youtrack.jetbrains.com/issue/KT-64999) Support Project Isolation with Kotlin Native tasks (XCode integration, Cocoapods etc) - [`KT-64998`](https://youtrack.jetbrains.com/issue/KT-64998) Granular Metadata Dependencies Transformation is not compatible with Project Isolation - [`KT-70650`](https://youtrack.jetbrains.com/issue/KT-70650) GenerateProjectStructureMetadata is not compatible with Project Isolation - [`KT-71675`](https://youtrack.jetbrains.com/issue/KT-71675) checkSandboxAndWriteProtection collides with Compose's syncComposeResources - [`KT-66461`](https://youtrack.jetbrains.com/issue/KT-66461) Promote compiler options DSL for multiplatform projects to stable - [`KT-69323`](https://youtrack.jetbrains.com/issue/KT-69323) Don't pass platform dependencies to metadata compilation - [`KT-72454`](https://youtrack.jetbrains.com/issue/KT-72454) Revert changes made in KT-69899 i.e. make kotlin.android.buildTypeAttribute.keep = false by default again - [`KT-70380`](https://youtrack.jetbrains.com/issue/KT-70380) KMM App failed to consume android binary lib - [`KT-71423`](https://youtrack.jetbrains.com/issue/KT-71423) Xcode archive missing dSYM files since Kotlin 2.0.20 - [`KT-69899`](https://youtrack.jetbrains.com/issue/KT-69899) KMP: Publish BuildType by default for android publications with multiple variants - [`KT-71428`](https://youtrack.jetbrains.com/issue/KT-71428) Change deprecation message for KMP target shorcuts - [`KT-58231`](https://youtrack.jetbrains.com/issue/KT-58231) Kotlin Gradle Plugin: set deprecation level to Error for KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImport - [`KT-72068`](https://youtrack.jetbrains.com/issue/KT-72068) Distribution for klib cross-compilation is not downloaded during compile tasks - [`KT-70612`](https://youtrack.jetbrains.com/issue/KT-70612) Report incompatibility warning when Project Isolation enabled and Included builds are used - [`KT-71529`](https://youtrack.jetbrains.com/issue/KT-71529) Deprecate targetFromPreset API with an error - [`KT-69614`](https://youtrack.jetbrains.com/issue/KT-69614) Deprecate with error ios/tvos/watchos presets - [`KT-69974`](https://youtrack.jetbrains.com/issue/KT-69974) KMP: POM dependency rewriter doesn't work with Included Builds OR dependencySubstitution - [`KT-69472`](https://youtrack.jetbrains.com/issue/KT-69472) Remove IncompatibleAgpVersionTooHighWarning diagnostic - [`KT-64996`](https://youtrack.jetbrains.com/issue/KT-64996) Commonize Native Distribution task is not compatible with Project Isolation - [`KT-62911`](https://youtrack.jetbrains.com/issue/KT-62911) Export Kotlin Multipaltform Project Coordinates as a secondary variant of apiMetadataElements - [`KT-70888`](https://youtrack.jetbrains.com/issue/KT-70888) Project isolation: Project cannot dynamically look up a property in the parent project at PropertiesProvider.propertiesWithPrefix - [`KT-70688`](https://youtrack.jetbrains.com/issue/KT-70688) Move ExperimentalSwiftExportDsl to another package - [`KT-58298`](https://youtrack.jetbrains.com/issue/KT-58298) AndroidAndJavaConsumeMppLibIT maintenance: Convert to new infrastructure and add test for newer AGP versions - [`KT-68976`](https://youtrack.jetbrains.com/issue/KT-68976) K2 IDE: Unresolved FileSystem.SYSTEM from OKIO in shared source sets ##### Tools. Gradle. Native - [`KT-67162`](https://youtrack.jetbrains.com/issue/KT-67162) KGP: Kotlin/Native with Isolated Projects: kotlinNativeBundleBuildService cannot be changed any futher - [`KT-72366`](https://youtrack.jetbrains.com/issue/KT-72366) KGP 2.1.0-Beta2 doesn't download `kotlin-native-prebuilt` when running Dokka - [`KT-45559`](https://youtrack.jetbrains.com/issue/KT-45559) CInteropProcess: Changes to header files are not recognized; Task is still UP-TO-DATE - [`KT-71051`](https://youtrack.jetbrains.com/issue/KT-71051) K/N dependencies are re-downloaded multiple times on Windows - [`KT-71398`](https://youtrack.jetbrains.com/issue/KT-71398) kotlinNativeBundleConfiguration should not contain dependencies on unsupported platforms - [`KT-71722`](https://youtrack.jetbrains.com/issue/KT-71722) kotlinNativeBundleConfiguration present in JVM-only Gradle project - [`KT-55832`](https://youtrack.jetbrains.com/issue/KT-55832) Support passing errors to Xcode when configuration cache is enabled - [`KT-70690`](https://youtrack.jetbrains.com/issue/KT-70690) not possible to build iOS app with Swift Export and Xcode 16 - [`KT-65838`](https://youtrack.jetbrains.com/issue/KT-65838) Remove project usage from PlatformLibrariesGenerator - [`KT-70875`](https://youtrack.jetbrains.com/issue/KT-70875) KSP1 native tasks fail on configuration phase ##### Tools. Incremental Compile - [`KT-69123`](https://youtrack.jetbrains.com/issue/KT-69123) IC: "NoSuchFieldError: No instance field". Not tracking changes to Android ViewBinding class ##### Tools. JPS - [`KT-68565`](https://youtrack.jetbrains.com/issue/KT-68565) K2: IllegalStateException: Source classes should be created separately before referencing - [`KT-71042`](https://youtrack.jetbrains.com/issue/KT-71042) `JAVA_MODULE_DOES_NOT_READ_UNNAMED_MODULE` when compiling IntelliJ ##### Tools. Kapt - [`KT-72249`](https://youtrack.jetbrains.com/issue/KT-72249) K2 KAPT Not picking up use site annontation like K1 Kapt - [`KT-69860`](https://youtrack.jetbrains.com/issue/KT-69860) K2 kapt: use compiler directly instead of Analysis API - [`KT-71776`](https://youtrack.jetbrains.com/issue/KT-71776) K2 Kapt in 2.1.0-Beta1 fails with `e: java.lang.IllegalStateException: FIR symbol "class org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol" is not supported in constant evaluation` - [`KT-70879`](https://youtrack.jetbrains.com/issue/KT-70879) Kapt: check that Kotlin 2.1 language features are ignored correctly by K1 kapt - [`KT-71431`](https://youtrack.jetbrains.com/issue/KT-71431) K2KAPT fails on modules without any annotation processors - [`KT-70600`](https://youtrack.jetbrains.com/issue/KT-70600) K2 KAPT: inline reified function has a null signature - [`KT-70718`](https://youtrack.jetbrains.com/issue/KT-70718) Kapt: "error: could not load module <Error module>" on error type in data class component - [`KT-69861`](https://youtrack.jetbrains.com/issue/KT-69861) Kapt: use IR to obtain line information instead of PSI ##### Tools. REPL - [`KT-71109`](https://youtrack.jetbrains.com/issue/KT-71109) Kotlin Scripting REPL doesn't support keyboard shortcuts ##### Tools. Scripts - [`KT-68685`](https://youtrack.jetbrains.com/issue/KT-68685) K2 / Script: "KotlinReflectionInternalError: Unresolved class:" caused by main.kts script with nested classes and reflection - [`KT-68545`](https://youtrack.jetbrains.com/issue/KT-68545) Using labeled `this` access to implicit receivers fails in scripts ##### Tools. Wasm - [`KT-67797`](https://youtrack.jetbrains.com/issue/KT-67797) Improve the variable view during debugging in Fleet for Kotlin/Wasm - [`KT-71506`](https://youtrack.jetbrains.com/issue/KT-71506) \[Wasm, IC] FUS report for builds with incremental compilation - [`KT-70100`](https://youtrack.jetbrains.com/issue/KT-70100) wasmJs Target Fails to Compile on ARM64 Linux - [`KT-70367`](https://youtrack.jetbrains.com/issue/KT-70367) Update binaryen once we get a release with PR 6793 - [`KT-67863`](https://youtrack.jetbrains.com/issue/KT-67863) K/Wasm: Remove ChromeWasmGc - [`KT-71360`](https://youtrack.jetbrains.com/issue/KT-71360) K/JS & K/Wasm: Upgrade NPM dependencies - [`KT-70297`](https://youtrack.jetbrains.com/issue/KT-70297) Wasm: Incorrect kotlinJsTestRunner version set in Multi-Project Builds with mixed kotlin-stdlibs ### [`v2.0.21`](https://github.com/JetBrains/kotlin/releases/tag/v2.0.21): Kotlin 2.0.21 ##### Changelog ##### Apple Ecosystem - [`KT-69093`](https://youtrack.jetbrains.com/issue/KT-69093) Xcode 16 support in Kotlin ##### Backend. Native. Debug - [`KT-71374`](https://youtrack.jetbrains.com/issue/KT-71374) lldb: step out breaks breaking in Xcode 16 ##### Compiler ##### Fixes - [`KT-69735`](https://youtrack.jetbrains.com/issue/KT-69735) K2: Static fields are missing from the declaration list of corresponding IrClass for java class - [`KT-71122`](https://youtrack.jetbrains.com/issue/KT-71122) Regression in Kotlin Compiler 2.0 causing NPE in the runtime - [`KT-70931`](https://youtrack.jetbrains.com/issue/KT-70931) K2 / Scripts: "cannot convert IrExpression to ConstantValue" when using function annotation - [`KT-70584`](https://youtrack.jetbrains.com/issue/KT-70584) K2: "IllegalStateException: flow for PostponedLambdaExitNode not initialized - traversing nodes in wrong order?" - [`KT-70808`](https://youtrack.jetbrains.com/issue/KT-70808) K2: "node has already been visited" with anonymous object in dead code - [`KT-69985`](https://youtrack.jetbrains.com/issue/KT-69985) K2: Classifier declarations from root package are resolved without imports in non-root packages - [`KT-70683`](https://youtrack.jetbrains.com/issue/KT-70683) K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwner - [`KT-70901`](https://youtrack.jetbrains.com/issue/KT-70901) False positive Public-API inline function cannot access non-public-API property accessor - [`KT-70930`](https://youtrack.jetbrains.com/issue/KT-70930) K2: Java annotations not present on ENUM\_ENTRY IR elements - [`KT-70194`](https://youtrack.jetbrains.com/issue/KT-70194) K2 IDE: exception on a very red file - [`KT-69399`](https://youtrack.jetbrains.com/issue/KT-69399) Native: IllegalStateException: "Failed to build cache" ##### Compose compiler ##### Fixes - [`b/329477544`](https://issuetracker.google.com/issues/329477544) Force open / overridden Composable functions to be non-restartable. - [`b/361652128`](https://issuetracker.google.com/issues/361652128) Disable live literal transform if the corresponding flag is disabled ##### IR. Actualizer - [`KT-70894`](https://youtrack.jetbrains.com/issue/KT-70894) IR crash. Unprocessed `IrFunctionFakeOverrideSymbol` when actualize to Java ##### IR. Tree - [`KT-71191`](https://youtrack.jetbrains.com/issue/KT-71191) SymbolTable: Check if the provided signature is public before adding a symbol to the SymbolTable ##### Native. Build Infrastructure - [`KT-71485`](https://youtrack.jetbrains.com/issue/KT-71485) K/N runtime parts don't build due to \_Float16 issues on x86\_64 macOS ##### Native. C Export - [`KT-69507`](https://youtrack.jetbrains.com/issue/KT-69507) LLVM 11 clang with Xcode 16 headers: standard c++ headers ##### Native. C and ObjC Import - [`KT-71029`](https://youtrack.jetbrains.com/issue/KT-71029) Investigate why stdarg.h declarations leak into testModuleA ##### Native. Platform Libraries - [`KT-70566`](https://youtrack.jetbrains.com/issue/KT-70566) LLVM 11 clang with Xcode 16 headers: 'sys/cdefs.h' file not found - [`KT-71624`](https://youtrack.jetbrains.com/issue/KT-71624) Eliminate remaining UIKit/AppKit removed signatures - [`KT-70031`](https://youtrack.jetbrains.com/issue/KT-70031) Rebuild platform libraries in 2.0.21 with Xcode 16 ##### Native. Testing - [`KT-70603`](https://youtrack.jetbrains.com/issue/KT-70603) C++ with -fmodules: cyclic dependency in module 'std': std -> \_wctype -> \_\_wctype -> std in dev llvm toolchains ##### Tools. CLI. Native - [`KT-71262`](https://youtrack.jetbrains.com/issue/KT-71262) KotlinNativeLink tasks fetching from network despite -Xoverride-konan-properties=dependenciesUrl= being set ##### Tools. Compiler Plugins - [`KT-71038`](https://youtrack.jetbrains.com/issue/KT-71038) PowerAssert: Constant on RHS of elvis operator leads to compiler crash ##### Tools. Daemon - [`KT-35381`](https://youtrack.jetbrains.com/issue/KT-35381) Get rid of the native-platform usage in kotlin compiler ##### Tools. Gradle. Multiplatform - [`KT-71444`](https://youtrack.jetbrains.com/issue/KT-71444) Certain POMs produced by Kotlin 2.0.20 cannot be consumed by KMP projects with Android targets - [`KT-70700`](https://youtrack.jetbrains.com/issue/KT-70700) Gradle 8.10: The value for task ':commonizeNativeDistribution' property 'kotlinNativeBundleBuildService' cannot be changed any further - [`KT-71396`](https://youtrack.jetbrains.com/issue/KT-71396) Gradle client side JVM explodes with OOM due to xcodebuild logs ##### Tools. Gradle. Native - [`KT-71419`](https://youtrack.jetbrains.com/issue/KT-71419) Light bundle KGP IT run against a stable K/N version ##### Tools. JPS - [`KT-71450`](https://youtrack.jetbrains.com/issue/KT-71450) Constant build failure: com.intellij.util.io.ClosedStorageException: storage is already closed ### [`v2.0.20`](https://github.com/JetBrains/kotlin/releases/tag/v2.0.20): Kotlin 2.0.20 ##### Changelog ##### Analysis. API ##### New Features - [`KT-68143`](https://youtrack.jetbrains.com/issue/KT-68143) Analysis API: support KtWhenConditionInRange call resolution ##### Performance Improvements - [`KT-67195`](https://youtrack.jetbrains.com/issue/KT-67195) K2: do not call redundant resolve on body resolution phase for classes ##### Fixes - [`KT-67360`](https://youtrack.jetbrains.com/issue/KT-67360) Analysis API: KtDestructuringDeclarationSymbol#entries shouldn't be KtLocalVariableSymbol - [`KT-67748`](https://youtrack.jetbrains.com/issue/KT-67748) K2: AllCandidatesResolver modifies the original FirDelegatedConstructorCall - [`KT-68198`](https://youtrack.jetbrains.com/issue/KT-68198) Analysis API: Support application service registration in plugin XMLs - [`KT-62936`](https://youtrack.jetbrains.com/issue/KT-62936) Analysis API: NativeForwardDeclarationsSymbolProvider is not supported for Kotlin/Native - [`KT-68689`](https://youtrack.jetbrains.com/issue/KT-68689) LL API: support analysis from builtins module - [`KT-69630`](https://youtrack.jetbrains.com/issue/KT-69630) KAPT User project builds with KAPT4 enabled fail with Metaspace overflow - [`KT-65417`](https://youtrack.jetbrains.com/issue/KT-65417) K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source sets - [`KT-68882`](https://youtrack.jetbrains.com/issue/KT-68882) Analysis API: Refactor `KaSymbol`s - [`KT-65413`](https://youtrack.jetbrains.com/issue/KT-65413) K2 IDE: KTOR unresolved serializer() call for `@Serializable` class in common code - [`KT-67996`](https://youtrack.jetbrains.com/issue/KT-67996) Analysis API: rename Kt prefix to Ka - [`KT-67775`](https://youtrack.jetbrains.com/issue/KT-67775) Analysis API: expose only interfaces/abstract classes for the user surface - [`KT-68009`](https://youtrack.jetbrains.com/issue/KT-68009) K2: lowering transformers of Compose compiler plugin access AbstractFir2IrLazyFunction modality, which results in null point exception - [`KT-68918`](https://youtrack.jetbrains.com/issue/KT-68918) collectCallCandidates works incorrectly for parenthesis invoke - [`KT-68462`](https://youtrack.jetbrains.com/issue/KT-68462) Analysis API: Integrate `project-structure` module into `analysis-api` and `analysis-api-platform-interface` - [`KT-69131`](https://youtrack.jetbrains.com/issue/KT-69131) AA: "provideDelegate" operator is not resolved from the delegation reference in FIR implementation - [`KT-69055`](https://youtrack.jetbrains.com/issue/KT-69055) Analysis API: Stabilize `KaScope`s - [`KT-66216`](https://youtrack.jetbrains.com/issue/KT-66216) K2 IDE. "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" on incorrect string template - [`KT-68959`](https://youtrack.jetbrains.com/issue/KT-68959) Introduce KaSeverity - [`KT-53669`](https://youtrack.jetbrains.com/issue/KT-53669) Analysis API: redesign KtSymbolOrigin to distinguish kotlin/java source/library declarations - [`KT-68846`](https://youtrack.jetbrains.com/issue/KT-68846) Mark KaFirReference and all implementations with internal modifier - [`KT-68845`](https://youtrack.jetbrains.com/issue/KT-68845) Move KaSymbolBasedReference to resolution package - [`KT-68844`](https://youtrack.jetbrains.com/issue/KT-68844) Move KaTypeProjection to types package - [`KT-65849`](https://youtrack.jetbrains.com/issue/KT-65849) K2: Rename 'high-level-api' family of JARs to 'analysis-api' - [`KT-62540`](https://youtrack.jetbrains.com/issue/KT-62540) Remove uses of TypeInfo.fromString and TypeInfo.createTypeText from Kotlin plugin - [`KT-62889`](https://youtrack.jetbrains.com/issue/KT-62889) K2 IDE. FP `MISSING_DEPENDENCY_CLASS` on not available type alias with available underlying type - [`KT-68155`](https://youtrack.jetbrains.com/issue/KT-68155) Analysis API: Add PSI validity check to `analyze` - [`KT-62343`](https://youtrack.jetbrains.com/issue/KT-62343) Analysis API: fix binary incopatibility problems cause by `KtAnalysisSessionProvider.analyze` being inline - [`KT-68498`](https://youtrack.jetbrains.com/issue/KT-68498) To get reference symbol the one should be KtSymbolBasedReference - [`KT-68393`](https://youtrack.jetbrains.com/issue/KT-68393) Analysis API: Rename `KaClassLikeSymbol. classIdIfNonLocal` to `classId` - [`KT-62924`](https://youtrack.jetbrains.com/issue/KT-62924) Analysis API: rename KtCallableSymbol.callableIdIfNonLocal -> callableId - [`KT-66712`](https://youtrack.jetbrains.com/issue/KT-66712) K2 IDE. SOE on settings string template for string variable with the same name - [`KT-65892`](https://youtrack.jetbrains.com/issue/KT-65892) K2: "We should be able to find a symbol" for findNonLocalFunction - [`KT-68273`](https://youtrack.jetbrains.com/issue/KT-68273) AA: support `KtFirKDocReference#isReferenceToImportAlias` - [`KT-68272`](https://youtrack.jetbrains.com/issue/KT-68272) AA: KtFirReference.isReferenceToImportAlias doesn't work for references on constructor - [`KT-66996`](https://youtrack.jetbrains.com/issue/KT-66996) Analysis API: Expose the abbreviated type of an expanded `KtType` - [`KT-66646`](https://youtrack.jetbrains.com/issue/KT-66646) K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl from FirJsHelpersKt.isExportedObject - [`KT-68203`](https://youtrack.jetbrains.com/issue/KT-68203) K2: Analysis API: wrong type of receiver value in case of imported object member - [`KT-68031`](https://youtrack.jetbrains.com/issue/KT-68031) LL resolve crash in case of PCLA inference with local object - [`KT-67851`](https://youtrack.jetbrains.com/issue/KT-67851) K2: `PsiReference#isReferenceTo` always returns false for references to Java getters - [`KT-68076`](https://youtrack.jetbrains.com/issue/KT-68076) AA: use type code fragments for import alias detection - [`KT-65915`](https://youtrack.jetbrains.com/issue/KT-65915) K2: Analysis API: extract services registration into xml file - [`KT-68049`](https://youtrack.jetbrains.com/issue/KT-68049) Analysis API: do not expose imported symbols - [`KT-68075`](https://youtrack.jetbrains.com/issue/KT-68075) K2: Analysis API: Type arguments for delegation constructor to java constructor with type parameters not supported - [`KT-65190`](https://youtrack.jetbrains.com/issue/KT-65190) AA: reference to the super type is not resolved - [`KT-68070`](https://youtrack.jetbrains.com/issue/KT-68070) AA: KtExpressionInfoProvider#isUsedAsExpression doesn't work for KtPropertyDelegate - [`KT-67743`](https://youtrack.jetbrains.com/issue/KT-67743) K2: Stubs & AbbreviatedTypeAttribute - [`KT-67706`](https://youtrack.jetbrains.com/issue/KT-67706) K2: "KtDotQualifiedExpression is not a subtype of class KtNamedDeclaration" from UnusedChecker - [`KT-68021`](https://youtrack.jetbrains.com/issue/KT-68021) Analysis API: do not break the diagnostic collection in a case of exception from some collector - [`KT-67973`](https://youtrack.jetbrains.com/issue/KT-67973) AA FIR: wrong KtCall modeling for == from type bound - [`KT-67949`](https://youtrack.jetbrains.com/issue/KT-67949) AA: Type arguments of Java methods' calls are not reported as used by KtFirImportOptimizer - [`KT-67988`](https://youtrack.jetbrains.com/issue/KT-67988) AA: functional type at receiver position should be wrapped in parenthesis - [`KT-66536`](https://youtrack.jetbrains.com/issue/KT-66536) Analysis API: ContextCollector doesn't provide implicit receivers from FirExpressionResolutionExtension - [`KT-67321`](https://youtrack.jetbrains.com/issue/KT-67321) AA: Type arguments of Java methods' calls are not resolved - [`KT-64158`](https://youtrack.jetbrains.com/issue/KT-64158) K2: "KotlinIllegalArgumentExceptionWithAttachments: No fir element was found for KtParameter" - [`KT-60344`](https://youtrack.jetbrains.com/issue/KT-60344) K2 IDE. "KotlinExceptionWithAttachments: expect `createKtCall` to succeed for resolvable case with callable symbol" on attempt to assign value to param named getParam - [`KT-64599`](https://youtrack.jetbrains.com/issue/KT-64599) K2: "expect `createKtCall` to succeed for resolvable case with callable" for unfinished if statement - [`KT-60330`](https://youtrack.jetbrains.com/issue/KT-60330) K2 IDE. ".KotlinExceptionWithAttachments: expect `createKtCall` to succeed for resolvable case with callable symbol" on attempt to assign or compare true with something - [`KT-66672`](https://youtrack.jetbrains.com/issue/KT-66672) K2 IDE. False positive INVISIBLE\_REFERENCE on accessing private subclass as type argument in parent class declaration - [`KT-67750`](https://youtrack.jetbrains.com/issue/KT-67750) Analysis API: Remove `infix` modifiers from type equality and subtyping functions - [`KT-67655`](https://youtrack.jetbrains.com/issue/KT-67655) Analysis API: declare a rule how to deal with parameters in KtLifetimeOwner - [`KT-61775`](https://youtrack.jetbrains.com/issue/KT-61775) Analysis API: KtKClassAnnotationValue lacks complete type information - [`KT-67168`](https://youtrack.jetbrains.com/issue/KT-67168) K2: Analysis API: Rendering is broken for JSR-305 enhanced Java types - [`KT-66689`](https://youtrack.jetbrains.com/issue/KT-66689) Analysis API: KtFirPackageScope shouldn't rely on KotlinDeclarationProvider for binary dependencies in standalone mode - [`KT-60483`](https://youtrack.jetbrains.com/issue/KT-60483) Analysis API: add isTailrec property to KtFunctionSymbol - [`KT-67472`](https://youtrack.jetbrains.com/issue/KT-67472) K2: Analysis API FIR: KtFunctionCall misses argument with desugared expressions - [`KT-65759`](https://youtrack.jetbrains.com/issue/KT-65759) Analysis API: Avoid hard references to `LLFirSession` in session validity trackers - [`KT-60272`](https://youtrack.jetbrains.com/issue/KT-60272) K2: Implement active invalidation of `KtAnalysisSession`s - [`KT-66765`](https://youtrack.jetbrains.com/issue/KT-66765) K2: Analysis API: support classpath substitution with library dependencies in super type transformer - [`KT-67265`](https://youtrack.jetbrains.com/issue/KT-67265) K2: status phase should resolve original declarations in the case of classpath subsitution - [`KT-67244`](https://youtrack.jetbrains.com/issue/KT-67244) K2: StackOverflowError in the case of cyclic type hierarchy and library classpath substitution - [`KT-67080`](https://youtrack.jetbrains.com/issue/KT-67080) K2: clearer contract for lazyResolveToPhaseWithCallableMembers - [`KT-66713`](https://youtrack.jetbrains.com/issue/KT-66713) K2 FIR: Expose a way to get the module name used for name mangling - [`KT-61892`](https://youtrack.jetbrains.com/issue/KT-61892) KtType#asPsiType could provide nullability annotations - [`KT-66122`](https://youtrack.jetbrains.com/issue/KT-66122) Analysis API: Pass `KtTestModule` instead of `TestModule` to tests based on `AbstractAnalysisApiBasedTest` ##### Analysis. Light Classes - [`KT-65714`](https://youtrack.jetbrains.com/issue/KT-65714) K2: IDE K2: "org.jetbrains.kotlin.analysis.api.fir.symbols.pointers.KtFirClassLikeSymbolPointer pointer already disposed" - [`KT-65835`](https://youtrack.jetbrains.com/issue/KT-65835) `SymbolLightClassForClassLike.getName` returns `null` for a companion object instead of `Companion` - [`KT-68261`](https://youtrack.jetbrains.com/issue/KT-68261) SLC: Constructors of sealed classes should be private - [`KT-68696`](https://youtrack.jetbrains.com/issue/KT-68696) Drop `DecompiledPsiDeclarationProvider`-related stuff - [`KT-68404`](https://youtrack.jetbrains.com/issue/KT-68404) SLC: wrong binary resolution to declaration with `@JvmName` - [`KT-68275`](https://youtrack.jetbrains.com/issue/KT-68275) LC: no arg constructor is not visible in light classes - [`KT-66687`](https://youtrack.jetbrains.com/issue/KT-66687) Symbol Light Classes: Duplicate field names for classes with companion objects - [`KT-66804`](https://youtrack.jetbrains.com/issue/KT-66804) Symbol Light Classes: Fields from the parent interface's companion are added to DefaultImpls ##### Apple Ecosystem - [`KT-65542`](https://youtrack.jetbrains.com/issue/KT-65542) Cinterop tasks fails if Xcode 15.3 is used ##### Backend. Native. Debug - [`KT-67567`](https://youtrack.jetbrains.com/issue/KT-67567) Native: after updating to LLVM 16 lldb hangs when smooth stepping ##### Backend. Wasm - [`KT-70591`](https://youtrack.jetbrains.com/issue/KT-70591) To much sources that don't exist inside SourceMap file - [`KT-69529`](https://youtrack.jetbrains.com/issue/KT-69529) compileProductionExecutableKotlinWasmJs FAILED: No such value argument slot in IrConstructorCallImpl: 1 (total=1) - [`KT-68088`](https://youtrack.jetbrains.com/issue/KT-68088) Wasm: "UNREACHABLE executed at Precompute.cpp:838" running gradle task wasmJsBrowserDistribution for compose multiplatform on Windows - [`KT-65798`](https://youtrack.jetbrains.com/issue/KT-65798) K/Wasm: make an error on default export usage - [`KT-68828`](https://youtrack.jetbrains.com/issue/KT-68828) Wasm test failure. expect-actual. private constructor in expect - [`KT-68453`](https://youtrack.jetbrains.com/issue/KT-68453) K/Wasm: "Supported JS engine not detected" in Web Worker - [`KT-64565`](https://youtrack.jetbrains.com/issue/KT-64565) Kotlin/wasm removeEventListener function did not remove the event listener - [`KT-65322`](https://youtrack.jetbrains.com/issue/KT-65322) \[Wasm] Clean-up bootstrap code - [`KT-66099`](https://youtrack.jetbrains.com/issue/KT-66099) Wasm: local.get of type f64 has to be in the same reference type hierarchy as (ref 686) @&#8203;+237036 - [`KT-63230`](https://youtrack.jetbrains.com/issue/KT-63230) \[WASM] `println(null)` prints 'ul' ##### Compiler ##### New Features - [`KT-58310`](https://youtrack.jetbrains.com/issue/KT-58310) Consider non-functional type constraints for type variable which is an expected type for lambda argument - [`KT-68969`](https://youtrack.jetbrains.com/issue/KT-68969) Consider implementing general "redundant interpolation prefix" warning - [`KT-57872`](https://youtrack.jetbrains.com/issue/KT-57872) Improve "Public-API inline function cannot access non-public-API" check - [`KT-68165`](https://youtrack.jetbrains.com/issue/KT-68165) Native: type checks on generic types boundary - [`KT-67611`](https://youtrack.jetbrains.com/issue/KT-67611) Implement improved handling of $ in literals - [`KT-67787`](https://youtrack.jetbrains.com/issue/KT-67787) Implement guard conditions for when-with-subject - [`KT-39868`](https://youtrack.jetbrains.com/issue/KT-39868) Allow access to protected consts and fields from a super companion object - [`KT-66169`](https://youtrack.jetbrains.com/issue/KT-66169) `useContents` lacks a `contract` - [`KT-67767`](https://youtrack.jetbrains.com/issue/KT-67767) Introduce an ability to enforce explicit return types for public declarations without enabling Explicit API mode - [`KT-65841`](https://youtrack.jetbrains.com/issue/KT-65841) Allow to actualize expect types in kotlin stdlib to builtins in JVM - [`KT-53834`](https://youtrack.jetbrains.com/issue/KT-53834) Support for JSpecify `@NullUnmarked` ##### Performance Improvements - [`KT-69995`](https://youtrack.jetbrains.com/issue/KT-69995) K2: Slow compilation when star projecting mutually recursive bounds from java - [`KT-69723`](https://youtrack.jetbrains.com/issue/KT-69723) K2: code analysis taking too long - [`KT-69898`](https://youtrack.jetbrains.com/issue/KT-69898) K2: Performance degradation in fir2ir caused by changes around intersection types - [`KT-68034`](https://youtrack.jetbrains.com/issue/KT-68034) Devirtualization analysis fails to devirtualize string.get ##### Fixes - [`KT-67102`](https://youtrack.jetbrains.com/issue/KT-67102) IR Evaluator: NoSuchFieldException when accessing a private delegated property - [`KT-35305`](https://youtrack.jetbrains.com/issue/KT-35305) "Overload resolution ambiguity" on function for unsigned types (UByte, UShort, UInt, ULong) - [`KT-69211`](https://youtrack.jetbrains.com/issue/KT-69211) K2: java.lang.IllegalArgumentException: Failed requirement - [`KT-68874`](https://youtrack.jetbrains.com/issue/KT-68874) Types with different captured types as type arguments are rendered incorrectly - [`KT-66086`](https://youtrack.jetbrains.com/issue/KT-66086) K/N: Unchecked illegal cast is not thrown - [`KT-70186`](https://youtrack.jetbrains.com/issue/KT-70186) Kotlin 2.0.20-Beta2: Unexpected number of type arguments: 0 - [`KT-68889`](https://youtrack.jetbrains.com/issue/KT-68889) K2: type variable should not be fixed - [`KT-69835`](https://youtrack.jetbrains.com/issue/KT-69835) K2 / Native: kotlin.native.binary.gc=cms throws library cached but its dependency isn't error - [`KT-70417`](https://youtrack.jetbrains.com/issue/KT-70417) DELEGATED\_MEMBER\_HIDES\_SUPERTYPE\_OVERRIDE leads to NPE in BE - [`KT-69964`](https://youtrack.jetbrains.com/issue/KT-69964) K2: Returning from an in-place lambda doesn't compile - [`KT-69773`](https://youtrack.jetbrains.com/issue/KT-69773) K2: "Overload resolution ambiguity between candidate" with arrays - [`KT-60261`](https://youtrack.jetbrains.com/issue/KT-60261) K2: No origin is set for composite assignment operators - [`KT-15388`](https://youtrack.jetbrains.com/issue/KT-15388) Forbid delegated property to have external getter/setter - [`KT-70238`](https://youtrack.jetbrains.com/issue/KT-70238) K2: false negative VOLATILE\_ON\_VALUE for constructor properties - [`KT-68669`](https://youtrack.jetbrains.com/issue/KT-68669) K2: Generate inherited delegated members after actualization - [`KT-63828`](https://youtrack.jetbrains.com/issue/KT-63828) K2: Missing `signature` metadata for accessors of properties inherited from delegate - [`KT-63871`](https://youtrack.jetbrains.com/issue/KT-63871) K2: different value of `isNotDefault ` flag for property inherited from delegate - [`KT-67119`](https://youtrack.jetbrains.com/issue/KT-67119) Migration warning from context receivers to context parameters - [`KT-68997`](https://youtrack.jetbrains.com/issue/KT-68997) K2: "No accessor found" for an inline value class when query the value of a delegated class by reflection - [`KT-64106`](https://youtrack.jetbrains.com/issue/KT-64106) Native: the compiler allows using `-opt` and `-g` at the same time - [`KT-69766`](https://youtrack.jetbrains.com/issue/KT-69766) K2: False negative: Internal setter of generic class is accessible from another module - [`KT-68364`](https://youtrack.jetbrains.com/issue/KT-68364) JVM: ISE "Bad exception handler end" on a non-local break/continue inside try with finally - [`KT-69494`](https://youtrack.jetbrains.com/issue/KT-69494) StackOverflowError in CfgTraverserKt.getPreviousCfgNodes - [`KT-56880`](https://youtrack.jetbrains.com/issue/KT-56880) K2. Conflicting overloads for main() isn't shown when language version is set to 2.0 - [`KT-69282`](https://youtrack.jetbrains.com/issue/KT-69282) K2: equality of unsigned types with nullability works incorrectly - [`KT-68492`](https://youtrack.jetbrains.com/issue/KT-68492) JVM IR backend: IDE / Kotlin Debugger: AE “Non-reified type parameter under ::class should be rejected by type checker” on evaluating private generic function - [`KT-70039`](https://youtrack.jetbrains.com/issue/KT-70039) K2: inconsistent stability of vals of captured receivers - [`KT-44139`](https://youtrack.jetbrains.com/issue/KT-44139) Don't report overload resolution ambiguities if arguments contain an error type - [`KT-68996`](https://youtrack.jetbrains.com/issue/KT-68996) K2: "Not enough information to infer type argument" caused by typealias annotation with fixed generic argument - [`KT-55851`](https://youtrack.jetbrains.com/issue/KT-55851) K2: reference to a field from package private class crashes in runtime - [`KT-65038`](https://youtrack.jetbrains.com/issue/KT-65038) K2: Type alias from indirect dependency causes `MISSING_DEPENDENCY_CLASS` error - [`KT-61875`](https://youtrack.jetbrains.com/issue/KT-61875) Native: remove support for bitcode embedding - [`KT-67693`](https://youtrack.jetbrains.com/issue/KT-67693) Implement checkers for K1 compiler which will check the usage of K2 new features and report that they are not supported in K1 compiler - [`KT-68556`](https://youtrack.jetbrains.com/issue/KT-68556) K2: false negative PROPERTY\_WITH\_NO\_TYPE\_NO\_INITIALIZER on uninitialized property without type - [`KT-60445`](https://youtrack.jetbrains.com/issue/KT-60445) K2/Java: investigate possible symbol clash while enhancing Java class type parameter bounds - [`KT-64193`](https://youtrack.jetbrains.com/issue/KT-64193) K2: No smartcast with two boolean expressions in a row - [`KT-65546`](https://youtrack.jetbrains.com/issue/KT-65546) K2. implement extended checker for unused anonymous parameter in lambda - [`KT-68358`](https://youtrack.jetbrains.com/issue/KT-68358) `@EnhancedNullability` is missing on value parameter type after inheritance by delegation with strict JSpecify enabled - [`KT-67791`](https://youtrack.jetbrains.com/issue/KT-67791) False negative "Synchronizing by Meters is forbidden" with inline value classes - [`KT-69495`](https://youtrack.jetbrains.com/issue/KT-69495) k2: inconsistent output of unsigned number in string templates - [`KT-69619`](https://youtrack.jetbrains.com/issue/KT-69619) K2. JAVA\_TYPE\_MISMATCH when Kotlin out generic type used in Java - [`KT-69563`](https://youtrack.jetbrains.com/issue/KT-69563) trying to call `.source` on `FirPackageFragmentDescriptor` results in exception - [`KT-69611`](https://youtrack.jetbrains.com/issue/KT-69611) Internal annotation FlexibleArrayElementVariance is written to output jar - [`KT-69463`](https://youtrack.jetbrains.com/issue/KT-69463) K2: false negative SUPER\_CALL\_WITH\_DEFAULT\_PARAMETERS with expect/actual declarations - [`KT-68724`](https://youtrack.jetbrains.com/issue/KT-68724) K2: "ABSTRACT\_MEMBER\_NOT\_IMPLEMENTED" caused by open modifier on interface - [`KT-69182`](https://youtrack.jetbrains.com/issue/KT-69182) K2: OptIn on enum companion blocks enum constants - [`KT-69191`](https://youtrack.jetbrains.com/issue/KT-69191) K2: "Unresolved reference" caused by nested data objects - [`KT-69569`](https://youtrack.jetbrains.com/issue/KT-69569) Wrong paths when one type has multiple annotated arguments - [`KT-55128`](https://youtrack.jetbrains.com/issue/KT-55128) Wrong type path in type annotations when type arguments are compiled to wildcards - [`KT-67692`](https://youtrack.jetbrains.com/issue/KT-67692) Native: support LLVM opaque pointers in the compiler - [`KT-69402`](https://youtrack.jetbrains.com/issue/KT-69402) FirSupertypeResolverVisitor: ConcurrentModificationException - [`KT-69062`](https://youtrack.jetbrains.com/issue/KT-69062) K1: false-negative "unsupported feature" error on multi-dollar interpolation - [`KT-68967`](https://youtrack.jetbrains.com/issue/KT-68967) Consider demoting warnings about multi-dollar interpolation to IJ inspections - [`KT-68957`](https://youtrack.jetbrains.com/issue/KT-68957) False-negative diagnostics about multi-dollar interpolation on string literals without interpolation - [`KT-69476`](https://youtrack.jetbrains.com/issue/KT-69476) False negative NO\_ELSE\_IN\_WHEN on when over intersection type with expect enum/sealed class - [`KT-67069`](https://youtrack.jetbrains.com/issue/KT-67069) K2: Delegated member calls interface method instead of fake override - [`KT-63864`](https://youtrack.jetbrains.com/issue/KT-63864) K2: Missing abbreviated type in metadata - [`KT-59833`](https://youtrack.jetbrains.com/issue/KT-59833) K2: Stop modifying values of enum entries - [`KT-69421`](https://youtrack.jetbrains.com/issue/KT-69421) K2: Resolve changed from delegated function to java default function - [`KT-69392`](https://youtrack.jetbrains.com/issue/KT-69392) K2: "UNSAFE\_CALL": when with some variable subjects does not smartcast the variable - [`KT-69053`](https://youtrack.jetbrains.com/issue/KT-69053) K2: Unsupported intersection overrides for fields - [`KT-69227`](https://youtrack.jetbrains.com/issue/KT-69227) K2: "Argument type mismatch" caused by generic typealias and upper bound - [`KT-31371`](https://youtrack.jetbrains.com/issue/KT-31371) NOT\_YET\_SUPPORTED\_IN\_INLINE: incorrect error message for local inline function - [`KT-49473`](https://youtrack.jetbrains.com/issue/KT-49473) PROTECTED\_CALL\_FROM\_PUBLIC\_INLINE\_ERROR: specialize error message for 'inline' property - [`KT-49474`](https://youtrack.jetbrains.com/issue/KT-49474) NON\_PUBLIC\_CALL\_FROM\_PUBLIC\_INLINE: specialize error message for 'inline' property - [`KT-49503`](https://youtrack.jetbrains.com/issue/KT-49503) SUPER\_CALL\_FROM\_PUBLIC\_INLINE\_ERROR: specialize error message for 'inline' property - [`KT-11302`](https://youtrack.jetbrains.com/issue/KT-11302) On inapplicable '`@JvmStatic`' annotation, highlight only the annotation, not the function signature - [`KT-59510`](https://youtrack.jetbrains.com/issue/KT-59510) K2: do not render annotations in the deprecation diagnostic - [`KT-68532`](https://youtrack.jetbrains.com/issue/KT-68532) "This code uses error suppression for 'INAPPLICABLE\_JVM\_NAME'. While it might compile and work, the compiler behavior is UNSPECIFIED and WON'T BE PRESERVED" - [`KT-68859`](https://youtrack.jetbrains.com/issue/KT-68859) K2: unable to suppress only "JAVA\_MODULE\_DOES\_NOT\_EXPORT\_PACKAGE" - [`KT-68469`](https://youtrack.jetbrains.com/issue/KT-68469) \[K2] MISSING\_DEPENDENCY\_CLASS caused by redundant `@file`:JvmName - [`KT-68999`](https://youtrack.jetbrains.com/issue/KT-68999) K2: Unify the style of FIR generator with IR and SIR tree-generators - [`KT-66061`](https://youtrack.jetbrains.com/issue/KT-66061) Kotlin/Native - building shared module for iOS - Argument list too long - [`KT-49420`](https://youtrack.jetbrains.com/issue/KT-49420) Suspicious behaviour of frontend in case of DefinitelyNotNull type overload - [`KT-59752`](https://youtrack.jetbrains.com/issue/KT-59752) K2: "Conflicting overloads" if function with same signature added to different contexts - [`KT-68618`](https://youtrack.jetbrains.com/issue/KT-68618) K1: Unresolved reference for qualified this in implicit type - [`KT-25341`](https://youtrack.jetbrains.com/issue/KT-25341) NOT\_YET\_SUPPORTED\_IN\_INLINE reported over anonymous object border - [`KT-69215`](https://youtrack.jetbrains.com/issue/KT-69215) K2: IllegalArgumentException for delegated function in anonymous object with captured type parameters - [`KT-69044`](https://youtrack.jetbrains.com/issue/KT-69044) Destructuring declaration shouldn't be possible in declaration in when - [`KT-69028`](https://youtrack.jetbrains.com/issue/KT-69028) K2: `FirJvmActualizingBuiltinSymbolProvider` returns `null` on builtins declarations if common source-set is not presented - [`KT-15704`](https://youtrack.jetbrains.com/issue/KT-15704) Rethink usage of term "type annotation" in error messages - [`KT-68970`](https://youtrack.jetbrains.com/issue/KT-68970) K2. Argument type mismatch caused by out projection in inferred type from if - else - [`KT-68800`](https://youtrack.jetbrains.com/issue/KT-68800) K2: Delete `ConeAttributes.plus` method - [`KT-59389`](https://youtrack.jetbrains.com/issue/KT-59389) K2: Missing AMBIGUOUS\_LABEL - [`KT-68803`](https://youtrack.jetbrains.com/issue/KT-68803) K2: Smart cast fails with "Unresolved reference" when `@Suppress`("UNCHECKED\_CAST") used in statement - [`KT-68968`](https://youtrack.jetbrains.com/issue/KT-68968) K2: Missing ILLEGAL\_SUSPEND\_FUNCTION\_CALL diagnostic in initialization code of a local class inside suspend function - [`KT-68336`](https://youtrack.jetbrains.com/issue/KT-68336) K2 does not seem to pass the right constructor arguments to custom scripts - [`KT-68517`](https://youtrack.jetbrains.com/issue/KT-68517) "IrSimpleFunctionSymbolImpl is unbound" for actual class containing non-actual functions - [`KT-59678`](https://youtrack.jetbrains.com/issue/KT-59678) K2: Investigate `ConeKotlinType.unCapture()` - [`KT-69027`](https://youtrack.jetbrains.com/issue/KT-69027) K2: Initialize `FirStdlibBuiltinSyntheticFunctionInterfaceProvider` in library session - [`KT-62818`](https://youtrack.jetbrains.com/issue/KT-62818) K2: improve VAR\_OVERRIDDEN\_BY\_VAL diagnostic message - [`KT-68214`](https://youtrack.jetbrains.com/issue/KT-68214) Rename TypeApproximatorConfiguration properties for clarity - [`KT-68093`](https://youtrack.jetbrains.com/issue/KT-68093) Implement deprecation of smartcasts on class-delegated properties - [`KT-67270`](https://youtrack.jetbrains.com/issue/KT-67270) Native: report more performance metrics from the compiler - [`KT-68621`](https://youtrack.jetbrains.com/issue/KT-68621) DATA\_CLASS\_INVISIBLE\_COPY\_USAGE false negative for inline fun - [`KT-68568`](https://youtrack.jetbrains.com/issue/KT-68568) K2: False-positive ACCIDENTAL\_OVERRIDE caused by missing dependency class - [`KT-66723`](https://youtrack.jetbrains.com/issue/KT-66723) K2: NO\_ACTUAL\_CLASS\_MEMBER\_FOR\_EXPECTED\_CLASS for actual typealias that extends to Java class with complicated hierarchy that includes default method - [`KT-69000`](https://youtrack.jetbrains.com/issue/KT-69000) Can't render constructor of intersection type - [`KT-68849`](https://youtrack.jetbrains.com/issue/KT-68849) K2: "ClassCastException: cannot be cast to kotlin.jvm.functions.Function2" caused by passing lambda to SAM constructor results - [`KT-61744`](https://youtrack.jetbrains.com/issue/KT-61744) Native: -Xsave-llvm-ir-after fails to check errors from LLVMPrintModuleToFile - [`KT-67103`](https://youtrack.jetbrains.com/issue/KT-67103) Support AbbreviatedTypeAttribute for aliased types from the source code - [`KT-63921`](https://youtrack.jetbrains.com/issue/KT-63921) K2: different representation of recursive type aliases - [`KT-68679`](https://youtrack.jetbrains.com/issue/KT-68679) K2: "Override has incorrect nullability in its signature compared to the overridden declaration" caused by subclass of Android HashMap - [`KT-64335`](https://youtrack.jetbrains.com/issue/KT-64335) K2: improve rendering of captured types in diagnostic messages - [`KT-68820`](https://youtrack.jetbrains.com/issue/KT-68820) K2: "Unresolved reference" on calling function with "contract" name - [`KT-67933`](https://youtrack.jetbrains.com/issue/KT-67933) K2: no conversion between fun interfaces if target has `suspend` - [`KT-68230`](https://youtrack.jetbrains.com/issue/KT-68230) K2: FirMissingDependencyClassChecker: Not supported: ConeFlexibleType - [`KT-68531`](https://youtrack.jetbrains.com/issue/KT-68531) K2: False-negative error on assignment to enum entry - [`KT-68446`](https://youtrack.jetbrains.com/issue/KT-68446) K2: compile-time failure on smart-casted generic value used as a when-subject in a contains-check with range - [`KT-68678`](https://youtrack.jetbrains.com/issue/KT-68678) K2: Drop using `FirBuiltinSymbolProvider` while compiling JVM stdlib - [`KT-68382`](https://youtrack.jetbrains.com/issue/KT-68382) Get rid of context receivers in FirScript implementation - [`KT-68585`](https://youtrack.jetbrains.com/issue/KT-68585) Implement new rules for CFA about enum entries - [`KT-68110`](https://youtrack.jetbrains.com/issue/KT-68110) K2: "Java type mismatch" caused by spring.Nullable - [`KT-68613`](https://youtrack.jetbrains.com/issue/KT-68613) K2: False positive `CONFLICTING_PROJECTION` after fixing KT-67764 - [`KT-67764`](https://youtrack.jetbrains.com/issue/KT-67764) K2: False negative: Projection problem is not reported in `is` expression - [`KT-67887`](https://youtrack.jetbrains.com/issue/KT-67887) Expection on assigning to private field of value type - [`KT-67801`](https://youtrack.jetbrains.com/issue/KT-67801) NSME on evaluating private member function with value class parameter - [`KT-67800`](https://youtrack.jetbrains.com/issue/KT-67800) NSME on evaluating private top-level function with value class parameter - [`KT-68542`](https://youtrack.jetbrains.com/issue/KT-68542) K2: Fix referecing to `@ExtensionFunctionType` if it's declared in source - [`KT-68188`](https://youtrack.jetbrains.com/issue/KT-68188) K2: Properly support FunctionN creation for stdlib compilation - [`KT-67946`](https://youtrack.jetbrains.com/issue/KT-67946) K2: Crash on red code: `Instead use FirErrorTypeRef for ERROR CLASS: Cannot infer argument for type parameter T` - [`KT-68526`](https://youtrack.jetbrains.com/issue/KT-68526) K2: false-negative inconsistent data class copy visibility warning on call to generic data class copy function - [`KT-68528`](https://youtrack.jetbrains.com/issue/KT-68528) K2: false-positive inconsistent data class copy visibility warning on call to function from another module with identical value parameter types and return type - [`KT-68525`](https://youtrack.jetbrains.com/issue/KT-68525) K2: false-negative inconsistent data class copy visibility warning on callable reference to data class copy function - [`KT-68617`](https://youtrack.jetbrains.com/issue/KT-68617) K2: Secondary constructors in a sealed class have private visibility instead of protected in the generated IR - [`KT-63920`](https://youtrack.jetbrains.com/issue/KT-63920) K2: Private secondary sealed class constructor is private in metadata, but protected in K1 - [`KT-57996`](https://youtrack.jetbrains.com/issue/KT-57996) Usages of `Foo` `@Nullable` \[]`produce only warnings even with`-Xtype-enhancement-improvements-strict-mode -Xjspecify-annotations=strict\` - [`KT-68207`](https://youtrack.jetbrains.com/issue/KT-68207) K2: Investigate if losing ConeIntersectionType.upperBoundForApproximation during approximation leads to any issues - [`KT-64990`](https://youtrack.jetbrains.com/issue/KT-64990) K2: Remove usages of SymbolTable from FIR2IR - [`KT-67798`](https://youtrack.jetbrains.com/issue/KT-67798) NSME on assigning to private delegated property of value class - [`KT-68264`](https://youtrack.jetbrains.com/issue/KT-68264) K2: confusing INVISIBLE\_\* error when typealias is involved - [`KT-68529`](https://youtrack.jetbrains.com/issue/KT-68529) K2: false-negative redundant annotation warning on `@ExposedCopyVisibility` on data class with public constructor - [`KT-67943`](https://youtrack.jetbrains.com/issue/KT-67943) Approximation should not generate types with UPPER\_BOUND\_VIOLATION errors - [`KT-67503`](https://youtrack.jetbrains.com/issue/KT-67503) K2: False negative "Type Expected" when attempting to annotate a wildcard type argument - [`KT-68187`](https://youtrack.jetbrains.com/issue/KT-68187) K2: Create IrBuiltins in fir2ir only after IR actualization - [`KT-66443`](https://youtrack.jetbrains.com/issue/KT-66443) K2: ArrayIterationHandler doesn't work if UIntArray declared in sources - [`KT-68291`](https://youtrack.jetbrains.com/issue/KT-68291) K2 / Contracts: Non-existent invocation kind is suggested as a fix - [`KT-68209`](https://youtrack.jetbrains.com/issue/KT-68209) K2: Strange import suggestion when lambda body contains invalid code - [`KT-67368`](https://youtrack.jetbrains.com/issue/KT-67368) "NullPointerException: Parameter specified as non-null is null" local lambda creates new not-null checks with 2.0.0-Beta5 - [`KT-51433`](https://youtrack.jetbrains.com/issue/KT-51433) FE 1.0: implement warnings about label resolve changes - [`KT-66554`](https://youtrack.jetbrains.com/issue/KT-66554) K2. Drop FIR based fake-override generator from fir2ir - [`KT-64202`](https://youtrack.jetbrains.com/issue/KT-64202) K2: Drop old methods for calculation of overridden symbols for lazy declarations - [`KT-67895`](https://youtrack.jetbrains.com/issue/KT-67895) K2: Properly implement generation of fake-overrides for fields - [`KT-54496`](https://youtrack.jetbrains.com/issue/KT-54496) K2: `REDUNDANT_MODALITY_MODIFIER` diagnostic disregards compiler plugins - [`KT-63745`](https://youtrack.jetbrains.com/issue/KT-63745) K2: Approximation of DNN with nullability warning attribute leads to attribute incorrectly becoming not-null - [`KT-63362`](https://youtrack.jetbrains.com/issue/KT-63362) AbstractTypeApproximator fixes only first local type in hierarchy - [`KT-67769`](https://youtrack.jetbrains.com/issue/KT-67769) K2: "variable must be initialized" on unreachable access in constructor - [`KT-51195`](https://youtrack.jetbrains.com/issue/KT-51195) FIR IC: Incremental compilation fails with `@PublishedApi` property - [`KT-67966`](https://youtrack.jetbrains.com/issue/KT-67966) No JVM type annotation is generated on a class supertype - [`KT-46640`](https://youtrack.jetbrains.com/issue/KT-46640) Generate JVM type annotations on wildcard bounds - [`KT-67952`](https://youtrack.jetbrains.com/issue/KT-67952) Annotations on type parameters are not generated for parameters other than the first - [`KT-68012`](https://youtrack.jetbrains.com/issue/KT-68012) K2. No `'operator' modifier is required on 'component'` error in K2 - [`KT-61835`](https://youtrack.jetbrains.com/issue/KT-61835) K2: FirStubTypeTransformer receives unresolved expressions in builder inference session - [`KT-63596`](https://youtrack.jetbrains.com/issue/KT-63596) K1/K2: Different behavior for lambda with different return type - [`KT-67688`](https://youtrack.jetbrains.com/issue/KT-67688) K2: False positive CANNOT\_INFER\_PARAMETER\_TYPE for Unit constraint type variable - [`KT-62080`](https://youtrack.jetbrains.com/issue/KT-62080) False positive UNUSED\_VARIABLE for variable that is used in lambda and in further code with several conditions - [`KT-60726`](https://youtrack.jetbrains.com/issue/KT-60726) K2: Missed TYPE\_MISMATCH error: inferred type non-suspend function but suspend function was expected - [`KT-41835`](https://youtrack.jetbrains.com/issue/KT-41835) \[FIR] Green code turns to red in presence of smartcasts and redundant type arguments - [`KT-67579`](https://youtrack.jetbrains.com/issue/KT-67579) K1/JVM: false-negative annotation-based diagnostics on usages of ABI compiled with non-trivially configured generation of default methods - [`KT-67493`](https://youtrack.jetbrains.com/issue/KT-67493) K2: argument type mismatch: actual type is 'T', but 'T' was expected - [`KT-64900`](https://youtrack.jetbrains.com/issue/KT-64900) K2: `getConstructorKeyword` call in `PsiRawFirBuilder.toFirConstructor` forces AST load - [`KT-67648`](https://youtrack.jetbrains.com/issue/KT-67648) K2: wrong exposed visibility errors with WRONG\_MODIFIER\_CONTAINING\_DECLARATION on top-level enum class - [`KT-58686`](https://youtrack.jetbrains.com/issue/KT-58686) FIR2IR: Don't use global counters - [`KT-67592`](https://youtrack.jetbrains.com/issue/KT-67592) K2: Success execution of `:kotlin-stdlib:compileKotlinMetadata` - [`KT-60398`](https://youtrack.jetbrains.com/issue/KT-60398) K2: consider forbidding FirBasedSymbol rebind - [`KT-54918`](https://youtrack.jetbrains.com/issue/KT-54918) Refactor transformAnonymousFunctionWithExpectedType - [`KT-63360`](https://youtrack.jetbrains.com/issue/KT-63360) K2: Malformed type mismatch error with functional type - [`KT-67266`](https://youtrack.jetbrains.com/issue/KT-67266) K2: disappeared INLINE\_CLASS\_DEPRECATED - [`KT-67569`](https://youtrack.jetbrains.com/issue/KT-67569) K2: Fix default value parameters of Enum's constructor if it's declared in source code - [`KT-67378`](https://youtrack.jetbrains.com/issue/KT-67378) K2: Don't use `wrapScopeWithJvmMapped` for common source sets - [`KT-67738`](https://youtrack.jetbrains.com/issue/KT-67738) K2: Introduce `kotlin.internal.ActualizeByJvmBuiltinProvider` annotation - [`KT-64456`](https://youtrack.jetbrains.com/issue/KT-64456) K2: Port \*VersionRequirementTest to K2 - [`KT-67136`](https://youtrack.jetbrains.com/issue/KT-67136) Put $this parameter to LVT for suspend lambdas - [`KT-62538`](https://youtrack.jetbrains.com/issue/KT-62538) K2: Declarations inside external classes should be implicitly external - [`KT-67627`](https://youtrack.jetbrains.com/issue/KT-67627) K2: External interface companion isn't external in IR - [`KT-60290`](https://youtrack.jetbrains.com/issue/KT-60290) K2: origin is not set for !in operator - [`KT-67512`](https://youtrack.jetbrains.com/issue/KT-67512) K2: false positive WRONG\_GETTER\_RETURN\_TYPE when getter return type is annotated - [`KT-67635`](https://youtrack.jetbrains.com/issue/KT-67635) K2: No warning TYPE\_MISMATCH\_WHEN\_FLEXIBILITY\_CHANGES for SAM constructor with inferred type - [`KT-60501`](https://youtrack.jetbrains.com/issue/KT-60501) K2 Scripting: investigate metadata difference between K1 and K2 - [`KT-67598`](https://youtrack.jetbrains.com/issue/KT-67598) K2: Fix incorrect casting `UByte` to `Number` in `FirToConstantValueTransformer` - [`KT-56564`](https://youtrack.jetbrains.com/issue/KT-56564) False positive "non-exhaustive when" in case of intersection type - [`KT-63969`](https://youtrack.jetbrains.com/issue/KT-63969) K2: extra property in metadata - [`KT-63968`](https://youtrack.jetbrains.com/issue/KT-63968) K2: extra property in metadata for anonymous variable in script - [`KT-67547`](https://youtrack.jetbrains.com/issue/KT-67547) K/N can't build caches, fails with "clang++: error=2, No such file or directory" - [`KT-67469`](https://youtrack.jetbrains.com/issue/KT-67469) K2: Failing module in FP-intellij - [`KT-64033`](https://youtrack.jetbrains.com/issue/KT-64033) K2: Investigate ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound - [`KT-64457`](https://youtrack.jetbrains.com/issue/KT-64457) K2: Fix DecompiledKnmStubConsistencyK2TestGenerated - [`KT-66377`](https://youtrack.jetbrains.com/issue/KT-66377) IR Evaluator: "no container found for type parameter" when evaluating nested generics - [`KT-66378`](https://youtrack.jetbrains.com/issue/KT-66378) IR Evaluator: Symbol is unbound - [`KT-64506`](https://youtrack.jetbrains.com/issue/KT-64506) IDE, IR Evaluator: NPE in ReflectiveAccessLowering.fieldLocationAndReceiver when evaluating private static properties - [`KT-67380`](https://youtrack.jetbrains.com/issue/KT-67380) K2: Don't check for `equals` overriding for class `Any` - [`KT-67038`](https://youtrack.jetbrains.com/issue/KT-67038) K2: Missing type of FirLiteralExpression causes an exception for property initializer type resolution - [`KT-59813`](https://youtrack.jetbrains.com/issue/KT-59813) K2: Fix the TODO about `firEffect.source` in `FirReturnsImpliesAnalyzer` - [`KT-59834`](https://youtrack.jetbrains.com/issue/KT-59834) K2: Fix the TODO about `merge(other)` in `UnusedChecker` - [`KT-59188`](https://youtrack.jetbrains.com/issue/KT-59188) K2: Change positioning strategy for `WRONG_NUMBER_OF_TYPE_ARGUMENTS` error - [`KT-59108`](https://youtrack.jetbrains.com/issue/KT-59108) K2. SMARTCAST\_IMPOSSIBLE instead of UNSAFE\_IMPLICIT\_INVOKE\_CALL - [`KT-65503`](https://youtrack.jetbrains.com/issue/KT-65503) The inline processor cannot handle objects inside the lambda correctly when calling an inline function from another module - [`KT-30696`](https://youtrack.jetbrains.com/issue/KT-30696) NoSuchMethodError if nested anonymous objects are used with propagation reified type parameter - [`KT-58966`](https://youtrack.jetbrains.com/issue/KT-58966) Incorrect type inference for parameters with omitted type of anonymous function that is being analyzed as value of function type with receiver - [`KT-67458`](https://youtrack.jetbrains.com/issue/KT-67458) Use `@PhaseDescription` for JVM backend lowering phases - [`KT-65647`](https://youtrack.jetbrains.com/issue/KT-65647) K2 ignores diagnostics on sourceless `FirTypeRef`s - [`KT-64489`](https://youtrack.jetbrains.com/issue/KT-64489) K2: Rename FirAugmentedArraySet - [`KT-67394`](https://youtrack.jetbrains.com/issue/KT-67394) FIR: Make FIR repr of For from PSI and LightTree the same - [`KT-66724`](https://youtrack.jetbrains.com/issue/KT-66724) K2 IDE. False positive errors because of wrong type inference in complex case of delegated property and type arguments - [`KT-40248`](https://youtrack.jetbrains.com/issue/KT-40248) Confusing error message NO\_RETURN\_IN\_FUNCTION\_WITH\_BLOCK\_BODY - [`KT-66947`](https://youtrack.jetbrains.com/issue/KT-66947) K2: false-positive JSpecify nullability enhancement warning on Java wildcard type argument with same base type but different nullabilities as upper and lower bounds - [`KT-66974`](https://youtrack.jetbrains.com/issue/KT-66974) K2: false-negative JSpecify nullability enhancement warning on nullable projection of Java wildcard type argument with non-null bounds in out-position - [`KT-66946`](https://youtrack.jetbrains.com/issue/KT-66946) K2: false-negative JSpecify nullability enhancement warning on Java wildcard type argument with nullable upper bound in out-position - [`KT-66442`](https://youtrack.jetbrains.com/issue/KT-66442) K2: No visibility error on importing private aliases - [`KT-66598`](https://youtrack.jetbrains.com/issue/KT-66598) K2: Allow comparisons, `is`-checks and casts between Kotlin and platform types - [`KT-55966`](https://youtrack.jetbrains.com/issue/KT-55966) K2: Not enough information to infer type variable K if smartcast is used - [`KT-64894`](https://youtrack.jetbrains.com/issue/KT-64894) OPT\_IN\_ARGUMENT\_IS\_NOT\_MARKER diagnostic message is unclear - [`KT-67019`](https://youtrack.jetbrains.com/issue/KT-67019) K2: IR has incorrect EQ origins for some inplace updating operators - [`KT-59810`](https://youtrack.jetbrains.com/issue/KT-59810) K2: Support other ConstraintPosition-s - [`KT-55383`](https://youtrack.jetbrains.com/issue/KT-55383) K1/K2: isClassTypeConstructor behaves differently for stub types - [`KT-60089`](https://youtrack.jetbrains.com/issue/KT-60089) K2: Introduced ERROR\_IN\_CONTRACT\_DESCRIPTION - [`KT-60382`](https://youtrack.jetbrains.com/issue/KT-60382) K2: Refactor ExpectActualCollector - [`KT-62929`](https://youtrack.jetbrains.com/issue/KT-62929) K2: investigate if guessArrayTypeIfNeeded is necessary in annotation loader - [`KT-65642`](https://youtrack.jetbrains.com/issue/KT-65642) K2: IR: Array access desugaring doesn't have origins - [`KT-24807`](https://youtrack.jetbrains.com/issue/KT-24807) No smartcast to Boolean in subject of when-expression when subject type is non-nullable - [`KT-66057`](https://youtrack.jetbrains.com/issue/KT-66057) K2: incorrect supertype leads to class declaration being highlighted red - [`KT-63958`](https://youtrack.jetbrains.com/issue/KT-63958) K2: drop support of UseBuilderInferenceOnlyIfNeeded=false - [`KT-63959`](https://youtrack.jetbrains.com/issue/KT-63959) K2: treat stub types as non-nullable for isReceiverNullable check - [`KT-65100`](https://youtrack.jetbrains.com/issue/KT-65100) IrFakeOverrideBuilder: support custom 'remove(Int)' handling logic in MutableCollection subclasses ##### Compose compiler ##### New features - [`cdfe659`](https://github.com/JetBrains/kotlin/commit/cdfe65911490eef21892098494986af1af14fa64) Changed how compiler features being rolled out are enabled and disabled in compiler plugin CLI. Features, such as strong skipping and non-skipping group optimizations are now enabled through the "featureFlag" option instead of their own option. - [`192e556`](https://github.com/JetBrains/kotlin/commit/192e5565f484b399b33ed9e959793922f0aeb3d0) Strong skipping is now enabled by default - [`842a9e8`](https://github.com/JetBrains/kotlin/commit/842a9e87e3c1e1d219313caedcc9e9fae895e53f) Add support for default parameters in abstract and open `@Composable` functions [`b/165812010`](https://issuetracker.google.com/issues/165812010) ##### Fixes - [`e207b05`](https://github.com/JetBrains/kotlin/commit/e207b05f1fcbba38b71030be0fc30b378e9b5308) Fixes group generation for if statements when nonSkippingGroupOptimization is enabled [`b/346821372`](https://issuetracker.google.com/issues/346821372) - [`f64fc3a`](https://github.com/JetBrains/kotlin/commit/f64fc3ae5f9be6f2a066b3b9350f830bdd4e854c) Fixes `endToMarker` generation in early return from inline lambdas that caused start/end imbalance [`b/346808602`](https://issuetracker.google.com/issues/346808602) - [`d6ac8a5`](https://github.com/JetBrains/kotlin/commit/d6ac8a50a4eb4ce1c6464cb5103d2d9b04f67019) Stop memoizing lambdas with captured property delegates [`b/342557697`](https://issuetracker.google.com/issues/342557697) - [`f38d5a3`](https://github.com/JetBrains/kotlin/commit/f38d5a3c047edb3b38eb0eaebcdcedc2aa1c04d8) Stop capturing parameter meta across crossinline boundary [`b/343801379`](https://issuetracker.google.com/issues/343801379) - [`770fe8d`](https://github.com/JetBrains/kotlin/commit/770fe8dda6a8a801b47cb84f5026f93555c4b452) Propagate annotations from inferred function types when serializing [`b/345261077`](https://issuetracker.google.com/issues/345261077) - [`3c67cda`](https://github.com/JetBrains/kotlin/commit/3c67cda09099f9acdd10b944183a75958e023141) Fix memoization of captureless lambdas when K2 compiler is used [`b/340582180`](https://issuetracker.google.com/issues/340582180) - [`3281e53`](https://github.com/JetBrains/kotlin/commit/3281e53a1bb15af932157d42178184aed55e6d71) Allow memoizing lambdas in composable inline functions [`b/340606661`](https://issuetracker.google.com/issues/340606661) - [`b/351858979`](https://issuetracker.google.com/issues/351858979) Fix stability inferencing of interfaces on incremental compilation - [`b/346821372`](https://issuetracker.google.com/issues/346821372) \[Compose] Fix code generation for group optimization - [`b/357878245`](https://issuetracker.google.com/issues/357878245) Disallow open `@Composable` functions with default params to fix binary compatibility issues. ##### IR. Actualizer - [`KT-68830`](https://youtrack.jetbrains.com/issue/KT-68830) Compiler crash on missing actual class - [`KT-69024`](https://youtrack.jetbrains.com/issue/KT-69024) K2: Children of expect annotation with `@OptionalExpectation` should be actualized - [`KT-68742`](https://youtrack.jetbrains.com/issue/KT-68742) Allow expect protected to Java protected actualization - [`KT-66436`](https://youtrack.jetbrains.com/issue/KT-66436) K2. Actualizing modCount property with a field in AbstractMutableList - [`KT-68741`](https://youtrack.jetbrains.com/issue/KT-68741) Support actualization of AbstractMutableList.modCount - [`KT-68801`](https://youtrack.jetbrains.com/issue/KT-68801) Crash on access of fake override of function actualized by fake override - [`KT-66307`](https://youtrack.jetbrains.com/issue/KT-66307) K2: property fake override isn't generated for protected field ##### IR. Inlining - [`KT-67208`](https://youtrack.jetbrains.com/issue/KT-67208) KJS: put ReplaceSuspendIntrinsicLowering after IR inliner - [`KT-68100`](https://youtrack.jetbrains.com/issue/KT-68100) Run IR validation in the beginning and the end of the common prefix - [`KT-69171`](https://youtrack.jetbrains.com/issue/KT-69171) Introduce a temporary `-X` CLI parameter that enables double-inlining - [`KT-69006`](https://youtrack.jetbrains.com/issue/KT-69006) Enable IR visibility checks after IR inlining - [`KT-69183`](https://youtrack.jetbrains.com/issue/KT-69183) IR inlining: properly handle defaults that depends on previous value parameters - [`KT-67660`](https://youtrack.jetbrains.com/issue/KT-67660) Suspicious package part FQN calculation in InventNamesForLocalClasses - [`KT-68558`](https://youtrack.jetbrains.com/issue/KT-68558) Move `InlineCallableReferenceToLambdaPhase` into `ir.inline` module - [`KT-56466`](https://youtrack.jetbrains.com/issue/KT-56466) Support non-local break/continue in IR inliner - [`KT-64958`](https://youtrack.jetbrains.com/issue/KT-64958) KJS: Put as many as possible lowerings after the inliner - [`KT-67297`](https://youtrack.jetbrains.com/issue/KT-67297) Implement IR deserializer with unbound symbols ##### IR. Interpreter - [`KT-66938`](https://youtrack.jetbrains.com/issue/KT-66938) Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' ##### IR. Tree ##### Performance Improvements - [`KT-67695`](https://youtrack.jetbrains.com/issue/KT-67695) ForLoopsLowering fails to handle a loop over an imprecise typed iterable ##### Fixes - [`KT-68784`](https://youtrack.jetbrains.com/issue/KT-68784) Support validating visibility of referenced declarations in IrValidator - [`KT-68174`](https://youtrack.jetbrains.com/issue/KT-68174) Delete the IrMessageLogger interface - [`KT-67082`](https://youtrack.jetbrains.com/issue/KT-67082) Introduce attributes on IrElement - [`KT-68716`](https://youtrack.jetbrains.com/issue/KT-68716) `DeepCopyIrTreeWithSymbols.visitConst` should remap const type - [`KT-67650`](https://youtrack.jetbrains.com/issue/KT-67650) Add default implementations to methods for non-leaf IrSymbol subclasses from SymbolRemapper - [`KT-67649`](https://youtrack.jetbrains.com/issue/KT-67649) Autogenerate IrSymbol interface hierarchy - [`KT-44721`](https://youtrack.jetbrains.com/issue/KT-44721) IR: merge IrPrivateSymbolBase and IrPublicSymbolBase hierarchies - [`KT-67580`](https://youtrack.jetbrains.com/issue/KT-67580) Autogenerate SymbolRemapper - [`KT-67457`](https://youtrack.jetbrains.com/issue/KT-67457) Introduce a way to simplify IR lowering phase creation - [`KT-67060`](https://youtrack.jetbrains.com/issue/KT-67060) NoSuchMethodError for org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl in the Flysto ##### JavaScript ##### New Features - [`KT-69133`](https://youtrack.jetbrains.com/issue/KT-69133) Kotlin/JS: Add support for collection instantiation in JavaScript - [`KT-18891`](https://youtrack.jetbrains.com/issue/KT-18891) JS: provide a way to declare static members (JsStatic?) ##### Fixes - [`KT-68943`](https://youtrack.jetbrains.com/issue/KT-68943) `@JsPlainObject` breaks when interface has type parameters - [`KT-70592`](https://youtrack.jetbrains.com/issue/KT-70592) "Error: HttpClientCall expected" on HTTP request when targeting es2015 with KTOR - [`KT-67273`](https://youtrack.jetbrains.com/issue/KT-67273) Creating Kotlin Collections from JS collections - [`KT-65018`](https://youtrack.jetbrains.com/issue/KT-65018) JS: Deprecate error tolerance - [`KT-67355`](https://youtrack.jetbrains.com/issue/KT-67355) KJS / ES6: 'super' in lambda with enabled `-Xir-generate-inline-anonymous-functions` leads to JS errors - [`KT-69353`](https://youtrack.jetbrains.com/issue/KT-69353) KJS / d.ts: Kotlin does not export base collection classes along with their mutable collection counterparts - [`KT-66898`](https://youtrack.jetbrains.com/issue/KT-66898) KJS: Reserved keywords not escaped when `-Xir-generate-inline-anonymous-functions` is enabled - [`KT-69710`](https://youtrack.jetbrains.com/issue/KT-69710) JS IR generates bad code for inner param default referring to outer members - [`KT-68632`](https://youtrack.jetbrains.com/issue/KT-68632) K2: allow JS\_NAME\_CLASH suppression - [`KT-69400`](https://youtrack.jetbrains.com/issue/KT-69400) Use correct type for references on local functions when transforming them into lambda - [`KT-68554`](https://youtrack.jetbrains.com/issue/KT-68554) Legalize marker interface as parent for JSO (interface marked with `@JsPlainObject`) - [`KT-68740`](https://youtrack.jetbrains.com/issue/KT-68740) Kotlin/JS 2.0.0 IrLinkageError with dynamic function parameters inside data classes - [`KT-68944`](https://youtrack.jetbrains.com/issue/KT-68944) `@JsPlainObject` require properties, when type - nullable alias - [`KT-68891`](https://youtrack.jetbrains.com/issue/KT-68891) `@JsPlainObject` fails to compile when encountering reserved keywords as interface properties - [`KT-69023`](https://youtrack.jetbrains.com/issue/KT-69023) KJS / IR: `globalThis` is mandatory, breaking older browsers support - [`KT-68641`](https://youtrack.jetbrains.com/issue/KT-68641) KJS: 'export was not found' with per-file mode on case-insensitive filesystem - [`KT-68053`](https://youtrack.jetbrains.com/issue/KT-68053) K2: NON\_EXPORTABLE\_TYPE on a typealias of primitive type - [`KT-62304`](https://youtrack.jetbrains.com/issue/KT-62304) K/JS: Investigate the compiler assertion crash in JS FIR with backend tests - [`KT-68620`](https://youtrack.jetbrains.com/issue/KT-68620) \[wasm]\[js] Default param in inner class method fails if we are referring generic extension property - [`KT-64801`](https://youtrack.jetbrains.com/issue/KT-64801) K2 + JS and WASM: Inner with default inner doesn't work properly - [`KT-67248`](https://youtrack.jetbrains.com/issue/KT-67248) ModuleDescriptor in JS Linker contains incorrect friend dependecies - [`KT-64424`](https://youtrack.jetbrains.com/issue/KT-64424) K2: Migrate JsProtoComparisonTestGenerated to K2 - [`KT-52602`](https://youtrack.jetbrains.com/issue/KT-52602) Kotlin/JS + IR: incompatible ABI version is not reported when no declarations are actually used by a Gradle compilation - [`KT-66092`](https://youtrack.jetbrains.com/issue/KT-66092) K/JS & Wasm: .isReified for reified upper bound is wrongly false - [`KT-67112`](https://youtrack.jetbrains.com/issue/KT-67112) Unable to apply `@JsStatic` for common sources: \[NO\_CONSTRUCTOR] - [`KT-62329`](https://youtrack.jetbrains.com/issue/KT-62329) KJS: "UnsupportedOperationException: Empty collection can't be reduced" caused by external enum with "`@JsExport`" - [`KT-67018`](https://youtrack.jetbrains.com/issue/KT-67018) K/JS: Executable js file for module-kind=umd contains top level this instead of globalThis - [`KT-64776`](https://youtrack.jetbrains.com/issue/KT-64776) Test infra for JS can't process dependency in mpp module - [`KT-65076`](https://youtrack.jetbrains.com/issue/KT-65076) Use the same instance when a fun interface doesn't capture or capture only singletons ##### Klibs - [`KT-66557`](https://youtrack.jetbrains.com/issue/KT-66557) Check, that no bad metadata in klib is produced, when we failed to compute constant value - [`KT-66968`](https://youtrack.jetbrains.com/issue/KT-66968) Provide K/N platforms libs for all available targets - [`KT-66967`](https://youtrack.jetbrains.com/issue/KT-66967) Provide K/N stdlib for all available targets in all distributions - [`KT-66605`](https://youtrack.jetbrains.com/issue/KT-66605) \[KLIB] Excessive creation of `BaseKotlinLibrary` during resolving libs - [`KT-68824`](https://youtrack.jetbrains.com/issue/KT-68824) API 4 ABI: Don't show sealed class constructors - [`KT-68202`](https://youtrack.jetbrains.com/issue/KT-68202) KLIB metadata: nested classes are sometimes inside a different 'knm' chunk - [`KT-65834`](https://youtrack.jetbrains.com/issue/KT-65834) \[KLIB Resolve] Drop library versions in KLIB manifests - [`KT-67446`](https://youtrack.jetbrains.com/issue/KT-67446) \[KLIB Tool] Drop "-repository <path>" CLI parameter - [`KT-67445`](https://youtrack.jetbrains.com/issue/KT-67445) \[KLIB Tool] Drop "install" and "remove" commands ##### Language Design - [`KT-58920`](https://youtrack.jetbrains.com/issue/KT-58920) K2: Prioritize Enum.entries resolve - [`KT-11914`](https://youtrack.jetbrains.com/issue/KT-11914) Confusing data class copy with private constructor - [`KT-68636`](https://youtrack.jetbrains.com/issue/KT-68636) Incorrect private\_to\_this visibility for data class with a private constructor ##### Libraries ##### New Features - [`KT-31880`](https://youtrack.jetbrains.com/issue/KT-31880) UUID functionality to fix Java bugs as well as extend it - [`KT-57998`](https://youtrack.jetbrains.com/issue/KT-57998) implement Base64.withoutPadding ##### Performance Improvements - [`KT-67023`](https://youtrack.jetbrains.com/issue/KT-67023) Optimize Int.sign and Long.sign for js and wasmJs targets ##### Fixes - [`KT-70196`](https://youtrack.jetbrains.com/issue/KT-70196) Introduce ExperimentalUuidApi annotation for marking Uuid API - [`KT-60787`](https://youtrack.jetbrains.com/issue/KT-60787) Cannot ignore alpha when formatting with HexFormat - [`KT-68025`](https://youtrack.jetbrains.com/issue/KT-68025) Improve documentation for Hex - [`KT-66129`](https://youtrack.jetbrains.com/issue/KT-66129) Minor issues with HexFormat - [`KT-67511`](https://youtrack.jetbrains.com/issue/KT-67511) provide equals() and hashCode() implementations for kotlinx.metadata.KmType - [`KT-68240`](https://youtrack.jetbrains.com/issue/KT-68240) stdlib: proper expects for internal API used in intermediate shared source sets - [`KT-68840`](https://youtrack.jetbrains.com/issue/KT-68840) atomicfu-runtime: annotate some internal functions with `@PublishedApi` - [`KT-68839`](https://youtrack.jetbrains.com/issue/KT-68839) Annotate `kotlin.js.VOID` property with `@PublishedApi` - [`KT-68023`](https://youtrack.jetbrains.com/issue/KT-68023) Improve documentation for Base64 - [`KT-51483`](https://youtrack.jetbrains.com/issue/KT-51483) Documentation of trimMargin is (partly) difficult to understand - [`KT-64649`](https://youtrack.jetbrains.com/issue/KT-64649) Add explanation to "A compileOnly dependency is used in the Kotlin/Native target" warning message - [`KT-67807`](https://youtrack.jetbrains.com/issue/KT-67807) JS/Wasm: ByteArray.decodeToString incorrectly handles ill-formed 4-byte sequences with a 2nd byte not being continuation byte - [`KT-67768`](https://youtrack.jetbrains.com/issue/KT-67768) Wasm: ByteArray.decodeToString throws out-of-bounds exception if the last byte is a start of a 4-byte sequence - [`KT-66896`](https://youtrack.jetbrains.com/issue/KT-66896) Improve Array contentEquals and contentDeepEquals documentation ##### Native - [`KT-70166`](https://youtrack.jetbrains.com/issue/KT-70166) Native: EXC\_BAD\_ACCESS on watchOS when using Dispatchers - [`KT-69246`](https://youtrack.jetbrains.com/issue/KT-69246) K2: linkPodDebugFrameworkIosArm64 takes 15 (!!) times longer - [`KT-67694`](https://youtrack.jetbrains.com/issue/KT-67694) Native: WeakRefBenchmark degradation due to nonoptimized IntProgression iteration - [`KT-69206`](https://youtrack.jetbrains.com/issue/KT-69206) Native: updating to LLVM 16 breaks debugging in lldb on Linux - [`KT-68640`](https://youtrack.jetbrains.com/issue/KT-68640) Native: updating to LLVM 16 changes behavior of `used` attribute in C/C++ code - [`KT-58097`](https://youtrack.jetbrains.com/issue/KT-58097) Kotlin/Native: improve the error message if Xcode is not properly configured - [`KT-67583`](https://youtrack.jetbrains.com/issue/KT-67583) compileKotlin-task unexpectedly downloads K/N dependencies on Linux (but doesn't on Mac) ##### Native. Build Infrastructure - [`KT-69781`](https://youtrack.jetbrains.com/issue/KT-69781) Kotlin/Native performance tests fail to compile with bitcode ##### Native. C and ObjC Import - [`KT-69094`](https://youtrack.jetbrains.com/issue/KT-69094) LLVM 11 clang: cinterops fail with "\_Float16 is not supported on this target" - [`KT-68254`](https://youtrack.jetbrains.com/issue/KT-68254) Native: flaky testForwardEnum test in Kotlin/Native on MacOS - [`KT-65260`](https://youtrack.jetbrains.com/issue/KT-65260) Native: compiler crashes when casting to an Obj-C class companion ##### Native. ObjC Export - [`KT-65666`](https://youtrack.jetbrains.com/issue/KT-65666) Native: enable objcExportSuspendFunctionLaunchThreadRestriction=none by default - [`KT-57496`](https://youtrack.jetbrains.com/issue/KT-57496) linkReleaseFrameworkIosArm64: e: Compilation failed: An operation is not implemented ##### Native. Platform Libraries - [`KT-69382`](https://youtrack.jetbrains.com/issue/KT-69382) LLVM 11 clang: symbol not found when running the linker ##### Native. Runtime - [`KT-70043`](https://youtrack.jetbrains.com/issue/KT-70043) Native: EXC\_BAD\_ACCESS on watchOS when using Random - [`KT-68928`](https://youtrack.jetbrains.com/issue/KT-68928) EXC\_BREAKPOINT: BUG IN CLIENT OF LIBPLATFORM: Trying to recursively lock an os\_unfair\_lock ##### Native. Runtime. Memory - [`KT-66644`](https://youtrack.jetbrains.com/issue/KT-66644) Native: threads are too often paused to assist GC (with concurrent mark) - [`KT-68871`](https://youtrack.jetbrains.com/issue/KT-68871) Native: Unexpected barriers phase during STW: weak-processing - [`KT-67779`](https://youtrack.jetbrains.com/issue/KT-67779) Native: SpecialRefRegistry::ThradData publication prolongs the pause in CMS - [`KT-66918`](https://youtrack.jetbrains.com/issue/KT-66918) Native: scan global root set concurrently ##### Native. Swift Export - [`KT-69469`](https://youtrack.jetbrains.com/issue/KT-69469) Exporting object twice causing crash - [`KT-69251`](https://youtrack.jetbrains.com/issue/KT-69251) Get rid of context receivers from ./native/.../lazyWithSessions.kt - [`KT-68865`](https://youtrack.jetbrains.com/issue/KT-68865) Move config into test-directives - [`KT-68259`](https://youtrack.jetbrains.com/issue/KT-68259) Swift export: secondary constructs lead to compilation errors - [`KT-67095`](https://youtrack.jetbrains.com/issue/KT-67095) Native: fix testNativeRefs export test - [`KT-67099`](https://youtrack.jetbrains.com/issue/KT-67099) Remove SirVisitor and SirTransformer from code - [`KT-67003`](https://youtrack.jetbrains.com/issue/KT-67003) Abandon PackageInflator implementation in favour of PackageProvider component ##### Native. Testing - [`KT-69235`](https://youtrack.jetbrains.com/issue/KT-69235) Incorrect handling of friend dependencies in Native test infra - [`KT-67436`](https://youtrack.jetbrains.com/issue/KT-67436) Native: support CLI tests - [`KT-68416`](https://youtrack.jetbrains.com/issue/KT-68416) Native: when using test grouping, a whole group gets ignored on non-Mac hosts if it has Objective-C tests - [`KT-68500`](https://youtrack.jetbrains.com/issue/KT-68500) Native: Drop custom logic in ExtTestCaseGroupProvider, mute codegen/box tests explicitly ##### Reflection - [`KT-69433`](https://youtrack.jetbrains.com/issue/KT-69433) KotlinReflectionInternalError on non-reified type parameter in typeOf inside an inline lambda - [`KT-68675`](https://youtrack.jetbrains.com/issue/KT-68675) K2: KotlinReflectionInternalError on non-reified type parameter in typeOf inside a lambda ##### Tools. Build Tools API - [`KT-68555`](https://youtrack.jetbrains.com/issue/KT-68555) BTA test infra: top level declarations are invisible across modules ##### Tools. CLI - [`KT-69792`](https://youtrack.jetbrains.com/issue/KT-69792) Add the possibility to disable fast jar fs in K2 - [`KT-68838`](https://youtrack.jetbrains.com/issue/KT-68838) OutOfMemory when compiling in CLI - [`KT-67939`](https://youtrack.jetbrains.com/issue/KT-67939) Add CLI argument to enable when guards feature - [`KT-68743`](https://youtrack.jetbrains.com/issue/KT-68743) Extract common CLI arguments for all KLIB-based backends - [`KT-68450`](https://youtrack.jetbrains.com/issue/KT-68450) CLI: errors related to module-info are reported even if there are no Kotlin source files - [`KT-68060`](https://youtrack.jetbrains.com/issue/KT-68060) FastJarFS fails on empty jars ##### Tools. CLI. Native - [`KT-66952`](https://youtrack.jetbrains.com/issue/KT-66952) Native: konanc fails when KONAN\_HOME is under path with spaces - [`KT-64524`](https://youtrack.jetbrains.com/issue/KT-64524) Introduce a CLI argument to override native\_targets field in klib manifest ##### Tools. Commonizer - [`KT-68835`](https://youtrack.jetbrains.com/issue/KT-68835) Command line length overflow on Linux/Windows while invoking commonizer via :commonizeDistribution ##### Tools. Compiler Plugin API - [`KT-68020`](https://youtrack.jetbrains.com/issue/KT-68020) K2: run FirSupertypeGenerationExtension over generated declarations ##### Tools. Compiler Plugins - [`KT-64425`](https://youtrack.jetbrains.com/issue/KT-64425) K2: Implement Atomicfu\*IrTestGenerated for K2 - [`KT-69401`](https://youtrack.jetbrains.com/issue/KT-69401) Kotlin power assert plugin doesn't work correctly with safe cast operator - [`KT-69290`](https://youtrack.jetbrains.com/issue/KT-69290) PowerAssert: implicit receivers included in power-assert generated diagram - [`KT-68511`](https://youtrack.jetbrains.com/issue/KT-68511) Power Assert kotlinx.assertEquals message display problem - [`KT-68807`](https://youtrack.jetbrains.com/issue/KT-68807) Power-Assert crashes the Kotlin compiler when if expression used as assertion parameter - [`KT-68162`](https://youtrack.jetbrains.com/issue/KT-68162) K2 Parcelize implementation breaks compiler phase contracts - [`KT-67605`](https://youtrack.jetbrains.com/issue/KT-67605) K2 parcelize: false positive NOTHING\_TO\_OVERRIDE in one test - [`KT-64455`](https://youtrack.jetbrains.com/issue/KT-64455) K2: Implement ParcelizeIrBoxTestWithSerializableLikeExtension for K2 ##### Tools. Compiler plugins. Serialization - [`KT-70516`](https://youtrack.jetbrains.com/issue/KT-70516) KxSerialization: `@KeepGeneratedSerializer` and sealed class cause initialization error - [`KT-68752`](https://youtrack.jetbrains.com/issue/KT-68752) Serializable annotation on Java class is not taken into account in K2 checker - [`KT-68931`](https://youtrack.jetbrains.com/issue/KT-68931) JS/Native + serialization: partial linkage error - [`KT-69039`](https://youtrack.jetbrains.com/issue/KT-69039) FIR: Implement IDE-only checker for kotlinx.serialization compiler plugin to report IDE-only diagnostics ##### Tools. Fleet. ObjC Export - [`KT-68826`](https://youtrack.jetbrains.com/issue/KT-68826) ObjCExport: SerializersModuleBuilder - [`KT-68841`](https://youtrack.jetbrains.com/issue/KT-68841) ObjCExport: `@Deprecated` support - [`KT-68887`](https://youtrack.jetbrains.com/issue/KT-68887) ObjCExport: K1 text fixture `@Deprecated` support - [`KT-68051`](https://youtrack.jetbrains.com/issue/KT-68051) \[ObjCExport] Support reserved method names ##### Tools. Gradle ##### New Features - [`KT-68651`](https://youtrack.jetbrains.com/issue/KT-68651) Compose: provide a single place in extension to configure all compose flags ##### Performance Improvements - [`KT-61861`](https://youtrack.jetbrains.com/issue/KT-61861) Gradle: Kotlin compilations depend on packed artifacts ##### Fixes - [`KT-69809`](https://youtrack.jetbrains.com/issue/KT-69809) Compose Gradle Plugin: AGP doesn't override configuration properties like traceMarkersEnabled - [`KT-65820`](https://youtrack.jetbrains.com/issue/KT-65820) Compatibility with Gradle 8.7 release - [`KT-69444`](https://youtrack.jetbrains.com/issue/KT-69444) Don't warn about missing Compose Compiler Gradle plugin in some cases - [`KT-67888`](https://youtrack.jetbrains.com/issue/KT-67888) Remove usages of deprecated Configuration.fileCollection() method - [`KT-68843`](https://youtrack.jetbrains.com/issue/KT-68843) Gradle: Kotlin plugin changes source set 'main' to 'null/main' - [`KT-67395`](https://youtrack.jetbrains.com/issue/KT-67395) Add new plugins to collector kotlin gradle performance - [`KT-68661`](https://youtrack.jetbrains.com/issue/KT-68661) Move ExperimentalWasmDsl to kotlin-gradle-plugin-annotations - [`KT-69837`](https://youtrack.jetbrains.com/issue/KT-69837) Deprecation warning for file-based IC is issued when the property is set to true, altering the intended meaning of the message - [`KT-69291`](https://youtrack.jetbrains.com/issue/KT-69291) Compose Gradle plugin: Enable strong skipping by default - [`KT-67766`](https://youtrack.jetbrains.com/issue/KT-67766) Build against Gradle API 8.7 - [`KT-67889`](https://youtrack.jetbrains.com/issue/KT-67889) Run tests against Gradle 8.8 release - [`KT-65271`](https://youtrack.jetbrains.com/issue/KT-65271) Gradle: "Mutating dependency DefaultExternalModuleDependency after it has been finalized has been deprecated " with gradle 8.6-rc-3 - [`KT-67822`](https://youtrack.jetbrains.com/issue/KT-67822) Deprecate JVM history files based incremental compilation - [`KT-64378`](https://youtrack.jetbrains.com/issue/KT-64378) Compatibility with Gradle 8.6 release - [`KT-69414`](https://youtrack.jetbrains.com/issue/KT-69414) Compose: featureFlags override values of the deprecated compose options - [`KT-67771`](https://youtrack.jetbrains.com/issue/KT-67771) Compatibility with Gradle 8.8 release - [`KT-65528`](https://youtrack.jetbrains.com/issue/KT-65528) Migrate rest of Gradle integration tests to new Test DSL - [`KT-68306`](https://youtrack.jetbrains.com/issue/KT-68306) Project isolation for FUS statistics: Cannot access project ':' from project ':app' at org.jetbrains.kotlin.gradle.report.BuildMetricsService$ Companion.initBuildScanExtensionHolder - [`KT-67890`](https://youtrack.jetbrains.com/issue/KT-67890) Compile against Gradle 8.8 API artifact - [`KT-68773`](https://youtrack.jetbrains.com/issue/KT-68773) Kotlin 2.0.0 with Gradle 8.8: ConcurrentModificationException on BuildFusService configurationMetrics - [`KT-68308`](https://youtrack.jetbrains.com/issue/KT-68308) Project isolation for FUS statistics: An error is thrown at org.gradle.configurationcache.ProblemReportingCrossProjectModelAccess$ProblemReportingProject.getLayout - [`KT-61574`](https://youtrack.jetbrains.com/issue/KT-61574) Add project-isolation test for Kotlin/Android plugin - [`KT-65936`](https://youtrack.jetbrains.com/issue/KT-65936) Provide a detailed error for changing kotlin native version dependency. - [`KT-62684`](https://youtrack.jetbrains.com/issue/KT-62684) PropertiesBuildService should load extraProperties only once - [`KT-67288`](https://youtrack.jetbrains.com/issue/KT-67288) Test DSL should not fail the test if build scan publishing has failed - [`KT-58280`](https://youtrack.jetbrains.com/issue/KT-58280) org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath ##### Tools. Gradle. JS - [`KT-70077`](https://youtrack.jetbrains.com/issue/KT-70077) \[2.0.20-Beta2] KGP reports confusing warnings about js/wasmJS source sets - [`KT-69805`](https://youtrack.jetbrains.com/issue/KT-69805) YarnSetupTask does not work for custom downloadBaseUrl - [`KT-67444`](https://youtrack.jetbrains.com/issue/KT-67444) Gradle / JS: wrong type commonWebpackConfig.devServer.proxy - [`KT-42923`](https://youtrack.jetbrains.com/issue/KT-42923) KJS: Resources are not available when running Karma tests - [`KT-68482`](https://youtrack.jetbrains.com/issue/KT-68482) KotlinNpmInstallTask is not compatible with configuration cache - [`KT-68072`](https://youtrack.jetbrains.com/issue/KT-68072) K/JS, K/Wasm: Module not found in transitive case - [`KT-68103`](https://youtrack.jetbrains.com/issue/KT-68103) K/JS, K/Wasm: Generation of test compilation's package.json requires main compilation - [`KT-67924`](https://youtrack.jetbrains.com/issue/KT-67924) K/JS, K/Wasm: kotlinNpmInstall can rewrite root package.json ##### Tools. Gradle. Kapt - [`KT-64627`](https://youtrack.jetbrains.com/issue/KT-64627) Kapt3KotlinGradleSubplugin uses property lookup that breaks project isolation - [`KT-61928`](https://youtrack.jetbrains.com/issue/KT-61928) Clarify parameter types in KaptArguments and KaptJavacOption ##### Tools. Gradle. Multiplatform ##### New Features - [`KT-56566`](https://youtrack.jetbrains.com/issue/KT-56566) Consider pre-generating DSL accessors for source sets with names corresponding to the default target hierarchy ##### Fixes - [`KT-66568`](https://youtrack.jetbrains.com/issue/KT-66568) w: KLIB resolver: The same 'unique\_name=...' found in more than one library - [`KT-65754`](https://youtrack.jetbrains.com/issue/KT-65754) Gradle: Commonized cinterop dependency configuration changes project description - [`KT-69406`](https://youtrack.jetbrains.com/issue/KT-69406) Deprecate combinations of KMP plugin with some Gradle Java plugins - [`KT-64109`](https://youtrack.jetbrains.com/issue/KT-64109) Using compileOnly/runtimeOnly dependencies in K/N-related configurations leads to odd behaviour - [`KT-69311`](https://youtrack.jetbrains.com/issue/KT-69311) runDebugExecutable task fails with "this.compilation" is null with enabled configuration cache - [`KT-69310`](https://youtrack.jetbrains.com/issue/KT-69310) w: KLIB resolver: The same 'unique\_name=...' found in more than one library for diamond source set structures - [`KT-61793`](https://youtrack.jetbrains.com/issue/KT-61793) KMP/AGP compatibility: Update the maximum tested AGP version to 8.3 - [`KT-66209`](https://youtrack.jetbrains.com/issue/KT-66209) Accessing the source sets by name is confusing - [`KT-62368`](https://youtrack.jetbrains.com/issue/KT-62368) Kotlin 1.9.X fails to detect kotlin.test.Test annotation reference on commonTest source set when targeting JVM+Android - [`KT-67110`](https://youtrack.jetbrains.com/issue/KT-67110) Usage of BuildOperationExecutor.getCurrentOpeartion internal Gradle API - [`KT-58319`](https://youtrack.jetbrains.com/issue/KT-58319) kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'" ##### Tools. Gradle. Native - [`KT-69918`](https://youtrack.jetbrains.com/issue/KT-69918) java.lang.NullPointerException: Cannot invoke "org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation.getTarget()" because "this.compilation" is null - [`KT-67935`](https://youtrack.jetbrains.com/issue/KT-67935) OverriddenKotlinNativeHomeChecker does not work well with relative paths - [`KT-64430`](https://youtrack.jetbrains.com/issue/KT-64430) Remove deprecated KotlinToolRunner(project) constructor - [`KT-64427`](https://youtrack.jetbrains.com/issue/KT-64427) Stop using deprecated KotlinToolRunner(project) constructor call ##### Tools. Incremental Compile - [`KT-69042`](https://youtrack.jetbrains.com/issue/KT-69042) K2: changing a Java constant won't cause Kotlin usages to recompile - [`KT-63476`](https://youtrack.jetbrains.com/issue/KT-63476) Investigate the debug output of JVM compilation in KMP IC smoke tests ##### Tools. JPS - [`KT-63707`](https://youtrack.jetbrains.com/issue/KT-63707) JPS: "Multiple values are not allowed for" caused by Compose ##### Tools. Kapt - [`KT-68145`](https://youtrack.jetbrains.com/issue/KT-68145) K2 KAPT: missing $annotations methods for const properties and private properties without accessors - [`KT-67495`](https://youtrack.jetbrains.com/issue/KT-67495) File leak in when building with kapt - [`KT-66780`](https://youtrack.jetbrains.com/issue/KT-66780) K2 KAPT Kotlinc should exit with an exit code 1 (compilation error) if a Kapt task fails - [`KT-66998`](https://youtrack.jetbrains.com/issue/KT-66998) K2 KAPT: Reimplement support for DefaultImpls ##### Tools. Scripts - [`KT-69296`](https://youtrack.jetbrains.com/issue/KT-69296) scripting dependency resolution does not authenticate towards maven mirrors - [`KT-67575`](https://youtrack.jetbrains.com/issue/KT-67575) FromConfigurationsBase script definition unexpected behaviour with regex from gradle templates - [`KT-67066`](https://youtrack.jetbrains.com/issue/KT-67066) DeepCopyIrTreeWithSymbols does not copy IrScript nodes correctly - [`KT-67071`](https://youtrack.jetbrains.com/issue/KT-67071) K2: ScriptCompilationConfigurationFromDefinition is not serializable - [`KT-67063`](https://youtrack.jetbrains.com/issue/KT-67063) LauncherReplTest flaky on Windows ##### Tools. Wasm - [`KT-70220`](https://youtrack.jetbrains.com/issue/KT-70220) K/Wasm: Upgrade NPM dependencies - [`KT-69245`](https://youtrack.jetbrains.com/issue/KT-69245) K/Wasm: Remove warning of working-in-progress - [`KT-69154`](https://youtrack.jetbrains.com/issue/KT-69154) K/Wasm: wasmJsBrowserProductionRun flaky crash with "WebAssembly.instantiate(): Import ... function import requires a callable" - [`KT-68930`](https://youtrack.jetbrains.com/issue/KT-68930) K/Wasm: Production run doesn not use optimize task result - [`KT-67901`](https://youtrack.jetbrains.com/issue/KT-67901) K/Wasm: Add kotlin-wasm-examples to CI - [`KT-67468`](https://youtrack.jetbrains.com/issue/KT-67468) Gradle task build (allTests) fails on default web project - [`KT-67980`](https://youtrack.jetbrains.com/issue/KT-67980) Wasm: Incorrect "Please choose a JavaScript environment to build distributions and run tests" when WASM is not configured - [`KT-67862`](https://youtrack.jetbrains.com/issue/KT-67862) K/Wasm: Make usage of ChromeWasmGc an error ### [`v2.0.10`](https://github.com/JetBrains/kotlin/releases/tag/v2.0.10): Kotlin 2.0.10 ##### 2.0.10 ##### Apple Ecosystem - [`KT-68257`](https://youtrack.jetbrains.com/issue/KT-68257) Xcode incorrectly reuses embedAndSign framework when moving to and from 2.0.0 ##### Compiler ##### Fixes - [`KT-69876`](https://youtrack.jetbrains.com/issue/KT-69876) K2 Compile exception: Only IrBlockBody together with kotlinx serialization - [`KT-68521`](https://youtrack.jetbrains.com/issue/KT-68521) K2: Property's private setters can be bypassed when using plusAssign and minusAssign operators - [`KT-68667`](https://youtrack.jetbrains.com/issue/KT-68667) K2: Compiler hangs on mapNotNull and elvis inside lambda - [`KT-68747`](https://youtrack.jetbrains.com/issue/KT-68747) K2: Long compilation time because of constraint solving when using typealias in different modules - [`KT-68940`](https://youtrack.jetbrains.com/issue/KT-68940) K2: "IllegalArgumentException: All variables should be fixed to something" - [`KT-68797`](https://youtrack.jetbrains.com/issue/KT-68797) K2 / Native: "java.lang.IllegalStateException: FIELD" caused by enabled caching - [`KT-68362`](https://youtrack.jetbrains.com/issue/KT-68362) False-positive ABSTRACT\_MEMBER\_NOT\_IMPLEMENTED for inheritor of java class which directly implements java.util.Map - [`KT-68449`](https://youtrack.jetbrains.com/issue/KT-68449) K2: "when" expression returns Unit - [`KT-67072`](https://youtrack.jetbrains.com/issue/KT-67072) K2: inconsistent stability of open vals on receivers of final type - [`KT-68570`](https://youtrack.jetbrains.com/issue/KT-68570) K2: "Unresolved reference" in call with lambda argument and nested lambda argument - [`KT-69159`](https://youtrack.jetbrains.com/issue/KT-69159) K2: KotlinNothingValueException in Exposed - [`KT-68623`](https://youtrack.jetbrains.com/issue/KT-68623) K2: "Only safe or null-asserted calls are allowed" on safe call - [`KT-68193`](https://youtrack.jetbrains.com/issue/KT-68193) JDK 21: new MutableList.addFirst/addLast methods allow adding nullable value for non-null types - [`KT-67804`](https://youtrack.jetbrains.com/issue/KT-67804) removeFirst and removeLast return type with Java 21 - [`KT-68727`](https://youtrack.jetbrains.com/issue/KT-68727) K2: "Null argument in ExpressionCodegen for parameter VALUE\_PARAMETER" caused by an enum class with default parameter in a different module - [`KT-68383`](https://youtrack.jetbrains.com/issue/KT-68383) K2: "Argument type mismatch: actual type is 'kotlin.String', but 'T & Any' was expected." with intersection types - [`KT-68546`](https://youtrack.jetbrains.com/issue/KT-68546) K2: false-positive conflicting overloads error on inheriting generic type with inherited generic and non-generic member overloads - [`KT-68626`](https://youtrack.jetbrains.com/issue/KT-68626) K2: "Conflicting Overloads" for function if inherited from generic type - [`KT-68351`](https://youtrack.jetbrains.com/issue/KT-68351) K2: "Suspension functions can only be called within coroutine body" - [`KT-68489`](https://youtrack.jetbrains.com/issue/KT-68489) K2: WRONG\_ANNOTATION\_TARGET with Java and Kotlin `@Target` annotation positions - [`KT-69058`](https://youtrack.jetbrains.com/issue/KT-69058) K2: Java-defined property annotations not persisted - [`KT-64515`](https://youtrack.jetbrains.com/issue/KT-64515) K2 IDE: \[NEW\_INFERENCE\_ERROR] in a build.gradle.kts script while applying "jvm-test-suite" plugin and then configuring targets for test suites - [`KT-68016`](https://youtrack.jetbrains.com/issue/KT-68016) K2: Gradle repo test `should compile correctly with Kotlin explicit api mode` fails on K2 - [`KT-68575`](https://youtrack.jetbrains.com/issue/KT-68575) K2: `@ParameterName` annotation is not erased when inferring the type of `it` in lambdas - [`KT-67999`](https://youtrack.jetbrains.com/issue/KT-67999) K2: lost flexibility on parameters of Java SAM - [`KT-59679`](https://youtrack.jetbrains.com/issue/KT-59679) K2: Investigate extracting uncompleted candidates from blocks - [`KT-68401`](https://youtrack.jetbrains.com/issue/KT-68401) K2: "IllegalAccessError: failed to access class" caused by package private super Java type, when inferencing a common super type of if or when branches on JVM - [`KT-68806`](https://youtrack.jetbrains.com/issue/KT-68806) K/Wasm RuntimeError: unreachable on Sequence::toList - [`KT-68455`](https://youtrack.jetbrains.com/issue/KT-68455) K2: False negative UPPER\_BOUND\_VIOLATED\_BASED\_ON\_JAVA\_ANNOTATIONS - [`KT-68538`](https://youtrack.jetbrains.com/issue/KT-68538) KJS/K2: using `while` with `break` inside inline lambdas leads to an endless cycle - [`KT-68798`](https://youtrack.jetbrains.com/issue/KT-68798) JVM compiler crashes on calling private expect constructor with a default parameter - [`KT-68734`](https://youtrack.jetbrains.com/issue/KT-68734) K2: enum class in KMP: Expect declaration `MMKVLogLevel` is incompatible with actual `MMKVLogLevel` because modality is different - [`KT-68674`](https://youtrack.jetbrains.com/issue/KT-68674) False positive ACTUAL\_WITHOUT\_EXPECT in K2 - [`KT-68350`](https://youtrack.jetbrains.com/issue/KT-68350) K2: "Inapplicable candidate(s)" caused by parameter reference of local class with type parameters from function - [`KT-68571`](https://youtrack.jetbrains.com/issue/KT-68571) K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by exceptions and when statement - [`KT-68523`](https://youtrack.jetbrains.com/issue/KT-68523) K2: FileAnalysisException when using Definitely non-nullable types - [`KT-68339`](https://youtrack.jetbrains.com/issue/KT-68339) K2: "Enum entry \* is uninitialized here" caused by lazy property with enum in `when` expression - [`KT-66688`](https://youtrack.jetbrains.com/issue/KT-66688) K2: false-negative "upper bound violated" error in extension receiver - [`KT-68630`](https://youtrack.jetbrains.com/issue/KT-68630) DiagnosticsSuppressor is not invoked with Kotlin 2.0 - [`KT-68222`](https://youtrack.jetbrains.com/issue/KT-68222) K2. KMP. False negative `Expected declaration must not have a body` for expected top-level property with getter/setter - [`KT-64103`](https://youtrack.jetbrains.com/issue/KT-64103) FirExpectActualDeclarationChecker reports diagnostic error for KtPsiSimpleDiagnostic with KtFakeSourceElement - [`KT-68191`](https://youtrack.jetbrains.com/issue/KT-68191) K2. Static fake-overrides are not generated for kotlin Fir2IrLazyClass - [`KT-68024`](https://youtrack.jetbrains.com/issue/KT-68024) K2: Gradle repo test `accessors to kotlin internal task types...` fails on K2 - [`KT-64957`](https://youtrack.jetbrains.com/issue/KT-64957) K1: drop ModuleAnnotationResolver ##### Compose compiler - [`0c5a858`](https://github.com/JetBrains/kotlin/commit/0c5a858604da726792d5b3c16374bb6cba5baf2f) Fix memoization of captureless lambdas when K2 compiler is used [b/340582180](https://issuetracker.google.com/issues/340582180) - [`a8249d6`](https://github.com/JetBrains/kotlin/commit/a8249d60c7cd14a459469fe0ef2099721d3dd699) Allow memoizing lambdas in composable inline functions [b/340606661](https://issuetracker.google.com/issues/340606661) ##### Native - [`KT-68094`](https://youtrack.jetbrains.com/issue/KT-68094) K2/Native: Member inherits different '`@Throws`' when inheriting from generic type ##### Tools. Compiler Plugins - [`KT-69187`](https://youtrack.jetbrains.com/issue/KT-69187) Compose compiler for web doesn't support rememberComposableLambda - [`KT-68557`](https://youtrack.jetbrains.com/issue/KT-68557) K2. Supertypes resolution of KJK hierarchy fails in presence of allopen plugin ##### Tools. Compiler plugins. Serialization - [`KT-68850`](https://youtrack.jetbrains.com/issue/KT-68850) Compose lambda type not transformed with KGP 2 + new Compose plugin ##### Tools. Daemon - [`KT-68297`](https://youtrack.jetbrains.com/issue/KT-68297) KGP 2.0 regression: JAVA\_TOOL\_OPTIONS is not considered in Kotlin daemon creation ##### Tools. Gradle - [`KT-69330`](https://youtrack.jetbrains.com/issue/KT-69330) KotlinCompile friendPathsSet property is racy due causing build cache invalidation - [`KT-69026`](https://youtrack.jetbrains.com/issue/KT-69026) Mark AGP 8.5.0 as compatible with KGP - [`KT-68447`](https://youtrack.jetbrains.com/issue/KT-68447) ill-added intentionally-broken dependency source configurations - [`KT-69078`](https://youtrack.jetbrains.com/issue/KT-69078) Gradle: Add option to disable FUS Service - [`KT-68278`](https://youtrack.jetbrains.com/issue/KT-68278) Spring resource loading in combination with `java-test-fixtures` plugin broken - [`KT-66452`](https://youtrack.jetbrains.com/issue/KT-66452) Gradle produces false positive configuration cache problem for Project usage at execution time - [`KT-68242`](https://youtrack.jetbrains.com/issue/KT-68242) Run tests against AGP 8.4.0 ##### Tools. Gradle. Multiplatform - [`KT-68805`](https://youtrack.jetbrains.com/issue/KT-68805) KMP project (re-)import took a long time for downloading platform libs - [`KT-68248`](https://youtrack.jetbrains.com/issue/KT-68248) kotlin multiplatform project fail to build on Fedora with corretto ##### Tools. Gradle. Native - [`KT-68638`](https://youtrack.jetbrains.com/issue/KT-68638) KGP 2.0 breaks native test with api dependencies and configuration cache - [`KT-65761`](https://youtrack.jetbrains.com/issue/KT-65761) Missing JDK Platform ClassLoader when compiling Kotlin native in daemon ##### Tools. JPS - [`KT-69204`](https://youtrack.jetbrains.com/issue/KT-69204) Generate lookups in dumb mode for compatibility with ref index ##### Tools. Kapt - [`KT-68171`](https://youtrack.jetbrains.com/issue/KT-68171) K2KAPT: boxed return types in overridden methods changed to primitives ##### Tools. Scripts - [`KT-68681`](https://youtrack.jetbrains.com/issue/KT-68681) K2 / CLI / Script: "NullPointerException: getService(...) must not be null" caused by `@DependsOn` - [`KT-67747`](https://youtrack.jetbrains.com/issue/KT-67747) K2: regression in Spring unit tests using `javax.script.ScriptEngine` ### [`v2.0.0`](https://github.com/JetBrains/kotlin/releases/tag/v2.0.0): Kotlin 2.0.0 ##### Changelog ##### Analysis. API ##### New Features - [`KT-65327`](https://youtrack.jetbrains.com/issue/KT-65327) Support reading klib contents in Analysis API ##### Performance Improvements - [`KT-65560`](https://youtrack.jetbrains.com/issue/KT-65560) K2: Anaysis API: ContextCollector triggers redundant resolution in the case of file elements - [`KT-64987`](https://youtrack.jetbrains.com/issue/KT-64987) Analysis API: 50GB memory allocation on creating empty kotlinx.collections.immutable.persistentMapOf - [`KT-61789`](https://youtrack.jetbrains.com/issue/KT-61789) K2: optimize getFirForNonKtFileElement for references inside super type reference - [`KT-59498`](https://youtrack.jetbrains.com/issue/KT-59498) K2: getOnAirGetTowerContextProvider took too much time due to on air resolve - [`KT-61728`](https://youtrack.jetbrains.com/issue/KT-61728) Analysis API: optimize AllCandidatesResolver.getAllCandidates ##### Fixes - [`KT-65561`](https://youtrack.jetbrains.com/issue/KT-65561) Analysis API: dummy.kt is not a physical file - [`KT-65616`](https://youtrack.jetbrains.com/issue/KT-65616) K2: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus from STATUS - [`KT-65600`](https://youtrack.jetbrains.com/issue/KT-65600) Analysis Api: FirFile for KtCodeFragments are created and not updated on changes - [`KT-64919`](https://youtrack.jetbrains.com/issue/KT-64919) K2 IDE: Implement KMP support for sealed class inheritors - [`KT-64241`](https://youtrack.jetbrains.com/issue/KT-64241) K2: Unresolved calls to functions in scripts depending on included projects - [`KT-65813`](https://youtrack.jetbrains.com/issue/KT-65813) Analysis API Standalone: `FirDeclarationForCompiledElementSearcher` does not find compiled elements - [`KT-66052`](https://youtrack.jetbrains.com/issue/KT-66052) AA: render expect/actual modifier - [`KT-66795`](https://youtrack.jetbrains.com/issue/KT-66795) KtCodeFragment.clone() is broken - [`KT-66532`](https://youtrack.jetbrains.com/issue/KT-66532) K2 CodeGen AA: missing annotation setup for function in source module but not in a compile target file - [`KT-64833`](https://youtrack.jetbrains.com/issue/KT-64833) Analysis API: Members implemented by delegation have no overridden symbols - [`KT-62405`](https://youtrack.jetbrains.com/issue/KT-62405) Analysis API: Symbols `SUBSTITUTION_OVERRIDE` have no overridden symbols - [`KT-66749`](https://youtrack.jetbrains.com/issue/KT-66749) K2: "Collection contains no element matching the predicate" on an unresolved call - [`KT-62832`](https://youtrack.jetbrains.com/issue/KT-62832) K2: ClassCastException: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus - [`KT-66719`](https://youtrack.jetbrains.com/issue/KT-66719) AbstractGetKlibSourceFileNameTest: The dependency to ":native:analysis-api-klib-reader" breaks JPS compilation - [`KT-66603`](https://youtrack.jetbrains.com/issue/KT-66603) Analysis API: support type annotations in KtPsiTypeProviderMixIn#asPsiType - [`KT-64505`](https://youtrack.jetbrains.com/issue/KT-64505) Analysis API Standalone: Remove test-specific calculation of sealed class inheritors - [`KT-66013`](https://youtrack.jetbrains.com/issue/KT-66013) Analysis API Standalone: Sealed inheritors aren't correctly calculated for source classes - [`KT-62880`](https://youtrack.jetbrains.com/issue/KT-62880) K2 IDE: Unresolved java annotation methods in KDoc - [`KT-66530`](https://youtrack.jetbrains.com/issue/KT-66530) K2: Analysis API: KtPsiTypeProvider#asKtType crashes on PsiClassType for Java type parameter with wrong use site - [`KT-65571`](https://youtrack.jetbrains.com/issue/KT-65571) Support VirtualFile inputs to Analysis API modules - [`KT-66485`](https://youtrack.jetbrains.com/issue/KT-66485) Substituted types are not provided for callable references - [`KT-66498`](https://youtrack.jetbrains.com/issue/KT-66498) Analysis API: 'KtFe10SymbolDeclarationOverridesProvider' considers a class to be a subclass of itself - [`KT-64579`](https://youtrack.jetbrains.com/issue/KT-64579) K2 IDE: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(Source) but FirArgumentListImpl found" - [`KT-65978`](https://youtrack.jetbrains.com/issue/KT-65978) Analysis API: Use soft references in `FileStructureCache` - [`KT-64051`](https://youtrack.jetbrains.com/issue/KT-64051) K2 IDE: Analysis API: Unresolved links to typealias in KDoc - [`KT-66189`](https://youtrack.jetbrains.com/issue/KT-66189) K2 / IDE: KtFirExpressionTypeProvider bugs - [`KT-61422`](https://youtrack.jetbrains.com/issue/KT-61422) K2 IDE: "No array element type for vararg value parameter: org.jetbrains.kotlin.fir.declarations.impl.FirValueParameterImpl" - [`KT-66276`](https://youtrack.jetbrains.com/issue/KT-66276) K2: Analysis API: `TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM` false positive for script parameter - [`KT-66232`](https://youtrack.jetbrains.com/issue/KT-66232) K2: Analysis API: cover ScriptWithCustomDefDiagnosticsTestBaseGenerated by LL FIR tests - [`KT-60996`](https://youtrack.jetbrains.com/issue/KT-60996) K2: Stub Based Deserializer: Set versionRequirements to enable VERSION\_REQUIREMENT\_DEPRECATION diagnostics - [`KT-66306`](https://youtrack.jetbrains.com/issue/KT-66306) K2: Analysis API: drop ability to enable global phase resolve lock - [`KT-55750`](https://youtrack.jetbrains.com/issue/KT-55750) LL FIR: Implement multi-threaded resolve - [`KT-65563`](https://youtrack.jetbrains.com/issue/KT-65563) Analysis API: Missing session component `FirExpectActualMatchingContextFactory` in `LLFirLibrarySession` - [`KT-66173`](https://youtrack.jetbrains.com/issue/KT-66173) K2: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter' in array owner: LLFirLibrarySession - [`KT-66238`](https://youtrack.jetbrains.com/issue/KT-66238) Gradle kotlin build scripts - a lot of unresolved symbols after latest changes in kotlin master - [`KT-65099`](https://youtrack.jetbrains.com/issue/KT-65099) K2: Recursive local storage cache check for Fir2IrDeclarationStorage::createAndCacheIrPropertySymbols() - [`KT-65265`](https://youtrack.jetbrains.com/issue/KT-65265) Analysis API: Add library session invalidation tests - [`KT-56288`](https://youtrack.jetbrains.com/issue/KT-56288) Analysis API: Add tests for session invalidation on the Analysis API side - [`KT-64000`](https://youtrack.jetbrains.com/issue/KT-64000) K2: make AnnotationArgumentsStateKeepers more accurate - [`KT-63606`](https://youtrack.jetbrains.com/issue/KT-63606) K2: Analysis API: rewrite FirLazyAnnotationTransformer to avoid redundant transformations - [`KT-65191`](https://youtrack.jetbrains.com/issue/KT-65191) KtFirMultiplatformInfoProvider#getExpectForActual doesn't return expect function for slightly broken code - [`KT-62136`](https://youtrack.jetbrains.com/issue/KT-62136) Analysis API: Add concurrent tests for `CleanableSoftValueCache` - [`KT-61222`](https://youtrack.jetbrains.com/issue/KT-61222) K2: Add lifecycle management for `KtResolveExtension` - [`KT-65960`](https://youtrack.jetbrains.com/issue/KT-65960) Analysis API: Test infrastructure indexes binary libraries from decompiled files instead of stubs during IDE mode tests - [`KT-65240`](https://youtrack.jetbrains.com/issue/KT-65240) K2: CodeGen API fails to resolve Annotation parameter type when it runs FIR2IR for a class with a parent class from other module if the parent class has an annotation from another module - [`KT-65344`](https://youtrack.jetbrains.com/issue/KT-65344) K2: make FirScript statements (declarations) independent - [`KT-65930`](https://youtrack.jetbrains.com/issue/KT-65930) AA: receiver type for `Int?::foo` misses nullability - [`KT-65914`](https://youtrack.jetbrains.com/issue/KT-65914) AA: receiver type for `this::foo` returns return type of the target callable - [`KT-62071`](https://youtrack.jetbrains.com/issue/KT-62071) Analysis API: KtFirScopeProvider.getScopeContextForPosition throws exception when ImplicitReceiverValue.implicitScope is null - [`KT-65780`](https://youtrack.jetbrains.com/issue/KT-65780) K2: polish FileStructure implementation for FirFile - [`KT-62840`](https://youtrack.jetbrains.com/issue/KT-62840) K2 Script: everything around destructuring declaration on top level of scripts are broken - [`KT-64528`](https://youtrack.jetbrains.com/issue/KT-64528) K2 IDE: MPP: unregistered component 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter' - [`KT-64921`](https://youtrack.jetbrains.com/issue/KT-64921) K2 IDE: references in platform code resolve to expect classifier instead of actual - [`KT-61296`](https://youtrack.jetbrains.com/issue/KT-61296) K2: do not resolve the entire file on lazyResolve call if FirFile is passed - [`KT-65683`](https://youtrack.jetbrains.com/issue/KT-65683) Analysis API: Dangling file session creation causes a `computeIfAbsent` contract violation - [`KT-64884`](https://youtrack.jetbrains.com/issue/KT-64884) K2 IDE. FP \[NAMED\_PARAMETER\_NOT\_FOUND] for copy method of library data class when class has not parameter-properties - [`KT-65763`](https://youtrack.jetbrains.com/issue/KT-65763) K2: value parameter from library data class copy have RAW\_FIR phase - [`KT-65665`](https://youtrack.jetbrains.com/issue/KT-65665) Analysis API: support `KtDelegatedSuperTypeEntry` in `KtFirExpressionInfoProvider.isUsedAsExpression` - [`KT-62899`](https://youtrack.jetbrains.com/issue/KT-62899) K2 IDE. IDE ignores `@Suppress` annotation for errors - [`KT-65655`](https://youtrack.jetbrains.com/issue/KT-65655) Analysis API: `KtCodeCompilationException` should not strongly reference FIR sessions - [`KT-62302`](https://youtrack.jetbrains.com/issue/KT-62302) Support PsiType -> KtType conversion - [`KT-64604`](https://youtrack.jetbrains.com/issue/KT-64604) K2: IDE K2: "Modules are inconsistent during performance tests" - [`KT-65345`](https://youtrack.jetbrains.com/issue/KT-65345) K2: unify FirDesignation and LLFirResolveTarget - [`KT-61757`](https://youtrack.jetbrains.com/issue/KT-61757) K2 IDE: resolution to buitlins does not work for from common module - [`KT-65268`](https://youtrack.jetbrains.com/issue/KT-65268) K2: Checking the presence of the delegated constructor call forces AST loading - [`KT-63330`](https://youtrack.jetbrains.com/issue/KT-63330) Analysis API: Stub-based deserialized symbol providers provide unresolved enum entry annotation arguments - [`KT-65418`](https://youtrack.jetbrains.com/issue/KT-65418) Analysis API: `LLFirAbstractSessionFactory` loads anchor module sessions eagerly - [`KT-64718`](https://youtrack.jetbrains.com/issue/KT-64718) Analysis API: do not expose SealedClassInheritorsProvider and FirRegularClass to IDE Plugin - [`KT-65075`](https://youtrack.jetbrains.com/issue/KT-65075) K2: getContainingDeclaration() is broken for declarations inside code fragments - [`KT-61332`](https://youtrack.jetbrains.com/issue/KT-61332) Support `KtTypeCodeFragment` in `PsiRawFirBuilder` - [`KT-65150`](https://youtrack.jetbrains.com/issue/KT-65150) AA: incorrect result from `KtTypeProvider#getReceiverTypeForDoubleColonExpression` for Java static method - [`KT-56551`](https://youtrack.jetbrains.com/issue/KT-56551) LL FIR: implement parallel resolve for jumping phases - [`KT-65223`](https://youtrack.jetbrains.com/issue/KT-65223) Psi: avoid KtFile usages - [`KT-65307`](https://youtrack.jetbrains.com/issue/KT-65307) Analysis API FE10: support KtFe10AnalysisSessionProvider.getAnalysisSessionByUseSiteKtModule - [`KT-62695`](https://youtrack.jetbrains.com/issue/KT-62695) K2 IDE: Unresolved extension functions in KDoc - [`KT-65152`](https://youtrack.jetbrains.com/issue/KT-65152) Analysis API: KDoc references to packages are not fully resolved - [`KT-64988`](https://youtrack.jetbrains.com/issue/KT-64988) K2 IDE: Navigation from the named argument in safe call does not work - [`KT-63195`](https://youtrack.jetbrains.com/issue/KT-63195) AA: incorrect results from `KtTypeProvider#getReceiverTypeForDoubleColonExpression` - [`KT-64074`](https://youtrack.jetbrains.com/issue/KT-64074) K2: Investigate LL divergence for Script.testTopLevelPropertyInitialization - [`KT-62441`](https://youtrack.jetbrains.com/issue/KT-62441) K2: IDE K2: "No dangling modifier found" - [`KT-62895`](https://youtrack.jetbrains.com/issue/KT-62895) K2 IDE. FP `'when' expression must be exhaustive` with sealed interface from library - [`KT-64993`](https://youtrack.jetbrains.com/issue/KT-64993) Analysis API: KtExpressionTypeProvider.getExpectedType works incorrectly for arguments of safe calls - [`KT-64883`](https://youtrack.jetbrains.com/issue/KT-64883) Allow direct creation of KtCommonFile - [`KT-64646`](https://youtrack.jetbrains.com/issue/KT-64646) K2: properly forbid ast loading during raw fir phase in tests - [`KT-64862`](https://youtrack.jetbrains.com/issue/KT-64862) Psi: missed parenthesis in type reference presentation - [`KT-62893`](https://youtrack.jetbrains.com/issue/KT-62893) K2 IDE. FP 'when' expression must be exhaustive with Java sealed interface from library - [`KT-63795`](https://youtrack.jetbrains.com/issue/KT-63795) K2: `lazyResolveToPhase(BODY_RESOLVE)` cannot be called from a transformer with a phase BODY\_RESOLVE from SealedClassInheritorsProviderIdeImpl - [`KT-64805`](https://youtrack.jetbrains.com/issue/KT-64805) Analysis API: introduce common entry point for multi-file test cases - [`KT-64714`](https://youtrack.jetbrains.com/issue/KT-64714) K2: Analysis API: CollectionsKt.map doesn't resolves from Java in kotlin repo - [`KT-64647`](https://youtrack.jetbrains.com/issue/KT-64647) K2: Allow to calculate decompiled inheritors for sealed classes in tests - [`KT-64595`](https://youtrack.jetbrains.com/issue/KT-64595) AA: stackoverflow while simplifying a type with a recursive type parameter - [`KT-64825`](https://youtrack.jetbrains.com/issue/KT-64825) Analysis API. Cannot compute containing PSI for unknown source kind 'org.jetbrains.kotlin.KtFakeSourceElementKind$DefaultAccessor' exception on getContainingSymbol call for default setter parameter - [`KT-64080`](https://youtrack.jetbrains.com/issue/KT-64080) K2: Analysis API: On-air resolve does not trigger resolution of delegated super call arguments - [`KT-64243`](https://youtrack.jetbrains.com/issue/KT-64243) K2: proper lazy resolution for fake overrides - [`KT-62891`](https://youtrack.jetbrains.com/issue/KT-62891) K2 IDE. FP \[EXPOSED\_FUNCTION\_RETURN\_TYPE] on overriding library method which returns protected type - [`KT-62667`](https://youtrack.jetbrains.com/issue/KT-62667) K2: Cannot find enclosing declaration for KtNameReferenceExpression (on-air, imports) - [`KT-61890`](https://youtrack.jetbrains.com/issue/KT-61890) Analysis API: Migrate KtFirScopeProvider to ContextCollector instead of onAirResolve - [`KT-64197`](https://youtrack.jetbrains.com/issue/KT-64197) K2: Code fragments are only supported in JVM - [`KT-62357`](https://youtrack.jetbrains.com/issue/KT-62357) K2 IDE. False positive on generated component methods and false negative on getter of `@JvmRecord` classes in Java - [`KT-62892`](https://youtrack.jetbrains.com/issue/KT-62892) K2 IDE. Java outer class from other module is not resolved when nested class is accessed with fq name in a type position - [`KT-62888`](https://youtrack.jetbrains.com/issue/KT-62888) K2 IDE. IDE infers reference to `KMutableProperty` as reference to just `KProperty` - [`KT-64584`](https://youtrack.jetbrains.com/issue/KT-64584) K2: StubBasedFirDeserializedSymbolProvider: support deserialization of delegated declarations - [`KT-60324`](https://youtrack.jetbrains.com/issue/KT-60324) K2 IDE: "NoSuchElementException: List is empty at JavaOverrideChecker#buildErasure" - [`KT-62896`](https://youtrack.jetbrains.com/issue/KT-62896) K2 IDE. FP ABSTRACT\_MEMBER\_NOT\_IMPLEMENTED on inheriting class from library which implements interface by delegation - [`KT-62947`](https://youtrack.jetbrains.com/issue/KT-62947) Analysis API: Error while resolving FirPropertyImpl - [`KT-64468`](https://youtrack.jetbrains.com/issue/KT-64468) Analysis API: Implement mixed multi-module tests which support different kinds of `KtModule`s - [`KT-56541`](https://youtrack.jetbrains.com/issue/KT-56541) Symbol Light Classes: No `@NotNull` annotations are generated for accessors of lateinit properties of unresolved types - [`KT-63547`](https://youtrack.jetbrains.com/issue/KT-63547) K2 IDE. False Positive AMBIGUOUS\_ANNOTATION\_ARGUMENT - [`KT-64205`](https://youtrack.jetbrains.com/issue/KT-64205) Analysis API: Do not import non-top-level callables by default - [`KT-63056`](https://youtrack.jetbrains.com/issue/KT-63056) K2: Cannot mutate an immutable ImplicitReceiverValue on FirCodeFragment analysis - [`KT-64108`](https://youtrack.jetbrains.com/issue/KT-64108) K2: KtFirSymbolDeclarationOverridesProvider shouldn't provide fake overrides - [`KT-63752`](https://youtrack.jetbrains.com/issue/KT-63752) K2: java.lang.StackOverflowError FirFieldSymbol.getHasInitializer - [`KT-63718`](https://youtrack.jetbrains.com/issue/KT-63718) Analysis API: Stub-based dependency symbol providers of library source sessions compute the wrong package name sets - [`KT-64225`](https://youtrack.jetbrains.com/issue/KT-64225) K2: IDE K2: "FirLazyBlock should be calculated before accessing" in evaluate debuger completion - [`KT-64186`](https://youtrack.jetbrains.com/issue/KT-64186) Analysis API: ContextCollector provides incorrect scopes for anonymous objects - [`KT-63979`](https://youtrack.jetbrains.com/issue/KT-63979) K2 IDE: presentation of types in completion is too verbose - [`KT-63681`](https://youtrack.jetbrains.com/issue/KT-63681) K2: LL FIR: Improve isResolved check coverage of after lazy resolution - [`KT-62982`](https://youtrack.jetbrains.com/issue/KT-62982) K2: Cannot get a PSI element for 'Enum.values' - [`KT-59732`](https://youtrack.jetbrains.com/issue/KT-59732) FirLazyResolveContractViolationException: `lazyResolveToPhase(IMPORTS)` cannot be called from a transformer with a phase IMPORTS from serialisation plugin - [`KT-62676`](https://youtrack.jetbrains.com/issue/KT-62676) K2 IDE: Reference shortener does not recoginize redundant this references - [`KT-63627`](https://youtrack.jetbrains.com/issue/KT-63627) K2 IDE: shorten reference shortens required qualifier - [`KT-62675`](https://youtrack.jetbrains.com/issue/KT-62675) K2 IDE: Reference shortener does not recoginize redundant labels - [`KT-60957`](https://youtrack.jetbrains.com/issue/KT-60957) K2: Analysis API: Reference shortener does not work correctly with invoke function calls on properties - [`KT-63771`](https://youtrack.jetbrains.com/issue/KT-63771) fe10: KtNamedClassOrObjectSymbol#isInline does not cover value classes - [`KT-60327`](https://youtrack.jetbrains.com/issue/KT-60327) K2 IDE. "IllegalArgumentException: source must not be null" during delegation declaration - [`KT-62421`](https://youtrack.jetbrains.com/issue/KT-62421) K2: IDE K2: "`lazyResolveToPhase(BODY_RESOLVE)` cannot be called from a transformer with a phase BODY\_RESOLVE." - [`KT-62587`](https://youtrack.jetbrains.com/issue/KT-62587) K2 IDE. FP unresolved reference on accessing nested class in annotation argument - [`KT-63700`](https://youtrack.jetbrains.com/issue/KT-63700) K2: "FirLazyExpression should be calculated before accessing" in the case of secondary constructor - [`KT-61383`](https://youtrack.jetbrains.com/issue/KT-61383) K2: 'KtCompilerFacility' fails on code fragment compilation in library sources with duplicated dependencies - [`KT-62111`](https://youtrack.jetbrains.com/issue/KT-62111) K2 IDE. IllegalArgumentException on for loop with iterator declaration attempt - [`KT-63538`](https://youtrack.jetbrains.com/issue/KT-63538) Analysis API: Removing a contract statement via `PsiElement.delete()` does not trigger an out-of-block modification - [`KT-63694`](https://youtrack.jetbrains.com/issue/KT-63694) K1/K2 IDE. "RuntimeException: Broken stub format, most likely version of kotlin.FILE (kotlin.FILE) was not updated after serialization changes" exception on incorrect class name - [`KT-63660`](https://youtrack.jetbrains.com/issue/KT-63660) K2: expect-actual gutter icons must be shown when declarations are matched but incompatible - [`KT-63560`](https://youtrack.jetbrains.com/issue/KT-63560) Analysis API: Modifiable PSI tests cannot rely on the cached application environment to allow write access - [`KT-62980`](https://youtrack.jetbrains.com/issue/KT-62980) Implement `KtFirSimpleNameReference#getImportAlias` - [`KT-63130`](https://youtrack.jetbrains.com/issue/KT-63130) Analysis API: No receiver found for broken code during commit document - [`KT-62705`](https://youtrack.jetbrains.com/issue/KT-62705) K2: "lazyResolveToPhase(IMPORTS) cannot be called..." from light classes - [`KT-60170`](https://youtrack.jetbrains.com/issue/KT-60170) K2 IDE: CCE from KtFirCallResolver on invalid code with wrong implicit invoke - [`KT-61783`](https://youtrack.jetbrains.com/issue/KT-61783) K2: Analyze 'KtCodeFragment' in a separate session - [`KT-62010`](https://youtrack.jetbrains.com/issue/KT-62010) K2: IDE K2: "ConeClassLikeTypeImpl is not resolved to symbol for on-error type" - [`KT-62957`](https://youtrack.jetbrains.com/issue/KT-62957) Analysis API: NullPointerException on call resolution when builtins are not available - [`KT-61252`](https://youtrack.jetbrains.com/issue/KT-61252) K2: IDE K2: "By now the annotations argument mapping should have been resolved" - [`KT-62935`](https://youtrack.jetbrains.com/issue/KT-62935) Analysis API: `kotlin.Cloneable` should not be available in Kotlin/Native sources - [`KT-62910`](https://youtrack.jetbrains.com/issue/KT-62910) Analysis API: create AbstractFirPsiNativeDiagnosticsTest for LL FIR - [`KT-63096`](https://youtrack.jetbrains.com/issue/KT-63096) K2: Analysis API: KotlinAnnotationsResolver for IDE is created with incorrect scope - [`KT-62310`](https://youtrack.jetbrains.com/issue/KT-62310) K2 IDE. False positives errors with external annotations - [`KT-63282`](https://youtrack.jetbrains.com/issue/KT-63282) K2 Script: annotation arguments phase should resolve propagated annotations - [`KT-62397`](https://youtrack.jetbrains.com/issue/KT-62397) K2 IDE. FP Error in the editor on `RequiresOptIn` annotation from the lib despite the warning level - [`KT-63223`](https://youtrack.jetbrains.com/issue/KT-63223) Analysis API: reference to declarations with kotlin\* package are not resolved - [`KT-62626`](https://youtrack.jetbrains.com/issue/KT-62626) IllegalStateException: Cannot build symbol for class org.jetbrains.kotlin.psi.KtScriptInitializer - [`KT-62693`](https://youtrack.jetbrains.com/issue/KT-62693) K2: IDE K2: "PSI should present for declaration built by Kotlin code" - [`KT-62674`](https://youtrack.jetbrains.com/issue/KT-62674) K2: "Scope for type ConeClassLikeTypeImpl" is null from transitive dependencies - [`KT-61889`](https://youtrack.jetbrains.com/issue/KT-61889) Analysis API: Migrate KtFirReferenceShortener to ContextCollector instead of FirResolveContextCollector - [`KT-62772`](https://youtrack.jetbrains.com/issue/KT-62772) Analysis API: No 'org.jetbrains.kotlin.fir.java.FirSyntheticPropertiesStorage'(31) in array owner: LLFirSourcesSession when analysing builtins in a context of common code - [`KT-60319`](https://youtrack.jetbrains.com/issue/KT-60319) K2 IDE: "Stability for initialized variable always should be computable" - [`KT-62859`](https://youtrack.jetbrains.com/issue/KT-62859) K2 IDE: "Evaluate expression" throws exception when calling "Any?.toString()" - [`KT-63058`](https://youtrack.jetbrains.com/issue/KT-63058) K2 IDE: Code completion unexpectedly imports static/companion object method - [`KT-62588`](https://youtrack.jetbrains.com/issue/KT-62588) getExpectedType should not calculate type of the expression - [`KT-61990`](https://youtrack.jetbrains.com/issue/KT-61990) K2: Unexpected returnTypeRef for FirSyntheticProperty - [`KT-62625`](https://youtrack.jetbrains.com/issue/KT-62625) K2: 'FirLazyExpression should be calculated before accessing' for unresolved super type - [`KT-62691`](https://youtrack.jetbrains.com/issue/KT-62691) K2: optimize getFirForNonKtFileElement for references inside 'where' - [`KT-62834`](https://youtrack.jetbrains.com/issue/KT-62834) K2: missing file node level in control flow builder - [`KT-62768`](https://youtrack.jetbrains.com/issue/KT-62768) Analysis API: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(44) in array owner: LLFirSourcesSession exception on analysing common code - [`KT-62874`](https://youtrack.jetbrains.com/issue/KT-62874) K2: FirLazyExpression should be calculated before accessing - [`KT-62407`](https://youtrack.jetbrains.com/issue/KT-62407) Analysis API: resolve `[this]` in KDoc to extension receiver - [`KT-61204`](https://youtrack.jetbrains.com/issue/KT-61204) K2: "FirLazyExpression should be calculated before accessing in ktor HttpBinApplication" - [`KT-61901`](https://youtrack.jetbrains.com/issue/KT-61901) Analysis API: Declared member scopes for Java classes are missing static members - [`KT-61800`](https://youtrack.jetbrains.com/issue/KT-61800) Analysis API: Provide separate declared member scopes for non-static and static callables - [`KT-61255`](https://youtrack.jetbrains.com/issue/KT-61255) Analysis API: Get rid of `valueOf`, `values` and `entries` from a declared member scope - [`KT-62466`](https://youtrack.jetbrains.com/issue/KT-62466) Expected type for functional expression should include inferred types - [`KT-61203`](https://youtrack.jetbrains.com/issue/KT-61203) IDE K2: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirRegularClassImpl(Source) but FirArgumentListImpl found" - [`KT-61791`](https://youtrack.jetbrains.com/issue/KT-61791) Analysis API: Implement combined `getPackage` for combined Kotlin symbol providers - [`KT-62437`](https://youtrack.jetbrains.com/issue/KT-62437) K2 IDE. Resolution does not work inside lambda expression in constructor argument in supertypes - [`KT-62244`](https://youtrack.jetbrains.com/issue/KT-62244) K2: Analysis API Standalone: Resolving klib dependencies from binary roots terminates application - [`KT-62897`](https://youtrack.jetbrains.com/issue/KT-62897) K2 IDE. Unresolved declarations from libraries which are doubled in `intellij` project libraries - [`KT-61615`](https://youtrack.jetbrains.com/issue/KT-61615) K2: No 'org.jetbrains.kotlin.fir.analysis.js.checkers.FirJsModuleKind' in array owner: LLFirSourcesSession - [`KT-59334`](https://youtrack.jetbrains.com/issue/KT-59334) K2: LLFirImplicitTypesLazyResolver problems - [`KT-62038`](https://youtrack.jetbrains.com/issue/KT-62038) K2: Nested classes are missing in symbol light class structure tests for libraries - [`KT-61788`](https://youtrack.jetbrains.com/issue/KT-61788) Analysis API: Symbol for `FirAnonymousInitializer` cannot be null - [`KT-62139`](https://youtrack.jetbrains.com/issue/KT-62139) Analysis API: KtFe10AnalysisSession.createContextDependentCopy does not need validity check - [`KT-62090`](https://youtrack.jetbrains.com/issue/KT-62090) Analysis API: introduce an API to get a substitution formed by class inheritance - [`KT-62268`](https://youtrack.jetbrains.com/issue/KT-62268) K2 IDE. No autocompletion and IllegalStateException for Pair - [`KT-60325`](https://youtrack.jetbrains.com/issue/KT-60325) K2 IDE. "IllegalArgumentException: source must not be null" on `throw` usage attempt - [`KT-61431`](https://youtrack.jetbrains.com/issue/KT-61431) K2: KtPropertyAccessorSymbolPointer pointer already disposed for $$result script property - [`KT-58490`](https://youtrack.jetbrains.com/issue/KT-58490) K2: LLFirTypeLazyResolver problems - [`KT-58494`](https://youtrack.jetbrains.com/issue/KT-58494) K2: LLFirAnnotationArgumentsLazyResolver problems - [`KT-58492`](https://youtrack.jetbrains.com/issue/KT-58492) K2: LLFirBodyLazyResolver problems - [`KT-58769`](https://youtrack.jetbrains.com/issue/KT-58769) K2: LL FIR: implement platform-dependent session factories - [`KT-60343`](https://youtrack.jetbrains.com/issue/KT-60343) K2 IDE. IllegalArgumentException on passing incorrect type parameter to function - [`KT-61842`](https://youtrack.jetbrains.com/issue/KT-61842) K2: reduce number of "in-block modification" events - [`KT-62012`](https://youtrack.jetbrains.com/issue/KT-62012) K2: "KtReadActionConfinementLifetimeToken is inaccessible: Called outside analyse method" - [`KT-61371`](https://youtrack.jetbrains.com/issue/KT-61371) K2: Analysis API standalone: register compiler symbol provider for libraries in standalone mode - [`KT-60611`](https://youtrack.jetbrains.com/issue/KT-60611) K2: reduce number of "in-block modification" events - [`KT-61425`](https://youtrack.jetbrains.com/issue/KT-61425) Analysis API: Provide a way to get a declared member scope for an enum entry's initializing anonymous object - [`KT-61405`](https://youtrack.jetbrains.com/issue/KT-61405) Analysis API: An enum entry should not be a `KtSymbolWithMembers` - [`KT-55504`](https://youtrack.jetbrains.com/issue/KT-55504) AA: remove dependency on :compiler:cli from standalone AA - [`KT-60904`](https://youtrack.jetbrains.com/issue/KT-60904) K2: IDE K2: "For DESTRUCTURING\_DECLARATION\_ENTRY with text `_`, one of element types expected, but FirValueParameterSymbol found" - [`KT-61260`](https://youtrack.jetbrains.com/issue/KT-61260) K2 Scripts: Containing function should be not null for KtParameter - [`KT-61568`](https://youtrack.jetbrains.com/issue/KT-61568) FIR Analysis API: `collectCallCandidates` gives presence to the top level functions in the presence of more suitable overrides - [`KT-60610`](https://youtrack.jetbrains.com/issue/KT-60610) K2 IDE: move "out of block" processing logic into LL FIR - [`KT-61597`](https://youtrack.jetbrains.com/issue/KT-61597) Analysis API: KotlinIllegalStateExceptionWithAttachments: expected as maximum one `expect` for the actual on errorneous code with multiple expects - [`KT-59793`](https://youtrack.jetbrains.com/issue/KT-59793) K2: class org.jetbrains.kotlin.fir.declarations.impl.FirErrorImportImpl cannot be cast to class org.jetbrains.kotlin.fir.declarations.FirResolvedImport - [`KT-61599`](https://youtrack.jetbrains.com/issue/KT-61599) K2: ContextCollector: Support smart cast collection - [`KT-61689`](https://youtrack.jetbrains.com/issue/KT-61689) Analysis API: ContextCollector provides incorrect context in scripts - [`KT-61683`](https://youtrack.jetbrains.com/issue/KT-61683) Analysis API: resolve ambiguities in kotlin project - [`KT-61245`](https://youtrack.jetbrains.com/issue/KT-61245) Analysis API: ContextCollector provides incorrect context for supertype constructor calls - [`KT-60384`](https://youtrack.jetbrains.com/issue/KT-60384) K2: Opening `@JvmName` source in IDEA: NPE at PsiRawFirBuilder$Visitor.toFirConstructor() - [`KT-60918`](https://youtrack.jetbrains.com/issue/KT-60918) K2 IDE: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtDestructuringDeclarationEntry, fir is null" - [`KT-61013`](https://youtrack.jetbrains.com/issue/KT-61013) K2 Scripts: LLFirReturnTypeCalculatorWithJump: No designation of local declaration - [`KT-59517`](https://youtrack.jetbrains.com/issue/KT-59517) K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent - [`KT-61331`](https://youtrack.jetbrains.com/issue/KT-61331) K2: add cache restoring in case of existing context - [`KT-61408`](https://youtrack.jetbrains.com/issue/KT-61408) K2: IDE K2: "Inconsistency in the cache. Someone without context put a null value in the cache" ##### Analysis. Light Classes ##### Performance Improvements - [`KT-63486`](https://youtrack.jetbrains.com/issue/KT-63486) SLC: a lot of RAM is allocated in `org.jetbrains.kotlin.asJava.LightClassUtil.isMangled` ##### Fixes - [`KT-66692`](https://youtrack.jetbrains.com/issue/KT-66692) SLC: `findAttributeValue` for attribute w/ default value in Java returns `null` - [`KT-61734`](https://youtrack.jetbrains.com/issue/KT-61734) SLC: wildcard suppression not honored - [`KT-65112`](https://youtrack.jetbrains.com/issue/KT-65112) Symbol Light Classes don't support annotations on type parameters - [`KT-65843`](https://youtrack.jetbrains.com/issue/KT-65843) K2: Light method returns `kotlin.Unit` type for `TestResult` return type - [`KT-65653`](https://youtrack.jetbrains.com/issue/KT-65653) SLC: wrong binary resolution to function with value class - [`KT-65393`](https://youtrack.jetbrains.com/issue/KT-65393) SLC: missing deprecated-hidden property - [`KT-64772`](https://youtrack.jetbrains.com/issue/KT-64772) SLC: presence of source PSI for compiler-generated declaration - [`KT-65425`](https://youtrack.jetbrains.com/issue/KT-65425) K2 IDE: Seeing a reference to the class generated by compiler plugin exposed from Java code caused NPE from light classes - [`KT-64937`](https://youtrack.jetbrains.com/issue/KT-64937) SLC: internal setters are not mangled - [`KT-63949`](https://youtrack.jetbrains.com/issue/KT-63949) K2 IDE. Analyze hang on `@Autowired` constructor analysis - [`KT-63087`](https://youtrack.jetbrains.com/issue/KT-63087) K2 IDE: in .java source reference to JvmName names on unsigned type / value class are unresolved - [`KT-64605`](https://youtrack.jetbrains.com/issue/KT-64605) K2 IDE: usage of `@Repeatable` annotation in Java: false positive "Duplicate annotation" - [`KT-64795`](https://youtrack.jetbrains.com/issue/KT-64795) SLC: distinguish last v.s. non-last `vararg` value parameter type during binary resolution - [`KT-61605`](https://youtrack.jetbrains.com/issue/KT-61605) K2 IDE: Light elements do not obey platform contracts - [`KT-57536`](https://youtrack.jetbrains.com/issue/KT-57536) SLC: no need to populate members with `expect` modifier - [`KT-64320`](https://youtrack.jetbrains.com/issue/KT-64320) Decouple kotlin psi from java PSI - [`KT-64282`](https://youtrack.jetbrains.com/issue/KT-64282) Decouple KotlinIconProviderService from java PSI - [`KT-63552`](https://youtrack.jetbrains.com/issue/KT-63552) Symbol Light Classes don't support arrayOf and similar without parameters in property initializers and default parameter values ##### Apple Ecosystem - [`KT-63821`](https://youtrack.jetbrains.com/issue/KT-63821) Copy framework to BUILT\_PRODUCTS\_DIR in the embedAndSign task - [`KT-67892`](https://youtrack.jetbrains.com/issue/KT-67892) KotlinNativeLink task instantiates with a fixed list of apiFiles - [`KT-64096`](https://youtrack.jetbrains.com/issue/KT-64096) Diagnostic when embedAndSign used for framework with cocoapods-dependencies - [`KT-66446`](https://youtrack.jetbrains.com/issue/KT-66446) Diagnostic never showed, and build fails when CocoaPods dependency is used with embedAndSign task and linking type is dynamic - [`KT-66445`](https://youtrack.jetbrains.com/issue/KT-66445) Diagnostic never showed when CocoaPods dependency is used with embedAndSign task and linking type is static - [`KT-62373`](https://youtrack.jetbrains.com/issue/KT-62373) "Xcode higher than tested" diagnostic - [`KT-63212`](https://youtrack.jetbrains.com/issue/KT-63212) podInstall task fails without a proper diagnostic when xcodeproj gem is outdated ##### Backend. Native. Debug - [`KT-65553`](https://youtrack.jetbrains.com/issue/KT-65553) K2: Native: kt42208WithPassingLambdaToAnotherFunction test fails with K2 - [`KT-57365`](https://youtrack.jetbrains.com/issue/KT-57365) \[Native] Incorrect debug info on inline function call site ##### Backend. Wasm ##### New Features - [`KT-65009`](https://youtrack.jetbrains.com/issue/KT-65009) Generate TypeScript definitions for the `@JsExport` declarations in K/Wasm - [`KT-58088`](https://youtrack.jetbrains.com/issue/KT-58088) \[PL] Support & enable partial linkage for Wasm - [`KT-66327`](https://youtrack.jetbrains.com/issue/KT-66327) Include information about particular Wasm target into KLib manifest ##### Fixes - [`KT-66465`](https://youtrack.jetbrains.com/issue/KT-66465) WASM support doesn't appear to be able to see some common declarations - [`KT-66905`](https://youtrack.jetbrains.com/issue/KT-66905) K/Wasm: support new version of exception handling proposal - [`KT-66515`](https://youtrack.jetbrains.com/issue/KT-66515) Wasm: "call param types must match" during the build - [`KT-67435`](https://youtrack.jetbrains.com/issue/KT-67435) K/Wasm: import.meta.url transforming into absolute local path in webpack - [`KT-65777`](https://youtrack.jetbrains.com/issue/KT-65777) Implement named export for Kotlin/Wasm - [`KT-65660`](https://youtrack.jetbrains.com/issue/KT-65660) \[WasmJs] Support catching JS exceptions - [`KT-65824`](https://youtrack.jetbrains.com/issue/KT-65824) Wasm: Allow unsigned primitives to be used inside functions annotated with `@JsExport` - [`KT-66103`](https://youtrack.jetbrains.com/issue/KT-66103) Wasm: companion object is not initialized in test initializers1.kt - [`KT-66471`](https://youtrack.jetbrains.com/issue/KT-66471) Null method reference with Kotlin/Wasm on 2.0.0-Beta4 - [`KT-65210`](https://youtrack.jetbrains.com/issue/KT-65210) K/Wasm `::class` operator produces Number KClass for Short expression - [`KT-66065`](https://youtrack.jetbrains.com/issue/KT-66065) \[Wasm] Make specialisations for closured primitive values - [`KT-64890`](https://youtrack.jetbrains.com/issue/KT-64890) K/Wasm compiler crash with external class and Kodein - [`KT-66104`](https://youtrack.jetbrains.com/issue/KT-66104) Wasm: compiler crash: NoSuchElementException: Sequence contains no element matching the predicate - [`KT-65778`](https://youtrack.jetbrains.com/issue/KT-65778) Create the same TypeScript tests infrastructure for Kotlin/Wasm that we have now for Kotlin/JS - [`KT-65411`](https://youtrack.jetbrains.com/issue/KT-65411) Kotlin/Wasm: Boolean boxed instances are not the same - [`KT-65713`](https://youtrack.jetbrains.com/issue/KT-65713) Kotlin/Wasm generates a wrapper that cannot run in Deno - [`KT-63939`](https://youtrack.jetbrains.com/issue/KT-63939) Kotlin/Wasm Support lazy associated object initialisation - [`KT-61888`](https://youtrack.jetbrains.com/issue/KT-61888) \[Kotlin/wasm] in kotlin.test support for `@AfterTest` for async tests - [`KT-64803`](https://youtrack.jetbrains.com/issue/KT-64803) K/Wasm: non-capturing lambdas are not singleton unlike same lambdas in jvm - [`KT-64449`](https://youtrack.jetbrains.com/issue/KT-64449) K2: Implement K1WasmWasiCodegenBoxTestGenerated for K2 - [`KT-64829`](https://youtrack.jetbrains.com/issue/KT-64829) K/Wasm: division remainder has a wrong sign - [`KT-58852`](https://youtrack.jetbrains.com/issue/KT-58852) WASM: two methods with different varargs: Class korlibs.template.dynamic.DynamicShape has 2 methods with the same signature \[register(kotlin.Array<T of kotlin.Array>) - [`KT-61263`](https://youtrack.jetbrains.com/issue/KT-61263) K/Wasm: add a way to turn on k2 in wasm examples using Compose - [`KT-62863`](https://youtrack.jetbrains.com/issue/KT-62863) Execution failed for task ':kotlinx-serialization-properties:wasmJsD8Test' in serialization in the K2 QG - [`KT-62657`](https://youtrack.jetbrains.com/issue/KT-62657) K/Wasm: switch to json repots for Kotlin Wasm Benchmarks - [`KT-62147`](https://youtrack.jetbrains.com/issue/KT-62147) \[Kotlin/Wasm] Nothing typed when expression cause a backend error - [`KT-61958`](https://youtrack.jetbrains.com/issue/KT-61958) Update SpiderMonkey and return its usage in box tests when they switch to the final opcodes for GC and FTR proposals - [`KT-60828`](https://youtrack.jetbrains.com/issue/KT-60828) K/Wasm: return br\_on\_cast\_fail usages - [`KT-59084`](https://youtrack.jetbrains.com/issue/KT-59084) WASM: "RuntimeError: illegal cast" caused by inline class and JsAny - [`KT-60700`](https://youtrack.jetbrains.com/issue/KT-60700) \[WASM] test FirWasmCodegenBoxTestGenerated.testSuspendUnitConversion failed after KT-60259 ##### Compiler ##### New Features - [`KT-45375`](https://youtrack.jetbrains.com/issue/KT-45375) Generate all Kotlin lambdas via invokedynamic + LambdaMetafactory by default - [`KT-24664`](https://youtrack.jetbrains.com/issue/KT-24664) No smartcast on stable property if receiver had non-null assertion - [`KT-23915`](https://youtrack.jetbrains.com/issue/KT-23915) Add smart cast to non-nullable type after elvis operator - [`KT-61077`](https://youtrack.jetbrains.com/issue/KT-61077) Support provideDelegate inference from var property type - [`KT-59688`](https://youtrack.jetbrains.com/issue/KT-59688) K2: consider removing smartcasts only from the only visibile property with specific name, not from all of them - [`KT-7389`](https://youtrack.jetbrains.com/issue/KT-7389) Intersection type for type parameter with multiple upper bounds in star projection - [`KT-63477`](https://youtrack.jetbrains.com/issue/KT-63477) Consider supporting builder-style type inference from Unit coercion of last statements in lambdas - [`KT-61907`](https://youtrack.jetbrains.com/issue/KT-61907) K2: builder inference works with assignments to member properties - [`KT-61909`](https://youtrack.jetbrains.com/issue/KT-61909) K2: builder inference infers correct types from assignments to extension properties - [`KT-59551`](https://youtrack.jetbrains.com/issue/KT-59551) K2: builder inference works with anonymous functions if builder parameter has a receiver with a postponed type variable - [`KT-65443`](https://youtrack.jetbrains.com/issue/KT-65443) \[K/N] Implement header caches - [`KT-4113`](https://youtrack.jetbrains.com/issue/KT-4113) Smart casts for properties to not-null functional types at `invoke` calls - [`KT-65681`](https://youtrack.jetbrains.com/issue/KT-65681) K2: Improve error message of UPPER\_BOUND\_VIOLATED when upper bound is a captured type or other non-denotable type - [`KT-32754`](https://youtrack.jetbrains.com/issue/KT-32754) Choose existing extensions over additional built-ins members from JDK except overrides - [`KT-57800`](https://youtrack.jetbrains.com/issue/KT-57800) Support synthetic properties on `super` receiver - [`KT-64350`](https://youtrack.jetbrains.com/issue/KT-64350) K2: deprecate using typealias as a callable qualifier in imports - [`KT-26565`](https://youtrack.jetbrains.com/issue/KT-26565) Choose existing extensions over additional built-ins members from JDK - [`KT-65478`](https://youtrack.jetbrains.com/issue/KT-65478) JVM: Change inlined variable naming format - [`KT-64702`](https://youtrack.jetbrains.com/issue/KT-64702) Upper bound of type parameter is ignored when capturing of in-projection appears in out position - [`KT-60274`](https://youtrack.jetbrains.com/issue/KT-60274) K2: builder inference works through a delegated local variable inside builder argument - [`KT-65859`](https://youtrack.jetbrains.com/issue/KT-65859) Calls refinement extension point - [`KT-15220`](https://youtrack.jetbrains.com/issue/KT-15220) Reuse resolution results of common code for platform modules in multiplatform projects - [`KT-60476`](https://youtrack.jetbrains.com/issue/KT-60476) K2: False positive NO\_VALUE\_FOR\_PARAMETER in platform code for value class with default parameter in common declaration - [`KT-65153`](https://youtrack.jetbrains.com/issue/KT-65153) K/N: extract liveness analysis to a separate phase - [`KT-59098`](https://youtrack.jetbrains.com/issue/KT-59098) Support -Xjdk-release=1.6/1.7 with -jvm-target 1.8 - [`KT-63670`](https://youtrack.jetbrains.com/issue/KT-63670) Implement platform specific declaration clash diagnostics across all backends - [`KT-62547`](https://youtrack.jetbrains.com/issue/KT-62547) Introduce a language feature flag for smartcasts based on "memory" variables - [`KT-60820`](https://youtrack.jetbrains.com/issue/KT-60820) K1: Empty vararg value is inserted in serialized annotation call with expect default vararg value - [`KT-58172`](https://youtrack.jetbrains.com/issue/KT-58172) Forbid `expect class A actual constructor` - [`KT-54443`](https://youtrack.jetbrains.com/issue/KT-54443) Smart cast to non-null after safe-call in require - [`KT-25747`](https://youtrack.jetbrains.com/issue/KT-25747) DFA variables: propagate smart cast results from local variables - [`KT-22997`](https://youtrack.jetbrains.com/issue/KT-22997) Smart-cast should merge is-check for non-nullable type and a null check to a nullable type - [`KT-22996`](https://youtrack.jetbrains.com/issue/KT-22996) Smart casts should observe nullability after is-check with a nullable subject type - [`KT-22004`](https://youtrack.jetbrains.com/issue/KT-22004) Allow to resolve CONFLICTING\_OVERLOADS with Deprecated(HIDDEN) - [`KT-61955`](https://youtrack.jetbrains.com/issue/KT-61955) Support more wider actual member visibility, if the expect member is effectively final - [`KT-59504`](https://youtrack.jetbrains.com/issue/KT-59504) K2 compiler does not require resolved 'componentX' functions for the placeholder ('\_') variables in the destructuring declarations - [`KT-62239`](https://youtrack.jetbrains.com/issue/KT-62239) Allow enum entries without parentheses uniformly - [`KT-11712`](https://youtrack.jetbrains.com/issue/KT-11712) Smart cast is not applied for invisible setter ##### Performance Improvements - [`KT-47545`](https://youtrack.jetbrains.com/issue/KT-47545) NI: Slow type inference involving large when-expression (ConstraintInjector.processConstraints) - [`KT-62714`](https://youtrack.jetbrains.com/issue/KT-62714) Do not add nullability annotations to the methods of inner classes in enum entries - [`KT-62903`](https://youtrack.jetbrains.com/issue/KT-62903) Unoptimzied `when` compilation - [`KT-67388`](https://youtrack.jetbrains.com/issue/KT-67388) FP intellij: performance degradation in build 611 - [`KT-67507`](https://youtrack.jetbrains.com/issue/KT-67507) K2: Slow compilation times when a class has a lot of possibly conflicting declarations - [`KT-65005`](https://youtrack.jetbrains.com/issue/KT-65005) K2: Investigate testCommonSuperTypeContravariant performance - [`KT-65996`](https://youtrack.jetbrains.com/issue/KT-65996) Compiler enters endless loop - [`KT-66341`](https://youtrack.jetbrains.com/issue/KT-66341) K2: Don't build IdSignatures in FIR2IR with IR f/o builder - [`KT-66172`](https://youtrack.jetbrains.com/issue/KT-66172) K2: Improve memory consumption of `KtPsiSourceElement` - [`KT-50860`](https://youtrack.jetbrains.com/issue/KT-50860) Combination of array set convention and plusAssign works exponentially - [`KT-62798`](https://youtrack.jetbrains.com/issue/KT-62798) 'in' range checks are not intrinsified in kotlin-stdlib - [`KT-65579`](https://youtrack.jetbrains.com/issue/KT-65579) K2: performance regression in FP Space - [`KT-61635`](https://youtrack.jetbrains.com/issue/KT-61635) K2: `getConstructorKeyword` call in `PsiRawFirBuilder.toFirConstructor` forces AST load - [`KT-62619`](https://youtrack.jetbrains.com/issue/KT-62619) FIR: Checker performance regression due to MISSING\_DEPENDENCY checkers - [`KT-62044`](https://youtrack.jetbrains.com/issue/KT-62044) Do not add nullability annotations to the methods of anonymous class - [`KT-62706`](https://youtrack.jetbrains.com/issue/KT-62706) Optimize KtSourceElement.findChild() - [`KT-62513`](https://youtrack.jetbrains.com/issue/KT-62513) Do not add nullability annotations to the methods of local classes - [`KT-61991`](https://youtrack.jetbrains.com/issue/KT-61991) K2: avoid redundant full body resolution for properties during implicit type phase - [`KT-61604`](https://youtrack.jetbrains.com/issue/KT-61604) \[K/N] Bitcode dependency linking is slow for large compilations - [`KT-61121`](https://youtrack.jetbrains.com/issue/KT-61121) \[K/N] Kotlin Native compiler performance is slow when generating large frameworks - [`KT-57616`](https://youtrack.jetbrains.com/issue/KT-57616) K2: Consider optimizing reversed versions of persistent lists in FirTowerDataContext ##### Fixes - [`KT-67993`](https://youtrack.jetbrains.com/issue/KT-67993) K2: PCLA Inference throws exception with local objects - [`KT-61768`](https://youtrack.jetbrains.com/issue/KT-61768) Wrong bytecode index in LineNumberTable when there is an incremental operation - [`KT-63580`](https://youtrack.jetbrains.com/issue/KT-63580) "AssertionError: access of const val: GET\_FIELD" caused by const value and variable with delegation - [`KT-63567`](https://youtrack.jetbrains.com/issue/KT-63567) "NoSuchMethodError" on getting value of lazily initialized property by companion's const value - [`KT-56078`](https://youtrack.jetbrains.com/issue/KT-56078) K2: build kotlinx.coroutines - [`KT-67609`](https://youtrack.jetbrains.com/issue/KT-67609) K2: False negative INFERRED\_TYPE\_VARIABLE\_INTO\_EMPTY\_INTERSECTION\_ERROR - [`KT-57750`](https://youtrack.jetbrains.com/issue/KT-57750) Report ambiguity error when resolving types and having the same-named classes star imported - [`KT-65603`](https://youtrack.jetbrains.com/issue/KT-65603) K2: No approximation is done on public, but effectively private property - [`KT-59932`](https://youtrack.jetbrains.com/issue/KT-59932) K2: Disappeared AMBIGUOUS\_ANONYMOUS\_TYPE\_INFERRED - [`KT-59906`](https://youtrack.jetbrains.com/issue/KT-59906) K2: Disappeared CAPTURED\_VAL\_INITIALIZATION - [`KT-53886`](https://youtrack.jetbrains.com/issue/KT-53886) NoSuchMethodError exception in Kotlin/Native compiler - [`KT-57678`](https://youtrack.jetbrains.com/issue/KT-57678) K2: Inconsistency in how K2 analyzes unresolved code for loops and changing closures - [`KT-57871`](https://youtrack.jetbrains.com/issue/KT-57871) K1/K2 inconsistency on if-conditional without else-branch in parenthesis - [`KT-56384`](https://youtrack.jetbrains.com/issue/KT-56384) K2: build IntelliJ monorepo master branch - [`KT-49191`](https://youtrack.jetbrains.com/issue/KT-49191) Leaked integer literals from lambda with flexible return type - [`KT-65812`](https://youtrack.jetbrains.com/issue/KT-65812) K2: "OutOfMemoryError: Java heap space" in kotlin.utils.SmartList.add - [`KT-67224`](https://youtrack.jetbrains.com/issue/KT-67224) K2/Native: Member overrides different '`@Throws`' filter from separate module - [`KT-65623`](https://youtrack.jetbrains.com/issue/KT-65623) K2: Unresolved reference in connection with casts - [`KT-64136`](https://youtrack.jetbrains.com/issue/KT-64136) K2: NSME with Anvil compiler plugin - [`KT-51241`](https://youtrack.jetbrains.com/issue/KT-51241) Provide a error when override method has different set of context receivers - [`KT-52920`](https://youtrack.jetbrains.com/issue/KT-52920) Confusing "Multiple arguments applicable for context receiver" error message - [`KT-67912`](https://youtrack.jetbrains.com/issue/KT-67912) K2: Cannot inference type properly from inline function with Type parameter - [`KT-68056`](https://youtrack.jetbrains.com/issue/KT-68056) Prohibit referencing java field in case of conflict with property from companion object of the derived class - [`KT-61129`](https://youtrack.jetbrains.com/issue/KT-61129) K2: Implement error suppression warning - [`KT-67367`](https://youtrack.jetbrains.com/issue/KT-67367) K2: Incorrect resolution to top-level function with less specific signature in presence of SAM constructor on the same tower level - [`KT-50179`](https://youtrack.jetbrains.com/issue/KT-50179) Fix DUPLICATE\_LABEL\_IN\_WHEN warning with new rules of complex boolean constants - [`KT-45334`](https://youtrack.jetbrains.com/issue/KT-45334) Prohibit referencing constructors of sealed classes by its inner members - [`KT-59943`](https://youtrack.jetbrains.com/issue/KT-59943) K2: Disappeared OPERATOR\_MODIFIER\_REQUIRED - [`KT-67875`](https://youtrack.jetbrains.com/issue/KT-67875) K2: Resolution ambiguity between Iterable and varargs - [`KT-67699`](https://youtrack.jetbrains.com/issue/KT-67699) Not enough information to infer type argument for 'Error' using Arrow's Raise context receiver since Kotlin 2.0.0-Beta3 - [`KT-67486`](https://youtrack.jetbrains.com/issue/KT-67486) K2: Calling method from a Java (implementing a Kotlin class) with named parameters is no longer possible if Java method has different parameter names - [`KT-66527`](https://youtrack.jetbrains.com/issue/KT-66527) K2: type mismatch on override for <anonymous> type - [`KT-59897`](https://youtrack.jetbrains.com/issue/KT-59897) K2: Disappeared PACKAGE\_OR\_CLASSIFIER\_REDECLARATION - [`KT-50020`](https://youtrack.jetbrains.com/issue/KT-50020) K2: False-negative USAGE\_IS\_NOT\_INLINEABLE when lambda in receiver position - [`KT-44557`](https://youtrack.jetbrains.com/issue/KT-44557) Implement main function detection to FIR - [`KT-67810`](https://youtrack.jetbrains.com/issue/KT-67810) K2: public-API inline function cannot access non-public-API annotation enum - [`KT-66447`](https://youtrack.jetbrains.com/issue/KT-66447) Implement KT-59138 under a language feature - [`KT-54862`](https://youtrack.jetbrains.com/issue/KT-54862) Anonymous type can be exposed from private inline function from type argument - [`KT-37592`](https://youtrack.jetbrains.com/issue/KT-37592) Property invoke of a functional type with receiver is preferred over extension function invoke - [`KT-51194`](https://youtrack.jetbrains.com/issue/KT-51194) False negative CONFLICTING\_INHERITED\_MEMBERS when dependency class contained in two different versions of the same dependency - [`KT-67221`](https://youtrack.jetbrains.com/issue/KT-67221) K2: "new inference error \[NewConstraintError at Incorporate TypeVariable" for captured type - [`KT-66701`](https://youtrack.jetbrains.com/issue/KT-66701) K2: Java interface method override via Kotlin class rejected - [`KT-60604`](https://youtrack.jetbrains.com/issue/KT-60604) K2: introduced NON\_PUBLIC\_CALL\_FROM\_PUBLIC\_INLINE, `@PublishedApi` needed for constants in annotations - [`KT-64309`](https://youtrack.jetbrains.com/issue/KT-64309) Generate a variable mapping for continuation parameter in suspend methods just from the start - [`KT-65438`](https://youtrack.jetbrains.com/issue/KT-65438) K2: Introduce WEAKLY\_HIDDEN concept to built-in-JDK content mapping - [`KT-65235`](https://youtrack.jetbrains.com/issue/KT-65235) JDK 21 might lead to change in overloads resolution - [`KT-66768`](https://youtrack.jetbrains.com/issue/KT-66768) K1: False positive UNRESOLVED\_REFERENCE in super.getFirst/getLast call - [`KT-67106`](https://youtrack.jetbrains.com/issue/KT-67106) Platforms libs-dependant autotests for ObjC checkers - [`KT-65440`](https://youtrack.jetbrains.com/issue/KT-65440) K2: Mark all potential implementations of List.getFirst()/getLast() as deprecated independently of JDK - [`KT-65594`](https://youtrack.jetbrains.com/issue/KT-65594) K2: Type inference fails on NullMarked object with star type - [`KT-62849`](https://youtrack.jetbrains.com/issue/KT-62849) Unoptimised bytecode for Java synthetic property references - [`KT-60174`](https://youtrack.jetbrains.com/issue/KT-60174) JVM IR inline: accidental reification in various cases - [`KT-57609`](https://youtrack.jetbrains.com/issue/KT-57609) K2: Stop relying on the presence of `@UnsafeVariance` using for contravariant parameters - [`KT-54316`](https://youtrack.jetbrains.com/issue/KT-54316) Out-of-call reference to companion object's member has invalid signature - [`KT-66976`](https://youtrack.jetbrains.com/issue/KT-66976) Some value class diagnostics are missed - [`KT-57426`](https://youtrack.jetbrains.com/issue/KT-57426) Incorrect error message on inapplicable smartcast from alien property - [`KT-55111`](https://youtrack.jetbrains.com/issue/KT-55111) OptIn: forbid constructor calls with default arguments under marker - [`KT-49856`](https://youtrack.jetbrains.com/issue/KT-49856) Incorrect smartcast on var assigned in try-catch block - [`KT-41237`](https://youtrack.jetbrains.com/issue/KT-41237) ReturnsImplies contract for receiver of member function does not work (no smartcast) - [`KT-37878`](https://youtrack.jetbrains.com/issue/KT-37878) No Smart cast for class literal reference of nullable generic type - [`KT-35846`](https://youtrack.jetbrains.com/issue/KT-35846) Smart cast with unchecked cast leads to unresolved call that was resolved before (both old and new inference) - [`KT-30867`](https://youtrack.jetbrains.com/issue/KT-30867) Unsound smartcast if smartcast source and break is placed in for-in header as function arguments - [`KT-30267`](https://youtrack.jetbrains.com/issue/KT-30267) Inconsistent smart casts in while (true) - [`KT-33917`](https://youtrack.jetbrains.com/issue/KT-33917) Prohibit to expose anonymous types from private inline functions - [`KT-28889`](https://youtrack.jetbrains.com/issue/KT-28889) Smart cast does not work with boolean `and` infix function - [`KT-54790`](https://youtrack.jetbrains.com/issue/KT-54790) False positive NO\_ELSE\_IN\_WHEN when all interfaces are sealed - [`KT-54920`](https://youtrack.jetbrains.com/issue/KT-54920) K2: `when` with a single branch stops being exhaustive the second time it's done - [`KT-53364`](https://youtrack.jetbrains.com/issue/KT-53364) False positive UNUSED\_VARIABLE warning for variable that is used across multiple blocks - [`KT-43234`](https://youtrack.jetbrains.com/issue/KT-43234) False positive INVALID\_IF\_AS\_EXPRESSION caused by `if` without `else` inside `else` inside synchronized() - [`KT-38490`](https://youtrack.jetbrains.com/issue/KT-38490) False negative INVALID\_IF\_AS\_EXPRESSION with unreachable code and coercion to Unit - [`KT-35510`](https://youtrack.jetbrains.com/issue/KT-35510) No INVALID\_IF\_AS\_EXPRESSION ("'if' must have both main and 'else' branches if used as an expression") diagnostic for if-expression with only one branch and Nothing type condition - [`KT-34016`](https://youtrack.jetbrains.com/issue/KT-34016) Contracts - variable cannot be initialized before declaration - [`KT-56408`](https://youtrack.jetbrains.com/issue/KT-56408) Inconsistent rules of CFA in class initialization block between K1 and K2 - [`KT-33829`](https://youtrack.jetbrains.com/issue/KT-33829) False positive SENSELESS\_COMPARISON with assignment in catch block - [`KT-30717`](https://youtrack.jetbrains.com/issue/KT-30717) False positive UNUSED\_VARIABLE with local var used in inline lambda block with loop, return and other lambda - [`KT-28232`](https://youtrack.jetbrains.com/issue/KT-28232) RETURN\_NOT\_ALLOWED in inline lambda argument of '\[... ]' operator convention - [`KT-26116`](https://youtrack.jetbrains.com/issue/KT-26116) No error when class member val is referenced in inline function before it is assigned later on - [`KT-25311`](https://youtrack.jetbrains.com/issue/KT-25311) Calls on error type values lead to false-positive unreachable code - [`KT-24372`](https://youtrack.jetbrains.com/issue/KT-24372) Misleading warning on unused setter parameter in some cases - [`KT-23680`](https://youtrack.jetbrains.com/issue/KT-23680) False positive UNREACHABLE\_CODE on `throw` with a `return` inside `finally` clause - [`KT-23502`](https://youtrack.jetbrains.com/issue/KT-23502) When exhaustiveness is not checked for unreachable code, resulting in JVM back-end error - [`KT-22621`](https://youtrack.jetbrains.com/issue/KT-22621) "throw throw Exception()": False negative UNREACHABLE\_CODE warning - [`KT-22317`](https://youtrack.jetbrains.com/issue/KT-22317) No INITIALIZATION\_BEFORE\_DECLARATION without primary constructor - [`KT-67307`](https://youtrack.jetbrains.com/issue/KT-67307) K2: "Cannot find cached type parameter by FIR symbol" in JpaRepository.saveAll - [`KT-67185`](https://youtrack.jetbrains.com/issue/KT-67185) K2: Incorrect coercion-to-Unit leading to CCE at runtime - [`KT-64891`](https://youtrack.jetbrains.com/issue/KT-64891) K2: consider supporting/forbidding foo.(bar)() syntax - [`KT-59480`](https://youtrack.jetbrains.com/issue/KT-59480) K2: build moko-resources - [`KT-65771`](https://youtrack.jetbrains.com/issue/KT-65771) K2: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" when calling method imported using typealias as callable qualifier - [`KT-67502`](https://youtrack.jetbrains.com/issue/KT-67502) K2: "property must be initialized or be abstract" with try-finally in secondary constructor - [`KT-67456`](https://youtrack.jetbrains.com/issue/KT-67456) K2: "property must be initialized or be abstract" depending on constructor declaration order - [`KT-63524`](https://youtrack.jetbrains.com/issue/KT-63524) K2: "Not enough information to infer type argument" - [`KT-67628`](https://youtrack.jetbrains.com/issue/KT-67628) K2: "IllegalArgumentException: Expected nullable type" — alias of nullable type analyzed as non-nullable in type parameter - [`KT-67625`](https://youtrack.jetbrains.com/issue/KT-67625) K2: Array aliases can't be used as vararg values - [`KT-67624`](https://youtrack.jetbrains.com/issue/KT-67624) K2: False negative "The feature "break continue in inline lambdas" is experimental and should be enabled explicitly" in elvis operator - [`KT-61787`](https://youtrack.jetbrains.com/issue/KT-61787) K2 doesn't report warnings for some Gradle tasks - [`KT-62550`](https://youtrack.jetbrains.com/issue/KT-62550) K2: Different JVM signature of lambda with `Unit` return type - [`KT-65120`](https://youtrack.jetbrains.com/issue/KT-65120) K2 Consider turn into platform checkers ones which checks for objC - [`KT-60271`](https://youtrack.jetbrains.com/issue/KT-60271) K2: origins are not set on compare operators - [`KT-28695`](https://youtrack.jetbrains.com/issue/KT-28695) Compiler does not detect uninitialized property in lambda - [`KT-67593`](https://youtrack.jetbrains.com/issue/KT-67593) K2: false negative SUPER\_CALL\_WITH\_DEFAULT\_PARAMETERS - [`KT-67484`](https://youtrack.jetbrains.com/issue/KT-67484) K2: FIR2IR generates incorrect access to f/o of lateinit internal var - [`KT-47382`](https://youtrack.jetbrains.com/issue/KT-47382) JVM / IR: "AssertionError: Unbound private symbol IrFieldSymbolImpl" caused by string template in constructor and extension property - [`KT-67581`](https://youtrack.jetbrains.com/issue/KT-67581) K2: Compiler fails on actualizing abstract class with sealed Java class via type alias - [`KT-49404`](https://youtrack.jetbrains.com/issue/KT-49404) Fix type unsoundness for contravariant captured type based on Java class - [`KT-22379`](https://youtrack.jetbrains.com/issue/KT-22379) Condition of while-loop with break can produce unsound smartcast - [`KT-67021`](https://youtrack.jetbrains.com/issue/KT-67021) K2: Cannot find cached type parameter by FIR symbol: E of the owner: FirRegularClassSymbol Function - [`KT-67014`](https://youtrack.jetbrains.com/issue/KT-67014) K1/K2 handle when expression as annotation target differently - [`KT-67254`](https://youtrack.jetbrains.com/issue/KT-67254) K1/K2 both allow annotations on loops, assignments, array sets - [`KT-66960`](https://youtrack.jetbrains.com/issue/KT-66960) K2. KMP. False negative ` 'when' expression must be exhaustive` without sealed class inheritor from common source-set - [`KT-65578`](https://youtrack.jetbrains.com/issue/KT-65578) K2: implement a deprecation warning for KT-57014 (wrong nullability returned from JDK SAM constructor lambda) - [`KT-63466`](https://youtrack.jetbrains.com/issue/KT-63466) `@NonNull` on a type-variable usage doesn't take precedence over a wildcard type argument - [`KT-56134`](https://youtrack.jetbrains.com/issue/KT-56134) K2: NEW\_INFERENCE\_NO\_INFORMATION\_FOR\_PARAMETER diagnostic is reported for the wrong symbol - [`KT-66196`](https://youtrack.jetbrains.com/issue/KT-66196) Convert INFERRED\_TYPE\_VARIABLE\_INTO\_EMPTY\_INTERSECTION\_ERROR to warning - [`KT-66793`](https://youtrack.jetbrains.com/issue/KT-66793) K2: "assigning single elements to varargs in named form is prohibited." caused by varargs supplied from java with elvis operator - [`KT-59872`](https://youtrack.jetbrains.com/issue/KT-59872) K2: Disappeared TYPE\_MISMATCH - [`KT-67192`](https://youtrack.jetbrains.com/issue/KT-67192) K2: Disappeared TYPE\_MISMATCH \[3] - [`KT-63319`](https://youtrack.jetbrains.com/issue/KT-63319) K1/K2: inconsistent behavior around NullMarked and type parameter based types - [`KT-59882`](https://youtrack.jetbrains.com/issue/KT-59882) K2: Disappeared CANNOT\_INFER\_PARAMETER\_TYPE - [`KT-67191`](https://youtrack.jetbrains.com/issue/KT-67191) K2: Disappeared TYPE\_MISMATCH \[4] - [`KT-53752`](https://youtrack.jetbrains.com/issue/KT-53752) Missed subtyping check for an intersection type - [`KT-52628`](https://youtrack.jetbrains.com/issue/KT-52628) Deprecate SAM constructor usages which require OptIn without annotation - [`KT-54066`](https://youtrack.jetbrains.com/issue/KT-54066) Deprecate upper bound violation in typealias constructors - [`KT-64860`](https://youtrack.jetbrains.com/issue/KT-64860) K2: Consider using different ConstraintPosition when fixing variables for PCLA - [`KT-67189`](https://youtrack.jetbrains.com/issue/KT-67189) K2: Disappeared TYPE\_MISMATCH \[5] - [`KT-67551`](https://youtrack.jetbrains.com/issue/KT-67551) K2: No wrong annotation target error for `for` statement - [`KT-67374`](https://youtrack.jetbrains.com/issue/KT-67374) K2: Object is not smartcasted to type parameter type - [`KT-67264`](https://youtrack.jetbrains.com/issue/KT-67264) K2: "argument type mismatch" with suspend lambda and java wildcard - [`KT-63257`](https://youtrack.jetbrains.com/issue/KT-63257) K2: FIR2IR inserts incorrect implicit cast for smartcasted variable - [`KT-66902`](https://youtrack.jetbrains.com/issue/KT-66902) K2: "Named arguments are prohibited for non-Kotlin functions" with Java interop - [`KT-67311`](https://youtrack.jetbrains.com/issue/KT-67311) K2: "Argument type mismatch" caused by lambda type when using named arguments - [`KT-57011`](https://youtrack.jetbrains.com/issue/KT-57011) Make real type of a destructuring variable consistent with explicit type when specified - [`KT-62043`](https://youtrack.jetbrains.com/issue/KT-62043) K2: Fix FirCompileKotlinAgainstCustomBinariesTest.testRawTypes - [`KT-66256`](https://youtrack.jetbrains.com/issue/KT-66256) K2: compiler FIR2IR crash on SAM-conversion to value parameter of in-projected type - [`KT-67124`](https://youtrack.jetbrains.com/issue/KT-67124) "Unstable inference behaviour with multiple generic lambdas" compilation error - [`KT-59791`](https://youtrack.jetbrains.com/issue/KT-59791) K2: Implement partially constrained lambda analysis - [`KT-66743`](https://youtrack.jetbrains.com/issue/KT-66743) Lambda receivers and anonymous function parameters of inaccessible types are allowed - [`KT-67315`](https://youtrack.jetbrains.com/issue/KT-67315) K2: Some default imports are not excluded - [`KT-56126`](https://youtrack.jetbrains.com/issue/KT-56126) Avoid using descriptors at JvmPlatformAnalyzerServices::computePlatformSpecificDefaultImports - [`KT-66513`](https://youtrack.jetbrains.com/issue/KT-66513) K2: Suppressing OPT\_IN\_USAGE\_ERROR is now a warning in K2, preventing safe code gen compatible with -Werror - [`KT-67233`](https://youtrack.jetbrains.com/issue/KT-67233) False negative UNSAFE\_CALL with type check after null coalescing with 'OR' - [`KT-52802`](https://youtrack.jetbrains.com/issue/KT-52802) Report ambiguity resolving between property/field and enum entry - [`KT-64920`](https://youtrack.jetbrains.com/issue/KT-64920) Json.encodeToString yields different results depending on whether typealias is used - [`KT-58260`](https://youtrack.jetbrains.com/issue/KT-58260) Make invoke convention work consistently with expected desugaring - [`KT-67314`](https://youtrack.jetbrains.com/issue/KT-67314) PCLA works inconsistently with smart-cast related CS forks - [`KT-66797`](https://youtrack.jetbrains.com/issue/KT-66797) K2 JS: Primary constructor property annotation with target VALUE\_PARAMETER is put on property instead of parameter - [`KT-55179`](https://youtrack.jetbrains.com/issue/KT-55179) False negative PRIVATE\_CLASS\_MEMBER\_FROM\_INLINE on calling private class companion object member from internal inline function - [`KT-54663`](https://youtrack.jetbrains.com/issue/KT-54663) Projected types don't take into account in-place not null types - [`KT-58191`](https://youtrack.jetbrains.com/issue/KT-58191) K2: capturing closures successors that are already resolved (thanks to backward edges) must be taken into account for allowing smart casts - [`KT-67144`](https://youtrack.jetbrains.com/issue/KT-67144) K2: potential NPE when assigning to unstable vars - [`KT-66971`](https://youtrack.jetbrains.com/issue/KT-66971) K2: missing SMARTCAST\_IMPOSSIBLE on open val declared in another module - [`KT-66904`](https://youtrack.jetbrains.com/issue/KT-66904) K2: possible NPE when reassigning captured variables - [`KT-57031`](https://youtrack.jetbrains.com/issue/KT-57031) operator assignment, increment/decrement should be considered as variable reassigning in terms of DFA. green in K1 -> red in K2 for unsound code - [`KT-67212`](https://youtrack.jetbrains.com/issue/KT-67212) K2: "Failed to find functional supertype for class org.jetbrains.kotlin.fir.types.ConeCapturedType" - [`KT-67283`](https://youtrack.jetbrains.com/issue/KT-67283) K2: No SAM conversion for fun interface with abstract toString - [`KT-67318`](https://youtrack.jetbrains.com/issue/KT-67318) Compiler fails with OutOfMemoryError on combination of PCLA+smart cast - [`KT-66956`](https://youtrack.jetbrains.com/issue/KT-66956) K2: false negative CONST\_VAL\_WITH\_NON\_CONST\_INITIALIZER for inc/dec operators - [`KT-64233`](https://youtrack.jetbrains.com/issue/KT-64233) K2: K1/K2: ensure JVM ABI consistency for quality gates projects - [`KT-63535`](https://youtrack.jetbrains.com/issue/KT-63535) K2: Apply DFA implications for nullable Nothing to both sides - [`KT-63413`](https://youtrack.jetbrains.com/issue/KT-63413) K2 / kotlinx-atomicfu: "IllegalStateException: Expected some types" - [`KT-62931`](https://youtrack.jetbrains.com/issue/KT-62931) K2: extra class files for `@OptionalExpectation` marked annotations - [`KT-34307`](https://youtrack.jetbrains.com/issue/KT-34307) Confusing error message on lambda return type mismatch - [`KT-62151`](https://youtrack.jetbrains.com/issue/KT-62151) K2. overload resolution ambiguity for calls of Java record compact constructors - [`KT-60732`](https://youtrack.jetbrains.com/issue/KT-60732) K2 Scripting: TeamCity DSL test - [`KT-65062`](https://youtrack.jetbrains.com/issue/KT-65062) K2: build kotlinx.collections.immutable and pass to CI - [`KT-59467`](https://youtrack.jetbrains.com/issue/KT-59467) K2: build toolbox-enterprise - [`KT-67205`](https://youtrack.jetbrains.com/issue/KT-67205) K2: can't deserialize annotation with local class as argument - [`KT-52175`](https://youtrack.jetbrains.com/issue/KT-52175) K2: WRONG\_ANNOTATION\_TARGET for annotation that used inside if - [`KT-65449`](https://youtrack.jetbrains.com/issue/KT-65449) K2: build KAPT user project and pass it to CI - [`KT-61384`](https://youtrack.jetbrains.com/issue/KT-61384) IrFakeOverrideBuilder incorrectly checks visibility for friend modules - [`KT-67142`](https://youtrack.jetbrains.com/issue/KT-67142) K2: IrFakeOverrideBuilder: AbstractMethodError on raw type argument in a Java superclass - [`KT-65105`](https://youtrack.jetbrains.com/issue/KT-65105) K2 / Native: Member overrides different '`@Throws`' filter - [`KT-62570`](https://youtrack.jetbrains.com/issue/KT-62570) IncompatibleClassChangeError due to overriding final method - [`KT-57812`](https://youtrack.jetbrains.com/issue/KT-57812) K2: support serialization of type annotation's arguments - [`KT-67190`](https://youtrack.jetbrains.com/issue/KT-67190) K2: Disappeared TYPE\_MISMATCH \[2] - [`KT-56683`](https://youtrack.jetbrains.com/issue/KT-56683) K2: No control flow analysis for top-level properties - [`KT-67188`](https://youtrack.jetbrains.com/issue/KT-67188) K2: Disappeared TYPE\_MISMATCH \[6] - [`KT-62063`](https://youtrack.jetbrains.com/issue/KT-62063) K2: drop pre-release flag in 2.0-RC - [`KT-67187`](https://youtrack.jetbrains.com/issue/KT-67187) K2: Disappeared TYPE\_MISMATCH \[1] - [`KT-66909`](https://youtrack.jetbrains.com/issue/KT-66909) K2: Implement a diagnostic for returning null from a lambda with expected return type Unit! - [`KT-66534`](https://youtrack.jetbrains.com/issue/KT-66534) False positive ASSIGNMENT\_TYPE\_MISMATCH in lambdas with expected return type Unit! - [`KT-63381`](https://youtrack.jetbrains.com/issue/KT-63381) IrFakeOverrideBuilder: PublishedApi affects overridability of internal members - [`KT-63836`](https://youtrack.jetbrains.com/issue/KT-63836) K2: No deprecation error message in common metadata compilation - [`KT-57618`](https://youtrack.jetbrains.com/issue/KT-57618) K2: complex deprecation messages are not printed in the error - [`KT-59856`](https://youtrack.jetbrains.com/issue/KT-59856) K2: Check ConeDiagnostics that are not mapped to KtDiagnostics - [`KT-57502`](https://youtrack.jetbrains.com/issue/KT-57502) K2: Smart casts should be forbidden if variable that remembers the smart cast is declared by delegation - [`KT-63967`](https://youtrack.jetbrains.com/issue/KT-63967) K2: Missing getterSignature in metadata for script variables - [`KT-59372`](https://youtrack.jetbrains.com/issue/KT-59372) K2: Missing SELF\_CALL\_IN\_NESTED\_OBJECT\_CONSTRUCTOR\_ERROR - [`KT-60526`](https://youtrack.jetbrains.com/issue/KT-60526) K2: Fix the TODO in `convertToIr.kt` - [`KT-67090`](https://youtrack.jetbrains.com/issue/KT-67090) K2: Exception from metadata compilation when compiling class with annotations from dependencies - [`KT-59479`](https://youtrack.jetbrains.com/issue/KT-59479) K2: build KorGE - [`KT-64502`](https://youtrack.jetbrains.com/issue/KT-64502) K2: Internal error on calling function before declaration - [`KT-62560`](https://youtrack.jetbrains.com/issue/KT-62560) K2: KAPT4: annotation `@ReplaceWith` is missing a default value for the element 'imports' - [`KT-67027`](https://youtrack.jetbrains.com/issue/KT-67027) K2: Review all use-sites of annotation arguments utilities - [`KT-65012`](https://youtrack.jetbrains.com/issue/KT-65012) IR Evaluator: `NoSuchFieldException` when evaluating protected/private fields of superclasses - [`KT-66953`](https://youtrack.jetbrains.com/issue/KT-66953) K2: toByte() call on Char leads to ClassCastException for klib backends - [`KT-60096`](https://youtrack.jetbrains.com/issue/KT-60096) K2: Introduced API\_NOT\_AVAILABLE - [`KT-59484`](https://youtrack.jetbrains.com/issue/KT-59484) K2: build trustwallet sample - [`KT-64151`](https://youtrack.jetbrains.com/issue/KT-64151) K2: consider implementing FIR-level constant evaluation - [`KT-65787`](https://youtrack.jetbrains.com/issue/KT-65787) K2: "KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType" caused by passing lambda expression with multiple labels to function - [`KT-53629`](https://youtrack.jetbrains.com/issue/KT-53629) K2: forbid multiple labels per statement - [`KT-65255`](https://youtrack.jetbrains.com/issue/KT-65255) K2 / KJS: "IllegalArgumentException: Candidate is not successful, but system has no contradiction" - [`KT-65195`](https://youtrack.jetbrains.com/issue/KT-65195) K2: Unexpected exception when executing dynamic array element inc/dec - [`KT-63416`](https://youtrack.jetbrains.com/issue/KT-63416) K2 / Contracts: False positive "Leaked in-place lambda" warning caused by suspend lambda with callsInPlace contract - [`KT-66717`](https://youtrack.jetbrains.com/issue/KT-66717) Incorrect diagnostics around intersection property overrides - [`KT-63540`](https://youtrack.jetbrains.com/issue/KT-63540) Restrict the CONFLICTING\_OVERLOADS + DeprecatedLevel.HIDDEN ignore to final callables - [`KT-56587`](https://youtrack.jetbrains.com/issue/KT-56587) There are no warnings in some cases when Enum.entries is shadowed - [`KT-65111`](https://youtrack.jetbrains.com/issue/KT-65111) K2: Java star imports don't work in KJK interdependencies - [`KT-63709`](https://youtrack.jetbrains.com/issue/KT-63709) K2: Argument smartcasting impacting receiver and call resolution for implicit invoke - [`KT-63530`](https://youtrack.jetbrains.com/issue/KT-63530) K2: Disable passing data flow info from in-place lambdas - [`KT-65377`](https://youtrack.jetbrains.com/issue/KT-65377) K2: "Argument type mismatch" caused by approximated captured type argument of generic type - [`KT-59400`](https://youtrack.jetbrains.com/issue/KT-59400) K2: Missing CANNOT\_INFER\_VISIBILITY - [`KT-62305`](https://youtrack.jetbrains.com/issue/KT-62305) K2: Missing Fir metadata serialization support for scripts - [`KT-64534`](https://youtrack.jetbrains.com/issue/KT-64534) K2: org.jetbrains.kotlin.util.FileAnalysisException: Somewhere in file - [`KT-57555`](https://youtrack.jetbrains.com/issue/KT-57555) \[LC] Forbid deferred initialization of open properties with backing field - [`KT-65776`](https://youtrack.jetbrains.com/issue/KT-65776) \[LC] K2 breaks `false && ...` and `false || ...` - [`KT-64641`](https://youtrack.jetbrains.com/issue/KT-64641) K2: Change in inference of supertype of function types with receiver - [`KT-65649`](https://youtrack.jetbrains.com/issue/KT-65649) K2: IR has incorrect origins for some inplace updating operators - [`KT-64295`](https://youtrack.jetbrains.com/issue/KT-64295) Forbid recursive resolve in case of potential ambiguity on upper tower level - [`KT-62866`](https://youtrack.jetbrains.com/issue/KT-62866) K2: Change qualifier resolution behavior when companion object is preferred against static scope - [`KT-55446`](https://youtrack.jetbrains.com/issue/KT-55446) Change impact of *private-to-this* visibility to resolution - [`KT-64255`](https://youtrack.jetbrains.com/issue/KT-64255) Forbid accessing internal setter from a derived class in another module - [`KT-64966`](https://youtrack.jetbrains.com/issue/KT-64966) Forbid generic delegating constructor calls with wrong type for generic parameter - [`KT-63389`](https://youtrack.jetbrains.com/issue/KT-63389) K2: `WRONG_ANNOTATION_TARGET` is reported on incompatible annotations of a type wrapped into `()?` - [`KT-66748`](https://youtrack.jetbrains.com/issue/KT-66748) K2: False-positive AMBIGUOUS\_SUPER in toString - [`KT-67013`](https://youtrack.jetbrains.com/issue/KT-67013) K2: ClassCastException: class FirConstructorSymbol cannot be cast to class FirNamedFunctionSymbol - [`KT-64872`](https://youtrack.jetbrains.com/issue/KT-64872) K2: do-while condition able to access uninitialized variable - [`KT-66350`](https://youtrack.jetbrains.com/issue/KT-66350) K2: "IllegalStateException: Unsupported compile-time value STRING\_CONCATENATION" when evaluating an annotation argument string - [`KT-61798`](https://youtrack.jetbrains.com/issue/KT-61798) K2 incorrectly calculates modality of property accessors - [`KT-65035`](https://youtrack.jetbrains.com/issue/KT-65035) IrFakeOverrideBuilder: AbstractMethodError on inheritance from Java subclass of CharSequence with inherited implementations - [`KT-61579`](https://youtrack.jetbrains.com/issue/KT-61579) K2: Inconsistent reporting `UNINITIALIZED_VARIABLE` for top-level properties - [`KT-66730`](https://youtrack.jetbrains.com/issue/KT-66730) K2: False positive RETURN\_TYPE\_MISMATCH in return statement in SAM constructor - [`KT-66570`](https://youtrack.jetbrains.com/issue/KT-66570) Generic wildcard upper bound inference error - [`KT-65272`](https://youtrack.jetbrains.com/issue/KT-65272) K2: invoke operator applies "restricted suspending call" error differently than K1 - [`KT-66148`](https://youtrack.jetbrains.com/issue/KT-66148) K2. Sources of receivers updated twice because of PCLA - [`KT-62525`](https://youtrack.jetbrains.com/issue/KT-62525) K2: IllegalStateException: Can't find KotlinType in IrErrorType: IrErrorType(null) - [`KT-64266`](https://youtrack.jetbrains.com/issue/KT-64266) K2: don't report MISSING\_DEPENDENCY\_CLASS on lambda parameter for non-generic types - [`KT-65300`](https://youtrack.jetbrains.com/issue/KT-65300) K2: this-expressions in initializers and local declarations don't introduce type information to either BI or PCLA - [`KT-66463`](https://youtrack.jetbrains.com/issue/KT-66463) K2: false positive ACCIDENTAL\_OVERRIDE\_CLASH\_BY\_JVM\_SIGNATURE - [`KT-62356`](https://youtrack.jetbrains.com/issue/KT-62356) Prohibit using property+invoke for iterator - [`KT-63631`](https://youtrack.jetbrains.com/issue/KT-63631) K2: constant value UByte.MAX\_VALUE is incorrectly deserialized from metadata - [`KT-65386`](https://youtrack.jetbrains.com/issue/KT-65386) K2: Different signature of invoke for Unit lambda - [`KT-60574`](https://youtrack.jetbrains.com/issue/KT-60574) K2: generated IR for `suspendCoroutineUninterceptedOrReturn` is different from K1 (K2 uses Any? instead of Unit) - [`KT-66512`](https://youtrack.jetbrains.com/issue/KT-66512) K2: Incorrect diagnostic in lambda whose expected type is a type alias to Unit - [`KT-66279`](https://youtrack.jetbrains.com/issue/KT-66279) K2: False positive INITIALIZER\_TYPE\_MISMATCH with `return Unit` in a lambda with the expected type `() -> Unit` - [`KT-66277`](https://youtrack.jetbrains.com/issue/KT-66277) K2: False negative RETURN\_TYPE\_MISMATCH with empty return in lambda assigned to a property - [`KT-66654`](https://youtrack.jetbrains.com/issue/KT-66654) K2 FIR resolution: Mismatch between actual type and expected type for a value parameter when the parameter type is a function type with special function kind - [`KT-66638`](https://youtrack.jetbrains.com/issue/KT-66638) Cannot access properties of a generic type with wildcards - [`KT-66690`](https://youtrack.jetbrains.com/issue/KT-66690) K2: don't report MISSING\_DEPENDENCY\_CLASS on expression without errors for generic type arguments - [`KT-66767`](https://youtrack.jetbrains.com/issue/KT-66767) K2: Destructuring declaration inside initializer failure - [`KT-63695`](https://youtrack.jetbrains.com/issue/KT-63695) JVM: Don't use plugin extensions when compiling code fragment - [`KT-65727`](https://youtrack.jetbrains.com/issue/KT-65727) K2: add proper package for properties generated from destructuring declarations - [`KT-64854`](https://youtrack.jetbrains.com/issue/KT-64854) K2: Trying to access private field on runtime with contracts - [`KT-65388`](https://youtrack.jetbrains.com/issue/KT-65388) IrFakeOverrideBuilder - custom annotation is available in fake getter/setter - [`KT-66595`](https://youtrack.jetbrains.com/issue/KT-66595) K2: compiler FIR checking crash on destructuring declarations calling hidden componentN declarations - [`KT-62129`](https://youtrack.jetbrains.com/issue/KT-62129) K2: Verification error on calling an extension from an env with 2+ context receivers - [`KT-41607`](https://youtrack.jetbrains.com/issue/KT-41607) NI: UNSAFE\_CALL caused by try catch block assigning to a nullable variable - [`KT-63932`](https://youtrack.jetbrains.com/issue/KT-63932) K2/Native codegen test failures around builder inference - [`KT-66352`](https://youtrack.jetbrains.com/issue/KT-66352) K2: difference between LL FIR and FIR for componentN functions - [`KT-66686`](https://youtrack.jetbrains.com/issue/KT-66686) K2 Script: Unresolved reference of script-specific entities on out-of-order resolve - [`KT-65523`](https://youtrack.jetbrains.com/issue/KT-65523) K2: add proper package for result$$ property - [`KT-66699`](https://youtrack.jetbrains.com/issue/KT-66699) Restore HostManager ABI - [`KT-60533`](https://youtrack.jetbrains.com/issue/KT-60533) Inliner incorrectly captures non-null value as null in coroutines - [`KT-57925`](https://youtrack.jetbrains.com/issue/KT-57925) K2: Consider removing FirEmptyContractDescription - [`KT-61893`](https://youtrack.jetbrains.com/issue/KT-61893) K2: should not resolve to Java function with Kotlin hidden-level deprecation - [`KT-59669`](https://youtrack.jetbrains.com/issue/KT-59669) K2: Explore assignments in in-place lambdas - [`KT-66271`](https://youtrack.jetbrains.com/issue/KT-66271) Fir: Deserialize classFile, functionFile and propertyFile from KlibMetadataProtoBuf - [`KT-57957`](https://youtrack.jetbrains.com/issue/KT-57957) K2: Symbol providers are frequently queried with error-named class IDs - [`KT-66046`](https://youtrack.jetbrains.com/issue/KT-66046) K2: false negative CANNOT\_WEAKEN\_ACCESS\_PRIVILEGE on property - [`KT-66677`](https://youtrack.jetbrains.com/issue/KT-66677) K2: OVERRIDE\_DEPRECATION isn't reported for WEAKLY\_HIDDEN method toArray() - [`KT-62793`](https://youtrack.jetbrains.com/issue/KT-62793) K2: slightly different bytecode of suspend conversions - [`KT-57244`](https://youtrack.jetbrains.com/issue/KT-57244) K2: slightly different naming scheme for suspend conversion adapters - [`KT-60256`](https://youtrack.jetbrains.com/issue/KT-60256) K2: types are not substituted in suspend conversion - [`KT-66673`](https://youtrack.jetbrains.com/issue/KT-66673) K2/JS: FirJsInheritanceClassChecker doesn't expand type aliases to supertypes - [`KT-66475`](https://youtrack.jetbrains.com/issue/KT-66475) K2/KMP/Wasm: report WRONG\_JS\_INTEROP\_TYPE from a platform checker - [`KT-66474`](https://youtrack.jetbrains.com/issue/KT-66474) K2/KMP/JS: report EXTERNAL\_TYPE\_EXTENDS\_NON\_EXTERNAL\_TYPE from a platform checker - [`KT-66473`](https://youtrack.jetbrains.com/issue/KT-66473) K2/Wasm: FirWasmExternalInheritanceChecker doesn't expand type aliases - [`KT-64407`](https://youtrack.jetbrains.com/issue/KT-64407) Implement WriteSignatureTestGenerated for K2 - [`KT-64438`](https://youtrack.jetbrains.com/issue/KT-64438) K2: Port CodegenTestCase to K2 - [`KT-64404`](https://youtrack.jetbrains.com/issue/KT-64404) Implement WriteFlagsTestGenerated for K2 - [`KT-66491`](https://youtrack.jetbrains.com/issue/KT-66491) K2 / KJS: "Name contains illegal characters." caused by backticks in import - [`KT-66275`](https://youtrack.jetbrains.com/issue/KT-66275) K2: false-positive "Java module does not depend on module" error on access to inherited member from twice-transitive dependency via class from transitive dependency - [`KT-65801`](https://youtrack.jetbrains.com/issue/KT-65801) IrFakeOverrideBuilder - visibility is lost for setter in KJK hierarchy - [`KT-65576`](https://youtrack.jetbrains.com/issue/KT-65576) K2: Incorrect resolution of variable+invoke when the property type is not computed - [`KT-58575`](https://youtrack.jetbrains.com/issue/KT-58575) Private Kotlin property prevents use of Java get- and set-methods from Java-Kotlin-Java hierarchy - [`KT-61282`](https://youtrack.jetbrains.com/issue/KT-61282) K2: Incorrect overridden function for `java.nio.CharBuffer.get` - [`KT-65464`](https://youtrack.jetbrains.com/issue/KT-65464) K2: False positive UNRESOLVED\_REFERENCE on extension property call defined in KJK hierarchy - [`KT-59470`](https://youtrack.jetbrains.com/issue/KT-59470) K2: build KaMPKit - [`KT-60510`](https://youtrack.jetbrains.com/issue/KT-60510) Smartcast to functional type does not work in when exprssion - [`KT-59677`](https://youtrack.jetbrains.com/issue/KT-59677) K2: Report diagnostics about missing receiver for delegated constructor call to inner class - [`KT-65183`](https://youtrack.jetbrains.com/issue/KT-65183) K2: Remove workaround for `@OnlyInputTypes` and captured types with recursive supertypes from inference - [`KT-66120`](https://youtrack.jetbrains.com/issue/KT-66120) IrFakeOverrideBuilder: wrong return type in intersection with 3 classes - [`KT-65939`](https://youtrack.jetbrains.com/issue/KT-65939) IrFakeOverrideBuilder - nullability annotation is lost in intersection without annotation - [`KT-59473`](https://youtrack.jetbrains.com/issue/KT-59473) K2: build firebase-kotlin-sdk - [`KT-66356`](https://youtrack.jetbrains.com/issue/KT-66356) K2: type mismatch error when generic type with inaccessible generic type as type argument is produced and consumed by declarations from dependencies - [`KT-65193`](https://youtrack.jetbrains.com/issue/KT-65193) K2: "JAVA\_TYPE\_MISMATCH" caused by MutableList - [`KT-66636`](https://youtrack.jetbrains.com/issue/KT-66636) NoSuchMethodError: 'void org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl.<init> in the FLysto K2 QG - [`KT-63941`](https://youtrack.jetbrains.com/issue/KT-63941) K2: "IllegalStateException: Unsupported compile-time value STRING\_CONCATENATION" caused by class reference in string expression as annotation parameter - [`KT-65704`](https://youtrack.jetbrains.com/issue/KT-65704) K2: `computeCommonSuperType` of flexible type with recursive captured type argument produces giant multi-level-deep type - [`KT-65410`](https://youtrack.jetbrains.com/issue/KT-65410) K2: ABSTRACT\_CLASS\_MEMBER\_NOT\_IMPLEMENTED for 'removeAt' in KJK hierarchy - [`KT-65184`](https://youtrack.jetbrains.com/issue/KT-65184) K2: disappeared TYPE\_MISMATCH for java collections - [`KT-66392`](https://youtrack.jetbrains.com/issue/KT-66392) K2: Exception in KJK hierarchy with implicit types - [`KT-66551`](https://youtrack.jetbrains.com/issue/KT-66551) Revert temporary commits after KT-62063 and bootstrapping - [`KT-65218`](https://youtrack.jetbrains.com/issue/KT-65218) FIR LL and DiagnosticFE10 tests start to fail in case of adding any new declaration into stdlib commonMain - [`KT-66552`](https://youtrack.jetbrains.com/issue/KT-66552) K2: build of intellij crashes the compiler - [`KT-63746`](https://youtrack.jetbrains.com/issue/KT-63746) K2: JSpecify: If a class has a `@Nullable` type-parameter bound, Kotlin should still treat unbounded wildcards like platform types - [`KT-66504`](https://youtrack.jetbrains.com/issue/KT-66504) K2: plusAssign operator call is resolved differently than function call - [`KT-48515`](https://youtrack.jetbrains.com/issue/KT-48515) JSpecify: If a class has a `@Nullable` type-parameter bound, Kotlin should still treat unbounded wildcards like platform types - [`KT-57588`](https://youtrack.jetbrains.com/issue/KT-57588) K2/Native: False positive '"CONFLICTING\_OVERLOADS", "PARAMETER\_NAME\_CHANGED\_ON\_OVERRIDE" on overriding objc methods - [`KT-58892`](https://youtrack.jetbrains.com/issue/KT-58892) K2: Parcelize doesn't work in common code when expect annotation is actualized with typealias to `@Parcelize` - [`KT-65882`](https://youtrack.jetbrains.com/issue/KT-65882) K2: "KotlinNothingValueException" caused by unsafe cast and Nothing::class - [`KT-66124`](https://youtrack.jetbrains.com/issue/KT-66124) K2: Remove FirLambdaArgumentExpression and FirNamedArgumentExpression after resolution - [`KT-65959`](https://youtrack.jetbrains.com/issue/KT-65959) K2: Incorrect warnings about inline function impact - [`KT-64994`](https://youtrack.jetbrains.com/issue/KT-64994) K2: `@Composable` lambda type is not resolved from other modules - [`KT-66048`](https://youtrack.jetbrains.com/issue/KT-66048) K2: property becomes nullable in KJK hierarchy if base declaration has implicit return type - [`KT-47843`](https://youtrack.jetbrains.com/issue/KT-47843) No error reported on assigning "continue" to a companion object - [`KT-47530`](https://youtrack.jetbrains.com/issue/KT-47530) NI: Unexpected TYPE\_MISMATCH when combining nested conditional and contravariant type argument - [`KT-49583`](https://youtrack.jetbrains.com/issue/KT-49583) NI: NullPointerException on compiling anonymous function returning a method reference - [`KT-42782`](https://youtrack.jetbrains.com/issue/KT-42782) NI: Smart casting for generic type doesn't work if the variable is already smart cast - [`KT-38031`](https://youtrack.jetbrains.com/issue/KT-38031) FIR: Discrepancy in call resolution for qualifiers with old FE - [`KT-65789`](https://youtrack.jetbrains.com/issue/KT-65789) K1/K2: Resolve change in constructor/top-level function ambiguity - [`KT-66150`](https://youtrack.jetbrains.com/issue/KT-66150) K2: expects type argument in super qualifier - [`KT-60971`](https://youtrack.jetbrains.com/issue/KT-60971) Incorrect "cannot inline bytecode built with JVM target ..." on property setter if only getter is inline - [`KT-61514`](https://youtrack.jetbrains.com/issue/KT-61514) K2: Build fake overrides using IR during Fir2IR - [`KT-65584`](https://youtrack.jetbrains.com/issue/KT-65584) K2: "Duplicate parameter name in a function type" - [`KT-50008`](https://youtrack.jetbrains.com/issue/KT-50008) JSpecify `@Nullable` annotation on type-parameter bound prevents type-variable usages from being platform types - [`KT-37000`](https://youtrack.jetbrains.com/issue/KT-37000) IndexOutOfBoundsException from TypeResolver on typealias with cyclic references - [`KT-56988`](https://youtrack.jetbrains.com/issue/KT-56988) CFG, smart casts: red in K1 -> green in K2 for invalid code - [`KT-62118`](https://youtrack.jetbrains.com/issue/KT-62118) FIR: "HashMap.entry" has invalid enhanced type - [`KT-64840`](https://youtrack.jetbrains.com/issue/KT-64840) K2: Bare type are not allowed for TV based values during PCLA - [`KT-65415`](https://youtrack.jetbrains.com/issue/KT-65415) K2: Stdlib K2 build error: IrConstructorSymbolImpl is already bound - [`KT-66449`](https://youtrack.jetbrains.com/issue/KT-66449) Make DiagnosticSuppressor a project-level extension - [`KT-66411`](https://youtrack.jetbrains.com/issue/KT-66411) FIR: Real source on fake block around assignment expression in the "when" branch affects resolve in K2 Analysis API and IDE - [`KT-65249`](https://youtrack.jetbrains.com/issue/KT-65249) K2: False positive modality is different for native compilation - [`KT-65982`](https://youtrack.jetbrains.com/issue/KT-65982) K2 Scripts cannot disambiguate declarations imported from default and explicit imports - [`KT-65677`](https://youtrack.jetbrains.com/issue/KT-65677) K2: Unable to resolve parent class from companion object - [`KT-47310`](https://youtrack.jetbrains.com/issue/KT-47310) Change qualifier resolution behavior when companion property is preferred against enum entry - [`KT-41034`](https://youtrack.jetbrains.com/issue/KT-41034) K2: Change evaluation semantics for combination of safe calls and convention operators - [`KT-63529`](https://youtrack.jetbrains.com/issue/KT-63529) K2: Compiler does not detect tailrec call with nullable type - [`KT-66441`](https://youtrack.jetbrains.com/issue/KT-66441) Remove symbol table from IR fake override builder in Fir2Ir - [`KT-64846`](https://youtrack.jetbrains.com/issue/KT-64846) K2: false negative CONFLICTING\_JVM\_DECLARATIONS on inheritance from Java collection subclass with a conflicting override - [`KT-62312`](https://youtrack.jetbrains.com/issue/KT-62312) \[K2/N] revert putting stdlib to the beginning of libraries list in the compiler - [`KT-58203`](https://youtrack.jetbrains.com/issue/KT-58203) K2: false-negative incompatible types error on is-check with unrelated type - [`KT-65722`](https://youtrack.jetbrains.com/issue/KT-65722) K2: Property reference refers to non-existent functions - [`KT-65878`](https://youtrack.jetbrains.com/issue/KT-65878) K2: "ClassCastException" when passing nun-suspend lambda to SAM constructor with named argument - [`KT-66379`](https://youtrack.jetbrains.com/issue/KT-66379) K2: No extra message in UPPER\_BOUND\_VIOLATED for cases with CapturedType - [`KT-59475`](https://youtrack.jetbrains.com/issue/KT-59475) K2: build nowinandroid - [`KT-65926`](https://youtrack.jetbrains.com/issue/KT-65926) K2: add tests for all fixed-in-k2 / not-reproducible-in-k2 unresolved issues - [`KT-59481`](https://youtrack.jetbrains.com/issue/KT-59481) K2: build aws-sdk-kotlin + smithy-kotlin - [`KT-65022`](https://youtrack.jetbrains.com/issue/KT-65022) K2: Compiler crashes when array literal is used in delegate expression - [`KT-62836`](https://youtrack.jetbrains.com/issue/KT-62836) K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource - [`KT-64727`](https://youtrack.jetbrains.com/issue/KT-64727) K1: Closing bracket of object inside crossinline lambda or inside lambda in inline function is not hit on step-over - [`KT-64726`](https://youtrack.jetbrains.com/issue/KT-64726) K1: Cannot stop on closing bracket of crossinline lambda inside of another crossinline lambda - [`KT-64725`](https://youtrack.jetbrains.com/issue/KT-64725) K1: Cannot stop on closing bracket of lambda of inline-only function - [`KT-66272`](https://youtrack.jetbrains.com/issue/KT-66272) Could not load module <Error module> with a combination of type parameters - [`KT-66243`](https://youtrack.jetbrains.com/issue/KT-66243) Could not load module <Error module> in a builder inference with lambda with typed parameter - [`KT-66229`](https://youtrack.jetbrains.com/issue/KT-66229) Could not load module <Error module> in a builder inference with Map.Entry - [`KT-66313`](https://youtrack.jetbrains.com/issue/KT-66313) K2: declaration-order-dependent false-positive "recursive problem in type checker" error on `getX` declaration with implicit return type that calls `x` declaration via intermediate declaration in `getX`'s expression body - [`KT-61041`](https://youtrack.jetbrains.com/issue/KT-61041) K2: Consider getting rid of confusing shouldRunCompletion and shouldAvoidFullCompletion function in FirInferenceSession - [`KT-66267`](https://youtrack.jetbrains.com/issue/KT-66267) K2: generic function's type parameter is erased if present as type argument in type of callable reference to member of generic function's local class - [`KT-61448`](https://youtrack.jetbrains.com/issue/KT-61448) K2: Disappeared DEPRECATION in testWithModifiedMockJdk - [`KT-60106`](https://youtrack.jetbrains.com/issue/KT-60106) K2: Introduced REIFIED\_TYPE\_FORBIDDEN\_SUBSTITUTION - [`KT-58279`](https://youtrack.jetbrains.com/issue/KT-58279) K2. False-negative `Smart cast to is impossible, because is a public API property declared in different module` for Java static field - [`KT-61626`](https://youtrack.jetbrains.com/issue/KT-61626) K2: Module "com.soywiz.korlibs.kmem:kmem" has a reference to symbol korlibs.memory/Buffer|null\[1] - [`KT-57427`](https://youtrack.jetbrains.com/issue/KT-57427) Fix inconsistencies in name manglers that use different declaration representations - [`KT-66258`](https://youtrack.jetbrains.com/issue/KT-66258) K2: accessor-targeted `@Suppress` annotation is ignored on primary constructor property - [`KT-29559`](https://youtrack.jetbrains.com/issue/KT-29559) Smart Cast functionality doesn't behave in an expected way in all cases - [`KT-60777`](https://youtrack.jetbrains.com/issue/KT-60777) K2: missing INLINE\_FROM\_HIGHER\_PLATFORM - [`KT-66260`](https://youtrack.jetbrains.com/issue/KT-66260) K2: false-positive "abstract function in non-abstract class" error on abstract member function of open interface - [`KT-66067`](https://youtrack.jetbrains.com/issue/KT-66067) K2: different overrides are created in a complex hierarchy with raw types and upper-bounded type parameters - [`KT-65821`](https://youtrack.jetbrains.com/issue/KT-65821) K2: \[NONE\_APPLICABLE] None of the following functions is applicable: \[constructor(message: String?): Throwable, constructor(cause: Throwable?): Throwable, constructor(): Throwable, ...] - [`KT-66268`](https://youtrack.jetbrains.com/issue/KT-66268) K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl - [`KT-63563`](https://youtrack.jetbrains.com/issue/KT-63563) K2: False negative RETURN\_TYPE\_MISMATCH with empty return - [`KT-60797`](https://youtrack.jetbrains.com/issue/KT-60797) K2: implement JAVA\_MODULE\_DOES\_NOT\_EXPORT\_PACKAGE - [`KT-28159`](https://youtrack.jetbrains.com/issue/KT-28159) Smartcasts don't work with Nothing? values (Nothing? considered a null constant => an unstable value) - [`KT-28262`](https://youtrack.jetbrains.com/issue/KT-28262) Smartcasts for reference equality don't work if explicit true check is used - [`KT-66000`](https://youtrack.jetbrains.com/issue/KT-66000) K2: inherited inline getter has not been inlined - [`KT-66158`](https://youtrack.jetbrains.com/issue/KT-66158) K2: not nullable return type for upper-bounded kotlin type parameter in KJK hierarchy - [`KT-57268`](https://youtrack.jetbrains.com/issue/KT-57268) K2: extra methods `remove` and/or `getOrDefault` are generated for Map subclasses with JDK 1.6 in dependencies - [`KT-63577`](https://youtrack.jetbrains.com/issue/KT-63577) K2: false-positive "wrong number of type arguments" error on callable reference to member of generic function's local class - [`KT-62352`](https://youtrack.jetbrains.com/issue/KT-62352) jspecify NonNull annotation seems not supported - [`KT-65636`](https://youtrack.jetbrains.com/issue/KT-65636) PowerAssert: Negative contains operator not aligned correctly in K2 - [`KT-64271`](https://youtrack.jetbrains.com/issue/KT-64271) K2: Wrong overriddenSymbols for toString of data class - [`KT-62779`](https://youtrack.jetbrains.com/issue/KT-62779) K2: Difference in fake override generation - [`KT-61941`](https://youtrack.jetbrains.com/issue/KT-61941) K2: FIR2IR incorrectly generates f/o structure for complex java/kotlin hierarchies with remapped jvm declarations - [`KT-60283`](https://youtrack.jetbrains.com/issue/KT-60283) K2: fake override for java static method is not generated - [`KT-65095`](https://youtrack.jetbrains.com/issue/KT-65095) K2: no bridge generated for getOrDefault when inheriting from Java Map implementation - [`KT-57301`](https://youtrack.jetbrains.com/issue/KT-57301) K2: `getOrDefault` and bridges are not generated for certain Map subclasses - [`KT-50916`](https://youtrack.jetbrains.com/issue/KT-50916) K2: store resolved type inside ConeStubType after builder inference - [`KT-65857`](https://youtrack.jetbrains.com/issue/KT-65857) K2: java.lang.IllegalArgumentException: Unknown visibility: unknown - [`KT-66174`](https://youtrack.jetbrains.com/issue/KT-66174) -Xjdk-release 6 and 7 have a misleading error message - [`KT-66175`](https://youtrack.jetbrains.com/issue/KT-66175) Wrong supported options list for -jvm-target compiler option - [`KT-58814`](https://youtrack.jetbrains.com/issue/KT-58814) Too eager subtype inference in when expression - [`KT-65408`](https://youtrack.jetbrains.com/issue/KT-65408) K1: "There are still 2 unbound symbols after generation of IR module" caused by data object's `copy` function usage - [`KT-65844`](https://youtrack.jetbrains.com/issue/KT-65844) False Positive "This class can only be used as an annotation or as an argument to `@OptIn`" when passing as an array - [`KT-58697`](https://youtrack.jetbrains.com/issue/KT-58697) K2: Tests: Assert no dump files exist when dump directive isn't present - [`KT-63258`](https://youtrack.jetbrains.com/issue/KT-63258) NPE with function reference from within lambda during init - [`KT-60597`](https://youtrack.jetbrains.com/issue/KT-60597) K1: IllegalArgumentException: fromIndex(0) > toIndex(-1) when wrapping receiver with backticks - [`KT-33108`](https://youtrack.jetbrains.com/issue/KT-33108) USELESS\_CAST false positive for cast inside lambda - [`KT-58458`](https://youtrack.jetbrains.com/issue/KT-58458) K1: "java.lang.NullPointerException" with 'var equals' or 'val equals' as argument in when - [`KT-58447`](https://youtrack.jetbrains.com/issue/KT-58447) K1: "AssertionError: Recursion detected on input" with `@ParameterName` and extension - [`KT-41013`](https://youtrack.jetbrains.com/issue/KT-41013) OVERLOAD\_RESOLUTION\_AMBIGUITY for functions takes lambda: can not resolve it, but only named lambda parameter - [`KT-56032`](https://youtrack.jetbrains.com/issue/KT-56032) \[LC issue] Incorrect wrapping when passing java vararg method to inline function - [`KT-65588`](https://youtrack.jetbrains.com/issue/KT-65588) K2: typealias of primitive type in vararg causes ABI incompatibility - [`KT-23873`](https://youtrack.jetbrains.com/issue/KT-23873) Indexed access operator can cause false USELESS\_CAST warning - [`KT-31191`](https://youtrack.jetbrains.com/issue/KT-31191) Contract not smartcasting for extension functions in if-statement with multiple conditions - [`KT-28725`](https://youtrack.jetbrains.com/issue/KT-28725) ReenteringLazyValueComputationException during resolution & inference - [`KT-35429`](https://youtrack.jetbrains.com/issue/KT-35429) ReenteringLazyValueComputationException when accessing property with same name - [`KT-63826`](https://youtrack.jetbrains.com/issue/KT-63826) K2: expect for expect crashes the compiler - [`KT-25668`](https://youtrack.jetbrains.com/issue/KT-25668) False-positive error on restricted suspending function call with callable reference - [`KT-18055`](https://youtrack.jetbrains.com/issue/KT-18055) SMARTCAST\_IMPOSSIBLE on mutable data class variable with a read-only property - [`KT-15904`](https://youtrack.jetbrains.com/issue/KT-15904) Improve error message when type of generic extension call is inferred from receiver - [`KT-66186`](https://youtrack.jetbrains.com/issue/KT-66186) K1 diagnostics miss some reporting messages - [`KT-65101`](https://youtrack.jetbrains.com/issue/KT-65101) Generics behaving different when parenthesized - [`KT-63444`](https://youtrack.jetbrains.com/issue/KT-63444) TYPE\_MISMATCH caused by Inner class with nullable type and star projection - [`KT-62022`](https://youtrack.jetbrains.com/issue/KT-62022) K1 False positive EXPOSED\_FUNCTION\_RETURN\_TYPE on generics with anonymous object types - [`KT-58751`](https://youtrack.jetbrains.com/issue/KT-58751) Definitely non-nullable type gets lost with star projection - [`KT-56624`](https://youtrack.jetbrains.com/issue/KT-56624) "Unresolved reference" with import alias and enum constructor call - [`KT-54726`](https://youtrack.jetbrains.com/issue/KT-54726) K1: StackOverflowError on mutually recursive typealiases - [`KT-35134`](https://youtrack.jetbrains.com/issue/KT-35134) False negative INCOMPATIBLE\_TYPES, EQUALITY\_NOT\_APPLICABLE when comparing smartcast value to Boolean - [`KT-20617`](https://youtrack.jetbrains.com/issue/KT-20617) Qualified this`@property` does not work in extension properties with body expression - [`KT-10879`](https://youtrack.jetbrains.com/issue/KT-10879) OVERLOAD\_RESOLUTION\_AMBIGUITY for synthetic property accessor with smartcasted receiver - [`KT-26768`](https://youtrack.jetbrains.com/issue/KT-26768) K1 IDE: False positive "Smart cast to '$CLASS$' is impossible", on local variable in run closure - [`KT-63525`](https://youtrack.jetbrains.com/issue/KT-63525) K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by unreachable code - [`KT-65333`](https://youtrack.jetbrains.com/issue/KT-65333) K2: UNRESOLVED\_REFERENCE for java inner class in intersection scope - [`KT-61060`](https://youtrack.jetbrains.com/issue/KT-61060) K2: Rewrite delegate inference - [`KT-63712`](https://youtrack.jetbrains.com/issue/KT-63712) Make it possible to add new stdlib API with SinceKotlin(2.0) - [`KT-63741`](https://youtrack.jetbrains.com/issue/KT-63741) K2: fix visibility inference with overridden + inherited member - [`KT-64488`](https://youtrack.jetbrains.com/issue/KT-64488) K2: False positive DEPRECATED\_ACCESS\_TO\_ENTRY\_PROPERTY\_FROM\_ENUM with context receivers - [`KT-62283`](https://youtrack.jetbrains.com/issue/KT-62283) K2: build Dokka with K2 user project and pass it to CI - [`KT-57585`](https://youtrack.jetbrains.com/issue/KT-57585) K2/MPP: false-negative errors on expect/actual modifiers mismatch - [`KT-66077`](https://youtrack.jetbrains.com/issue/KT-66077) IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKinds - [`KT-57044`](https://youtrack.jetbrains.com/issue/KT-57044) K2 LL Tests: false-positive 'Overload resolution ambiguity between candidates: \[`@Override`() fun test(): Unit , fun test(): Unit]' - [`KT-66020`](https://youtrack.jetbrains.com/issue/KT-66020) K2: ISE "IrPropertySymbolImpl is unbound. Signature: null" on a property with getter with `@JvmName` - [`KT-62135`](https://youtrack.jetbrains.com/issue/KT-62135) K2, KLIB: Classes are still sorted before serializing them to metadata - [`KT-65866`](https://youtrack.jetbrains.com/issue/KT-65866) \[K/N] Fix java.lang.IllegalArgumentException: Unknown visibility: unknown - [`KT-66005`](https://youtrack.jetbrains.com/issue/KT-66005) K2: "Should not be here: class org.jetbrains.kotlin.fir.expressions.impl.FirResolvedReifiedParameterReferenceImpl" on incorrect comparison of reified type parameter - [`KT-65840`](https://youtrack.jetbrains.com/issue/KT-65840) \[K2] Initializer type mismatch: expected 'Type', actual 'Type' - [`KT-65002`](https://youtrack.jetbrains.com/issue/KT-65002) K2: Incorrect suspend conversion if argument is an aliased functional type - [`KT-65984`](https://youtrack.jetbrains.com/issue/KT-65984) K2 scripting: failure on processing SUPPRESS annotation in the last script statement - [`KT-65680`](https://youtrack.jetbrains.com/issue/KT-65680) K2: Class redeclaration leads to BackendException during IR fake override builder - [`KT-66028`](https://youtrack.jetbrains.com/issue/KT-66028) K2: Convert FirExpectActualDeclarationChecker to platform checker - [`KT-65592`](https://youtrack.jetbrains.com/issue/KT-65592) K2: IrFakeOverrideBuilder: ISE "should not be called" on diamond hierarchy with explicit dependency on annotations.jar - [`KT-65277`](https://youtrack.jetbrains.com/issue/KT-65277) IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKinds - [`KT-65983`](https://youtrack.jetbrains.com/issue/KT-65983) K2 gradle scripting: "'val' cannot be reassigned" errors - [`KT-60452`](https://youtrack.jetbrains.com/issue/KT-60452) K2 Scripting: implement overriding of the script params - [`KT-65975`](https://youtrack.jetbrains.com/issue/KT-65975) K2: Implicit receivers resolution order in K2 scripting - [`KT-60249`](https://youtrack.jetbrains.com/issue/KT-60249) K2: No unit coercion generated for loops body - [`KT-65937`](https://youtrack.jetbrains.com/issue/KT-65937) K2: order of enum entries changed - [`KT-65933`](https://youtrack.jetbrains.com/issue/KT-65933) K2: Type missmatch in arrays in annotations - [`KT-65343`](https://youtrack.jetbrains.com/issue/KT-65343) JVM IR: Source parameter is lost when copying with DeepCopyIrTreeWithSymbols - [`KT-65103`](https://youtrack.jetbrains.com/issue/KT-65103) K2: IllegalArgumentException: IrErrorCallExpressionImpl(5388, 5392, "Unresolved reference: R?C|<local>/cont|") found but error code is not allowed - [`KT-62788`](https://youtrack.jetbrains.com/issue/KT-62788) K2: difference in annotation inheritance in overriddings - [`KT-65669`](https://youtrack.jetbrains.com/issue/KT-65669) K2: ClassCastException class FirDeclarationStatusImpl cannot be cast to class FirResolvedDeclarationStatus - [`KT-65493`](https://youtrack.jetbrains.com/issue/KT-65493) IrFakeOverrideBuilder: difference in return type for intersection with raw type - [`KT-65207`](https://youtrack.jetbrains.com/issue/KT-65207) IrFakeOverrideBuilder - nullable return type for intersection override - [`KT-65972`](https://youtrack.jetbrains.com/issue/KT-65972) Fix problems related to Unknown visibility in \[FP] intellij - [`KT-65246`](https://youtrack.jetbrains.com/issue/KT-65246) K2: Overiding java method that takes vararg parameter causes WRONG\_NULLABILITY\_FOR\_JAVA\_OVERRIDE warning - [`KT-59883`](https://youtrack.jetbrains.com/issue/KT-59883) K2: Disappeared INVALID\_IF\_AS\_EXPRESSION - [`KT-57300`](https://youtrack.jetbrains.com/issue/KT-57300) K2: subclass of MutableCollection with primitive element type has methods with boxed type - [`KT-58476`](https://youtrack.jetbrains.com/issue/KT-58476) Context receivers: "No mapping for symbol: VALUE\_PARAMETER" with context-receiver inside suspended lambda calling another suspended function - [`KT-52213`](https://youtrack.jetbrains.com/issue/KT-52213) Context receivers: "No mapping for symbol: VALUE\_PARAMETER" caused by contextual suspending function type with receiver - [`KT-56545`](https://youtrack.jetbrains.com/issue/KT-56545) Fix incorrect functions mangling in JVM backend in case of accidental clashing overload in a Java subclass - [`KT-13650`](https://youtrack.jetbrains.com/issue/KT-13650) Right-hand side of a safe assignment is not always evaluated, which can fool smart-casts - [`KT-61823`](https://youtrack.jetbrains.com/issue/KT-61823) K2: Render list of declarations in diagnostic messages with linebreak as separator - [`KT-65302`](https://youtrack.jetbrains.com/issue/KT-65302) IrFakeOverrideBuilder - missing `@EnhancedNullability` - [`KT-65241`](https://youtrack.jetbrains.com/issue/KT-65241) K2: \[LT] Compiler crash on assignment expression with incorrect lvalue - [`KT-60006`](https://youtrack.jetbrains.com/issue/KT-60006) K2: Disappeared EXPRESSION\_EXPECTED - [`KT-65817`](https://youtrack.jetbrains.com/issue/KT-65817) K2: Check if callable reference vararg adaption can be affected by primitive type aliases - [`KT-62847`](https://youtrack.jetbrains.com/issue/KT-62847) K2: Introduce FIR node for SAM conversion - [`KT-65920`](https://youtrack.jetbrains.com/issue/KT-65920) K2: no field for delegation is created - [`KT-65487`](https://youtrack.jetbrains.com/issue/KT-65487) K2: Different fake overrides and false positive NOTHING\_TO\_OVERRIDE for intersection/override with Collection.remove - [`KT-65460`](https://youtrack.jetbrains.com/issue/KT-65460) Don't compare order of functions in IR dump - [`KT-64276`](https://youtrack.jetbrains.com/issue/KT-64276) \[K/N]\[K2] K2 behaviorial difference with inconsistent inheritance of ObjCName - [`KT-65572`](https://youtrack.jetbrains.com/issue/KT-65572) \[K/N]\[K2] INCOMPATIBLE\_OBJC\_NAME\_OVERRIDE error message changed from K1 - [`KT-63420`](https://youtrack.jetbrains.com/issue/KT-63420) Prevent weakening visibility in implicit overrides - [`KT-64635`](https://youtrack.jetbrains.com/issue/KT-64635) K2: "KotlinIllegalArgumentExceptionWithAttachments: Expected expression 'FirAnonymousFunctionExpressionImpl' to be resolved" when provideDelegate is extension of function with receiver - [`KT-63879`](https://youtrack.jetbrains.com/issue/KT-63879) K2: Redundant flag `declaresDefaultValue` for parameter of function inherited from delegate - [`KT-56744`](https://youtrack.jetbrains.com/issue/KT-56744) Prepare language committee ticket about DFA/Smart-cast related changes in K2 - [`KT-65790`](https://youtrack.jetbrains.com/issue/KT-65790) K2: Move check for *private-to-this* visibility into checker - [`KT-65551`](https://youtrack.jetbrains.com/issue/KT-65551) K2: Property redeclaration on native compilation leads to NotImplementedError - [`KT-65770`](https://youtrack.jetbrains.com/issue/KT-65770) K2: Diagnostic rendering of `vararg Foo` parameter produces `vararg Array<Foo>` - [`KT-65555`](https://youtrack.jetbrains.com/issue/KT-65555) K2: must override 'spliterator' because it inherits multiple implementations for it - [`KT-59921`](https://youtrack.jetbrains.com/issue/KT-59921) K2: Disappeared NULL\_FOR\_NONNULL\_TYPE - [`KT-65290`](https://youtrack.jetbrains.com/issue/KT-65290) K2: No override for FUN DEFAULT\_PROPERTY\_ACCESSOR - [`KT-19446`](https://youtrack.jetbrains.com/issue/KT-19446) False positive "Smart cast to 'Foo' is impossible" due to same variable names in different closures - [`KT-65337`](https://youtrack.jetbrains.com/issue/KT-65337) K2: False positive UNRESOLVED\_REFERENCE when lambda labeled by illegal label and operator-invoked - [`KT-65448`](https://youtrack.jetbrains.com/issue/KT-65448) K2: fake overrides are not generated for 'containsAll', 'removeAll', 'retainAll' if inherited from raw type - [`KT-65298`](https://youtrack.jetbrains.com/issue/KT-65298) K2: not nullable return type and parameter for raw types - [`KT-63377`](https://youtrack.jetbrains.com/issue/KT-63377) K2: conflict between type parameter and nested class - [`KT-63286`](https://youtrack.jetbrains.com/issue/KT-63286) K2: Top-level properties in scripts are missing initialization checks - [`KT-59744`](https://youtrack.jetbrains.com/issue/KT-59744) K2: false negative VAL\_REASSIGNMENT in case of reassignment inside custom setter - [`KT-58579`](https://youtrack.jetbrains.com/issue/KT-58579) K2: false-positive new inference error on invoking a generic function on Java wildcard type bounded by raw-typed Java inner class - [`KT-60258`](https://youtrack.jetbrains.com/issue/KT-60258) Support java-kotlin interop for `@SubclassOptInRequired` - [`KT-60262`](https://youtrack.jetbrains.com/issue/KT-60262) Support for inter-module interaction for `@SubclassOptInRequired` - [`KT-62878`](https://youtrack.jetbrains.com/issue/KT-62878) K2: missing implicit coercion to unit - [`KT-59715`](https://youtrack.jetbrains.com/issue/KT-59715) K2: Check behaviour of property + operator in operator position - [`KT-63441`](https://youtrack.jetbrains.com/issue/KT-63441) IrFakeOverrideBuilder: "accidental override" when implementing a Java function taking an array parameter - [`KT-65706`](https://youtrack.jetbrains.com/issue/KT-65706) K2: IrFakeOverrideBuilder: ISE "Fake override should have at least one overridden descriptor" on J-K-J-K hierarchy with interface delegation - [`KT-61362`](https://youtrack.jetbrains.com/issue/KT-61362) K2: Properties/fields are missing from system libraries - [`KT-63344`](https://youtrack.jetbrains.com/issue/KT-63344) K2: False positive ABSTRACT\_CLASS\_MEMBER\_NOT\_IMPLEMENTED - [`KT-58845`](https://youtrack.jetbrains.com/issue/KT-58845) K2: SAM checker can run incorrectly in presence of an expect supertype - [`KT-61843`](https://youtrack.jetbrains.com/issue/KT-61843) K2: Missing TYPE\_MISMATCH for nested array literals - [`KT-62752`](https://youtrack.jetbrains.com/issue/KT-62752) expect-actual matcher/checker: return type must be "checking" incompatibility - [`KT-59887`](https://youtrack.jetbrains.com/issue/KT-59887) K2: Disappeared ACTUAL\_MISSING - [`KT-65604`](https://youtrack.jetbrains.com/issue/KT-65604) K2: INAPPLICABLE\_JVM\_NAME: effective modality - [`KT-65637`](https://youtrack.jetbrains.com/issue/KT-65637) Prepare documentation for PCLA implementation - [`KT-65341`](https://youtrack.jetbrains.com/issue/KT-65341) K2: "Cannot find cached type parameter by FIR symbol" caused by not-null assertion operator inside string in throw - [`KT-49283`](https://youtrack.jetbrains.com/issue/KT-49283) Support contribution type info from a nested builder inference call - [`KT-64077`](https://youtrack.jetbrains.com/issue/KT-64077) K2: Builder inference ignores constraints from nested builder inference - [`KT-49160`](https://youtrack.jetbrains.com/issue/KT-49160) Couldn't infer a type argument through several builder inference calls broken by a local class - [`KT-63827`](https://youtrack.jetbrains.com/issue/KT-63827) K2: Array += desugaring doesn't have origin - [`KT-65057`](https://youtrack.jetbrains.com/issue/KT-65057) K2: Wrong type inferred in code with heavy use of generics - [`KT-63514`](https://youtrack.jetbrains.com/issue/KT-63514) ISE “Inline class types should have the same representation: \[I != I” during compilation on submitting UIntArray to vararg - [`KT-61088`](https://youtrack.jetbrains.com/issue/KT-61088) K2: return types of non-last-expression calls to `@PolymorphicSignature` methods inside try-expressions don't resolve to void when required - [`KT-62476`](https://youtrack.jetbrains.com/issue/KT-62476) K2: Enable building fake overrides by ir on non-JVM targets - [`KT-59839`](https://youtrack.jetbrains.com/issue/KT-59839) Prohibit `header` and `impl` in MPP - [`KT-61310`](https://youtrack.jetbrains.com/issue/KT-61310) K2: "Not enough information to infer type variable R" for transformLatest - [`KT-63733`](https://youtrack.jetbrains.com/issue/KT-63733) Builder-style type inference can't resolve to extension overloads when they're more applicable than member ones - [`KT-57707`](https://youtrack.jetbrains.com/issue/KT-57707) K1: inconsistent TYPE\_MISMATCH in builder inference - [`KT-55057`](https://youtrack.jetbrains.com/issue/KT-55057) Builder inference changes behaviour sporadically based on BI annotation on unrelated call - [`KT-60663`](https://youtrack.jetbrains.com/issue/KT-60663) Builder inference does not work inside a nested unrelated builder inference lambda - [`KT-53639`](https://youtrack.jetbrains.com/issue/KT-53639) TYPE\_MISMATCH: compiler can't infer the list's type when using `buildList {}` builder or `Collection#isNotEmpty` - [`KT-60291`](https://youtrack.jetbrains.com/issue/KT-60291) K2: "IllegalStateException: Cannot serialize error type: ERROR CLASS: Cannot infer argument for type parameter T" during FIR serialization - [`KT-65033`](https://youtrack.jetbrains.com/issue/KT-65033) K2: Fir2LazyIr: Lazy type aliases not supported - [`KT-57709`](https://youtrack.jetbrains.com/issue/KT-57709) Inconsistent extension function call resolution in builder inference - [`KT-53740`](https://youtrack.jetbrains.com/issue/KT-53740) Builder inference with multiple lambdas leads to unsound type - [`KT-60877`](https://youtrack.jetbrains.com/issue/KT-60877) Builder inference from the null literal results in Nothing instead of Nothing? for producing positions of the postponed type variable - [`KT-53553`](https://youtrack.jetbrains.com/issue/KT-53553) Builder inference: inconsistent types in different lambda scopes - [`KT-54400`](https://youtrack.jetbrains.com/issue/KT-54400) K2: builder inference does not work with assignments of literals to member properties - [`KT-63840`](https://youtrack.jetbrains.com/issue/KT-63840) Builder inference fails on calls to identity-shaped functions with postponed type variables inside select-constructions - [`KT-65262`](https://youtrack.jetbrains.com/issue/KT-65262) K2: Exception in DFA for combination of try-finally + PCLA + DI - [`KT-58169`](https://youtrack.jetbrains.com/issue/KT-58169) K2: make equals bounded smart casts work the same as in K1 - [`KT-64967`](https://youtrack.jetbrains.com/issue/KT-64967) K2: false positive TYPE\_MISMATCH with generic type parameters - [`KT-64102`](https://youtrack.jetbrains.com/issue/KT-64102) K2: Missing (disappeared in this case) DELEGATE\_USES\_EXTENSION\_PROPERTY\_TYPE\_PARAMETER\_ERROR - [`KT-63988`](https://youtrack.jetbrains.com/issue/KT-63988) K2: Reflection cannot find type of local class of local class - [`KT-63901`](https://youtrack.jetbrains.com/issue/KT-63901) K2: Different naming of inner class in metadata - [`KT-63655`](https://youtrack.jetbrains.com/issue/KT-63655) K2: incorrect short class name in metadata for anonymous object inside a local class - [`KT-59664`](https://youtrack.jetbrains.com/issue/KT-59664) Inline modifier can be added to a constructor parameter, but it does not have any effect - [`KT-59418`](https://youtrack.jetbrains.com/issue/KT-59418) K2: Missing DUPLICATE\_PARAMETER\_NAME\_IN\_FUNCTION\_TYPE - [`KT-63612`](https://youtrack.jetbrains.com/issue/KT-63612) K2: Class is not abstract and does not implement abstract member - [`KT-63737`](https://youtrack.jetbrains.com/issue/KT-63737) Wasm: revise external declaration FE checker for WASI mode - [`KT-59782`](https://youtrack.jetbrains.com/issue/KT-59782) K2: Forbid local delegated properties with private accessors in public inline functions - [`KT-65482`](https://youtrack.jetbrains.com/issue/KT-65482) K2: NoSuchFieldError due to using unboxed type - [`KT-61182`](https://youtrack.jetbrains.com/issue/KT-61182) Unit conversion is accidentally allowed to be used for expressions on variables + invoke resolution - [`KT-62998`](https://youtrack.jetbrains.com/issue/KT-62998) Forbid assignment of a nullable to a not-null Java field as a selector of unsafe assignment - [`KT-63208`](https://youtrack.jetbrains.com/issue/KT-63208) K2: Implement deprecation cycle and fix missing errors for error-level nullable arguments of warning-level Java types - [`KT-57600`](https://youtrack.jetbrains.com/issue/KT-57600) Forbid overriding of Java method with raw-typed parameter with generic typed parameter - [`KT-63147`](https://youtrack.jetbrains.com/issue/KT-63147) K2: False negative DSL\_SCOPE\_VIOLATION when member is annotated with `@LowPriorityInOverloadResolution` - [`KT-62134`](https://youtrack.jetbrains.com/issue/KT-62134) K2: handle non-simple types during FirStatusResolver.isPrivateToThis check - [`KT-42020`](https://youtrack.jetbrains.com/issue/KT-42020) Psi2ir: IllegalStateException: "IrSimpleFunctionPublicSymbolImpl for public \[...] is already bound" on generic function whose substitution leads to IdSignature clash ##### See the full 2.0.0 ChangeLog here - <https://github.com/JetBrains/kotlin/blob/2.0.0/ChangeLog.md> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDQuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEwNC4xIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6W119-->
Update kotlin.version to v2
All checks were successful
Build and Publish / build (push) Successful in 3m21s
ff4158aa49
All checks were successful
Build and Publish / build (push) Successful in 3m21s
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/major-kotlin.version:renovate/major-kotlin.version
git switch renovate/major-kotlin.version

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch develop
git merge --no-ff renovate/major-kotlin.version
git switch renovate/major-kotlin.version
git rebase develop
git switch develop
git merge --ff-only renovate/major-kotlin.version
git switch renovate/major-kotlin.version
git rebase develop
git switch develop
git merge --no-ff renovate/major-kotlin.version
git switch develop
git merge --squash renovate/major-kotlin.version
git switch develop
git merge --ff-only renovate/major-kotlin.version
git switch develop
git merge renovate/major-kotlin.version
git push origin develop
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
midas/harena!17
No description provided.