chore(deps): update kotlin to v2.4.0#64
Open
vexdev-renovate[bot] wants to merge 1 commit into
Open
Conversation
a1b0f4d to
dd2d99d
Compare
dd2d99d to
e777c77
Compare
e777c77 to
3908f50
Compare
3908f50 to
51d6d07
Compare
Contributor
Author
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
51d6d07 to
e112912
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.3.20→2.4.02.3.20→2.4.02.3.20→2.4.0Release Notes
JetBrains/kotlin (org.jetbrains.kotlin:kotlin-test-junit)
v2.4.0Analysis API
KT-83867OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repoKT-83723[Analysis API] Enable experimental KDoc resolver by defaultKT-83388Analysis API: properly support KMP in KotlinPackageProviderKT-65683Analysis API: Dangling file session creation causes acomputeIfAbsentcontract violationAnalysis API. Code Compilation
KT-78946Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exceptionAnalysis API. FIR
KT-68260K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text::lam1, unexpected element of type: no element found” with illegal callable reference callKT-70896AA: False positive deprecation warning with override of built-in method in JDK mapped classKT-84711K2 IDE sometimes loses FIR plugin-generated declarations after file changesKT-84625Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classesKT-84596Improve K2 Jooq completion performanceKT-84525KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSiteKT-83546Kotlin analysis reach ClsCustomNavigationPolicyKT-84259Move CommonDefaultImportsProvider to the frontend independent moduleKT-82945Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImplKT-71135AA: exception from sealed inheritors checker whenanalyzeCopyAnalysis API. Infrastructure
Fixes
KT-83905Analysis API: Improve UX with test dataKT-84913Extract compiler classes used by the PSI & Analysis API to a separate moduleKT-64986Analysis API: Implement Analysis API tests for different KMP PlatformsKT-84776The test data manager misses the redundancy check in the update modeKT-84962The test data manager misses -ea flagKT-84388Preserve the EOF status in the test data manager to avoid extra changesKT-84362Analysis API tests produce many warnings due to "not yet loaded registry"KT-84279Test Data Manager fails on a clean buildKT-83913Exclude compiler-based Analysis API tests from Git trackingKT-80379Extract per-module test generators for AA testsKT-84120Move CLI modules out of kotlin-compiler-fe10-for-ideKT-83200Track external dependencies of the Analysis API modulesAnalysis API. Light Classes
KT-82434Light classes should prefer enum entries to propertiesKT-84200SLC: return type is not boxed for delegated methods with generic original methodKT-72451"CCE: class PsiPrimitiveType cannot be cast to class PsiClassType" with same-named enum class and typealiasAnalysis API. PSI
KT-84715removeModifier doesn't delete whitespaces around the removed modifierKT-84564KtEnumEntry.delete deletes semicolonKT-84781Use computed properties in KotlinElementTypeProviderImplKT-83846Set up guidelines for PSIKT-84135Deprecate KtSelfTypeAnalysis API. Providers and Caches
KT-82731Analysis API: Limit granular tree change processing to a few filesKT-79234Analysis API: Usage ofasMap()on Caffeine caches bypasses stats countersKT-74090Analysis API: Support dumb mode (restricted analysis)Analysis API. Standalone
KT-83801Nested typealiases are not correctly indexed in standalone modeAnalysis API. Stubs and Decompilation
KT-85371StackOverflowError from LLKotlinStubBasedLibrarySymbolProvider and StubBasedClassDeserializationKT-83935Support KDoc loading in decompiled stubsAnalysis API. Surface
New Features
KT-85239Streaming version of collectDiagnostics()KT-82519Automatically recognize the appropriate analysis mode for in-memory file copies based on their contentKT-73534SAM method APIKT-82993Support explicit backing fields in the Analysis APIFixes
KT-79186KtCompletionExtensionCandidateChecker does not work for extensions when using callable references of a typeKT-83759Analysis API: Mark platform interface APIs with@KaPlatformInterfaceKT-83921Extend KaKDocProvider to read Kdoc from KLIB metadataKT-77426KaFirCompilerFacility uses an arbitrary JVM counterpart for common sourcesKT-84737KaCallableSymbol#directlyOverriddenSymbols doesn't work for java overrides of kotlin propertiesKT-84621Migrate symbol tests to ManagedTest properlyKT-80575KaFirJavaInteroperabilityComponent#getJavaGetterName should not throw exception on incomplete codeKT-84397KtDefaultAnnotationArgumentReference should return only results with value nameKT-84804buildSubstitutor does not work correctly with Java type parametersKT-84389Cover references with ABI and documentation checksKT-57042K2, Analysis API: KaJavaInteroperabilityComponent#callableSymbol returns null for a Java getter implementing Kotlin propertyKT-80856Analysis API:analysisContextModuleincorrectly determines the module of an original file when used for dangling file context assignmentKT-84363AA, isUsedAsExpression: Unhandled Non-KtExpression parent of KtExpression: class org.jetbrains.kotlin.psi.KtContractEffectKT-70476Analysis API: "KtDefaultAnnotationArgumentReference.resolveToSymbols" does not work in FIR implementationKT-68499Split KtDefaultAnnotationArgumentReference on K1 and K2 implementationKT-70521Analysis API: Impossible to distinguish between 'iterator' operator calls dispatched with imports from objectsKT-77669Context arguments are missed on implicit invoke callsKT-77670resolveToCall: extensionReceiver is incorrectly chosed due to a conflict with context parameters for an implicitinvokecallKT-68633K2 AA: IAE "Expected class KaClassSymbol instead of class KaFirEnumEntrySymbol" with enum entry initializerKT-83777Analysis API: The resolution scope of a context module accepts elements from associated dangling filesKT-82571No expected type for overridden property without explicit typeKT-83223Support "Explicit context arguments" in the Analysis APIKT-65186K2: Analysis API: KtExpressionTypeProvider.getExpectedType works incorrectly for the right hand side of assignment expressionsKT-76011KaFirNamedClassSymbol#companionObjectdoesn't provide generated objects generated by compiled pluginsKT-73290Analysis API: Improve the architecture of content scopes and resolution scopesBackend. J2KLIB
KT-86368[JKLIB] MetadataJVMModuleDeserializer tries to deserialize all symbolsKT-86367[JKLIB] kotlin.Cloneable built-in class not foundKT-84877[J2KLIB] Remove withKotlinBuiltinsHack present in JKlibIrLinker.ktKT-85846Tests failing with fake override property missing accessors or backing fieldKT-85717IllegalStateException due to already bound symbolKT-86204[JKlib] Propagate private members from dependecies in the IR treeBackend. Native. Debug
KT-83804Native: debug information generator converts relative paths to absolute onesBackend. Wasm
KT-83162K/Wasm: renaming temporary and synthetic variables in the Chrome debuggerKT-85008Develop and publish a demo app using an early version of the component model supportKT-76205K/Wasm: stabilize and turn on incremental compilation by defaultKT-83728[Wasm] Invalid Ir type while suspend call with blocked if null comprehansionKT-81637K/JS/Wasm interop: Inconsistent behavior ofis/asoperations forJsReference<C>andCKT-65030K/Wasm: memory allocator for Component Model ABIKT-83607WasmJS: Production build eliminates 'else if' branch when 'else' is not wrapped with curly bracesKT-82803Kotlin/WASM: Failed to compile the doResume function with if inside catch blockKT-83800[Wasm] Closed world per-module compilationCompiler
New Features
KT-84487"-Xcollection-literals" compiler flagKT-84072Collection literals: treat visibility ofofduring resolve correctlyKT-83165Collection literals: treat Deprecated(HIDDEN) operatorsofreasonablyKT-80500Collection literals: AnalyzeConeCollectionLiteralAtomin cases their expected type is not fully knownKT-80491Implement fallback mechanism for collection literalsKT-80490Implement overload resolution mechanism for collection literalsKT-84298K2: Generate IR for Companion Blocks & ExtensionsKT-83765Make -Xsuppress-version-warnings have a diagnostic IDKT-84484Companion Extensions Analysis & ResolutionKT-84199Implement DontMakeExplicitNullableJavaTypeArgumentsFlexible featureKT-84319Add JVM target bytecode version 26KT-84297Serialize & Deserialize Companion Block Declarations & Extensions to/from MetadataKT-84288Companion Blocks Analysis & ResolutionKT-84286Parse Companion Blocks & ExtensionsKT-84292Enforce Companion Blocks & Extensions Language Feature during ResolutionKT-84291Companion Blocks & Extensions CheckersKT-84290Callable References to Companion Block Declarations & ExtensionsKT-84287Build Raw FIR for Companion Blocks & ExtensionsKT-73256Implementallmeta-target for annotationsKT-66344K1 & K2: False positive WRONG_NUMBER_OF_TYPE_ARGUMENTS in callable reference to inner class memberKT-76766Warning is missing for wrong subclass checkingKT-74049Introduce special override rule to allow overriding T! with T & AnyPerformance Improvements
KT-84941Skip linking klibs for generating ObjC headersKT-80367Reduce memory consumption of DevirtualizationAnalysisKT-84412iOS release build time dramatically increases with 2.3.20-Beta2 compared to 2.3.10KT-82559linkDebugTest*X64 tasks are slower for Kotlin 2.3 than for 2.2KT-84095Improve Unit tail-call optimization to support inline generic functions similar tosuspendCoroutineFixes
KT-77726Move FirUnusedExpressionChecker to the default checkers listKT-84841Collection literals: Drop special treatment ofwhenwith expected typeKT-84732Collection literals: "ExpectedFirCollectionLiteralImplto be resolved" in RHS of equality operatorKT-84675Collection literals: 'Not singleClassifierType superType: TypeVariable(S)' in PCLAKT-84559@OptInon collection literal and context-sensitive does not workKT-84547Collection literals: "Expected expression 'FirCollectionLiteralImpl' to be resolved" in elvis expressionKT-80489Collection literals: experimental version (Frontend)KT-84768[K/N] switch thread state inorg_jetbrains_skia_Canvas__1nDrawPictureto workaround the deadlockKT-52673Don't report deprecation warning/error on last segments of importsKT-83988Remove extraneous POP+GETSTATIC Unit for calls of Unit-returning suspend functionsKT-77584Support scripts built from LT in scripting APIKT-80113Consider improving diagnostic messages related to==/===/is/asKT-85392Native: concurrency issues in per-file cachesKT-83938Missing Tail call optimization in reference classes returning UnitKT-78432No-arg constructor should be generated for regular classes with a value class parameter in case of JvmExposeBoxedKT-86130False positive UNINITIALIZED_ENUM_COMPANION on LV 2.3 and lowerKT-84860False positive UNINITIALIZED_ENUM_COMPANION in enum access with explicit receiver in enum initializer when enum class has a companionKT-86210Update -Xannotation-default-target CLI parameter docKT-80590Drop language version 1.9 for JVMKT-85948Contracts in 2.4 stdlib is not compatible with 2.3 compilerKT-82123KDoc: references that goes after markdown blocks don't have linksKT-85957Contract on function is getting discarded if any of effect declarations is unknownKT-84931Incorrect type nullability in SAM super type in anonymous class-based SAM conversionKT-83766K2: Wrong sourcePsi is set forSymbolPsiLiteralin SLC for annotation arguments referencing a const valKT-85062Deprecate language version 2.1KT-79729Kotlin should warn about orphaned block expressions, e.g. // if () \n { .... }KT-83884The unused return value checker doesn't report a coercion from reference to UnitKT-85825Context parameter lambda loses context type when wrapped in nestedrunblocksKT-37179false-positive shadowing warning on local and member extension functions in presence of member extension property with invoke operatorKT-84366Invalid name for capturedthisin bytecodeKT-84960Property contract leaks unsubstituted type parameter in smart castKT-84281Standalone typealias-to-object qualifier allows type arguments and has typeUnitin this caseKT-84280StandaloneUnitqualifier allows type arguments:Unit<Any>KT-84380Type alias to non-generic class can have (arbitrary number of) type arguments in LHS of::classKT-84190Implement basic functionality for returnsResultOf contractKT-83920False positive "modifier 'value' is not applicable to 'local variable'" with soft keyword in positional destructuring (square bracket) declarationKT-84991ImproveArgument type mismatchdiagnosticsKT-82216Sanitize '.kotlin_module' filenameKT-85354checkPsiTypeConsistency: add psi text attachmentsKT-85479Improve diagnostic messages for upper bound violationsKT-84585Upper bound violated warning for expansion of type alias in LHSKT-84924Native: stdlib-cache.lock used by mulitple processesKT-85244False positive DUPLICATE_BRANCH_CONDITION_IN_WHEN with guard conditionKT-85487Investigate why WrapContinuationForTailCallFunctions does not work in Android TestKT-59633K2: Implement running AndroidRunner tests with FIRKT-76237Store File-level annotations in KLIB metadata separatelyKT-84198Support multiple embedded .let-like calls with returnsResultOf contractKT-84196Handle multiple entry/exit points for returnsResultOf functionsKT-84195Handle function references in returnsResultOfKT-85162Introduce diagnostics to refine numeric types castingKT-80060False positive REDUNDANT_CALL_OF_CONVERSION_METHOD in case of overloadsKT-85289False-positive smartcast from == with type parameter based variableKT-83890return-value-checker: false positive "Unused return value of 'context'" on kotlin.context() functionsKT-84106False negative "NON_EXHAUSTIVE_WHEN": "NoWhenBranchMatchedException" at runtime with sealed and platform typeKT-84717Provide information for qualified expressions that might be replaced with context-sensitive simple names in IDE modeKT-38983Bridges are not generated in interfaces, which leads to counterintuitive behavior of java.lang.reflect.ProxyKT-85005Considerall:target in the checker of repeatable annotationsKT-85210Enabling -XXLanguage:+IntrinsicConstEvaluation breaks highlighting on some broken codeKT-85217Rework implementation supporting simple-to-suspend function conversionKT-85036Introduce a proper handling of optional expectation annotations in platform checkers during metadata compilationKT-85086False-negative JVM_EXPOSE_BOXED_CANNOT_BE_THE_SAMEKT-84082[OPT_IN_USAGE_ERROR] duplicates for destructuring declarationKT-85007Properly implement special rules forkotlin.Resultin@JvmExposeBoxedsupportKT-74383Support new callable reference nodes in JVM backendKT-84828Cleanup JVM backend from the old callable references-related codeKT-85006Refine error messages forINAPPLICABLE_ALL_TARGETdiagnosticKT-84296Support Companion Blocks in CFGKT-85058Remove final field modification in DescriptorRendererOptionsImpl to prevent warnings on JDK 26+KT-72710Incorrect behaviour of tail call suspend functions optimizationKT-84727[K/N] Segfault when returning null as generic Int type from dynamic frameworkKT-83460Deprecation from@all:Deprecated is not propagated to property accessors/backing fieldsKT-84859Skip deprecation phase for generic arguments in qualifier receiver of static call for companion block members and extensionsKT-85050[Swift Export] usage of inline classes with ref types crashes at runtimeKT-84983Type parameter annotations are lost for local functionsKT-78800Investigate FirMissingDependencySupertypeInQualifiedAccessExpressionsCheckerKT-73945K2 IDE: Duplicated inspections for redundant 'open' in interface memberKT-84294Ensure Context Sensitive Resolution works with Companion Blocks & ExtensionsKT-83904[Inliner] Inline function overrides an abstract method with a default value in an inheritance chainKT-81675Improve message for CONTEXTUAL_OVERLOAD_SHADOWEDKT-84994Rework optimization for companion extension resolutionKT-81598incorrect type mismatch error messages for generic calls with explicit type argumentsKT-84185Type arguments are wrongly allowed in receivers of static callsKT-83441False positive: REDUNDANT_CALL_OF_CONVERSION_METHODKT-83587K2: Missing null-check when using == on Short! and Byte! platform typesKT-84405ClassCastException with conflicting projection on the LHS of a callable referenceKT-84866Reserve CoroutineContext as context parameter for future useKT-65239K2: Render FIR declaration instead of IR-based descriptors in IR signature clash diagnosticsKT-84743Type parameter declared as 'in' can be used in 'out' position in DNN & flexible typesKT-84720"Unused return value" is not reported inside used if/when multi-statement blocksKT-84310No Warning Emitted For Deprecated Java Enum Value UsageKT-81871Drop context receiver testsKT-84714KJS: Forbid exporting properties with context parametersKT-80701Native:-Xbinary=cCallModeis not integrated with compiler cachesKT-84000Native: test pre-codegen inliner on CIKT-57557Implement getAndSet for AtomicNativePtr via getAndSetField intrinsicKT-84352createUninitializedInstancegenerates invalid LLVM for value classesKT-84234RenameCONST_VAL_WITHOUT_INITIALIZERdiagnostic for properties with EBFKT-84411Confusing message for the class reference of the inner class with the type parameterKT-84594EBF is smartcasted in inline function with@PiblishedApiKT-83989Update coroutines-codegen.md after changes of Unit tailcall optimizationKT-84452EBF is smartcasted in the default argument with noinline modifierKT-80925Replace "useless" in diagnostic messagesKT-83646Native: don't usesun.misc.UnsafeinByteArrayStreamwhen running on JVM 24+KT-82122Prohibit arbitrary placement of type parameters in callable reference LHSKT-82574Fixation: consider preferring EQUALS constraints to LOWER onesKT-83564Consider droppingHAS_PROPER_NON_NOTHING_NON_ILT_LOWER_CONSTRAINTKT-84213Flaky incremental compilation behaviour with EBFKT-84133AdoptinitInstanceto handle value classesKT-24840Square bracket escaping in KDocKT-84167Invalid type references with type arguments in package parts compile without diagnosticsKT-84209False negative ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT on context parameters of function typesKT-83354Wrong position for lambda context type errorKT-84206Remove forcesPreReleaseBinaries = true from ExplicitBackingFieldsKT-83524An anonymous function with named parameters throws FileAnalysisExceptionKT-84155K2: NO_CONTEXT_ARGUMENT caused by stale value inNewConstraintSystemImpl.hasContradictionInForkPointsCacheKT-83829False-negative INVALID_DEFAULT_FUNCTIONAL_PARAMETER_FOR_INLINEKT-83842KIAEWA: Exception in expression checkers for@OptIn(markerClass=[…])KT-84045Evaluate default arguments of annotation's parameters using FIR evaluatorKT-83987Refactor/fix CoroutineCodegen.isReadOfInlineLambda()KT-83772Create a language feature for wrapContinuationForTailCallFunctionsKT-84061K2:IllegalStateException: FirResolvedNamedReference expectedon plusAssign for array element with unresolved initializer inside buildListKT-83985DroparrayOfcheck fromEscapeAnalysisCheckerafter bootstrap updateKT-78885Current frame disappears from stack trace when debugging inline-heavy suspend codeKT-78727Split KonanConfig into NativeFrontendConfig and NativeBackendConfigKT-83755Support rendering of evaluated and original arguments inFirAnnotationRenderer#renderAnnotationKT-17763Inner class constructor has incorrect generic signature in the bytecodeKT-83625Initialize annotations on Java record componentsKT-83795Compiler crash on suspend lambda as default parameter of inline functionKT-72880Calls with incorrect VarHandle method signatures are generated with -Xjdk-release being usedKT-67809Native: remove support for non-opaque LLVM pointer typesKT-82148Suspend function returns the wrong value and not UnitKT-55559JVM: ClassCastException with Unit returning suspend function and tail-call Non-Unit returning suspend function and callable referenceKT-70995Kotlin/Native: Treat all@HasFinalizertypes as escaping in Escape AnalysisKT-83903'when' with 'val' does not take previous nullability check into accountKT-83952StackEntries for tail-call suspend functions have internal names for classes instead of FQ namesKT-83377Investigate usage ofdeclarationSymbolsin resolve of local user typeKT-83770Smartcast doesn't work for an explicit backing field with multiple intersectionsKT-83650Native: don't usesun.misc.UnsafeinCastsOptimizationwhen running on JVM 24+KT-83754KotlinIllegalArgumentExceptionWithAttachments for explicit backing field with annotated typeKT-83756Error while resolving FirNamedFunctionImpl with explicit backing field and implicit typeKT-83563Consider dropping fixation readinessREIFIEDKT-83713K2: No error withexternalprimary constructor parameterKT-83104K2: No error with external enum entryKT-83696Consider dropping HAS_NO_RELATION_TO_ANY_OUTPUT_TYPE readinessKT-83308K/N: "IllegalArgumentException: An interface expected but was Any"KT-81590Switch latest stable version in Kotlin project to 2.4KT-66701K2: Java interface method override via Kotlin class rejectedKT-56563Inference within if stops working when changing expected type from Any to a different typeKT-261Can't specify function return type in a subclassCompose compiler
New features
c1bbb47Started inferring the stability of all interfaces to beStability.Unknown, expect for those explicitly marked as knownstable.
Fixes
b/511102714Made the default stability of non-final classesUnknowninstead of
Stableb/509945632Do not generate groups in inline lambdas without@Composablecalls.b/504284805Fix indentation for generated proguard mappings.b/422193018Fix applier inference for nested composables of different types.b/497751457Prevent a$stableproperty from being added to any object.b/427530633Do not infer a getter call as static across when it is defined in another file.b/427530633Started usingStability.Runtimemore broadly. Now, when anelement depends on the stability of an
internalorpublicclassdefined in another file, the element will no longer infer the
stability of that class and will depend on the runtime stability of
that class instead.
IR. Actualizer
KT-84293Expect Actual Matching for Companion Block Declarations & ExtensionsIR. Inlining
KT-73708Use some marker in KLIBs produced with IR inlinerKT-85605"Local delegated property has not delegate" exception when calling inline function containing delegated property in a lambda from within an inline lambdaKT-84112Intra-module inliner: No container found for type parameter 'T'KT-84416High memory usage for IrFileEntry after enabling inlinerKT-75396[IR] Pass LoweringContext to inline and serialization checkersIR. Interpreter
KT-86083Create a new CLI flag to enableIntrinsicConstEvaluationfeatureKT-80804Enable constant evaluation for more standard libraryKT-83514Get rid ofEvaluatedConstTrackerKT-84561K2: Convert evaluated constant by default in FIR2IRIR. Tree
KT-79663KLIB-based compilers: Promote partial linkage to "always on"KT-76934Drop old IR parameter APIKT-72950Partial Linkage: Change the semantics of-Xpartial-linkage-loglevelKT-74763Build: refactor ':compiler:backend.common' and ':compiler:ir.backend.common' modulesKT-76634PL: Don't report warnings in cases that don't lead to runtime errorsKT-79801KLIBs: Implement checks for symbols loaded by the compiler on 1st and 2nd phasesKT-72812IR serializer: Don't serialize any cinterop fake overrides to KlibsJVM. Reflection
Fixes
KT-86017KClass.constructors returns all java.lang.String constructors for mapped type kotlin.StringKT-85550Reflection: KParameter.type.classifier returns boxed KClass for non-nullable primitive typesKT-82659Reflection: IAE on a call to a Java inner class constructorKT-85999Reflection: ByteArray KType incorrectly has type arguments in Kotlin 2.4.0KT-85285Reflection: InvocationTargetException (UInt cannot be cast to Integer) when reading UInt annotation property via getterKT-85091Reflection: "KotlinReflectionInternalError: Unsupported parameter owner: null" on attempt to get annotations of annotation constructor parameterKT-85322Reflection: KotlinReflectionInternalError when loading ProGuard-obfuscated code compiled before 2.3.20KT-84679Reflection: confusing "Kotlin reflection is not yet supported for synthetic Java properties" for reference to Java enum's entries propertyKT-85025KTypeParameterinstances not equal to each other for the same type parameter in member specializationKFunctionKT-84796Reflection: mutable flexibility is lost for K1-based types in KClass.allSupertypesKT-84494Reflection: Java Collections have differences in kotlin supertypes from old K1 reflectionKT-84382Reflection: raw list in Java type is transformed to List instead of MutableListKT-84492Reflection: supertypes of raw list in Java type are not rawKT-84076Reflection: list in Java type is transformed to flexible instead of mutable listKT-14990'callBy' for inner class constructor fails at run-timeKT-82881Reflection: update KCallable.callBy kdoc to mention vararg parametersKT-84075Reflection: wildcard in Java type is transformed toout Any!instead of star projectionJavaScript
New Features
KT-51292Proposed behavior of@JsExporton interfaces and classes with companion objectsKT-21626Support ES2015 syntax injsfunctionKT-83451K/JS: Support ES6 object destructuring in js() callsKT-83452K/JS: Support ES6 array destructuring in js() callsKT-82128[K/JS] Allow named companion objects in exported interfacesPerformance Improvements
KT-77646KJS: optimize Byte/Char/Short/Int/Float/DoubleArray.copyOf(newSize)Fixes
KT-84332KJS: Reconsider disallowing nested classes in exported interfacesKT-72198KJS: ES2015 interop with ValueClassKT-84090Save variance in the generated TypeScriptKT-56618KJS/IR: Support external interfaces from common code (via annotation?)KT-85038Kotlin/JS:@JsExporton sealed external interface with companion object causes NPEKT-81787KJS: Value class type lost when using JsExport on interfaceKT-85411Fix conversionCombinations.kt tests for the JS targetKT-83701Escaped identifier with a quote cause an invalid d.ts fileKT-68281K/JS: Order of classes in initMetadataForClass are not deterministicKT-15101js: Same callable references are not equalKT-84810[K/JS] Callable references operator produces duplicatesKT-85323JsClass optimization doesn't work well for primitivesKT-60651KJS / ES6: init block and constructor are not calledKT-84601K/JS:KClass<>reference doesn't work in JS counterside as anewtarget in ES6 modeKT-85099KotlinJS: JsPlainObject from the js-plain-objects plugin does not respect overridesKT-84615KJS: Forbid@JsStaticon extension functions/propertiesKT-84002Bump version from 2.3 to 2.4 for JsNoRuntime-related annotationsKT-84474Kotlin/JS: Long::class becomes null when passing the value to a generic function with -Xes-long-as-bigintKT-84647K/JS: Class expressions are not supported in js() callsKT-84458KJS: Fully support@JsStaticin Analysis API-based TypeScript ExportKT-84454KJS: Generate protected overrides for abstract class inheritors in Analysis API-based TypeScript ExportKT-84490KJS: Fix mutability of exported top-level variables Analysis API-based TS export with ES modulesKT-84459KJS: Support default exportability in Analysis API-based TypeScript ExportKT-84456KJS: Support deprecation comments in Analysis API-based TypeScript exportKT-82264Implement exporting classes in Analysis API-based TypeScript ExportKT-84233K/JS: exported collection views doesn't provide Iterator methodsKT-82127Remove generator-based coroutines intrinsics after bootstrapKT-84003Remove@Suppressfrom JsReference after bootstrapKT-44753KJS / IR:@JsExportnon-public fun exports nothingKT-83992Drop K1 JS entry point and IC codeKT-83722K/JS: NON_EXPORTABLE_TYPE in the exported file with name-based destructuring declarationsKT-69353KJS / d.ts: Kotlin does not export base collection classes along with their mutable collection counterpartsKlibs
Performance Improvements
KT-84415Ineffective hashMap usage in IrSymbolDeserializerKT-80903[Klib] Optimize size of serialized IR element coordinatesKT-84451[Klib] Use varint encoding for element sizes in IR tablesKT-84400[Klib] Optimize size of serialized IrExpressionKT-79675K/N: Uncached ZipFIleSystemAccessorFixes
KT-78188[JS] Klib backward and forward compatibility testingKT-82471[K/N] Klib forward compatibility testing with codegen testsKT-83929Add tests for IR signatures of static properties and functionsKT-81411MergeKonanLibrarytoKotlinLibraryto simplify adoption ofKlibLoaderin the Kotlin/Native compilerKT-82469[K/N] Klib backward compatibility testing with codegen testsKT-84511[Native][Tests] Improve descriptor-related logic in NativeCliBasedFacades.ktKT-85017[PL] Add test for addedinternal abstract funKT-84488Export in previous version: Prohibit using on 2nd stageKT-85149Klib Dump parser: fix parsing of qualified names adjacent to vararg symbolKT-85129Klib Dump parser: fix enum names parsingKT-84684RemoveUserVisibleIrModulesSupportfrom IR linkerKT-84820[K/N] Loadlibcallbacksandlibllvmstubsfrom configured pathKT-84819K/N: Segfault on xctest when using internal abstract on a parent classKT-83807Restore non-nullability of symbols not available in 2.3.0 stdlibKT-83012Export in previous version (Native): add the checker for incompatible Kotlin stdlib/compiler pairsKT-84341Fix detection of box function in forward compatibility testsKT-83748Bump versions in JS Klib compatibility testingKT-83724Fix & unmute stdlib & kotlin-test compatibility testsKT-83151Restore non-nullability of symbols available since 2.3Language Design
KT-14663Support having a "public" and a "private" type for the same propertyKT-80852Version overloading: generate overloads corresponding to different versions of a function whose parameters are annotated with@IntroducedAt()KT-73821Decide the future of the ForbidUsingSupertypesWithInaccessibleContentInTypeArguments language featureKT-85120@IntroducedAton expect parameter cannot be properly actualizedLibraries
New Features
KT-84921Add 'returnsResultOf' contract to appropriate declarations in the stdlibKT-73111No UInt.toBigInteger() and ULong.toBigInteger() conversion functionKT-78499Add isSorted() extension to standard libraryPerformance Improvements
KT-70750Kotlin's Regex implementation on Kotlin Native is painfully slowKT-67731Regular expressions works slowly on iOSKT-80772K/N: Regex: improve look behind matching performance for "fixed-length" patternsFixes
KT-83525Introduce support window for Kotlin Stdlib versionsKT-86027Hide returnsResultOf under a separate flag and remove its usages from kotlin stdlibKT-84818[Regex] Native and Wasm: Decomposed Unicode character are incorrectly process with CANON_EQ flagKT-83131Testing: assertNull has no contractKT-85122Deprecate kotlin.io.readLine with WARNINGKT-84970Deprecate AbstractCoroutineContextKey and associated APIKT-81395Stabilize kotlin.uuid.Uuid APIKT-85127Remove kotlin.test.assert*NoInline hidden functionsKT-84264Add appropiate@SinceKotlinto new contractsKT-84697Update the list of JDKs the stdlib is tested withKT-83956Clarify joinToString behavior when the receiver is emptyKT-61180kotlin.ArrayIndexOutOfBoundsException on Native with Regex, works on Android/JVM thoughKT-84871compareValues, nullsFirst, nullsLast return 0 for -0.0 and 0.0 on JSKT-84691Add samples for toBigInteger extension functionsKT-84372PathExtensionsTest.copyToRestrictedReadSource fails with JDK22+KT-84369StringJVMTest.formatter fails with JDK13+KT-84613String.toDouble() produces incorrect results on Wasm for large exponent valuesKT-76905Add samples for kotlin.math functionsKT-84355Reduce the number of iterations for the removeHashAtStressTestKT-83962List.listIterator(Int) KDoc's exception condition is incorrectKT-83958Improve enumValueOf documentationKT-83953Add samples for kotlin.time extension functionsKT-83951Rewrite stdlib samples to use assertPrints instead of assertEqualsNative
New Features
KT-78686LLVM update Q1 2026KT-84826Bump the minimum deployment version of Apple targetsFixes
KT-84686Removing x64 in gradle file breaks builds on certain platformsKT-71278Enable Concurrent Mark and Sweep (CMS) GC by defaultKT-81748Create a phased CLI for Native klib compilationKT-84733LLVM Update: rebase LLVM once the upstream stabilizesKT-83914Native: when loading JNI libraries, java.library.path can contain system directories with libraries with same namesKT-83133Native: don't usesun.misc.Unsafein the compiler and cinterop when running on JDK 25+KT-83648Native: don't usesun.misc.UnsafeinNativeMemoryAllocatorwhen running on JDK 25+KT-83647Native: don't usesun.misc.UnsafeinnativeMemUtilswhen running on JDK 25+KT-82674Native: dyld[...]: Symbol not found: _mach_vm_reclaim_update_kernel_accounting_trap on macOSKT-82879Native: DLLs in the Windows distribution are not reproducibleKT-83283Test Kotlin/Native performance tests compilation in Gradle 9.0KT-82872Native: make Kotlin/Native distribution compiler cache reproducible for LinuxKT-82871Native: cstubs.bc for android_* platform libraries contain absolute paths in string literalsKT-34467Cinterop: Clang crashes when -fmodule-map-file is specified (SIGSEGV)Native. Bu
Configuration
📅 Schedule: (UTC)
🚦 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.
This PR has been generated by Mend Renovate.