Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix cannot mock value class for class property in 1.13.10 #1230

Merged
merged 3 commits into from
Mar 5, 2024

Conversation

ZhaohuaZeng-at
Copy link
Contributor

The Problem

I notice that after bumping the version to 1.13.10, mockk cannot mock a value class type property in a class.
This can be reproduced by my newly added test case in modules/mockk/src/commonTest/kotlin/io/mockk/it/ValueClassTest.kt below.
stacktrace:


java.lang.ClassCastException: class io.mockk.it.ValueClassTest$Companion$DummyValue cannot be cast to class java.lang.Integer (io.mockk.it.ValueClassTest$Companion$DummyValue is in unnamed module of loader 'app'; java.lang.Integer is in module java.base of loader 'bootstrap')
	at io.mockk.it.ValueClassTest$Companion$DummyService.getValueClassField-_Hougu0(ValueClassTest.kt:642)
	at io.mockk.it.ValueClassTest.field is ValueClass, returns ValueClass(ValueClassTest.kt:43)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725)
	at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
	at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)
	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)
	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84)
	at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)
	at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
	at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
	at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base/java.util.ArrayList.forEach(Unknown Source)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base/java.util.ArrayList.forEach(Unknown Source)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)

The Solution

I found that this is because in this case method.kotlinFunction would return null and fail the check.

I added additional handling below that if method.kotlinFunction returns null, we would try checking if the class has a property that its java getter method is equal to this method, and use it to get the expected return type instead.

@ZhaohuaZeng-at
Copy link
Contributor Author

workflow is not triggered unless I put my change on master branch.
All tests passed on my forked repo: https://github.com/ZhaohuaZeng-at/mockk/actions/runs/8148185477/job/22270499987

@ursjoss
Copy link
Contributor

ursjoss commented Mar 5, 2024

Thanks @ZhaohuaZeng-at . That would most likely solve #1225 and #1226.

@Raibaz Raibaz merged commit 51f65d4 into mockk:master Mar 5, 2024
@Raibaz
Copy link
Collaborator

Raibaz commented Mar 5, 2024

Thanks for putting this together!

@ianbrandt
Copy link

Are you all thinking of doing a near-term release that includes this fix, or are you planning on a broader release further out?

I have an outstanding branch of my project to upgrade MockK, and I'm just wondering if I should hold out for a 1.13.11, or go with 1.13.9 for now.

@Raibaz
Copy link
Collaborator

Raibaz commented Mar 12, 2024

I don't have any other outstanding PRs and I just did a release recently, I'd like to gather a few more changes before doing another.

@extmkv
Copy link

extmkv commented May 16, 2024

Any plans @Raibaz ?
This is blocking us to update the library for awhile

@Raibaz
Copy link
Collaborator

Raibaz commented May 16, 2024

Just released v1.13.11, it should show up on Maven Central shortly.

github-merge-queue bot pushed a commit to BSStudio/bss-web-admin-backend that referenced this pull request May 20, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change | Age | Adoption | Passing |
Confidence |
|---|---|---|---|---|---|---|---|
| grafana/grafana | | patch | `10.4.2-ubuntu` -> `10.4.3-ubuntu` |
[![age](https://developer.mend.io/api/mc/badges/age/docker/grafana%2fgrafana/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/docker/grafana%2fgrafana/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/docker/grafana%2fgrafana/10.4.2/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/grafana%2fgrafana/10.4.2/10.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [io.mockk:mockk-jvm](https://mockk.io)
([source](https://togithub.com/mockk/mockk)) | devDependencies | patch |
`1.13.10` -> `1.13.11` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.mockk:mockk-jvm/1.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.mockk:mockk-jvm/1.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.mockk:mockk-jvm/1.13.10/1.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.mockk:mockk-jvm/1.13.10/1.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>mockk/mockk (io.mockk:mockk-jvm)</summary>

### [`v1.13.11`](https://togithub.com/mockk/mockk/releases/tag/1.13.11)

[Compare
Source](https://togithub.com/mockk/mockk/compare/1.13.10...1.13.11)

#### What's Changed

- Fix wasNotshould throw exception when called on non mocked object by
[@&#8203;Gosunet](https://togithub.com/Gosunet) in
[mockk/mockk#1174
- Fix cannot mock value class for class property in 1.13.10 by
[@&#8203;ZhaohuaZeng-at](https://togithub.com/ZhaohuaZeng-at) in
[mockk/mockk#1230
- Introduce `verifyCount` DSL by
[@&#8203;T45K](https://togithub.com/T45K) in
[mockk/mockk#1234
- Fix parallel testing flag by
[@&#8203;Evenprime](https://togithub.com/Evenprime) in
[mockk/mockk#1238
- Implement `clearStaticMockk` for KFunction and KProperty by
[@&#8203;krocard](https://togithub.com/krocard) in
[mockk/mockk#1239
- \[CONTRIBUTING.md] Suggest running `gradle check` before opening a PR
by [@&#8203;krocard](https://togithub.com/krocard) in
[mockk/mockk#1240

#### New Contributors

- [@&#8203;Gosunet](https://togithub.com/Gosunet) made their first
contribution in
[mockk/mockk#1174
- [@&#8203;ZhaohuaZeng-at](https://togithub.com/ZhaohuaZeng-at) made
their first contribution in
[mockk/mockk#1230
- [@&#8203;T45K](https://togithub.com/T45K) made their first
contribution in
[mockk/mockk#1234
- [@&#8203;Evenprime](https://togithub.com/Evenprime) made their first
contribution in
[mockk/mockk#1238
- [@&#8203;krocard](https://togithub.com/krocard) made their first
contribution in
[mockk/mockk#1239

**Full Changelog**:
mockk/mockk@1.13.10...1.13.11

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekend" in timezone
Europe/Dublin, Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.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 [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/BSStudio/bss-web-admin-backend).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjMuNSIsInVwZGF0ZWRJblZlciI6IjM3LjM2My41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJkb2NrZXIiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
LionZXY pushed a commit to flipperdevices/Flipper-Android-App that referenced this pull request May 20, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change | Age | Adoption | Passing |
Confidence |
|---|---|---|---|---|---|---|---|
|
[android-actions/setup-android](https://togithub.com/android-actions/setup-android)
| action | pinDigest | -> `00854ea` | | | | |
|
[softprops/action-gh-release](https://togithub.com/softprops/action-gh-release)
| action | digest | `9d7c94c` -> `69320db` | | | | |
|
[io.nlopez.compose.rules:detekt](https://togithub.com/mrmans0n/compose-rules)
| dependencies | minor | `0.3.20` -> `0.4.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.nlopez.compose.rules:detekt/0.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.nlopez.compose.rules:detekt/0.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.nlopez.compose.rules:detekt/0.3.20/0.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.nlopez.compose.rules:detekt/0.3.20/0.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [io.mockk:mockk](https://mockk.io)
([source](https://togithub.com/mockk/mockk)) | dependencies | patch |
`1.13.10` -> `1.13.11` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.mockk:mockk/1.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.mockk:mockk/1.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.mockk:mockk/1.13.10/1.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.mockk:mockk/1.13.10/1.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [org.robolectric:robolectric](http://robolectric.org)
([source](https://togithub.com/robolectric/robolectric)) | dependencies
| patch | `4.12.1` -> `4.12.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.robolectric:robolectric/4.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.robolectric:robolectric/4.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.robolectric:robolectric/4.12.1/4.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.robolectric:robolectric/4.12.1/4.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [io.ktor:ktor-client-mock](https://togithub.com/ktorio/ktor) |
dependencies | patch | `2.3.10` -> `2.3.11` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.ktor:ktor-client-mock/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.ktor:ktor-client-mock/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.ktor:ktor-client-mock/2.3.10/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.ktor:ktor-client-mock/2.3.10/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [io.ktor:ktor-client-logging-jvm](https://togithub.com/ktorio/ktor) |
dependencies | patch | `2.3.10` -> `2.3.11` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.ktor:ktor-client-logging-jvm/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.ktor:ktor-client-logging-jvm/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.ktor:ktor-client-logging-jvm/2.3.10/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.ktor:ktor-client-logging-jvm/2.3.10/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[io.ktor:ktor-serialization-kotlinx-json](https://togithub.com/ktorio/ktor)
| dependencies | patch | `2.3.10` -> `2.3.11` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.ktor:ktor-serialization-kotlinx-json/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.ktor:ktor-serialization-kotlinx-json/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.ktor:ktor-serialization-kotlinx-json/2.3.10/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.ktor:ktor-serialization-kotlinx-json/2.3.10/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[io.ktor:ktor-client-content-negotiation](https://togithub.com/ktorio/ktor)
| dependencies | patch | `2.3.10` -> `2.3.11` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.ktor:ktor-client-content-negotiation/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.ktor:ktor-client-content-negotiation/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.ktor:ktor-client-content-negotiation/2.3.10/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.ktor:ktor-client-content-negotiation/2.3.10/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [io.ktor:ktor-client-android](https://togithub.com/ktorio/ktor) |
dependencies | patch | `2.3.10` -> `2.3.11` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.ktor:ktor-client-android/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.ktor:ktor-client-android/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.ktor:ktor-client-android/2.3.10/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.ktor:ktor-client-android/2.3.10/2.3.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.annotation:annotation](https://developer.android.com/jetpack/androidx/releases/annotation#1.8.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| dependencies | minor | `1.7.1` -> `1.8.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.annotation:annotation/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.annotation:annotation/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.annotation:annotation/1.7.1/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.annotation:annotation/1.7.1/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.lifecycle:lifecycle-runtime-testing](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| dependencies | minor | `2.7.0` -> `2.8.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-runtime-testing/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-runtime-testing/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-runtime-testing/2.7.0/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-runtime-testing/2.7.0/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.lifecycle:lifecycle-service](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| dependencies | minor | `2.7.0` -> `2.8.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-service/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-service/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-service/2.7.0/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-service/2.7.0/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.lifecycle:lifecycle-viewmodel-compose](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| dependencies | minor | `2.7.0` -> `2.8.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-viewmodel-compose/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-viewmodel-compose/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-viewmodel-compose/2.7.0/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-viewmodel-compose/2.7.0/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.lifecycle:lifecycle-runtime-ktx](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| dependencies | minor | `2.7.0` -> `2.8.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-runtime-ktx/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-runtime-ktx/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-runtime-ktx/2.7.0/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-runtime-ktx/2.7.0/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.lifecycle:lifecycle-viewmodel-ktx](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| dependencies | minor | `2.7.0` -> `2.8.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-viewmodel-ktx/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-viewmodel-ktx/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-viewmodel-ktx/2.7.0/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-viewmodel-ktx/2.7.0/2.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[io.sentry:sentry-android-gradle-plugin](https://togithub.com/getsentry/sentry-android-gradle-plugin)
| dependencies | minor | `4.5.1` -> `4.6.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.sentry:sentry-android-gradle-plugin/4.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.sentry:sentry-android-gradle-plugin/4.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.sentry:sentry-android-gradle-plugin/4.5.1/4.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.sentry:sentry-android-gradle-plugin/4.5.1/4.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[io.sentry:sentry-android-timber](https://togithub.com/getsentry/sentry-java)
| dependencies | minor | `7.8.0` -> `7.9.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.sentry:sentry-android-timber/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.sentry:sentry-android-timber/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.sentry:sentry-android-timber/7.8.0/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.sentry:sentry-android-timber/7.8.0/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [io.sentry:sentry-android](https://togithub.com/getsentry/sentry-java)
| dependencies | minor | `7.8.0` -> `7.9.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.sentry:sentry-android/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.sentry:sentry-android/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.sentry:sentry-android/7.8.0/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.sentry:sentry-android/7.8.0/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.google.android.horologist:horologist-compose-layout](https://togithub.com/google/horologist)
| dependencies | patch | `0.6.10` -> `0.6.11` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.android.horologist:horologist-compose-layout/0.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.android.horologist:horologist-compose-layout/0.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.android.horologist:horologist-compose-layout/0.6.10/0.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.android.horologist:horologist-compose-layout/0.6.10/0.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.compose:compose-gradle-plugin](https://togithub.com/JetBrains/compose-jb)
| dependencies | patch | `1.6.2` -> `1.6.10` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.compose:compose-gradle-plugin/1.6.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.compose:compose-gradle-plugin/1.6.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.compose:compose-gradle-plugin/1.6.2/1.6.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.compose:compose-gradle-plugin/1.6.2/1.6.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.paging:paging-compose](https://developer.android.com/jetpack/androidx/releases/paging#3.3.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| dependencies | minor | `3.2.1` -> `3.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.paging:paging-compose/3.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.paging:paging-compose/3.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.paging:paging-compose/3.2.1/3.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.paging:paging-compose/3.2.1/3.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.compose.compiler:compiler](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.5.14)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| dependencies | patch | `1.5.13` -> `1.5.14` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.compose.compiler:compiler/1.5.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.compose.compiler:compiler/1.5.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.compose.compiler:compiler/1.5.13/1.5.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.compose.compiler:compiler/1.5.13/1.5.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.google.devtools.ksp](https://goo.gle/ksp)
([source](https://togithub.com/google/ksp)) | plugin | patch |
`1.9.23-1.0.20` -> `1.9.24-1.0.20` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp/1.9.24-1.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp/1.9.24-1.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp/1.9.23-1.0.20/1.9.24-1.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp/1.9.23-1.0.20/1.9.24-1.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://goo.gle/ksp)
([source](https://togithub.com/google/ksp)) | dependencies | patch |
`1.9.23-1.0.20` -> `1.9.24-1.0.20` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/1.9.24-1.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/1.9.24-1.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/1.9.23-1.0.20/1.9.24-1.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/1.9.23-1.0.20/1.9.24-1.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlinx:kotlinx-coroutines-test](https://togithub.com/Kotlin/kotlinx.coroutines)
| dependencies | patch | `1.8.0` -> `1.8.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.8.0/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.8.0/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://togithub.com/Kotlin/kotlinx.coroutines)
| dependencies | patch | `1.8.0` -> `1.8.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-play-services/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-play-services/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-play-services/1.8.0/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-play-services/1.8.0/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlinx:kotlinx-coroutines-android](https://togithub.com/Kotlin/kotlinx.coroutines)
| dependencies | patch | `1.8.0` -> `1.8.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.8.0/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.8.0/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlinx:kotlinx-datetime](https://togithub.com/Kotlin/kotlinx-datetime)
| dependencies | minor | `0.5.0` -> `0.6.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-datetime/0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-datetime/0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-datetime/0.5.0/0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-datetime/0.5.0/0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.plugin.serialization | plugin | patch | `1.9.23`
-> `1.9.24` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.plugin.serialization/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.plugin.serialization/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.plugin.serialization/1.9.23/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.plugin.serialization/1.9.23/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.android | plugin | patch | `1.9.23` -> `1.9.24` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.android/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.android/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.android/1.9.23/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.android/1.9.23/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [org.jetbrains.kotlin:kotlin-serialization](https://kotlinlang.org/)
([source](https://togithub.com/JetBrains/kotlin)) | dependencies | patch
| `1.9.23` -> `1.9.24` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-serialization/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-serialization/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-serialization/1.9.23/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-serialization/1.9.23/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [org.jetbrains.kotlin:kotlin-stdlib-jdk8](https://kotlinlang.org/)
([source](https://togithub.com/JetBrains/kotlin)) | dependencies | patch
| `1.9.23` -> `1.9.24` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-stdlib-jdk8/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-stdlib-jdk8/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-stdlib-jdk8/1.9.23/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-stdlib-jdk8/1.9.23/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [org.jetbrains.kotlin:kotlin-reflect](https://kotlinlang.org/)
([source](https://togithub.com/JetBrains/kotlin)) | dependencies | patch
| `1.9.23` -> `1.9.24` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-reflect/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-reflect/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-reflect/1.9.23/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-reflect/1.9.23/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlin:kotlin-compiler-embeddable](https://kotlinlang.org/)
([source](https://togithub.com/JetBrains/kotlin)) | dependencies | patch
| `1.9.23` -> `1.9.24` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-compiler-embeddable/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-compiler-embeddable/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-compiler-embeddable/1.9.23/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-compiler-embeddable/1.9.23/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlin:kotlin-annotation-processing-embeddable](https://kotlinlang.org/)
([source](https://togithub.com/JetBrains/kotlin)) | dependencies | patch
| `1.9.23` -> `1.9.24` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-annotation-processing-embeddable/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-annotation-processing-embeddable/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-annotation-processing-embeddable/1.9.23/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-annotation-processing-embeddable/1.9.23/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://kotlinlang.org/)
([source](https://togithub.com/JetBrains/kotlin)) | dependencies | patch
| `1.9.23` -> `1.9.24` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/1.9.23/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/1.9.23/1.9.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>mrmans0n/compose-rules
(io.nlopez.compose.rules:detekt)</summary>

###
[`v0.4.1`](https://togithub.com/mrmans0n/compose-rules/releases/tag/v0.4.1)

- Update Kotlin version to 2.0.0-RC3
([mrmans0n/compose-rules#261)
[@&#8203;mrmans0n](https://togithub.com/mrmans0n)
- Remove core modules and integrate in rules submodules
([mrmans0n/compose-rules#260)
[@&#8203;mrmans0n](https://togithub.com/mrmans0n)
- Migrate build files to kts
([mrmans0n/compose-rules#259)
[@&#8203;mrmans0n](https://togithub.com/mrmans0n)

###
[`v0.3.21`](https://togithub.com/mrmans0n/compose-rules/releases/tag/v0.3.21)

#### Changelog

- Update plugin com.gradle.develocity to v3.17.3
([#&#8203;258](https://togithub.com/mrmans0n/compose-rules/issues/258))
[@&#8203;renovate](https://togithub.com/renovate)
- Add tangleViewModel to the known factories
([#&#8203;257](https://togithub.com/mrmans0n/compose-rules/issues/257))
[@&#8203;mrmans0n](https://togithub.com/mrmans0n)
- Fix LambdaParameterInRestartableEffect conflict with `onDispose`
lambda
([#&#8203;254](https://togithub.com/mrmans0n/compose-rules/issues/254))
[@&#8203;dzirbel](https://togithub.com/dzirbel)
- Make UnstableCollections rule opt-in
([#&#8203;256](https://togithub.com/mrmans0n/compose-rules/issues/256))
[@&#8203;mrmans0n](https://togithub.com/mrmans0n)
- Update dependency org.jetbrains.kotlin:kotlin-compiler-embeddable to
v1.9.24
([#&#8203;255](https://togithub.com/mrmans0n/compose-rules/issues/255))
[@&#8203;renovate](https://togithub.com/renovate)

</details>

<details>
<summary>mockk/mockk (io.mockk:mockk)</summary>

### [`v1.13.11`](https://togithub.com/mockk/mockk/releases/tag/1.13.11)

[Compare
Source](https://togithub.com/mockk/mockk/compare/1.13.10...1.13.11)

#### What's Changed

- Fix wasNotshould throw exception when called on non mocked object by
[@&#8203;Gosunet](https://togithub.com/Gosunet) in
[mockk/mockk#1174
- Fix cannot mock value class for class property in 1.13.10 by
[@&#8203;ZhaohuaZeng-at](https://togithub.com/ZhaohuaZeng-at) in
[mockk/mockk#1230
- Introduce `verifyCount` DSL by
[@&#8203;T45K](https://togithub.com/T45K) in
[mockk/mockk#1234
- Fix parallel testing flag by
[@&#8203;Evenprime](https://togithub.com/Evenprime) in
[mockk/mockk#1238
- Implement `clearStaticMockk` for KFunction and KProperty by
[@&#8203;krocard](https://togithub.com/krocard) in
[mockk/mockk#1239
- \[CONTRIBUTING.md] Suggest running `gradle check` before opening a PR
by [@&#8203;krocard](https://togithub.com/krocard) in
[mockk/mockk#1240

#### New Contributors

- [@&#8203;Gosunet](https://togithub.com/Gosunet) made their first
contribution in
[mockk/mockk#1174
- [@&#8203;ZhaohuaZeng-at](https://togithub.com/ZhaohuaZeng-at) made
their first contribution in
[mockk/mockk#1230
- [@&#8203;T45K](https://togithub.com/T45K) made their first
contribution in
[mockk/mockk#1234
- [@&#8203;Evenprime](https://togithub.com/Evenprime) made their first
contribution in
[mockk/mockk#1238
- [@&#8203;krocard](https://togithub.com/krocard) made their first
contribution in
[mockk/mockk#1239

**Full Changelog**:
mockk/mockk@1.13.10...1.13.11

</details>

<details>
<summary>ktorio/ktor (io.ktor:ktor-client-mock)</summary>

### [`v2.3.11`](https://togithub.com/ktorio/ktor/releases/tag/2.3.11)

[Compare
Source](https://togithub.com/ktorio/ktor/compare/2.3.10...2.3.11)

> Published 8 May 2024

##### Bugfixes

- Test client ignores socket timeout
([KTOR-6909](https://youtrack.jetbrains.com/issue/KTOR-6909))

</details>

<details>
<summary>getsentry/sentry-android-gradle-plugin
(io.sentry:sentry-android-gradle-plugin)</summary>

###
[`v4.6.0`](https://togithub.com/getsentry/sentry-android-gradle-plugin/blob/HEAD/CHANGELOG.md#460)

[Compare
Source](https://togithub.com/getsentry/sentry-android-gradle-plugin/compare/4.5.1...4.6.0)

##### Fixes

- Do not include `BuildConfig` into source bundles
([#&#8203;705](https://togithub.com/getsentry/sentry-android-gradle-plugin/pull/705))
- Fix misleading auth-token error message in case "sentry-cli info"
fails
([#&#8203;708](https://togithub.com/getsentry/sentry-android-gradle-plugin/pull/708))

##### Dependencies

- Bump CLI from v2.31.1 to v2.31.2
([#&#8203;702](https://togithub.com/getsentry/sentry-android-gradle-plugin/pull/702))
-
[changelog](https://togithub.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2312)
-
[diff](https://togithub.com/getsentry/sentry-cli/compare/2.31.1...2.31.2)
- Bump Android SDK from v7.8.0 to v7.9.0
([#&#8203;706](https://togithub.com/getsentry/sentry-android-gradle-plugin/pull/706))
-
[changelog](https://togithub.com/getsentry/sentry-java/blob/main/CHANGELOG.md#790)
-
[diff](https://togithub.com/getsentry/sentry-java/compare/7.8.0...7.9.0)

</details>

<details>
<summary>getsentry/sentry-java
(io.sentry:sentry-android-timber)</summary>

###
[`v7.9.0`](https://togithub.com/getsentry/sentry-java/blob/HEAD/CHANGELOG.md#790)

[Compare
Source](https://togithub.com/getsentry/sentry-java/compare/7.8.0...7.9.0)

##### Features

- Add start_type to app context
([#&#8203;3379](https://togithub.com/getsentry/sentry-java/pull/3379))
- Add ttid/ttfd contribution flags
([#&#8203;3386](https://togithub.com/getsentry/sentry-java/pull/3386))

##### Fixes

- (Internal) Metrics code cleanup
([#&#8203;3403](https://togithub.com/getsentry/sentry-java/pull/3403))
- Fix Frame measurements in app start transactions
([#&#8203;3382](https://togithub.com/getsentry/sentry-java/pull/3382))
- Fix timing metric value different from span duration
([#&#8203;3368](https://togithub.com/getsentry/sentry-java/pull/3368))
- Do not always write startup crash marker
([#&#8203;3409](https://togithub.com/getsentry/sentry-java/pull/3409))
- This may have been causing the SDK init logic to block the main thread

</details>

<details>
<summary>google/horologist
(com.google.android.horologist:horologist-compose-layout)</summary>

###
[`v0.6.11`](https://togithub.com/google/horologist/releases/tag/v0.6.11)

-   Bump to Wear Compose 1.4.0-alpha08 APIs
-   Add beyondViewportPageCount to PagerScreen

**Full Changelog**:
google/horologist@v0.6.10...v0.6.11

</details>

<details>
<summary>JetBrains/compose-jb
(org.jetbrains.compose:compose-gradle-plugin)</summary>

###
[`v1.6.10`](https://togithub.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#1610-rc03-May-2024)

*Changes since 1.6.10-rc02*

#### Fixes

##### iOS

- *(prerelease fix)* [Fix
`org.jetbrains.kotlin.backend.konan.llvm.NativeCodeGeneratorException:
Exception during generating code for following declaration: private fun
$init_global()`](https://togithub.com/JetBrains/compose-multiplatform/issues/4809)

#### Dependencies

- Gradle Plugin `org.jetbrains.compose`, version `1.6.10-rc03`. Based on
Jetpack Compose libraries:
- [Compiler
1.5.14](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.5.14)
- [Runtime
1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.6.7)
- [UI
1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.6.7)
- [Foundation
1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.6.7)
- [Material
1.6.7](https://developer.android.com/jetpack/androidx/releases/compose-material#1.6.7)
- [Material3
1.2.1](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.2.1)

- Lifecycle libraries
`org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.0-rc03`. Based on
[Jetpack Lifecycle
2.8.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.0)

- Navigation libraries
`org.jetbrains.androidx.navigation:navigation-*:2.7.0-alpha06`. Based on
[Jetpack Navigation
2.7.7](https://developer.android.com/jetpack/androidx/releases/navigation#2.7.7)

***

</details>

<details>
<summary>google/ksp (com.google.devtools.ksp)</summary>

###
[`v1.9.24-1.0.20`](https://togithub.com/google/ksp/releases/tag/1.9.24-1.0.20)

[Compare
Source](https://togithub.com/google/ksp/compare/1.9.23-1.0.20...1.9.24-1.0.20)

KSP 1.0.20 for kotlin compiler version 1.9.24

</details>

<details>
<summary>Kotlin/kotlinx.coroutines
(org.jetbrains.kotlinx:kotlinx-coroutines-test)</summary>

###
[`v1.8.1`](https://togithub.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-181)

[Compare
Source](https://togithub.com/Kotlin/kotlinx.coroutines/compare/1.8.0...1.8.1)

- Remove the `@ExperimentalTime` annotation from usages of `TimeSource`
([#&#8203;4046](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4046)).
Thanks, [@&#8203;hfhbd](https://togithub.com/hfhbd)!
- Introduce a workaround for an Android bug that caused an occasional
`NullPointerException` when setting the `StateFlow` value on old Android
devices
([#&#8203;3820](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3820)).
- No longer use `kotlin.random.Random` as part of `Dispatchers.Default`
and `Dispatchers.IO` initialization
([#&#8203;4051](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4051)).
- `Flow.timeout` throws the exception with which the channel was closed
([#&#8203;4071](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4071)).
-   Small tweaks and documentation fixes.

##### Changelog relative to version 1.8.1-Beta

- `Flow.timeout` throws the exception with which the channel was closed
([#&#8203;4071](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4071)).
-   Small documentation fixes.

</details>

<details>
<summary>Kotlin/kotlinx-datetime
(org.jetbrains.kotlinx:kotlinx-datetime)</summary>

###
[`v0.6.0`](https://togithub.com/Kotlin/kotlinx-datetime/blob/HEAD/CHANGELOG.md#060)

- Introduce the widely requested API for locale-invariant parsing and
formatting
([#&#8203;343](https://togithub.com/Kotlin/kotlinx-datetime/pull/343))
- Completely overhaul the KDoc-based documentation
([#&#8203;347](https://togithub.com/Kotlin/kotlinx-datetime/issues/347))
- Breaking change: forbid parsing `Instant` values without the
second-of-minute component on the JVM and JS, fixing inconsistency with
Native
([#&#8203;369](https://togithub.com/Kotlin/kotlinx-datetime/issues/369))
- Breaking change: use the fully qualified name of classes in the JSON
serializers
([#&#8203;308](https://togithub.com/Kotlin/kotlinx-datetime/pull/308))
- Fix Proguard emitting warning about missing `kotlinx-serialization`
classes when serialization is not used
([#&#8203;336](https://togithub.com/Kotlin/kotlinx-datetime/pull/336))
- Reimplement the timezone database handling for Native targets from
scratch
([#&#8203;286](https://togithub.com/Kotlin/kotlinx-datetime/pull/286),
[#&#8203;327](https://togithub.com/Kotlin/kotlinx-datetime/pull/327))
- Support Android NDK targets
([#&#8203;344](https://togithub.com/Kotlin/kotlinx-datetime/pull/344))
-   Small tweaks and fixes.

##### Changelog relative to version 0.6.0-RC.2

- Completely overhaul the KDoc-based documentation
([#&#8203;347](https://togithub.com/Kotlin/kotlinx-datetime/issues/347))
- Breaking change: forbid parsing `Instant` values without the
second-of-minute component on the JVM and JS, fixing inconsistency with
Native
([#&#8203;369](https://togithub.com/Kotlin/kotlinx-datetime/issues/369))
- Improve error descriptiveness in some cases
([#&#8203;360](https://togithub.com/Kotlin/kotlinx-datetime/pull/360),
[#&#8203;371](https://togithub.com/Kotlin/kotlinx-datetime/pull/371))
- Remove `stat` usages to comply with Apple's new publishing
requirements
([#&#8203;385](https://togithub.com/Kotlin/kotlinx-datetime/pull/385))
- Fix parsing of formats where `optional` is directly between numbers
([#&#8203;362](https://togithub.com/Kotlin/kotlinx-datetime/pull/362))
- Forbid empty and duplicate month, day-of-week, and AM/PM marker names
in datetime formats
([#&#8203;362](https://togithub.com/Kotlin/kotlinx-datetime/pull/362))

</details>

<details>
<summary>JetBrains/kotlin
(org.jetbrains.kotlin:kotlin-serialization)</summary>

###
[`v1.9.24`](https://togithub.com/JetBrains/kotlin/releases/tag/v1.9.24):
1.9.24

##### Changelog

##### Backend. Wasm

- [`KT-64890`](https://youtrack.jetbrains.com/issue/KT-64890) K/Wasm
compiler crash with external class and Kodein

##### Compiler

- [`KT-65235`](https://youtrack.jetbrains.com/issue/KT-65235) JDK 21
might lead to change in overloads resolution
- [`KT-66768`](https://youtrack.jetbrains.com/issue/KT-66768) K1: False
positive UNRESOLVED_REFERENCE in super.getFirst/getLast call

##### Native

- [`KT-67218`](https://youtrack.jetbrains.com/issue/KT-67218) Native:
nested classes in kx.serialization ProtoBuf produce empty array for
release binary

##### Tools. Gradle

- [`KT-67139`](https://youtrack.jetbrains.com/issue/KT-67139) Build
reports can be overridden
- [`KT-67138`](https://youtrack.jetbrains.com/issue/KT-67138) Json
report is empty for incremental compilation

##### Tools. Gradle. Multiplatform

- [`KT-67127`](https://youtrack.jetbrains.com/issue/KT-67127) KMP: IDE
Dependency Resolver for CInterops reports errors on linux and windows
machines
- [`KT-66514`](https://youtrack.jetbrains.com/issue/KT-66514) Don't get
output file from Cinterop task for IDE Import if host os doesn't support
it

##### Tools. JPS

- [`KT-65043`](https://youtrack.jetbrains.com/issue/KT-65043) JPS dumb
mode should respect maps needed for the compiler

##### Tools. Wasm

- [`KT-67785`](https://youtrack.jetbrains.com/issue/KT-67785)
Kotlin/Wasm: Node.JS 22 does not need experimental-wasm-gc flag anymore
- [`KT-65864`](https://youtrack.jetbrains.com/issue/KT-65864) K/Wasm:
update Node.js to 22.x

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.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 [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/flipperdevices/Flipper-Android-App).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM2My41IiwidGFyZ2V0QnJhbmNoIjoiZGV2IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants