tree 0ede1461f1fb52698fe595b077d2966c9093247c
parent af047ff8cf944cbc615e21f105781e48c2bb2a18
parent 55389e499f905e52e544dcaff9f51ecdfcb48056
author Marge Bot <marge@benkard.de> 1703874680 +0000
committer Marge Bot <marge@benkard.de> 1703874680 +0000

fix(deps): update dependency org.jetbrains.kotlin:kotlin-annotations-jvm to v1.9.22 (mulk/mulkcms2!50)

This MR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [org.jetbrains.kotlin:kotlin-annotations-jvm](https://kotlinlang.org/) ([source](https://github.com/JetBrains/kotlin)) | provided | patch | `1.9.21` -> `1.9.22` |

---

### Release Notes

<details>
<summary>JetBrains/kotlin</summary>

### [`v1.9.22`](https://github.com/JetBrains/kotlin/blob/HEAD/ChangeLog.md#&#8203;1922)

[Compare Source](https://github.com/JetBrains/kotlin/compare/v1.9.21...v1.9.22)

##### JavaScript

-   [`KT-63719`](https://youtrack.jetbrains.com/issue/KT-63719) KJS: Test results ignored for ES module kind
-   [`KT-63808`](https://youtrack.jetbrains.com/issue/KT-63808) compileTestDevelopmentExecutableKotlinJs failed in JsIntrinsicTransformers

##### Native

-   [`KT-64139`](https://youtrack.jetbrains.com/issue/KT-64139) Weird bug with while and coroutine in Kotlin Native
-   [`KT-63471`](https://youtrack.jetbrains.com/issue/KT-63471) linkDebugTestIosX64 Failed to build cache: NoSuchFileException bitcode_deps
-   [`KT-63789`](https://youtrack.jetbrains.com/issue/KT-63789) Native: Incremental compilation problem with compose

##### Tools. CLI

-   [`KT-64485`](https://youtrack.jetbrains.com/issue/KT-64485) CLI: cache and optimize parsing of command-line arguments

##### Tools. Gradle

-   [`KT-63990`](https://youtrack.jetbrains.com/issue/KT-63990) "Cannot query the value of property 'buildFlowServiceProperty' because it has no value available" with Isolated Projects

##### Tools. Gradle. Native

-   [`KT-63363`](https://youtrack.jetbrains.com/issue/KT-63363) Kotlin Gradle Plugin: `KotlinNativeHostSpecificMetadataArtifact` breaks configuration cache, implicitly includes output file as configuration cache input
-   [`KT-63742`](https://youtrack.jetbrains.com/issue/KT-63742) Gradle wrongly caches Kotlin/Native compiler flags

##### Tools. JPS

-   [`KT-64305`](https://youtrack.jetbrains.com/issue/KT-64305) Kotlin JPS builder requests chunk rebuild with graph implementation
-   [`KT-64112`](https://youtrack.jetbrains.com/issue/KT-64112) Avoid using IJ's JPS mappings in Kotlin JPS tests
-   [`KT-63799`](https://youtrack.jetbrains.com/issue/KT-63799) Make plugin classpath serialization path agnostic

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

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

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yNC4wIiwidXBkYXRlZEluVmVyIjoiMzQuMjQuMCJ9-->