Changelog
Analysis API. FIR
New Features
KT-78090Implement stubs support for new conditional returns and holdsIn contracts
Fixes
KT-80485False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous objectKT-82948'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'KT-82057K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response typeKT-82772Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE modeKT-76487StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstableKT-82618Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25KT-82076Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysisKT-71596Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollectorKT-82085No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDEKT-81873Provide a way of including traces in phase JFR eventsKT-71929Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions
Analysis API. Infrastructure
KT-65140LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIRKT-82212[Analysis API, LL FIR] Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR
Analysis API. Light Classes
KT-82227Value classes should expose regular static methods
Analysis API. PSI
KT-81710'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdasKT-82258Prepare PSI for migration from context receivers to context parametersKT-81074KDoc: List rendering is broken
Analysis API. Providers and Caches
KT-82449K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)KT-82629'collectDiagnostics' returns stale syntax error after editor fixKT-74907Analysis API: Apply platform-based library module content restrictions consistently
Analysis API. Standalone
KT-81107AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links
Analysis API. Stubs and Decompilation
KT-82792Stub for KtValueArgumentList inside KtAnnotationEntry should be present if it is present in psiKT-82527TypeClsStubBuilder.createFunctionTypeStub throws NullPointerExceptionKT-82558Deserialized DNN type should have a fully qualified AnyKT-81928KaArrayAnnotationValueImpl.values missing first elementKT-82139Support contracts for property accessorsKT-82198Support context parameters in contracts
Analysis API. Surface
New Features
KT-82851Property accessors should inherit KDoc from the parent propertyKT-63339Analysis API: Provide a way to extract KDoc for symbolsKT-79070KaTypeProvider: add API to build a default type with star projectionsKT-66566AA: api to create functional typesKT-66043KtTypeCreator doesn't provide a way for creating annotated types
Performance Improvements
KT-81627KaFirSymbolDeclarationOverridesProvider#processOverrides should process only relevant declarations
Fixes
KT-68577asPsiTypeandmapTypeToJvmType: leading delimiter for class in a root packageKT-81734MIssing "ARGUMENT_TYPE_MISMATCH" caused by self-referential generic typeKT-82856Redesign KotlinReferenceProviderContributor to make it extensibleKT-82615ClarifyKtReference#resolvesByNamescontractKT-82534No expected type for property accessor without bodyKT-82406Add a test to ensure that all top-level classes in the Analysis API Surface haveKaprefixKT-78397investigate if there is a need in Extra support for the "various little features in contracts"KT-74009Analysis API: Expose "isOverloadable" check for callable symbols similar to "OverloadChecker.isOverloadable"KT-78399Check return value - check how we see from Java(+Stub) we see “annotated” signaturesKT-80357[Analysis API]KaType.enhancedTypedoesn't enhance type parametersKT-73659Analysis API: The name ofKaType.enhancedTypeis too generalKT-80545[Analysis API] DeprecateKaFunctionType.arityKT-77708K2 Mode: Potentially redundant smart cast highlighing when passing smartcasted expressions as argumentsKT-81264K2 AA:KaValueParameterSymbol.hasDefaultValueis false for overriding or actual functionsKT-81166Forbid the usage of KaSessionComponent implementation types directlyKT-74801Analysis API: Publish/subscribe to modification events with a single message bus topic
Backend. Native. Debug
KT-81741Native: stepping into data class hashCode in lldb goes to line 1
Backend. Wasm
New Features
KT-81485[Wasm] DebuggerCustomFormatters generation support for single module modeKT-81483[Wasm] Typescript generation support for single module modeKT-81484[Wasm] Dwarf generation support for single module mode
Performance Improvements
KT-81524Unnecessary Any-JsAny conversions are generated for external instanceofs
Fixes
KT-79937K/Wasm: support kotlin.js.nativeInvoke annotationKT-82202[Wasm] SourceMap generation support for single module modeKT-82162[Wasm] Run single module tests with standalone vm'sKT-81325[Wasm] Remove string pool initialiser dependent codeKT-82645K/Wasm: wasmJs use js "String" for number2String conversionKT-73238K/Wasm: stop using linear memory inside our codeKT-83025Wasm: Compose application is not loadingKT-73240K/Wasm: consider using JS String Builtins proposal in String implementation for wasm-js targetKT-73239K/Wasm: use JS String Builtins proposal to transfer strings to and from JSKT-83046K/Wasm: don't use StringBuilder implicitly for string concatenationsKT-82309K/Wasm: refactor _initialize functionKT-83194K/Wasm: create WasmIR test infrastructureKT-65234K/Wasm Ensure that fp operations are aligned with other b-endsKT-81856K/JS/Wasm interop: external instanceofs do not link in singleModule modeKT-81610[Wasm] Add CLI test for performance metrics for klibs->binary scenarioKT-81550Incorrect generation of .wat filesKT-71533K/Wasm + K2: no error on KClass::qualifiedName usages
Compiler
New Features
KT-82467Improve binary and JVM compatibility by generating bridges for abstract interface methodsKT-74223Move Kotlin/Native TestProcessor phase to the first phaseKT-13968Support vertx nullable annotationKT-79656Useorg.jetbrains.annotations.UnmodifiableViewand/ororg.jetbrains.annotations.Unmodifiableto infer read-only types for Java entitiesKT-27090Support contracts in getter and setter for top-level extension propertiesKT-81684Implement explicit passing of context arguments using named syntax [TEST_ONLY]KT-79330Implement the first version of inference for Collection LiteralsKT-74809Support unnamed local variablesKT-45683Allow generics in contract type assertions
Performance Improvements
KT-81974Do not eagerly initialize reflection for KProperty objects for delegated propertiesKT-80061Compiler (or IDEA) hangs due to importing large Kotlin reflect functions (e.g. KFunction999999999)KT-68592Investigate performance implications of enabling -Xjvm-default for ir.tree moduleKT-71673Consider making EnhancementSymbolsCache. enhancedFunctions using simple cache
Fixes
KT-81951K2: Another false positive "Assigned value is never read" in composable functionKT-68606Argument type mismatch, despite being from the same star-projected typeKT-74051Add a Continuation for tail-call suspend functionsKT-5486Better errors for integers with leading zeroKT-83031K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused codeKT-83153Properly ignore contract statements in the Return Value CheckerKT-78443Refactor session component initialization for multi-target compilationKT-83076Don't reportWRONG_JS_INTEROP_TYPEon expect types during metadata compilationKT-82640K2: CCE on green codeKT-82684"Don't know how to compile annotation value ERROR_EXPR" on incorrect array literal in annotation default argumentsKT-81948K2: ClassCastException: "java.lang.String cannot be cast to java.lang.Void" when calling@NullableJava functionKT-82841"kotlin.NoWhenBranchMatchedException" inwhenwith!ischeck & non-sealed class in the middle of hierarchyKT-82844"when" with no branches does not evaluate subject (side effects ignored)KT-81625Incorrect empty parameters parsing (comma is highlighted in red)KT-81193K2: SOE fromAbstractTypeApproximator.approximateToSuperTypewith local enum classKT-65059Stack overflow when typechecking an Elvis expression with deeply generic valuesKT-82849Collection literals (minor): collection literal should only be resolved to operatorKT-82555@Deprecated(HIDDEN)` objects not skipped when resolving qualifiersKT-82737Leaked type variable in diagnostic when top-level lambda with uninferred type parameter has non-functional expected typeKT-78019Change K1 API deprecation level from Warning to ErrorKT-82683K2: FIR2IR: compile-time JVM codegen failure on an argument of function subtype for a KSuspendFunction parameterKT-82671Do not report ignorability mismatch on override/actualization if the function returns Unit typeKT-82506Misleading compilation warning: "This class is not recommended for use in Kotlin. Use 'java.util.Map' instead"KT-52498Test privateSuperType.kt is failing with caches enabledKT-82579Update specificity rule for context parametersKT-82336Header mode: Cannot infer argument for type parameter TKT-69326Inference chooses controversial order to fix variablesKT-82545Handle data class with extra components in migration warning for name-based destructuringKT-82303Improve UNSUPPORTED_FEATURE message when compiler argument has a parameterKT-82524Access to a companion that requires opt-in is possible without opt-inKT-81866K2: False positive ILLEGAL_RESTRICTED_SUSPENDING_FUNCTION_CALL caused by smart-casted@RestrictsSuspensionreceiverKT-13412Improve error message on callable reference with expression of nullable typeKT-82466KotlinIllegalArgumentExceptionWithAttachment when return is used in explicit delegation expressionKT-82454Local types aren't approximated in public declaration typesKT-82487False positive REDUNDANT_VISIBILITY_MODIFIER inside private classKT-82369[K2 REPL] Crash in the serialization plugin backend with "unable to transform declaration"KT-62900K2: Expected expression to be resolved during Fir2IrKT-81941IllegalArgumentException: class org.jetbrains.kotlin.psi.KtValueArgument is not a subtype of class org.jetbrains.kotlin.psi.KtExpression for factory POSITIONED_VALUE_ARGUMENT_FOR_JAVA_ANNOTATIONKT-80741Fix rendering of inner classes with generic outer classesKT-82331Do not propagate context parameters from classes to constructorsKT-77276K2: Wrong scope for annotation arguments for the parameters of a secondary constructor headerKT-77275Inconsistency between scopes for primary/secondary constructor headersKT-15152Improve error message for unresolved reference for delegation specifier and primary constructor callKT-72994K2: Remove resolution to context receiversKT-81498Make Kotlin/Native stdlib in distribution reproducibleKT-81408Allow local-variable-target annotations on destructuring declarationsKT-82012Annotations without parentheses on full form of name-based destructuring don't workKT-81915Exception when analysing 'when' expression with annotated expression as a subjectKT-78364Static methods are not generated for companion object JvmStatic property accessors with JvmExposeBoxedKT-81838Prohibit usage of nested type aliases (from lib) for sources with LV < 2.3KT-81357Forbid compilation of code with explicit root_ide_package in CLI modeKT-73138K2: "Assignment type mismatch" when class name is underscore_KT-82169Add quotes to message of WRONG_NUMBER_OF_TYPE_ARGUMENTSKT-78386JvmExposeBoxed (with no name) + JvmOverloads + JvmName produces ambiguityKT-78358Propagated JvmExposeBoxed annotation doesn't copy JvmName argumentKT-81699Move native klib compilation to a separate moduleKT-81692Decouple compilation of Native klib from the Native backendKT-80673Consider forbidding/minimizing usages of ClassId.isLocal and CallableId.isLocalKT-81376False negative UNEXPECTED_TRAILING_LAMBDA_ON_A_NEW_LINE & bad positioningKT-81946false-positive JAVA_CLASS_ON_COMPANION in case of an explicit companion referenceKT-74461K2: Render function types nicelyKT-49722Report NOT_YET_SUPPORTED_IN_INLINE for inherited default parameters with inline functionKT-81913Inapplicable candidate when vararg-adaption for callable reference might be used (array parameter)KT-81841Inapplicable 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 referenceKT-81896Improve RedundantCallOfConversionMethod inspection for@UnsafeNumberannotated typealiasesKT-66413Incorrect line mapping in suspendable code before suspend call without parametersKT-80525Update IntelliJ SDK dependency to 251.27812.49KT-81808Setting hasDefaultValue = true in irValueParameter() crashes the compilerKT-78927False positive 'USELESS_JVM_EXPOSE_BOXED'KT-81703Drop obsolete K1 frontend code from Kotlin/NativeKT-81698DecoupleSpecialBackendChecksTraversalfrom Native backendKT-81555Kotlin scripts: top-level name-based destructuring with _ = prop fails with “exception while generating code”KT-81687Different LightTree and PSI outputs when annotated class-like declaration is used as an expressionKT-81302False positive: Type Mismatch caused by context parameters, lambdas, and genericsKT-81584IAE "Collection contains more than one matching element" in FirElementSerializer on contextual property with same name as primary value class propertyKT-77237JvmExposeBoxed breaks compilation with a secondary constructor with value classKT-81262False positive: Access declaration type exposure: during access to public function class from internal inline declarationKT-80112Kotlin Debugger: “Cannot find local variable” on evaluating default lambda inside inline functionKT-76806K2: AIOOBE in FirEqualityCompatibilityCheckerKT-81693Introduce lightweight versions of KonanConfig and PhaseContextKT-72446K/N: inline function's default values aren't lowered with cachesKT-81521Anonymous function in context parameters breaks parserKT-80853Class reference in context parameters breaks parserKT-81441Missing type checks when class has deeply generic supertypeKT-79116Wrong parameter arguments mapping (compiler skips empty arguments)KT-81422False negative in full-form name-based destructuring: annotations before val/var not rejectedKT-80652K2: USELESS_IS_CHECK is not detected inwhenKT-81553INITIALIZER_TYPE_MISMATCH and ASSIGNMENT_TYPE_MISMATCH is reported on the entire initializerKT-80049MangleERROR_TYPEs in diagnostics reported to userKT-81567Add a use-site warning if a@DslMarker-marked annotation is used on entities where it is a no-opKT-71854K2 IDE. False positive red code because of external annotation on a generic parameterKT-73786Evaluator: cannot evaluate inline methods with reified parameterKT-75828Store backing field/delegate annotations and extension receiver annotations in metadataKT-42824FIR: false INAPPLICABLE_CANDIDATE when using in variance on a Java class
Compose compiler
b/461766771FixIrSimpleFunction.isLegacyOpenFunctionWithDefaultb/458234821Disable Compose K1 tests on CIb/456948687Force resolution of declarations when looking up SAM functions in FIRb/445426829Add a diagnostic forkeycall with no arguments
IR. Actualizer
KT-82418KMP Separate Compilation: NPE caused by actualization of NsCalendar.getEraKT-82313ACTUAL_ANNOTATION_CONFLICTING_DEFAULT_ARGUMENT_VALUE checks throwconflicting values in expected and actual annotations
IR. Inlining
Fixes
KT-80791classFunctionsAndFieldsWithCrossModuleInliner fails per-file with cross-module inlinerKT-80696Can not get instance of singleton 'Obj': No class found for symbolKT-81766K/N: Recursive inline expect/actual causes StackOverflowErrorKT-80953[Inliner] Eliminate excessive IMPLICIT_CAST after IR Inliner on 2nd stage.KT-82065IR inliner: Inline function's default value argument may get wrong offsets in a temporary variableKT-81753Review diagnosticReporters usage in pre-serialization loweringsKT-80793TestfriendDependencyWithCrossModuleInlinerfails per-file with cross-module inlinerKT-80698[IC][WASM] Mismatched file statsKT-80697[IC][JS per file] Mismatched rebuilt modulesKT-80660[Inliner] Bodyless functions should not be inlined at 1st compilation stageKT-79064Try to get rid ofTypeOfPostProcessor
IR. Interpreter
KT-80646Enable unsigned conversion functions when bootstrapped compiler is available
IR. Tree
KT-82829IR deserializer: Don't deserialize any fake overrides from KlibsKT-80243Support Name Based Destructuring in loop with withIndex()KT-79436KLIB stdlib symbols loading: Drop all functions from SymbolFinder except for loading the whole collection of (potentially unbound) symbols by nameKT-79435KLIB stdlib symbols loading: Load symbols and and filter/map them lazily in BuiltinSymbolsBase hierarchy when accessed by IRKT-69082Migrate maps of IR elements to IR attributesKT-67457Introduce a way to simplify IR lowering phase creation
JVM. Reflection
New Features
KT-22265Support for inherited annotations
Fixes
KT-81024Reflection: New KType implementation fails on arguments comparison for a Nothing type parameterKT-57357Reflection: "KotlinReflectionInternalError" when usingcallByon constructor that has inline class parameter with nullable valueKT-82699Reflection: incorrect behavior of KFunction.isExternal for Java native methodsKT-82350Reflection: incorrect behavior of KType.javaType on a type obtained from KType.withNullabilityKT-29203KType.javaType always returns void class for local delegated propertyKT-81899Reflection: incorrect javaType for local delegated property setter return typeKT-82093Reflection: IAE from defaultType for inner class of generic classKT-77312KotlinReflectionInternalError: "Container of deserialized member is not resolved" on computing type parameter captured in a local delegated propertyKT-82316Reflection: type parameters of top-level declarations behave incorrectlyKT-81987Reflection: error when calling function in inline class with inherited default valueKT-81870Reflection: Error when calling function with default parameters and extension receiverKT-81880Reflection: Error when calling function with default & context parametersKT-81907Reflection: incorrect result when calling function with default values and context parametersKT-81859Reflection: do not use descriptors in ValueClassAwareCallerKT-81854Reflection: incorrect type for instance receiver of inner class constructorKT-81855Reflection: IAE "object is not an instance of declaring class" on function with context and extension receiver of inline classKT-81843Reflection: NPE on accessing property accessor returnType for Java fieldKT-81588Reflection: KotlinReflectionInternalError "Inconsistent number of parameters" on calling contextual declaration with value class type in the signatureKT-81111Reflection: suspend function types are loaded incorrectly by the new implementationKT-81206Reflection: non-substituted Function type in suspend function supertypesKT-81804Reflection: remove support for multi-field value classesKT-81664Reflection: IAE "argument type mismatch" on calling member extension with value class in the signature
JavaScript
New Features
KT-54504K/JS: Support ECMAScript tagged string templatesKT-82327KJS: Export parameter names of function types if present in .d.ts filesKT-82371KJS: Generate more concrete TypeScript for members of an uninhabited enum
Performance Improvements
KT-16379KotlinJs - ArrayList get is now slow
Fixes
KT-67460Use new lowering phase creation API in JS backendKT-82667Kotlin/JS: ESM TypeScript definitions for exported nested Enums do not compileKT-82553KJS: Incorrect .d.ts generated for generic inner classesKT-82652KJS: Exported abstract inner classes can be constructed from TypeScriptKT-82542KJS: Inner class can be constructed from TypeScript without passing an outer instanceKT-82499KJS: Omit parameters in private constructors in .d.ts filesKT-82263Implement exporting top-level properties in Analysis API-based TypeScript ExportKT-82362KJS: Incorrect types generated in .d.ts for JsName-annotated enum entryKT-82262Implement exporting top-level functions in Analysis API-based TypeScript ExportKT-82144K/JS: 'meta' identifier usage in js() inline calls prevents expression from parsingKT-82149K/JS:newcalls without arguments produce exceptions in js() inline callsKT-81730Optimize suspend functions compilations via JS generatorsKT-78742Investigate the usage of the ANTLR-generated parser for thejsfunctionKT-79243[JS] Drop K1-specific tests, testrunners and test directives
Klibs
New Features
KT-83101Implement experimental KLib ABI dump parser
Fixes
KT-81466Enable KlibAnnotationsInMetadata by default in LV 2.5KT-83071Failure on Native NightlyKT-78365[PL] Change the behavior of getting name of removed functionKT-81977Klib compatibility tests: Implement sanity checksKT-81410Klib metadata: migrate to using the common annotations instead of klib-specific extensions in kotlinx-metadata-klibKT-82577Don't use KLIB resolver in the KLIB toolKT-82208K/Wasm: allow using newer stdlib with older compilerKT-82213IR linker doesn't complain when a private value class constructor is used from another moduleKT-81955[JS] Support testing of forward compatibility with export in previous versionKT-81003KLIBs: Eliminate excessive implicit casts in common prefix on the 1st stageKT-81670K/N: Many Section still use none cacheable zip when Xklib-zip-file-accessor-cache-limit flag setKT-80910[Klib] Ensure serialized source coordinates are correctKT-81954[JS] All forward compatibility tests failKT-81709[KLIB Reproducibility] KLIB zip file generation is non-deterministic due to unsorted file system traversalKT-81474[Tests][Klibs] Migrate Klib evolution tests to PL tests engine
Language Design
KT-73502Context parameters: it is not possible to declare local function with a context
Libraries
KT-78115Investigate the current situation with 22kotlin.contextstandard library overloadsKT-83026Specify compareTo behavior for BooleanKT-79093Expose FirResolvedStatus.hasMustUseReturnValue in kotlin-metadataKT-82868Restore accidentally deleted JS-specific note in ArrayList documentationKT-81563Document kotlin.collections.HashMap and HashSetKT-82363AddassertIsto the list of ignorable functionsKT-81562Document kotlin.collections.ArrayListKT-60535Mark SubclassOptInRequired and RequiresOptIn with MustBeDocumentedKT-52400Deprecate@BuilderInferenceKT-64649Add explanation to "A compileOnly dependency is used in the Kotlin/Native target" warning message
Native
KT-81828Update exception messages regarding disabling native cacheKT-75806KN Compiler with debug build can not produce executable with debug infoKT-81495Consider making Kotlin/Native distribution compiler cache reproducibleKT-82387Kotlin <-> Xcode compatibility issueKT-81501Make Kotlin/Native distribution runtime .bc and fingerprint reproducibleKT-80790'Argument list too long' error when using dynamic_cachesKT-48566ExceptionInInitializerError when configuring Gradle project with kotlin-multiplatform plugin on a host unsupported by Kotlin/Native
Native. Build Infrastructure
KT-82886KonanTarget's clinit causes deadlockKT-81345Temporary turned off Swift Export execution testsKT-80869Extract per-module test generators for Native testsKT-82028Kotlin/Native: move runtime building flags to runtime building codeKT-81500Make Kotlin/Native distribution shared libraries reproducibleKT-72011Kotlin/Native: consider building platform libraries with bootstrap compilerKT-81666Kotlin/Native: build stdlib with the bootstrap compiler
Native. C and ObjC Import
KT-79741Native: implement type checking against Objective-C protocols withoutprotocolGetterKT-83039Native: mark header-defined functions and globals unavailable with-Xccall-mode directKT-82200Native: implement type checking against Objective-C protocols withobjc_runtime_namewithoutprotocolGetterKT-82669Kotlin/Native: cinterop tests failure with no class for metaclassKT-79742Native: import C global variables without C wrappersKT-81937Native: switch cinterop to-Xccall-mode bothby default for custom cinterop klibsKT-81548Native: compiler doesn't sanitize CCall.Direct symbol names in C stubsKT-81538Native: InteropBridgesNameInventor doesn't handle legitimate '$' characters in function namesKT-81017Native: compiler can't call CCall.Direct with '$' in the symbol name
Native. ObjC Export
KT-82160K/N: bridge for fake override is not built but requestedKT-83014Native: experimental support for generating an NS_ENUM in addition to an Objective-C class for Kotlin classesKT-76637ObjCExport: K1 + K2 integration test
Native. Runtime
KT-82077Kotlin/Native: in runtime make main module depend on mm module
Native. Runtime. Memory
KT-81152Kotlin/Native: deprecate isMemoryLeakCheckerActiveKT-81156Kotlin/Native: deprecate forceCheckedShutdown
Native. Swift Export
KT-82908Swift Export: bridges for FT should be recursiveKT-82907Swift Export: attributes are not printed for parameters of closuresKT-80971Swift Export: Support exception throwingKT-80970Swift Export: Support cancellationKT-82726Swift Export: filters out wrong module for coroutinesKT-81591Custom type translation rules in Swift exportKT-81270K/N - Build fails when exposing suspend functions
Tools. BCV
KT-80747Refactor API of ABI tools [ABI Tools]KT-80938Binary compatibility validation: can't exclude container types of Repeatable annotations byfilters.excluded.byNames
Tools. Build Tools API
New Features
KT-81845Add CRI <-> Maven integrationKT-81847Add CRI <-> BTA integrationKT-80338Kotlin CRI generationKT-80681BTA: introduce a special argument for passing compiler pluginsKT-82167Add BuildTimeMetric for the CRI data generationKT-81846Add FUS for CRI usage in Gradle / Maven
Fixes
KT-82682BTA: reading non-nullable arguments may return null or throw NPEKT-81887Implement the CRI lookup data generationKT-81886Implement the CRI data serializationKT-81780Add Gradle <-> CRI integration testsKT-81645BTA prints unreadable version in "option available only since" error (shows KotlinReleaseVersion@hashinstead of 2.x.y)
Tools. CLI
KT-73606Provide a unified interface for managing the reporting of compiler warningsKT-48419Using a@RequiresOptInAPI that does not exist should have an option to not output a warningKT-81861Introduce a mechanism that allows suppressing CLI diagnosticsKT-82321KMP Separate Compilation: Common fragments are missing forward declaration symbol providersKT-81898Introduce a CLI option to disable source file sortingKT-81551Introduce an experimental CLI option for enabling local type aliasesKT-74196Remove patched copy of com.intellij.util.lang.JavaVersion from the Kotlin repoKT-73320Migrate the main JS CLI pipeline to the phased structure
Tools. CLI. Native
KT-64509Refactor Kotlin/Native compiler setup: run FE without KonanConfig
Tools. Compiler Plugin API
KT-82809[FIR][IC] New containingFileName parameter API is not actually compatible with ICKT-46709IR plugin lookups don't work as expected for expect class with actual typealiasKT-82518Disable automatic body generation of the plugin-generated callablesKT-82159[FIR] Automatically add expressions to properties or functionsKT-58886K2: compiler plugin generated top level declarations cause AssertionError on K/JS and K/Native
Tools. Compiler Plugins
KT-82341Migrate official compiler plugins to IC-safe reference... APIKT-81604Lombok Kotlin compiler plugin and -Werror: Unable to ignore warning for the plugin applianceKT-71893Support@Builderlombok annotation on methods
Tools. Compiler plugins. Serialization
KT-82351Migrate kotlinx.serialization to IC-safe reference... APIKT-76949Serialization: "IllegalStateException: Serializer for element of type kotlin.Any has not been found" on custom serializer forMap<String, Any?>KT-73107Serialization: "IllegalStateException: Serializer for element of type kotlin.Any? has not been found" with star projection
Tools. Gradle
New Features
KT-78200Gradle: enable JVM compilation through BTA by defaultKT-81844Add CRI <-> Gradle integration
Fixes
KT-80096Strange "Inconsistent JVM Target Compatibility" warningKT-81831Verify Problems API implementation with Gradle guidelinesKT-80120Support colored value for --console command in Gradle 9.1KT-81400ToolingDiagnosticFactory: check if documentationLink set multiple timesKT-83070The KGP api reference is missing a descriptionKT-82459Improve iOS simulator boot implementationKT-82323Deprecate LanguageSettings.enableLanguageFeature DSLKT-80008Track cross compilation status from project dependenciesKT-78764Compile against Gradle 9.1 APIKT-81830Create autogenerated kotlin version constants to be used with disableNativeCache DSLKT-81960Introduce "Generate Kotlin Lexers" run configuration
Tools. Gradle. BCV
KT-80674Rename tasks to avoid usinglegacyword [ABI Validation]KT-80827Delete DSL for working with dump variants [ABI Validation]KT-80823Stabilize DSL for filtering [ABI Validation]
Tools. Gradle. Cocoapods
KT-80641EXECUTABLE_DEBUG_DYLIB_PATH problemKT-80644Cocoapod plugin builds a synthetic project for "generic/platform=iOS Simulator"
Tools. Gradle. JS
KT-82946Js, Wasm: Upgrade NPM dependencies
Tools. Gradle. Multiplatform
KT-81944Legacy KMP Android uses wrong configurations to infer common dependenciesKT-81536"Couldn't resolve dependency in 'commonMain' for all target platforms" in 2.2.20-Beta2KT-81724IntelliJ successfully resolves imports that are not actually available in the given moduleKT-81849Replace kotlin-test-common and kotlin-test-annotations-common with just kotlin-testKT-79073compileTest* tasks pass separateCompilation parameters but don't behave accordinglyKT-71130Enable Isolated Projects support by default for KMP
Tools. Gradle. Native
KT-80715Deprecatekotlin.native.cacheKindand introduce DSL insteadKT-81443ConfigurationCacheErroron Linux arm64 due to disabled iOS targets
Tools. Gradle. Swift Export
KT-82727Swift Export: generated kotlin bridges don't see neighboring modules
Tools. Gradle. Wasm
KT-82525K/Wasm: kotlinToolingSetup does not depend on package manager installation
Tools. Incremental Compile
KT-80483Incorporate IC lookups intoreference...methods ofIrPluginContext
Tools. JPS
KT-76927Switching from VAL to VAR does not trigger recompilation of usage in Kotlin-uses-KotlinKT-79362JPS/NoArg: Failed to build project with 'java.lang.NoClassDefFoundError: org/jetbrains/kotlin/com/intellij/psi/PsiElement'
Tools. Kapt
KT-82338K2 KAPT: ISE "Cannot evaluate IR expression in annotation" on unresolved enum usageKT-81691K2: KAPT: "ClassCastException: IrErrorTypeImpl cannot be cast to class IrSimpleType"
Tools. REPL
KT-82575[K2 REPL] Redesign frontend resolution for REPL snippets
Tools. Scripts
KT-81679Script explain: while loop explanation may lead to the hanging codeKT-81677Script explain: Contents of the if/when branches are not explainedKT-67063LauncherReplTest flaky on Windows
Tools. Statistics (FUS)
KT-79576Included build subprojects produce FUS files with unknown_id when configuration cache is enabled