fix(deps): update all dependencies #6

Merged
christian.keller merged 1 commit from renovate/all into main 2025-12-29 07:01:00 +00:00
Member

This PR contains the following updates:

Package Type Update Change Age Confidence
actions/checkout action major v4v6 age confidence
https://github.com/actions/setup-java action major v4v5 age confidence
org.apache.maven.plugins:maven-source-plugin (source) build minor 3.3.13.4.0 age confidence
org.jetbrains.kotlin:kotlin-maven-allopen (source) build minor 2.2.102.3.0 age confidence
org.jetbrains.kotlin:kotlin-maven-noarg (source) build minor 2.2.102.3.0 age confidence
org.jetbrains.kotlin:kotlin-maven-plugin (source) build minor 2.2.102.3.0 age confidence
org.jetbrains.kotlin:kotlin-bom (source) import minor 2.2.102.3.0 age confidence
org.springframework.boot:spring-boot-dependencies (source) import major 3.5.44.0.1 age confidence

⚠️ Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

actions/checkout (actions/checkout)

v6

Compare Source

v5

Compare Source

actions/setup-java (https://github.com/actions/setup-java)

v5

Compare Source

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

v2.3.0

Compare Source

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

v2.2.21: Kotlin 2.2.21

Compare Source

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

v2.2.20: Kotlin 2.2.20

Compare Source

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

v4.0.1

Compare Source

⚠️ Noteworthy changes

  • Hibernate has been upgraded to 7.2.0.Final in response to Hibernate 7.1 moving to limited support
  • spring-boot-starter-kotlin-serialization has been renamed to to spring-boot-starter-kotlinx-serialization-json and spring-boot-starter-kotlin-serialization-test has been renamed to spring-boot-starter-kotlinx-serialization-json-test. This change aligns the starters' names with those of their respective modules
  • Using TestRestTemplate now requires a dependency on spring-boot-restclient

🐞 Bug Fixes

  • JsonMixinModuleEntriesBeanRegistrationAotProcessor does not handle deprecated code #​48564
  • JdbcSessionAutoConfiguration may not match when using the auto-configured DataSource #​48552
  • @ServiceConnection for LgtmStackContainer fails when logging endpoint is configured due to multiple OtlpLoggingConnectionDetails beans #​48536
  • WebApplicationType does not consider modules when deduced from classpath #​48517
  • Spring Session auto-configuration fails in a war deployment as ServerProperties is not available #​48493
  • Opentelemetry logging export requires actuator module #​48488
  • RabbitHealthIndicator reports an error when version is missing from the connection's server properties #​48487
  • Actuator Info class has inconsistent nullability annotations and cannot be built with null value #​48480
  • Profiles retained during AOT processing are not configured in a native image #​48476
  • Security matchers and WebServerNamespace resolution can fail with NoClassDefFoundError when used in a traditional WAR deployment #​48388
  • HealthEndpointGroupMembershipValidator does not consider reactive health indicators causing NoSuchHealthContributorException to be thrown #​48387
  • spring.jackson.default-property-inclusion is not applied to content inclusion #​48343
  • TestRestTemplate.getRootUri() returns empty string #​48330
  • Redis health check reports an error when redis_version is missing from the INFO response #​48328
  • Parent's MeterRegistry beans are closed when child context closes #​48325
  • HttpMessageConverters picks up converter beans for both client and server #​48310
  • Conditions to auto-configure a RestClient are outdated with the modularization #​48308
  • A custom JwtTypeValidator that replaces the default can no longer be configured #​48301
  • PropertiesRestClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it #​48296
  • SpringBootTest.UseMainMethod.WHEN_AVAILABLE and ALWAYS are incompatible with package-private or parameter-less main method #​48275
  • Conditions to auto-configure RestClient-based HTTP service clients are outdated with the modularization #​48274
  • Starter for Kotlinx Serialization Json is misnamed #​48262
  • ApplicationServletEnvironment is no longer configured in war deployments #​48254
  • RestClient.Builder bean present in @SpringBootTest due to spring-boot-starter-webmvc-test, but missing at runtime without restclient starter #​48253
  • ProblemDetail is rendered to XML incorrectly #​48222

📔 Documentation

  • Harmonize Kotlin example for HTTP Service client support #​48577
  • Document HttpMessageConverters detection changes in 4.0.1 #​48574
  • Improve javadoc for when to use class names rather than class references #​48569
  • Documentation has an outdated reference to the Jackson Kotlin Module #​48534
  • Caching documentation should clarify how to use a no-op implementation to run a test suite #​48532
  • Document that the default rolling policy for Log4j2 requires logging.file.path to be set #​48527
  • Review documentation and migration guide about changes in @AutoConfigureCache #​48522
  • License header in build samples is displayed in the reference documentation #​48478
  • Configuring Two DataSources How-To code sample is inconsistent #​48449
  • Fix links to source files on GitHub #​48398
  • Documentation contains broken links to GitHub source files #​48394
  • Document that org.aspectj.weaver.Advice must be on the classpath to enable support for Micrometer's annotations #​48360
  • Correct the annotation in the Kotlin @ConfigurationPropertiesSource example #​48357
  • Polish TestRestTemplate examples in the reference guide #​48336
  • Documentation missing for LocalTestWebServer #​48333
  • Update "Creating Your Own Starter" following modularisation #​48317
  • Fix links to javadoc in the reference documentation #​48300
  • Update references for RestTemplateCustomizer and RestTemplateBuilder classes in documentation #​48295
  • Remove modules section of the README following modularisation #​48291
  • Wrong number in Graceful Shutdown chapter #​48284
  • Mention new spring-boot-h2console module when describing how to use H2 Console #​48278
  • Clarify that @EnableBatchProcessing turns off all batch auto-configuration, including schema initialization #​48266
  • Documented replacements for spring.jackson.generator and spring.jackson.parser are inverted #​48255
  • Document the need for a JdbcDialect bean when using Spring Data JDBC and AOT #​48240
  • Update reference documentation as Spring Batch's resourceless infrastructure means that it no longer always requires a DataSource #​48233
  • Kotlin auto-configuration examples are not annotated with @AutoConfiguration #​48228
  • Revise "Use Liquibase for test-only migrations" section in reference manual #​48219
  • Infinispan Cache Documentation is outdated #​48218
  • Removed max-attempts properties metadata don't have replacement #​48206
  • Polish documentation on testing web applications and the various testing clients that are available #​47948

🔨 Dependency Upgrades

❤️ Contributors

Thank you to all the contributors who worked on this release:

@​Nhahan, @​arey, @​banseok1216, @​berry120, @​candrews, @​dmitrysulman, @​geopark021, @​hktechn0, @​igslznev, @​jwalter, @​kzander91, @​michaldo, @​mzeijen, @​ngocnhan-tran1996, @​noojung, @​scottfrederick, @​vpavic, and @​youngledo

v4.0.0

Compare Source

Full release notes for Spring Boot 4.0 are available on the wiki. There is also a migration guide to help you upgrade from Spring Boot 3.5.

New Features

  • Change tomcat and jetty runtime modules to starters #​48175
  • Rename spring-boot-kotlin-serialization to align with the name of the Kotlinx module that it pulls in #​48076

🐞 Bug Fixes

  • Error properties are a general web concern and should not be located beneath server.* #​48201
  • With both Jackson 2 and 3 on the classpath, @JsonTest fails due to duplicate jacksonTesterFactoryBean #​48198
  • Gradle war task does not exclude starter POMs from lib-provided #​48197
  • spring.test.webclient.mockrestserviceserver.enabled is not aligned with its module's name #​48193
  • SslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time #​48182
  • Properties bound in the child management context ignore the parent's environment prefix #​48177
  • ssl.chain.expiry metrics doesn't update for dynamically registered SSL bundles #​48171
  • Starter for spring-boot-micrometer-metrics is missing #​48161
  • Elasticsearch client's sniffer functionality should not be enabled by default #​48155
  • spring-boot-starter-elasticsearch should depend on elasticsearch-java #​48141
  • Auto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes #​48132
  • New arm64 macbooks fail to bootBuildImage due to incorrect platform image #​48128
  • Properties for configuring an isolated JsonMapper or ObjectMapper are incorrectly named #​48116
  • Buildpack fails with recent Docker installs due to hardcoded version in URL #​48103
  • Image building may fail when specifying a platform if an image has already been built with a different platform #​48099
  • Default values of Kotlinx Serialization JSON configuration properties are not documented #​48097
  • Custom XML converters should override defaults in HttpMessageConverters #​48096
  • Kotlin serialization is used too aggressively when other JSON libraries are available #​48070
  • PortInUseException incorrectly thrown on failure to bind port due to Netty IP misconfiguration #​48059
  • Auto-configured JCacheMetrics cannot be customized #​48057
  • WebSecurityCustomizer beans are excluded by WebMvcTest #​48055
  • Deprecated EnvironmentPostProcessor does not resolve arguments #​48047
  • RetryPolicySettings should refer to maxRetries, not maxAttempts #​48023
  • Devtools Restarter does not work with a parameterless main method #​47996
  • Dependency management for Kafka should not manage Scala 2.12 libraries #​47991
  • spring-boot-mail should depend on jakarta.mail:jakarta.mail-api and org.eclipse.angus:angus-mail instead of org.eclipse.angus:jakarta.mail #​47983
  • spring-boot-starter-data-mongodb-reactive has dependency on reactor-test #​47982
  • Support for ReactiveElasticsearchClient is in the wrong module #​47848

📔 Documentation

  • Removed property spring.test.webclient.register-rest-template is still documented #​48199
  • Mention support for detecting AWS ECS in "Deploying to the Cloud" #​48170
  • Revise AWS section of "Deploying to the Cloud" in reference manual #​48163
  • Fix typo in PortInUseException Javadoc #​48134
  • Correct section about required setters in "Type-safe Configuration Properties" #​48131
  • Use since attribute in configuration properties deprecation consistently #​48122
  • Document EndpointJsonMapper and management.endpoints.jackson.isolated-json-mapper #​48115
  • Document support for configuring servlet context init parameters using properties #​48112
  • Some configuration properties are not documented in the appendix #​48095
  • Clarify how warnings about soon-to-expire SSL certificates are reported #​48063
  • Document how to use ContextPropagatingTaskDecorator for propagating trace context over thread boundaries #​48053
  • Document the level of support for the OpenTelemetry APIs #​47960
  • Document that you need to build with Java 25 for buildpack build-image Graal support #​45501

🔨 Dependency Upgrades

❤️ Contributors

Thank you to all the contributors who worked on this release:

@​K-jun98, @​TerryTaoYY, @​filiphr, @​hojooo, @​linw-bai, @​nosan, @​scottfrederick, @​stevearmstrong-dev, @​stewue, and @​vpavic

v3.5.9

Compare Source

🐞 Bug Fixes

  • RabbitHealthIndicator reports an error when version is missing from the connection's server properties #​48486
  • Profiles retained during AOT processing are not configured in a native image #​48475
  • NullPointerException in UndertowWebServer.destroy() when using @DirtiesContext and Citrus Spring Boot Simulator #​48450
  • Redis health check reports an error when redis_version is missing from the INFO response #​48326
  • Parent's MeterRegistry beans are closed when child context closes #​48324
  • SpringBootTest.UseMainMethod.WHEN_AVAILABLE and ALWAYS are incompatible with package-private or parameter-less main method #​48271

📔 Documentation

  • Documentation has an outdated reference to the Jackson Kotlin Module #​48533
  • Caching documentation should clarify how to use a no-op implementation to run a test suite #​48531
  • Document that the default rolling policy for Log4j2 requires logging.file.path to be set #​48526
  • License header in build samples is displayed in the reference documentation #​48477
  • Configuring Two DataSources How-To code sample is inconsistent #​48448
  • Improve javadoc for when to use class names rather than class references #​48395
  • Document that org.aspectj.weaver.Advice must be on the classpath to enable support for Micrometer's annotations #​48359
  • Polish TestRestTemplate examples in the reference guide #​48335
  • Fix links to javadoc in the reference documentation #​48299
  • Clarify that @EnableBatchProcessing turns off all batch auto-configuration, including schema initialization #​48265
  • Kotlin auto-configuration examples are not annotated with @AutoConfiguration #​48227
  • Infinispan Cache Documentation is outdated #​48217
  • Revise "Use Liquibase for test-only migrations" section in reference manual #​48169

🔨 Dependency Upgrades

❤️ Contributors

Thank you to all the contributors who worked on this release:

@​banseok1216, @​berry120, @​dmitrysulman, @​geopark021, @​noojung, @​scottfrederick, @​vpavic, and @​youngledo

v3.5.8

Compare Source

⚠️ Noteworthy changes

🐞 Bug Fixes

  • Gradle war task does not exclude starter POMs from lib-provided #​48196
  • Testcontainers integration fails on Docker 29.0.0 #​48192
  • SslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time #​48180
  • Properties bound in the child management context ignore the parent's environment prefix #​48176
  • ssl.chain.expiry metrics doesn't update for dynamically registered SSL bundles #​48153
  • Auto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes #​48129
  • New arm64 macbooks fail to bootBuildImage due to incorrect platform image #​48127
  • NullPointerException when using @ConditionalOnSingleCandidate with multiple manually registered singletons #​48123
  • Buildpack fails with recent Docker installs due to hardcoded version in URL #​48102
  • Image building may fail when specifying a platform if an image has already been built with a different platform #​48098
  • Undertow's ServletContext is destroy too early, making it unusable in @PreDestroy methods #​48061
  • PortInUseException incorrectly thrown on failure to bind port due to Netty IP misconfiguration #​48058
  • Auto-configured JCacheMetrics cannot be customized #​48056
  • WebSecurityCustomizer beans are excluded by WebMvcTest #​48054
  • Devtools Restarter does not work with a parameterless main method #​47987
  • Setting 'max-uri-tags' does not prevent unlimited meter growth on any AutoConfiguredCompositeMeterRegistry #​47923
  • Docker response 407 is not handled correctly resulting in no error message #​47900
  • spring-boot-maven-plugin process-aot goal does not find package-private main method #​47780

📔 Documentation

  • Revise AWS section of "Deploying to the Cloud" in reference manual #​48156
  • Fix typo in PortInUseException Javadoc #​48133
  • Correct section about required setters in "Type-safe Configuration Properties" #​48130
  • Document EndpointObjectMapper and management.endpoints.jackson.isolated-object-mapper #​48114
  • Document support for configuring servlet context init parameters using properties #​48111
  • Clarify how warnings about soon-to-expire SSL certificates are reported #​48062
  • Document how to use ContextPropagatingTaskDecorator for propagating trace context over thread boundaries #​48052
  • Use since attribute in configuration properties deprecation consistently #​47980
  • BootstrapContext#getOrElseThrow has incorrect reference to IllegalStateException #​47905
  • Clarify when BootstrapContext get methods may return null rather than throwing an exception or calling the fallback supplier #​47898
  • Document that Actuator endpoint may have at most one extension of each type #​47873
  • Limit Kotlin API documentation to Kotlin-specific APIs #​47859
  • Adapt AOTCache documentation to JEP 514 #​47274

🔨 Dependency Upgrades

❤️ Contributors

Thank you to all the contributors who worked on this release:

@​K-jun98, @​TerryTaoYY, @​hojooo, @​linw-bai, @​mipo256, @​namest504, @​ngocnhan-tran1996, @​nosan, @​scottfrederick, @​siva-sai-udaygiri, @​tschut, and @​vpavic

v3.5.7

Compare Source

New Features

  • Add TWENTY_FIVE to JavaVersion enum #​47609

🐞 Bug Fixes

  • Signed jar verification fails when nested in an uber war running on an Oracle JVM #​47771
  • In an uber war, value of the Sbom-Location manifest attribute does not match the SBOM's actual location #​47737
  • Homebrew formula for the CLI should use libexec #​47722
  • When virtual threads are enabled, embedded Jetty does not use recommended virtual thread configuration #​47717
  • ClientHttpRequestFactoryRuntimeHints is missing timeout methods with Duration overloads #​47678
  • OnBeanCondition no longer correctly finds annotations on scoped target proxy beans #​47635
  • JavaVersion doesn't work reliably in native-image #​47620
  • LiquibaseEndpoint always uses defaultSchema instead of liquibaseSchema #​47346
  • Launcher fails to find main method when it is parameterless #​47311
  • Package private Main class using Java 25 is not found by build plugins #​47309
  • Bitnami legacy images are not automatically detected #​47275
  • Maven plugin does not provide an easy way to exclude optional dependencies from uber jar #​25403

📔 Documentation

  • Some spring.test.* properties are not documented #​47775
  • Dependency management for Maven AntRun Plugin is missing changelog link #​47744
  • Developing Your First Spring Boot Application has outdated tools #​47700
  • Include deprecated configuration properties in the reference documentation #​47669
  • Aggregated Javadoc should link to the proper version of JakartaEE #​47593
  • Update javadoc of TestRestTemplate following change to redirect behavior #​47474
  • Use non-deprecated syntax to configure sourceCompatibility #​47343
  • Fix link to Framework's @Bean annotation #​47330
  • Update managed dependency version override examples in documentation #​47306

🔨 Dependency Upgrades

❤️ Contributors

Thank you to all the contributors who worked on this release:

@​DKARAGODIN, @​JinhyeokFang, @​Lublanski, @​Pankraz76, @​fhiyo, @​ngocnhan-tran1996, @​nosan, @​scottfrederick, and @​xyraclius

v3.5.6

Compare Source

🐞 Bug Fixes

  • Quoted -D arguments break system property resolution on Linux with Spring AOT #​47166
  • Groovy Templates fails with an NPE when rendering an auto new line #​47139
  • available() does not behave correctly when reading stored entries from a NestedJarFile #​47057
  • spring-boot-docker-compose doesn't create service connections when image has registry host but not project #​47019
  • Flyway Ignore Migration Patterns setting can't be set to an empty string #​47013

📔 Documentation

  • Default value of server.tomcat.resource.cache-ttl is not documented #​47253
  • Document Java 25 support #​47245
  • Fix links to Flyway reference documentation #​46988
  • Clarify Javadoc of Customizer interfaces about overriding behavior #​46942

🔨 Dependency Upgrades

❤️ Contributors

Thank you to all the contributors who worked on this release:

@​Chanwon-Seo, @​doljae, @​izeye, and @​quaff

v3.5.5

Compare Source

🐞 Bug Fixes

  • Hazelcast health indicator reports the wrong status when Hazelcast has shut down due to an out-of-memory error #​46909
  • Performance critical tracing code has high overhead due to the use of the Stream API #​46844
  • SpringLiquibaseCustomizer is exposed outside its defined visibility scope #​46758
  • Race condition in OutputCapture can result in stale data #​46721
  • Auto-configured WebClient no longer uses context's ReactorResourceFactory #​46673
  • Default value not detected for a field annoted with @Name #​46666
  • Missing metadata when using @Name with a constructor-bound property #​46663
  • Missing property for Spring Authorization Server's PAR endpoint #​46641
  • Property name is incorrect when reporting a mis-configured OAuth 2 Resource Server JWT public key location #​46636
  • Memory not freed on context restart in JpaMetamodel#CACHE with spring.main.lazy-initialization=true #​46634
  • Auto-configured MockMvc ignores @FilterRegistration annotation #​46605
  • Failure to discover default value for a primitive should not lead to document its default value #​46561

📔 Documentation

  • Kotlin samples for configuration metadata are in the wrong package #​46857
  • Observability examples in the reference guide are missing the Kotlin version #​46798
  • Align method descriptions for SslOptions getCiphers and getEnabledProtocols with @returns #​46769
  • Tracing samples in the reference guide are missing the Kotlin version #​46767
  • Improve Virtual Threads section to mention the changes in Java 24 #​46610
  • spring.test.webtestclient.timeout is not documented #​46588
  • spring-boot-test-autoconfigure should use the configuration properties annotation processor like other modules #​46585
  • Adapt deprecation level for management.health.influxdb.enabled #​46580
  • spring.test.mockmvc properties are not documented #​46578

🔨 Dependency Upgrades

❤️ Contributors

Thank you to all the contributors who worked on this release:

@​Kguswo, @​deejay1, @​ganjisriver, @​izeye, @​jetflo, @​ngocnhan-tran1996, @​nicolasgarea, @​nosan, @​prishedko, @​quaff, @​schmidti159, @​scordio, @​shakuzen, @​tommyk-gears, @​zahra7, and @​zakaria-shahen


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


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

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [actions/checkout](https://github.com/actions/checkout) | action | major | `v4` → `v6` | ![age](https://developer.mend.io/api/mc/badges/age/github-tags/actions%2fcheckout/v6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/actions%2fcheckout/v4/v6?slim=true) | | [https://github.com/actions/setup-java](https://github.com/actions/setup-java) | action | major | `v4` → `v5` | ![age](https://developer.mend.io/api/mc/badges/age/github-tags/actions%2fsetup-java/v5?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/actions%2fsetup-java/v4/v5?slim=true) | | [org.apache.maven.plugins:maven-source-plugin](https://maven.apache.org/plugins/) ([source](https://github.com/apache/maven-source-plugin)) | build | minor | `3.3.1` → `3.4.0` | ![age](https://developer.mend.io/api/mc/badges/age/maven/org.apache.maven.plugins:maven-source-plugin/3.4.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.apache.maven.plugins:maven-source-plugin/3.3.1/3.4.0?slim=true) | | [org.jetbrains.kotlin:kotlin-maven-allopen](https://kotlinlang.org/) ([source](https://github.com/JetBrains/kotlin)) | build | minor | `2.2.10` → `2.3.0` | ![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-maven-allopen/2.3.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-maven-allopen/2.2.10/2.3.0?slim=true) | | [org.jetbrains.kotlin:kotlin-maven-noarg](https://kotlinlang.org/) ([source](https://github.com/JetBrains/kotlin)) | build | minor | `2.2.10` → `2.3.0` | ![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-maven-noarg/2.3.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-maven-noarg/2.2.10/2.3.0?slim=true) | | [org.jetbrains.kotlin:kotlin-maven-plugin](https://kotlinlang.org/) ([source](https://github.com/JetBrains/kotlin)) | build | minor | `2.2.10` → `2.3.0` | ![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-maven-plugin/2.3.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-maven-plugin/2.2.10/2.3.0?slim=true) | | [org.jetbrains.kotlin:kotlin-bom](https://kotlinlang.org/) ([source](https://github.com/JetBrains/kotlin)) | import | minor | `2.2.10` → `2.3.0` | ![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-bom/2.3.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-bom/2.2.10/2.3.0?slim=true) | | [org.springframework.boot:spring-boot-dependencies](https://spring.io/projects/spring-boot) ([source](https://github.com/spring-projects/spring-boot)) | import | major | `3.5.4` → `4.0.1` | ![age](https://developer.mend.io/api/mc/badges/age/maven/org.springframework.boot:spring-boot-dependencies/4.0.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.springframework.boot:spring-boot-dependencies/3.5.4/4.0.1?slim=true) | --- > ⚠️ **Warning** > > Some dependencies could not be looked up. Check the warning logs for more information. --- ### Release Notes <details> <summary>actions/checkout (actions/checkout)</summary> ### [`v6`](https://github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v600) [Compare Source](https://github.com/actions/checkout/compare/v5...v6) - Persist creds to a separate file by [@&#8203;ericsciple](https://github.com/ericsciple) in [#&#8203;2286](https://github.com/actions/checkout/pull/2286) - Update README to include Node.js 24 support details and requirements by [@&#8203;salmanmkc](https://github.com/salmanmkc) in [#&#8203;2248](https://github.com/actions/checkout/pull/2248) ### [`v5`](https://github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v501) [Compare Source](https://github.com/actions/checkout/compare/v4...v5) - Port v6 cleanup to v5 by [@&#8203;ericsciple](https://github.com/ericsciple) in [#&#8203;2301](https://github.com/actions/checkout/pull/2301) </details> <details> <summary>actions/setup-java (https://github.com/actions/setup-java)</summary> ### [`v5`](https://github.com/actions/setup-java/compare/v4...v5) [Compare Source](https://github.com/actions/setup-java/compare/v4...v5) </details> <details> <summary>JetBrains/kotlin (org.jetbrains.kotlin:kotlin-maven-allopen)</summary> ### [`v2.3.0`](https://github.com/JetBrains/kotlin/blob/HEAD/ChangeLog.md#230) [Compare Source](https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.0) ##### Analysis API - [`KT-80082`](https://youtrack.jetbrains.com/issue/KT-80082) K2. False positive "Cannot resolve method" for self-bounded generic with wildcard return type in Java interop - [`KT-80303`](https://youtrack.jetbrains.com/issue/KT-80303) Move `:native:analysis-api-klib-reader` to `:libraries:tools` ##### Analysis API. Code Compilation - [`KT-70860`](https://youtrack.jetbrains.com/issue/KT-70860) K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var - [`KT-78554`](https://youtrack.jetbrains.com/issue/KT-78554) K2 IDE / Kotlin Debugger: ISE “No override for FUN IR\_EXTERNAL\_DECLARATION\_STUB” on calling toString() for local class instance during evaluation - [`KT-73201`](https://youtrack.jetbrains.com/issue/KT-73201) K2 IDE: Error while evaluating expressions with local classes ##### Analysis API. FIR - [`KT-81378`](https://youtrack.jetbrains.com/issue/KT-81378) Expected expression 'FirFunctionCallImpl' to be resolved caused by `suspend {}` - [`KT-80473`](https://youtrack.jetbrains.com/issue/KT-80473) Add events for tracking LL activities - [`KT-46375`](https://youtrack.jetbrains.com/issue/KT-46375) Analysis API: Support cross-file class redeclaration checks using indices - [`KT-80471`](https://youtrack.jetbrains.com/issue/KT-80471) Analysis API: Deduplicate equivalent call candidates in `resolveToCallCandidates` - [`KT-79653`](https://youtrack.jetbrains.com/issue/KT-79653) \[Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries - [`KT-75858`](https://youtrack.jetbrains.com/issue/KT-75858) K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter - [`KT-80231`](https://youtrack.jetbrains.com/issue/KT-80231) AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases - [`KT-80233`](https://youtrack.jetbrains.com/issue/KT-80233) Pull mutation out of AnnotationArgumentsStateKeepers - [`KT-71466`](https://youtrack.jetbrains.com/issue/KT-71466) `LLFirBuiltinsSessionFactory` uses `createCompositeSymbolProvider` - [`KT-76432`](https://youtrack.jetbrains.com/issue/KT-76432) JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl ##### Analysis API. Infrastructure - [`KT-80717`](https://youtrack.jetbrains.com/issue/KT-80717) Support IntelliJ Bazel build in the Kotlin Coop development mode ##### Analysis API. Light Classes - [`KT-80656`](https://youtrack.jetbrains.com/issue/KT-80656) Duplicate no-args constructor in PSI - [`KT-60490`](https://youtrack.jetbrains.com/issue/KT-60490) Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class - [`KT-79689`](https://youtrack.jetbrains.com/issue/KT-79689) SymbolLightClassForClassLike.toString() causes PSI tree loading - [`KT-80690`](https://youtrack.jetbrains.com/issue/KT-80690) Private interface functions are not present in light classes - [`KT-80256`](https://youtrack.jetbrains.com/issue/KT-80256) K2: Certain actions in JPA code causes infinite PIEAE: "Element class CompositeElement of type REFERENCE\_EXPRESSION (class KtNameReferenceExpressionElementType)" - [`KT-79012`](https://youtrack.jetbrains.com/issue/KT-79012) Add a high-level overview of light classes ##### Analysis API. Providers and Caches ##### Fixes - [`KT-81476`](https://youtrack.jetbrains.com/issue/KT-81476) Analysis API: `AlreadyDisposedException` from low-memory cache cleanup - [`KT-80911`](https://youtrack.jetbrains.com/issue/KT-80911) Analysis API: Execute session invalidation in a non-cancelable section - [`KT-81242`](https://youtrack.jetbrains.com/issue/KT-81242) Analysis API: Add UUID/lifetime properties to LL FIR session structure logging - [`KT-80622`](https://youtrack.jetbrains.com/issue/KT-80622) Analysis API: Visualise LL FIR session structure & weight - [`KT-80904`](https://youtrack.jetbrains.com/issue/KT-80904) Analysis API: "Invalid dangling file module" exception during session invalidation - [`KT-78882`](https://youtrack.jetbrains.com/issue/KT-78882) K2 AA: Calling containingSymbol on getProgressionLastElement causes exception - [`KT-58325`](https://youtrack.jetbrains.com/issue/KT-58325) Analysis API: Combine `LLKotlinStubBasedLibrarySymbolProvider`s in session dependencies (optimization) - [`KT-77825`](https://youtrack.jetbrains.com/issue/KT-77825) Analysis API: `CheckersComponent` consumes a lot of memory while being unused in LL FIR sessions - [`KT-76526`](https://youtrack.jetbrains.com/issue/KT-76526) Incorrect built-in module is provided for non-JVM sources in Standalone - [`KT-62549`](https://youtrack.jetbrains.com/issue/KT-62549) Analysis API: Cache callables in combined Kotlin symbol providers - [`KT-70721`](https://youtrack.jetbrains.com/issue/KT-70721) LL FIR: investigate possibility of moving `LLFirFirClassByPsiClassProvider . getClassByPsiClass (PsiClass)` to symbol providers - [`KT-72998`](https://youtrack.jetbrains.com/issue/KT-72998) Analysis API: Introduce `getClassLikeSymbolByPsi` to LL FIR symbol providers ##### Analysis API. Standalone - [`KT-81108`](https://youtrack.jetbrains.com/issue/KT-81108) AA: java.lang.ClassCastException: class org.jetbrains.kotlin.fir.FirBinaryDependenciesModuleData cannot be cast to class org.jetbrains.kotlin.analysis.low\.level.api.fir.projectStructure.LLFirModuleData - [`KT-80573`](https://youtrack.jetbrains.com/issue/KT-80573) Potential performance issue on class ID computation - [`KT-80559`](https://youtrack.jetbrains.com/issue/KT-80559) Try to optimize KotlinStandaloneDeclarationProviderFactory startup for tests - [`KT-71706`](https://youtrack.jetbrains.com/issue/KT-71706) Analysis API Standalone: `StandaloneProjectFactory.createSearchScopeByLibraryRoots` creates inefficient file-based search scopes ##### Analysis API. Stubs and Decompilation ##### Performance Improvements - [`KT-77097`](https://youtrack.jetbrains.com/issue/KT-77097) Support `ReplaceWith` deprecation annotation argument via stubs ##### Fixes - [`KT-80350`](https://youtrack.jetbrains.com/issue/KT-80350) Drop K1 decompiler - [`KT-77082`](https://youtrack.jetbrains.com/issue/KT-77082) StackOverflowError in CreateFreshTypeVariableSubstitutorStage.shouldBeFlexible - [`KT-80798`](https://youtrack.jetbrains.com/issue/KT-80798) Improve stubs tests coverage - [`KT-75318`](https://youtrack.jetbrains.com/issue/KT-75318) Read context parameter fields from metadata in CallableClsStubBuilder - [`KT-77874`](https://youtrack.jetbrains.com/issue/KT-77874) AA disagrees with the compiler on descriptions of context parameters from binaries in messages for context argument ambiguity errors - [`KT-80276`](https://youtrack.jetbrains.com/issue/KT-80276) Implement native coping for stubs - [`KT-79780`](https://youtrack.jetbrains.com/issue/KT-79780) Decompiled MultifileClass has Facade kind - [`KT-79398`](https://youtrack.jetbrains.com/issue/KT-79398) isClsStubCompiledToJvmDefaultImplementation flag is inconsistent for compiled and decompiled stubs - [`KT-79798`](https://youtrack.jetbrains.com/issue/KT-79798) Prettify stub usages in LL stub-based deserializer - [`KT-78949`](https://youtrack.jetbrains.com/issue/KT-78949) AbstractLLStubBasedResolutionTest: tests against real stub-based files - [`KT-80251`](https://youtrack.jetbrains.com/issue/KT-80251) Inconsistent decompiled and compiled stub for properties with an initializer and a delegate - [`KT-74547`](https://youtrack.jetbrains.com/issue/KT-74547) Implement decompiler for K2 - [`KT-79555`](https://youtrack.jetbrains.com/issue/KT-79555) Move KotlinFileStubImpl serialization/deserialization to the Analysis API - [`KT-79487`](https://youtrack.jetbrains.com/issue/KT-79487) "null DefinitelyNotNullType for 'T'" from decompiler - [`KT-60764`](https://youtrack.jetbrains.com/issue/KT-60764) Stub Builder: fix differences between K1 and K2 stub building on decompiled files - [`KT-79484`](https://youtrack.jetbrains.com/issue/KT-79484) An empty enum class with a member decompiles with a synthetic error - [`KT-79730`](https://youtrack.jetbrains.com/issue/KT-79730) Decompiled files have an extra `Kt` suffix - [`KT-79483`](https://youtrack.jetbrains.com/issue/KT-79483) data modifier is not present on object modifier - [`KT-75398`](https://youtrack.jetbrains.com/issue/KT-75398) Local classes from scripts have ClassId in stubs - [`KT-79412`](https://youtrack.jetbrains.com/issue/KT-79412) Context parameters with type annotations cause inconsistency errors while building stubs ##### Analysis API. Surface ##### New Features - [`KT-80084`](https://youtrack.jetbrains.com/issue/KT-80084) Provide endpoints for Analysis API to understand when the context sensitive resolution is used - [`KT-64340`](https://youtrack.jetbrains.com/issue/KT-64340) Analysis API: no way to get a type of vararg parameter - [`KT-68387`](https://youtrack.jetbrains.com/issue/KT-68387) AA: provide context for type approximations ##### Performance Improvements - [`KT-80713`](https://youtrack.jetbrains.com/issue/KT-80713) Optimize KaDeclarationSymbol#visibility for class-like symbols - [`KT-79097`](https://youtrack.jetbrains.com/issue/KT-79097) KaFirNamedFunctionSymbol#isSuspend shouldn't trigger resolution - [`KT-79095`](https://youtrack.jetbrains.com/issue/KT-79095) isOverride shouldn't trigger resolution if not compiler plugins present ##### Fixes - [`KT-80234`](https://youtrack.jetbrains.com/issue/KT-80234) Incorrect value of `isActual` for the implicitly `actual` constructor of annotation class - [`KT-81132`](https://youtrack.jetbrains.com/issue/KT-81132) Use KaSession instead of a particular KaSessionComponent for context parameter bridges - [`KT-81129`](https://youtrack.jetbrains.com/issue/KT-81129) K2: KaSymbolInformationProvider#importableFqName: should return null for dynamic declarations - [`KT-81128`](https://youtrack.jetbrains.com/issue/KT-81128) K2: KaSymbolInformationProvider#importableFqName: should return null for error destructuring declarations - [`KT-81127`](https://youtrack.jetbrains.com/issue/KT-81127) K2: KaSymbolInformationProvider#importableFqName: should return null for anonymous functions - [`KT-81126`](https://youtrack.jetbrains.com/issue/KT-81126) K2: KaSymbolInformationProvider#importableFqName: should return null for enum entry initializer constructors - [`KT-81125`](https://youtrack.jetbrains.com/issue/KT-81125) K2: KaSymbolInformationProvider#importableFqName: should return null for property accessors - [`KT-81124`](https://youtrack.jetbrains.com/issue/KT-81124) K2: KaSymbolInformationProvider#importableFqName: type alias constructor should have a reference to the type alias and not to the underlying class - [`KT-70127`](https://youtrack.jetbrains.com/issue/KT-70127) Analysis API: 'KaFirReceiverParameterSymbol' does not implement 'KaFirSymbol'; leads to exception from `importableFqName` - [`KT-81123`](https://youtrack.jetbrains.com/issue/KT-81123) Reimplement KaFirSymbolInformationProvider#importableFqName - [`KT-81122`](https://youtrack.jetbrains.com/issue/KT-81122) Drop KaImportOptimizer - [`KT-78093`](https://youtrack.jetbrains.com/issue/KT-78093) Add bridges for context parameters - [`KT-79772`](https://youtrack.jetbrains.com/issue/KT-79772) Migrate from 'validityAsserted' to 'withValidityAssertion' - [`KT-79328`](https://youtrack.jetbrains.com/issue/KT-79328) K2 AA, isUsedAsExpression: Unhandled Non-KtExpression parent of KtExpression: class org.jetbrains.kotlin.psi.KtImportDirective - [`KT-80366`](https://youtrack.jetbrains.com/issue/KT-80366) IllegalStateException from KaFirStopWorldCacheCleaner - [`KT-80274`](https://youtrack.jetbrains.com/issue/KT-80274) Merge AbstractMultiModuleSymbolByPsiTest to AbstractSymbolByPsiTest - [`KT-80352`](https://youtrack.jetbrains.com/issue/KT-80352) KaBaseResolutionScope.contains(PsiElement) always returns false for Android light classes (e.g. synthetic R.java classes) - [`KT-80178`](https://youtrack.jetbrains.com/issue/KT-80178) Incorrect modality for an abstract interface function with a redundant `open` modifier - [`KT-79129`](https://youtrack.jetbrains.com/issue/KT-79129) \[Analysis API] `KaFe10TypeCreator.buildClassType` cannot build builtin types by class ids - [`KT-79143`](https://youtrack.jetbrains.com/issue/KT-79143) AA: `argumentMapping` contains an expression that is not an argument - [`KT-59857`](https://youtrack.jetbrains.com/issue/KT-59857) KaExpressionTypeProvider#returnType shouldn't throw an exception for class like declarations - [`KT-79667`](https://youtrack.jetbrains.com/issue/KT-79667) Enable resolve on java record components in standalone mode - [`KT-73050`](https://youtrack.jetbrains.com/issue/KT-73050) `KaFirSymbolRelationProvider#expectsForActual`: suspicius logic for KaReceiverParameterSymbol - [`KT-78904`](https://youtrack.jetbrains.com/issue/KT-78904) KaBaseWriteActionStartedChecker throws when no additional WA was done - [`KT-79281`](https://youtrack.jetbrains.com/issue/KT-79281) Add KDoc to `KaTypePointer#restore` - [`KT-78597`](https://youtrack.jetbrains.com/issue/KT-78597) KaUseSiteVisibilityChecker returns false for internal functions exposed via implicit receiver - [`KT-71705`](https://youtrack.jetbrains.com/issue/KT-71705) FIR api impl: Postfix increment expression's `expressionType` is Unit when incrementing array element - [`KT-75057`](https://youtrack.jetbrains.com/issue/KT-75057) Analysis API: Reference to object through typealias in invoke operator call leads to original type ##### Backend. Native. Debug - [`KT-79848`](https://youtrack.jetbrains.com/issue/KT-79848) Flaky debugger tests in opt.debug/cache.\*/GC.CMS/GC.sch.ad/alloc.custom configuration ##### Backend. Wasm ##### New Features - [`KT-59032`](https://youtrack.jetbrains.com/issue/KT-59032) Support instantiation of annotation classes on WASM ##### Fixes - [`KT-76204`](https://youtrack.jetbrains.com/issue/KT-76204) K/Wasm: support generating a wasm module per kotlin module/klib - [`KT-79357`](https://youtrack.jetbrains.com/issue/KT-79357) K/Wasm: store data for string literals in utf8 for Latin1 - [`KT-82075`](https://youtrack.jetbrains.com/issue/KT-82075) K/Wasm: kotlin.wasm.internal.getSimpleName crashes on iOS Safari older than 26 - [`KT-79244`](https://youtrack.jetbrains.com/issue/KT-79244) \[Wasm] Drop K1-specific tests, testrunners and test directives - [`KT-69621`](https://youtrack.jetbrains.com/issue/KT-69621) K/Wasm: Consider enabling support for KClass.qualifiedName by default - [`KT-80397`](https://youtrack.jetbrains.com/issue/KT-80397) K/Wasm: turn on by default using a new version of the exception handling proposal for wasm-wasi target - [`KT-81372`](https://youtrack.jetbrains.com/issue/KT-81372) K/Wasm: JsException: Exception was thrown while running JavaScript code on Safari 18.2/18.3 - [`KT-80018`](https://youtrack.jetbrains.com/issue/KT-80018) K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit) - [`KT-66072`](https://youtrack.jetbrains.com/issue/KT-66072) K/Wasm: improve how exceptions work in JS interop - [`KT-80106`](https://youtrack.jetbrains.com/issue/KT-80106) devServer in Kotlin/Wasm overwrites defaults, causing missing static paths - [`KT-80210`](https://youtrack.jetbrains.com/issue/KT-80210) Wasm: "Unexpected non-external class: kotlin.Nothing" caused by JsExport with JsPromise - [`KT-80555`](https://youtrack.jetbrains.com/issue/KT-80555) WASM IC: Can't link symbol on kotlinx.coroutines on fresh master - [`KT-80415`](https://youtrack.jetbrains.com/issue/KT-80415) WasmJs Number Elvis Operator Crash - [`KT-76509`](https://youtrack.jetbrains.com/issue/KT-76509) WasmJS: ReferenceError: Temporal is not defined caused by "Redundant reference to unused external results" - [`KT-79317`](https://youtrack.jetbrains.com/issue/KT-79317) \[Wasm] Do not throw CCE for ExcludedFromCodegen declarations - [`KT-78036`](https://youtrack.jetbrains.com/issue/KT-78036) K/Wasm: generate a message with "expected" and "actual" types in case of CCE ##### Compiler ##### New Features - [`KT-80461`](https://youtrack.jetbrains.com/issue/KT-80461) K2: false positive NO\_ELSE\_IN\_WHEN for complex sealed hierarchy - [`KT-77676`](https://youtrack.jetbrains.com/issue/KT-77676) K/N: enable typechecks and the casts optimization pass in debug mode by default - [`KT-79185`](https://youtrack.jetbrains.com/issue/KT-79185) Support local type aliases - [`KT-80837`](https://youtrack.jetbrains.com/issue/KT-80837) Warn about extension function with a context shadowed by member - [`KT-80768`](https://youtrack.jetbrains.com/issue/KT-80768) Warning on overloading by a superset of context parameters in class context - [`KT-80031`](https://youtrack.jetbrains.com/issue/KT-80031) Check spotbugs's `@CheckReturnValue` in Kotlin's unused return value checker - [`KT-79380`](https://youtrack.jetbrains.com/issue/KT-79380) Native: add performance measurement for the rest of backend phases - [`KT-79381`](https://youtrack.jetbrains.com/issue/KT-79381) Native: add performance measurement of LLVM phases - [`KT-80222`](https://youtrack.jetbrains.com/issue/KT-80222) Implement the prohibition of always-false `is` checks for definitely incompatible types - [`KT-79295`](https://youtrack.jetbrains.com/issue/KT-79295) Parse and build raw FIR from new short and full forms of positional destructuring with square brackets - [`KT-74810`](https://youtrack.jetbrains.com/issue/KT-74810) Support typealiased/mapped Java types in unused return value checker - [`KT-71244`](https://youtrack.jetbrains.com/issue/KT-71244) Incorporate existing `@CheckReturnValue` annotation(s) into Kotlin's unused return value checker - [`KT-79922`](https://youtrack.jetbrains.com/issue/KT-79922) Record 'MustUse/ExplicitlyIgnorable' state for overrides even in disabled RVC mode - [`KT-79920`](https://youtrack.jetbrains.com/issue/KT-79920) Store 'Explicitly ignorable' state of function/property in the metadata - [`KT-79690`](https://youtrack.jetbrains.com/issue/KT-79690) Implement a USELESS\_ELVIS\_LEFT\_IS\_NULL with elvis expression - [`KT-79296`](https://youtrack.jetbrains.com/issue/KT-79296) Implement/adapt diagnostics for new destructuring - [`KT-79298`](https://youtrack.jetbrains.com/issue/KT-79298) Report errors on new destructuring syntax in K1 ##### Performance Improvements - [`KT-81617`](https://youtrack.jetbrains.com/issue/KT-81617) Native: casts optimizations pass explodes on deep nested loops - [`KT-80554`](https://youtrack.jetbrains.com/issue/KT-80554) Kotlin/Native: investigate performance hit from always-on llvm pass profiling - [`KT-81340`](https://youtrack.jetbrains.com/issue/KT-81340) K/N: severe compilation time degradation after turning on casts optimization pass - [`KT-80370`](https://youtrack.jetbrains.com/issue/KT-80370) Add NO\_INLINE attribute to some of runtime functions - [`KT-80167`](https://youtrack.jetbrains.com/issue/KT-80167) K/N: condense the nodes and edges in DevirtualizationAnalysis constraint graph - [`KT-79535`](https://youtrack.jetbrains.com/issue/KT-79535) Revert incorrect SAM conversion enhancements brought to K2 ##### Fixes - [`KT-79979`](https://youtrack.jetbrains.com/issue/KT-79979) K2: ClassCastException when overriding extension property with delegation - [`KT-82590`](https://youtrack.jetbrains.com/issue/KT-82590) ClassCastException when instantiating class with generics implemented by fun interface and lambda - [`KT-78881`](https://youtrack.jetbrains.com/issue/KT-78881) K2: False positive "Assigned value is never read" in composable function - [`KT-79276`](https://youtrack.jetbrains.com/issue/KT-79276) Dexing fails with "Cannot read field X because <local0> is null" with 2.2.0 - [`KT-79547`](https://youtrack.jetbrains.com/issue/KT-79547) "UnsupportedOperationException: Not supported" with inlining and value classes - [`KT-79442`](https://youtrack.jetbrains.com/issue/KT-79442) "Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfaces - [`KT-80744`](https://youtrack.jetbrains.com/issue/KT-80744) Kotlin failure on lambda with type parameter - [`KT-81618`](https://youtrack.jetbrains.com/issue/KT-81618) "Number of arguments should not be less than number of parameters" on JVM on Kotlin 2.3.0-Beta1 - [`KT-82869`](https://youtrack.jetbrains.com/issue/KT-82869) Green-to-Red change in 2.3 after prioritizing non-suspend-function-type overloads - [`KT-79611`](https://youtrack.jetbrains.com/issue/KT-79611) "IllegalStateException: couldn't find inline method": Exception during incremental compilation - [`KT-78895`](https://youtrack.jetbrains.com/issue/KT-78895) Consider dropping isLocalInFunction and FirClassLikeDeclaration.isLocal - [`KT-82040`](https://youtrack.jetbrains.com/issue/KT-82040) Native: ClassCastException: PointerInputChange - [`KT-81924`](https://youtrack.jetbrains.com/issue/KT-81924) K2: "Cannot infer type for this parameter", "Overload resolution ambiguity between candidates" - [`KT-80864`](https://youtrack.jetbrains.com/issue/KT-80864) K2: Missing `Val cannot be reassigned` diagnostic for Java final fields (crashes in runtime with `IllegalAccessError`) - [`KT-71420`](https://youtrack.jetbrains.com/issue/KT-71420) Report error when reified type parameter is inferred to intersection type - [`KT-79451`](https://youtrack.jetbrains.com/issue/KT-79451) Rework approach to recursive types approximation - [`KT-78413`](https://youtrack.jetbrains.com/issue/KT-78413) Kotlin Debugger: value classes as context parameters have incorrect names in Variables View during debugging - [`KT-82138`](https://youtrack.jetbrains.com/issue/KT-82138) Debugger: Cannot evaluate JvmInline value class parameter - [`KT-82381`](https://youtrack.jetbrains.com/issue/KT-82381) ArrayIndexOutOfBoundsException while FirDiagnosticsCompilerResultsReporter tries to print code as part of a warning log - [`KT-81068`](https://youtrack.jetbrains.com/issue/KT-81068) Corrupted Unicode paths passed or used in the compiler - [`KT-79783`](https://youtrack.jetbrains.com/issue/KT-79783) KDoc parser: Links aren't rendered if the line has an indent of 4 or more - [`KT-80549`](https://youtrack.jetbrains.com/issue/KT-80549) Call of Java method with type parameter bounds: Expected FirResolvedTypeRef with ConeKotlinType but was FirJavaTypeRef - [`KT-82132`](https://youtrack.jetbrains.com/issue/KT-82132) False-positive type mismatch with -language-version 2.2 - [`KT-81988`](https://youtrack.jetbrains.com/issue/KT-81988) K2: Any?.toString() causes NPE inside lambda with Java - [`KT-81652`](https://youtrack.jetbrains.com/issue/KT-81652) Native: ClassCastException: ApplicationForegroundStateListener.Companion - [`KT-76479`](https://youtrack.jetbrains.com/issue/KT-76479) Backend. JVM: Report errors on exposure of types in inline functions - [`KT-82022`](https://youtrack.jetbrains.com/issue/KT-82022) K/N: Unexpected "Annotation `@JvmInline` is missing on actual declaration" warning with value classes - [`KT-80250`](https://youtrack.jetbrains.com/issue/KT-80250) ISE: flow for PostponedLambdaExitNode not initialized - traversing nodes in wrong order? - [`KT-76344`](https://youtrack.jetbrains.com/issue/KT-76344) Drop language version 1.9 for non-JVM platforms - [`KT-76343`](https://youtrack.jetbrains.com/issue/KT-76343) Drop language version 1.8 - [`KT-80330`](https://youtrack.jetbrains.com/issue/KT-80330) K2: NPE at org.jetbrains.kotlin.fir.resolve.calls.FirCallResolver.createResolvedNamedReference - [`KT-80400`](https://youtrack.jetbrains.com/issue/KT-80400) K2: AbstractMethodError on fun interface implementation inheriting from an interface compiled with -jvm-default=disable - [`KT-9111`](https://youtrack.jetbrains.com/issue/KT-9111) Improve diagnostic for call with access to outer class from nested class - [`KT-78280`](https://youtrack.jetbrains.com/issue/KT-78280) Implement the sourceless `KtDiagnostic`s - [`KT-74999`](https://youtrack.jetbrains.com/issue/KT-74999) K2: KotlinNothingValueException within Extension Function - [`KT-81254`](https://youtrack.jetbrains.com/issue/KT-81254) "AssertionError: There should be at least one non-stub type to compute common supertype": Parser issue during generic type inference - [`KT-53237`](https://youtrack.jetbrains.com/issue/KT-53237) NI: Frontend ignores generic bound when inferring types - [`KT-81186`](https://youtrack.jetbrains.com/issue/KT-81186) Only allow local type aliases in REPL/scripts until full stabilization - [`KT-80929`](https://youtrack.jetbrains.com/issue/KT-80929) IC Native: Undefined symbols on ktor - [`KT-81657`](https://youtrack.jetbrains.com/issue/KT-81657) K2: put warning about "exposing package-private in internal" under experimental language feature - [`KT-81241`](https://youtrack.jetbrains.com/issue/KT-81241) Konanc exit while lowering org.jetbrains.kotlin.ir.util.IrUtilsKt.remapTypeParameters - [`KT-74819`](https://youtrack.jetbrains.com/issue/KT-74819) K2: False-positive overload resolution ambiguity for flatMap inside PCLA - [`KT-81547`](https://youtrack.jetbrains.com/issue/KT-81547) Stabilize DFA-based exhaustiveness - [`KT-79274`](https://youtrack.jetbrains.com/issue/KT-79274) Frontend implementation of name-based destructuring - [`KT-79506`](https://youtrack.jetbrains.com/issue/KT-79506) Contract for getter and setter doesn't work if a property is called from another module - [`KT-58988`](https://youtrack.jetbrains.com/issue/KT-58988) K2: Deprecate exposing package-private parameter of internal method - [`KT-80711`](https://youtrack.jetbrains.com/issue/KT-80711) IC Native: NPE during link on ktor - [`KT-77727`](https://youtrack.jetbrains.com/issue/KT-77727) Move some of the extra checkers to the default list - [`KT-76136`](https://youtrack.jetbrains.com/issue/KT-76136) Switch latest stable version in Kotlin project to 2.3 - [`KT-81257`](https://youtrack.jetbrains.com/issue/KT-81257) Native: "Unexpected boolean predicate" when generating 'static\_cache' - [`KT-81525`](https://youtrack.jetbrains.com/issue/KT-81525) Report REDUNDANT\_SPREAD\_OPERATOR on (\*) instead of argument expression - [`KT-81522`](https://youtrack.jetbrains.com/issue/KT-81522) Fix Light Tree `SPREAD_OPERATOR` diagnostic positioning - [`KT-77008`](https://youtrack.jetbrains.com/issue/KT-77008) K2: Incorrectly force casting to a wrong type - [`KT-78127`](https://youtrack.jetbrains.com/issue/KT-78127) K2: Too precise inference for if/when with expected type in assignment - [`KT-80208`](https://youtrack.jetbrains.com/issue/KT-80208) K2: ClassCastException: "class java.util.ArrayList cannot be cast to class java.lang.Void" type inference picks Void for generic function - [`KT-75797`](https://youtrack.jetbrains.com/issue/KT-75797) Native: find a way to handle generates C bridges in inline functions - [`KT-78819`](https://youtrack.jetbrains.com/issue/KT-78819) K2: False positive ABSTRACT\_MEMBER\_NOT\_IMPLEMENTED in KJK hierarchy - [`KT-80003`](https://youtrack.jetbrains.com/issue/KT-80003) Kotlin/Native: deprecate eager GlobalData initialization - [`KT-79231`](https://youtrack.jetbrains.com/issue/KT-79231) Inconsistent InnerClass entry flags for abstract inner enum - [`KT-20677`](https://youtrack.jetbrains.com/issue/KT-20677) Improve diagnostic about implicit default constructor absence for expected annotation class - [`KT-81385`](https://youtrack.jetbrains.com/issue/KT-81385) Missing error of nullable expression in class literal in case of reified type parameter - [`KT-81251`](https://youtrack.jetbrains.com/issue/KT-81251) Smartcast doesn't work for an effectively private inline function - [`KT-81245`](https://youtrack.jetbrains.com/issue/KT-81245) Automatic smart cast on properties with EBF is allowed on inlined property accessors - [`KT-81222`](https://youtrack.jetbrains.com/issue/KT-81222) Custom getter is allowed on a property with redundant EBF - [`KT-80795`](https://youtrack.jetbrains.com/issue/KT-80795) Wrong type cast is added for IMPLICIT\_COERCION\_TO\_UNIT - [`KT-81141`](https://youtrack.jetbrains.com/issue/KT-81141) Fix FirUnsupportedArrayLiteralChecker to forbid array literals inside non-annotation contexts - [`KT-81383`](https://youtrack.jetbrains.com/issue/KT-81383) Return type of anonymous function used as `run` argument is incorrectly inferred to `Nothing` - [`KT-80577`](https://youtrack.jetbrains.com/issue/KT-80577) "Return type mismatch" for self-referential types used as generic parameters - [`KT-75215`](https://youtrack.jetbrains.com/issue/KT-75215) KDoc: references from `@param` tag are rendered as plain text - [`KT-79887`](https://youtrack.jetbrains.com/issue/KT-79887) K2 Compiler Internal Error in 'FirFakeOverrideGenerator.checkStatusIsResolved' Method - [`KT-78125`](https://youtrack.jetbrains.com/issue/KT-78125) false-negative shadowed contextual overload warning on local declarations - [`KT-81198`](https://youtrack.jetbrains.com/issue/KT-81198) Move type and type parameter annotations from jvm\_metadata.proto to metadata.proto - [`KT-81057`](https://youtrack.jetbrains.com/issue/KT-81057) Wrong handling of boxing during redundant casts optimization - [`KT-81191`](https://youtrack.jetbrains.com/issue/KT-81191) K2: "null cannot be cast to non-null type ConeTypeParameterLookupTag" with invalid code - [`KT-80285`](https://youtrack.jetbrains.com/issue/KT-80285) IJ monorepo: broken compilation after 2.2.20-RC update - [`KT-81115`](https://youtrack.jetbrains.com/issue/KT-81115) Allow converting lambda with explicit parameter when assigning to variable of an extension function type - [`KT-74588`](https://youtrack.jetbrains.com/issue/KT-74588) Redundant checkNotNull intrinsics instructions for Java generic methods - [`KT-78390`](https://youtrack.jetbrains.com/issue/KT-78390) Unmute `FusStatisticsIT.testKotlinxPlugins()` after AtomicFU updates `kotlin-metadata-jvm` - [`KT-79369`](https://youtrack.jetbrains.com/issue/KT-79369) Forbid typealiasing for all compiler-required annotations - [`KT-69294`](https://youtrack.jetbrains.com/issue/KT-69294) K2: Report `CONSTRUCTOR_OR_SUPERTYPE_ON_TYPEALIAS_WITH_TYPE_PROJECTION_ERROR` instead of `EXPANDED_TYPE_CANNOT_BE_INHERITED` after switching to LV 2.2 - [`KT-81064`](https://youtrack.jetbrains.com/issue/KT-81064) Wrong safe call null check handling during redundant casts optimization - [`KT-80871`](https://youtrack.jetbrains.com/issue/KT-80871) StackOverflowError on AnnotationTarget.TYPE - [`KT-80908`](https://youtrack.jetbrains.com/issue/KT-80908) K2: Compiling type annotation with self-annotated vararg fail with exception - [`KT-81018`](https://youtrack.jetbrains.com/issue/KT-81018) ISE "IR class for Foo not found" on missing dependency when lowering SAM constructor - [`KT-80936`](https://youtrack.jetbrains.com/issue/KT-80936) NON\_PUBLIC\_CALL\_FROM\_PUBLIC\_INLINE : `@PublishedApi` doesn't work for fun interfaces - [`KT-75748`](https://youtrack.jetbrains.com/issue/KT-75748) StackOverflowError when reading array from metadata annotations - [`KT-80606`](https://youtrack.jetbrains.com/issue/KT-80606) KotlinIllegalArgumentExceptionWithAttachments when using property itself in explicit backing field initialization - [`KT-80940`](https://youtrack.jetbrains.com/issue/KT-80940) K2: Exception in FIR2IR with AnnotationTarget.TYPE with self-annotated non-vararg default argument and usage in child module - [`KT-80538`](https://youtrack.jetbrains.com/issue/KT-80538) KaFirDiagnostic.EmptyRange doesn't work in most of the cases - [`KT-80524`](https://youtrack.jetbrains.com/issue/KT-80524) Class is not abstract and does not implement abstract member when compiling with kotlinc-jklib - [`KT-80597`](https://youtrack.jetbrains.com/issue/KT-80597) Apply fix for CVE-2024-7254 to our fork of protobuf 2.6.1 - [`KT-80849`](https://youtrack.jetbrains.com/issue/KT-80849) K2: `ConstValueProviderImpl` doesn't distinguish files with same name and package - [`KT-80602`](https://youtrack.jetbrains.com/issue/KT-80602) Exhaustiveness checker improvements for 2.3 - [`KT-80735`](https://youtrack.jetbrains.com/issue/KT-80735) Support || return/throw shortcut in unsed return value checker - [`KT-79651`](https://youtrack.jetbrains.com/issue/KT-79651) Report a warning about an unused return value only on the function name - [`KT-80719`](https://youtrack.jetbrains.com/issue/KT-80719) False positive: "Redundant visibility modifier": when overriding protected methods as "public" - [`KT-80434`](https://youtrack.jetbrains.com/issue/KT-80434) K2: DSL marker doesn't work with lambda fields - [`KT-80383`](https://youtrack.jetbrains.com/issue/KT-80383) Getter without a body is allowed on a property with an explicit backing field - [`KT-80446`](https://youtrack.jetbrains.com/issue/KT-80446) Explicit visibility modifiers are allowed on EBF - [`KT-80378`](https://youtrack.jetbrains.com/issue/KT-80378) ClassCastException on callable reference to a property with EBF - [`KT-80377`](https://youtrack.jetbrains.com/issue/KT-80377) Fir2Ir: "Cannot determine expected receiver type" for callable reference to a property with EBF outside of class - [`KT-80455`](https://youtrack.jetbrains.com/issue/KT-80455) K2: StackOverflowError in when exhaustiveness checker on red code - [`KT-72862`](https://youtrack.jetbrains.com/issue/KT-72862) \[Native caches] Umbrella for failing codegen/box tests for corner cases in synthetic accessors - [`KT-20278`](https://youtrack.jetbrains.com/issue/KT-20278) NO\_TYPE\_ARGUMENTS\_ON\_RHS: Confusing diagnostic for inner class of generic outer class - [`KT-80418`](https://youtrack.jetbrains.com/issue/KT-80418) Property with EBF with functional type isn't resolved if its type is Any - [`KT-80469`](https://youtrack.jetbrains.com/issue/KT-80469) Functional type from property is always used for explicit backing field - [`KT-80535`](https://youtrack.jetbrains.com/issue/KT-80535) Missing INITIALIZER\_TYPE\_MISMATCH for EBF - [`KT-80445`](https://youtrack.jetbrains.com/issue/KT-80445) Private visibility is possible for a property with EBF - [`KT-80164`](https://youtrack.jetbrains.com/issue/KT-80164) Move name generation for unnamed context parameters to frontend - [`KT-80684`](https://youtrack.jetbrains.com/issue/KT-80684) Line breaks are lost in multi-line diagnostic messages since 2.3.0 - [`KT-78112`](https://youtrack.jetbrains.com/issue/KT-78112) RETURN\_VALUE\_NOT\_USED is reported for local function even if it isn't marked with annotation in CHECKER mode - [`KT-48311`](https://youtrack.jetbrains.com/issue/KT-48311) Incorrect LINENUMBER after if with a suspend call - [`KT-80688`](https://youtrack.jetbrains.com/issue/KT-80688) Bad SourceDebugExtension caused by enhanced coroutines debugging - [`KT-73851`](https://youtrack.jetbrains.com/issue/KT-73851) Native: compilation fails with ClassCastException with genericSafeCasts=true - [`KT-77593`](https://youtrack.jetbrains.com/issue/KT-77593) Add a warning when `@IgnorableReturnValue` is inconsistent between expect/actual functions - [`KT-79386`](https://youtrack.jetbrains.com/issue/KT-79386) Confusing error message when named parameters are used for java method calls - [`KT-80600`](https://youtrack.jetbrains.com/issue/KT-80600) K2: Private and final modifiers are allowed on setter of open delegated property - [`KT-77101`](https://youtrack.jetbrains.com/issue/KT-77101) Invoke on callable reference is considered ignorable - [`KT-79923`](https://youtrack.jetbrains.com/issue/KT-79923) Remove lookup of `@IgnorableReturnValue` annotation from FirReturnValueOverrideChecker - [`KT-80517`](https://youtrack.jetbrains.com/issue/KT-80517) Synthetic kotlin.Any members in data classes are missing `@MustUseReturnValue` - [`KT-80194`](https://youtrack.jetbrains.com/issue/KT-80194) VAR\_TYPE\_MISMATCH\_ON\_OVERRIDE: doesn't mention the inferred type - [`KT-80484`](https://youtrack.jetbrains.com/issue/KT-80484) K2: ClassCastException due to fake source for implicit lambda parameter (RedundantNullableChecker) - [`KT-80592`](https://youtrack.jetbrains.com/issue/KT-80592) `UninitializedPropertyAccessException` when anayzing annotations on members of anonymous classes - [`KT-80399`](https://youtrack.jetbrains.com/issue/KT-80399) Anonymous Kotlin class incorrectly warns about deprecated java override despite '`@Deprecated`' annotation - [`KT-79610`](https://youtrack.jetbrains.com/issue/KT-79610) Adding CocoaPod to Kotlin/Native MPP triggers IR serialization failure and commonizer errors - [`KT-79951`](https://youtrack.jetbrains.com/issue/KT-79951) Infinite loop in parsing incomplete full form destructuring - [`KT-79866`](https://youtrack.jetbrains.com/issue/KT-79866) kotlinc 2.2.0 silently emits 'NonExistentClass' instead of reporting an error - [`KT-79777`](https://youtrack.jetbrains.com/issue/KT-79777) Argument type mismatch on value of complex type with a captured raw type argument - [`KT-78664`](https://youtrack.jetbrains.com/issue/KT-78664) False positive VARIABLE\_NEVER\_READ and ASSIGNED\_VALUE\_IS\_NEVER\_READ on function type variable with splited declaration and assignment - [`KT-79496`](https://youtrack.jetbrains.com/issue/KT-79496) False positive "when must be exhaustive" in triangle interface/class hierarchy - [`KT-79774`](https://youtrack.jetbrains.com/issue/KT-79774) KtDestructuringDeclaration.getLPar & getRPar are broken - [`KT-80391`](https://youtrack.jetbrains.com/issue/KT-80391) K2: Only one context parameter is mentioned in the \[NO\_CONTEXT\_ARGUMENT] diagnostic - [`KT-79785`](https://youtrack.jetbrains.com/issue/KT-79785) ktypew:kotlin.collections.List already exists error using Swift Export - [`KT-78879`](https://youtrack.jetbrains.com/issue/KT-78879) "Sealed types cannot be instantiated": Can't instantiate Java-defined sealed Class from Kotlin - [`KT-21598`](https://youtrack.jetbrains.com/issue/KT-21598) Extension is shadowed by member should not be reported when member is deprecated with HIDDEN level - [`KT-79622`](https://youtrack.jetbrains.com/issue/KT-79622) FUNCTION\_EXPECTED: Misleading 'expression cannot be invoked as a function' when inaccessible with private lambda - [`KT-80255`](https://youtrack.jetbrains.com/issue/KT-80255) \[EXTENSION\_FUNCTION\_IN\_EXTERNAL\_DECLARATION] can be attached to the receiver type of a functional type - [`KT-79816`](https://youtrack.jetbrains.com/issue/KT-79816) Java Interfaces implemented by delegation have non-null return checks - [`KT-80177`](https://youtrack.jetbrains.com/issue/KT-80177) Improve message of RECEIVER\_SHADOWED\_BY\_CONTEXT\_PARAMETER in case of member extension - [`KT-79770`](https://youtrack.jetbrains.com/issue/KT-79770) There is no RECEIVER\_SHADOWED\_BY\_CONTEXT\_PARAMETER if the usage of fun is from inside the class - [`KT-79430`](https://youtrack.jetbrains.com/issue/KT-79430) False positive EXTENSION\_SHADOWED\_BY\_MEMBER on overridden member extension - [`KT-62934`](https://youtrack.jetbrains.com/issue/KT-62934) Incorrect line mapping inside inline lambda after non-local return - [`KT-79545`](https://youtrack.jetbrains.com/issue/KT-79545) K2: no error on crossinline lambda usage in anonymous object base constructor call - [`KT-79643`](https://youtrack.jetbrains.com/issue/KT-79643) HAS\_NEXT\_FUNCTION\_AMBIGUITY and NEXT\_AMBIGUITY diagnostics are always ignored in favor of HAS\_NEXT\_FUNCTION\_NONE\_APPLICABLE and NEXT\_NONE\_APPLICABLE - [`KT-79327`](https://youtrack.jetbrains.com/issue/KT-79327) Modifier 'private' is not applicable to 'value parameter' is reported for context parameters - [`KT-76453`](https://youtrack.jetbrains.com/issue/KT-76453) K2 IDE: autocomplete freeze - [`KT-77182`](https://youtrack.jetbrains.com/issue/KT-77182) A function in a file annotated with `@file`:MustUseReturnValue doesn't produce a warning when it is used from compiled code - [`KT-78541`](https://youtrack.jetbrains.com/issue/KT-78541) Jspecify: Unsound platform type despite `@NullMarked` for an override with a generic-subclass return type - [`KT-79672`](https://youtrack.jetbrains.com/issue/KT-79672) 'when expression must be exhaustive' even after using 'require()' - [`KT-71306`](https://youtrack.jetbrains.com/issue/KT-71306) K2 IDE / Kotlin Debugger: “Cannot find local variable 'block' with type kotlin.jvm.functions.Function0” on evaluating lambda arg inside inline function - [`KT-76991`](https://youtrack.jetbrains.com/issue/KT-76991) K2 IDE / Kotlin Debugger: ISE “Couldn't find declaration file for” on evaluating local fun when the scope has also inline fun from another file call - [`KT-79877`](https://youtrack.jetbrains.com/issue/KT-79877) K2 IDE / Kotlin Debugger: failed evaluations of a code fragment capturing local data class - [`KT-77401`](https://youtrack.jetbrains.com/issue/KT-77401) \[FIR] `ParameterNameTypeAttribute.name` doesn't support `@ParameterName` with compile-time constant property argument - [`KT-79682`](https://youtrack.jetbrains.com/issue/KT-79682) Fix partially uninitialized locals after coroutine spills insertion - [`KT-79562`](https://youtrack.jetbrains.com/issue/KT-79562) NPE when passing non-lambda argument of nullable non-suspend function type into function that accepts nullable suspend function type - [`KT-79693`](https://youtrack.jetbrains.com/issue/KT-79693) NotImplementedError: An operation is not implemented: Unknown file with KMP separate compilation - [`KT-79662`](https://youtrack.jetbrains.com/issue/KT-79662) Unused return value checker doesn't work for com.google.errorprone.annotations.CheckReturnValue - [`KT-79781`](https://youtrack.jetbrains.com/issue/KT-79781) Missing MISSING\_DEPENDENCY\_CLASS when using type alias with inaccessible RHS - [`KT-77772`](https://youtrack.jetbrains.com/issue/KT-77772) Only report exposed type on qualifier if it's resolved to an object - [`KT-79765`](https://youtrack.jetbrains.com/issue/KT-79765) K2. Do not report ignore return value for unresolved reference - [`KT-79017`](https://youtrack.jetbrains.com/issue/KT-79017) False negative REDECLARATION on private nested class - [`KT-79519`](https://youtrack.jetbrains.com/issue/KT-79519) Nested type alias is unreachable from another module - [`KT-72039`](https://youtrack.jetbrains.com/issue/KT-72039) StackOverflowError on calling keySet on a Kotlin subclass of Java subclass of ConcurrentHashMap - [`KT-75843`](https://youtrack.jetbrains.com/issue/KT-75843) K2: incorrect line numbers in an if-expression with a super-call - [`KT-77504`](https://youtrack.jetbrains.com/issue/KT-77504) Add a warning when `@IgnorableReturnValue` is inconsistent on overrides - [`KT-78389`](https://youtrack.jetbrains.com/issue/KT-78389) Perform version 2.3 boostrapping - [`KT-79092`](https://youtrack.jetbrains.com/issue/KT-79092) Crash on default argument in function in fun interface - [`KT-77729`](https://youtrack.jetbrains.com/issue/KT-77729) Package-level `@NullMarked` does not work when kotlinc sees .java *source* files - [`KT-79013`](https://youtrack.jetbrains.com/issue/KT-79013) False negative `NOT_YET_SUPPORTED_IN_INLINE` on inline local functions inside inline functions - [`KT-79139`](https://youtrack.jetbrains.com/issue/KT-79139) False positive CONFLICTING\_OVERLOADS for context parameters instead of receivers - [`KT-35305`](https://youtrack.jetbrains.com/issue/KT-35305) Address the overload conflict resolution between unsigned and non-primitive types - [`KT-42096`](https://youtrack.jetbrains.com/issue/KT-42096) No diagnostic reported on `inline` modifier on an enum entry - [`KT-79355`](https://youtrack.jetbrains.com/issue/KT-79355) Failed to fix the problem of desugared `inc` with new reverse implies returns contract - [`KT-79277`](https://youtrack.jetbrains.com/issue/KT-79277) Implies returns contract doesn't affect the return type of the function if it is in the argument position - [`KT-79271`](https://youtrack.jetbrains.com/issue/KT-79271) Implies returns contract doesn't impact exhaustiveness - [`KT-79218`](https://youtrack.jetbrains.com/issue/KT-79218) SMARTCAST\_IMPOSSIBLE for top‑level extension‑property getter despite returnsNotNull contract - [`KT-79220`](https://youtrack.jetbrains.com/issue/KT-79220) returnsNotNull contract ignored on extension function with nullable receiver - [`KT-79354`](https://youtrack.jetbrains.com/issue/KT-79354) IllegalStateException: Debug metadata version mismatch. Expected: 1, got 2 with compiler 2.2.20-Beta1 and stdlib 2.2.0 - [`KT-77986`](https://youtrack.jetbrains.com/issue/KT-77986) K2: False negative: "Local classes are not yet supported in inline functions" - [`KT-79456`](https://youtrack.jetbrains.com/issue/KT-79456) Redeclaration conflict checks of private top-level classifiers rely on an incorrect containing file - [`KT-79125`](https://youtrack.jetbrains.com/issue/KT-79125) RVC full mode: delegated interfaces are not checked - [`KT-63720`](https://youtrack.jetbrains.com/issue/KT-63720) Coroutine debugger: do not optimise out local variables - [`KT-78595`](https://youtrack.jetbrains.com/issue/KT-78595) type variable leak on a generic property as a call argument given an unstable smart cast - [`KT-79076`](https://youtrack.jetbrains.com/issue/KT-79076) 'IllegalStateException: Cannot serialize error type: ERROR CLASS: Uninferred type' with Exposed column using recursive generic type - [`KT-59807`](https://youtrack.jetbrains.com/issue/KT-59807) K2: Replicate the MUST\_BE\_LATEINIT logic from K1 - [`KT-76782`](https://youtrack.jetbrains.com/issue/KT-76782) K2: Incorrect resolve into unrelated invoke operator with wrong diagnostic - [`KT-78066`](https://youtrack.jetbrains.com/issue/KT-78066) TYPE\_PARAMETER\_OF\_PROPERTY\_NOT\_USED\_IN\_RECEIVER error message does not account for context parameters - [`KT-76065`](https://youtrack.jetbrains.com/issue/KT-76065) Drop JavaTypeParameterDefaultRepresentationWithDNN feature - [`KT-77808`](https://youtrack.jetbrains.com/issue/KT-77808) Inference: recheck the code about DNN-related hacks - [`KT-24202`](https://youtrack.jetbrains.com/issue/KT-24202) NOTHING\_TO\_OVERRIDE if super-class reference misses generic arguments - [`KT-78909`](https://youtrack.jetbrains.com/issue/KT-78909) K2: Missing diagnostics \[CYCLIC\_INHERITANCE\_HIERARCHY] for recursive class inheritance leads to StackOverflowError - [`KT-75969`](https://youtrack.jetbrains.com/issue/KT-75969) java.lang.IllegalArgumentException: source must not be null on red code - [`KT-76902`](https://youtrack.jetbrains.com/issue/KT-76902) Omit type-use annotations from diagnostics - [`KT-17460`](https://youtrack.jetbrains.com/issue/KT-17460) Diagnostics and intention on suspend function that is overriden with non-suspend one. - [`KT-56665`](https://youtrack.jetbrains.com/issue/KT-56665) K2: false positive RECURSIVE\_TYPEALIAS\_EXPANSION - [`KT-78932`](https://youtrack.jetbrains.com/issue/KT-78932) Contracts are allowed for open and overridden property accessors - [`KT-77203`](https://youtrack.jetbrains.com/issue/KT-77203) FIR: Consider adding destructured type to all COMPONENT\_FUNCTION\_\* diagnostics - [`KT-77685`](https://youtrack.jetbrains.com/issue/KT-77685) "IllegalArgumentException: Sequence contains more than one matching element" - [`KT-78452`](https://youtrack.jetbrains.com/issue/KT-78452) Drop redundant frontend structures after fir2ir conversion - [`KT-70507`](https://youtrack.jetbrains.com/issue/KT-70507) Should parentheses prevent from plus/set operator desugaring? ##### Compose compiler ##### New features - [`98d3907`](https://github.com/JetBrains/kotlin/commit/98d39077a9b19c1e6c112dc59982175095ac9f41) Introduce a compose group analysis module that produces a proguard/R8 mapping from group keys in bytecode. ##### Fixes - [`b/419049140`](https://issuetracker.google.com/issues/419049140) Disabled memoization in `try` blocks - [`KT-81081`](https://youtrack.jetbrains.com/issue/KT-81081) Generate Compose-specific proguard mappings when Compose compiler plugin is applied. - [`b/431025881`](https://issuetracker.google.com/issues/431025881) \[Compose] Clean up runtime version checker - [`b/365922168`](https://issuetracker.google.com/issues/365922168) Add `java.util.Locale` to the list of known stable classes - [`b/407549020`](https://issuetracker.google.com/issues/407549020) Introduce a registry of known stable markers - [`b/417989445`](https://issuetracker.google.com/issues/417989445) Added a diagnostic to restrict usages of `runCatching` in `@Composable` functions - [`KT-80294`](https://youtrack.jetbrains.com/issue/KT-80294) Fix crash with inline `@Composable` function reference - [`b/430140896`](https://issuetracker.google.com/issues/430140896) Fix IrSourcePrinter output for when branch check and typechecks - [`CMP-9167`](https://youtrack.jetbrains.com/issue/CMP-9167) iOS: Platform declaration clash: The following functions have the same IR signature ##### IDE. Gradle Integration - [`KT-46273`](https://youtrack.jetbrains.com/issue/KT-46273) MPP: Don't fail import for case of missed platform in source set structure - [`KT-46417`](https://youtrack.jetbrains.com/issue/KT-46417) \[UNRESOLVED\_REFERENCE] For project to project dependencies of native platform test source sets - [`KT-44845`](https://youtrack.jetbrains.com/issue/KT-44845) After update to Kotlin 1.4.30 all external dependencies is unresolved in IDE with kotlin.mpp.enableGranularSourceSetsMetadata=true - [`KT-46142`](https://youtrack.jetbrains.com/issue/KT-46142) K/N distribution is unavailable from IDE with multiplatform hierarchical project structure enabled ##### IR. Actualizer - [`KT-77337`](https://youtrack.jetbrains.com/issue/KT-77337) `IrNoExpectSymbolsHandler` finds expect class reference after enabling annotation traversal in IR - [`KT-80002`](https://youtrack.jetbrains.com/issue/KT-80002) Investigate the need for map copying in IrCommonToPlatformDependencyExtractor.kt - [`KT-80131`](https://youtrack.jetbrains.com/issue/KT-80131) KMP Separate Compilation: No override for FUN IR\_EXTERNAL\_DECLARATION\_STUB name:<get-size> - [`KT-80064`](https://youtrack.jetbrains.com/issue/KT-80064) KMP Separate Compilation: ClassCastException: class org.jetbrains.kotlin.ir.symbols.impl.IrTypeAliasSymbolImpl cannot be cast to class org.jetbrains.kotlin.ir.symbols.IrClassSymbol - [`KT-80051`](https://youtrack.jetbrains.com/issue/KT-80051) KMP Separate Compilation: Actualization of common dependencies failed on 'PROPERTY FAKE\_OVERRIDE name:modCount visibility:protected modality:FINAL \[fake\_override,var]' - [`KT-79998`](https://youtrack.jetbrains.com/issue/KT-79998) KMP Separate Compilation: java.lang.IllegalStateException: No override for FUN IR\_EXTERNAL\_DECLARATION\_STUB name:<get-message> ##### IR. Inlining ##### New Features - [`KT-70360`](https://youtrack.jetbrains.com/issue/KT-70360) KLIBs: Uniformly handle`typeOf()` calls at 1st/2nd stages of compilation ##### Performance Improvements - [`KT-69497`](https://youtrack.jetbrains.com/issue/KT-69497) Crossinline lambda is allocated on K/N & JS ##### Fixes - [`KT-78673`](https://youtrack.jetbrains.com/issue/KT-78673) Make fakeOverrideLocalGenericBase not using red code - [`KT-78537`](https://youtrack.jetbrains.com/issue/KT-78537) \[Inliner] Incorrect KFunction.name of a reference to inlined local function - [`KT-74892`](https://youtrack.jetbrains.com/issue/KT-74892) Investigate passing inline lambda as argument of another inline function - [`KT-81673`](https://youtrack.jetbrains.com/issue/KT-81673) False warnings about ABI change in dependencies in library mode in 2.3.0-Beta1 - [`KT-81713`](https://youtrack.jetbrains.com/issue/KT-81713) \[Inliner] Compilation of inline function with recursive call applied to TODO() fails with an internal error - [`KT-80653`](https://youtrack.jetbrains.com/issue/KT-80653) \[IR Inliner] Space: "Local declarations should've been popped out by this point" - [`KT-78392`](https://youtrack.jetbrains.com/issue/KT-78392) CommonPrefix: Add a way of stopping execution when one of the phases is unsuccessful - [`KT-80927`](https://youtrack.jetbrains.com/issue/KT-80927) \[Native] Review intrinsics with PublishedApi - [`KT-81070`](https://youtrack.jetbrains.com/issue/KT-81070) \[Inliner] kotlin/Any is unbound - [`KT-80628`](https://youtrack.jetbrains.com/issue/KT-80628) KLIB inliner: Not enough information about the "full" mode - [`KT-69516`](https://youtrack.jetbrains.com/issue/KT-69516) Double-inlining for Native: Enable visibility checks after 1st phase of inlining - [`KT-79334`](https://youtrack.jetbrains.com/issue/KT-79334) Unify intrinsics used on 1st phase of IR inliner in KLIB-based compilers - [`KT-80610`](https://youtrack.jetbrains.com/issue/KT-80610) KLIB inliner: Always apply cross-module inlining to pre-processed inline functions - [`KT-80565`](https://youtrack.jetbrains.com/issue/KT-80565) KLIB Inliner: Add a special annotation to prohibit inlining of marked inline functions in stdlib on 1st compilation phase - [`KT-80883`](https://youtrack.jetbrains.com/issue/KT-80883) \[Inliner] Run pre-serialization lowerings in all testrunners - [`KT-77876`](https://youtrack.jetbrains.com/issue/KT-77876) IrVisibilityChecker: Different set of exceptions for 1st and 2nd compilation stages - [`KT-80693`](https://youtrack.jetbrains.com/issue/KT-80693) \[IC] Split IC invalidation tests for cross-module IR Inliner - [`KT-79718`](https://youtrack.jetbrains.com/issue/KT-79718) KLIB inliner: Emit warning on generation of `public` synthetic accessor when running in "explicit API mode" - [`KT-80226`](https://youtrack.jetbrains.com/issue/KT-80226) \[IR Inliner] Generate constructor accessors as constructors, not static functions - [`KT-80692`](https://youtrack.jetbrains.com/issue/KT-80692) \[IC] Split IC invalidation tests for intra-module IR Inliner - [`KT-77103`](https://youtrack.jetbrains.com/issue/KT-77103) \[Inliner] IrLocalDelegatedProperty was not serialized, while its symbol and IrRichPropertyReference were. - [`KT-80537`](https://youtrack.jetbrains.com/issue/KT-80537) The expected error is not emitted from FirJsKlibSyntheticAccessorsTestGenerated and NativeKlibSyntheticAccessorsTestGenerated - [`KT-78903`](https://youtrack.jetbrains.com/issue/KT-78903) Unify `codegen/boxInline` tests with `codegen/box` - [`KT-78989`](https://youtrack.jetbrains.com/issue/KT-78989) Add missing PL tests for inline functions/property accessors - [`KT-79771`](https://youtrack.jetbrains.com/issue/KT-79771) kotlinx-coroutines-core: Public synthetic accessor generated with enabled KLIB IR inliner - [`KT-79680`](https://youtrack.jetbrains.com/issue/KT-79680) `IrConstructorSymbolImpl is unbound` in lambdaWithoutNonLocalControlflow\.kt - [`KT-70849`](https://youtrack.jetbrains.com/issue/KT-70849) Ensure correct debug info for intra-module IR inlining on the first compilation phase - [`KT-79800`](https://youtrack.jetbrains.com/issue/KT-79800) JS BE errors with default values when IR inliner is enabled - [`KT-79352`](https://youtrack.jetbrains.com/issue/KT-79352) Remove excessive validations from `ValidateAfterAll...` on the first stage - [`KT-76599`](https://youtrack.jetbrains.com/issue/KT-76599) Migrate `IrValidationAfterInliningAllFunctionsPhase` to the first stage of compilation - [`KT-78245`](https://youtrack.jetbrains.com/issue/KT-78245) Synthetic Accessors incorrectly copies default values - [`KT-72594`](https://youtrack.jetbrains.com/issue/KT-72594) \[JS]\[Native] Add IrInliningFacade to test runners ##### IR. Interpreter - [`KT-72356`](https://youtrack.jetbrains.com/issue/KT-72356) K2 Native: IllegalStateException when annotation has the same source range as a constant in another file - [`KT-72881`](https://youtrack.jetbrains.com/issue/KT-72881) K2: incorrect empty array as annotation argument when parameter has default value ##### IR. Tree ##### Fixes - [`KT-79371`](https://youtrack.jetbrains.com/issue/KT-79371) Fix handling of broken SAM conversion in PL with enabled Rich References - [`KT-81952`](https://youtrack.jetbrains.com/issue/KT-81952) "IllegalStateException: Callable reference with vararg should not appear at this stage" for callable references to functions with generic vararg parameters - [`KT-79739`](https://youtrack.jetbrains.com/issue/KT-79739) Static synthetic accessors inside generic classes access its type parameters - [`KT-78100`](https://youtrack.jetbrains.com/issue/KT-78100) Track and annotate internal annotations with `@PublishedApi` to enable annotation visibility validation - [`KT-80825`](https://youtrack.jetbrains.com/issue/KT-80825) Drop `IrSerializationSettings.reuseExistingSignaturesForSymbols` setting - [`KT-79807`](https://youtrack.jetbrains.com/issue/KT-79807) Broken IR tree invariants in IrReplSnippet after FIR2IR - [`KT-77819`](https://youtrack.jetbrains.com/issue/KT-77819) \[IR] Fine-tune IrValidator's run after Fir2IR and IR plugins - [`KT-70160`](https://youtrack.jetbrains.com/issue/KT-70160) Remove IrDeclaration.parents after Anvil update - [`KT-80454`](https://youtrack.jetbrains.com/issue/KT-80454) LocalDeclarationsLowering: Clean-up the dead code - [`KT-80819`](https://youtrack.jetbrains.com/issue/KT-80819) Rework IrFileValidator to use Hashmap instead of ClassValue - [`KT-80516`](https://youtrack.jetbrains.com/issue/KT-80516) Kotlin-like IR dump: Don't render tailrec as lateinit - [`KT-78856`](https://youtrack.jetbrains.com/issue/KT-78856) Refactor LocalDeclarationsLowering to split it in smaller parts - [`KT-79439`](https://youtrack.jetbrains.com/issue/KT-79439) KLIB stdlib symbols loading: Split the result of merging of IrBuiltins with BuiltinSymbolsBase hierarchy into two parts (for 1st & 2nd phases) - [`KT-79437`](https://youtrack.jetbrains.com/issue/KT-79437) KLIB stdlib symbols loading: Drop loading functions from IrBuiltins and migrate usages to SymbolFinder functions and lazy filtering - [`KT-79569`](https://youtrack.jetbrains.com/issue/KT-79569) Unexpected error during DFG phase in Native due to PL issue with SAM conversion represented by rich reference - [`KT-76601`](https://youtrack.jetbrains.com/issue/KT-76601) IrValidatorConfig should have all checks disabled by default - [`KT-69662`](https://youtrack.jetbrains.com/issue/KT-69662) Deduplicate function `createTemporaryVariable` - [`KT-79440`](https://youtrack.jetbrains.com/issue/KT-79440) KLIB stdlib symbols loading: Drop BuiltinSymbolsBase from plugin API - [`KT-78960`](https://youtrack.jetbrains.com/issue/KT-78960) \[FO] Limit static fake overrides generation for static functions - [`KT-76813`](https://youtrack.jetbrains.com/issue/KT-76813) IR validator: not all symbols/references are visited ##### JVM. Reflection - [`KT-79020`](https://youtrack.jetbrains.com/issue/KT-79020) Suspend lambdas return type is shown as ??? in reflection - [`KT-81967`](https://youtrack.jetbrains.com/issue/KT-81967) isSubtypeOf: ClassCastException: CapturedKType cannot be cast to class AbstractKType - [`KT-76521`](https://youtrack.jetbrains.com/issue/KT-76521) Reflection: change KType representation to avoid dependency on K1 - [`KT-81619`](https://youtrack.jetbrains.com/issue/KT-81619) Reflection: Function supertype of a FunctionN class has flexible type in new implementation - [`KT-74529`](https://youtrack.jetbrains.com/issue/KT-74529) Context parameters support in reflection - [`KT-80901`](https://youtrack.jetbrains.com/issue/KT-80901) Reflection: incorrect translation of raw types in the new implementation - [`KT-74624`](https://youtrack.jetbrains.com/issue/KT-74624) Reflection: KClassifier.createType(...) ignores annotations parameter - [`KT-80203`](https://youtrack.jetbrains.com/issue/KT-80203) Reflection: provide a way to use legacy K1-based implementation - [`KT-80236`](https://youtrack.jetbrains.com/issue/KT-80236) Reflection: KType.toString for raw types no longer renders "(raw)" - [`KT-79206`](https://youtrack.jetbrains.com/issue/KT-79206) Reflection: suspend functional type classifier is null ##### JavaScript ##### New Features - [`KT-80401`](https://youtrack.jetbrains.com/issue/KT-80401) Kotlin/JS support for `default export` in generated JavaScript - [`KT-79284`](https://youtrack.jetbrains.com/issue/KT-79284) Use BigInt64Array for LongArray - [`KT-79222`](https://youtrack.jetbrains.com/issue/KT-79222) K/JS: Allow using Long in exported declarations - [`KT-79394`](https://youtrack.jetbrains.com/issue/KT-79394) Add the possibility to write common external declarations between JS and WasmJS targets ##### Performance Improvements - [`KT-57128`](https://youtrack.jetbrains.com/issue/KT-57128) KJS: Use BigInt to represent Long values in ES6 mode ##### Fixes - [`KT-79928`](https://youtrack.jetbrains.com/issue/KT-79928) Allow JsModule/JsNonModule/JsQualifier invocation on per-entity level - [`KT-79514`](https://youtrack.jetbrains.com/issue/KT-79514) java.lang.IllegalStateException: IrClassSymbolImpl is unbound. Signature: kotlin.js/Promise|null\[0] on running jsBrowserTest - [`KT-82005`](https://youtrack.jetbrains.com/issue/KT-82005) KJS: "TypeError: callAgent.jsonRpcCall\_ij3z26\_k$ is not a function" after code change in 2.3.0-Beta1/2 - [`KT-79359`](https://youtrack.jetbrains.com/issue/KT-79359) Kotlin/JS: Suspending function doesn’t return Unit on es2015 - [`KT-79089`](https://youtrack.jetbrains.com/issue/KT-79089) KJS: Could not load reporter / Cannot find module 'mocha' when running jsNode tests - [`KT-56281`](https://youtrack.jetbrains.com/issue/KT-56281) KJS: Can't export suspend functions - [`KT-79926`](https://youtrack.jetbrains.com/issue/KT-79926) Wrong export of interfaces with companions with ES Modules - [`KT-80168`](https://youtrack.jetbrains.com/issue/KT-80168) Allow `@JsStatic` inside interface companions - [`KT-70222`](https://youtrack.jetbrains.com/issue/KT-70222) Remove legacy JS BE-related CLI flags - [`KT-81424`](https://youtrack.jetbrains.com/issue/KT-81424) Kotlin/JS: Cannot Get / in a simple running application - [`KT-80873`](https://youtrack.jetbrains.com/issue/KT-80873) KJS: Stdlib requires ES2020-compatible JS engine due to BigInt type literal - [`KT-81066`](https://youtrack.jetbrains.com/issue/KT-81066) Wasm, JS: Remove redundant logging in compiler output - [`KT-72833`](https://youtrack.jetbrains.com/issue/KT-72833) KJS: Source maps have incorrect sources paths in `per-file` - [`KT-74055`](https://youtrack.jetbrains.com/issue/KT-74055) KJS: `@JsPlainObject` adds JS code even if marked interface is not used - [`KT-72474`](https://youtrack.jetbrains.com/issue/KT-72474) KJS: `@JsPlainObject` doesn't honour -XXLanguage:+JsAllowInvalidCharsIdentifiersEscaping - [`KT-79644`](https://youtrack.jetbrains.com/issue/KT-79644) BigInt enabled for ES 2015 despite being an ES 2020 feature - [`KT-52771`](https://youtrack.jetbrains.com/issue/KT-52771) KJS: Pair should be exported to JavaScript - [`KT-79704`](https://youtrack.jetbrains.com/issue/KT-79704) Unify variance rendering between JS and other backends - [`KT-69297`](https://youtrack.jetbrains.com/issue/KT-69297) Deprecate referencing inlineable lambdas in `js()` calls - [`KT-80086`](https://youtrack.jetbrains.com/issue/KT-80086) \[k/js] Resolving imported string literals - [`KT-79066`](https://youtrack.jetbrains.com/issue/KT-79066) \[Kotlin/JS] jsNodeTest fails with SyntaxError when a test file has `@file`:JsExport and useEsModules() is enabled - [`KT-77385`](https://youtrack.jetbrains.com/issue/KT-77385) Investigate partial linkage problems for JS HMPP tests - [`KT-79628`](https://youtrack.jetbrains.com/issue/KT-79628) Remove IR nodes from ExportModel - [`KT-79916`](https://youtrack.jetbrains.com/issue/KT-79916) K/JS: "Uncaught TypeError" when using 'Xes-long-as-bigint' in compose-html - [`KT-79050`](https://youtrack.jetbrains.com/issue/KT-79050) KJS / IC: "Unexpected body of primary constructor for processing irClass" - [`KT-79977`](https://youtrack.jetbrains.com/issue/KT-79977) KJS: Long.rotateLeft returns incorrect result when BigInts are enabled - [`KT-78831`](https://youtrack.jetbrains.com/issue/KT-78831) AbstractFunctionReferencesLowering: fragile fake override generation - [`KT-52230`](https://youtrack.jetbrains.com/issue/KT-52230) KSJ IR: Applying identity equality operator to Longs always returns false - [`KT-6675`](https://youtrack.jetbrains.com/issue/KT-6675) KotlinJS: toInt() on external Long throws error - [`KT-79184`](https://youtrack.jetbrains.com/issue/KT-79184) K/JS: Further intrinsify BigInt-backed Long operations ##### Klibs ##### New Features - [`KT-80761`](https://youtrack.jetbrains.com/issue/KT-80761) K2: \[K/N] Should reported klib usage include inheritance ##### Performance Improvements - [`KT-80861`](https://youtrack.jetbrains.com/issue/KT-80861) \[Klib] Deduplicate IrFileEntry.name - [`KT-80866`](https://youtrack.jetbrains.com/issue/KT-80866) \[Klib] Optimize size of IrFileEntry.line\_start\_offset - [`KT-80438`](https://youtrack.jetbrains.com/issue/KT-80438) Uncached KlibMetadataClassDataFinder.findClassData ##### Fixes - [`KT-64237`](https://youtrack.jetbrains.com/issue/KT-64237) Klib metadata: migrate to using the common annotations instead of klib-specific extensions in the compiler - [`KT-80099`](https://youtrack.jetbrains.com/issue/KT-80099) KLIB resolver: Could not find file because of missing `klib` extension in resolved symlink path - [`KT-80999`](https://youtrack.jetbrains.com/issue/KT-80999) Reuse existing `IrKotlinLibraryLayout` in `KotlinLibrary` for reading pre-processed functions - [`KT-80290`](https://youtrack.jetbrains.com/issue/KT-80290) Remove `if` and TODO in `countInAsInlinedLambdaArgumentWithPermittedNonLocalReturns` - [`KT-80298`](https://youtrack.jetbrains.com/issue/KT-80298) K/N: one-stage compilation is broken - [`KT-79958`](https://youtrack.jetbrains.com/issue/KT-79958) KLIB tool fails to render IR if there is IrErrorType in a lirbrary - [`KT-75241`](https://youtrack.jetbrains.com/issue/KT-75241) Move ExperimentalLibraryAbiReader to a publishable artifact - [`KT-76260`](https://youtrack.jetbrains.com/issue/KT-76260) Make `IrRichCallableReferencesInKlibs` lang feature stable in LV=2.3 - [`KT-61552`](https://youtrack.jetbrains.com/issue/KT-61552) \[PL] IndexOutOfBoundsException in SAM conversion with substituted function - [`KT-74417`](https://youtrack.jetbrains.com/issue/KT-74417) Deduce the metadata version based on LV in KLIB-based backends - [`KT-75980`](https://youtrack.jetbrains.com/issue/KT-75980) \[Klib] Reduce serialized size of IrFileEntries for sparse usage of another source files - [`KT-73826`](https://youtrack.jetbrains.com/issue/KT-73826) Deduplicate `IrFileEntry` that is serialized inside `IrInlinedFunctionBlock` ##### Language Design - [`KT-76926`](https://youtrack.jetbrains.com/issue/KT-76926) Allow return in expression bodies if return type is specified explicitly - [`KT-78866`](https://youtrack.jetbrains.com/issue/KT-78866) Show an error for implicit receiver shadowed by context parameter - [`KT-81561`](https://youtrack.jetbrains.com/issue/KT-81561) Update nested type aliases KEEP to reflect local type aliases support - [`KT-81015`](https://youtrack.jetbrains.com/issue/KT-81015) Stabilize nested type aliases - [`KT-32619`](https://youtrack.jetbrains.com/issue/KT-32619) JS: return Promise when `continuation` is not provided - [`KT-78976`](https://youtrack.jetbrains.com/issue/KT-78976) Decide if K2 should support local functions inside of local inline functions - [`KT-79308`](https://youtrack.jetbrains.com/issue/KT-79308) Ability to actualize empty interfaces as Any - [`KT-48872`](https://youtrack.jetbrains.com/issue/KT-48872) Provide modern and performant replacement for Enum.values() - [`KT-28850`](https://youtrack.jetbrains.com/issue/KT-28850) Prohibit protected visibility in final expected classes ##### Libraries ##### New Features - [`KT-81092`](https://youtrack.jetbrains.com/issue/KT-81092) Uuid: support generation of version 7 uuids with a given timestamp - [`KT-78463`](https://youtrack.jetbrains.com/issue/KT-78463) Annotate wasm and JS targets of kotlin-stdlib with `@IgnorableReturnValue` when appropriate - [`KT-74444`](https://youtrack.jetbrains.com/issue/KT-74444) EnumEntries type should implement RandomAccess - [`KT-78462`](https://youtrack.jetbrains.com/issue/KT-78462) Annotate kotlin-stdlib-jvm with `@IgnorableReturnValue` where appropriate ##### Performance Improvements - [`KT-72111`](https://youtrack.jetbrains.com/issue/KT-72111) Change Duration.parseOrNull logic to not throw exceptions internally ##### Fixes - [`KT-82901`](https://youtrack.jetbrains.com/issue/KT-82901) `Long.MIN_VALUE.milliseconds` produces invalid denormalized Duration - [`KT-81995`](https://youtrack.jetbrains.com/issue/KT-81995) K/N: CMP: Undefined symbol \_kfun:kotlin.time.Duration.kotlin.time.Duration - [`KT-56822`](https://youtrack.jetbrains.com/issue/KT-56822) Deprecate Number.toChar() with error deprecation level - [`KT-81078`](https://youtrack.jetbrains.com/issue/KT-81078) Increase kotlin.io.createTempDir and createTempFile deprecation level to ERROR - [`KT-74493`](https://youtrack.jetbrains.com/issue/KT-74493) Deprecate String.subSequence(start, end) with error and drop it in the future - [`KT-79192`](https://youtrack.jetbrains.com/issue/KT-79192) Increase InputStream.readBytes(Int) deprecation level to HIDDEN - [`KT-80778`](https://youtrack.jetbrains.com/issue/KT-80778) Stabilize kotlin.time.Clock and kotlin.time.Instant - [`KT-81043`](https://youtrack.jetbrains.com/issue/KT-81043) String.toBigDecimalOrNull rejects strings accepted by String.toBigDecimal - [`KT-81477`](https://youtrack.jetbrains.com/issue/KT-81477) Uuid.Companion.generateV\* are missing SinceKotlin annotation - [`KT-81478`](https://youtrack.jetbrains.com/issue/KT-81478) FileTreeWalkTest.withDirectoryFilter fails on Windows - [`KT-74411`](https://youtrack.jetbrains.com/issue/KT-74411) Introduce Uuid.generateV4() and generateV7() - [`KT-80530`](https://youtrack.jetbrains.com/issue/KT-80530) Annotate Kotlin/Native stdlib with must-use value/`@IgnorableReturnValue` when appropriate - [`KT-79791`](https://youtrack.jetbrains.com/issue/KT-79791) Duration.parse incorrectly handles negative decimal seconds in ISO-8601 format - [`KT-80619`](https://youtrack.jetbrains.com/issue/KT-80619) \[KLIBs] Enable intra-module inliner in stdlib & kotlin-test - [`KT-76773`](https://youtrack.jetbrains.com/issue/KT-76773) stdlib: contextOf's type argument can be inferred via contextOf's context argument - [`KT-71822`](https://youtrack.jetbrains.com/issue/KT-71822) Intersection with (subtraction from) an identity set may produce incorrect results - [`KT-80431`](https://youtrack.jetbrains.com/issue/KT-80431) Remove suppression of "ACTUAL\_ANNOTATIONS\_NOT\_MATCH\_EXPECT" from stdlib - [`KT-80605`](https://youtrack.jetbrains.com/issue/KT-80605) Rename MustUseReturnValue -> MustUseReturnValues - [`KT-69947`](https://youtrack.jetbrains.com/issue/KT-69947) KLIB stdlib: All intrinsics that can be used in KLIBs with inlined IR must be included in stdlib ABI dump - [`KT-59044`](https://youtrack.jetbrains.com/issue/KT-59044) Improve various aspects of TimeSource documentation - [`KT-80544`](https://youtrack.jetbrains.com/issue/KT-80544) Mark controversial path extensions (like .deleteRecursively()) as ignorable - [`KT-80603`](https://youtrack.jetbrains.com/issue/KT-80603) K/N and K/Wasm: \p{N} category is not supported - [`KT-80661`](https://youtrack.jetbrains.com/issue/KT-80661) ArrayDeque.lastIndexOf may return -1 for an element present in the deque - [`KT-80390`](https://youtrack.jetbrains.com/issue/KT-80390) ArrayDeque.indexOf(null) wrongly returns 0 after removals - [`KT-79094`](https://youtrack.jetbrains.com/issue/KT-79094) Change signature of assertFailsWith or make lambda excluded otherwise - [`KT-72028`](https://youtrack.jetbrains.com/issue/KT-72028) Incorrect parameters order in IndexedValue documentation - [`KT-80130`](https://youtrack.jetbrains.com/issue/KT-80130) \[stdlib] Commonize AssociatedObjects in commonNonJvmMain - [`KT-80107`](https://youtrack.jetbrains.com/issue/KT-80107) \[stdlib] Move CancellationException to commonNonJvmMain - [`KT-80179`](https://youtrack.jetbrains.com/issue/KT-80179) Investigate why StringBuilder.length is not enhanced automatically - [`KT-80046`](https://youtrack.jetbrains.com/issue/KT-80046) Increase test coverage of Duration.parse\[IsoString]\[OrNull] methods - [`KT-76459`](https://youtrack.jetbrains.com/issue/KT-76459) Remove comments about sorting stability in unsigned-type arrays - [`KT-79489`](https://youtrack.jetbrains.com/issue/KT-79489) Generate Stdlib API reference for webMain source set - [`KT-78243`](https://youtrack.jetbrains.com/issue/KT-78243) Drop JS- and Wasm-specific IrLinkageError classes - [`KT-79108`](https://youtrack.jetbrains.com/issue/KT-79108) Remove the default argument for `linkageError` from kotlin.js.getPropertyCallableRef - [`KT-79130`](https://youtrack.jetbrains.com/issue/KT-79130) K/JS: Remove bodies from intrinsified Long methods - [`KT-79239`](https://youtrack.jetbrains.com/issue/KT-79239) K/Wasm: elementAt extension function of Array/PrimitiveArray/UnsignedArray does not throw IndexOutOfBoundException on incorrect index - [`KT-79256`](https://youtrack.jetbrains.com/issue/KT-79256) K/Wasm: MatchResult.groups raises a trap on invalid group index - [`KT-57317`](https://youtrack.jetbrains.com/issue/KT-57317) Repack EnumEntries from stdlib into the compiler ##### Native - [`KT-80620`](https://youtrack.jetbrains.com/issue/KT-80620) Bump minimal iOS and tvOS supported versions to 14.0 - [`KT-80624`](https://youtrack.jetbrains.com/issue/KT-80624) Bump minimal watchOS supported versions to 7.0 - [`KT-79384`](https://youtrack.jetbrains.com/issue/KT-79384) K/N: Application Not Responding: Thread Deadlock - [`KT-80536`](https://youtrack.jetbrains.com/issue/KT-80536) Native: `DependencyDownloader` seems to have no timeout ##### Native. Build Infrastructure - [`KT-80147`](https://youtrack.jetbrains.com/issue/KT-80147) Set proper LV and AV for `kotlin-native/performance/buildSrc` - [`KT-79474`](https://youtrack.jetbrains.com/issue/KT-79474) Kotlin/Native: fix breakpad build - [`KT-79215`](https://youtrack.jetbrains.com/issue/KT-79215) Kotlin/Native: fix distInvalidateStaleCaches on windows ##### Native. C and ObjC Import - [`KT-79752`](https://youtrack.jetbrains.com/issue/KT-79752) Native: make cinterop generate CCall.Direct annotations - [`KT-79753`](https://youtrack.jetbrains.com/issue/KT-79753) Native: support CCall.Direct calls in the compiler - [`KT-81312`](https://youtrack.jetbrains.com/issue/KT-81312) Native: when `-Xccall-mode direct` is used, mark unsupported declarations with unresolvable symbol name instead of `@Deprecated`(ERROR) - [`KT-79571`](https://youtrack.jetbrains.com/issue/KT-79571) Xcode 26 beta 4: CInteropKT39120TestGenerated.testForwardEnum failed - [`KT-80838`](https://youtrack.jetbrains.com/issue/KT-80838) Cinterop fails with an error when Compilation works fine - [`KT-49034`](https://youtrack.jetbrains.com/issue/KT-49034) Kotlin/Native: `cnames.structs.Foo` resolves into wrong declaration ##### Native. ObjC Export - [`KT-81906`](https://youtrack.jetbrains.com/issue/KT-81906) Normalize `CFBundleIdentifier` when producing Apple framework - [`KT-78810`](https://youtrack.jetbrains.com/issue/KT-78810) \[ObjCExport] Enable explicit ObjC block parameter names by default - [`KT-80271`](https://youtrack.jetbrains.com/issue/KT-80271) ObjC/Swift Export: Remove Native platform `Cloneable` checks - [`KT-78604`](https://youtrack.jetbrains.com/issue/KT-78604) Consider not inheriting `KlibScope` from `KaScope` - [`KT-79767`](https://youtrack.jetbrains.com/issue/KT-79767) ObjCExport: private companion must not be exposed - [`KT-79724`](https://youtrack.jetbrains.com/issue/KT-79724) ObjCExport: extensions order - [`KT-79548`](https://youtrack.jetbrains.com/issue/KT-79548) ObjCExport: mangling difference between K1 and K2 when translating KotlinDurationCompanion - [`KT-79475`](https://youtrack.jetbrains.com/issue/KT-79475) ObjCExport: invalid property getter translation - [`KT-79346`](https://youtrack.jetbrains.com/issue/KT-79346) ObjCExport: Any method overrides - [`KT-78871`](https://youtrack.jetbrains.com/issue/KT-78871) ObjCExport: translation of keyword `release` with parameter generates invalid header ##### Native. Runtime. Memory - [`KT-75918`](https://youtrack.jetbrains.com/issue/KT-75918) Native: Deprecate -Xallocator=std - [`KT-80678`](https://youtrack.jetbrains.com/issue/KT-80678) Native: pagedAllocator=false sweep is slow - [`KT-75916`](https://youtrack.jetbrains.com/issue/KT-75916) Native: Enable sanitizer support with pagedAllocator=false ##### Native. Swift Export ##### Fixes - [`KT-81355`](https://youtrack.jetbrains.com/issue/KT-81355) Swift Export: Introduce a flag to turn off coroutines export - [`KT-80969`](https://youtrack.jetbrains.com/issue/KT-80969) Swift Export: Call `suspend` function as `async` on swift side - [`KT-80111`](https://youtrack.jetbrains.com/issue/KT-80111) Swift Export Build Fails Due to Errors in KotlinStdlib.swift - [`KT-80884`](https://youtrack.jetbrains.com/issue/KT-80884) Swift Export: support async in SIR - [`KT-80185`](https://youtrack.jetbrains.com/issue/KT-80185) Swift Export: IllegalArgumentException – Collection contains more than one matching element - [`KT-79889`](https://youtrack.jetbrains.com/issue/KT-79889) K/N: swift-export fails under several different conditions - [`KT-79518`](https://youtrack.jetbrains.com/issue/KT-79518) Swift export: represent kotlin.Any as swift.any - [`KT-78603`](https://youtrack.jetbrains.com/issue/KT-78603) Do not inherit SirAndKaSession from KaSession - [`KT-79227`](https://youtrack.jetbrains.com/issue/KT-79227) Swift Export: Fix First Release Issues - [`KT-79521`](https://youtrack.jetbrains.com/issue/KT-79521) '\_CoroutineScope' is inaccessible due to 'internal' protection level - [`KT-79181`](https://youtrack.jetbrains.com/issue/KT-79181) Swift Export Fails When Using T: Comparable<T> Generic Constraint in Kotlin Classes ##### Tools. Ant - [`KT-75875`](https://youtrack.jetbrains.com/issue/KT-75875) Remove Ant support ##### Tools. BCV - [`KT-80313`](https://youtrack.jetbrains.com/issue/KT-80313) Add ability to generate dump from jar files \[ABI Tools] ##### Tools. Build Tools API ##### New Features - [`KT-78194`](https://youtrack.jetbrains.com/issue/KT-78194) BTA: port the JVM prototype to the new design - [`KT-79409`](https://youtrack.jetbrains.com/issue/KT-79409) BTA: Support removed compiler arguments properly - [`KT-78193`](https://youtrack.jetbrains.com/issue/KT-78193) BTA: Implement core infrastructure according to the new design - [`KT-78196`](https://youtrack.jetbrains.com/issue/KT-78196) BTA: implement API adapter for the prototype implementation - [`KT-77999`](https://youtrack.jetbrains.com/issue/KT-77999) BTA: Generate BTA options from compiler arguments descriptions ##### Fixes - [`KT-75357`](https://youtrack.jetbrains.com/issue/KT-75357) CompilationService.loadImplementation(loader) Expects a `ClassLoader`, but Fails if its not a `URLClassLoader` - [`KT-73090`](https://youtrack.jetbrains.com/issue/KT-73090) Gradle 8.11 kotlin compilation fails when run with -Pkotlin.compiler.runViaBuildToolsApi=true - [`KT-81321`](https://youtrack.jetbrains.com/issue/KT-81321) Deprecate old BTA prototype API - [`KT-81602`](https://youtrack.jetbrains.com/issue/KT-81602) BTA: rename KotlinToolchains.jvm `@JvmName` for a more Java-friendly API - [`KT-75356`](https://youtrack.jetbrains.com/issue/KT-75356) Failing to pass a `-d` argument causes Build Tools API to NPE - [`KT-81130`](https://youtrack.jetbrains.com/issue/KT-81130) BTA: using KotlinVersion from stdlib in the API breaks when using isolated classloader - [`KT-78195`](https://youtrack.jetbrains.com/issue/KT-78195) BTA: migrate the test infrastructure from the prototype to the new design ##### Tools. CLI - [`KT-81077`](https://youtrack.jetbrains.com/issue/KT-81077) Add JVM target bytecode version 25 - [`KT-79867`](https://youtrack.jetbrains.com/issue/KT-79867) CompilerConfiguration.configureSourceRoots puts obfuscated file paths instead of ones passed on `classpath` to CLIConfigurationKeys.CONTENT\_ROOTS - [`KT-80348`](https://youtrack.jetbrains.com/issue/KT-80348) Expose 'XXLanguage' compiler argument as a normal argument - [`KT-80428`](https://youtrack.jetbrains.com/issue/KT-80428) KMP Separate Compilation: Handle friend dependencies - [`KT-74590`](https://youtrack.jetbrains.com/issue/KT-74590) Deprecate -Xjvm-default in favor of -jvm-default - [`KT-80349`](https://youtrack.jetbrains.com/issue/KT-80349) KMP Separate Compilation is enabled on non-KMP compilations - [`KT-79982`](https://youtrack.jetbrains.com/issue/KT-79982) Fix description of -Xjspecify-annotations - [`KT-79403`](https://youtrack.jetbrains.com/issue/KT-79403) Improve generator for deprecated CLI arguments - [`KT-75968`](https://youtrack.jetbrains.com/issue/KT-75968) Set proper lifecycle for all existing compiler arguments - [`KT-79293`](https://youtrack.jetbrains.com/issue/KT-79293) Create Language Features and compiler argument with parameter for new destructuring features ##### Tools. Commonizer - [`KT-49735`](https://youtrack.jetbrains.com/issue/KT-49735) \[Commonizer] :commonizeNativeDistribution fails for projects with two or more same native targets - [`KT-47523`](https://youtrack.jetbrains.com/issue/KT-47523) MPP: Unable to resolve c-interop dependency if platform is included in an intermediate source set with the only target - [`KT-48118`](https://youtrack.jetbrains.com/issue/KT-48118) Commonized c-interop lib is not attached to common main source set - [`KT-46248`](https://youtrack.jetbrains.com/issue/KT-46248) MPP: Compile KotlinMetadata fails with Unresolved reference if only one native platform from shared source set is available ##### Tools. Compiler Plugin API - [`KT-82563`](https://youtrack.jetbrains.com/issue/KT-82563) Improve compiler error messages to identify incompatible plugins causing compilation failures - [`KT-55300`](https://youtrack.jetbrains.com/issue/KT-55300) Provide a mechanism to describe ordering and dependencies for compiler plugins - [`KT-82099`](https://youtrack.jetbrains.com/issue/KT-82099) Compiler plugin ordering has no effect - [`KT-74867`](https://youtrack.jetbrains.com/issue/KT-74867) LLFirIdePredicateBasedProvider matches local classes when it shouldn't - [`KT-52665`](https://youtrack.jetbrains.com/issue/KT-52665) Deprecate `ComponentRegistrar` - [`KT-75865`](https://youtrack.jetbrains.com/issue/KT-75865) Provide an API for setting the file name for the file with top-level declarations generated by a plugin ##### Tools. Compiler Plugins ##### New Features - [`KT-81091`](https://youtrack.jetbrains.com/issue/KT-81091) \[DataFrame] Receivers from FirExpressionResolutionExtension are not resolved in CodeFragment ##### Fixes - [`KT-64339`](https://youtrack.jetbrains.com/issue/KT-64339) Symbol Light Classes: No Arg compiler plugin generates synthethic constructor which is not seen from light classes - [`KT-80429`](https://youtrack.jetbrains.com/issue/KT-80429) Power Assert with "Run test using: IntelliJ": NoClassDefFoundError (org.jetbrains.kotlin.kotlinx.collections.immutable.ExtensionsKt) during compilation - [`KT-79319`](https://youtrack.jetbrains.com/issue/KT-79319) Lombok: NullPointerException on `mvn compile` when importing Java constants - [`KT-81348`](https://youtrack.jetbrains.com/issue/KT-81348) Incorrect bytecode mentioning error class/package is generated by kotlinx-serialization when private serializer in another module is not accessible - [`KT-80944`](https://youtrack.jetbrains.com/issue/KT-80944) FirUserTypeRefImpl cannot be cast to class FirResolvedTypeRef in maven project - [`KT-80815`](https://youtrack.jetbrains.com/issue/KT-80815) NoArg compiler plugin: Promote NO\_NOARG\_CONSTRUCTOR\_IN\_SUPERCLASS diagnostic from warning to error - [`KT-80822`](https://youtrack.jetbrains.com/issue/KT-80822) False positive NO\_NOARG\_CONSTRUCTOR\_IN\_SUPERCLASS reported for a class with explicit noargs constructor already present - [`KT-53122`](https://youtrack.jetbrains.com/issue/KT-53122) Constructors generated with NoArg have no `@Metadata` and are invisible for the frontend - [`KT-74687`](https://youtrack.jetbrains.com/issue/KT-74687) Kotlin Lombok: False positive when calling builder on Java record - [`KT-80419`](https://youtrack.jetbrains.com/issue/KT-80419) Remove bundled jetbrains annotations from kotlin-dataframe-compiler-plugin - [`KT-79245`](https://youtrack.jetbrains.com/issue/KT-79245) \[AtomicFU] Drop K1/JS- and K1/Native-specific testrunners - [`KT-79197`](https://youtrack.jetbrains.com/issue/KT-79197) DataFrame: Cannot find local variable 'this`@df`' with type Scope0 - [`KT-73865`](https://youtrack.jetbrains.com/issue/KT-73865) Incorrect type is generated for irPropertyReference during K/N transformation ##### Tools. Compiler plugins. Serialization - [`KT-70345`](https://youtrack.jetbrains.com/issue/KT-70345) Promote COMPANION\_OBJECT\_IS\_SERIALIZABLE\_INSIDE\_SERIALIZABLE\_CLASS diagnostic to error - [`KT-79695`](https://youtrack.jetbrains.com/issue/KT-79695) Serialization does not exclude field-less properties in 2.2.20-Beta2 - [`KT-79246`](https://youtrack.jetbrains.com/issue/KT-79246) \[Serialization] Drop K1-specific testrunners ##### Tools. Gradle ##### New Features - [`KT-78199`](https://youtrack.jetbrains.com/issue/KT-78199) Gradle: Migrate JVM compilation in KGP to the new BTA - [`KT-45161`](https://youtrack.jetbrains.com/issue/KT-45161) Gradle: Support registering generated sources with the Kotlin model - [`KT-71602`](https://youtrack.jetbrains.com/issue/KT-71602) Introduce KotlinTopLevelExtension ##### Fixes - [`KT-67290`](https://youtrack.jetbrains.com/issue/KT-67290) Deprecate usage of HasKotlinDependencies inside KotlinCompilation - [`KT-80950`](https://youtrack.jetbrains.com/issue/KT-80950) KGP breaks configuration cache when signing plugin with GnuPG is applied - [`KT-64211`](https://youtrack.jetbrains.com/issue/KT-64211) Provide support for the kotlin.internal.compiler.arguments.log.level property while running via build tools api - [`KT-81719`](https://youtrack.jetbrains.com/issue/KT-81719) Do not register swift export related configurations when it's not required - [`KT-78741`](https://youtrack.jetbrains.com/issue/KT-78741) Add FUS analytics for klib cross-compilation - [`KT-75449`](https://youtrack.jetbrains.com/issue/KT-75449) Update deprecation of `KotlinJsTestFramework#createTestExecutionSpec` - [`KT-64273`](https://youtrack.jetbrains.com/issue/KT-64273) Gradle: remove symbols deprecated after KT-54312 - [`KT-74915`](https://youtrack.jetbrains.com/issue/KT-74915) Make ExtrasProperty.kt internal - [`KT-64992`](https://youtrack.jetbrains.com/issue/KT-64992) Remove KotlinCompilation.source - [`KT-82068`](https://youtrack.jetbrains.com/issue/KT-82068) Workaround iOS Simulator start failure in IT - [`KT-79482`](https://youtrack.jetbrains.com/issue/KT-79482) Report webMain / webTest usage in FUS metrics - [`KT-81199`](https://youtrack.jetbrains.com/issue/KT-81199) Deprecate "org.jetbrains.kotlin.android" plugin - [`KT-82244`](https://youtrack.jetbrains.com/issue/KT-82244) Conflicting warnings when using AGP 9.0.0-alpha with built-in Kotlin disabled - [`KT-81161`](https://youtrack.jetbrains.com/issue/KT-81161) Gradle plugin api reference: compiler arguments types are not available - [`KT-70251`](https://youtrack.jetbrains.com/issue/KT-70251) Gradle: hide compiler symbols in KGP - [`KT-81837`](https://youtrack.jetbrains.com/issue/KT-81837) Run integration tests against AGP 8.13 - [`KT-77457`](https://youtrack.jetbrains.com/issue/KT-77457) Compile against Gradle API 9.0 - [`KT-79238`](https://youtrack.jetbrains.com/issue/KT-79238) Bump minimal supported AGP version to 8.2.2 - [`KT-75869`](https://youtrack.jetbrains.com/issue/KT-75869) KGP JS - Update deprecated constructors - [`KT-76720`](https://youtrack.jetbrains.com/issue/KT-76720) Raise deprecation level to error for Kotlin\*Options properties - [`KT-79047`](https://youtrack.jetbrains.com/issue/KT-79047) Gradle compileKotlin fails with configuration cache - [`KT-81415`](https://youtrack.jetbrains.com/issue/KT-81415) BTA: Duplicate daemons when compiling JVM + JS in KGP - [`KT-80763`](https://youtrack.jetbrains.com/issue/KT-80763) Add redirect link to error message when 'org.jetbrains.kotlin.android' plugin is used with built-in Kotlin - [`KT-81038`](https://youtrack.jetbrains.com/issue/KT-81038) Gradle: remove support for properties disabling precise task outputs backup - [`KT-80808`](https://youtrack.jetbrains.com/issue/KT-80808) Warning from kotlin-dsl with kotlin("jvm") on Gradle < 9.0 doesn’t suggest updating Gradle - [`KT-80875`](https://youtrack.jetbrains.com/issue/KT-80875) Gradle: runToolInSeparateProcess may fail on Windows with too long command line - [`KT-79851`](https://youtrack.jetbrains.com/issue/KT-79851) Emit an actionable warning/error on unsupported AV/LV configured by `kotlin-dsl` - [`KT-77458`](https://youtrack.jetbrains.com/issue/KT-77458) Run Gradle integration tests against Gradle 9.0 - [`KT-80172`](https://youtrack.jetbrains.com/issue/KT-80172) Error message changes depending on the order of applying 'org.jetbrains.kotlin.android' and 'AGP' 9.0+ with built-in Kotlin plugin - [`KT-76177`](https://youtrack.jetbrains.com/issue/KT-76177) Remove deprecated classpath snapshot task inputs - [`KT-79339`](https://youtrack.jetbrains.com/issue/KT-79339) Remove additionalMetadata from compiler options DSL - [`KT-73478`](https://youtrack.jetbrains.com/issue/KT-73478) Add module level description - [`KT-80083`](https://youtrack.jetbrains.com/issue/KT-80083) KGP IT: fix tests on Windows - [`KT-79034`](https://youtrack.jetbrains.com/issue/KT-79034) Automatically disable cross compilation if it's not supported on the host - [`KT-79408`](https://youtrack.jetbrains.com/issue/KT-79408) A lot of errors files are created when compile Kotlin - [`KT-78827`](https://youtrack.jetbrains.com/issue/KT-78827) Rewrite Gradle compiler options DSL generator ##### Tools. Gradle. BCV - [`KT-80687`](https://youtrack.jetbrains.com/issue/KT-80687) Add description to Gradle tasks \[ABI Validation] - [`KT-80621`](https://youtrack.jetbrains.com/issue/KT-80621) Move Gradle tasks into suitable groups \[ABI Validation] - [`KT-78625`](https://youtrack.jetbrains.com/issue/KT-78625) Kotlin's built-in BCV generates empty .api files ##### Tools. Gradle. Compiler plugins - [`KT-81827`](https://youtrack.jetbrains.com/issue/KT-81827) Add a switch for mapping file tasks in Compose Gradle plugin ##### Tools. Gradle. JS ##### Fixes - [`KT-79921`](https://youtrack.jetbrains.com/issue/KT-79921) Web Tooling Gradle API does not respect webpack reconfiguration - [`KT-81009`](https://youtrack.jetbrains.com/issue/KT-81009) K/JS, Wasm: Promote deprecation of NPM and Yarn package manager internal functions - [`KT-76019`](https://youtrack.jetbrains.com/issue/KT-76019) Wasm/JS: Promote phantom-js for Karma deprecation to ERROR - [`KT-81005`](https://youtrack.jetbrains.com/issue/KT-81005) K/JS, Wasm: Promote deprecation of ExperimentalWasmDsl to Error - [`KT-81010`](https://youtrack.jetbrains.com/issue/KT-81010) K/JS, Wasm: Promote deprecation of internal JS functions to Error - [`KT-81008`](https://youtrack.jetbrains.com/issue/KT-81008) K/JS, Wasm: Promote deprecation of ExperimentalDceDsl to Error - [`KT-81007`](https://youtrack.jetbrains.com/issue/KT-81007) K/JS, Wasm: Promote deprecation of public constructors of JS declarations to Error - [`KT-81006`](https://youtrack.jetbrains.com/issue/KT-81006) K/JS, Wasm: Promote wasm declarations in "js" package deprecation to Error - [`KT-81004`](https://youtrack.jetbrains.com/issue/KT-81004) K/JS, Wasm: promote deprecation NodeJsExec.create to Error - [`KT-75621`](https://youtrack.jetbrains.com/issue/KT-75621) KJS / Gradle: Disable npm in --offline mode - [`KT-79910`](https://youtrack.jetbrains.com/issue/KT-79910) Wasm, JS: Upgrade NPM versions - [`KT-76996`](https://youtrack.jetbrains.com/issue/KT-76996) Wasm: js tasks triggers wasm subtasks - [`KT-79237`](https://youtrack.jetbrains.com/issue/KT-79237) Upgrade NPM dependencies versions ##### Tools. Gradle. Multiplatform ##### New Features - [`KT-76446`](https://youtrack.jetbrains.com/issue/KT-76446) Add kotlin-level dependency block to work the same way as commonMain/commonTest dependencies blocks ##### Fixes - [`KT-61127`](https://youtrack.jetbrains.com/issue/KT-61127) Remove scoped resolvable and intransitive DependenciesMetadata configurations used in the pre-IdeMultiplatformImport IDE import - [`KT-81980`](https://youtrack.jetbrains.com/issue/KT-81980) KGP warning gives incorrect suggestion for AGP application compatibility - [`KT-81601`](https://youtrack.jetbrains.com/issue/KT-81601) With `android.builtInKotlin=false` AGP 9.0+, using `kotlin-multiplatform` plugin will fail with a`Class Cast Exception` - [`KT-81060`](https://youtrack.jetbrains.com/issue/KT-81060) KMP stores common compilation dependency resolution in Configuration cache leading to error when deserializing (Android only) - [`KT-80720`](https://youtrack.jetbrains.com/issue/KT-80720) Gradle import of multiplatform project fails: "Failed to invoke getAssociateWith on KotlinJvmCompilation\_Decorated" - [`KT-81200`](https://youtrack.jetbrains.com/issue/KT-81200) Deprecate 'androidTarget' - [`KT-74005`](https://youtrack.jetbrains.com/issue/KT-74005) Implement a prototype of Unified Klib support in Kotlin Gradle Plugin - [`KT-77367`](https://youtrack.jetbrains.com/issue/KT-77367) \[uklib] Project dependency to kotlin-jvm module leads to failure in transform during IDE import - [`KT-80785`](https://youtrack.jetbrains.com/issue/KT-80785) With `android.builtInKotlin=false` and `android.newDsl=true`, using `kotlin-android` plugin will fail with `ClassCastException` - [`KT-81434`](https://youtrack.jetbrains.com/issue/KT-81434) \[uklib] androidCompileClasspath resolves java compatibility variant instead of android for uklib library - [`KT-81469`](https://youtrack.jetbrains.com/issue/KT-81469) \[uklib] kmpPublicationStrategy affects resolution during import for androidTarget - [`KT-81249`](https://youtrack.jetbrains.com/issue/KT-81249) Kotlin 2.2.20 broke KMP implementation of Parcelize - [`KT-77066`](https://youtrack.jetbrains.com/issue/KT-77066) Promote kotlinArtifacts deprecation to an error - [`KT-74955`](https://youtrack.jetbrains.com/issue/KT-74955) Remove resources resolution strategy completely - [`KT-62614`](https://youtrack.jetbrains.com/issue/KT-62614) Remove legacy kotlin-gradle-plugin-model - [`KT-79559`](https://youtrack.jetbrains.com/issue/KT-79559) AGP complains about configurations resolved at configuration time due to KMP partially resolved dependencies diagnostic - [`KT-78993`](https://youtrack.jetbrains.com/issue/KT-78993) The value for property '\*' property 'dependencies' is final and cannot be changed any further - [`KT-76200`](https://youtrack.jetbrains.com/issue/KT-76200) TestModuleProperties.productionModuleName for JVM module isn't present with 2.1.20-RC - [`KT-55312`](https://youtrack.jetbrains.com/issue/KT-55312) Replace "ALL\_COMPILE\_DEPENDENCIES\_METADATA" configuration with set of metadata dependencies configurations associated per set - [`KT-52216`](https://youtrack.jetbrains.com/issue/KT-52216) HMPP / KTOR: False positive "TYPE\_MISMATCH" with Throwable descendant - [`KT-54312`](https://youtrack.jetbrains.com/issue/KT-54312) TCS: Replace CompilationDetails abstract class hierarchy by composable implementation - [`KT-55230`](https://youtrack.jetbrains.com/issue/KT-55230) Remove metadata dependencies transformation for runtimeOnly scope ##### Tools. Gradle. Native - [`KT-80675`](https://youtrack.jetbrains.com/issue/KT-80675) Commonized cinterops between "test" compilations produce an import failure - [`KT-77732`](https://youtrack.jetbrains.com/issue/KT-77732) `commonizeCInterop` failed with "Unresolved classifier: platform/posix/size\_t" - [`KT-81510`](https://youtrack.jetbrains.com/issue/KT-81510) `commonizeCInterop` exception with 'kotlinNativeBundleConfiguration' not found - [`KT-81134`](https://youtrack.jetbrains.com/issue/KT-81134) Native: Gradle configuration failure likely related to Klibs cross-compilation - [`KT-77486`](https://youtrack.jetbrains.com/issue/KT-77486) Remove bitcode DSL - [`KT-64107`](https://youtrack.jetbrains.com/issue/KT-64107) Kotlin Gradle plugin allows native binaries to have both `debuggable` and `optimized` flags set to `true` - [`KT-74910`](https://youtrack.jetbrains.com/issue/KT-74910) Bump `destinationDir` in CInteropProcess to hidden - [`KT-74911`](https://youtrack.jetbrains.com/issue/KT-74911) Promote CInteropProcess.konanVersion to hidden - [`KT-74864`](https://youtrack.jetbrains.com/issue/KT-74864) Enable exporting KDocs by default to ObjC - [`KT-72705`](https://youtrack.jetbrains.com/issue/KT-72705) K/N: compile task cache can not be used due to 'artifactVersion' input property ##### Tools. Gradle. Swift Export - [`KT-81465`](https://youtrack.jetbrains.com/issue/KT-81465) Swift Export package is build with wrong target - [`KT-81460`](https://youtrack.jetbrains.com/issue/KT-81460) \[KGP] Crash in SwiftExportRunner due to older stdlib - [`KT-79524`](https://youtrack.jetbrains.com/issue/KT-79524) NoSuchMethodError: 'java.lang.String org.gradle.api.artifacts.ProjectDependency.getPath() for swift export with dependency export fro gradle < 8.11 ##### Tools. Incremental Compile - [`KT-75864`](https://youtrack.jetbrains.com/issue/KT-75864) Implement a conservative mechanism of the IC with compiler plugins generated top-level declarations - [`KT-55982`](https://youtrack.jetbrains.com/issue/KT-55982) K2: Consider global lookups from plugins in incremental compilation - [`KT-79504`](https://youtrack.jetbrains.com/issue/KT-79504) Implement an API to provide IC lookups from backend plugins - [`KT-75657`](https://youtrack.jetbrains.com/issue/KT-75657) Fix difference in incremental compilation scenarios in BTA in-process vs daemon compilation mode - [`KT-79541`](https://youtrack.jetbrains.com/issue/KT-79541) Refactor tracking of files relation in IC - [`KT-74628`](https://youtrack.jetbrains.com/issue/KT-74628) Incremental compilation runner does not check compiler exit code before mapping sources to classes ##### Tools. JPS - [`KT-77347`](https://youtrack.jetbrains.com/issue/KT-77347) Support file-less compatible IC approach ##### Tools. Kapt - [`KT-79138`](https://youtrack.jetbrains.com/issue/KT-79138) K2: KAPT Java Stub Gen: `Unresolved reference` with `@kotlin`.Metadata in Java in 2.2.0 - [`KT-79133`](https://youtrack.jetbrains.com/issue/KT-79133) K2 kapt: class literal with typealias is not expanded - [`KT-79305`](https://youtrack.jetbrains.com/issue/KT-79305) K2 kapt: ISE "Cannot evaluate IR expression in annotation" on typealias with unresolved expansion - [`KT-79136`](https://youtrack.jetbrains.com/issue/KT-79136) K2 kapt: unresolved nested class references in annotation arguments are generated without outer class names - [`KT-71786`](https://youtrack.jetbrains.com/issue/KT-71786) K2Kapt: Stubs generation does not fail on files with declaration errors - [`KT-80843`](https://youtrack.jetbrains.com/issue/KT-80843) K2: KAPT: Crash on any data class with duplicate properties: "Sequence contains more than one matching element" - [`KT-73411`](https://youtrack.jetbrains.com/issue/KT-73411) Remove `kapt.use.k2` property and code which allows to use K2 with K1 kapt - [`KT-79641`](https://youtrack.jetbrains.com/issue/KT-79641) Kapt: too much information is printed in verbose mode ##### Tools. Maven - [`KT-82180`](https://youtrack.jetbrains.com/issue/KT-82180) kotlin-maven-plugin: IC succeeds after dependent source deletion - [`KT-78201`](https://youtrack.jetbrains.com/issue/KT-78201) Maven: migrate JVM compilation to the new BTA - [`KT-81414`](https://youtrack.jetbrains.com/issue/KT-81414) 2.2.20 regression: OOM (Compressed class space) when in-process - [`KT-81435`](https://youtrack.jetbrains.com/issue/KT-81435) Maven: Improve BTA classloader reusage - [`KT-81681`](https://youtrack.jetbrains.com/issue/KT-81681) Maven: "NoClassDefFoundError" on a second test run - [`KT-81218`](https://youtrack.jetbrains.com/issue/KT-81218) Kotlin Maven Plugin 2.2.20: Java classes not resolved with enabled incremental compilation without daemon ##### Tools. Performance benchmarks - [`KT-79709`](https://youtrack.jetbrains.com/issue/KT-79709) Add `-Xdetailed-perf` CLI flag to control verbosity of performance logs - [`KT-79226`](https://youtrack.jetbrains.com/issue/KT-79226) \[K/N] Add performance measurement for native backend lowerings ##### Tools. REPL - [`KT-80062`](https://youtrack.jetbrains.com/issue/KT-80062) ReplSnippetLowering sometimes produces IrConstructorCall with too many arguments ##### Tools. Scripts - [`KT-80071`](https://youtrack.jetbrains.com/issue/KT-80071) Kotlin script mode produces invalid IR: "value that is not available in the current scope" ##### Tools. Statistics (FUS) - [`KT-77407`](https://youtrack.jetbrains.com/issue/KT-77407) Add performance measurement for prefix lowerings - [`KT-79455`](https://youtrack.jetbrains.com/issue/KT-79455) \[FUS] Collect KSP plugin version - [`KT-79090`](https://youtrack.jetbrains.com/issue/KT-79090) Integrate dynamic stats into `MarkdownReportRenderer` ##### Tools. Wasm - [`KT-82365`](https://youtrack.jetbrains.com/issue/KT-82365) K/Wasm: NodeRun tasks in Wasi depend on kotlinWasmToolingSetup - [`KT-81313`](https://youtrack.jetbrains.com/issue/KT-81313) K/Wasm: update Node.js to 24.x - [`KT-81315`](https://youtrack.jetbrains.com/issue/KT-81315) K/Wasm: update Node.js to 25.x - [`KT-80582`](https://youtrack.jetbrains.com/issue/KT-80582) Multiple reloads when using webpack dev server after 2.2.20-Beta2 - [`KT-80896`](https://youtrack.jetbrains.com/issue/KT-80896) K/Wasm: debug tests only once - [`KT-78921`](https://youtrack.jetbrains.com/issue/KT-78921) K/Wasm: don't generate empty yarn.lock file ### [`v2.2.21`](https://github.com/JetBrains/kotlin/releases/tag/v2.2.21): Kotlin 2.2.21 [Compare Source](https://github.com/JetBrains/kotlin/compare/v2.2.20...v2.2.21) ##### Changelog ##### Backend. Wasm - [`KT-81372`](https://youtrack.jetbrains.com/issue/KT-81372) K/Wasm: JsException: Exception was thrown while running JavaScript code on Safari 18.2/18.3 - [`KT-80018`](https://youtrack.jetbrains.com/issue/KT-80018) K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit) ##### Compiler - [`KT-81191`](https://youtrack.jetbrains.com/issue/KT-81191) K2: "null cannot be cast to non-null type ConeTypeParameterLookupTag" with invalid code - [`KT-80936`](https://youtrack.jetbrains.com/issue/KT-80936) NON\_PUBLIC\_CALL\_FROM\_PUBLIC\_INLINE : `@PublishedApi` doesn't work for fun interfaces ##### JavaScript - [`KT-79926`](https://youtrack.jetbrains.com/issue/KT-79926) Wrong export of interfaces with companions with ES Modules - [`KT-81424`](https://youtrack.jetbrains.com/issue/KT-81424) Kotlin/JS: Cannot Get / in a simple running application - [`KT-80873`](https://youtrack.jetbrains.com/issue/KT-80873) KJS: Stdlib requires ES2020-compatible JS engine due to BigInt type literal ##### Native - [`KT-79384`](https://youtrack.jetbrains.com/issue/KT-79384) K/N: Application Not Responding: Thread Deadlock ##### Tools. Gradle - [`KT-79047`](https://youtrack.jetbrains.com/issue/KT-79047) Gradle compileKotlin fails with configuration cache - [`KT-81148`](https://youtrack.jetbrains.com/issue/KT-81148) Publishing helpers in KGP are incompatible with Isolated Projects - [`KT-80950`](https://youtrack.jetbrains.com/issue/KT-80950) KGP breaks configuration cache when signing plugin with GnuPG is applied ##### Tools. Gradle. Multiplatform - [`KT-61127`](https://youtrack.jetbrains.com/issue/KT-61127) Remove scoped resolvable and intransitive DependenciesMetadata configurations used in the pre-IdeMultiplatformImport IDE import - [`KT-81249`](https://youtrack.jetbrains.com/issue/KT-81249) Kotlin 2.2.20 broke KMP implementation of Parcelize ##### Tools. Gradle. Native - [`KT-81510`](https://youtrack.jetbrains.com/issue/KT-81510) `commonizeCInterop` exception with 'kotlinNativeBundleConfiguration' not found - [`KT-81134`](https://youtrack.jetbrains.com/issue/KT-81134) Native: Gradle configuration failure likely related to Klibs cross-compilation - [`KT-77732`](https://youtrack.jetbrains.com/issue/KT-77732) `commonizeCInterop` failed with "Unresolved classifier: platform/posix/size\_t" - [`KT-80675`](https://youtrack.jetbrains.com/issue/KT-80675) Commonized cinterops between "test" compilations produce an import failure ##### Tools. Maven - [`KT-81218`](https://youtrack.jetbrains.com/issue/KT-81218) Kotlin Maven Plugin 2.2.20: Java classes not resolved with enabled incremental compilation without daemon ##### Tools. Wasm - [`KT-80582`](https://youtrack.jetbrains.com/issue/KT-80582) Multiple reloads when using webpack dev server after 2.2.20-Beta2 ### [`v2.2.20`](https://github.com/JetBrains/kotlin/releases/tag/v2.2.20): Kotlin 2.2.20 [Compare Source](https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.2.20) ##### Changelog ##### Analysis API - [`KT-78187`](https://youtrack.jetbrains.com/issue/KT-78187) Synthetic properties not to be shown as callables - [`KT-72525`](https://youtrack.jetbrains.com/issue/KT-72525) K2. red code and KIWA on new-lines in guarded when conditions (with parentheses) - [`KT-74246`](https://youtrack.jetbrains.com/issue/KT-74246) KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site ##### Analysis API. Code Compilation - [`KT-78382`](https://youtrack.jetbrains.com/issue/KT-78382) K2 IR lowering error when interface extends interface - [`KT-73201`](https://youtrack.jetbrains.com/issue/KT-73201) K2 IDE: Error while evaluating expressions with local classes - [`KT-78164`](https://youtrack.jetbrains.com/issue/KT-78164) Evaluator: '`@JvmName`' annotations are not recognized in other modules - [`KT-76457`](https://youtrack.jetbrains.com/issue/KT-76457) K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm - [`KT-73084`](https://youtrack.jetbrains.com/issue/KT-73084) K2 evaluator cannot resolve local variables standing at the closing brace ##### Analysis API. FIR ##### Performance Improvements - [`KT-76490`](https://youtrack.jetbrains.com/issue/KT-76490) Do not load ast during the contracts phase if no contracts present - [`KT-78132`](https://youtrack.jetbrains.com/issue/KT-78132) Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations ##### Fixes - [`KT-72227`](https://youtrack.jetbrains.com/issue/KT-72227) SOE from recursive value class - [`KT-68977`](https://youtrack.jetbrains.com/issue/KT-68977) K2 IDE: Reference to companion object through typealias in a function call does not work - [`KT-72357`](https://youtrack.jetbrains.com/issue/KT-72357) Implement partial body resolution - [`KT-76932`](https://youtrack.jetbrains.com/issue/KT-76932) Support context parameters on dangling modifier list - [`KT-72407`](https://youtrack.jetbrains.com/issue/KT-72407) FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing - [`KT-77602`](https://youtrack.jetbrains.com/issue/KT-77602) K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call - [`KT-77629`](https://youtrack.jetbrains.com/issue/KT-77629) K2: NPE: "org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution" - [`KT-76855`](https://youtrack.jetbrains.com/issue/KT-76855) Analysis API: `KaType.asPsiType` returns `null` for a local inner class in dependent analysis tests - [`KT-72718`](https://youtrack.jetbrains.com/issue/KT-72718) ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted - [`KT-76811`](https://youtrack.jetbrains.com/issue/KT-76811) Analysis API: `resolveToFirSymbol` finds a `FirPropertySymbol` for a `KtScript` in dependent analysis - [`KT-73586`](https://youtrack.jetbrains.com/issue/KT-73586) \[Analysis API] Add `lazyResolveToPhase(STATUS)` before accessing modifiers of members - [`KT-71135`](https://youtrack.jetbrains.com/issue/KT-71135) AA: exception from sealed inheritors checker when `analyzeCopy` - [`KT-75534`](https://youtrack.jetbrains.com/issue/KT-75534) K2 AA: "Containing declaration should present for nested declaration class KtNamedFunction" with dangling annotation on top-level anonymous function - [`KT-75687`](https://youtrack.jetbrains.com/issue/KT-75687) K2: local variable doesn't get to the do-while scope - [`KT-56543`](https://youtrack.jetbrains.com/issue/KT-56543) LL FIR: rework lazy transformers so transformers modify only declarations they suppose to ##### Analysis API. Infrastructure - [`KT-76809`](https://youtrack.jetbrains.com/issue/KT-76809) Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element ##### Analysis API. Light Classes - [`KT-78835`](https://youtrack.jetbrains.com/issue/KT-78835) Find usages of a light constructor from a class with an empty body finds usages of class as well - [`KT-78878`](https://youtrack.jetbrains.com/issue/KT-78878) K2. Method shown as unavailable in Java when `@JvmExposeBoxed` is applied (redundantly) at both class and method level in Kotlin - [`KT-78065`](https://youtrack.jetbrains.com/issue/KT-78065) Support "Expose boxed inline value classes" in Light Classes - [`KT-78076`](https://youtrack.jetbrains.com/issue/KT-78076) DLC: KotlinDeclarationInCompiledFileSearcher missed accessors if types are boxed - [`KT-77569`](https://youtrack.jetbrains.com/issue/KT-77569) SLC: annotation missing from generated no-args constructor - [`KT-75182`](https://youtrack.jetbrains.com/issue/KT-75182) K2 AA. False positive red code "Unresolved reference" to a Kotlin method in Java when Kotlin uses a value class with `@JvmOverloads` - [`KT-77564`](https://youtrack.jetbrains.com/issue/KT-77564) Constructor with JvmOverloads and value class shouldn't mark regular constructors private - [`KT-77505`](https://youtrack.jetbrains.com/issue/KT-77505) K2: find usages on java accessor methods do not detect kotlin property accessor usages - [`KT-76789`](https://youtrack.jetbrains.com/issue/KT-76789) Annotation resolve shouldn't search through non-class members - [`KT-76907`](https://youtrack.jetbrains.com/issue/KT-76907) Wrong equality between repeatable annotation and container ##### Analysis API. Providers and Caches - [`KT-77578`](https://youtrack.jetbrains.com/issue/KT-77578) Analysis API: Performance degradation of `KaBaseResolutionScope.contains` after introduction of library restriction scopes - [`KT-78640`](https://youtrack.jetbrains.com/issue/KT-78640) Analysis API: Remove "friend builtins provider" from `FirDeclarationForCompiledElementSearcher` - [`KT-74907`](https://youtrack.jetbrains.com/issue/KT-74907) Analysis API: Apply platform-based library module content restrictions consistently - [`KT-77605`](https://youtrack.jetbrains.com/issue/KT-77605) AA: Leaking KaDanglingFileModule through IdeKotlinPackageProvider - [`KT-62474`](https://youtrack.jetbrains.com/issue/KT-62474) Analysis API: Improve mergeability and performance of custom search scopes - [`KT-77022`](https://youtrack.jetbrains.com/issue/KT-77022) Get rid of ExpectBuiltinPostProcessor workaround - [`KT-77248`](https://youtrack.jetbrains.com/issue/KT-77248) Delegation of `JavaModuleResolver` is restricted to `CliJavaModuleResolver` - [`KT-76850`](https://youtrack.jetbrains.com/issue/KT-76850) LLFirLibrarySession cannot be cast to LLFirResolvableModuleSession - [`KT-76952`](https://youtrack.jetbrains.com/issue/KT-76952) Analysis API: `when` exhaustiveness analysis fails for sealed classes in dangling files - [`KT-72390`](https://youtrack.jetbrains.com/issue/KT-72390) Kotlin project full of red code ##### Analysis API. Standalone - [`KT-78638`](https://youtrack.jetbrains.com/issue/KT-78638) Analysis API Standalone: Stdlib builtins are not indexed in `STUBS` deserialized declaration origin mode ##### Analysis API. Stubs and Decompilation - [`KT-77496`](https://youtrack.jetbrains.com/issue/KT-77496) Support HAS\_MUST\_USE\_RETURN\_VALUE metadata flags in FirStubBasedMemberDeserializer - [`KT-77778`](https://youtrack.jetbrains.com/issue/KT-77778) Function receivers doesn't have annotations - [`KT-77777`](https://youtrack.jetbrains.com/issue/KT-77777) Receiver annotations shouldn't be present on types - [`KT-77538`](https://youtrack.jetbrains.com/issue/KT-77538) Support default property accessors with annotations - [`KT-77763`](https://youtrack.jetbrains.com/issue/KT-77763) Decompiled stubs miss inline modifier for property accessors - [`KT-77309`](https://youtrack.jetbrains.com/issue/KT-77309) Decompiled property from annotation constructor with default value should have a constant initializer - [`KT-77168`](https://youtrack.jetbrains.com/issue/KT-77168) Prefer DataInputOutputUtil for serialization/deserialization - [`KT-77117`](https://youtrack.jetbrains.com/issue/KT-77117) Flaky WRONG\_ANNOTATION\_TARGET diagnostic - [`KT-76791`](https://youtrack.jetbrains.com/issue/KT-76791) Function signature types are deserialized inconsistently - [`KT-76947`](https://youtrack.jetbrains.com/issue/KT-76947) Support functional types with context parameters ##### Analysis API. Surface ##### New Features - [`KT-73473`](https://youtrack.jetbrains.com/issue/KT-73473) Provide KaExpressionInformationProvider.isUsedAsResultOfLambda - [`KT-77278`](https://youtrack.jetbrains.com/issue/KT-77278) Implement psi-based `KaFirKotlinPropertyKtPropertyBasedSymbol#hasBackingField` - [`KT-70770`](https://youtrack.jetbrains.com/issue/KT-70770) KaLocalVariableSymbol: support `isLateInit` ##### Performance Improvements - [`KT-78526`](https://youtrack.jetbrains.com/issue/KT-78526) Get rid of redundant `checkValidity` from `withPsiValidityAssertion` ##### Fixes - [`KT-77674`](https://youtrack.jetbrains.com/issue/KT-77674) Analysis API: Redundant smart cast to the original type - [`KT-76577`](https://youtrack.jetbrains.com/issue/KT-76577) Guard KaFirStopWorldCacheCleaner from deadlocks via threads waiting - [`KT-78820`](https://youtrack.jetbrains.com/issue/KT-78820) K2: ISE "FIR element class FirErrorExpressionImpl is not supported in constant evaluation" through RedundantValueArgumentInspection - [`KT-75057`](https://youtrack.jetbrains.com/issue/KT-75057) Analysis API: Reference to object through typealias in invoke operator call leads to original type - [`KT-79042`](https://youtrack.jetbrains.com/issue/KT-79042) Do not restore KaTypePointer if target kind has changed - [`KT-72421`](https://youtrack.jetbrains.com/issue/KT-72421) AA: "KtReference.resolveToSymbols" returns empty list when ASSIGN\_OPERATOR\_AMBGUITY error is present - [`KT-63464`](https://youtrack.jetbrains.com/issue/KT-63464) AA: KtPsiTypeProvider#asPsiType doesn't substitute kotlin.Unit - [`KT-75913`](https://youtrack.jetbrains.com/issue/KT-75913) K2: SymbolLightLazyAnnotation evaluates arguments and replaces them with constants - [`KT-78628`](https://youtrack.jetbrains.com/issue/KT-78628) K2. Setting Receiver=true in Change Signature produces parameter of regular function type receiver instead of extension function type - [`KT-78278`](https://youtrack.jetbrains.com/issue/KT-78278) ISE: FIR element "class org.jetbrains.kotlin.fir.expressions.impl.FirErrorResolvedQualifierImpl" is not supported in constant evaluation at org.jetbrains.uast.kotlin.internal.FirKotlinUastConstantEvaluator.evaluate - [`KT-73184`](https://youtrack.jetbrains.com/issue/KT-73184) Analysis API: KaFunctionCall.argumentMapping is unexpectedly deparenthesised - [`KT-73327`](https://youtrack.jetbrains.com/issue/KT-73327) Cover all psi inputs with scope validity assertions - [`KT-78613`](https://youtrack.jetbrains.com/issue/KT-78613) PSI: add binary compatibility checks - [`KT-74013`](https://youtrack.jetbrains.com/issue/KT-74013) Analysis API: Cover the API surface with `@SubclassOptInRequired` annotations - [`KT-76614`](https://youtrack.jetbrains.com/issue/KT-76614) Move the parser and lexer to a separate module - [`KT-78552`](https://youtrack.jetbrains.com/issue/KT-78552) `KaFunctionValueParameter` is not marked as `KaLifetimeOwner` - [`KT-71152`](https://youtrack.jetbrains.com/issue/KT-71152) Add back SubclassOptInRequired to classes in KaModule.kt - [`KT-71876`](https://youtrack.jetbrains.com/issue/KT-71876) Support storing parameter names in `KaFunctionType` - [`KT-77738`](https://youtrack.jetbrains.com/issue/KT-77738) AA: inconsistent `KaType.allSupertypes` regarding multiple iterations - [`KT-75358`](https://youtrack.jetbrains.com/issue/KT-75358) K2 AA, KaFirVisibilityChecker: private member of anonymous object is not visible inside it - [`KT-73723`](https://youtrack.jetbrains.com/issue/KT-73723) K2 AA, KaFirVisibilityChecker: protected member of superclass is not visible from anonymous object - [`KT-78057`](https://youtrack.jetbrains.com/issue/KT-78057) \[Analysis API, K2] Context parameters are not resolved in KDoc - [`KT-73758`](https://youtrack.jetbrains.com/issue/KT-73758) K2 Mode: "KaEvaluator.evaluate" does not work for simple arithmetic expressions - [`KT-72301`](https://youtrack.jetbrains.com/issue/KT-72301) K2 AA. `PSI should present for declaration built by Kotlin code` on property access syntax of generic Java getter through Kotlin subclass - [`KT-77730`](https://youtrack.jetbrains.com/issue/KT-77730) K2: Unable to get a light PSI for a nested annotation used with fully-qualified name - [`KT-73216`](https://youtrack.jetbrains.com/issue/KT-73216) K2: unresolvable references in type parameters - [`KT-71794`](https://youtrack.jetbrains.com/issue/KT-71794) Analysis API: Types with errors have unresolved qualifiers in lambda parameters position - [`KT-65846`](https://youtrack.jetbrains.com/issue/KT-65846) Support parameter names in functional type rendering - [`KT-76738`](https://youtrack.jetbrains.com/issue/KT-76738) K2 AA: rendering constructor of sealed class inserts protected modifier - [`KT-77515`](https://youtrack.jetbrains.com/issue/KT-77515) `KaTypeProvider#receiverType` should be more tolerant to an error code - [`KT-77333`](https://youtrack.jetbrains.com/issue/KT-77333) K2 AA: KaFirTypeProvider.getType: InvalidFirElementTypeException: For TYPE\_REFERENCE with text `I`, unexpected element of type: FirSuperReceiverExpressionImpl found - [`KT-76044`](https://youtrack.jetbrains.com/issue/KT-76044) K2 AA: isFun is true for restored symbol of Java interface with several methods - [`KT-77264`](https://youtrack.jetbrains.com/issue/KT-77264) `KaTypeProvider#type` should be more tolerant to an error code - [`KT-77282`](https://youtrack.jetbrains.com/issue/KT-77282) KaPropertySymbol: support `isDelegatedProperty` for libraries - [`KT-77254`](https://youtrack.jetbrains.com/issue/KT-77254) K2 AA: expectedType doesn't provide anything for parameter default value - [`KT-74777`](https://youtrack.jetbrains.com/issue/KT-74777) KaVariableSymbol.hasBackingField returns incorrect result for libraries - [`KT-77280`](https://youtrack.jetbrains.com/issue/KT-77280) Rename `KaPropertyAccessorSymbol#isCustom` to `isNotDefault` - [`KT-77210`](https://youtrack.jetbrains.com/issue/KT-77210) Analysis API: `scopeContext` shows implicit receiver with a class instance in the class constructor - [`KT-77196`](https://youtrack.jetbrains.com/issue/KT-77196) Clarify differences between KaPropertyAccessorSymbol#{isDefault, hasBody} - [`KT-76580`](https://youtrack.jetbrains.com/issue/KT-76580) K2: No expected type for the second+ vararg argument - [`KT-76750`](https://youtrack.jetbrains.com/issue/KT-76750) K2. internal exception 'Unable to provide inlay hint' on typo in nested lambdas - [`KT-73290`](https://youtrack.jetbrains.com/issue/KT-73290) Analysis API: Improve the architecture of content scopes and resolution scopes - [`KT-73055`](https://youtrack.jetbrains.com/issue/KT-73055) Get rid of the deprecated Analysis API API - [`KT-70199`](https://youtrack.jetbrains.com/issue/KT-70199) K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments ##### Backend. Wasm ##### New Features - [`KT-65721`](https://youtrack.jetbrains.com/issue/KT-65721) K/Wasm: stop unconditionally exporting any main function from the root package ##### Performance Improvements - [`KT-70097`](https://youtrack.jetbrains.com/issue/KT-70097) Optimize shared primitive variables in Native and Wasm ##### Fixes - [`KT-80106`](https://youtrack.jetbrains.com/issue/KT-80106) devServer in Kotlin/Wasm overwrites defaults, causing missing static paths - [`KT-80018`](https://youtrack.jetbrains.com/issue/KT-80018) K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit) - [`KT-66072`](https://youtrack.jetbrains.com/issue/KT-66072) K/Wasm: improve how exceptions work in JS interop - [`KT-77897`](https://youtrack.jetbrains.com/issue/KT-77897) WasmJs: ClassCastException when using star-projection with nullable transformation in generic extension function - [`KT-71533`](https://youtrack.jetbrains.com/issue/KT-71533) K/Wasm + K2: no error on KClass::qualifiedName usages - [`KT-73931`](https://youtrack.jetbrains.com/issue/KT-73931) WASM: "RuntimeError: illegal cast" with nullable generic - [`KT-65403`](https://youtrack.jetbrains.com/issue/KT-65403) \[WASM] RuntimeError is thrown instead of ClassCastException - [`KT-79317`](https://youtrack.jetbrains.com/issue/KT-79317) \[Wasm] Do not throw CCE for ExcludedFromCodegen declarations - [`KT-66085`](https://youtrack.jetbrains.com/issue/KT-66085) K/WASM: Runtime error is uncaught with `catch (e: Throwable)` - [`KT-78036`](https://youtrack.jetbrains.com/issue/KT-78036) K/Wasm: generate a message with "expected" and "actual" types in case of CCE - [`KT-78384`](https://youtrack.jetbrains.com/issue/KT-78384) K/Wasm: Incorrect debug info of local declarations in inline function from another file - [`KT-72220`](https://youtrack.jetbrains.com/issue/KT-72220) Wasm: Unclear exception in case of missed dependency - [`KT-71691`](https://youtrack.jetbrains.com/issue/KT-71691) No trace on Wasm/JS if an error occurred in initializing global variables in a file with the main function - [`KT-67554`](https://youtrack.jetbrains.com/issue/KT-67554) \[Wasm] Consider to have reference equals or/and equals for function references - [`KT-71521`](https://youtrack.jetbrains.com/issue/KT-71521) K/Wasm: incorrect results on equality checks for capturing property references - [`KT-71522`](https://youtrack.jetbrains.com/issue/KT-71522) K/Wasm: incorrect results on equality checks for function references - [`KT-69570`](https://youtrack.jetbrains.com/issue/KT-69570) K/Wasm: JsExport with default parameter value compiles to invalid Wasm - [`KT-71517`](https://youtrack.jetbrains.com/issue/KT-71517) K/Wasm: KClass::qualifiedName for local classes and objects returns non-null value - [`KT-68309`](https://youtrack.jetbrains.com/issue/KT-68309) WASM: Anonymous class simpleName returns "<no name provided>" instead of null - [`KT-77272`](https://youtrack.jetbrains.com/issue/KT-77272) K/Wasm: Remove kotlin.wasm.internal.ClosureBox\* classes from the standard library - [`KT-66106`](https://youtrack.jetbrains.com/issue/KT-66106) Wasm: lambda was not invoked in test lambda2.kt - [`KT-77855`](https://youtrack.jetbrains.com/issue/KT-77855) \[Wasm] Improve virtual function calls speed for lambdas - [`KT-77501`](https://youtrack.jetbrains.com/issue/KT-77501) Wasm: unsigned vararg compiles to invalid Wasm - [`KT-76775`](https://youtrack.jetbrains.com/issue/KT-76775) \[Wasm] Inconsistent FP mod operation - [`KT-77464`](https://youtrack.jetbrains.com/issue/KT-77464) Wasm: KType.toString() has simple names even with -Xwasm-kclass-fqn - [`KT-77465`](https://youtrack.jetbrains.com/issue/KT-77465) Wasm: KTypeParamter printed without variance information ##### Compiler ##### New Features - [`KT-71768`](https://youtrack.jetbrains.com/issue/KT-71768) Enable -Xjvm-default=all-compatibility by default to generate JVM default interface methods - [`KT-78374`](https://youtrack.jetbrains.com/issue/KT-78374) Make indy lambda function name generation more consistent - [`KT-45683`](https://youtrack.jetbrains.com/issue/KT-45683) Allow generics in contract type assertions - [`KT-27090`](https://youtrack.jetbrains.com/issue/KT-27090) Support contracts in getter and setter for top-level extension properties - [`KT-76766`](https://youtrack.jetbrains.com/issue/KT-76766) Warning is missing for wrong subclass checking - [`KT-71244`](https://youtrack.jetbrains.com/issue/KT-71244) Incorporate existing `@CheckReturnValue` annotation(s) into Kotlin's unused return value checker - [`KT-73256`](https://youtrack.jetbrains.com/issue/KT-73256) Implement `all` meta-target for annotations - [`KT-78792`](https://youtrack.jetbrains.com/issue/KT-78792) Report warning for redundant return in expression body - [`KT-32313`](https://youtrack.jetbrains.com/issue/KT-32313) Support contracts for operator functions - [`KT-70722`](https://youtrack.jetbrains.com/issue/KT-70722) Implement better Kotlin warnings for value classes and JEP 390 (Warnings for Value-Based Classes) - [`KT-65688`](https://youtrack.jetbrains.com/issue/KT-65688) Generate when-expressions over final classes via invokedynamic typeSwitch + tableswitch on JDK 21+ - [`KT-54344`](https://youtrack.jetbrains.com/issue/KT-54344) Trigger the unused expression warning for interpolated strings, even when the expression may have side effects - [`KT-74807`](https://youtrack.jetbrains.com/issue/KT-74807) Implement 'full' unused return value checker mode - [`KT-77653`](https://youtrack.jetbrains.com/issue/KT-77653) K/N: an optimization pass to remove redundant type checks - [`KT-64477`](https://youtrack.jetbrains.com/issue/KT-64477) Enhance KotlinLightParser to make it able to parse scripts - [`KT-74809`](https://youtrack.jetbrains.com/issue/KT-74809) Support unnamed local variables - [`KT-72941`](https://youtrack.jetbrains.com/issue/KT-72941) ANNOTATIONS\_ON\_BLOCK\_LEVEL\_EXPRESSION\_ON\_THE\_SAME\_LINE missing in K2 - [`KT-75061`](https://youtrack.jetbrains.com/issue/KT-75061) Support context-sensitive resolution in type position ##### Performance Improvements - [`KT-77993`](https://youtrack.jetbrains.com/issue/KT-77993) Optimize old PSI/LightTree Kotlin parser - [`KT-78672`](https://youtrack.jetbrains.com/issue/KT-78672) Consider having FirCallableSymbol.callableId null for local properties / parameters - [`KT-77839`](https://youtrack.jetbrains.com/issue/KT-77839) K2: consider not creating CallableId for value parameters / variables / fields - [`KT-74981`](https://youtrack.jetbrains.com/issue/KT-74981) Kotlin/Native: large binary size for iOS target in 2.1.0(LLVM16) - [`KT-77838`](https://youtrack.jetbrains.com/issue/KT-77838) K2: consider replacing LinkedHashMap with HashMap inside scopes and scope session - [`KT-76698`](https://youtrack.jetbrains.com/issue/KT-76698) Android Studio compose preview holds read lock 700ms for KaCompilerFacility API - [`KT-68677`](https://youtrack.jetbrains.com/issue/KT-68677) Kotlin compilation issue when using EnumMap and Pair ##### Fixes - [`KT-79979`](https://youtrack.jetbrains.com/issue/KT-79979) K2: ClassCastException when overriding extension property with delegation - [`KT-67146`](https://youtrack.jetbrains.com/issue/KT-67146) `UPPER_BOUND_VIOLATED` missing on implicit type arguments - [`KT-76477`](https://youtrack.jetbrains.com/issue/KT-76477) Kotlin/Native: fix compiler performance reporting in sources->klib and klibs->binary - [`KT-79866`](https://youtrack.jetbrains.com/issue/KT-79866) kotlinc 2.2.0 silently emits 'NonExistentClass' instead of reporting an error - [`KT-78666`](https://youtrack.jetbrains.com/issue/KT-78666) "Platform declaration clash" caused by indy lambda name generation which generates conflicting names - [`KT-80285`](https://youtrack.jetbrains.com/issue/KT-80285) IJ monorepo: broken compilation after 2.2.20-RC update - [`KT-79442`](https://youtrack.jetbrains.com/issue/KT-79442) "Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfaces - [`KT-78589`](https://youtrack.jetbrains.com/issue/KT-78589) "Class does not have member field" caused by delegation from a Java to Kotlin class - [`KT-79816`](https://youtrack.jetbrains.com/issue/KT-79816) Java Interfaces implemented by delegation have non-null return checks - [`KT-78097`](https://youtrack.jetbrains.com/issue/KT-78097) False positive NO\_ELSE\_IN\_WHEN on sealed interface with negative is check - [`KT-77182`](https://youtrack.jetbrains.com/issue/KT-77182) A function in a file annotated with `@file`:MustUseReturnValue doesn't produce a warning when it is used from compiled code - [`KT-79085`](https://youtrack.jetbrains.com/issue/KT-79085) Adding `-Xreturn-value-checker=full` to kotlinc causes "error: conflicting overloads" - [`KT-75268`](https://youtrack.jetbrains.com/issue/KT-75268) K2: Implement the new compilation scheme for MPP (compiler part) - [`KT-78843`](https://youtrack.jetbrains.com/issue/KT-78843) FIR tree: comments within String concatenation aren't visited in 2.2.0 - [`KT-77401`](https://youtrack.jetbrains.com/issue/KT-77401) \[FIR] `ParameterNameTypeAttribute.name` doesn't support `@ParameterName` with compile-time constant property argument - [`KT-73611`](https://youtrack.jetbrains.com/issue/KT-73611) Remove -Xextended-compiler-checks in favor of a deprecation cycle - [`KT-79276`](https://youtrack.jetbrains.com/issue/KT-79276) Dexing fails with "Cannot read field X because <local0> is null" with 2.2.0 - [`KT-79781`](https://youtrack.jetbrains.com/issue/KT-79781) Missing MISSING\_DEPENDENCY\_CLASS when using type alias with inaccessible RHS - [`KT-78621`](https://youtrack.jetbrains.com/issue/KT-78621) false-positive type mismatch error on value of nullable type as value of platform type - [`KT-79547`](https://youtrack.jetbrains.com/issue/KT-79547) "UnsupportedOperationException: Not supported" with inlining and value classes - [`KT-52706`](https://youtrack.jetbrains.com/issue/KT-52706) Bad signature for generic value classes with substituted type parameter - [`KT-79519`](https://youtrack.jetbrains.com/issue/KT-79519) Nested type alias is unreachable from another module - [`KT-76839`](https://youtrack.jetbrains.com/issue/KT-76839) False-negative MISSING\_DEPENDENCY\_CLASS on parameter of data class constructor - [`KT-78352`](https://youtrack.jetbrains.com/issue/KT-78352) False-positive IDENTITY\_SENSITIVE\_OPERATIONS\_WITH\_VALUE\_TYPE when comparing with equality operator (==) - [`KT-78815`](https://youtrack.jetbrains.com/issue/KT-78815) `Symbol not found: __ZNSt3__117bad_function_callD1Ev` error on iOS 15.5 simulator in Xcode 16.3 after update to 2.2.0-Beta2 - [`KT-25341`](https://youtrack.jetbrains.com/issue/KT-25341) NOT\_YET\_SUPPORTED\_IN\_INLINE reported over anonymous object border - [`KT-77099`](https://youtrack.jetbrains.com/issue/KT-77099) 'all' annotation target is not a soft keyword - [`KT-76478`](https://youtrack.jetbrains.com/issue/KT-76478) FIR: Implement IDE-only checker for types exposed in inline function - [`KT-79355`](https://youtrack.jetbrains.com/issue/KT-79355) Failed to fix the problem of desugared `inc` with new reverse implies returns contract - [`KT-79277`](https://youtrack.jetbrains.com/issue/KT-79277) Implies returns contract doesn't affect the return type of the function if it is in the argument position - [`KT-79271`](https://youtrack.jetbrains.com/issue/KT-79271) Implies returns contract doesn't impact exhaustiveness - [`KT-79218`](https://youtrack.jetbrains.com/issue/KT-79218) SMARTCAST\_IMPOSSIBLE for top‑level extension‑property getter despite returnsNotNull contract - [`KT-79220`](https://youtrack.jetbrains.com/issue/KT-79220) returnsNotNull contract ignored on extension function with nullable receiver - [`KT-79354`](https://youtrack.jetbrains.com/issue/KT-79354) IllegalStateException: Debug metadata version mismatch. Expected: 1, got 2 with compiler 2.2.20-Beta1 and stdlib 2.2.0 - [`KT-78479`](https://youtrack.jetbrains.com/issue/KT-78479) IR lowering failed / Unexpected null argument for composable call - [`KT-77986`](https://youtrack.jetbrains.com/issue/KT-77986) K2: False negative: "Local classes are not yet supported in inline functions" - [`KT-79076`](https://youtrack.jetbrains.com/issue/KT-79076) 'IllegalStateException: Cannot serialize error type: ERROR CLASS: Uninferred type' with Exposed column using recursive generic type - [`KT-78726`](https://youtrack.jetbrains.com/issue/KT-78726) Split runPsiToIr phase into runPsiToIr and runIrLinker - [`KT-77672`](https://youtrack.jetbrains.com/issue/KT-77672) K/N: come up with a fallback strategy for the casts optimization pass - [`KT-76365`](https://youtrack.jetbrains.com/issue/KT-76365) K2: Missing ABSTRACT\_SUPER\_CALL - [`KT-76585`](https://youtrack.jetbrains.com/issue/KT-76585) K2: RETURN\_IN\_FUNCTION\_WITH\_EXPRESSION\_BODY is not reported inside initializers of local variables - [`KT-79099`](https://youtrack.jetbrains.com/issue/KT-79099) K2: Do not inherit inline modifier - [`KT-76902`](https://youtrack.jetbrains.com/issue/KT-76902) Omit type-use annotations from diagnostics - [`KT-64499`](https://youtrack.jetbrains.com/issue/KT-64499) Report error on overloading by order of context parameters - [`KT-58988`](https://youtrack.jetbrains.com/issue/KT-58988) K2: Deprecate exposing package-private parameter of internal method - [`KT-77199`](https://youtrack.jetbrains.com/issue/KT-77199) OPT\_IN\_USAGE\_ERROR is still absent when calling the enum primary constructor - [`KT-72800`](https://youtrack.jetbrains.com/issue/KT-72800) K2: java.util.NoSuchElementException when introduce variable - [`KT-79056`](https://youtrack.jetbrains.com/issue/KT-79056) Add experimental language version 2.5 - [`KT-17460`](https://youtrack.jetbrains.com/issue/KT-17460) Diagnostics and intention on suspend function that is overriden with non-suspend one. - [`KT-78351`](https://youtrack.jetbrains.com/issue/KT-78351) Plugins: VIRTUAL\_MEMBER\_HIDDEN caused by FirSupertypeGenerationExtension - [`KT-78527`](https://youtrack.jetbrains.com/issue/KT-78527) No LESS\_VISIBLE\_TYPE\_ACCESS\_IN\_INLINE\_WARNING is reported when a private companion object is accessed via the class name - [`KT-79045`](https://youtrack.jetbrains.com/issue/KT-79045) FirExpectActualMatcherTransformer should not visit bodies - [`KT-74570`](https://youtrack.jetbrains.com/issue/KT-74570) K2: Linenumber for annotation on property is present in LVT - [`KT-74569`](https://youtrack.jetbrains.com/issue/KT-74569) K2: Linenumber of annotation is present in constructor's LVT - [`KT-64731`](https://youtrack.jetbrains.com/issue/KT-64731) K2: Annotation on inline function or inside inline function is hit by debugger - [`KT-77756`](https://youtrack.jetbrains.com/issue/KT-77756) Add experimental language version 2.4 - [`KT-78837`](https://youtrack.jetbrains.com/issue/KT-78837) linkReleaseFrameworkIosArm64: Compilation failed: An interface expected but was Any - [`KT-78945`](https://youtrack.jetbrains.com/issue/KT-78945) CONTRACT\_NOT\_ALLOWED is not reported for local operator functions - [`KT-78944`](https://youtrack.jetbrains.com/issue/KT-78944) ANNOTATION\_IN\_CONTRACT\_ERROR is not reported for operators and property accessors with contracts - [`KT-78943`](https://youtrack.jetbrains.com/issue/KT-78943) ERROR\_IN\_CONTRACT\_DESCRIPTION is not reported for operators and property accessors with contracts - [`KT-78932`](https://youtrack.jetbrains.com/issue/KT-78932) Contracts are allowed for open and overridden property accessors - [`KT-77203`](https://youtrack.jetbrains.com/issue/KT-77203) FIR: Consider adding destructured type to all COMPONENT\_FUNCTION\_\* diagnostics - [`KT-76635`](https://youtrack.jetbrains.com/issue/KT-76635) Implement Data-Flow Based Exhaustiveness Support - [`KT-78805`](https://youtrack.jetbrains.com/issue/KT-78805) K2: False positive METHOD\_OF\_ANY\_IMPLEMENTED\_IN\_INTERFACE - [`KT-78651`](https://youtrack.jetbrains.com/issue/KT-78651) No need to report LESS\_VISIBLE\_TYPE\_ACCESS\_IN\_INLINE\_WARNING in noinline default value lambda - [`KT-78849`](https://youtrack.jetbrains.com/issue/KT-78849) K2: \[Wasm, Fir2IR] Invalid smartcast on overloaded function call - [`KT-78793`](https://youtrack.jetbrains.com/issue/KT-78793) Make feature AllowEagerSupertypeAccessibilityChecks experimental - [`KT-78736`](https://youtrack.jetbrains.com/issue/KT-78736) Missing \[NOT\_YET\_SUPPORTED\_IN\_INLINE] diagnostics because of incorrect context update - [`KT-78324`](https://youtrack.jetbrains.com/issue/KT-78324) K2: False negative \[INCONSISTENT\_TYPE\_PARAMETER\_VALUES] - [`KT-69975`](https://youtrack.jetbrains.com/issue/KT-69975) KDoc: cannot reference elements with names in backticks - [`KT-78229`](https://youtrack.jetbrains.com/issue/KT-78229) KDoc: unable to reference a method with spaces in the name - [`KT-78047`](https://youtrack.jetbrains.com/issue/KT-78047) Render unnamed context parameters as \_ instead of <unused var> - [`KT-74621`](https://youtrack.jetbrains.com/issue/KT-74621) Debugger: AssertionError on evaluating two suspending calls - [`KT-78784`](https://youtrack.jetbrains.com/issue/KT-78784) Improve deprecation warnings about KTLC-284 - [`KT-76826`](https://youtrack.jetbrains.com/issue/KT-76826) New inference error \[NewConstraintError at Incorporate TypeVariable] caused by recursive generics and nullable expected type - [`KT-77685`](https://youtrack.jetbrains.com/issue/KT-77685) "IllegalArgumentException: Sequence contains more than one matching element" - [`KT-78028`](https://youtrack.jetbrains.com/issue/KT-78028) "FirNamedFunctionSymbol" leaks to the error message about missing infix modifier - [`KT-77245`](https://youtrack.jetbrains.com/issue/KT-77245) Add expression name to RETURN\_VALUE\_NOT\_USED diagnostic - [`KT-78071`](https://youtrack.jetbrains.com/issue/KT-78071) False-positive NO\_ELSE\_IN\_WHEN after variable reassignment - [`KT-78068`](https://youtrack.jetbrains.com/issue/KT-78068) False-positive NO\_ELSE\_IN\_WHEN after excluding enum value with inequality check - [`KT-71134`](https://youtrack.jetbrains.com/issue/KT-71134) Consider to get rid of CapturedTypeMarker.withNotNullProjection() - [`KT-77131`](https://youtrack.jetbrains.com/issue/KT-77131) getValue/setValue can be declared with more than two/three parameters - [`KT-78452`](https://youtrack.jetbrains.com/issue/KT-78452) Drop redundant frontend structures after fir2ir conversion - [`KT-78458`](https://youtrack.jetbrains.com/issue/KT-78458) Don't populate PredicateBasedProvider if no lookup predicates are registered - [`KT-78440`](https://youtrack.jetbrains.com/issue/KT-78440) Lambda with an implicitly runtime-retained annotation is generated via invokedynamic with `-Xindy-allow-annotated-lambdas=false` - [`KT-77709`](https://youtrack.jetbrains.com/issue/KT-77709) Missing diagnostics of accessing less visible objects in inline function - [`KT-77577`](https://youtrack.jetbrains.com/issue/KT-77577) False positive exposed type warnings - [`KT-77095`](https://youtrack.jetbrains.com/issue/KT-77095) FIR: Report warnings on exposure of references to invisible references in inline functions - [`KT-76981`](https://youtrack.jetbrains.com/issue/KT-76981) Move exposed type checker to regular checkers - [`KT-78252`](https://youtrack.jetbrains.com/issue/KT-78252) ClassCastException when `Array<Void>` used for compile-time vararg of `Nothing` - [`KT-77713`](https://youtrack.jetbrains.com/issue/KT-77713) Context Parameters cause compiler generate r8 incompatible bytecode - [`KT-71854`](https://youtrack.jetbrains.com/issue/KT-71854) K2 IDE. False positive red code because of external annotation on a generic parameter - [`KT-67335`](https://youtrack.jetbrains.com/issue/KT-67335) K2: Infers Int instead of Long for an ILT - [`KT-76629`](https://youtrack.jetbrains.com/issue/KT-76629) K2 Mode: False positive RedundantVisibilityModifier inspection on private constructors in sealed classes - [`KT-77728`](https://youtrack.jetbrains.com/issue/KT-77728) Drop controversial experimental checkers - [`KT-78429`](https://youtrack.jetbrains.com/issue/KT-78429) K2: Property callable reference incorrectly smart-casted to intersection of property type and KProperty - [`KT-78509`](https://youtrack.jetbrains.com/issue/KT-78509) Renamed for override copy functions are cached in scope instead of session - [`KT-17417`](https://youtrack.jetbrains.com/issue/KT-17417) Loops in delegation: no compilation error on non-abstract class with abstract method that never implemented - [`KT-75033`](https://youtrack.jetbrains.com/issue/KT-75033) Split JvmBackendPipelinePhase to be able to provide a custom implementation of writeOutputs - [`KT-75831`](https://youtrack.jetbrains.com/issue/KT-75831) K2: An extra "\[VALUE\_PARAMETER\_WITHOUT\_EXPLICIT\_TYPE] An explicit type is required on a value parameter." for a missing parameter - [`KT-78370`](https://youtrack.jetbrains.com/issue/KT-78370) All the \[something]Assign operators on dynamic return Unit as a type - [`KT-73950`](https://youtrack.jetbrains.com/issue/KT-73950) K2 IDE / Kotlin Debugger: ISE “Fake override should have at least one overridden descriptor” on evaluation of local calss in presence of bystander - [`KT-78280`](https://youtrack.jetbrains.com/issue/KT-78280) Implement the sourceless `KtDiagnostic`s - [`KT-76543`](https://youtrack.jetbrains.com/issue/KT-76543) Migrate psi2ir sources to new IR parameter API - [`KT-77716`](https://youtrack.jetbrains.com/issue/KT-77716) Kotlin/Native and -Xseparate-kmp-compilation: "Compilation failed: Several functions kotlin/native/immutableBlobOf found" - [`KT-76400`](https://youtrack.jetbrains.com/issue/KT-76400) Context-sensitive resolution doesn’t work in if-else condition passed as a function argument - [`KT-76606`](https://youtrack.jetbrains.com/issue/KT-76606) Enable 'Indy: Allow lambdas with annotations' by default - [`KT-76739`](https://youtrack.jetbrains.com/issue/KT-76739) Dubious argument type mismatch "actual type is 'String', but 'String' was expected" caused by wrong number of type arguments - [`KT-78121`](https://youtrack.jetbrains.com/issue/KT-78121) Report warning on function type with multiple implicit values that's annotated with DSL marker - [`KT-76872`](https://youtrack.jetbrains.com/issue/KT-76872) Anonymous context parameters are not visible in debugger - [`KT-74088`](https://youtrack.jetbrains.com/issue/KT-74088) Kotlin Debugger: CCE on evaluating private suspend function - [`KT-77301`](https://youtrack.jetbrains.com/issue/KT-77301) False positive Context Parameter resolution when using DslMarker - [`KT-78230`](https://youtrack.jetbrains.com/issue/KT-78230) Add more test cases to the holdsIn contracts - [`KT-78111`](https://youtrack.jetbrains.com/issue/KT-78111) K2: Approximation of captured star projection in function type produces `Function1<Nothing?, Unit>` in IR - [`KT-77273`](https://youtrack.jetbrains.com/issue/KT-77273) K/N: Remove the kotlin.native.internal.Ref class from the standard library - [`KT-73995`](https://youtrack.jetbrains.com/issue/KT-73995) JVM bytecode: Bad name for value class field - [`KT-73013`](https://youtrack.jetbrains.com/issue/KT-73013) Kotlin Debugger: ISE “No mapping for symbol: VALUE\_PARAMETER” on evaluating callable reference to local function with closure in it - [`KT-77665`](https://youtrack.jetbrains.com/issue/KT-77665) K2: unresolved annotatation on local context parameter type - [`KT-77485`](https://youtrack.jetbrains.com/issue/KT-77485) Add constraints logging to inference - [`KT-76504`](https://youtrack.jetbrains.com/issue/KT-76504) Find and deprecate actively used parts of K1 API - [`KT-75338`](https://youtrack.jetbrains.com/issue/KT-75338) K2 Mode: False positive "Redundant assignment" diagnostic on variable captured by local function - [`KT-77648`](https://youtrack.jetbrains.com/issue/KT-77648) K2: False negative DSL\_SCOPE\_VIOLATION when using named argument for lambda with annotated function type - [`KT-77355`](https://youtrack.jetbrains.com/issue/KT-77355) Report warning on overloading by a superset of another overload's context parameters - [`KT-77354`](https://youtrack.jetbrains.com/issue/KT-77354) Report warning on overloading by a subtype of another overload's context parameter - [`KT-78084`](https://youtrack.jetbrains.com/issue/KT-78084) Unify deprecation warning messages - [`KT-76776`](https://youtrack.jetbrains.com/issue/KT-76776) `@MustUseReturnValue` doesn't affect nested scopes - [`KT-77545`](https://youtrack.jetbrains.com/issue/KT-77545) `@NoInfer` on receiver type leads to false positive type mismatch when generic type is specified explicitly and closest implicit receiver is of incorrect type - [`KT-76772`](https://youtrack.jetbrains.com/issue/KT-76772) `@NoInfer` on a context parameter's type leads to a false-positive context argument ambiguity error regardless of the closest implicit values' types if there are multiple of them at the call site - [`KT-76771`](https://youtrack.jetbrains.com/issue/KT-76771) `@NoInfer` on context parameter type leads to a false-positive type mismatch when generic type is specified explicitly and closest implicit value at the call site is of a mismatching type - [`KT-77156`](https://youtrack.jetbrains.com/issue/KT-77156) INITIALIZATION\_BEFORE\_DECLARATION is not reported in anonymous object - [`KT-78060`](https://youtrack.jetbrains.com/issue/KT-78060) UNRESOLVED\_REFERENCE in fp-space - [`KT-67555`](https://youtrack.jetbrains.com/issue/KT-67555) Debug metadata: map the Continuation label to the next executable location in file - [`KT-77723`](https://youtrack.jetbrains.com/issue/KT-77723) Refine the message for ArrayEqualityCanBeReplacedWithEquals checker - [`KT-75178`](https://youtrack.jetbrains.com/issue/KT-75178) Inline functions in conjunction with `@JvmStatic` may result in bytecode errors - [`KT-77390`](https://youtrack.jetbrains.com/issue/KT-77390) Prototype lazy loading of stdlib symbols in Native - [`KT-77921`](https://youtrack.jetbrains.com/issue/KT-77921) False positive EXTENSION\_SHADOWED\_BY\_MEMBER when member has context parameters - [`KT-77895`](https://youtrack.jetbrains.com/issue/KT-77895) false-negative error on package directives with context parameter lists (even with context parameters disabled) - [`KT-76767`](https://youtrack.jetbrains.com/issue/KT-76767) AMBIGUOUS\_CONTEXT\_ARGUMENT should report the name of the context parameter in addition to the type - [`KT-77444`](https://youtrack.jetbrains.com/issue/KT-77444) K2: False negative "Unchecked cast" with casting from MutableList<out T> to MutableList<T> - [`KT-63348`](https://youtrack.jetbrains.com/issue/KT-63348) K2: FIR2IR should properly pass expected types - [`KT-77627`](https://youtrack.jetbrains.com/issue/KT-77627) K2: consider getting rid of NEW\_INFERENCE\_ERROR - [`KT-75833`](https://youtrack.jetbrains.com/issue/KT-75833) K2: Extra \[ANNOTATION\_ARGUMENT\_MUST\_BE\_CONST] when passing regex-like strings as annotation arguments - [`KT-77547`](https://youtrack.jetbrains.com/issue/KT-77547) Native: add a check that the logic looking for stdlib-related bitcode is not used when compiling sources to a klib - [`KT-77206`](https://youtrack.jetbrains.com/issue/KT-77206) Remove `PARAMETER_NAME_CHANGED_ON_OVERRIDE` suppression in KMP lexers - [`KT-77679`](https://youtrack.jetbrains.com/issue/KT-77679) Update syntax-api dependency in KMP Kotlin parser - [`KT-77705`](https://youtrack.jetbrains.com/issue/KT-77705) K2: Consuming data class compiled with kotlin 1.0.5 breaks the K2 compiler - [`KT-76583`](https://youtrack.jetbrains.com/issue/KT-76583) CCE: suspend lambda attempts to unbox value class parameter twice after lambda suspended - [`KT-76663`](https://youtrack.jetbrains.com/issue/KT-76663) KJS: KotlinNothingValueException caused by expression return since 2.1.20 - [`KT-75457`](https://youtrack.jetbrains.com/issue/KT-75457) Native: cache machinery uses stdlib cache with default runtime options even if custom runtime options are supplied when partial linkage is disabled - [`KT-77563`](https://youtrack.jetbrains.com/issue/KT-77563) False-positive smart cast with captured local in init block causes NPE - [`KT-77696`](https://youtrack.jetbrains.com/issue/KT-77696) ISE "couldn't find inline method" on kotlin/Result compiled by old Kotlin version - [`KT-76931`](https://youtrack.jetbrains.com/issue/KT-76931) K2: Annotation on do-while expression captures variables from inside the loop - [`KT-77183`](https://youtrack.jetbrains.com/issue/KT-77183) Metadata: remove multi-field value class representation - [`KT-77678`](https://youtrack.jetbrains.com/issue/KT-77678) Apply found optimization to Kotlin KMP parser - [`KT-60127`](https://youtrack.jetbrains.com/issue/KT-60127) K2: Support scripts with LightTree-based raw FIR building - [`KT-76615`](https://youtrack.jetbrains.com/issue/KT-76615) K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" for mixed Java/Kotlin code - [`KT-77220`](https://youtrack.jetbrains.com/issue/KT-77220) Annotation with EXPRESSION is not allowed on lambdas in Kotlin 2.2.0 - [`KT-77656`](https://youtrack.jetbrains.com/issue/KT-77656) K/N: fix the super type for local delegated properties - [`KT-75907`](https://youtrack.jetbrains.com/issue/KT-75907) Inference/PCLA: consider storing semi-fixed variables in inference session - [`KT-77144`](https://youtrack.jetbrains.com/issue/KT-77144) Implement KMP Kotlin parser - [`KT-77352`](https://youtrack.jetbrains.com/issue/KT-77352) Implement KMP Expression parser - [`KT-76984`](https://youtrack.jetbrains.com/issue/KT-76984) SYNCHRONIZED\_BLOCK\_ON\_JAVA\_VALUE\_BASED\_CLASS isn't reported for primitive wrapper classes instantiated within the scope - [`KT-67471`](https://youtrack.jetbrains.com/issue/KT-67471) K2: "Unresolved reference" on incorrect term of FQ name - [`KT-77269`](https://youtrack.jetbrains.com/issue/KT-77269) \[K/N] external calls checker crashes when used with caches - [`KT-77205`](https://youtrack.jetbrains.com/issue/KT-77205) Kotlin Debugger / Context Parameters: CCE “class FirPropertySymbol cannot be cast to class FirFunctionSymbol” on evaluating class property - [`KT-74133`](https://youtrack.jetbrains.com/issue/KT-74133) FIR: use EmptyDeprecationsPerUseSite consistently in symbols - [`KT-77100`](https://youtrack.jetbrains.com/issue/KT-77100) java.lang.Void type is not ignorable - [`KT-77491`](https://youtrack.jetbrains.com/issue/KT-77491) K2: No SUPERTYPE\_IS\_EXTENSION\_FUNCTION\_TYPE when using typealias - [`KT-77490`](https://youtrack.jetbrains.com/issue/KT-77490) Report error on contextual function type in supertype - [`KT-77431`](https://youtrack.jetbrains.com/issue/KT-77431) Functional type with a context is allowed as an upper-bound - [`KT-77432`](https://youtrack.jetbrains.com/issue/KT-77432) Context isn't passed properly when functional type with a context is used as a type argument - [`KT-77417`](https://youtrack.jetbrains.com/issue/KT-77417) There is no TYPE\_VARIANCE\_CONFLICT\_ERROR when 'out' type is used in context - [`KT-62631`](https://youtrack.jetbrains.com/issue/KT-62631) Improve expect-actual "checking" incompatibilities reporting - [`KT-77481`](https://youtrack.jetbrains.com/issue/KT-77481) Support ExpectRefinement feature in HMPP compilation scheme - [`KT-77268`](https://youtrack.jetbrains.com/issue/KT-77268) Make sure that -Xreturn-value-checker also enables -XX:UnnamedLocalVariables - [`KT-65719`](https://youtrack.jetbrains.com/issue/KT-65719) K1/K2: Nullness defaults from subclass unsoundly applied to method in superclass - [`KT-53836`](https://youtrack.jetbrains.com/issue/KT-53836) In type-parameter declarations, recognize JSpecify annotations only on *bounds* - [`KT-73658`](https://youtrack.jetbrains.com/issue/KT-73658) JSpecify `@NonNull` annotation on type-parameter bound prevents type-variable usages from being platform types - [`KT-77000`](https://youtrack.jetbrains.com/issue/KT-77000) Leave ForbidInferOfInvisibleTypeAsReifiedOrVararg as a warning - [`KT-74084`](https://youtrack.jetbrains.com/issue/KT-74084) K2: False negative \[NO\_ELSE\_IN\_WHEN] - [`KT-77451`](https://youtrack.jetbrains.com/issue/KT-77451) FirLazyResolveContractViolationException for test with overridden delegate - [`KT-77397`](https://youtrack.jetbrains.com/issue/KT-77397) Report UNSUPPORTED\_CONTEXTUAL\_DECLARATION\_CALL when calling declaration with contextual function type in signature - [`KT-77137`](https://youtrack.jetbrains.com/issue/KT-77137) K2: Controversial behavior allows resolving annotation arguments on a companion inside it - [`KT-77257`](https://youtrack.jetbrains.com/issue/KT-77257) Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the conditional expression to the inaccessible interface - [`KT-77256`](https://youtrack.jetbrains.com/issue/KT-77256) Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the functional call result to the inaccessible interface - [`KT-76356`](https://youtrack.jetbrains.com/issue/KT-76356) K2 evaluation fails on evaluating inline methods if there is an inline with AutoCloseable - [`KT-73786`](https://youtrack.jetbrains.com/issue/KT-73786) Evaluator: cannot evaluate inline methods with reified parameter - [`KT-77204`](https://youtrack.jetbrains.com/issue/KT-77204) Native: XCode strip command causes flaky tests - [`KT-77351`](https://youtrack.jetbrains.com/issue/KT-77351) Implement KMP KDoc parser - [`KT-76914`](https://youtrack.jetbrains.com/issue/KT-76914) compile-time failure on a type argument placeholder in a callable reference - [`KT-76597`](https://youtrack.jetbrains.com/issue/KT-76597) False negative opt-in required on delegated constructor call - [`KT-76667`](https://youtrack.jetbrains.com/issue/KT-76667) Mark the class implementation of interface function with ACC\_BRIDGE in the class file - [`KT-77181`](https://youtrack.jetbrains.com/issue/KT-77181) K2: a nested typealias annotation observes member declarations of the outer class - [`KT-77180`](https://youtrack.jetbrains.com/issue/KT-77180) K2: Wrong scope for annotation arguments in the constructor header - [`KT-77287`](https://youtrack.jetbrains.com/issue/KT-77287) Try enforcing `source != null` when `origin == Source` - [`KT-76135`](https://youtrack.jetbrains.com/issue/KT-76135) K2: drop pre-1.8 language features from compiler code - [`KT-77231`](https://youtrack.jetbrains.com/issue/KT-77231) Reflection: CCE on resuming coroutine after callSuspend if result is a generic inline class substituted with primitive - [`KT-77031`](https://youtrack.jetbrains.com/issue/KT-77031) Investigate the actual need of deduplicating provider in HMPP compilation scheme - [`KT-77050`](https://youtrack.jetbrains.com/issue/KT-77050) Implement KMP KDoc lexer - [`KT-77048`](https://youtrack.jetbrains.com/issue/KT-77048) Implement KMP Kotlin lexer - [`KT-77044`](https://youtrack.jetbrains.com/issue/KT-77044) Consolidate, refine and update jFlex dependency - [`KT-77252`](https://youtrack.jetbrains.com/issue/KT-77252) It is impossible to declare an unnamed variable in a script - [`KT-58137`](https://youtrack.jetbrains.com/issue/KT-58137) K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another module - [`KT-77140`](https://youtrack.jetbrains.com/issue/KT-77140) Protect ConstraintSystemCompletionMode.UNTIL\_FIRST\_LAMBDA with opt-in - [`KT-76898`](https://youtrack.jetbrains.com/issue/KT-76898) K2: ClassCastException when data class shadows supertype's `componentX` method with wrong type - [`KT-75695`](https://youtrack.jetbrains.com/issue/KT-75695) Bogus "Assigned value is never read" warning for prefix ++ operator - [`KT-76805`](https://youtrack.jetbrains.com/issue/KT-76805) Wrong NPE occurs when assigning synthetic properties with platform types in Kotlin 2.1.20 - [`KT-77078`](https://youtrack.jetbrains.com/issue/KT-77078) K2: anonymous object is wrongly allowed to implement interfaces by unsafe Delegation - [`KT-72722`](https://youtrack.jetbrains.com/issue/KT-72722) Treat 'copy' calls of a data class as explicit constructor usages - [`KT-77149`](https://youtrack.jetbrains.com/issue/KT-77149) IllegalArgumentException: source must not be null - [`KT-76806`](https://youtrack.jetbrains.com/issue/KT-76806) K2: AIOOBE in FirEqualityCompatibilityChecker - [`KT-72391`](https://youtrack.jetbrains.com/issue/KT-72391) KJS: (a \* b).toDouble\_ygsx0s\_k$ is not a function - [`KT-76950`](https://youtrack.jetbrains.com/issue/KT-76950) K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" with nullable UByte - [`KT-76043`](https://youtrack.jetbrains.com/issue/KT-76043) Native: NotImplementedError: Generation of stubs for class org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl is not supported yet - [`KT-77126`](https://youtrack.jetbrains.com/issue/KT-77126) Transitive dependency mismatch between Kotlin Gradle Plugin and Scripting dependencies - [`KT-72831`](https://youtrack.jetbrains.com/issue/KT-72831) ANNOTATION\_USED\_AS\_ANNOTATION\_ARGUMENT missing in some cases in K2 - [`KT-73707`](https://youtrack.jetbrains.com/issue/KT-73707) Remove dependency on ":compiler:backend.jvm" from Native - [`KT-75499`](https://youtrack.jetbrains.com/issue/KT-75499) CheckerContext#{containingDeclaration, containingFile} in checkers should return symbols - [`KT-76548`](https://youtrack.jetbrains.com/issue/KT-76548) False positive TYPE\_MISMATCH when resolving an expression with the expected type from the upper bound - [`KT-76142`](https://youtrack.jetbrains.com/issue/KT-76142) K2: `@RequiresOptIn` warning does not display the custom message when using concatenated strings. - [`KT-68699`](https://youtrack.jetbrains.com/issue/KT-68699) Kotlin Debugger: UPAE “lateinit property parent has not been initialized” on trying evaluate enumValues<T>(), enumEntries<T>() from inlined function with reified parameter - [`KT-63267`](https://youtrack.jetbrains.com/issue/KT-63267) K2: incorrect line numbers after smart cast of an extension receiver - [`KT-71309`](https://youtrack.jetbrains.com/issue/KT-71309) Kotlin Debugger: UnsupportedOperationException on calling method with reified type parameter - [`KT-74912`](https://youtrack.jetbrains.com/issue/KT-74912) K2: Investigate irrelevant ARGUMENT\_TYPE\_MISMATCH on top-level lambdas - [`KT-74657`](https://youtrack.jetbrains.com/issue/KT-74657) K2: Linenumber for annotation on local variable is present in LVT - [`KT-76749`](https://youtrack.jetbrains.com/issue/KT-76749) NONE\_APPLICABLE message is unreadable for stdlib context function - [`KT-74932`](https://youtrack.jetbrains.com/issue/KT-74932) Investigate false-negative ARGUMENT\_TYPE\_MISMATCH on a nested anonymous function - [`KT-74545`](https://youtrack.jetbrains.com/issue/KT-74545) Redundant TYPE\_MISMATCH in variable initializer with call - [`KT-76774`](https://youtrack.jetbrains.com/issue/KT-76774) K2: Simplify ResolutionMode.WithExpectedType contracts - [`KT-76689`](https://youtrack.jetbrains.com/issue/KT-76689) Unnamed local variable with type and without initializer is allowed - [`KT-76746`](https://youtrack.jetbrains.com/issue/KT-76746) ClassCastException: class org.jetbrains.kotlin.fir.types.impl.FirUserTypeRefImpl cannot be cast to class - [`KT-76754`](https://youtrack.jetbrains.com/issue/KT-76754) K2: Compiler doesn't check annotations on array literals (as annotation arguments) - [`KT-76674`](https://youtrack.jetbrains.com/issue/KT-76674) The function isn't called from unnamed local variable initializer - [`KT-75553`](https://youtrack.jetbrains.com/issue/KT-75553) `MISSING_DEPENDENCY_SUPERCLASS` and `MISSING_DEPENDENCY_SUPERCLASS_WARNING` is reported at the same time on the same element - [`KT-76345`](https://youtrack.jetbrains.com/issue/KT-76345) Enhance variable fixation - [`KT-73348`](https://youtrack.jetbrains.com/issue/KT-73348) AssertionError from isCompiledToJvmDefault on super call of suspend function with composable function parameter - [`KT-72305`](https://youtrack.jetbrains.com/issue/KT-72305) K2: Report error when using synthetic properties in case of mapped collections - [`KT-73527`](https://youtrack.jetbrains.com/issue/KT-73527) Prohibit (via a deprecation warning) accessing nested class through generic outer class - [`KT-59886`](https://youtrack.jetbrains.com/issue/KT-59886) K2: Disappeared ERROR\_IN\_CONTRACT\_DESCRIPTION - [`KT-61227`](https://youtrack.jetbrains.com/issue/KT-61227) Definitely non-nullable types cause "Any was expected" for `@Nullable` parameter - [`KT-57911`](https://youtrack.jetbrains.com/issue/KT-57911) K2: Contracts are not inherited by substitution overrides - [`KT-47398`](https://youtrack.jetbrains.com/issue/KT-47398) 'null' EnhancedNullability value in String-based 'when' might produce different behavior depending on whether 'when' is "optimized" or not ##### Compose compiler - [`CMP-7505`](https://youtrack.jetbrains.com/issue/CMP-7505) IrLinkageError: Function can not be called: No function found for symbol - [`b/432262806`](https://issuetracker.google.com/issues/432262806) Fix target description lookup - [`b/436870733`](https://issuetracker.google.com/issues/436870733) Prevent lambda memoization in local classes inside a composable - [`b/432485982`](https://issuetracker.google.com/issues/432485982) Fix AbstractMethodError when overriding function with default parameters - [`b/432262806`](https://issuetracker.google.com/issues/432262806) Use classId as FirApplierInferencer tokens - [`b/400371006`](https://issuetracker.google.com/issues/400371006) Gate default parameters behind language versions - [`b/245673006`](https://issuetracker.google.com/issues/245673006) Specify fqName for classes and functions in build metrics - [`b/254577243`](https://issuetracker.google.com/issues/254577243) Avoid printing complex expressions in compiler metrics - [`b/394891628`](https://issuetracker.google.com/issues/394891628) Allow specifying target version of Compose runtime - [`b/424454512`](https://issuetracker.google.com/issues/424454512) Recreate FirApplierInferencer for each check - [`b/417406922`](https://issuetracker.google.com/issues/417406922) Restrict references to `@Composable` properties - [`b/282135108`](https://issuetracker.google.com/issues/282135108), [`b/349866442`](https://issuetracker.google.com/issues/349866442) \[Compose] Enable applier checking when using FIR - [`b/307592552`](https://issuetracker.google.com/issues/307592552) Add BigInteger and BigDecimal to the list of known stable classes - [`b/414547195`](https://issuetracker.google.com/issues/414547195) Unwrap type casts when inferring `@Composable` call arguments ##### IR. Inlining ##### New Features - [`KT-70360`](https://youtrack.jetbrains.com/issue/KT-70360) KLIBs: Uniformly handle`typeOf()` calls at 1st/2nd stages of compilation ##### Fixes - [`KT-79002`](https://youtrack.jetbrains.com/issue/KT-79002) \[Inliner]\[Native]\[PL] Native backend fails for inline function that instantiates a class that was compiled implementing two interfaces, which turned into abstract classes - [`KT-78137`](https://youtrack.jetbrains.com/issue/KT-78137) Review & enable PL tests with enabled IR inliner - [`KT-72464`](https://youtrack.jetbrains.com/issue/KT-72464) \[Native]\[JS]\[Wasm] Non-local return through suspend conversion breaks the IR inliner - [`KT-69941`](https://youtrack.jetbrains.com/issue/KT-69941) Rewrite `DumpSyntheticAccessors` lowering to test handler after moving common Native/JS prefix to KLIB compilation - [`KT-78245`](https://youtrack.jetbrains.com/issue/KT-78245) Synthetic Accessors incorrectly copies default values - [`KT-76236`](https://youtrack.jetbrains.com/issue/KT-76236) Include `NativeInliningFacade` and `JsIrInliningFacade` in all Native & JS test runners - [`KT-76512`](https://youtrack.jetbrains.com/issue/KT-76512) Avoid using `originalFunction` inside `FunctionInlining` - [`KT-69457`](https://youtrack.jetbrains.com/issue/KT-69457) \[references] IR Inliner: References to inline functions are not inlined - [`KT-47521`](https://youtrack.jetbrains.com/issue/KT-47521) Native & JS: Recursive inline fun calls -> StackOverflowError - [`KT-76425`](https://youtrack.jetbrains.com/issue/KT-76425) Do not store signatures of preprocessed inline functions in KLIBs - [`KT-76763`](https://youtrack.jetbrains.com/issue/KT-76763) \[Inliner] Don't use attributeOwnerId to pass info from Inliner to non-JVM backends - [`KT-77102`](https://youtrack.jetbrains.com/issue/KT-77102) \[Inliner] Expression uses unlinked type parameter symbol - [`KT-76145`](https://youtrack.jetbrains.com/issue/KT-76145) Enhance error message about poisoned KLIBs in KLIB-based compilers - [`KT-77079`](https://youtrack.jetbrains.com/issue/KT-77079) IR: Report warnings on exposure of references to invisible declarations in inline functions - [`KT-69797`](https://youtrack.jetbrains.com/issue/KT-69797) \[references] Accessors for private function/constructor/property references are not generated - [`KT-76454`](https://youtrack.jetbrains.com/issue/KT-76454) Investigate erasure of class type parameters during inliner - [`KT-72593`](https://youtrack.jetbrains.com/issue/KT-72593) \[K/N] Add NativeIrInliningFacade to CrossCompilationIdentityTest - [`KT-70969`](https://youtrack.jetbrains.com/issue/KT-70969) IR Inliner: Ensure that common prefix at 1st phase does not affect KLIB signatures - [`KT-75937`](https://youtrack.jetbrains.com/issue/KT-75937) \[IR Inliner] Umbrella for failing tests due to public inliner - [`KT-77295`](https://youtrack.jetbrains.com/issue/KT-77295) Improve Diagnostic Message Formatting for Private API Exposure in Inline Functions - [`KT-77047`](https://youtrack.jetbrains.com/issue/KT-77047) Ir Ininler: crash on fake override in private class from more visible class - [`KT-77336`](https://youtrack.jetbrains.com/issue/KT-77336) \[references] Synthetic accessor test for private top-level function accessed via reference fails with `No function found for symbol` - [`KT-76761`](https://youtrack.jetbrains.com/issue/KT-76761) \[Inliner] non-JVM IR Inliner incorrectly uses K/JVM-specific code - [`KT-76712`](https://youtrack.jetbrains.com/issue/KT-76712) \[Inliner] No function found for symbol '/<unknown name>|?' - [`KT-76711`](https://youtrack.jetbrains.com/issue/KT-76711) \[Inliner] Reference to function 'privateMethod' can not be evaluated ##### IR. Tree - [`KT-77508`](https://youtrack.jetbrains.com/issue/KT-77508) K/JS and K/Native CompilationException Wrong number of parameters in wrapper - [`KT-78978`](https://youtrack.jetbrains.com/issue/KT-78978) PL tests: Drop `adjust*forLazyIr()` hack - [`KT-76813`](https://youtrack.jetbrains.com/issue/KT-76813) IR validator: not all symbols/references are visited - [`KT-77596`](https://youtrack.jetbrains.com/issue/KT-77596) Refine `reuseExistingSignaturesForSymbols` setting in IR serializer - [`KT-76723`](https://youtrack.jetbrains.com/issue/KT-76723) IR validator: Check visibilities of annotations - [`KT-76405`](https://youtrack.jetbrains.com/issue/KT-76405) Visit annotations in IrTypeVisitor and IrTreeSymbolsVisitor - [`KT-78033`](https://youtrack.jetbrains.com/issue/KT-78033) \[PL] Merge `IrUnimplementedOverridesStrategy` to `PartiallyLinkedIrTreePatcher` ##### JVM. Reflection - [`KT-77882`](https://youtrack.jetbrains.com/issue/KT-77882) kotlin-reflect: KParameter.name returns "<unused var>" instead of null for anonymous context parameters - [`KT-77879`](https://youtrack.jetbrains.com/issue/KT-77879) kotlin-reflect: toString overrides of KCallable implementations do not render context parameters - [`KT-74529`](https://youtrack.jetbrains.com/issue/KT-74529) Context parameters support in reflection - [`KT-52170`](https://youtrack.jetbrains.com/issue/KT-52170) Reflection: typeOf\<Array<Long>> gives classifier LongArray - [`KT-77663`](https://youtrack.jetbrains.com/issue/KT-77663) Reflection: java.util.ServiceConfigurationError: "module kotlin.reflect does not declare `uses`" when using kotlin-reflect in modular mode ##### JavaScript ##### New Features - [`KT-79222`](https://youtrack.jetbrains.com/issue/KT-79222) K/JS: Allow using Long in exported declarations - [`KT-79394`](https://youtrack.jetbrains.com/issue/KT-79394) Add the possibility to write common external declarations between JS and WasmJS targets - [`KT-70486`](https://youtrack.jetbrains.com/issue/KT-70486) K/JS: exported exception types should extend Error - [`KT-19016`](https://youtrack.jetbrains.com/issue/KT-19016) Define accessors as enumerable ##### Performance Improvements - [`KT-57128`](https://youtrack.jetbrains.com/issue/KT-57128) KJS: Use BigInt to represent Long values in ES6 mode - [`KT-54689`](https://youtrack.jetbrains.com/issue/KT-54689) KJS: Data class equals less efficient than manually written version ##### Fixes - [`KT-69297`](https://youtrack.jetbrains.com/issue/KT-69297) Deprecate referencing inlineable lambdas in `js()` calls - [`KT-77620`](https://youtrack.jetbrains.com/issue/KT-77620) Fix failing IC tests on Windows - [`KT-77372`](https://youtrack.jetbrains.com/issue/KT-77372) KJS: NullPointerException at JsIntrinsics$JsReflectionSymbols - [`KT-78316`](https://youtrack.jetbrains.com/issue/KT-78316) KJS: List is not exported to TypeScript declaration if wrapped in Promise - [`KT-79644`](https://youtrack.jetbrains.com/issue/KT-79644) BigInt enabled for ES 2015 despite being an ES 2020 feature - [`KT-79089`](https://youtrack.jetbrains.com/issue/KT-79089) KJS: Could not load reporter / Cannot find module 'mocha' when running jsNode tests - [`KT-79916`](https://youtrack.jetbrains.com/issue/KT-79916) K/JS: "Uncaught TypeError" when using 'Xes-long-as-bigint' in compose-html - [`KT-79050`](https://youtrack.jetbrains.com/issue/KT-79050) KJS / IC: "Unexpected body of primary constructor for processing irClass" - [`KT-79977`](https://youtrack.jetbrains.com/issue/KT-79977) KJS: Long.rotateLeft returns incorrect result when BigInts are enabled - [`KT-76093`](https://youtrack.jetbrains.com/issue/KT-76093) Support new callable reference nodes in partial linkage in Kotlin/JS - [`KT-78073`](https://youtrack.jetbrains.com/issue/KT-78073) K/JS: KProperty from local delegate changes after another delegate is invoked - [`KT-52230`](https://youtrack.jetbrains.com/issue/KT-52230) KSJ IR: Applying identity equality operator to Longs always returns false - [`KT-6675`](https://youtrack.jetbrains.com/issue/KT-6675) KotlinJS: toInt() on external Long throws error - [`KT-79184`](https://youtrack.jetbrains.com/issue/KT-79184) K/JS: Further intrinsify BigInt-backed Long operations - [`KT-78701`](https://youtrack.jetbrains.com/issue/KT-78701) Js and Wasm: enumValueOf does not include invalid value into an exception message - [`KT-55256`](https://youtrack.jetbrains.com/issue/KT-55256) KJS: non-exported subclass with a no-parameter function overload doesn't compile - [`KT-76034`](https://youtrack.jetbrains.com/issue/KT-76034) passProcessArgvToMainFunction contains the node path and script path - [`KT-66091`](https://youtrack.jetbrains.com/issue/KT-66091) KJS, WASM: `AssertionError: Illegal value: <T>` in test nonReified\_equality.kt - [`KT-78169`](https://youtrack.jetbrains.com/issue/KT-78169) KJS: \[NON\_EXPORTABLE\_TYPE] with `@JsExport` class if `@JsStatic` companion method returns an out type - [`KT-57192`](https://youtrack.jetbrains.com/issue/KT-57192) KJS: "Exported declaration uses non-exportable return type" caused by `@JsExport` Promise with Unit type - [`KT-61183`](https://youtrack.jetbrains.com/issue/KT-61183) KJS: "AssertionError: Assertion failed" from JsSuspendFunctionsLowering - [`KT-59326`](https://youtrack.jetbrains.com/issue/KT-59326) KJS / IR: invalid code generated when using constructor parameter named `default` - [`KT-70295`](https://youtrack.jetbrains.com/issue/KT-70295) KLIB stdlib: Unify intrinsics for boxing captured variables in lambdas across non-JVM backends - [`KT-77021`](https://youtrack.jetbrains.com/issue/KT-77021) CompilationException: Encountered a local class not previously collected on inner classes inside anonymous objects - [`KT-77320`](https://youtrack.jetbrains.com/issue/KT-77320) KJS: Big.js times() is compiled to multiply (\*) operator - [`KT-77430`](https://youtrack.jetbrains.com/issue/KT-77430) K/JS: Remove sharedBox\* intrinsics from the standard library - [`KT-73267`](https://youtrack.jetbrains.com/issue/KT-73267) KJS: IC: "FileNotFoundException": Build failures with Kotlin 2.1-RC and RC2 - [`KT-76912`](https://youtrack.jetbrains.com/issue/KT-76912) KJS: `@JsStatic` can't be used for companion objects implementing external interfaces - [`KT-77271`](https://youtrack.jetbrains.com/issue/KT-77271) KJS / Serialization: "Cannot set property message of Error which has only a getter" - [`KT-77242`](https://youtrack.jetbrains.com/issue/KT-77242) Kotlin/JS & Kotlin/Wasm backends: Artificially apply reverse topo-order after IR linkage - [`KT-77649`](https://youtrack.jetbrains.com/issue/KT-77649) KJS: es-arrow-functions requires explicit opt-in when target is ES2015 - [`KT-76235`](https://youtrack.jetbrains.com/issue/KT-76235) \[JS] Extra invalid line `tmp_0.tmp00__1 = Options;` in testSuspendFunction() - [`KT-76234`](https://youtrack.jetbrains.com/issue/KT-76234) \[JS] Extra invalid line `Parent` in testNested() - [`KT-76233`](https://youtrack.jetbrains.com/issue/KT-76233) \[JS] Extra invalid import line in testJsQualifier() - [`KT-77190`](https://youtrack.jetbrains.com/issue/KT-77190) Migrate JS diagnostic tests to the new CLI-based test facades (1st phase only) - [`KT-77418`](https://youtrack.jetbrains.com/issue/KT-77418) KJS: cannot debug with whole-program granularity - [`KT-77371`](https://youtrack.jetbrains.com/issue/KT-77371) \[K/N]\[K/JS]\[K/Wasm] Unify visibility rules for generated default argument stubs - [`KT-77148`](https://youtrack.jetbrains.com/issue/KT-77148) KJS: "Uncaught TypeError: (intermediate value).l(...).m is not a function" during production build run - [`KT-77193`](https://youtrack.jetbrains.com/issue/KT-77193) Migrate JS irText tests to the new CLI-based test facades (1st phase only) - [`KT-77192`](https://youtrack.jetbrains.com/issue/KT-77192) Migrate JS ABI reader tests to the new CLI-based test facades (1st phase only) - [`KT-77187`](https://youtrack.jetbrains.com/issue/KT-77187) Migrate JS box tests to the new CLI-based test facades (1st phase only) - [`KT-77027`](https://youtrack.jetbrains.com/issue/KT-77027) Migrate 1st phase facades to the phased CLI infrastructure in JS tests - [`KT-69591`](https://youtrack.jetbrains.com/issue/KT-69591) KJS / d.ts: Wrong type of SerializerFactory for abstract classes - [`KT-76027`](https://youtrack.jetbrains.com/issue/KT-76027) KJS: "ReferenceError: entries is not defined": Accessing entries of an enum arbitrarily fails with println() - [`KT-76232`](https://youtrack.jetbrains.com/issue/KT-76232) Suspend contextual function with extension receiver results in wrong values at runtime in JS - [`KT-42305`](https://youtrack.jetbrains.com/issue/KT-42305) KJS / IR: "Class constructor is marked as private" `@JsExport` produces wrong TS code for sealed classes - [`KT-52563`](https://youtrack.jetbrains.com/issue/KT-52563) KJS / IR: Invalid TypeScript generated for class extending base class with private constructor ##### Klibs ##### New Features - [`KT-78699`](https://youtrack.jetbrains.com/issue/KT-78699) Compiler (JS, Wasm): warn about incompatible kotlin-test/compiler pair - [`KT-78700`](https://youtrack.jetbrains.com/issue/KT-78700) Compiler (JS, Wasm): Consider making diagnostics for incompatible kotlin-stdlib/compiler and kotlin-test/compiler pairs errors instead of warnings - [`KT-74815`](https://youtrack.jetbrains.com/issue/KT-74815) KLIB resolver can't consume metadata klibs between source sets when abi\_versions diverge - [`KT-68322`](https://youtrack.jetbrains.com/issue/KT-68322) Compiler (JS, Wasm): warn about incompatible Kotlin stdlib/compiler pair ##### Fixes - [`KT-78168`](https://youtrack.jetbrains.com/issue/KT-78168) K/N: "IndexOutOfBoundsException: Index 3 out of bounds for length 3" for iOS build with Kotlin 2.2.0-RC2 - [`KT-75766`](https://youtrack.jetbrains.com/issue/KT-75766) PL: Error on building fake override with multiple overridden members with unbound symbols in return type - [`KT-75757`](https://youtrack.jetbrains.com/issue/KT-75757) PL: Error on building fake overrides with unbound symbols in value parameters - [`KT-76094`](https://youtrack.jetbrains.com/issue/KT-76094) Support new callable reference nodes in partial linkage in Kotlin/Wasm - [`KT-78771`](https://youtrack.jetbrains.com/issue/KT-78771) KLIBs: Improve `zipDirAs()` function that is used to produce KLIB (ZIP) archives - [`KT-75980`](https://youtrack.jetbrains.com/issue/KT-75980) \[Klib] Reduce serialized size of IrFileEntries for sparse usage of another source files - [`KT-78349`](https://youtrack.jetbrains.com/issue/KT-78349) \[Tests] Enable Partial Linkage in all tests - [`KT-76827`](https://youtrack.jetbrains.com/issue/KT-76827) KLIB cross-compilation tests: Don't use IR hashes and metadata hashes in test data - [`KT-76266`](https://youtrack.jetbrains.com/issue/KT-76266) Move trigger of :tools:binary-compatibility-validator:check to native/native.tests/klib-ir-inliner - [`KT-76725`](https://youtrack.jetbrains.com/issue/KT-76725) KLIB ABI export in older version: Restore legacy directories - [`KT-76061`](https://youtrack.jetbrains.com/issue/KT-76061) Add option for suppress warning of missing no-existent transitive klib dependencies - [`KT-76471`](https://youtrack.jetbrains.com/issue/KT-76471) Partial linkage: add an attribute if a class is invalid - [`KT-75192`](https://youtrack.jetbrains.com/issue/KT-75192) KLIB reader tends to extract files from the KLIB archive to a temporary directory even when this is not needed ##### Language Design - [`KT-78866`](https://youtrack.jetbrains.com/issue/KT-78866) Warn implicit receiver shadowed by context parameter - [`KT-54363`](https://youtrack.jetbrains.com/issue/KT-54363) Allow using reified types for catch parameters - [`KT-32993`](https://youtrack.jetbrains.com/issue/KT-32993) Contract to specify that a function parameter is always true inside lambda - [`KT-79308`](https://youtrack.jetbrains.com/issue/KT-79308) Ability to actualize empty interfaces as Any - [`KT-8889`](https://youtrack.jetbrains.com/issue/KT-8889) Contracts: if a given function parameter is not null, the result is not null - [`KT-22786`](https://youtrack.jetbrains.com/issue/KT-22786) Returns are not allowed for expression-body functions and are allowed when an inline lambda is added - [`KT-77836`](https://youtrack.jetbrains.com/issue/KT-77836) Support using context parameter of a `@RestrictsSuspension` type as the "restricted coroutine scope" - [`KT-77823`](https://youtrack.jetbrains.com/issue/KT-77823) Context-sensitive resolution doesn't work for subtypes of sealed types - [`KT-75977`](https://youtrack.jetbrains.com/issue/KT-75977) False positive unresolved\_reference when resolving nested member after a type check - [`KT-73557`](https://youtrack.jetbrains.com/issue/KT-73557) Allow refining expect declarations for platform groups ##### Libraries ##### New Features - [`KT-76389`](https://youtrack.jetbrains.com/issue/KT-76389) Provide `update` functions for common atomics - [`KT-78581`](https://youtrack.jetbrains.com/issue/KT-78581) Add the KClass.isInterface property to Kotlin/JS stdlib - [`KT-34132`](https://youtrack.jetbrains.com/issue/KT-34132) Contract for ClosedRange<T>.contains(T?) operator - [`KT-73853`](https://youtrack.jetbrains.com/issue/KT-73853) Provide vararg constructors for Atomic Arrays ##### Fixes - [`KT-71628`](https://youtrack.jetbrains.com/issue/KT-71628) Review deprecations in stdlib for 2.1 - [`KT-76773`](https://youtrack.jetbrains.com/issue/KT-76773) stdlib: contextOf's type argument can be inferred via contextOf's context argument - [`KT-79489`](https://youtrack.jetbrains.com/issue/KT-79489) Generate Stdlib API reference for webMain source set - [`KT-79080`](https://youtrack.jetbrains.com/issue/KT-79080) Annotate WasmImport and WasmExport as experimental API - [`KT-79121`](https://youtrack.jetbrains.com/issue/KT-79121) K/Wasm annotate JS-interop API as experimental - [`KT-78710`](https://youtrack.jetbrains.com/issue/KT-78710) kotlin.wasm and kotlin.wasm.unsafe packages are missing description - [`KT-78709`](https://youtrack.jetbrains.com/issue/KT-78709) Wasm: KClass.qualifiedName KDoc should reflect the behavior on the target - [`KT-78704`](https://youtrack.jetbrains.com/issue/KT-78704) CharSequence.subSequence and String.substring behavior with invalid indices differs between targets - [`KT-78705`](https://youtrack.jetbrains.com/issue/KT-78705) Float.sign and Double.sign behavior for negative zero is not documented - [`KT-74543`](https://youtrack.jetbrains.com/issue/KT-74543) Support for context parameters in kotlinx-metadata - [`KT-78340`](https://youtrack.jetbrains.com/issue/KT-78340) String.startsWith KDoc declares invalid exception condition - [`KT-78242`](https://youtrack.jetbrains.com/issue/KT-78242) Move IrLinkageError to the common non-JVM part of the standard library - [`KT-67819`](https://youtrack.jetbrains.com/issue/KT-67819) Document collection interfaces contracts ##### Native - [`KT-79075`](https://youtrack.jetbrains.com/issue/KT-79075) Stuck on Kotlin\_getSourceInfo\_core\_symbolication - [`KT-76178`](https://youtrack.jetbrains.com/issue/KT-76178) LLVM Update: symbol '\_\_ZnwmSt19\_\_type\_descriptor\_t' missing - [`KT-78959`](https://youtrack.jetbrains.com/issue/KT-78959) Xcode 26: fix GC stress tests - [`KT-78734`](https://youtrack.jetbrains.com/issue/KT-78734) Finish runtime crash dump generation - [`KT-74662`](https://youtrack.jetbrains.com/issue/KT-74662) Consider providing a way to enable stack canaries for Kotlin/Native binaries - [`KT-77378`](https://youtrack.jetbrains.com/issue/KT-77378) \[macos] Loading libraries with non resolved paths runs XProtectService - [`KT-61549`](https://youtrack.jetbrains.com/issue/KT-61549) Kotlin/Native: remove kotlin-native/Interop/JsRuntime - [`KT-76563`](https://youtrack.jetbrains.com/issue/KT-76563) LLVM Update: numerous "was built for newer 'macOS' version" warnings ##### Native. Build Infrastructure - [`KT-77349`](https://youtrack.jetbrains.com/issue/KT-77349) Kotlin/Native: default cache for stdlib is unused ##### Native. C and ObjC Import - [`KT-79571`](https://youtrack.jetbrains.com/issue/KT-79571) Xcode 26 beta 4: CInteropKT39120TestGenerated.testForwardEnum failed - [`KT-71400`](https://youtrack.jetbrains.com/issue/KT-71400) Fix disabled -fmodules testing for stdarg.h ##### Native. ObjC Export ##### New Features - [`KT-77488`](https://youtrack.jetbrains.com/issue/KT-77488) \[ObjCExport] Add explicit ObjCBlock parameter name in objc export - [`KT-76974`](https://youtrack.jetbrains.com/issue/KT-76974) Include conflicting element in objc export warnings - [`KT-76338`](https://youtrack.jetbrains.com/issue/KT-76338) Native, ObjCExport: Replace name mangling of special method families ##### Fixes - [`KT-55648`](https://youtrack.jetbrains.com/issue/KT-55648) Native: produce smaller binaries - [`KT-78447`](https://youtrack.jetbrains.com/issue/KT-78447) \[ObjCExport] Add missing ERROR constructors, align with K1 - [`KT-78034`](https://youtrack.jetbrains.com/issue/KT-78034) ObjCExport: primitive type extension translated as static method - [`KT-77781`](https://youtrack.jetbrains.com/issue/KT-77781) ObjCExport: support `@ObjCName` for function parameters and receiver parameters - [`KT-77592`](https://youtrack.jetbrains.com/issue/KT-77592) KMP plugin uses incorrect Swift name from ObjCName annotation - [`KT-77625`](https://youtrack.jetbrains.com/issue/KT-77625) ObjCExport: ObjCName annotation adds kotlin name swift\_name - [`KT-77484`](https://youtrack.jetbrains.com/issue/KT-77484) KotlinConf app: Invalid identifiers in `ObjCHeader.render` - [`KT-77500`](https://youtrack.jetbrains.com/issue/KT-77500) `IllegalStateException` during generating ObjC header stubs ##### Native. Runtime - [`KT-79152`](https://youtrack.jetbrains.com/issue/KT-79152) Native: unexpected thread state in kotlin::to\_string<KStringConversionMode> ##### Native. Runtime. Memory - [`KT-78925`](https://youtrack.jetbrains.com/issue/KT-78925) Crash SIGABRT on Apple Watch after updating Kotlin to 2.2.0 - [`KT-76851`](https://youtrack.jetbrains.com/issue/KT-76851) Kotlin/Native: GC scheduler MutatorAssists requestAssists and completeEpoch issue - [`KT-63143`](https://youtrack.jetbrains.com/issue/KT-63143) Kotlin/Native: execute Cleaners on the finalizer thread ##### Native. Swift Export - [`KT-79105`](https://youtrack.jetbrains.com/issue/KT-79105) ConcurrentModificationException During Swift Export Caused by Usage of Array - [`KT-79227`](https://youtrack.jetbrains.com/issue/KT-79227) Swift Export: Fix First Release Issues - [`KT-78947`](https://youtrack.jetbrains.com/issue/KT-78947) Implement FUS for Swift export - [`KT-79521`](https://youtrack.jetbrains.com/issue/KT-79521) '\_CoroutineScope' is inaccessible due to 'internal' protection level - [`KT-79181`](https://youtrack.jetbrains.com/issue/KT-79181) Swift Export Fails When Using T: Comparable<T> Generic Constraint in Kotlin Classes - [`KT-77650`](https://youtrack.jetbrains.com/issue/KT-77650) Swift export execution tests fail with caches enabled - [`KT-77634`](https://youtrack.jetbrains.com/issue/KT-77634) K/N: swift export tests started failing after hyper-existentials - [`KT-77290`](https://youtrack.jetbrains.com/issue/KT-77290) Transitive Export on swift export can duplicate declarations ##### Tools. Build Tools API - [`KT-78415`](https://youtrack.jetbrains.com/issue/KT-78415) Add a tool for performance reports analysing ##### Tools. CLI ##### New Features - [`KT-75812`](https://youtrack.jetbrains.com/issue/KT-75812) Basic DSL for compiler arguments representation ##### Fixes - [`KT-78318`](https://youtrack.jetbrains.com/issue/KT-78318) Unresolved reference when compiling kotlin/JS project on fresh master - [`KT-75968`](https://youtrack.jetbrains.com/issue/KT-75968) Set proper lifecycle for all existing compiler arguments - [`KT-77445`](https://youtrack.jetbrains.com/issue/KT-77445) UNRESOLVED\_REFERENCE when importing classes from kotlin-stdlib - [`KT-77030`](https://youtrack.jetbrains.com/issue/KT-77030) Implement setup of HMPP sessions for KLib-based compilers - [`KT-78578`](https://youtrack.jetbrains.com/issue/KT-78578) Support for placeholder (\*) and directory in `-Xdump-perf` - [`KT-78129`](https://youtrack.jetbrains.com/issue/KT-78129) Compiler cannot parse -Xfragment-dependency with a comma in the path - [`KT-76828`](https://youtrack.jetbrains.com/issue/KT-76828) Warning doesn't exist error with -Xwarning-level when the source file has no code - [`KT-76957`](https://youtrack.jetbrains.com/issue/KT-76957) Incorrect error message when severity is set with -Xsuppress-warning and -Xwarning-level for the same diagnostic - [`KT-76829`](https://youtrack.jetbrains.com/issue/KT-76829) UnsupportedOperationException when reenabling a taking place warning with -Xwarning-level - [`KT-76111`](https://youtrack.jetbrains.com/issue/KT-76111) kotlinc warns about org.fusesource.jansi.internal.JansiLoader call to System.load - [`KT-76447`](https://youtrack.jetbrains.com/issue/KT-76447) Remove -Xjps compiler argument ##### Tools. Compiler Plugin API - [`KT-78279`](https://youtrack.jetbrains.com/issue/KT-78279) Make the DiagnosticReporter default way for reporting in IR plugins - [`KT-77157`](https://youtrack.jetbrains.com/issue/KT-77157) Cannot create a symbol pointer for local class generated by FirFunctionCallRefinementExtension ##### Tools. Compiler Plugins ##### New Features - [`KT-78038`](https://youtrack.jetbrains.com/issue/KT-78038) Make jvm-abi-gen compiler plugin output classloader-friendly - [`KT-77339`](https://youtrack.jetbrains.com/issue/KT-77339) Update kotlin dataframe dependency to 1.0.0-dev-6925 ##### Fixes - [`KT-78969`](https://youtrack.jetbrains.com/issue/KT-78969) \[DataFrame] Provide source elements for plugin-generated classes - [`KT-75265`](https://youtrack.jetbrains.com/issue/KT-75265) PowerAssert: the result of invoke is displayed at the same level as value that can be confusing - [`KT-78490`](https://youtrack.jetbrains.com/issue/KT-78490) "AssertionError: SyntheticAccessorLowering should not attempt to modify other files" when calling protected open composable with default argument - [`KT-77626`](https://youtrack.jetbrains.com/issue/KT-77626) K2: AssertionError: FUN LOCAL\_FUNCTION\_FOR\_LAMBDA has no continuation - [`KT-78671`](https://youtrack.jetbrains.com/issue/KT-78671) \[DataFrame] Support type parameter types in DataSchema to fix evaluate expression - [`KT-78439`](https://youtrack.jetbrains.com/issue/KT-78439) DataFrame compiler plugin: Unresolved reference error in REPL - [`KT-75876`](https://youtrack.jetbrains.com/issue/KT-75876) PowerAssert: don't display results for assertion operator - [`KT-75514`](https://youtrack.jetbrains.com/issue/KT-75514) \[JS]\[Native] Add IrPreSerializationLoweringFacade to Atomicfu test runners - [`KT-77719`](https://youtrack.jetbrains.com/issue/KT-77719) Remove suppress INVISIBLE\_REFERENCE from DataFrame plugin - [`KT-77691`](https://youtrack.jetbrains.com/issue/KT-77691) Kotlin DataFrame plugin: IR and FIR anonymous functions have inconsistent receivers - [`KT-77455`](https://youtrack.jetbrains.com/issue/KT-77455) kotlin-dataframe plugin throws NoClassDefFoundError in IDE - [`KT-77437`](https://youtrack.jetbrains.com/issue/KT-77437) Kotlin DataFrame: Add configuration key to disable top level properties generator - [`KT-74366`](https://youtrack.jetbrains.com/issue/KT-74366) Delete kotlin-android-extensions compiler plugin - [`KT-73364`](https://youtrack.jetbrains.com/issue/KT-73364) Migrate atomicfu sources to new IR parameter API ##### Tools. Compiler plugins. Serialization - [`KT-79695`](https://youtrack.jetbrains.com/issue/KT-79695) Serialization does not exclude field-less properties in 2.2.20-Beta2 - [`KT-73365`](https://youtrack.jetbrains.com/issue/KT-73365) Migrate kotlinx-serialization sources to new IR parameter API ##### Tools. Gradle ##### New Features - [`KT-76421`](https://youtrack.jetbrains.com/issue/KT-76421) Stabilize klib cross-compilation on different platforms - [`KT-77107`](https://youtrack.jetbrains.com/issue/KT-77107) Introduce Kotlin ecosystem plugin ##### Fixes - [`KT-80172`](https://youtrack.jetbrains.com/issue/KT-80172) Error message changes depending on the order of applying 'org.jetbrains.kotlin.android' and 'AGP' 9.0+ with built-in Kotlin plugin - [`KT-77546`](https://youtrack.jetbrains.com/issue/KT-77546) Implement basic support for HMPP compilation scheme support in KGP - [`KT-79034`](https://youtrack.jetbrains.com/issue/KT-79034) Automatically disable cross compilation if it's not supported on the host - [`KT-79408`](https://youtrack.jetbrains.com/issue/KT-79408) A lot of errors files are created when compile Kotlin - [`KT-77785`](https://youtrack.jetbrains.com/issue/KT-77785) Add -fmodules option to CocoaPod dependency by default - [`KT-75921`](https://youtrack.jetbrains.com/issue/KT-75921) Make Swift Export available by default - [`KT-63383`](https://youtrack.jetbrains.com/issue/KT-63383) Add compiler performance metrics to Native build reports - [`KT-77023`](https://youtrack.jetbrains.com/issue/KT-77023) Support creating KotlinJvmAndroidCompilation in KotlinBaseApiPlugin - [`KT-74420`](https://youtrack.jetbrains.com/issue/KT-74420) Migrate kotlin-parcelize away from AGP's deprecated Variant API - [`KT-78233`](https://youtrack.jetbrains.com/issue/KT-78233) Add ExperimentalFeatureWarning unique id - [`KT-67992`](https://youtrack.jetbrains.com/issue/KT-67992) Cleanup deprecated code required for KSP1 - [`KT-72341`](https://youtrack.jetbrains.com/issue/KT-72341) Remove 'kotlin-android-extensions' plugin - [`KT-67291`](https://youtrack.jetbrains.com/issue/KT-67291) Enable Project Isolation AND/OR Configuration Cache mode for Gradle Integration tests - [`KT-78325`](https://youtrack.jetbrains.com/issue/KT-78325) Kotlin ecosystem plugin rejects compatible Gradle patch version when DCL is enabled - [`KT-76353`](https://youtrack.jetbrains.com/issue/KT-76353) Handle migration to stable -jvm-default in KGP: replace deprecated option and suppress warnings - [`KT-76797`](https://youtrack.jetbrains.com/issue/KT-76797) KGP: StdlibDependencyManagementKt.configureStdlibVersionAlignment() triggering eager configuration realization - [`KT-77163`](https://youtrack.jetbrains.com/issue/KT-77163) Migrate Swift Export IT to injections - [`KT-76282`](https://youtrack.jetbrains.com/issue/KT-76282) Add missing Android Gradle plugin versions in tests - [`KT-77011`](https://youtrack.jetbrains.com/issue/KT-77011) Update build regression benchmarks for 2.2.0 release - [`KT-76138`](https://youtrack.jetbrains.com/issue/KT-76138) Compile against Gradle API 8.14 - [`KT-76139`](https://youtrack.jetbrains.com/issue/KT-76139) Run integration tests against Gradle 8.14 - [`KT-77035`](https://youtrack.jetbrains.com/issue/KT-77035) A compiler diagnostic isn't reported when its severity is set to warning with Gradle - [`KT-76951`](https://youtrack.jetbrains.com/issue/KT-76951) 'distribution-base' plugin is only applied in Gradle 8.13 - [`KT-73142`](https://youtrack.jetbrains.com/issue/KT-73142) Kotlin Gradle plugin: Remove usage of Gradle's internal ExecHandleBuilder - [`KT-76740`](https://youtrack.jetbrains.com/issue/KT-76740) Use Problems API for warning introduced in KT-75808 - [`KT-65271`](https://youtrack.jetbrains.com/issue/KT-65271) Gradle: "Mutating dependency DefaultExternalModuleDependency after it has been finalized has been deprecated " with gradle 8.6-rc-3 ##### Tools. Gradle. Cocoapods - [`KT-76035`](https://youtrack.jetbrains.com/issue/KT-76035) Allow extra command line arguments in PodBuildTask - [`KT-78387`](https://youtrack.jetbrains.com/issue/KT-78387) Kotlin Cocoapods Gradle Plugin is not compatible with Gradle isolated projects - [`KT-79429`](https://youtrack.jetbrains.com/issue/KT-79429) K/N: Cocoapods: IllegalArgumentException: "cinterop doesn't support having headers in -fmodules mode" with 2.2.20-Beta1 if explicitly not specify false for 'useClangModules' ##### Tools. Gradle. Compiler plugins - [`KT-66728`](https://youtrack.jetbrains.com/issue/KT-66728) Deprecate `kapt.use.k2` property ##### Tools. Gradle. JS ##### New Features - [`KT-75480`](https://youtrack.jetbrains.com/issue/KT-75480) Add shared source set for js and wasmJs target - [`KT-77073`](https://youtrack.jetbrains.com/issue/KT-77073) generateTypeScriptDefinitions() does not add generated .d.ts file to package.json automatically ##### Fixes - [`KT-77319`](https://youtrack.jetbrains.com/issue/KT-77319) KJS / Gradle: generateTypeScriptDefinitions() generates wrong file extension when outputting ES modules - [`KT-79921`](https://youtrack.jetbrains.com/issue/KT-79921) Web Tooling Gradle API does not respect webpack reconfiguration - [`KT-76996`](https://youtrack.jetbrains.com/issue/KT-76996) Wasm: js tasks triggers wasm subtasks - [`KT-79237`](https://youtrack.jetbrains.com/issue/KT-79237) Upgrade NPM dependencies versions - [`KT-79188`](https://youtrack.jetbrains.com/issue/KT-79188) Pre-generated accessors aren't available for webMain / webTest source sets - [`KT-78504`](https://youtrack.jetbrains.com/issue/KT-78504) \[2.2.0-RC3] NPM Tasks in 2.2 RCs produce broken/unusable build cache entries - [`KT-77443`](https://youtrack.jetbrains.com/issue/KT-77443) NPE: "NullPointerException: Cannot invoke org.gradle.api.tasks.TaskProvider.flatMap(org.gradle.api.Transformer)": ExecutableWasm.optimizeTask is accessed before initialization - [`KT-76987`](https://youtrack.jetbrains.com/issue/KT-76987) JS, Wasm: Upgrade NPM dependencies - [`KT-77119`](https://youtrack.jetbrains.com/issue/KT-77119) KJS: Gradle: Setting custom environment variables in KotlinJsTest tasks no longer works - [`KT-74735`](https://youtrack.jetbrains.com/issue/KT-74735) KGP uses Gradle internal `CompositeProjectComponentArtifactMetadata` ##### Tools. Gradle. Multiplatform ##### New Features - [`KT-69790`](https://youtrack.jetbrains.com/issue/KT-69790) Report human-readable error when declared dependency doesn't support required target types - [`KT-76446`](https://youtrack.jetbrains.com/issue/KT-76446) Add kotlin-level dependency block to work the same way as commonMain/commonTest dependencies blocks ##### Fixes - [`KT-78297`](https://youtrack.jetbrains.com/issue/KT-78297) FileNotFoundException in generateMetadataFile task if non-packed=false - [`KT-62294`](https://youtrack.jetbrains.com/issue/KT-62294) kotlin-parcelize plugin does not support the new android kotlin multiplatform plugin - [`KT-77404`](https://youtrack.jetbrains.com/issue/KT-77404) The kotlin-stdlib and annotations are missing from commonTest dependencies with 2.2.0-Beta1 - [`KT-79559`](https://youtrack.jetbrains.com/issue/KT-79559) AGP complains about configurations resolved at configuration time due to KMP partially resolved dependencies diagnostic - [`KT-78993`](https://youtrack.jetbrains.com/issue/KT-78993) The value for property '\*' property 'dependencies' is final and cannot be changed any further - [`KT-77843`](https://youtrack.jetbrains.com/issue/KT-77843) KGP fails with Gradle 9 on `ProjectDependency.getDependencyProject()` - [`KT-79315`](https://youtrack.jetbrains.com/issue/KT-79315) Early task materialization with cross-project configuration breaks configuration due to KMP partial resolution checker - [`KT-77466`](https://youtrack.jetbrains.com/issue/KT-77466) KMP - testFixturesApi and similar configurations do not affect jvmTestFixtures source set - [`KT-78433`](https://youtrack.jetbrains.com/issue/KT-78433) Gradle: add tracking of the new KMP compilation scheme to FUS - [`KT-78431`](https://youtrack.jetbrains.com/issue/KT-78431) Gradle: in-process metadata compiler uses deprecated K2MetadataCompiler - [`KT-77414`](https://youtrack.jetbrains.com/issue/KT-77414) KMP dependencies in detached source sets cause IDE resolution to write error logs: "kotlin-project-structure-metadata.json (No such file or directory)" - [`KT-76200`](https://youtrack.jetbrains.com/issue/KT-76200) TestModuleProperties.productionModuleName for JVM module isn't present with 2.1.20-RC ##### Tools. Gradle. Native - [`KT-51301`](https://youtrack.jetbrains.com/issue/KT-51301) Remove ability to use Native non-embeddable compiler jar in Gradle plugin - [`KT-74864`](https://youtrack.jetbrains.com/issue/KT-74864) Enable exporting KDocs by default to ObjC - [`KT-77977`](https://youtrack.jetbrains.com/issue/KT-77977) "Unknown hardware platform: riscv64" on JVM project build - [`KT-78838`](https://youtrack.jetbrains.com/issue/KT-78838) Add default 3G max heap size for the commonizer JVM process - [`KT-68256`](https://youtrack.jetbrains.com/issue/KT-68256) Reduce commonizer max heap size to default 3g and allow users to configure it - [`KT-77067`](https://youtrack.jetbrains.com/issue/KT-77067) Kotlin Gradle plugin with the configuration cache passes all platform libraries to the compiler when compiling a binary for the first time ##### Tools. Gradle. Swift Export - [`KT-79554`](https://youtrack.jetbrains.com/issue/KT-79554) Swift Export status diagnostic is produced even if swift export is not configured - [`KT-78385`](https://youtrack.jetbrains.com/issue/KT-78385) Swift Export is not compatible with Gradle isolated projects - [`KT-79524`](https://youtrack.jetbrains.com/issue/KT-79524) NoSuchMethodError: 'java.lang.String org.gradle.api.artifacts.ProjectDependency.getPath() for swift export with dependency export fro gradle < 8.11 ##### Tools. Incremental Compile - [`KT-60653`](https://youtrack.jetbrains.com/issue/KT-60653) IC does not handle changes in inline functions objects/lambdas correctly - [`KT-78807`](https://youtrack.jetbrains.com/issue/KT-78807) Changing ABI fingerprint on non-ABI changes when lambda passed to inlined function - [`KT-69075`](https://youtrack.jetbrains.com/issue/KT-69075) Incremental compilation: smartcast is impossible on field with `@JvmName` ##### Tools. JPS - [`KT-77347`](https://youtrack.jetbrains.com/issue/KT-77347) Support file-less compatible IC approach - [`KT-78444`](https://youtrack.jetbrains.com/issue/KT-78444) Clean up JPS code base - [`KT-75460`](https://youtrack.jetbrains.com/issue/KT-75460) Adding `@PurelyImplements` annotation to a List does *not* cause incremental recompile of affected files - [`KT-50594`](https://youtrack.jetbrains.com/issue/KT-50594) Fix org.jetbrains.kotlin.arguments.CompilerArgumentsContentProspectorTest ##### Tools. Kapt - [`KT-79138`](https://youtrack.jetbrains.com/issue/KT-79138) K2: KAPT Java Stub Gen: `Unresolved reference` with `@kotlin`.Metadata in Java in 2.2.0 - [`KT-79641`](https://youtrack.jetbrains.com/issue/KT-79641) Kapt: too much information is printed in verbose mode - [`KT-79136`](https://youtrack.jetbrains.com/issue/KT-79136) K2 kapt: unresolved nested class references in annotation arguments are generated without outer class names - [`KT-79133`](https://youtrack.jetbrains.com/issue/KT-79133) K2 kapt: class literal with typealias is not expanded - [`KT-77853`](https://youtrack.jetbrains.com/issue/KT-77853) K2 KAPT: backend internal error: exception during IR fake override builder - [`KT-73322`](https://youtrack.jetbrains.com/issue/KT-73322) Migrate `FirKaptAnalysisHandlerExtension` compilation pipeline to the phased structure ##### Tools. Maven - [`KT-77587`](https://youtrack.jetbrains.com/issue/KT-77587) Maven: Introduce Kotlin daemon support and make it enabled by default - [`KT-63688`](https://youtrack.jetbrains.com/issue/KT-63688) Remove JS-related stuff from kotlin-maven-plugin ##### Tools. Maven. Compiler plugins - [`KT-77511`](https://youtrack.jetbrains.com/issue/KT-77511) Add maven plugin for Kotlin DataFrame plugin ##### Tools. REPL - [`KT-78755`](https://youtrack.jetbrains.com/issue/KT-78755) \[K2 Repl] Redeclaring variables does not work - [`KT-75632`](https://youtrack.jetbrains.com/issue/KT-75632) Contunue deprecation of the REPL built into `kotlinc` - [`KT-77470`](https://youtrack.jetbrains.com/issue/KT-77470) \[K2 Repl] Lazy Properties crash code generation - [`KT-76507`](https://youtrack.jetbrains.com/issue/KT-76507) \[K2 Repl] Delegated properties are not visible in the next snippet - [`KT-76508`](https://youtrack.jetbrains.com/issue/KT-76508) \[K2 Repl] Annotations on property accessors are not resolved - [`KT-75672`](https://youtrack.jetbrains.com/issue/KT-75672) \[K2 Repl] Serialization plugin crashes compiler backend ##### Tools. Scripts - [`KT-78378`](https://youtrack.jetbrains.com/issue/KT-78378) "Explain" feature of the kotlin script fails on hidden variables ##### Tools. Statistics (FUS) - [`KT-79455`](https://youtrack.jetbrains.com/issue/KT-79455) \[FUS] Collect KSP plugin version - [`KT-77755`](https://youtrack.jetbrains.com/issue/KT-77755) \[FUS Pipeline] Fus file format - [`KT-77995`](https://youtrack.jetbrains.com/issue/KT-77995) Do not collect FUS metrics on TeamCity ##### Tools. Wasm - [`KT-76842`](https://youtrack.jetbrains.com/issue/KT-76842) K/Wasm: serve project sources in \*DevRun tasks by default - [`KT-78921`](https://youtrack.jetbrains.com/issue/KT-78921) K/Wasm: don't generate empty yarn.lock file - [`KT-75714`](https://youtrack.jetbrains.com/issue/KT-75714) Wasm: Move tooling NPM dependencies outside user project - [`KT-70013`](https://youtrack.jetbrains.com/issue/KT-70013) .gradle/yarn and .gradle/node are part of Gradle configuration cache - [`KT-76838`](https://youtrack.jetbrains.com/issue/KT-76838) K/Wasm: No possible to set downloadBaseUrl to null for D8 and Binaryen - [`KT-76948`](https://youtrack.jetbrains.com/issue/KT-76948) Wasm: Rename kotlinBinaryenSetup and kotlinD8Setup </details> <details> <summary>spring-projects/spring-boot (org.springframework.boot:spring-boot-dependencies)</summary> ### [`v4.0.1`](https://github.com/spring-projects/spring-boot/releases/tag/v4.0.1) [Compare Source](https://github.com/spring-projects/spring-boot/compare/v4.0.0...v4.0.1) #### :warning: Noteworthy changes - Hibernate has been upgraded to 7.2.0.Final in response to Hibernate 7.1 moving to limited support - spring-boot-starter-kotlin-serialization has been renamed to to spring-boot-starter-kotlinx-serialization-json and spring-boot-starter-kotlin-serialization-test has been renamed to spring-boot-starter-kotlinx-serialization-json-test. This change aligns the starters' names with those of their respective modules - Using TestRestTemplate now [requires a dependency on spring-boot-restclient](https://docs.spring.io/spring-boot/4.0-SNAPSHOT/reference/testing/spring-boot-applications.html#testing.spring-boot-applications.with-running-server) #### :lady\_beetle: Bug Fixes - JsonMixinModuleEntriesBeanRegistrationAotProcessor does not handle deprecated code [#&#8203;48564](https://github.com/spring-projects/spring-boot/issues/48564) - JdbcSessionAutoConfiguration may not match when using the auto-configured DataSource [#&#8203;48552](https://github.com/spring-projects/spring-boot/pull/48552) - `@ServiceConnection` for LgtmStackContainer fails when logging endpoint is configured due to multiple OtlpLoggingConnectionDetails beans [#&#8203;48536](https://github.com/spring-projects/spring-boot/issues/48536) - WebApplicationType does not consider modules when deduced from classpath [#&#8203;48517](https://github.com/spring-projects/spring-boot/issues/48517) - Spring Session auto-configuration fails in a war deployment as ServerProperties is not available [#&#8203;48493](https://github.com/spring-projects/spring-boot/issues/48493) - Opentelemetry logging export requires actuator module [#&#8203;48488](https://github.com/spring-projects/spring-boot/issues/48488) - RabbitHealthIndicator reports an error when version is missing from the connection's server properties [#&#8203;48487](https://github.com/spring-projects/spring-boot/issues/48487) - Actuator Info class has inconsistent nullability annotations and cannot be built with null value [#&#8203;48480](https://github.com/spring-projects/spring-boot/pull/48480) - Profiles retained during AOT processing are not configured in a native image [#&#8203;48476](https://github.com/spring-projects/spring-boot/issues/48476) - Security matchers and WebServerNamespace resolution can fail with NoClassDefFoundError when used in a traditional WAR deployment [#&#8203;48388](https://github.com/spring-projects/spring-boot/issues/48388) - HealthEndpointGroupMembershipValidator does not consider reactive health indicators causing NoSuchHealthContributorException to be thrown [#&#8203;48387](https://github.com/spring-projects/spring-boot/issues/48387) - spring.jackson.default-property-inclusion is not applied to content inclusion [#&#8203;48343](https://github.com/spring-projects/spring-boot/issues/48343) - TestRestTemplate.getRootUri() returns empty string [#&#8203;48330](https://github.com/spring-projects/spring-boot/issues/48330) - Redis health check reports an error when redis\_version is missing from the INFO response [#&#8203;48328](https://github.com/spring-projects/spring-boot/issues/48328) - Parent's MeterRegistry beans are closed when child context closes [#&#8203;48325](https://github.com/spring-projects/spring-boot/issues/48325) - HttpMessageConverters picks up converter beans for both client and server [#&#8203;48310](https://github.com/spring-projects/spring-boot/issues/48310) - Conditions to auto-configure a RestClient are outdated with the modularization [#&#8203;48308](https://github.com/spring-projects/spring-boot/issues/48308) - A custom JwtTypeValidator that replaces the default can no longer be configured [#&#8203;48301](https://github.com/spring-projects/spring-boot/issues/48301) - PropertiesRestClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it [#&#8203;48296](https://github.com/spring-projects/spring-boot/issues/48296) - SpringBootTest.UseMainMethod.WHEN\_AVAILABLE and ALWAYS are incompatible with package-private or parameter-less main method [#&#8203;48275](https://github.com/spring-projects/spring-boot/issues/48275) - Conditions to auto-configure RestClient-based HTTP service clients are outdated with the modularization [#&#8203;48274](https://github.com/spring-projects/spring-boot/pull/48274) - Starter for Kotlinx Serialization Json is misnamed [#&#8203;48262](https://github.com/spring-projects/spring-boot/issues/48262) - ApplicationServletEnvironment is no longer configured in war deployments [#&#8203;48254](https://github.com/spring-projects/spring-boot/issues/48254) - RestClient.Builder bean present in `@SpringBootTest` due to spring-boot-starter-webmvc-test, but missing at runtime without restclient starter [#&#8203;48253](https://github.com/spring-projects/spring-boot/issues/48253) - ProblemDetail is rendered to XML incorrectly [#&#8203;48222](https://github.com/spring-projects/spring-boot/pull/48222) #### :notebook\_with\_decorative\_cover: Documentation - Harmonize Kotlin example for HTTP Service client support [#&#8203;48577](https://github.com/spring-projects/spring-boot/pull/48577) - Document HttpMessageConverters detection changes in 4.0.1 [#&#8203;48574](https://github.com/spring-projects/spring-boot/issues/48574) - Improve javadoc for when to use class names rather than class references [#&#8203;48569](https://github.com/spring-projects/spring-boot/issues/48569) - Documentation has an outdated reference to the Jackson Kotlin Module [#&#8203;48534](https://github.com/spring-projects/spring-boot/issues/48534) - Caching documentation should clarify how to use a no-op implementation to run a test suite [#&#8203;48532](https://github.com/spring-projects/spring-boot/issues/48532) - Document that the default rolling policy for Log4j2 requires logging.file.path to be set [#&#8203;48527](https://github.com/spring-projects/spring-boot/issues/48527) - Review documentation and migration guide about changes in `@AutoConfigureCache` [#&#8203;48522](https://github.com/spring-projects/spring-boot/issues/48522) - License header in build samples is displayed in the reference documentation [#&#8203;48478](https://github.com/spring-projects/spring-boot/issues/48478) - Configuring Two DataSources How-To code sample is inconsistent [#&#8203;48449](https://github.com/spring-projects/spring-boot/issues/48449) - Fix links to source files on GitHub [#&#8203;48398](https://github.com/spring-projects/spring-boot/pull/48398) - Documentation contains broken links to GitHub source files [#&#8203;48394](https://github.com/spring-projects/spring-boot/issues/48394) - Document that org.aspectj.weaver.Advice must be on the classpath to enable support for Micrometer's annotations [#&#8203;48360](https://github.com/spring-projects/spring-boot/issues/48360) - Correct the annotation in the Kotlin `@ConfigurationPropertiesSource` example [#&#8203;48357](https://github.com/spring-projects/spring-boot/pull/48357) - Polish TestRestTemplate examples in the reference guide [#&#8203;48336](https://github.com/spring-projects/spring-boot/issues/48336) - Documentation missing for LocalTestWebServer [#&#8203;48333](https://github.com/spring-projects/spring-boot/issues/48333) - Update "Creating Your Own Starter" following modularisation [#&#8203;48317](https://github.com/spring-projects/spring-boot/issues/48317) - Fix links to javadoc in the reference documentation [#&#8203;48300](https://github.com/spring-projects/spring-boot/issues/48300) - Update references for RestTemplateCustomizer and RestTemplateBuilder classes in documentation [#&#8203;48295](https://github.com/spring-projects/spring-boot/pull/48295) - Remove modules section of the README following modularisation [#&#8203;48291](https://github.com/spring-projects/spring-boot/issues/48291) - Wrong number in Graceful Shutdown chapter [#&#8203;48284](https://github.com/spring-projects/spring-boot/issues/48284) - Mention new spring-boot-h2console module when describing how to use H2 Console [#&#8203;48278](https://github.com/spring-projects/spring-boot/pull/48278) - Clarify that `@EnableBatchProcessing` turns off all batch auto-configuration, including schema initialization [#&#8203;48266](https://github.com/spring-projects/spring-boot/issues/48266) - Documented replacements for spring.jackson.generator and spring.jackson.parser are inverted [#&#8203;48255](https://github.com/spring-projects/spring-boot/pull/48255) - Document the need for a JdbcDialect bean when using Spring Data JDBC and AOT [#&#8203;48240](https://github.com/spring-projects/spring-boot/issues/48240) - Update reference documentation as Spring Batch's resourceless infrastructure means that it no longer always requires a DataSource [#&#8203;48233](https://github.com/spring-projects/spring-boot/issues/48233) - Kotlin auto-configuration examples are not annotated with `@AutoConfiguration` [#&#8203;48228](https://github.com/spring-projects/spring-boot/issues/48228) - Revise "Use Liquibase for test-only migrations" section in reference manual [#&#8203;48219](https://github.com/spring-projects/spring-boot/issues/48219) - Infinispan Cache Documentation is outdated [#&#8203;48218](https://github.com/spring-projects/spring-boot/issues/48218) - Removed max-attempts properties metadata don't have replacement [#&#8203;48206](https://github.com/spring-projects/spring-boot/issues/48206) - Polish documentation on testing web applications and the various testing clients that are available [#&#8203;47948](https://github.com/spring-projects/spring-boot/issues/47948) #### :hammer: Dependency Upgrades - Upgrade to AspectJ 1.9.25.1 [#&#8203;48561](https://github.com/spring-projects/spring-boot/issues/48561) - Upgrade to Elasticsearch Client 9.2.2 [#&#8203;48447](https://github.com/spring-projects/spring-boot/issues/48447) - Upgrade to Groovy 5.0.3 [#&#8203;48460](https://github.com/spring-projects/spring-boot/issues/48460) - Upgrade to Hibernate 7.2.0.Final [#&#8203;48518](https://github.com/spring-projects/spring-boot/issues/48518) - Upgrade to Jackson Bom 3.0.3 [#&#8203;48462](https://github.com/spring-projects/spring-boot/issues/48462) - Upgrade to Jetty 12.1.5 [#&#8203;48463](https://github.com/spring-projects/spring-boot/issues/48463) - Upgrade to jOOQ 3.19.29 [#&#8203;48464](https://github.com/spring-projects/spring-boot/issues/48464) - Upgrade to Json Path 2.10.0 [#&#8203;48553](https://github.com/spring-projects/spring-boot/issues/48553) - Upgrade to Log4j2 2.25.3 [#&#8203;48551](https://github.com/spring-projects/spring-boot/issues/48551) - Upgrade to MariaDB 3.5.7 [#&#8203;48562](https://github.com/spring-projects/spring-boot/issues/48562) - Upgrade to Micrometer 1.16.1 [#&#8203;48433](https://github.com/spring-projects/spring-boot/issues/48433) - Upgrade to Micrometer Tracing 1.6.1 [#&#8203;48434](https://github.com/spring-projects/spring-boot/issues/48434) - Upgrade to MongoDB 5.6.2 [#&#8203;48501](https://github.com/spring-projects/spring-boot/issues/48501) - Upgrade to Netty 4.2.9.Final [#&#8203;48544](https://github.com/spring-projects/spring-boot/issues/48544) - Upgrade to Pooled JMS 3.1.8 [#&#8203;48563](https://github.com/spring-projects/spring-boot/issues/48563) - Upgrade to Pulsar 4.1.2 [#&#8203;48465](https://github.com/spring-projects/spring-boot/issues/48465) - Upgrade to Quartz 2.5.2 [#&#8203;48466](https://github.com/spring-projects/spring-boot/issues/48466) - Upgrade to Reactor Bom 2025.0.1 [#&#8203;48435](https://github.com/spring-projects/spring-boot/issues/48435) - Upgrade to Spring AMQP 4.0.1 [#&#8203;48436](https://github.com/spring-projects/spring-boot/issues/48436) - Upgrade to Spring Batch 6.0.1 [#&#8203;48437](https://github.com/spring-projects/spring-boot/issues/48437) - Upgrade to Spring Data Bom 2025.1.1 [#&#8203;48438](https://github.com/spring-projects/spring-boot/issues/48438) - Upgrade to Spring Framework 7.0.2 [#&#8203;48439](https://github.com/spring-projects/spring-boot/issues/48439) - Upgrade to Spring GraphQL 2.0.1 [#&#8203;48440](https://github.com/spring-projects/spring-boot/issues/48440) - Upgrade to Spring HATEOAS 3.0.1 [#&#8203;48481](https://github.com/spring-projects/spring-boot/issues/48481) - Upgrade to Spring Integration 7.0.1 [#&#8203;48482](https://github.com/spring-projects/spring-boot/issues/48482) - Upgrade to Spring Kafka 4.0.1 [#&#8203;48441](https://github.com/spring-projects/spring-boot/issues/48441) - Upgrade to Spring LDAP 4.0.1 [#&#8203;48442](https://github.com/spring-projects/spring-boot/issues/48442) - Upgrade to Spring Pulsar 2.0.1 [#&#8203;48443](https://github.com/spring-projects/spring-boot/issues/48443) - Upgrade to Spring Security 7.0.2 [#&#8203;48444](https://github.com/spring-projects/spring-boot/issues/48444) - Upgrade to Spring Session 4.0.1 [#&#8203;48445](https://github.com/spring-projects/spring-boot/issues/48445) - Upgrade to Testcontainers 2.0.3 [#&#8203;48545](https://github.com/spring-projects/spring-boot/issues/48545) - Upgrade to Tomcat 11.0.15 [#&#8203;48467](https://github.com/spring-projects/spring-boot/issues/48467) - Upgrade to UnboundID LDAPSDK 7.0.4 [#&#8203;48468](https://github.com/spring-projects/spring-boot/issues/48468) #### :heart: Contributors Thank you to all the contributors who worked on this release: [@&#8203;Nhahan](https://github.com/Nhahan), [@&#8203;arey](https://github.com/arey), [@&#8203;banseok1216](https://github.com/banseok1216), [@&#8203;berry120](https://github.com/berry120), [@&#8203;candrews](https://github.com/candrews), [@&#8203;dmitrysulman](https://github.com/dmitrysulman), [@&#8203;geopark021](https://github.com/geopark021), [@&#8203;hktechn0](https://github.com/hktechn0), [@&#8203;igslznev](https://github.com/igslznev), [@&#8203;jwalter](https://github.com/jwalter), [@&#8203;kzander91](https://github.com/kzander91), [@&#8203;michaldo](https://github.com/michaldo), [@&#8203;mzeijen](https://github.com/mzeijen), [@&#8203;ngocnhan-tran1996](https://github.com/ngocnhan-tran1996), [@&#8203;noojung](https://github.com/noojung), [@&#8203;scottfrederick](https://github.com/scottfrederick), [@&#8203;vpavic](https://github.com/vpavic), and [@&#8203;youngledo](https://github.com/youngledo) ### [`v4.0.0`](https://github.com/spring-projects/spring-boot/releases/tag/v4.0.0) [Compare Source](https://github.com/spring-projects/spring-boot/compare/v3.5.9...v4.0.0) Full [release notes for Spring Boot 4.0](https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Release-Notes) are available on the wiki. There is also [a migration guide](https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide) to help you upgrade from Spring Boot 3.5. #### :star: New Features - Change tomcat and jetty runtime modules to starters [#&#8203;48175](https://github.com/spring-projects/spring-boot/issues/48175) - Rename spring-boot-kotlin-serialization to align with the name of the Kotlinx module that it pulls in [#&#8203;48076](https://github.com/spring-projects/spring-boot/issues/48076) #### :lady\_beetle: Bug Fixes - Error properties are a general web concern and should not be located beneath server.\* [#&#8203;48201](https://github.com/spring-projects/spring-boot/issues/48201) - With both Jackson 2 and 3 on the classpath, `@JsonTest` fails due to duplicate jacksonTesterFactoryBean [#&#8203;48198](https://github.com/spring-projects/spring-boot/issues/48198) - Gradle war task does not exclude starter POMs from lib-provided [#&#8203;48197](https://github.com/spring-projects/spring-boot/issues/48197) - spring.test.webclient.mockrestserviceserver.enabled is not aligned with its module's name [#&#8203;48193](https://github.com/spring-projects/spring-boot/issues/48193) - SslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time [#&#8203;48182](https://github.com/spring-projects/spring-boot/issues/48182) - Properties bound in the child management context ignore the parent's environment prefix [#&#8203;48177](https://github.com/spring-projects/spring-boot/issues/48177) - ssl.chain.expiry metrics doesn't update for dynamically registered SSL bundles [#&#8203;48171](https://github.com/spring-projects/spring-boot/issues/48171) - Starter for spring-boot-micrometer-metrics is missing [#&#8203;48161](https://github.com/spring-projects/spring-boot/issues/48161) - Elasticsearch client's sniffer functionality should not be enabled by default [#&#8203;48155](https://github.com/spring-projects/spring-boot/issues/48155) - spring-boot-starter-elasticsearch should depend on elasticsearch-java [#&#8203;48141](https://github.com/spring-projects/spring-boot/pull/48141) - Auto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes [#&#8203;48132](https://github.com/spring-projects/spring-boot/issues/48132) - New arm64 macbooks fail to bootBuildImage due to incorrect platform image [#&#8203;48128](https://github.com/spring-projects/spring-boot/issues/48128) - Properties for configuring an isolated JsonMapper or ObjectMapper are incorrectly named [#&#8203;48116](https://github.com/spring-projects/spring-boot/issues/48116) - Buildpack fails with recent Docker installs due to hardcoded version in URL [#&#8203;48103](https://github.com/spring-projects/spring-boot/issues/48103) - Image building may fail when specifying a platform if an image has already been built with a different platform [#&#8203;48099](https://github.com/spring-projects/spring-boot/issues/48099) - Default values of Kotlinx Serialization JSON configuration properties are not documented [#&#8203;48097](https://github.com/spring-projects/spring-boot/issues/48097) - Custom XML converters should override defaults in HttpMessageConverters [#&#8203;48096](https://github.com/spring-projects/spring-boot/issues/48096) - Kotlin serialization is used too aggressively when other JSON libraries are available [#&#8203;48070](https://github.com/spring-projects/spring-boot/issues/48070) - PortInUseException incorrectly thrown on failure to bind port due to Netty IP misconfiguration [#&#8203;48059](https://github.com/spring-projects/spring-boot/issues/48059) - Auto-configured JCacheMetrics cannot be customized [#&#8203;48057](https://github.com/spring-projects/spring-boot/issues/48057) - WebSecurityCustomizer beans are excluded by WebMvcTest [#&#8203;48055](https://github.com/spring-projects/spring-boot/issues/48055) - Deprecated EnvironmentPostProcessor does not resolve arguments [#&#8203;48047](https://github.com/spring-projects/spring-boot/issues/48047) - RetryPolicySettings should refer to maxRetries, not maxAttempts [#&#8203;48023](https://github.com/spring-projects/spring-boot/issues/48023) - Devtools Restarter does not work with a parameterless main method [#&#8203;47996](https://github.com/spring-projects/spring-boot/issues/47996) - Dependency management for Kafka should not manage Scala 2.12 libraries [#&#8203;47991](https://github.com/spring-projects/spring-boot/pull/47991) - spring-boot-mail should depend on jakarta.mail:jakarta.mail-api and org.eclipse.angus:angus-mail instead of org.eclipse.angus:jakarta.mail [#&#8203;47983](https://github.com/spring-projects/spring-boot/issues/47983) - spring-boot-starter-data-mongodb-reactive has dependency on reactor-test [#&#8203;47982](https://github.com/spring-projects/spring-boot/issues/47982) - Support for ReactiveElasticsearchClient is in the wrong module [#&#8203;47848](https://github.com/spring-projects/spring-boot/issues/47848) #### :notebook\_with\_decorative\_cover: Documentation - Removed property spring.test.webclient.register-rest-template is still documented [#&#8203;48199](https://github.com/spring-projects/spring-boot/issues/48199) - Mention support for detecting AWS ECS in "Deploying to the Cloud" [#&#8203;48170](https://github.com/spring-projects/spring-boot/pull/48170) - Revise AWS section of "Deploying to the Cloud" in reference manual [#&#8203;48163](https://github.com/spring-projects/spring-boot/issues/48163) - Fix typo in PortInUseException Javadoc [#&#8203;48134](https://github.com/spring-projects/spring-boot/issues/48134) - Correct section about required setters in "Type-safe Configuration Properties" [#&#8203;48131](https://github.com/spring-projects/spring-boot/issues/48131) - Use since attribute in configuration properties deprecation consistently [#&#8203;48122](https://github.com/spring-projects/spring-boot/issues/48122) - Document EndpointJsonMapper and management.endpoints.jackson.isolated-json-mapper [#&#8203;48115](https://github.com/spring-projects/spring-boot/issues/48115) - Document support for configuring servlet context init parameters using properties [#&#8203;48112](https://github.com/spring-projects/spring-boot/issues/48112) - Some configuration properties are not documented in the appendix [#&#8203;48095](https://github.com/spring-projects/spring-boot/issues/48095) - Clarify how warnings about soon-to-expire SSL certificates are reported [#&#8203;48063](https://github.com/spring-projects/spring-boot/issues/48063) - Document how to use ContextPropagatingTaskDecorator for propagating trace context over thread boundaries [#&#8203;48053](https://github.com/spring-projects/spring-boot/issues/48053) - Document the level of support for the OpenTelemetry APIs [#&#8203;47960](https://github.com/spring-projects/spring-boot/issues/47960) - Document that you need to build with Java 25 for buildpack build-image Graal support [#&#8203;45501](https://github.com/spring-projects/spring-boot/issues/45501) #### :hammer: Dependency Upgrades - Upgrade to Cassandra Driver 4.19.2 [#&#8203;48184](https://github.com/spring-projects/spring-boot/issues/48184) - Upgrade to DB2 JDBC 12.1.3.0 [#&#8203;48087](https://github.com/spring-projects/spring-boot/issues/48087) - Upgrade to Elasticsearch Client 9.2.1 [#&#8203;48137](https://github.com/spring-projects/spring-boot/issues/48137) - Upgrade to GraphQL Java 25.0 [#&#8203;48034](https://github.com/spring-projects/spring-boot/issues/48034) - Upgrade to Hibernate 7.1.8.Final [#&#8203;48150](https://github.com/spring-projects/spring-boot/issues/48150) - Upgrade to Jackson Bom 3.0.2 [#&#8203;48089](https://github.com/spring-projects/spring-boot/issues/48089) - Upgrade to Jetty 12.1.4 [#&#8203;48120](https://github.com/spring-projects/spring-boot/issues/48120) - Upgrade to Jetty Reactive HTTPClient 4.1.4 [#&#8203;48151](https://github.com/spring-projects/spring-boot/issues/48151) - Upgrade to jOOQ 3.19.28 [#&#8203;48090](https://github.com/spring-projects/spring-boot/issues/48090) - Upgrade to Kafka 4.1.1 [#&#8203;48185](https://github.com/spring-projects/spring-boot/issues/48185) - Upgrade to Logback 1.5.21 [#&#8203;48091](https://github.com/spring-projects/spring-boot/issues/48091) - Upgrade to Micrometer 1.16.0 [#&#8203;47820](https://github.com/spring-projects/spring-boot/issues/47820) - Upgrade to Micrometer Tracing 1.6.0 [#&#8203;47821](https://github.com/spring-projects/spring-boot/issues/47821) - Upgrade to MySQL 9.5.0 [#&#8203;48092](https://github.com/spring-projects/spring-boot/issues/48092) - Upgrade to Native Build Tools Plugin 0.11.3 [#&#8203;48051](https://github.com/spring-projects/spring-boot/issues/48051) - Upgrade to Neo4j Java Driver 6.0.2 [#&#8203;47997](https://github.com/spring-projects/spring-boot/issues/47997) - Upgrade to Prometheus Client 1.4.3 [#&#8203;48093](https://github.com/spring-projects/spring-boot/issues/48093) - Upgrade to Reactor Bom 2025.0.0 [#&#8203;47822](https://github.com/spring-projects/spring-boot/issues/47822) - Upgrade to Spring AMQP 4.0.0 [#&#8203;47823](https://github.com/spring-projects/spring-boot/issues/47823) - Upgrade to Spring Batch 6.0.0 [#&#8203;47834](https://github.com/spring-projects/spring-boot/issues/47834) - Upgrade to Spring Data Bom 2025.1.0 [#&#8203;47824](https://github.com/spring-projects/spring-boot/issues/47824) - Upgrade to Spring Framework 7.0.1 [#&#8203;48168](https://github.com/spring-projects/spring-boot/issues/48168) - Upgrade to Spring GraphQL 2.0.0 [#&#8203;47826](https://github.com/spring-projects/spring-boot/issues/47826) - Upgrade to Spring HATEOAS 3.0.0 [#&#8203;47827](https://github.com/spring-projects/spring-boot/issues/47827) - Upgrade to Spring Integration 7.0.0 [#&#8203;47828](https://github.com/spring-projects/spring-boot/issues/47828) - Upgrade to Spring Kafka 4.0.0 [#&#8203;47829](https://github.com/spring-projects/spring-boot/issues/47829) - Upgrade to Spring LDAP 4.0.0 [#&#8203;47999](https://github.com/spring-projects/spring-boot/issues/47999) - Upgrade to Spring Pulsar 2.0.0 [#&#8203;47830](https://github.com/spring-projects/spring-boot/issues/47830) - Upgrade to Spring RESTDocs 4.0.0 [#&#8203;47831](https://github.com/spring-projects/spring-boot/issues/47831) - Upgrade to Spring Security 7.0.0 [#&#8203;47832](https://github.com/spring-projects/spring-boot/issues/47832) - Upgrade to Spring Session 4.0.0 [#&#8203;48000](https://github.com/spring-projects/spring-boot/issues/48000) - Upgrade to Spring WS 5.0.0 [#&#8203;47833](https://github.com/spring-projects/spring-boot/issues/47833) - Upgrade to Testcontainers 2.0.2 [#&#8203;48152](https://github.com/spring-projects/spring-boot/issues/48152) - Upgrade to Tomcat 11.0.14 [#&#8203;48094](https://github.com/spring-projects/spring-boot/issues/48094) #### :heart: Contributors Thank you to all the contributors who worked on this release: [@&#8203;K-jun98](https://github.com/K-jun98), [@&#8203;TerryTaoYY](https://github.com/TerryTaoYY), [@&#8203;filiphr](https://github.com/filiphr), [@&#8203;hojooo](https://github.com/hojooo), [@&#8203;linw-bai](https://github.com/linw-bai), [@&#8203;nosan](https://github.com/nosan), [@&#8203;scottfrederick](https://github.com/scottfrederick), [@&#8203;stevearmstrong-dev](https://github.com/stevearmstrong-dev), [@&#8203;stewue](https://github.com/stewue), and [@&#8203;vpavic](https://github.com/vpavic) ### [`v3.5.9`](https://github.com/spring-projects/spring-boot/releases/tag/v3.5.9) [Compare Source](https://github.com/spring-projects/spring-boot/compare/v3.5.8...v3.5.9) #### :lady\_beetle: Bug Fixes - RabbitHealthIndicator reports an error when version is missing from the connection's server properties [#&#8203;48486](https://github.com/spring-projects/spring-boot/issues/48486) - Profiles retained during AOT processing are not configured in a native image [#&#8203;48475](https://github.com/spring-projects/spring-boot/issues/48475) - NullPointerException in UndertowWebServer.destroy() when using `@DirtiesContext` and Citrus Spring Boot Simulator [#&#8203;48450](https://github.com/spring-projects/spring-boot/issues/48450) - Redis health check reports an error when redis\_version is missing from the INFO response [#&#8203;48326](https://github.com/spring-projects/spring-boot/issues/48326) - Parent's MeterRegistry beans are closed when child context closes [#&#8203;48324](https://github.com/spring-projects/spring-boot/issues/48324) - SpringBootTest.UseMainMethod.WHEN\_AVAILABLE and ALWAYS are incompatible with package-private or parameter-less main method [#&#8203;48271](https://github.com/spring-projects/spring-boot/issues/48271) #### :notebook\_with\_decorative\_cover: Documentation - Documentation has an outdated reference to the Jackson Kotlin Module [#&#8203;48533](https://github.com/spring-projects/spring-boot/issues/48533) - Caching documentation should clarify how to use a no-op implementation to run a test suite [#&#8203;48531](https://github.com/spring-projects/spring-boot/issues/48531) - Document that the default rolling policy for Log4j2 requires logging.file.path to be set [#&#8203;48526](https://github.com/spring-projects/spring-boot/issues/48526) - License header in build samples is displayed in the reference documentation [#&#8203;48477](https://github.com/spring-projects/spring-boot/issues/48477) - Configuring Two DataSources How-To code sample is inconsistent [#&#8203;48448](https://github.com/spring-projects/spring-boot/issues/48448) - Improve javadoc for when to use class names rather than class references [#&#8203;48395](https://github.com/spring-projects/spring-boot/issues/48395) - Document that org.aspectj.weaver.Advice must be on the classpath to enable support for Micrometer's annotations [#&#8203;48359](https://github.com/spring-projects/spring-boot/issues/48359) - Polish TestRestTemplate examples in the reference guide [#&#8203;48335](https://github.com/spring-projects/spring-boot/issues/48335) - Fix links to javadoc in the reference documentation [#&#8203;48299](https://github.com/spring-projects/spring-boot/issues/48299) - Clarify that `@EnableBatchProcessing` turns off all batch auto-configuration, including schema initialization [#&#8203;48265](https://github.com/spring-projects/spring-boot/issues/48265) - Kotlin auto-configuration examples are not annotated with `@AutoConfiguration` [#&#8203;48227](https://github.com/spring-projects/spring-boot/issues/48227) - Infinispan Cache Documentation is outdated [#&#8203;48217](https://github.com/spring-projects/spring-boot/issues/48217) - Revise "Use Liquibase for test-only migrations" section in reference manual [#&#8203;48169](https://github.com/spring-projects/spring-boot/pull/48169) #### :hammer: Dependency Upgrades - Prevent upgrade to Netty 4.1.129.Final [#&#8203;48508](https://github.com/spring-projects/spring-boot/issues/48508) - Upgrade to AspectJ 1.9.25.1 [#&#8203;48557](https://github.com/spring-projects/spring-boot/issues/48557) - Upgrade to Hibernate 6.6.39.Final [#&#8203;48540](https://github.com/spring-projects/spring-boot/issues/48540) - Upgrade to Jetty 12.0.31 [#&#8203;48455](https://github.com/spring-projects/spring-boot/issues/48455) - Upgrade to jOOQ 3.19.29 [#&#8203;48456](https://github.com/spring-projects/spring-boot/issues/48456) - Upgrade to Logback 1.5.22 [#&#8203;48507](https://github.com/spring-projects/spring-boot/issues/48507) - Upgrade to MariaDB 3.5.7 [#&#8203;48558](https://github.com/spring-projects/spring-boot/issues/48558) - Upgrade to Micrometer 1.15.7 [#&#8203;48423](https://github.com/spring-projects/spring-boot/issues/48423) - Upgrade to Micrometer Tracing 1.5.7 [#&#8203;48424](https://github.com/spring-projects/spring-boot/issues/48424) - Upgrade to Netty 4.1.130.Final [#&#8203;48541](https://github.com/spring-projects/spring-boot/issues/48541) - Upgrade to Pooled JMS 3.1.8 [#&#8203;48559](https://github.com/spring-projects/spring-boot/issues/48559) - Upgrade to Pulsar 4.0.8 [#&#8203;48457](https://github.com/spring-projects/spring-boot/issues/48457) - Upgrade to Quartz 2.5.2 [#&#8203;48458](https://github.com/spring-projects/spring-boot/issues/48458) - Upgrade to Reactor Bom 2024.0.13 [#&#8203;48425](https://github.com/spring-projects/spring-boot/issues/48425) - Upgrade to Spring Authorization Server 1.5.5 [#&#8203;48426](https://github.com/spring-projects/spring-boot/issues/48426) - Upgrade to Spring Data Bom 2025.0.7 [#&#8203;48427](https://github.com/spring-projects/spring-boot/issues/48427) - Upgrade to Spring Framework 6.2.15 [#&#8203;48428](https://github.com/spring-projects/spring-boot/issues/48428) - Upgrade to Spring GraphQL 1.4.4 [#&#8203;48429](https://github.com/spring-projects/spring-boot/issues/48429) - Upgrade to Spring Integration 6.5.5 [#&#8203;48560](https://github.com/spring-projects/spring-boot/issues/48560) - Upgrade to Spring LDAP 3.3.5 [#&#8203;48430](https://github.com/spring-projects/spring-boot/issues/48430) - Upgrade to Spring Pulsar 1.2.13 [#&#8203;48431](https://github.com/spring-projects/spring-boot/issues/48431) - Upgrade to Spring Session 3.5.4 [#&#8203;48432](https://github.com/spring-projects/spring-boot/issues/48432) - Upgrade to Testcontainers 1.21.4 [#&#8203;48542](https://github.com/spring-projects/spring-boot/issues/48542) - Upgrade to UnboundID LDAPSDK 7.0.4 [#&#8203;48459](https://github.com/spring-projects/spring-boot/issues/48459) #### :heart: Contributors Thank you to all the contributors who worked on this release: [@&#8203;banseok1216](https://github.com/banseok1216), [@&#8203;berry120](https://github.com/berry120), [@&#8203;dmitrysulman](https://github.com/dmitrysulman), [@&#8203;geopark021](https://github.com/geopark021), [@&#8203;noojung](https://github.com/noojung), [@&#8203;scottfrederick](https://github.com/scottfrederick), [@&#8203;vpavic](https://github.com/vpavic), and [@&#8203;youngledo](https://github.com/youngledo) ### [`v3.5.8`](https://github.com/spring-projects/spring-boot/releases/tag/v3.5.8) [Compare Source](https://github.com/spring-projects/spring-boot/compare/v3.5.7...v3.5.8) #### :warning: Noteworthy changes - This release [contains a fix](https://github.com/spring-projects/spring-boot/issues/48104) to get Testcontainers working with modern Docker versions. If this causes problems in your setup, [you can downgrade the minimum Docker API](https://docs.spring.io/spring-boot/3.4/how-to/testing.html#howto.testing.testcontainers-api-downgrade), effectively reverting that change. #### :lady\_beetle: Bug Fixes - Gradle war task does not exclude starter POMs from lib-provided [#&#8203;48196](https://github.com/spring-projects/spring-boot/issues/48196) - Testcontainers integration fails on Docker 29.0.0 [#&#8203;48192](https://github.com/spring-projects/spring-boot/issues/48192) - SslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time [#&#8203;48180](https://github.com/spring-projects/spring-boot/issues/48180) - Properties bound in the child management context ignore the parent's environment prefix [#&#8203;48176](https://github.com/spring-projects/spring-boot/issues/48176) - ssl.chain.expiry metrics doesn't update for dynamically registered SSL bundles [#&#8203;48153](https://github.com/spring-projects/spring-boot/pull/48153) - Auto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes [#&#8203;48129](https://github.com/spring-projects/spring-boot/pull/48129) - New arm64 macbooks fail to bootBuildImage due to incorrect platform image [#&#8203;48127](https://github.com/spring-projects/spring-boot/issues/48127) - NullPointerException when using `@ConditionalOnSingleCandidate` with multiple manually registered singletons [#&#8203;48123](https://github.com/spring-projects/spring-boot/issues/48123) - Buildpack fails with recent Docker installs due to hardcoded version in URL [#&#8203;48102](https://github.com/spring-projects/spring-boot/issues/48102) - Image building may fail when specifying a platform if an image has already been built with a different platform [#&#8203;48098](https://github.com/spring-projects/spring-boot/issues/48098) - Undertow's ServletContext is destroy too early, making it unusable in `@PreDestroy` methods [#&#8203;48061](https://github.com/spring-projects/spring-boot/issues/48061) - PortInUseException incorrectly thrown on failure to bind port due to Netty IP misconfiguration [#&#8203;48058](https://github.com/spring-projects/spring-boot/issues/48058) - Auto-configured JCacheMetrics cannot be customized [#&#8203;48056](https://github.com/spring-projects/spring-boot/issues/48056) - WebSecurityCustomizer beans are excluded by WebMvcTest [#&#8203;48054](https://github.com/spring-projects/spring-boot/issues/48054) - Devtools Restarter does not work with a parameterless main method [#&#8203;47987](https://github.com/spring-projects/spring-boot/pull/47987) - Setting 'max-uri-tags' does not prevent unlimited meter growth on any AutoConfiguredCompositeMeterRegistry [#&#8203;47923](https://github.com/spring-projects/spring-boot/issues/47923) - Docker response 407 is not handled correctly resulting in no error message [#&#8203;47900](https://github.com/spring-projects/spring-boot/issues/47900) - spring-boot-maven-plugin process-aot goal does not find package-private main method [#&#8203;47780](https://github.com/spring-projects/spring-boot/issues/47780) #### :notebook\_with\_decorative\_cover: Documentation - Revise AWS section of "Deploying to the Cloud" in reference manual [#&#8203;48156](https://github.com/spring-projects/spring-boot/pull/48156) - Fix typo in PortInUseException Javadoc [#&#8203;48133](https://github.com/spring-projects/spring-boot/issues/48133) - Correct section about required setters in "Type-safe Configuration Properties" [#&#8203;48130](https://github.com/spring-projects/spring-boot/issues/48130) - Document EndpointObjectMapper and management.endpoints.jackson.isolated-object-mapper [#&#8203;48114](https://github.com/spring-projects/spring-boot/issues/48114) - Document support for configuring servlet context init parameters using properties [#&#8203;48111](https://github.com/spring-projects/spring-boot/issues/48111) - Clarify how warnings about soon-to-expire SSL certificates are reported [#&#8203;48062](https://github.com/spring-projects/spring-boot/issues/48062) - Document how to use ContextPropagatingTaskDecorator for propagating trace context over thread boundaries [#&#8203;48052](https://github.com/spring-projects/spring-boot/issues/48052) - Use since attribute in configuration properties deprecation consistently [#&#8203;47980](https://github.com/spring-projects/spring-boot/pull/47980) - BootstrapContext#getOrElseThrow has incorrect reference to IllegalStateException [#&#8203;47905](https://github.com/spring-projects/spring-boot/issues/47905) - Clarify when BootstrapContext get methods may return null rather than throwing an exception or calling the fallback supplier [#&#8203;47898](https://github.com/spring-projects/spring-boot/issues/47898) - Document that Actuator endpoint may have at most one extension of each type [#&#8203;47873](https://github.com/spring-projects/spring-boot/issues/47873) - Limit Kotlin API documentation to Kotlin-specific APIs [#&#8203;47859](https://github.com/spring-projects/spring-boot/issues/47859) - Adapt AOTCache documentation to JEP 514 [#&#8203;47274](https://github.com/spring-projects/spring-boot/issues/47274) #### :hammer: Dependency Upgrades - Downgrade to Cassandra Driver 4.19.0 [#&#8203;47926](https://github.com/spring-projects/spring-boot/issues/47926) - Upgrade to AspectJ 1.9.25 [#&#8203;48005](https://github.com/spring-projects/spring-boot/issues/48005) - Upgrade to Caffeine 3.2.3 [#&#8203;48006](https://github.com/spring-projects/spring-boot/issues/48006) - Upgrade to Cassandra Driver 4.19.2 [#&#8203;48183](https://github.com/spring-projects/spring-boot/issues/48183) - Upgrade to DB2 JDBC 12.1.3.0 [#&#8203;48083](https://github.com/spring-projects/spring-boot/issues/48083) - Upgrade to Hibernate 6.6.36.Final [#&#8203;48148](https://github.com/spring-projects/spring-boot/issues/48148) - Upgrade to Jackson Bom 2.19.4 [#&#8203;48008](https://github.com/spring-projects/spring-boot/issues/48008) - Upgrade to Jetty 12.0.30 [#&#8203;48118](https://github.com/spring-projects/spring-boot/issues/48118) - Upgrade to Jetty Reactive HTTPClient 4.0.13 [#&#8203;48149](https://github.com/spring-projects/spring-boot/issues/48149) - Upgrade to jOOQ 3.19.28 [#&#8203;48084](https://github.com/spring-projects/spring-boot/issues/48084) - Upgrade to Logback 1.5.21 [#&#8203;48085](https://github.com/spring-projects/spring-boot/issues/48085) - Upgrade to Micrometer 1.15.6 [#&#8203;48009](https://github.com/spring-projects/spring-boot/issues/48009) - Upgrade to Micrometer Tracing 1.5.6 [#&#8203;48010](https://github.com/spring-projects/spring-boot/issues/48010) - Upgrade to MySQL 9.5.0 [#&#8203;48011](https://github.com/spring-projects/spring-boot/issues/48011) - Upgrade to Neo4j Java Driver 5.28.10 [#&#8203;48044](https://github.com/spring-projects/spring-boot/issues/48044) - Upgrade to Quartz 2.5.1 [#&#8203;48012](https://github.com/spring-projects/spring-boot/issues/48012) - Upgrade to R2DBC Postgresql 1.0.9.RELEASE [#&#8203;48013](https://github.com/spring-projects/spring-boot/issues/48013) - Upgrade to Reactor Bom 2024.0.12 [#&#8203;48014](https://github.com/spring-projects/spring-boot/issues/48014) - Upgrade to Spring Data Bom 2025.0.6 [#&#8203;48039](https://github.com/spring-projects/spring-boot/issues/48039) - Upgrade to Spring Framework 6.2.14 [#&#8203;48166](https://github.com/spring-projects/spring-boot/issues/48166) - Upgrade to Spring Integration 6.5.4 [#&#8203;48040](https://github.com/spring-projects/spring-boot/issues/48040) - Upgrade to Spring Kafka 3.3.11 [#&#8203;48041](https://github.com/spring-projects/spring-boot/issues/48041) - Upgrade to Spring Pulsar 1.2.12 [#&#8203;48042](https://github.com/spring-projects/spring-boot/issues/48042) - Upgrade to Spring Security 6.5.7 [#&#8203;48043](https://github.com/spring-projects/spring-boot/issues/48043) - Upgrade to Tomcat 10.1.49 [#&#8203;48086](https://github.com/spring-projects/spring-boot/issues/48086) #### :heart: Contributors Thank you to all the contributors who worked on this release: [@&#8203;K-jun98](https://github.com/K-jun98), [@&#8203;TerryTaoYY](https://github.com/TerryTaoYY), [@&#8203;hojooo](https://github.com/hojooo), [@&#8203;linw-bai](https://github.com/linw-bai), [@&#8203;mipo256](https://github.com/mipo256), [@&#8203;namest504](https://github.com/namest504), [@&#8203;ngocnhan-tran1996](https://github.com/ngocnhan-tran1996), [@&#8203;nosan](https://github.com/nosan), [@&#8203;scottfrederick](https://github.com/scottfrederick), [@&#8203;siva-sai-udaygiri](https://github.com/siva-sai-udaygiri), [@&#8203;tschut](https://github.com/tschut), and [@&#8203;vpavic](https://github.com/vpavic) ### [`v3.5.7`](https://github.com/spring-projects/spring-boot/releases/tag/v3.5.7) [Compare Source](https://github.com/spring-projects/spring-boot/compare/v3.5.6...v3.5.7) #### :star: New Features - Add TWENTY\_FIVE to JavaVersion enum [#&#8203;47609](https://github.com/spring-projects/spring-boot/issues/47609) #### :lady\_beetle: Bug Fixes - Signed jar verification fails when nested in an uber war running on an Oracle JVM [#&#8203;47771](https://github.com/spring-projects/spring-boot/issues/47771) - In an uber war, value of the Sbom-Location manifest attribute does not match the SBOM's actual location [#&#8203;47737](https://github.com/spring-projects/spring-boot/issues/47737) - Homebrew formula for the CLI should use libexec [#&#8203;47722](https://github.com/spring-projects/spring-boot/issues/47722) - When virtual threads are enabled, embedded Jetty does not use recommended virtual thread configuration [#&#8203;47717](https://github.com/spring-projects/spring-boot/issues/47717) - ClientHttpRequestFactoryRuntimeHints is missing timeout methods with Duration overloads [#&#8203;47678](https://github.com/spring-projects/spring-boot/issues/47678) - OnBeanCondition no longer correctly finds annotations on scoped target proxy beans [#&#8203;47635](https://github.com/spring-projects/spring-boot/issues/47635) - JavaVersion doesn't work reliably in native-image [#&#8203;47620](https://github.com/spring-projects/spring-boot/issues/47620) - LiquibaseEndpoint always uses defaultSchema instead of liquibaseSchema [#&#8203;47346](https://github.com/spring-projects/spring-boot/issues/47346) - Launcher fails to find main method when it is parameterless [#&#8203;47311](https://github.com/spring-projects/spring-boot/issues/47311) - Package private Main class using Java 25 is not found by build plugins [#&#8203;47309](https://github.com/spring-projects/spring-boot/issues/47309) - Bitnami legacy images are not automatically detected [#&#8203;47275](https://github.com/spring-projects/spring-boot/issues/47275) - Maven plugin does not provide an easy way to exclude optional dependencies from uber jar [#&#8203;25403](https://github.com/spring-projects/spring-boot/issues/25403) #### :notebook\_with\_decorative\_cover: Documentation - Some spring.test.\* properties are not documented [#&#8203;47775](https://github.com/spring-projects/spring-boot/issues/47775) - Dependency management for Maven AntRun Plugin is missing changelog link [#&#8203;47744](https://github.com/spring-projects/spring-boot/issues/47744) - Developing Your First Spring Boot Application has outdated tools [#&#8203;47700](https://github.com/spring-projects/spring-boot/issues/47700) - Include deprecated configuration properties in the reference documentation [#&#8203;47669](https://github.com/spring-projects/spring-boot/issues/47669) - Aggregated Javadoc should link to the proper version of JakartaEE [#&#8203;47593](https://github.com/spring-projects/spring-boot/issues/47593) - Update javadoc of TestRestTemplate following change to redirect behavior [#&#8203;47474](https://github.com/spring-projects/spring-boot/issues/47474) - Use non-deprecated syntax to configure sourceCompatibility [#&#8203;47343](https://github.com/spring-projects/spring-boot/issues/47343) - Fix link to Framework's `@Bean` annotation [#&#8203;47330](https://github.com/spring-projects/spring-boot/issues/47330) - Update managed dependency version override examples in documentation [#&#8203;47306](https://github.com/spring-projects/spring-boot/issues/47306) #### :hammer: Dependency Upgrades - Upgrade to ActiveMQ 6.1.8 [#&#8203;47767](https://github.com/spring-projects/spring-boot/issues/47767) - Upgrade to Angus Mail 2.0.5 [#&#8203;47525](https://github.com/spring-projects/spring-boot/issues/47525) - Upgrade to AssertJ 3.27.6 [#&#8203;47526](https://github.com/spring-projects/spring-boot/issues/47526) - Upgrade to Byte Buddy 1.17.8 [#&#8203;47527](https://github.com/spring-projects/spring-boot/issues/47527) - Upgrade to Cassandra Driver 4.19.1 [#&#8203;47768](https://github.com/spring-projects/spring-boot/issues/47768) - Upgrade to Classmate 1.7.1 [#&#8203;47528](https://github.com/spring-projects/spring-boot/issues/47528) - Upgrade to Elasticsearch Client 8.18.8 [#&#8203;47671](https://github.com/spring-projects/spring-boot/issues/47671) - Upgrade to Glassfish JAXB 4.0.6 [#&#8203;47529](https://github.com/spring-projects/spring-boot/issues/47529) - Upgrade to GraphQL Java 24.3 [#&#8203;47755](https://github.com/spring-projects/spring-boot/issues/47755) - Upgrade to Groovy 4.0.29 [#&#8203;47713](https://github.com/spring-projects/spring-boot/issues/47713) - Upgrade to Hibernate 6.6.33.Final [#&#8203;47530](https://github.com/spring-projects/spring-boot/issues/47530) - Upgrade to HttpClient5 5.5.1 [#&#8203;47531](https://github.com/spring-projects/spring-boot/issues/47531) - Upgrade to HttpCore5 5.3.6 [#&#8203;47532](https://github.com/spring-projects/spring-boot/issues/47532) - Upgrade to Jakarta Mail 2.1.5 [#&#8203;47533](https://github.com/spring-projects/spring-boot/issues/47533) - Upgrade to Jakarta XML Bind 4.0.4 [#&#8203;47242](https://github.com/spring-projects/spring-boot/issues/47242) - Upgrade to Jetty 12.0.29 [#&#8203;47728](https://github.com/spring-projects/spring-boot/issues/47728) - Upgrade to Jetty Reactive HTTPClient 4.0.12 [#&#8203;47534](https://github.com/spring-projects/spring-boot/issues/47534) - Upgrade to jOOQ 3.19.27 [#&#8203;47536](https://github.com/spring-projects/spring-boot/issues/47536) - Upgrade to Logback 1.5.20 [#&#8203;47714](https://github.com/spring-projects/spring-boot/issues/47714) - Upgrade to Lombok 1.18.42 [#&#8203;47538](https://github.com/spring-projects/spring-boot/issues/47538) - Upgrade to Maven Compiler Plugin 3.14.1 [#&#8203;47539](https://github.com/spring-projects/spring-boot/issues/47539) - Upgrade to Micrometer 1.15.5 [#&#8203;47457](https://github.com/spring-projects/spring-boot/issues/47457) - Upgrade to Micrometer Tracing 1.5.5 [#&#8203;47458](https://github.com/spring-projects/spring-boot/issues/47458) - Upgrade to MongoDB 5.5.2 [#&#8203;47648](https://github.com/spring-projects/spring-boot/issues/47648) - Upgrade to MSSQL JDBC 12.10.2.jre11 [#&#8203;47612](https://github.com/spring-projects/spring-boot/issues/47612) - Upgrade to Netty 4.1.128.Final [#&#8203;47649](https://github.com/spring-projects/spring-boot/issues/47649) - Upgrade to Postgresql 42.7.8 [#&#8203;47540](https://github.com/spring-projects/spring-boot/issues/47540) - Upgrade to Pulsar 4.0.7 [#&#8203;47541](https://github.com/spring-projects/spring-boot/issues/47541) - Upgrade to R2DBC H2 1.0.1.RELEASE [#&#8203;47729](https://github.com/spring-projects/spring-boot/issues/47729) - Upgrade to R2DBC Postgresql 1.0.8.RELEASE [#&#8203;47542](https://github.com/spring-projects/spring-boot/issues/47542) - Upgrade to Reactor Bom 2024.0.11 [#&#8203;47459](https://github.com/spring-projects/spring-boot/issues/47459) - Upgrade to RxJava3 3.1.12 [#&#8203;47543](https://github.com/spring-projects/spring-boot/issues/47543) - Upgrade to Spring AMQP 3.2.8 [#&#8203;47614](https://github.com/spring-projects/spring-boot/issues/47614) - Upgrade to Spring Authorization Server 1.5.3 [#&#8203;47460](https://github.com/spring-projects/spring-boot/issues/47460) - Upgrade to Spring Batch 5.2.4 [#&#8203;47487](https://github.com/spring-projects/spring-boot/issues/47487) - Upgrade to Spring Data Bom 2025.0.5 [#&#8203;47461](https://github.com/spring-projects/spring-boot/issues/47461) - Upgrade to Spring Framework 6.2.12 [#&#8203;47462](https://github.com/spring-projects/spring-boot/issues/47462) - Upgrade to Spring GraphQL 1.4.3 [#&#8203;47754](https://github.com/spring-projects/spring-boot/issues/47754) - Upgrade to Spring Integration 6.5.3 [#&#8203;47615](https://github.com/spring-projects/spring-boot/issues/47615) - Upgrade to Spring LDAP 3.3.4 [#&#8203;47463](https://github.com/spring-projects/spring-boot/issues/47463) - Upgrade to Spring Pulsar 1.2.11 [#&#8203;47464](https://github.com/spring-projects/spring-boot/issues/47464) - Upgrade to Spring Security 6.5.6 [#&#8203;47465](https://github.com/spring-projects/spring-boot/issues/47465) - Upgrade to Spring Session 3.5.3 [#&#8203;47466](https://github.com/spring-projects/spring-boot/issues/47466) - Upgrade to Spring WS 4.1.2 [#&#8203;47467](https://github.com/spring-projects/spring-boot/issues/47467) - Upgrade to Tomcat 10.1.48 [#&#8203;47613](https://github.com/spring-projects/spring-boot/issues/47613) - Upgrade to Undertow 2.3.20.Final [#&#8203;47545](https://github.com/spring-projects/spring-boot/issues/47545) - Upgrade to WebJars Locator Lite 1.1.2 [#&#8203;47546](https://github.com/spring-projects/spring-boot/issues/47546) #### :heart: Contributors Thank you to all the contributors who worked on this release: [@&#8203;DKARAGODIN](https://github.com/DKARAGODIN), [@&#8203;JinhyeokFang](https://github.com/JinhyeokFang), [@&#8203;Lublanski](https://github.com/Lublanski), [@&#8203;Pankraz76](https://github.com/Pankraz76), [@&#8203;fhiyo](https://github.com/fhiyo), [@&#8203;ngocnhan-tran1996](https://github.com/ngocnhan-tran1996), [@&#8203;nosan](https://github.com/nosan), [@&#8203;scottfrederick](https://github.com/scottfrederick), and [@&#8203;xyraclius](https://github.com/xyraclius) ### [`v3.5.6`](https://github.com/spring-projects/spring-boot/releases/tag/v3.5.6) [Compare Source](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6) #### :lady\_beetle: Bug Fixes - Quoted -D arguments break system property resolution on Linux with Spring AOT [#&#8203;47166](https://github.com/spring-projects/spring-boot/issues/47166) - Groovy Templates fails with an NPE when rendering an auto new line [#&#8203;47139](https://github.com/spring-projects/spring-boot/issues/47139) - available() does not behave correctly when reading stored entries from a NestedJarFile [#&#8203;47057](https://github.com/spring-projects/spring-boot/issues/47057) - spring-boot-docker-compose doesn't create service connections when image has registry host but not project [#&#8203;47019](https://github.com/spring-projects/spring-boot/issues/47019) - Flyway Ignore Migration Patterns setting can't be set to an empty string [#&#8203;47013](https://github.com/spring-projects/spring-boot/issues/47013) #### :notebook\_with\_decorative\_cover: Documentation - Default value of server.tomcat.resource.cache-ttl is not documented [#&#8203;47253](https://github.com/spring-projects/spring-boot/issues/47253) - Document Java 25 support [#&#8203;47245](https://github.com/spring-projects/spring-boot/issues/47245) - Fix links to Flyway reference documentation [#&#8203;46988](https://github.com/spring-projects/spring-boot/issues/46988) - Clarify Javadoc of Customizer interfaces about overriding behavior [#&#8203;46942](https://github.com/spring-projects/spring-boot/issues/46942) #### :hammer: Dependency Upgrades - Upgrade to Ehcache3 3.10.9 [#&#8203;47106](https://github.com/spring-projects/spring-boot/issues/47106) - Upgrade to Elasticsearch Client 8.18.6 [#&#8203;47094](https://github.com/spring-projects/spring-boot/issues/47094) - Upgrade to Gson 2.13.2 [#&#8203;47158](https://github.com/spring-projects/spring-boot/issues/47158) - Upgrade to Hibernate 6.6.29.Final [#&#8203;47216](https://github.com/spring-projects/spring-boot/issues/47216) - Upgrade to HikariCP 6.3.3 [#&#8203;47187](https://github.com/spring-projects/spring-boot/issues/47187) - Upgrade to HttpCore5 5.3.5 [#&#8203;47108](https://github.com/spring-projects/spring-boot/issues/47108) - Upgrade to Infinispan 15.2.6.Final [#&#8203;47109](https://github.com/spring-projects/spring-boot/issues/47109) - Upgrade to Jakarta Activation 2.1.4 [#&#8203;47188](https://github.com/spring-projects/spring-boot/issues/47188) - Upgrade to Jakarta Mail 2.1.4 [#&#8203;47110](https://github.com/spring-projects/spring-boot/issues/47110) - Upgrade to Jaybird 6.0.3 [#&#8203;47111](https://github.com/spring-projects/spring-boot/issues/47111) - Upgrade to Jetty 12.0.27 [#&#8203;47159](https://github.com/spring-projects/spring-boot/issues/47159) - Upgrade to jOOQ 3.19.26 [#&#8203;47160](https://github.com/spring-projects/spring-boot/issues/47160) - Upgrade to Lombok 1.18.40 [#&#8203;47113](https://github.com/spring-projects/spring-boot/issues/47113) - Upgrade to MariaDB 3.5.6 [#&#8203;47189](https://github.com/spring-projects/spring-boot/issues/47189) - Upgrade to Maven Failsafe Plugin 3.5.4 [#&#8203;47190](https://github.com/spring-projects/spring-boot/issues/47190) - Upgrade to Maven Shade Plugin 3.6.1 [#&#8203;47191](https://github.com/spring-projects/spring-boot/issues/47191) - Upgrade to Maven Surefire Plugin 3.5.4 [#&#8203;47192](https://github.com/spring-projects/spring-boot/issues/47192) - Upgrade to Micrometer 1.15.4 [#&#8203;47083](https://github.com/spring-projects/spring-boot/issues/47083) - Upgrade to Micrometer Tracing 1.5.4 [#&#8203;47084](https://github.com/spring-projects/spring-boot/issues/47084) - Upgrade to Netty 4.1.127.Final [#&#8203;47127](https://github.com/spring-projects/spring-boot/issues/47127) - Upgrade to R2DBC MSSQL 1.0.3.RELEASE [#&#8203;47193](https://github.com/spring-projects/spring-boot/issues/47193) - Upgrade to Reactor Bom 2024.0.10 [#&#8203;47085](https://github.com/spring-projects/spring-boot/issues/47085) - Upgrade to Spring AMQP 3.2.7 [#&#8203;47086](https://github.com/spring-projects/spring-boot/issues/47086) - Upgrade to Spring Batch 5.2.3 [#&#8203;47087](https://github.com/spring-projects/spring-boot/issues/47087) - Upgrade to Spring Data Bom 2025.0.4 [#&#8203;47088](https://github.com/spring-projects/spring-boot/issues/47088) - Upgrade to Spring Framework 6.2.11 [#&#8203;47089](https://github.com/spring-projects/spring-boot/issues/47089) - Upgrade to Spring GraphQL 1.4.2 [#&#8203;47090](https://github.com/spring-projects/spring-boot/issues/47090) - Upgrade to Spring Integration 6.5.2 [#&#8203;47091](https://github.com/spring-projects/spring-boot/issues/47091) - Upgrade to Spring Kafka 3.3.10 [#&#8203;47092](https://github.com/spring-projects/spring-boot/issues/47092) - Upgrade to Spring Pulsar 1.2.10 [#&#8203;47093](https://github.com/spring-projects/spring-boot/issues/47093) - Upgrade to Spring Security 6.5.5 [#&#8203;47257](https://github.com/spring-projects/spring-boot/issues/47257) - Upgrade to Tomcat 10.1.46 [#&#8203;47194](https://github.com/spring-projects/spring-boot/issues/47194) - Upgrade to Undertow 2.3.19.Final [#&#8203;47115](https://github.com/spring-projects/spring-boot/issues/47115) - Upgrade to XmlUnit2 2.10.4 [#&#8203;47243](https://github.com/spring-projects/spring-boot/issues/47243) #### :heart: Contributors Thank you to all the contributors who worked on this release: [@&#8203;Chanwon-Seo](https://github.com/Chanwon-Seo), [@&#8203;doljae](https://github.com/doljae), [@&#8203;izeye](https://github.com/izeye), and [@&#8203;quaff](https://github.com/quaff) ### [`v3.5.5`](https://github.com/spring-projects/spring-boot/releases/tag/v3.5.5) [Compare Source](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5) #### :lady\_beetle: Bug Fixes - Hazelcast health indicator reports the wrong status when Hazelcast has shut down due to an out-of-memory error [#&#8203;46909](https://github.com/spring-projects/spring-boot/issues/46909) - Performance critical tracing code has high overhead due to the use of the Stream API [#&#8203;46844](https://github.com/spring-projects/spring-boot/issues/46844) - SpringLiquibaseCustomizer is exposed outside its defined visibility scope [#&#8203;46758](https://github.com/spring-projects/spring-boot/issues/46758) - Race condition in OutputCapture can result in stale data [#&#8203;46721](https://github.com/spring-projects/spring-boot/issues/46721) - Auto-configured WebClient no longer uses context's ReactorResourceFactory [#&#8203;46673](https://github.com/spring-projects/spring-boot/pull/46673) - Default value not detected for a field annoted with `@Name` [#&#8203;46666](https://github.com/spring-projects/spring-boot/issues/46666) - Missing metadata when using `@Name` with a constructor-bound property [#&#8203;46663](https://github.com/spring-projects/spring-boot/issues/46663) - Missing property for Spring Authorization Server's PAR endpoint [#&#8203;46641](https://github.com/spring-projects/spring-boot/pull/46641) - Property name is incorrect when reporting a mis-configured OAuth 2 Resource Server JWT public key location [#&#8203;46636](https://github.com/spring-projects/spring-boot/issues/46636) - Memory not freed on context restart in JpaMetamodel#CACHE with spring.main.lazy-initialization=true [#&#8203;46634](https://github.com/spring-projects/spring-boot/issues/46634) - Auto-configured MockMvc ignores `@FilterRegistration` annotation [#&#8203;46605](https://github.com/spring-projects/spring-boot/pull/46605) - Failure to discover default value for a primitive should not lead to document its default value [#&#8203;46561](https://github.com/spring-projects/spring-boot/issues/46561) #### :notebook\_with\_decorative\_cover: Documentation - Kotlin samples for configuration metadata are in the wrong package [#&#8203;46857](https://github.com/spring-projects/spring-boot/issues/46857) - Observability examples in the reference guide are missing the Kotlin version [#&#8203;46798](https://github.com/spring-projects/spring-boot/issues/46798) - Align method descriptions for SslOptions getCiphers and getEnabledProtocols with `@returns` [#&#8203;46769](https://github.com/spring-projects/spring-boot/issues/46769) - Tracing samples in the reference guide are missing the Kotlin version [#&#8203;46767](https://github.com/spring-projects/spring-boot/issues/46767) - Improve Virtual Threads section to mention the changes in Java 24 [#&#8203;46610](https://github.com/spring-projects/spring-boot/issues/46610) - spring.test.webtestclient.timeout is not documented [#&#8203;46588](https://github.com/spring-projects/spring-boot/issues/46588) - spring-boot-test-autoconfigure should use the configuration properties annotation processor like other modules [#&#8203;46585](https://github.com/spring-projects/spring-boot/issues/46585) - Adapt deprecation level for management.health.influxdb.enabled [#&#8203;46580](https://github.com/spring-projects/spring-boot/issues/46580) - spring.test.mockmvc properties are not documented [#&#8203;46578](https://github.com/spring-projects/spring-boot/issues/46578) #### :hammer: Dependency Upgrades - Upgrade to Angus Mail 2.0.4 [#&#8203;46725](https://github.com/spring-projects/spring-boot/issues/46725) - Upgrade to AssertJ 3.27.4 [#&#8203;46726](https://github.com/spring-projects/spring-boot/issues/46726) - Upgrade to Byte Buddy 1.17.7 [#&#8203;46883](https://github.com/spring-projects/spring-boot/issues/46883) - Upgrade to Couchbase Client 3.8.3 [#&#8203;46794](https://github.com/spring-projects/spring-boot/issues/46794) - Upgrade to Elasticsearch Client 8.18.5 [#&#8203;46830](https://github.com/spring-projects/spring-boot/issues/46830) - Upgrade to Hibernate 6.6.26.Final [#&#8203;46884](https://github.com/spring-projects/spring-boot/issues/46884) - Upgrade to Hibernate Validator 8.0.3.Final [#&#8203;46728](https://github.com/spring-projects/spring-boot/issues/46728) - Upgrade to HikariCP 6.3.2 [#&#8203;46729](https://github.com/spring-projects/spring-boot/issues/46729) - Upgrade to Jersey 3.1.11 [#&#8203;46730](https://github.com/spring-projects/spring-boot/issues/46730) - Upgrade to Jetty 12.0.25 [#&#8203;46831](https://github.com/spring-projects/spring-boot/issues/46831) - Upgrade to Jetty Reactive HTTPClient 4.0.11 [#&#8203;46885](https://github.com/spring-projects/spring-boot/issues/46885) - Upgrade to jOOQ 3.19.25 [#&#8203;46808](https://github.com/spring-projects/spring-boot/issues/46808) - Upgrade to MariaDB 3.5.5 [#&#8203;46779](https://github.com/spring-projects/spring-boot/issues/46779) - Upgrade to Maven Javadoc Plugin 3.11.3 [#&#8203;46886](https://github.com/spring-projects/spring-boot/issues/46886) - Upgrade to Micrometer 1.15.3 [#&#8203;46701](https://github.com/spring-projects/spring-boot/issues/46701) - Upgrade to Micrometer Tracing 1.5.3 [#&#8203;46702](https://github.com/spring-projects/spring-boot/issues/46702) - Upgrade to MySQL 9.4.0 [#&#8203;46732](https://github.com/spring-projects/spring-boot/issues/46732) - Upgrade to Netty 4.1.124.Final [#&#8203;46832](https://github.com/spring-projects/spring-boot/issues/46832) - Upgrade to Pulsar 4.0.6 [#&#8203;46733](https://github.com/spring-projects/spring-boot/issues/46733) - Upgrade to Reactor Bom 2024.0.9 [#&#8203;46703](https://github.com/spring-projects/spring-boot/issues/46703) - Upgrade to REST Assured 5.5.6 [#&#8203;46849](https://github.com/spring-projects/spring-boot/issues/46849) - Upgrade to Spring Authorization Server 1.5.2 [#&#8203;46704](https://github.com/spring-projects/spring-boot/issues/46704) - Upgrade to Spring Data Bom 2025.0.3 [#&#8203;46705](https://github.com/spring-projects/spring-boot/issues/46705) - Upgrade to Spring Framework 6.2.10 [#&#8203;46706](https://github.com/spring-projects/spring-boot/issues/46706) - Upgrade to Spring Kafka 3.3.9 [#&#8203;46871](https://github.com/spring-projects/spring-boot/issues/46871) - Upgrade to Spring LDAP 3.3.3 [#&#8203;46707](https://github.com/spring-projects/spring-boot/issues/46707) - Upgrade to Spring Pulsar 1.2.9 [#&#8203;46708](https://github.com/spring-projects/spring-boot/issues/46708) - Upgrade to Spring RESTDocs 3.0.5 [#&#8203;46920](https://github.com/spring-projects/spring-boot/issues/46920) - Upgrade to Spring Security 6.5.3 [#&#8203;46709](https://github.com/spring-projects/spring-boot/issues/46709) - Upgrade to Spring Session 3.5.2 [#&#8203;46710](https://github.com/spring-projects/spring-boot/issues/46710) - Upgrade to Tomcat 10.1.44 [#&#8203;46734](https://github.com/spring-projects/spring-boot/issues/46734) #### :heart: Contributors Thank you to all the contributors who worked on this release: [@&#8203;Kguswo](https://github.com/Kguswo), [@&#8203;deejay1](https://github.com/deejay1), [@&#8203;ganjisriver](https://github.com/ganjisriver), [@&#8203;izeye](https://github.com/izeye), [@&#8203;jetflo](https://github.com/jetflo), [@&#8203;ngocnhan-tran1996](https://github.com/ngocnhan-tran1996), [@&#8203;nicolasgarea](https://github.com/nicolasgarea), [@&#8203;nosan](https://github.com/nosan), [@&#8203;prishedko](https://github.com/prishedko), [@&#8203;quaff](https://github.com/quaff), [@&#8203;schmidti159](https://github.com/schmidti159), [@&#8203;scordio](https://github.com/scordio), [@&#8203;shakuzen](https://github.com/shakuzen), [@&#8203;tommyk-gears](https://github.com/tommyk-gears), [@&#8203;zahra7](https://github.com/zahra7), and [@&#8203;zakaria-shahen](https://github.com/zakaria-shahen) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS40Ni4zIiwidXBkYXRlZEluVmVyIjoiNDIuNjQuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->
renovate-bot scheduled this pull request to auto merge when all checks succeed 2025-08-22 01:07:57 +00:00
renovate-bot force-pushed renovate/all from d3b1a00a80
Some checks failed
/ release (pull_request) Failing after 14s
to d16a1b6839
Some checks failed
/ release (pull_request) Failing after 13s
2025-09-11 01:08:26 +00:00
Compare
renovate-bot force-pushed renovate/all from d16a1b6839
Some checks failed
/ release (pull_request) Failing after 13s
to d425befc58
Some checks failed
/ release (pull_request) Failing after 13s
2025-09-19 01:07:40 +00:00
Compare
renovate-bot force-pushed renovate/all from d425befc58
Some checks failed
/ release (pull_request) Failing after 13s
to 455380eb5b
Some checks failed
/ release (pull_request) Failing after 13s
2025-10-24 01:08:01 +00:00
Compare
renovate-bot force-pushed renovate/all from 455380eb5b
Some checks failed
/ release (pull_request) Failing after 13s
to bcd15a4476
Some checks failed
/ release (pull_request) Failing after 11s
2025-11-21 01:06:43 +00:00
Compare
renovate-bot force-pushed renovate/all from bcd15a4476
Some checks failed
/ release (pull_request) Failing after 11s
to 2b6bf0118e
All checks were successful
/ release (pull_request) Successful in 1m10s
2025-11-29 01:06:52 +00:00
Compare
renovate-bot force-pushed renovate/all from 2b6bf0118e
All checks were successful
/ release (pull_request) Successful in 1m10s
to e3cfca0556
All checks were successful
/ release (pull_request) Successful in 1m2s
2025-12-17 01:07:20 +00:00
Compare
renovate-bot force-pushed renovate/all from e3cfca0556
All checks were successful
/ release (pull_request) Successful in 1m2s
to 5808345026
All checks were successful
/ release (pull_request) Successful in 1m2s
2025-12-19 01:07:17 +00:00
Compare
christian.keller deleted branch renovate/all 2025-12-29 07:01:00 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
DenktMit-OSS/lt-parent!6
No description provided.