## JetBrains/kotlin — v2.4.21-RC…v2.5.0-Beta1

_3131+ commits._

### Features
- **Add changelog for 2.5.0-Beta1** (ae393a2)
- **[Tests] Support Regex in `CliProcessUtils` assertions** (2bd9a48)
- **Java Direct: introduce failing test for KT-89325** (ab1c182)
- **[Gradle] Add state getter for Idea Browser Debug Session** (345d999)
- **[Gradle] Add ability pass http server explicitly for IDE session** (08b3a1c)
- **[Gradle] Add diagnostic that prevents from running debugger on firefox test runners** (5340d76)
- **[Gradle] Add support for JS Browser debugging with IDEA** (aa633e7)
- **[Gradle] Add browserDataDir for PlaywrightTestRunner** (7d2404c)
- **[Gradle] Add kotlin-gradle-plugin-idea-browser-debug module** (d575d37)
- **[stdlib] Document that put and add keep the stored key or element (#7643)** (87177df)
- **Revert "[CLI] Add `-Xequality-bounds` flag for "strict equals" feature"** (86cfea0)
- **[FIR] Introduce a method for clearing caches inside symbol providers** (68ebb9f)
- **Tests: Add tests for inline scopes with inline calls in default values** (158113b)
- **[stdlib] Introduce Boolean.onTrue()/onFalse() and ifOrNull()** (a7e2261)
- **[Tests] Add `TestPropertiesTest` to ensure test properties are synced** (c82793c)
- **Klib Loading: Introduce a min-ABI version restriction in KlibLoader** (3269c42)
- **Add `-Xallow-pre-17-runtime-jdk` compiler option** (33dd9c2)
- **[Tests] Add a test for `-Werror` with unknown extra flag** (4d337fa)
- **[Tests] Add test data for KT-49791** (a325a6a)
- **[FIR] Support coercion between builtins and numeric classes** (fcc987d)
- **[FIR] Add `withReplace` to `returnExpression` and `variableAssignment`** (797855d)
- **[FIR] Add `FirNumericClassConversion` FIR node** (c2d0554)
- **[Build] Introduce checked Quality Gates** (6404576)
- **[Analysis API] Add various tests on unresolved annotation** (c227d78)
- **[BTA] Add clarification to applyCommandLineArguments KDoc about versions** (1df278c)
- **[BTA] Add automatic deprecation cycle for `applyArgumentStrings` method** (ed32e05)
- **[BTA] Introduce `applyCommandLineArguments` method** (1e2d698)
- **Add test coverage collection for KGP integration tests** (71b6bec)
- **Add code coverage collection for KGP functional tests** (844077e)
- **[Analysis API] add contracts to resolution utilities** (413379d)

### Fixes
- **Reflection: fix NoSuchElementException in ConvertFromJava.kt** (eefcf5c)
- **fixup! [FIR] Fix type of callable reference in delegated property inside object literal** (d21ed66)
- **[FIR] Fix type of callable reference in delegated property inside object literal** (6563c5d)
- **Fix parameter traversal in `ComposableLambdaTokenizer.captureInsnCount`** (a1b609c)
- **JVM: Fix inline scope numbers for inline calls in default values** (59d2fb8)
- **[Tests] Add indy SAM conversion regression coverage** (3970276)
- **[Common BE] Fix cast generation for bound receiver of inner class constructor reference** (9a5b1bb)
- **[test] Revert a part of fef631e6 to fix JS test artifact placement** (988e5d9)

### Backend
- **Edit changelog for 2.5.0-Beta1** (c522b83)
- **[2.5.0-Beta1] [Wasm] serialize and deserialize equivalentTypes KT-89418, KT-89474 (#8257)** (a32dec9)
- **[Gradle] Working dir with @TempDir may not be set when all tests are skipped** (d416576)
- **[Gradle] cleanup working dir leniently for JS Browser Debug tests** (def89b2)
- **[Tests] Accept changes in `KaptToolIntegrationTestGenerated`** (c9cead1)
- **Deprecate runtime JDK<17 and implement `-Xallow-pre-17-runtime-jdk`** (7ba95cc)
- **[Tests] Run `KotlinLoggerCustomRendererTest` with JDK 17 instead of 8** (95db30a)
- **[Tests] Run `LocalClassesTest` with JDK 17 instead of 8** (0005f25)
- **[Tests] Run `CachingTest` with JDK 17** (be1dea6)
- **[Tests] Run `PluginCliTestsGenerated` with JDK 17** (f0c0abf)
- **[Tests] Run `NativeCliTestGenerated` with JDK 17 instead of 11** (89a443d)
- **[Tests] Run `LauncherScriptTest` tests using JDK 17 instead of JDK 8** (57152c4)
- **[Tests] Run `ScriptingWithCliCompilerTest` with JDK 17** (251dfe0)
- **[Tests] Run `ScriptingLauncherTest` tests using JDK 17 instead of JDK 8** (f17b6a1)
- **[Tests] Run integration tests using JDK 17** (ab8828f)
- **[Tests] Run CLI tests using JDK 17 instead of JDK 8** (1a2cf94)
- **[FIR] Replace the lambda in a `doLast {}` with an anonymous class object** (6f642e1)
- **[Build] Update verification-metadata.xml** (8d3d9a9)
- **[Build] Drop references to `macos-x86_64` from metadata verification** (283a471)
- **Advance bootstrap to 2.5.0-dev-7307** (493347e)
- **[Gradle] Increase timeout for KotlinNativeDependenciesDownloadIT** (750503d)
- **[Tests] Reproduce #KT-89384** (dfaa094)
- **fixup! [Language] Enable `CollectionLiteralsBasedAnnotationResolution` in 2.5** (e161e23)
- **[Language] Enable `CollectionLiteralsBasedAnnotationResolution` in 2.5** (b0cd027)
- **[KT-86683] Copy mocha assets into the ESM test bundle** (6afda33)
- **[KT-86683] Bump kotlin-web-helpers version to 3.5.3** (abd1f01)
- **[KT-86683] Use npm-installed mocha.js instead HTTP loaded variant in JS Browser test pipeline** (49480cb)
- **[KT-86683] Use npm-installed mocha.js instead HTTP loaded variant in JS Browser test pipeline** (54a0cef)
- **[KT-86683] Use npm-installed mocha.js instead HTTP loaded variant in JS Browser test pipeline** (81e0df5)
- **Java Direct: enable by default in the CLI pipeline** (c837877)
- **Java Direct: resolve a Kotlin class's supertypes on air where needed** (95e2607)
- **[KGP] update tests after x64 apple targets deprecation ^KT-84955** (0a009fe)
- **[Native] after x64 deprecation def files have changed ^KT-84955** (07b2cfd)
- **[Gradle] update testLifecycleTask.dump.txt after fixing conflicts** (01db387)
- **[Gradle] Disable timeouts when debugging tests in browser** (d0a8046)
- **[Gradle] Don't pass runner.timeout for the awaitDebuggerReady** (66b300a)
- **[Gradle] mark reportDiagnostic of UsesKotlinToolingDiagnostics with @InternalKotlinGradlePluginApi** (31ee6ee)
- **[Gradle] Report warning when multiple Chromium runners were declared and debug requested** (38ef292)
- **[Gradle] Implement IdeaKotlinJsBrowserDebugSession shared library** (bb4e437)
- **[Wasm, JS] refactor static initialization check to the following:** (fb79c95)
- **[BTA] Revert adding removed arguments to CommonCompilerArguments** (7a68359)
- **[Tests] Cleanup CLI testdata** (326d398)
- **[CLI] Move `-Xdirect-java-actualization` argument from common to Jvm arguments** (a105e2d)
- **[CLI] Temporary restore `-Xfir-use-lt` flag** (7e55d99)
- **[CLI] Delete a bunch of obsolete compiler arguments** (3341581)
- **[CLI] Delete obsolete language feature flags** (995f35b)
- **[Language] Set `testOnly` for `StrictEquals` to `true`** (c182bb5)
- **[Test] Unmute `AbstractNativeCodegenBoxCoreTest`** (985461a)
- **[Test] Clear frontend caches in `KlibSerializerNativeCliFacade`** (6ffef1f)
- **[Analysis API] remove redundant usage of `pop` utility** (7e99bf1)
- **[Analysis API] remove unused dependencies** (2035d58)
- **[KT-82823] Remove stale targets from the linkage package** (6a44ca4)
- **[KT-82823] Remove stale targets from the linkage package** (f45aac3)
- **[Analysis API] Release KLIB file handles on standalone session disposal** (33ef59d)
- **Switch JaCoCo cli configuration to use named dependency scope** (61be540)
- **[Native] remove macos x64 from crossdist ^KT-84955** (0638aa9)
- **[Wasm] Unmute some coroutines-related tests on the first stage** (ea984b3)
- **[Swift Export] Check for unsupported F-bounded type parameters** (1ca0953)
- **Klib Loading: Show hint on min supported compiler version for legacy KLIBs** (8d22f6f)
- **Klib Loading: Permit loading Klibs only starting from ABI version 1.6.0** (b98be32)
- **[Gradle] Bump minimal supported Gradle version to 8.14** (b47bc0e)
- **[stdlib] Improve the docs of k.AutoCloseable** (5d43575)
- **JVM: Generate non-null assertions for indy anonymous functions** (b05bcab)
- **JVM: Allow box-then-widen adaptation for indy lambdas** (9f97152)
- **JVM: Keep non-null assertions on widened indy lambda parameters** (8447a3f)
- **JVM: Compare erased types for indy lambda adaptation** (6905b6a)
- **JVM: Validate indy lambda adaptation on erased JVM types** (8f9e8be)
- **[JVM] Limit SAM cast unwrapping to JVM** (168ccda)
- **[JVM] Adapt indy lambdas to erased SAM parameter types** (8ba3f18)
- **[Inference] Infer a DNN type for `::class` of unbounded type parameter** (a02a18d)
- **Compiler: drop PreciseSimplificationToFlexibleLowerConstraint exp feature** (e163eee)
- **[Gradle] Export module dependencies to Swift Export (#7915)** (6048ee0)
- **[FIR] Allow numeric class <-> builtins coercion in `return`s** (4ba2c49)
- **[FIR] Allow numeric class <-> builtins coercion in receivers** (cb77bfa)
- **[FIR] Prioritize `foo(NumericClass)` if others aren't applicable** (142d335)
- **[FIR] Allow numeric class <-> builtins coercion in assignments** (aa59534)
- **[Stdlib] Regenerate the ABI dump to remove watchos_arm32** (278343e)
- **[Native] Remove publications of macos_x64 ^KT-84955** (5292dc1)
- **[Native][tests] Update outdated library versions used as dependencies** (66300e5)
- **[Build] Move JVM backend modules from `fe10-for-ide` to `fir-for-ide` artifact** (bfecda7)
- **[Gradle] Test legacy swiftExport DSL compatibility and the DSL conflict** (c1073a4)
- **[Gradle] Deprecate the legacy swiftExport DSL** (2973a45)
- **[Gradle] Report deprecation and swiftExport DSL-conflict diagnostics** (94fdc61)
- **[Gradle] Track whether the legacy swiftExport DSL was configured** (4d98477)
- **[Gradle] Delete KotlinSourceSet.implementationMetadataConfigurationName** (82fb4ea)
- **[Build] Update verification-metadata.xml** (84aae6e)
- **[Analysis API] Do not expose error ClassIds in `KaFirAnnotationListForDeclaration`** (7003f59)
- **[Analysis API] Do not expose error ClassIds for unresolved annotations** (6487c9f)
- **[Light Classes] Explicitly forbid annotations without a ClassId** (f5c05dd)
- **[Light Classes] Do not render an empty string for unresolved annotations in LC tests** (f584c4b)
- **[BTA] Backport parseCommandLineArguments for consistent behavior** (c5a406a)
- **[BTA] Mark applyCommandLineArguments as delicate API** (9b31e2a)
- **[Maven] Migrate away from deprecated `applyArgumentStrings`** (7328a9f)
- **[KGP] Migrate away from deprecated `applyArgumentStrings`** (a82a32b)
- **[K/N] Wire whole-Xcode provisioning into the build** (77df5c5)
- **[stubs] Make KtFileElementType internal** (57a3a32)
- **[stubs] Mark the stub implementations as @KtImplementationDetail** (d94b06b)
- **[stubs] Restrict psi-impl-only stub helpers to internal** (8e9792a)
- **[stubs] Convert KotlinPlaceHolderStubImpl to Kotlin** (e168bab)
- **[stubs] Rename KotlinPlaceHolderStubImpl to .kt** (d7638f2)
- **[stubs] Convert KotlinModifierListStubImpl to Kotlin** (ba3330f)
- **[stubs] Rename KotlinModifierListStubImpl to .kt** (ef9bd7d)
- **[stubs] Convert KotlinTypeProjectionStubImpl to Kotlin** (998bd53)
- **[stubs] Rename KotlinTypeProjectionStubImpl to .kt** (79f21dc)
- **[stubs] Convert KotlinBackingFieldStubImpl to Kotlin** (5843c0e)
- **[stubs] Rename KotlinBackingFieldStubImpl to .kt** (5f63d03)
- **[stubs] Convert KotlinNameReferenceExpressionStubImpl to Kotlin** (eb8c7c9)
- **[stubs] Rename KotlinNameReferenceExpressionStubImpl to .kt** (1b62e6c)
- **Aggregate KGP test coverage data** (7f1b29d)
- **[tests] Update macOS target from macosX64 to macosArm64 in KMP IT** (e204fd0)
- **[K/JS] Remove @deprecated JSDoc from `DeprecationLevel.HIDDEN` declarations** (4d1f6aa)
- **[Tests] KT-86450 JVM Benchmarks setup** (56ece36)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/JetBrains/kotlin?utm_source=github-action)._