Skip to content

Update Kotlin to v2#106

Open
Maxr1998-bot wants to merge 1 commit into
masterfrom
renovate/major-kotlin
Open

Update Kotlin to v2#106
Maxr1998-bot wants to merge 1 commit into
masterfrom
renovate/major-kotlin

Conversation

@Maxr1998-bot
Copy link
Copy Markdown
Collaborator

@Maxr1998-bot Maxr1998-bot commented Jul 14, 2024

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
org.jetbrains.kotlin.plugin.serialization 1.9.242.4.0 age confidence
org.jetbrains.kotlin.jvm (source) 1.9.242.4.0 age confidence

Release Notes

JetBrains/kotlin (org.jetbrains.kotlin.jvm)

v2.4.0

Analysis API
  • KT-83867 OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo
  • KT-83723 [Analysis API] Enable experimental KDoc resolver by default
  • KT-83388 Analysis API: properly support KMP in KotlinPackageProvider
  • KT-65683 Analysis API: Dangling file session creation causes a computeIfAbsent contract violation
Analysis API. Code Compilation
  • KT-78946 Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception
Analysis API. FIR
  • KT-68260 K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text ::lam1, unexpected element of type: no element found” with illegal callable reference call
  • KT-70896 AA: False positive deprecation warning with override of built-in method in JDK mapped class
  • KT-84711 K2 IDE sometimes loses FIR plugin-generated declarations after file changes
  • KT-84625 Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes
  • KT-84596 Improve K2 Jooq completion performance
  • KT-84525 KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite
  • KT-83546 Kotlin analysis reach ClsCustomNavigationPolicy
  • KT-84259 Move CommonDefaultImportsProvider to the frontend independent module
  • KT-82945 Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
  • KT-71135 AA: exception from sealed inheritors checker when analyzeCopy
Analysis API. Infrastructure
Fixes
  • KT-83905 Analysis API: Improve UX with test data
  • KT-84913 Extract compiler classes used by the PSI & Analysis API to a separate module
  • KT-64986 Analysis API: Implement Analysis API tests for different KMP Platforms
  • KT-84776 The test data manager misses the redundancy check in the update mode
  • KT-84962 The test data manager misses -ea flag
  • KT-84388 Preserve the EOF status in the test data manager to avoid extra changes
  • KT-84362 Analysis API tests produce many warnings due to "not yet loaded registry"
  • KT-84279 Test Data Manager fails on a clean build
  • KT-83913 Exclude compiler-based Analysis API tests from Git tracking
  • KT-80379 Extract per-module test generators for AA tests
  • KT-84120 Move CLI modules out of kotlin-compiler-fe10-for-ide
  • KT-83200 Track external dependencies of the Analysis API modules
Analysis API. Light Classes
  • KT-82434 Light classes should prefer enum entries to properties
  • KT-84200 SLC: return type is not boxed for delegated methods with generic original method
  • KT-72451 "CCE: class PsiPrimitiveType cannot be cast to class PsiClassType" with same-named enum class and typealias
Analysis API. PSI
  • KT-84715 removeModifier doesn't delete whitespaces around the removed modifier
  • KT-84564 KtEnumEntry.delete deletes semicolon
  • KT-84781 Use computed properties in KotlinElementTypeProviderImpl
  • KT-83846 Set up guidelines for PSI
  • KT-84135 Deprecate KtSelfType
Analysis API. Providers and Caches
  • KT-82731 Analysis API: Limit granular tree change processing to a few files
  • KT-79234 Analysis API: Usage of asMap() on Caffeine caches bypasses stats counters
  • KT-74090 Analysis API: Support dumb mode (restricted analysis)
Analysis API. Standalone
  • KT-83801 Nested typealiases are not correctly indexed in standalone mode
Analysis API. Stubs and Decompilation
  • KT-85371 StackOverflowError from LLKotlinStubBasedLibrarySymbolProvider and StubBasedClassDeserialization
  • KT-83935 Support KDoc loading in decompiled stubs
Analysis API. Surface
New Features
  • KT-85239 Streaming version of collectDiagnostics()
  • KT-82519 Automatically recognize the appropriate analysis mode for in-memory file copies based on their content
  • KT-73534 SAM method API
  • KT-82993 Support explicit backing fields in the Analysis API
Fixes
  • KT-79186 KtCompletionExtensionCandidateChecker does not work for extensions when using callable references of a type
  • KT-83759 Analysis API: Mark platform interface APIs with @KaPlatformInterface
  • KT-83921 Extend KaKDocProvider to read Kdoc from KLIB metadata
  • KT-77426 KaFirCompilerFacility uses an arbitrary JVM counterpart for common sources
  • KT-84737 KaCallableSymbol#directlyOverriddenSymbols doesn't work for java overrides of kotlin properties
  • KT-84621 Migrate symbol tests to ManagedTest properly
  • KT-80575 KaFirJavaInteroperabilityComponent#getJavaGetterName should not throw exception on incomplete code
  • KT-84397 KtDefaultAnnotationArgumentReference should return only results with value name
  • KT-84804 buildSubstitutor does not work correctly with Java type parameters
  • KT-84389 Cover references with ABI and documentation checks
  • KT-57042 K2, Analysis API: KaJavaInteroperabilityComponent#callableSymbol returns null for a Java getter implementing Kotlin property
  • KT-80856 Analysis API: analysisContextModule incorrectly determines the module of an original file when used for dangling file context assignment
  • KT-84363 AA, isUsedAsExpression: Unhandled Non-KtExpression parent of KtExpression: class org.jetbrains.kotlin.psi.KtContractEffect
  • KT-70476 Analysis API: "KtDefaultAnnotationArgumentReference.resolveToSymbols" does not work in FIR implementation
  • KT-68499 Split KtDefaultAnnotationArgumentReference on K1 and K2 implementation
  • KT-70521 Analysis API: Impossible to distinguish between 'iterator' operator calls dispatched with imports from objects
  • KT-77669 Context arguments are missed on implicit invoke calls
  • KT-77670 resolveToCall: extensionReceiver is incorrectly chosed due to a conflict with context parameters for an implicit invoke call
  • KT-68633 K2 AA: IAE "Expected class KaClassSymbol instead of class KaFirEnumEntrySymbol" with enum entry initializer
  • KT-83777 Analysis API: The resolution scope of a context module accepts elements from associated dangling files
  • KT-82571 No expected type for overridden property without explicit type
  • KT-83223 Support "Explicit context arguments" in the Analysis API
  • KT-65186 K2: Analysis API: KtExpressionTypeProvider.getExpectedType works incorrectly for the right hand side of assignment expressions
  • KT-76011 KaFirNamedClassSymbol#companionObject doesn't provide generated objects generated by compiled plugins
  • KT-73290 Analysis API: Improve the architecture of content scopes and resolution scopes
Backend. J2KLIB
  • KT-86368 [JKLIB] MetadataJVMModuleDeserializer tries to deserialize all symbols
  • KT-86367 [JKLIB] kotlin.Cloneable built-in class not found
  • KT-84877 [J2KLIB] Remove withKotlinBuiltinsHack present in JKlibIrLinker.kt
  • KT-85846 Tests failing with fake override property missing accessors or backing field
  • KT-85717 IllegalStateException due to already bound symbol
  • KT-86204 [JKlib] Propagate private members from dependecies in the IR tree
Backend. Native. Debug
  • KT-83804 Native: debug information generator converts relative paths to absolute ones
Backend. Wasm
  • KT-83162 K/Wasm: renaming temporary and synthetic variables in the Chrome debugger
  • KT-85008 Develop and publish a demo app using an early version of the component model support
  • KT-76205 K/Wasm: stabilize and turn on incremental compilation by default
  • KT-83728 [Wasm] Invalid Ir type while suspend call with blocked if null comprehansion
  • KT-81637 K/JS/Wasm interop: Inconsistent behavior of is/as operations for JsReference<C> and C
  • KT-65030 K/Wasm: memory allocator for Component Model ABI
  • KT-83607 WasmJS: Production build eliminates 'else if' branch when 'else' is not wrapped with curly braces
  • KT-82803 Kotlin/WASM: Failed to compile the doResume function with if inside catch block
  • KT-83800 [Wasm] Closed world per-module compilation
Compiler
New Features
  • KT-84487 "-Xcollection-literals" compiler flag
  • KT-84072 Collection literals: treat visibility of of during resolve correctly
  • KT-83165 Collection literals: treat Deprecated(HIDDEN) operators of reasonably
  • KT-80500 Collection literals: Analyze ConeCollectionLiteralAtom in cases their expected type is not fully known
  • KT-80491 Implement fallback mechanism for collection literals
  • KT-80490 Implement overload resolution mechanism for collection literals
  • KT-84298 K2: Generate IR for Companion Blocks & Extensions
  • KT-83765 Make -Xsuppress-version-warnings have a diagnostic ID
  • KT-84484 Companion Extensions Analysis & Resolution
  • KT-84199 Implement DontMakeExplicitNullableJavaTypeArgumentsFlexible feature
  • KT-84319 Add JVM target bytecode version 26
  • KT-84297 Serialize & Deserialize Companion Block Declarations & Extensions to/from Metadata
  • KT-84288 Companion Blocks Analysis & Resolution
  • KT-84286 Parse Companion Blocks & Extensions
  • KT-84292 Enforce Companion Blocks & Extensions Language Feature during Resolution
  • KT-84291 Companion Blocks & Extensions Checkers
  • KT-84290 Callable References to Companion Block Declarations & Extensions
  • KT-84287 Build Raw FIR for Companion Blocks & Extensions
  • KT-73256 Implement all meta-target for annotations
  • KT-66344 K1 & K2: False positive WRONG_NUMBER_OF_TYPE_ARGUMENTS in callable reference to inner class member
  • KT-76766 Warning is missing for wrong subclass checking
  • KT-74049 Introduce special override rule to allow overriding T! with T & Any
Performance Improvements
  • KT-84941 Skip linking klibs for generating ObjC headers
  • KT-80367 Reduce memory consumption of DevirtualizationAnalysis
  • KT-84412 iOS release build time dramatically increases with 2.3.20-Beta2 compared to 2.3.10
  • KT-82559 linkDebugTest*X64 tasks are slower for Kotlin 2.3 than for 2.2
  • KT-84095 Improve Unit tail-call optimization to support inline generic functions similar to suspendCoroutine
Fixes
  • KT-77726 Move FirUnusedExpressionChecker to the default checkers list
  • KT-84841 Collection literals: Drop special treatment of when with expected type
  • KT-84732 Collection literals: "Expected FirCollectionLiteralImpl to be resolved" in RHS of equality operator
  • KT-84675 Collection literals: 'Not singleClassifierType superType: TypeVariable(S)' in PCLA
  • KT-84559 @OptIn on collection literal and context-sensitive does not work
  • KT-84547 Collection literals: "Expected expression 'FirCollectionLiteralImpl' to be resolved" in elvis expression
  • KT-80489 Collection literals: experimental version (Frontend)
  • KT-84768 [K/N] switch thread state in org_jetbrains_skia_Canvas__1nDrawPicture to workaround the deadlock
  • KT-52673 Don't report deprecation warning/error on last segments of imports
  • KT-83988 Remove extraneous POP+GETSTATIC Unit for calls of Unit-returning suspend functions
  • KT-77584 Support scripts built from LT in scripting API
  • KT-80113 Consider improving diagnostic messages related to ==/===/is/as
  • KT-85392 Native: concurrency issues in per-file caches
  • KT-83938 Missing Tail call optimization in reference classes returning Unit
  • KT-78432 No-arg constructor should be generated for regular classes with a value class parameter in case of JvmExposeBoxed
  • KT-86130 False positive UNINITIALIZED_ENUM_COMPANION on LV 2.3 and lower
  • KT-84860 False positive UNINITIALIZED_ENUM_COMPANION in enum access with explicit receiver in enum initializer when enum class has a companion
  • KT-86210 Update -Xannotation-default-target CLI parameter doc
  • KT-80590 Drop language version 1.9 for JVM
  • KT-85948 Contracts in 2.4 stdlib is not compatible with 2.3 compiler
  • KT-82123 KDoc: references that goes after markdown blocks don't have links
  • KT-85957 Contract on function is getting discarded if any of effect declarations is unknown
  • KT-84931 Incorrect type nullability in SAM super type in anonymous class-based SAM conversion
  • KT-83766 K2: Wrong sourcePsi is set for SymbolPsiLiteral in SLC for annotation arguments referencing a const val
  • KT-85062 Deprecate language version 2.1
  • KT-79729 Kotlin should warn about orphaned block expressions, e.g. // if () \n { .... }
  • KT-83884 The unused return value checker doesn't report a coercion from reference to Unit
  • KT-85825 Context parameter lambda loses context type when wrapped in nested run blocks
  • KT-37179 false-positive shadowing warning on local and member extension functions in presence of member extension property with invoke operator
  • KT-84366 Invalid name for captured this in bytecode
  • KT-84960 Property contract leaks unsubstituted type parameter in smart cast
  • KT-84281 Standalone typealias-to-object qualifier allows type arguments and has type Unit in this case
  • KT-84280 Standalone Unit qualifier allows type arguments: Unit<Any>
  • KT-84380 Type alias to non-generic class can have (arbitrary number of) type arguments in LHS of ::class
  • KT-84190 Implement basic functionality for returnsResultOf contract
  • KT-83920 False positive "modifier 'value' is not applicable to 'local variable'" with soft keyword in positional destructuring (square bracket) declaration
  • KT-84991 Improve Argument type mismatch diagnostics
  • KT-82216 Sanitize '.kotlin_module' filename
  • KT-85354 checkPsiTypeConsistency: add psi text attachments
  • KT-85479 Improve diagnostic messages for upper bound violations
  • KT-84585 Upper bound violated warning for expansion of type alias in LHS
  • KT-84924 Native: stdlib-cache.lock used by mulitple processes
  • KT-85244 False positive DUPLICATE_BRANCH_CONDITION_IN_WHEN with guard condition
  • KT-85487 Investigate why WrapContinuationForTailCallFunctions does not work in Android Test
  • KT-59633 K2: Implement running AndroidRunner tests with FIR
  • KT-76237 Store File-level annotations in KLIB metadata separately
  • KT-84198 Support multiple embedded .let-like calls with returnsResultOf contract
  • KT-84196 Handle multiple entry/exit points for returnsResultOf functions
  • KT-84195 Handle function references in returnsResultOf
  • KT-85162 Introduce diagnostics to refine numeric types casting
  • KT-80060 False positive REDUNDANT_CALL_OF_CONVERSION_METHOD in case of overloads
  • KT-85289 False-positive smartcast from == with type parameter based variable
  • KT-83890 return-value-checker: false positive "Unused return value of 'context'" on kotlin.context() functions
  • KT-84106 False negative "NON_EXHAUSTIVE_WHEN": "NoWhenBranchMatchedException" at runtime with sealed and platform type
  • KT-84717 Provide information for qualified expressions that might be replaced with context-sensitive simple names in IDE mode
  • KT-38983 Bridges are not generated in interfaces, which leads to counterintuitive behavior of java.lang.reflect.Proxy
  • KT-85005 Consider all: target in the checker of repeatable annotations
  • KT-85210 Enabling -XXLanguage:+IntrinsicConstEvaluation breaks highlighting on some broken code
  • KT-85217 Rework implementation supporting simple-to-suspend function conversion
  • KT-85036 Introduce a proper handling of optional expectation annotations in platform checkers during metadata compilation
  • KT-85086 False-negative JVM_EXPOSE_BOXED_CANNOT_BE_THE_SAME
  • KT-84082 [OPT_IN_USAGE_ERROR] duplicates for destructuring declaration
  • KT-85007 Properly implement special rules for kotlin.Result in @JvmExposeBoxed support
  • KT-74383 Support new callable reference nodes in JVM backend
  • KT-84828 Cleanup JVM backend from the old callable references-related code
  • KT-85006 Refine error messages for INAPPLICABLE_ALL_TARGET diagnostic
  • KT-84296 Support Companion Blocks in CFG
  • KT-85058 Remove final field modification in DescriptorRendererOptionsImpl to prevent warnings on JDK 26+
  • KT-72710 Incorrect behaviour of tail call suspend functions optimization
  • KT-84727 [K/N] Segfault when returning null as generic Int type from dynamic framework
  • KT-83460 Deprecation from @all:Deprecated is not propagated to property accessors/backing fields
  • KT-84859 Skip deprecation phase for generic arguments in qualifier receiver of static call for companion block members and extensions
  • KT-85050 [Swift Export] usage of inline classes with ref types crashes at runtime
  • KT-84983 Type parameter annotations are lost for local functions
  • KT-78800 Investigate FirMissingDependencySupertypeInQualifiedAccessExpressionsChecker
  • KT-73945 K2 IDE: Duplicated inspections for redundant 'open' in interface member
  • KT-84294 Ensure Context Sensitive Resolution works with Companion Blocks & Extensions
  • KT-83904 [Inliner] Inline function overrides an abstract method with a default value in an inheritance chain
  • KT-81675 Improve message for CONTEXTUAL_OVERLOAD_SHADOWED
  • KT-84994 Rework optimization for companion extension resolution
  • KT-81598 incorrect type mismatch error messages for generic calls with explicit type arguments
  • KT-84185 Type arguments are wrongly allowed in receivers of static calls
  • KT-83441 False positive: REDUNDANT_CALL_OF_CONVERSION_METHOD
  • KT-83587 K2: Missing null-check when using == on Short! and Byte! platform types
  • KT-84405 ClassCastException with conflicting projection on the LHS of a callable reference
  • KT-84866 Reserve CoroutineContext as context parameter for future use
  • KT-65239 K2: Render FIR declaration instead of IR-based descriptors in IR signature clash diagnostics
  • KT-84743 Type parameter declared as 'in' can be used in 'out' position in DNN & flexible types
  • KT-84720 "Unused return value" is not reported inside used if/when multi-statement blocks
  • KT-84310 No Warning Emitted For Deprecated Java Enum Value Usage
  • KT-81871 Drop context receiver tests
  • KT-84714 KJS: Forbid exporting properties with context parameters
  • KT-80701 Native: -Xbinary=cCallMode is not integrated with compiler caches
  • KT-84000 Native: test pre-codegen inliner on CI
  • KT-57557 Implement getAndSet for AtomicNativePtr via getAndSetField intrinsic
  • KT-84352 createUninitializedInstance generates invalid LLVM for value classes
  • KT-84234 Rename CONST_VAL_WITHOUT_INITIALIZER diagnostic for properties with EBF
  • KT-84411 Confusing message for the class reference of the inner class with the type parameter
  • KT-84594 EBF is smartcasted in inline function with @PiblishedApi
  • KT-83989 Update coroutines-codegen.md after changes of Unit tailcall optimization
  • KT-84452 EBF is smartcasted in the default argument with noinline modifier
  • KT-80925 Replace "useless" in diagnostic messages
  • KT-83646 Native: don't use sun.misc.Unsafe in ByteArrayStream when running on JVM 24+
  • KT-82122 Prohibit arbitrary placement of type parameters in callable reference LHS
  • KT-82574 Fixation: consider preferring EQUALS constraints to LOWER ones
  • KT-83564 Consider dropping HAS_PROPER_NON_NOTHING_NON_ILT_LOWER_CONSTRAINT
  • KT-84213 Flaky incremental compilation behaviour with EBF
  • KT-84133 Adopt initInstance to handle value classes
  • KT-24840 Square bracket escaping in KDoc
  • KT-84167 Invalid type references with type arguments in package parts compile without diagnostics
  • KT-84209 False negative ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT on context parameters of function types
  • KT-83354 Wrong position for lambda context type error
  • KT-84206 Remove forcesPreReleaseBinaries = true from ExplicitBackingFields
  • KT-83524 An anonymous function with named parameters throws FileAnalysisException
  • KT-84155 K2: NO_CONTEXT_ARGUMENT caused by stale value in NewConstraintSystemImpl.hasContradictionInForkPointsCache
  • KT-83829 False-negative INVALID_DEFAULT_FUNCTIONAL_PARAMETER_FOR_INLINE
  • KT-83842 KIAEWA: Exception in expression checkers for @OptIn(markerClass=[…])
  • KT-84045 Evaluate default arguments of annotation's parameters using FIR evaluator
  • KT-83987 Refactor/fix CoroutineCodegen.isReadOfInlineLambda()
  • KT-83772 Create a language feature for wrapContinuationForTailCallFunctions
  • KT-84061 K2: IllegalStateException: FirResolvedNamedReference expected on plusAssign for array element with unresolved initializer inside buildList
  • KT-83985 Drop arrayOf check from EscapeAnalysisChecker after bootstrap update
  • KT-78885 Current frame disappears from stack trace when debugging inline-heavy suspend code
  • KT-78727 Split KonanConfig into NativeFrontendConfig and NativeBackendConfig
  • KT-83755 Support rendering of evaluated and original arguments in FirAnnotationRenderer#renderAnnotation
  • KT-17763 Inner class constructor has incorrect generic signature in the bytecode
  • KT-83625 Initialize annotations on Java record components
  • KT-83795 Compiler crash on suspend lambda as default parameter of inline function
  • KT-72880 Calls with incorrect VarHandle method signatures are generated with -Xjdk-release being used
  • KT-67809 Native: remove support for non-opaque LLVM pointer types
  • KT-82148 Suspend function returns the wrong value and not Unit
  • KT-55559 JVM: ClassCastException with Unit returning suspend function and tail-call Non-Unit returning suspend function and callable reference
  • KT-70995 Kotlin/Native: Treat all @HasFinalizer types as escaping in Escape Analysis
  • KT-83903 'when' with 'val' does not take previous nullability check into account
  • KT-83952 StackEntries for tail-call suspend functions have internal names for classes instead of FQ names
  • KT-83377 Investigate usage of declarationSymbols in resolve of local user type
  • KT-83770 Smartcast doesn't work for an explicit backing field with multiple intersections
  • KT-83650 Native: don't use sun.misc.Unsafe in CastsOptimization when running on JVM 24+
  • KT-83754 KotlinIllegalArgumentExceptionWithAttachments for explicit backing field with annotated type
  • KT-83756 Error while resolving FirNamedFunctionImpl with explicit backing field and implicit type
  • KT-83563 Consider dropping fixation readiness REIFIED
  • KT-83713 K2: No error with external primary constructor parameter
  • KT-83104 K2: No error with external enum entry
  • KT-83696 Consider dropping HAS_NO_RELATION_TO_ANY_OUTPUT_TYPE readiness
  • KT-83308 K/N: "IllegalArgumentException: An interface expected but was Any"
  • KT-81590 Switch latest stable version in Kotlin project to 2.4
  • KT-66701 K2: Java interface method override via Kotlin class rejected
  • KT-56563 Inference within if stops working when changing expected type from Any to a different type
  • KT-261 Can't specify function return type in a subclass
Compose compiler
New features
  • c1bbb47 Started inferring the stability of all interfaces to be
    Stability.Unknown, expect for those explicitly marked as known
    stable.
Fixes
  • b/511102714 Made the default stability of non-final classes Unknown
    instead of Stable
  • b/509945632 Do not generate groups in inline lambdas without @Composable calls.
  • b/504284805 Fix indentation for generated proguard mappings.
  • b/422193018 Fix applier inference for nested composables of different types.
  • b/497751457 Prevent a $stable property from being added to any object.
  • b/427530633 Do not infer a getter call as static across when it is defined in another file.
  • b/427530633 Started using Stability.Runtime more broadly. Now, when an
    element depends on the stability of an internal or public class
    defined 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-84293 Expect Actual Matching for Companion Block Declarations & Extensions
IR. Inlining
  • KT-73708 Use some marker in KLIBs produced with IR inliner
  • KT-85605 "Local delegated property has not delegate" exception when calling inline function containing delegated property in a lambda from within an inline lambda
  • KT-84112 Intra-module inliner: No container found for type parameter 'T'
  • KT-84416 High memory usage for IrFileEntry after enabling inliner
  • KT-75396 [IR] Pass LoweringContext to inline and serialization checkers
IR. Interpreter
  • KT-86083 Create a new CLI flag to enable IntrinsicConstEvaluation feature
  • KT-80804 Enable constant evaluation for more standard library
  • KT-83514 Get rid of EvaluatedConstTracker
  • KT-84561 K2: Convert evaluated constant by default in FIR2IR
IR. Tree
  • KT-79663 KLIB-based compilers: Promote partial linkage to "always on"
  • KT-76934 Drop old IR parameter API
  • KT-72950 Partial Linkage: Change the semantics of -Xpartial-linkage-loglevel
  • KT-74763 Build: refactor ':compiler:backend.common' and ':compiler:ir.backend.common' modules
  • KT-76634 PL: Don't report warnings in cases that don't lead to runtime errors
  • KT-79801 KLIBs: Implement checks for symbols loaded by the compiler on 1st and 2nd phases
  • KT-72812 IR serializer: Don't serialize any cinterop fake overrides to Klibs
JVM. Reflection
Fixes
  • KT-86017 KClass.constructors returns all java.lang.String constructors for mapped type kotlin.String
  • KT-85550 Reflection: KParameter.type.classifier returns boxed KClass for non-nullable primitive types
  • KT-82659 Reflection: IAE on a call to a Java inner class constructor
  • KT-85999 Reflection: ByteArray KType incorrectly has type arguments in Kotlin 2.4.0
  • KT-85285 Reflection: InvocationTargetException (UInt cannot be cast to Integer) when reading UInt annotation property via getter
  • KT-85091 Reflection: "KotlinReflectionInternalError: Unsupported parameter owner: null" on attempt to get annotations of annotation constructor parameter
  • KT-85322 Reflection: KotlinReflectionInternalError when loading ProGuard-obfuscated code compiled before 2.3.20
  • KT-84679 Reflection: confusing "Kotlin reflection is not yet supported for synthetic Java properties" for reference to Java enum's entries property
  • KT-85025 KTypeParameter instances not equal to each other for the same type parameter in member specialization KFunction
  • KT-84796 Reflection: mutable flexibility is lost for K1-based types in KClass.allSupertypes
  • KT-84494 Reflection: Java Collections have differences in kotlin supertypes from old K1 reflection
  • KT-84382 Reflection: raw list in Java type is transformed to List instead of MutableList
  • KT-84492 Reflection: supertypes of raw list in Java type are not raw
  • KT-84076 Reflection: list in Java type is transformed to flexible instead of mutable list
  • KT-14990 'callBy' for inner class constructor fails at run-time
  • KT-82881 Reflection: update KCallable.callBy kdoc to mention vararg parameters
  • KT-84075 Reflection: wildcard in Java type is transformed to out Any! instead of star projection
JavaScript
New Features
  • KT-51292 Proposed behavior of @JsExport on interfaces and classes with companion objects
  • KT-21626 Support ES2015 syntax in js function
  • KT-83451 K/JS: Support ES6 object destructuring in js() calls
  • KT-83452 K/JS: Support ES6 array destructuring in js() calls
  • KT-82128 [K/JS] Allow named companion objects in exported interfaces
Performance Improvements
  • KT-77646 KJS: optimize Byte/Char/Short/Int/Float/DoubleArray.copyOf(newSize)
Fixes
  • KT-84332 KJS: Reconsider disallowing nested classes in exported interfaces
  • KT-72198 KJS: ES2015 interop with ValueClass
  • KT-84090 Save variance in the generated TypeScript
  • KT-56618 KJS/IR: Support external interfaces from common code (via annotation?)
  • KT-85038 Kotlin/JS: @JsExport on sealed external interface with companion object causes NPE
  • KT-81787 KJS: Value class type lost when using JsExport on interface
  • KT-85411 Fix conversionCombinations.kt tests for the JS target
  • KT-83701 Escaped identifier with a quote cause an invalid d.ts file
  • KT-68281 K/JS: Order of classes in initMetadataForClass are not deterministic
  • KT-15101 js: Same callable references are not equal
  • KT-84810 [K/JS] Callable references operator produces duplicates
  • KT-85323 JsClass optimization doesn't work well for primitives
  • KT-60651 KJS / ES6: init block and constructor are not called
  • KT-84601 K/JS: KClass<> reference doesn't work in JS counterside as a new target in ES6 mode
  • KT-85099 KotlinJS: JsPlainObject from the js-plain-objects plugin does not respect overrides
  • KT-84615 KJS: Forbid @JsStatic on extension functions/properties
  • KT-84002 Bump version from 2.3 to 2.4 for JsNoRuntime-related annotations
  • KT-84474 Kotlin/JS: Long::class becomes null when passing the value to a generic function with -Xes-long-as-bigint
  • KT-84647 K/JS: Class expressions are not supported in js() calls
  • KT-84458 KJS: Fully support @JsStatic in Analysis API-based TypeScript Export
  • KT-84454 KJS: Generate protected overrides for abstract class inheritors in Analysis API-based TypeScript Export
  • KT-84490 KJS: Fix mutability of exported top-level variables Analysis API-based TS export with ES modules
  • KT-84459 KJS: Support default exportability in Analysis API-based TypeScript Export
  • KT-84456 KJS: Support deprecation comments in Analysis API-based TypeScript export
  • KT-82264 Implement exporting classes in Analysis API-based TypeScript Export
  • KT-84233 K/JS: exported collection views doesn't provide Iterator methods
  • KT-82127 Remove generator-based coroutines intrinsics after bootstrap
  • KT-84003 Remove @Suppress from JsReference after bootstrap
  • KT-44753 KJS / IR: @JsExport non-public fun exports nothing
  • KT-83992 Drop K1 JS entry point and IC code
  • KT-83722 K/JS: NON_EXPORTABLE_TYPE in the exported file with name-based destructuring declarations
  • KT-69353 KJS / d.ts: Kotlin does not export base collection classes along with their mutable collection counterparts
Klibs
Performance Improvements
  • KT-84415 Ineffective hashMap usage in IrSymbolDeserializer
  • KT-80903 [Klib] Optimize size of serialized IR element coordinates
  • KT-84451 [Klib] Use varint encoding for element sizes in IR tables
  • KT-84400 [Klib] Optimize size of serialized IrExpression
  • KT-79675 K/N: Uncached ZipFIleSystemAccessor
Fixes
  • KT-78188 [JS] Klib backward and forward compatibility testing
  • KT-82471 [K/N] Klib forward compatibility testing with codegen tests
  • KT-83929 Add tests for IR signatures of static properties and functions
  • KT-81411 Merge KonanLibrary to KotlinLibrary to simplify adoption of KlibLoader in the Kotlin/Native compiler
  • KT-82469 [K/N] Klib backward compatibility testing with codegen tests
  • KT-84511 [Native][Tests] Improve descriptor-related logic in NativeCliBasedFacades.kt
  • KT-85017 [PL] Add test for added internal abstract fun
  • KT-84488 Export in previous version: Prohibit using on 2nd stage
  • KT-85149 Klib Dump parser: fix parsing of qualified names adjacent to vararg symbol
  • KT-85129 Klib Dump parser: fix enum names parsing
  • KT-84684 Remove UserVisibleIrModulesSupport from IR linker
  • KT-84820 [K/N] Load libcallbacks and libllvmstubs from configured path
  • KT-84819 K/N: Segfault on xctest when using internal abstract on a parent class
  • KT-83807 Restore non-nullability of symbols not available in 2.3.0 stdlib
  • KT-83012 Export in previous version (Native): add the checker for incompatible Kotlin stdlib/compiler pairs
  • KT-84341 Fix detection of box function in forward compatibility tests
  • KT-83748 Bump versions in JS Klib compatibility testing
  • KT-83724 Fix & unmute stdlib & kotlin-test compatibility tests
  • KT-83151 Restore non-nullability of symbols available since 2.3
Language Design
  • KT-14663 Support having a "public" and a "private" type for the same property
  • KT-80852 Version overloading: generate overloads corresponding to different versions of a function whose parameters are annotated with @IntroducedAt()
  • KT-73821 Decide the future of the ForbidUsingSupertypesWithInaccessibleContentInTypeArguments language feature
  • KT-85120 @IntroducedAt on expect parameter cannot be properly actualized
Libraries
New Features
  • KT-84921 Add 'returnsResultOf' contract to appropriate declarations in the stdlib
  • KT-73111 No UInt.toBigInteger() and ULong.toBigInteger() conversion function
  • KT-78499 Add isSorted() extension to standard library
Performance Improvements
  • KT-70750 Kotlin's Regex implementation on Kotlin Native is painfully slow
  • KT-67731 Regular expressions works slowly on iOS
  • KT-80772 K/N: Regex: improve look behind matching performance for "fixed-length" patterns
Fixes
  • KT-83525 Introduce support window for Kotlin Stdlib versions
  • KT-86027 Hide returnsResultOf under a separate flag and remove its usages from kotlin stdlib
  • KT-84818 [Regex] Native and Wasm: Decomposed Unicode character are incorrectly process with CANON_EQ flag
  • KT-83131 Testing: assertNull has no contract
  • KT-85122 Deprecate kotlin.io.readLine with WARNING
  • KT-84970 Deprecate AbstractCoroutineContextKey and associated API
  • KT-81395 Stabilize kotlin.uuid.Uuid API
  • KT-85127 Remove kotlin.test.assert*NoInline hidden functions
  • KT-84264 Add appropiate @SinceKotlin to new contracts
  • KT-84697 Update the list of JDKs the stdlib is tested with
  • KT-83956 Clarify joinToString behavior when the receiver is empty
  • KT-61180 kotlin.ArrayIndexOutOfBoundsException on Native with Regex, works on Android/JVM though
  • KT-84871 compareValues, nullsFirst, nullsLast return 0 for -0.0 and 0.0 on JS
  • KT-84691 Add samples for toBigInteger extension functions
  • KT-84372 PathExtensionsTest.copyToRestrictedReadSource fails with JDK22+
  • KT-84369 StringJVMTest.formatter fails with JDK13+
  • KT-84613 String.toDouble() produces incorrect results on Wasm for large exponent values
  • KT-76905 Add samples for kotlin.math functions
  • KT-84355 Reduce the number of iterations for the removeHashAtStressTest
  • KT-83962 List.listIterator(Int) KDoc's exception condition is incorrect
  • KT-83958 Improve enumValueOf documentation
  • KT-83953 Add samples for kotlin.time extension functions
  • KT-83951 Rewrite stdlib samples to use assertPrints instead of assertEquals
Native
New Features
  • KT-78686 LLVM update Q1 2026
  • KT-84826 Bump the minimum deployment version of Apple targets
Fixes
  • KT-84686 Removing x64 in gradle file breaks builds on certain platforms
  • KT-71278 Enable Concurrent Mark and Sweep (CMS) GC by default
  • KT-81748 Create a phased CLI for Native klib compilation
  • KT-84733 LLVM Update: rebase LLVM once the upstream stabilizes
  • KT-83914 Native: when loading JNI libraries, java.library.path can contain system directories with libraries with same names
  • KT-83133 Native: don't use sun.misc.Unsafe in the compiler and cinterop when running on JDK 25+
  • KT-83648 Native: don't use sun.misc.Unsafe in NativeMemoryAllocator when running on JDK 25+
  • KT-83647 Native: don't use sun.misc.Unsafe in nativeMemUtils when running on JDK 25+
  • KT-82674 Native: dyld[...]: Symbol not found: _mach_vm_reclaim_update_kernel_accounting_trap on macOS
  • [`K

Note

PR body was truncated to here.


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 Mend Renovate.

@Maxr1998-bot Maxr1998-bot force-pushed the renovate/major-kotlin branch from 9ca2198 to 003eb52 Compare July 14, 2024 19:06
@Maxr1998-bot Maxr1998-bot force-pushed the renovate/major-kotlin branch from 003eb52 to 3725317 Compare August 6, 2024 11:07
@Maxr1998-bot Maxr1998-bot force-pushed the renovate/major-kotlin branch from 3725317 to 1c1c9e9 Compare August 22, 2024 09:21
@Maxr1998-bot Maxr1998-bot force-pushed the renovate/major-kotlin branch from 1c1c9e9 to 13c0078 Compare October 10, 2024 10:36
@Maxr1998-bot Maxr1998-bot force-pushed the renovate/major-kotlin branch from a656f65 to 9c055d1 Compare January 27, 2025 10:06
@Maxr1998-bot Maxr1998-bot force-pushed the renovate/major-kotlin branch from 9c055d1 to b10d213 Compare March 20, 2025 09:06
@Maxr1998-bot Maxr1998-bot force-pushed the renovate/major-kotlin branch from b10d213 to d696266 Compare May 13, 2025 09:07
@Maxr1998-bot Maxr1998-bot force-pushed the renovate/major-kotlin branch from d696266 to 061665c Compare June 23, 2025 12:37
@Maxr1998-bot Maxr1998-bot force-pushed the renovate/major-kotlin branch from 061665c to bafd59c Compare August 14, 2025 06:37
@Maxr1998-bot Maxr1998-bot force-pushed the renovate/major-kotlin branch from 808068a to 487f0e6 Compare October 23, 2025 10:07
@Maxr1998-bot Maxr1998-bot force-pushed the renovate/major-kotlin branch from c30abf7 to 3ddbd0b Compare February 5, 2026 09:07
@Maxr1998-bot Maxr1998-bot force-pushed the renovate/major-kotlin branch from 3ddbd0b to d63b214 Compare March 16, 2026 08:37
@Maxr1998-bot Maxr1998-bot force-pushed the renovate/major-kotlin branch from d63b214 to 4d2a1a4 Compare April 23, 2026 09:07
@Maxr1998-bot Maxr1998-bot changed the title Update Kotlin to v2 (major) Update Kotlin to v2 May 12, 2026
@Maxr1998-bot Maxr1998-bot force-pushed the renovate/major-kotlin branch from 4d2a1a4 to 081f0ff Compare June 3, 2026 08:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant