tree f957c79add5ea5791d2d2008c188b3a6d5edcb36
parent 0800d89e5134d34dff65429378233e954d5f9746
parent ca48a235891e6709929f52126b2194011d533faf
author Marge Bot <marge@benkard.de> 1727759718 +0000
committer Marge Bot <marge@benkard.de> 1727759718 +0000

Update dependency org.jetbrains:annotations to v25 (mulk/jgvariant!30)

This MR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [org.jetbrains:annotations](https://github.com/JetBrains/java-annotations) | compile | major | `24.1.0` -> `25.0.0` |

---

### Release Notes

<details>
<summary>JetBrains/java-annotations</summary>

### [`v25.0.0`](https://github.com/JetBrains/java-annotations/blob/HEAD/CHANGELOG.md#Version-2500)

[Compare Source](https://github.com/JetBrains/java-annotations/compare/24.1.0...25.0.0)

-   Added Kotlin Multiplatform artifact (multiplatform-annotations).
-   Removed Java 5 artifact.

</details>

---

### Configuration

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

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever 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-->