Commit Graph

290 Commits

Author SHA1 Message Date
Nik Clayton 8b9fe6d5ae
fix: Improve push and pull notification reliability (#880)
Clean up the notification handling code and fix a lot of bugs, hopefully
without introducing new ones in the process.

Specific bugs discovered and fixed:

- The code that tried to sync notification filtering state between the
server and Pachli could fail, leaving things in an inconsistent state,
resulting in dropped notifications. Remove that code, do filtering
client-side.

- Logging out of an account would disable push notifications for all
accounts.

- If any account did not support push notifications then push
notifications were disabled for all accounts.

- If any account did not support push notifications the user was
prompted to log out of all accounts. Drop that entirely.

- The UnifiedPush library could get to a state where configuring the
notification mechanism would silently fail,

The preferences UI now has a section for notifications, showing:

- The Unified Push distributor in use (if any)
- A mechanism to change the distributor
- Per-account configuration and notification fetch details
- Battery optimisation state

General changes:

- Update to UnifiedPush library 2.4.0.

- NotificationFetcher.fetchAndShow() can now fetch a single account's
notifications, or all accounts, depending on data passed to the worker.

- Use ApiResult for `push/subscription` responses.

- Drop the "needs migration" terminology for the more specific "has push
scope", to make it clear what the issue with the account is.
2024-08-18 15:17:57 +02:00
renovate[bot] 0653ca8496
fix(deps): update dependency androidx.activity:activity-ktx to v1.9.1 (#849)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.activity:activity-ktx](https://developer.android.com/jetpack/androidx/releases/activity#1.9.1)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.9.0` -> `1.9.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.activity:activity-ktx/1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.activity:activity-ktx/1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.activity:activity-ktx/1.9.0/1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.activity:activity-ktx/1.9.0/1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

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

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-05 16:56:11 +02:00
renovate[bot] dd43c848a4
chore(deps): update kotlin to v2.0.0-1.0.24 (#847)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.devtools.ksp](https://goo.gle/ksp)
([source](https://togithub.com/google/ksp)) | `2.0.0-1.0.23` ->
`2.0.0-1.0.24` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp/2.0.0-1.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp/2.0.0-1.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp/2.0.0-1.0.23/2.0.0-1.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp/2.0.0-1.0.23/2.0.0-1.0.24?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)) | `2.0.0-1.0.23` ->
`2.0.0-1.0.24` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.0-1.0.24?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/2.0.0-1.0.24?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/2.0.0-1.0.23/2.0.0-1.0.24?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/2.0.0-1.0.23/2.0.0-1.0.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>google/ksp (com.google.devtools.ksp)</summary>

###
[`v2.0.0-1.0.24`](https://togithub.com/google/ksp/releases/tag/2.0.0-1.0.24)

[Compare
Source](https://togithub.com/google/ksp/compare/2.0.0-1.0.23...2.0.0-1.0.24)

#### What's Changed

[#&#8203;2013](https://togithub.com/google/ksp/issues/2013) Handle edge
cases of KtAnnotated.annotations
[#&#8203;2009](https://togithub.com/google/ksp/issues/2009) Fix
:kotlin-analysis-api:shadowJar failing on Windows
[#&#8203;2006](https://togithub.com/google/ksp/issues/2006) Use
symbol-processing-aa-embeddable in Gradle

#### Bugs Fixed

[#&#8203;1956](https://togithub.com/google/ksp/issues/1956)
IllegalAccessError in Dagger with KSP2.0.0-1.0.22 and KSP2
[#&#8203;1998](https://togithub.com/google/ksp/issues/1998) KSP2 version
2.0.0-1.0.23 crashes on Moshi codegen with NoSuchElementException:
Collection contains no element matching the predicate.

**Full Changelog**:
e8807446b1...c63864cc12

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

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

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-05 16:30:26 +02:00
renovate[bot] ef1a5488f8
chore(deps): update dependency com.apollographql.apollo3 to v3.8.5 (#846)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| com.apollographql.apollo3 | `3.8.4` -> `3.8.5` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.apollographql.apollo3/3.8.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.apollographql.apollo3/3.8.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.apollographql.apollo3/3.8.4/3.8.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.apollographql.apollo3/3.8.4/3.8.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

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

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-05 15:59:09 +02:00
renovate[bot] eae3ff8a23
fix(deps): update dependency com.google.truth:truth to v1.4.4 (#853)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.truth:truth](https://togithub.com/google/truth) | `1.4.3`
-> `1.4.4` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.truth:truth/1.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.truth:truth/1.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.truth:truth/1.4.3/1.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.truth:truth/1.4.3/1.4.4?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>google/truth (com.google.truth:truth)</summary>

### [`v1.4.4`](https://togithub.com/google/truth/releases/tag/v1.4.4)

- Annotated the rest of the main package for nullness, and moved the
`@NullMarked` annotation from individual classes up to the package to
avoid [a warning under `--release
8`](https://togithub.com/google/truth/issues/1320).
([`e107aea`](https://togithub.com/google/truth/commit/e107aeadc))
- Improved the failure message for `matches` to conditionally suggest
using `containsMatch`.
([`7e9fc7a`](https://togithub.com/google/truth/commit/7e9fc7aec))

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

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

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 15:54:49 +02:00
renovate[bot] c28c505cf0
fix(deps): update dependency org.mockito.kotlin:mockito-kotlin to v5.4.0 (#858)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[org.mockito.kotlin:mockito-kotlin](https://togithub.com/mockito/mockito-kotlin)
| `5.3.1` -> `5.4.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.mockito.kotlin:mockito-kotlin/5.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.mockito.kotlin:mockito-kotlin/5.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.mockito.kotlin:mockito-kotlin/5.3.1/5.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.mockito.kotlin:mockito-kotlin/5.3.1/5.4.0?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>mockito/mockito-kotlin
(org.mockito.kotlin:mockito-kotlin)</summary>

###
[`v5.4.0`](https://togithub.com/mockito/mockito-kotlin/releases/tag/5.4.0)

[Compare
Source](https://togithub.com/mockito/mockito-kotlin/compare/5.3.1...5.4.0)

<sup><sup>*Changelog generated by [Shipkit Changelog Gradle
Plugin](https://togithub.com/shipkit/shipkit-changelog)*</sup></sup>

##### 5.4.0

- 2024-07-09 - [2
commit(s)](https://togithub.com/mockito/mockito-kotlin/compare/5.3.1...5.4.0)
by Lars
- Added value class support
[(#&#8203;522)](https://togithub.com/mockito/mockito-kotlin/pull/522)
- Update mockito to 5.12
[(#&#8203;521)](https://togithub.com/mockito/mockito-kotlin/pull/521)

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

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

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 15:54:22 +02:00
renovate[bot] 8aa521890f
chore(deps): update kotlin (#800)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.devtools.ksp](https://goo.gle/ksp)
([source](https://togithub.com/google/ksp)) | `2.0.0-1.0.22` ->
`2.0.0-1.0.23` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp/2.0.0-1.0.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp/2.0.0-1.0.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp/2.0.0-1.0.22/2.0.0-1.0.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp/2.0.0-1.0.22/2.0.0-1.0.23?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)) | `2.0.0-1.0.22` ->
`2.0.0-1.0.23` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.0-1.0.23?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/2.0.0-1.0.23?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/2.0.0-1.0.22/2.0.0-1.0.23?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/2.0.0-1.0.22/2.0.0-1.0.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://togithub.com/Kotlin/kotlinx.coroutines)
| `1.4.1` -> `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.4.1/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.4.1/1.8.1?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>google/ksp (com.google.devtools.ksp)</summary>

###
[`v2.0.0-1.0.23`](https://togithub.com/google/ksp/compare/2.0.0-1.0.22...2.0.0-1.0.23)

[Compare
Source](https://togithub.com/google/ksp/compare/2.0.0-1.0.22...2.0.0-1.0.23)

</details>

<details>
<summary>Kotlin/kotlinx.coroutines
(org.jetbrains.kotlinx:kotlinx-coroutines-play-services)</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.

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

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

- Implement the library for the Web Assembly (Wasm) for JavaScript
([#&#8203;3713](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3713)).
Thanks [@&#8203;igoriakovlev](https://togithub.com/igoriakovlev)!
-   Major Kotlin version update: was 1.8.20, became 1.9.21.
- On Android, ensure that `Dispatchers.Main !=
Dispatchers.Main.immediate`
([#&#8203;3545](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3545),
[#&#8203;3963](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3963)).
- Fixed a bug that caused `Flow` operators that limit cancel the
upstream flow to forget that they were already finished if there is
another such operator upstream
([#&#8203;4035](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4035),
[#&#8203;4038](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4038))
- `kotlinx-coroutines-debug` is published with the correct Java 9 module
info
([#&#8203;3944](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3944)).
- `kotlinx-coroutines-debug` no longer requires manually setting
`DebugProbes.enableCoroutineCreationStackTraces` to `false`, it's the
default
([#&#8203;3783](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3783)).
- `kotlinx-coroutines-test`: set the default timeout of `runTest` to 60
seconds, added the ability to configure it on the JVM with the
`kotlinx.coroutines.test.default_timeout=10s`
([#&#8203;3800](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3800)).
- `kotlinx-coroutines-test`: fixed a bug that could lead to not all
uncaught exceptions being reported after some tests failed
([#&#8203;3800](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3800)).
- `delay(Duration)` rounds nanoseconds up to whole milliseconds and not
down
([#&#8203;3920](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3920)).
Thanks [@&#8203;kevincianfarini](https://togithub.com/kevincianfarini)!
- `Dispatchers.Default` and the default thread for background work are
guaranteed to use the same context classloader as the object containing
it them
([#&#8203;3832](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3832)).
- It is guaranteed that by the time `SharedFlow.collect` suspends for
the first time, it's registered as a subscriber for that `SharedFlow`
([#&#8203;3885](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3885)).
Before, it was also true, but not documented.
- Atomicfu version is updated to 0.23.1, and Kotlin/Native atomic
transformations are enabled, reducing the footprint of coroutine-heavy
code
([#&#8203;3954](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3954)).
- Added a workaround for miscompilation of `withLock` on JS
([#&#8203;3881](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3881)).
Thanks [@&#8203;CLOVIS-AI](https://togithub.com/CLOVIS-AI)!
-   Small tweaks and documentation fixes.

##### Changelog relative to version 1.8.0-RC2

- `kotlinx-coroutines-debug` no longer requires manually setting
`DebugProbes.enableCoroutineCreationStackTraces` to `false`, it's the
default
([#&#8203;3783](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3783)).
- Fixed a bug that caused `Flow` operators that limit cancel the
upstream flow to forget that they were already finished if there is
another such operator upstream
([#&#8203;4035](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4035),
[#&#8203;4038](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4038))
-   Small documentation fixes.

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

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

- Disabled the publication of the multiplatform library metadata for the
old (1.6 and earlier) KMP Gradle plugin
([#&#8203;3809](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3809)).
- Fixed a bug introduced in 1.7.2 that disabled the coroutine debugger
in IDEA
([#&#8203;3822](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3822)).

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

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

##### Bug fixes and improvements

- Coroutines debugger no longer keeps track of coroutines with empty
coroutine context
([#&#8203;3782](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3782)).
- `CopyableThreadContextElement` now properly copies an element when
crossing the coroutine boundary in `flowOn`
([#&#8203;3787](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3787)).
Thanks [@&#8203;wanyingd1996](https://togithub.com/wanyingd1996)!
- Coroutine timeouts no longer prevent K/N `newSingleThreadContext` from
closing
([#&#8203;3768](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3768)).
- A non-linearizability in `Mutex` during `tryLock`/`unlock` sequence
with owners is fixed
([#&#8203;3745](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3745)).
-   Atomicfu version is updated to 0.21.0.

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

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

##### Bug fixes and improvements

- Special characters in coroutine names in JSON dumps are supported
([#&#8203;3747](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3747))
- The binary compatibility of the experimental overload of `runTest` is
restored
([#&#8203;3673](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3673))
- Channels that don't use `onUndeliveredElement` now allocate less
memory
([#&#8203;3646](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3646))

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

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

##### Core API significant improvements

- New `Channel` implementation with significant performance improvements
across the API
([#&#8203;3621](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3621)).
- New `select` operator implementation: faster, more lightweight, and
more robust
([#&#8203;3020](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3020)).
- `Mutex` and `Semaphore` now share the same underlying data structure
([#&#8203;3020](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3020)).
- `Dispatchers.IO` is added to K/N
([#&#8203;3205](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3205))
- `newFixedThreadPool` and `Dispatchers.Default` implementations on K/N
were wholly rewritten to support graceful growth under load
([#&#8203;3595](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3595)).
-   `kotlinx-coroutines-test` rework:
- Add the `timeout` parameter to `runTest` for the whole-test timeout,
10 seconds by default
([#&#8203;3270](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3270)).
This replaces the configuration of quiescence timeouts, which is now
deprecated
([#&#8203;3603](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3603)).
- The `withTimeout` exception messages indicate if the timeout used the
virtual time
([#&#8203;3588](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3588)).
- `TestCoroutineScheduler`, `runTest`, and `TestScope` API are promoted
to stable
([#&#8203;3622](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3622)).
- `runTest` now also fails if there were uncaught exceptions in
coroutines not inherited from the test coroutine
([#&#8203;1205](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1205)).

##### Breaking changes

- Old K/N memory model is no longer supported
([#&#8203;3375](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3375)).
- New generic upper bounds were added to reactive integration API where
the language since 1.8.0 dictates
([#&#8203;3393](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3393)).
- `kotlinx-coroutines-core` and `kotlinx-coroutines-jdk8` artifacts were
merged into a single artifact
([#&#8203;3268](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3268)).
- Artificial stackframes in stacktrace recovery no longer contain the
`\b` symbol and are now navigable in IDE and supplied with proper
documentation
([#&#8203;2291](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2291)).
- `CoroutineContext.isActive` returns `true` for contexts without any
job in them
([#&#8203;3300](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3300)).

##### Bug fixes and improvements

-   Kotlin version is updated to 1.8.20
-   Atomicfu version is updated to 0.20.2.
- `JavaFx` version is updated to 17.0.2 in `kotlinx-coroutines-javafx`
([#&#8203;3671](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3671))..
- JPMS is supported
([#&#8203;2237](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2237)).
Thanks [@&#8203;lion7](https://togithub.com/lion7)!
- `BroadcastChannel` and all the corresponding API are deprecated
([#&#8203;2680](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2680)).
- Added all supported K/N targets
([#&#8203;3601](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3601),
[#&#8203;812](https://togithub.com/Kotlin/kotlinx.coroutines/issues/812),
[#&#8203;855](https://togithub.com/Kotlin/kotlinx.coroutines/issues/855)).
- K/N `Dispatchers.Default` is backed by the number of threads equal to
the number of available cores
([#&#8203;3366](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3366)).
- Fixed an issue where some coroutines' internal exceptions were not
properly serializable
([#&#8203;3328](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3328)).
- Introduced `Job.parent` API
([#&#8203;3201](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3201)).
- Fixed a bug when `TestScheduler` leaked cancelled jobs
([#&#8203;3398](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3398)).
- `TestScope.timeSource` now provides comparable time marks
([#&#8203;3617](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3617)).
Thanks [@&#8203;hfhbd](https://togithub.com/hfhbd)!
- Fixed an issue when cancelled `withTimeout` handles were preserved in
JS runtime
([#&#8203;3440](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3440)).
- Ensure `awaitFrame` only awaits a single frame when used from the main
looper
([#&#8203;3432](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3432)).
Thanks [@&#8203;pablobaxter](https://togithub.com/pablobaxter)!
- Obsolete `Class-Path` attribute was removed from
`kotlinx-coroutines-debug.jar` manifest
([#&#8203;3361](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3361)).
- Fixed a bug when `updateThreadContext` operated on the parent context
([#&#8203;3411](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3411)).
- Added new `Flow.filterIsInstance` extension
([#&#8203;3240](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3240)).
- `Dispatchers.Default` thread name prefixes are now configurable with
system property
([#&#8203;3231](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3231)).
- Added `Flow.timeout` operator as `@FlowPreview`
([#&#8203;2624](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2624)).
Thanks [@&#8203;pablobaxter](https://togithub.com/pablobaxter)!
- Improved the performance of the `future` builder in case of exceptions
([#&#8203;3475](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3475)).
Thanks [@&#8203;He-Pin](https://togithub.com/He-Pin)!
- `Mono.awaitSingleOrNull` now waits for the `onComplete` signal
([#&#8203;3487](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3487)).
- `Channel.isClosedForSend` and `Channel.isClosedForReceive` are
promoted from experimental to delicate
([#&#8203;3448](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3448)).
- Fixed a data race in native `EventLoop`
([#&#8203;3547](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3547)).
- `Dispatchers.IO.limitedParallelism(valueLargerThanIOSize)` no longer
creates an additional wrapper
([#&#8203;3442](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3442)).
Thanks [@&#8203;dovchinnikov](https://togithub.com/dovchinnikov)!
- Various `@FlowPreview` and `@ExperimentalCoroutinesApi` are promoted
to experimental and stable respectively
([#&#8203;3542](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3542),
[#&#8203;3097](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3097),
[#&#8203;3548](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3548)).
- Performance improvements in `Dispatchers.Default` and `Dispatchers.IO`
([#&#8203;3416](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3416),
[#&#8203;3418](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3418)).
- Fixed a bug when internal `suspendCancellableCoroutineReusable` might
have hanged
([#&#8203;3613](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3613)).
- Introduced internal API to process events in the current system
dispatcher
([#&#8203;3439](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3439)).
- Global `CoroutineExceptionHandler` is no longer invoked in case of
unprocessed `future` failure
([#&#8203;3452](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3452)).
- Performance improvements and reduced thread-local pressure for the
`withContext` operator
([#&#8203;3592](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3592)).
- Improved performance of `DebugProbes`
([#&#8203;3527](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3527)).
- Fixed a bug when the coroutine debugger might have detected the state
of a coroutine incorrectly
([#&#8203;3193](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3193)).
- `CoroutineDispatcher.asExecutor()` runs tasks without dispatching if
the dispatcher is unconfined
([#&#8203;3683](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3683)).
Thanks [@&#8203;odedniv](https://togithub.com/odedniv)!
- `SharedFlow.toMutableList` and `SharedFlow.toSet` lints are introduced
([#&#8203;3706](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3706)).
- `Channel.invokeOnClose` is promoted to stable API
([#&#8203;3358](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3358)).
- Improved lock contention in `Dispatchers.Default` and `Dispatchers.IO`
during the startup phase
([#&#8203;3652](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3652)).
- Fixed a bug that led to threads oversubscription in
`Dispatchers.Default`
([#&#8203;3642](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3642)).
- Fixed a bug that allowed `limitedParallelism` to perform dispatches
even after the underlying dispatcher was closed
([#&#8203;3672](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3672)).
- Fixed a bug that prevented stacktrace recovery when the exception's
constructor from `cause` was selected
([#&#8203;3714](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3714)).
- Improved sanitizing of stracktrace-recovered traces
([#&#8203;3714](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3714)).
- Introduced an internal flag to disable uncaught exceptions reporting
in tests as a temporary migration mechanism
([#&#8203;3736](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3736)).
-   Various documentation improvements and fixes.

Changelog for previous versions may be found in
[CHANGES_UP_TO\_1.7.md](CHANGES_UP_TO\_1.7.md)

###
[`v1.6.4`](https://togithub.com/Kotlin/kotlinx.coroutines/releases/tag/1.6.4)

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

- Added `TestScope.backgroundScope` for launching coroutines that
perform work in the background and need to be cancelled at the end of
the test
([#&#8203;3287](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3287)).
- Fixed the POM of `kotlinx-coroutines-debug` having an incorrect
reference to `kotlinx-coroutines-bom`, which cause the builds of Maven
projects using the debug module to break
([#&#8203;3334](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3334)).
- Fixed the `Publisher.await` functions in `kotlinx-coroutines-reactive`
not ensuring that the `Subscriber` methods are invoked serially
([#&#8203;3360](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3360)).
Thank you, [@&#8203;EgorKulbachka](https://togithub.com/EgorKulbachka)!
- Fixed a memory leak in `withTimeout` on K/N with the new memory model
([#&#8203;3351](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3351)).
- Added the guarantee that all `Throwable` implementations in the core
library are serializable
([#&#8203;3328](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3328)).
- Moved the documentation to
<https://kotlinlang.org/api/kotlinx.coroutines/>
([#&#8203;3342](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3342)).
-   Various documentation improvements.

###
[`v1.6.3`](https://togithub.com/Kotlin/kotlinx.coroutines/releases/tag/1.6.3)

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

- Updated atomicfu version to 0.17.3
([#&#8203;3321](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3321)),
fixing the projects using this library with JS IR failing to build
([#&#8203;3305](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3305)).

###
[`v1.6.2`](https://togithub.com/Kotlin/kotlinx.coroutines/releases/tag/1.6.2)

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

- Fixed a bug with `ThreadLocalElement` not being correctly updated when
the most outer `suspend` function was called directly without
`kotlinx.coroutines`
([#&#8203;2930](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2930)).
- Fixed multiple data races: one that might have been affecting
`runBlocking` event loop, and a benign data race in `Mutex`
([#&#8203;3250](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3250),
[#&#8203;3251](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3251)).
- Obsolete `TestCoroutineContext` is removed, which fixes the
`kotlinx-coroutines-test` JPMS package being split between
`kotlinx-coroutines-core` and `kotlinx-coroutines-test`
([#&#8203;3218](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3218)).
- Updated the ProGuard rules to further shrink the size of the resulting
DEX file with coroutines
([#&#8203;3111](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3111),
[#&#8203;3263](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3263)).
Thanks, [@&#8203;agrieve](https://togithub.com/agrieve)!
- Atomicfu is updated to `0.17.2`, which includes a more efficient and
robust JS IR transformer
([#&#8203;3255](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3255)).
- Kotlin is updated to `1.6.21`, Gradle version is updated to `7.4.2`
([#&#8203;3281](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3281)).
Thanks,
[@&#8203;wojtek-kalicinski](https://togithub.com/wojtek-kalicinski)!
-   Various documentation improvements.

###
[`v1.6.1`](https://togithub.com/Kotlin/kotlinx.coroutines/releases/tag/1.6.1)

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

- Rollback of time-related functions dispatching on `Dispatchers.Main`.
This behavior was introduced in 1.6.0 and then found inconvenient and
erroneous
([#&#8203;3106](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3106),
[#&#8203;3113](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3113)).
- Reworked the newly-introduced `CopyableThreadContextElement` to solve
issues uncovered after the initial release
([#&#8203;3227](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3227)).
- Fixed a bug with `ThreadLocalElement` not being properly updated in
racy scenarios
([#&#8203;2930](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2930)).
- Reverted eager loading of default `CoroutineExceptionHandler` that
triggered ANR on some devices
([#&#8203;3180](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3180)).
- New API to convert a `CoroutineDispatcher` to a Rx scheduler
([#&#8203;968](https://togithub.com/Kotlin/kotlinx.coroutines/issues/968),
[#&#8203;548](https://togithub.com/Kotlin/kotlinx.coroutines/issues/548)).
Thanks [@&#8203;recheej](https://togithub.com/recheej)!
- Fixed a memory leak with the very last element emitted from `flow`
builder being retained in memory
([#&#8203;3197](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3197)).
- Fixed a bug with `limitedParallelism` on K/N with new memory model
throwing `ClassCastException`
([#&#8203;3223](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3223)).
- `CoroutineContext` is added to the exception printed to the default
`CoroutineExceptionHandler` to improve debuggability
([#&#8203;3153](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3153)).
- Static memory consumption of `Dispatchers.Default` was significantly
reduced
([#&#8203;3137](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3137)).
- Updated slf4j version in `kotlinx-coroutines-slf4j` from 1.7.25 to
1.7.32.

###
[`v1.6.0`](https://togithub.com/Kotlin/kotlinx.coroutines/releases/tag/1.6.0)

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

Note that this is a full changelog relative to the 1.5.2 version.
Changelog relative to 1.6.0-RC3 can be found at the end.

##### kotlinx-coroutines-test rework

- `kotlinx-coroutines-test` became a multiplatform library usable from
K/JVM, K/JS, and K/N.
- Its API was completely reworked to address long-standing issues with
consistency, structured concurrency and correctness
([#&#8203;1203](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1203),
[#&#8203;1609](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1609),
[#&#8203;2379](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2379),
[#&#8203;1749](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1749),
[#&#8203;1204](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1204),
[#&#8203;1390](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1390),
[#&#8203;1222](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1222),
[#&#8203;1395](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1395),
[#&#8203;1881](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1881),
[#&#8203;1910](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1910),
[#&#8203;1772](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1772),
[#&#8203;1626](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1626),
[#&#8203;1742](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1742),
[#&#8203;2082](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2082),
[#&#8203;2102](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2102),
[#&#8203;2405](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2405),
[#&#8203;2462](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2462)
    ).
- The old API is deprecated for removal, but the new API is based on the
similar concepts ([README](kotlinx-coroutines-test/README.md)), and the
migration path is designed to be graceful: [migration
guide](kotlinx-coroutines-test/MIGRATION.md).

##### Dispatchers

- Introduced `CoroutineDispatcher.limitedParallelism` that allows
obtaining a view of the original dispatcher with limited parallelism
([#&#8203;2919](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2919)).
- `Dispatchers.IO.limitedParallelism` usages ignore the bound on the
parallelism level of `Dispatchers.IO` itself to avoid starvation
([#&#8203;2943](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2943)).
- Introduced new `Dispatchers.shutdown` method for containerized
environments
([#&#8203;2558](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2558)).
- `newSingleThreadContext` and `newFixedThreadPoolContext` are promoted
to delicate API
([#&#8203;2919](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2919)).

##### Breaking changes

- When racing with cancellation, the `future` builder no longer reports
unhandled exceptions into the global `CoroutineExceptionHandler`. Thanks
[@&#8203;vadimsemenov](https://togithub.com/vadimsemenov)!
([#&#8203;2774](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2774),
[#&#8203;2791](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2791)).
- `Mutex.onLock` is deprecated for removal
([#&#8203;2794](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2794)).
- `Dispatchers.Main` is now used as the default source of time for
`delay` and `withTimeout` when present
([#&#8203;2972](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2972)).
- To opt-out from this behaviour, `kotlinx.coroutines.main.delay` system
property can be set to `false`.
- Java target of coroutines build is now 8 instead of 6
([#&#8203;1589](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1589)).
- **Source-breaking change**: extension `collect` no longer resolves
when used with a non-in-place argument of a functional type. This is a
candidate for a fix, uncovered after 1.6.0, see
[#&#8203;3107](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3107)
for the additional details.

##### Bug fixes and improvements

-   Kotlin is updated to 1.6.0.
- Kotlin/Native [new memory
model](https://blog.jetbrains.com/kotlin/2021/08/try-the-new-kotlin-native-memory-manager-development-preview/)
is now supported in regular builds of coroutines conditionally depending
on whether `kotlin.native.binary.memoryModel` is enabled
([#&#8203;2914](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2914)).
- Introduced `CopyableThreadContextElement` for mutable context elements
shared among multiple coroutines. Thanks
[@&#8203;yorickhenning](https://togithub.com/yorickhenning)!
([#&#8203;2893](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2893)).
- `transformWhile`, `awaitClose`, `ProducerScope`, `merge`,
`runningFold`, `runingReduce`, and `scan` are promoted to stable API
([#&#8203;2971](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2971)).
- `SharedFlow.subscriptionCount` no longer conflates incoming updates
and gives all subscribers a chance to observe a short-lived subscription
([#&#8203;2488](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2488),
[#&#8203;2863](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2863),
[#&#8203;2871](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2871)).
- `Flow` exception transparency mechanism is improved to be more
exception-friendly
([#&#8203;3017](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3017),
[#&#8203;2860](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2860)).
- Cancellation from `flat*` operators that leverage multiple coroutines
is no longer propagated upstream
([#&#8203;2964](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2964)).
- `SharedFlow.collect` now returns `Nothing`
([#&#8203;2789](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2789),
[#&#8203;2502](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2502)).
- `DisposableHandle` is now `fun interface`, and corresponding inline
extension is removed
([#&#8203;2790](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2790)).
- `FlowCollector` is now `fun interface`, and corresponding inline
extension is removed
([#&#8203;3047](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3047)).
- Deprecation level of all previously deprecated signatures is raised
([#&#8203;3024](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3024)).
- The version file is shipped with each JAR as a resource
([#&#8203;2941](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2941)).
- Unhandled exceptions on K/N are passed to the standard library
function `processUnhandledException`
([#&#8203;2981](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2981)).
- A direct executor is used for `Task` callbacks in
`kotlinx-coroutines-play-services`
([#&#8203;2990](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2990)).
- Metadata of coroutines artifacts leverages Gradle platform to have all
versions of dependencies aligned
([#&#8203;2865](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2865)).
- Default `CoroutineExceptionHandler` is loaded eagerly and does not
invoke `ServiceLoader` on its exception-handling path
([#&#8203;2552](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2552)).
- Fixed the R8 rules for `ServiceLoader` optimization
([#&#8203;2880](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2880)).
- Fixed BlockHound integration false-positives
([#&#8203;2894](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2894),
[#&#8203;2866](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2866),
[#&#8203;2937](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2937)).
- Fixed the exception handler being invoked several times on Android,
thanks to [@&#8203;1zaman](https://togithub.com/1zaman)
([#&#8203;3056](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3056)).
- `SendChannel.trySendBlocking` is now available on Kotlin/Native
([#&#8203;3064](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3064)).
- The exception recovery mechanism now uses `ClassValue` when available
([#&#8203;2997](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2997)).
- JNA is updated to 5.9.0 to support Apple M1
([#&#8203;3001](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3001)).
- Obsolete method on internal `Delay` interface is deprecated
([#&#8203;2979](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2979)).
-   Support of deprecated `CommonPool` is removed.
- `@ExperimentalTime` is no longer needed for methods that use
`Duration`
([#&#8203;3041](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3041)).
- JDK 1.6 is no longer required for building the project
([#&#8203;3043](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3043)).
- New version of Dokka is used, fixing the memory leak when building the
coroutines and providing brand new reference visuals
(https://kotlin.github.io/kotlinx.coroutines/)
([#&#8203;3051](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3051),
[#&#8203;3054](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3054)).

###
[`v1.5.2`](https://togithub.com/Kotlin/kotlinx.coroutines/releases/tag/1.5.2)

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

-   Kotlin is updated to 1.5.30.
-   New native targets for Apple Silicon are introduced.
- Fixed a bug when `onUndeliveredElement` was incorrectly called on
properly received elements on JS
([#&#8203;2826](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2826)).
- Fixed `Dispatchers.Default` on React Native, it now fully relies on
`setTimeout` instead of stub `process.nextTick`. Thanks to
[@&#8203;Legion2](https://togithub.com/Legion2)
([#&#8203;2843](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2843)).
- Optimizations of `Mutex` implementation
([#&#8203;2581](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2581)).
- `Mutex` implementation is made completely lock-free as stated
([#&#8203;2590](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2590)).
- Various documentation and guides improvements. Thanks to
[@&#8203;MasoodFallahpoor](https://togithub.com/MasoodFallahpoor) and
[@&#8203;Pihanya](https://togithub.com/Pihanya).

###
[`v1.5.1`](https://togithub.com/Kotlin/kotlinx.coroutines/releases/tag/1.5.1)

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

- Atomic `update`, `getAndUpdate`, and `updateAndGet` operations of
`MutableStateFlow`
([#&#8203;2720](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2720)).
- `Executor.asCoroutineDispatcher` implementation improvements
([#&#8203;2601](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2601)):
- If the target executor is `ScheduledExecutorService`, then its
`schedule` API is used for time-related coroutine operations.
    -   `RemoveOnCancelPolicy` is now part of the public contract.
- Introduced overloads for `Task.asDeferred` and `Task.await` that
accept `CancellationTokenSource` for bidirectional cancellation
([#&#8203;2527](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2527)).
- Reactive streams are updated to `1.0.3`
([#&#8203;2740](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2740)).
- `CopyableThrowable` is allowed to modify the exception message during
stacktrace recovery
([#&#8203;1931](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1931)).
- `CoroutineDispatcher.releaseInterceptedContinuation` is now a `final`
method
([#&#8203;2785](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2785)).
- Closing a Handler underlying `Handler.asCoroutineDispatcher` now
causes the dispatched coroutines to be canceled on `Dispatchers.IO
(#&#8203;2778)`.
-   Kotlin is updated to 1.5.20.
- Fixed a spurious `ClassCastException` in
`releaseInterceptedContinuation` and `IllegalStateException` from
`tryReleaseClaimedContinuation`
([#&#8203;2736](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2736),
[#&#8203;2768](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2768)).
- Fixed inconsistent exception message during stacktrace recovery for
non-suspending channel iterators
([#&#8203;2749](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2749)).
- Fixed linear stack usage for `CompletableFuture.asDeferred` when the
target future has a long chain of listeners
([#&#8203;2730](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2730)).
- Any exceptions from `CoroutineDispatcher.isDispatchNeeded` are now
considered as fatal and are propagated to the caller
([#&#8203;2733](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2733)).
- Internal `DebugProbesKt` (used in the debugger implementation) are
moved from `debug` to `core` module.

###
[`v1.5.0`](https://togithub.com/Kotlin/kotlinx.coroutines/releases/tag/1.5.0)

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

Note that this is a full changelog relative to 1.4.3 version. Changelog
relative to 1.5.0-RC can be found in the end.

##### Channels API

- Major channels API rework
([#&#8203;330](https://togithub.com/Kotlin/kotlinx.coroutines/issues/330),
[#&#8203;974](https://togithub.com/Kotlin/kotlinx.coroutines/issues/974)).
Existing `offer`, `poll`, and `sendBlocking` methods are deprecated,
internal `receiveCatching` and `onReceiveCatching` removed,
`receiveOrNull` and `onReceiveOrNull` are completely deprecated.
Previously deprecated `SendChannel.isFull` declaration is removed.
Channel operators deprecated with `ERROR` are now `HIDDEN`.
- New methods `receiveCatching`, `onReceiveCatching` `trySend`,
`tryReceive`, and `trySendBlocking` along with the new result type
`ChannelResult` are introduced. They provide better type safety, are
less error-prone, and have a consistent future-proof naming scheme. The
full rationale behind this change can be found
[here](https://togithub.com/Kotlin/kotlinx.coroutines/issues/974#issuecomment-806569582).
- `BroadcastChannel` and `ConflatedBroadcastChannel` are marked as
`ObsoleteCoroutinesApi` in the favor or `SharedFlow` and `StateFlow`.
The migration scheme can be found in their documentation. These classes
will be deprecated in the next major release.
-   `callbackFlow` and `channelFlow` are promoted to stable API.

##### Reactive integrations

- All existing API in modules `kotlinx-coroutines-rx2`,
`kotlinx-coroutines-rx3`, `kotlinx-coroutines-reactive`,
`kotlinx-coroutines-reactor`, and `kotlinx-coroutines-jdk9` were
revisited and promoted to stable
([#&#8203;2545](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2545)).
- `publish` is no longer allowed to emit `null` values
([#&#8203;2646](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2646)).
- Misleading `awaitSingleOr*` functions on `Publisher` type are
deprecated
([#&#8203;2591](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2591)).
- `MaybeSource.await` is deprecated in the favor of `awaitSingle`,
additional lint functions for `Mono` are added in order to prevent
ambiguous `Publisher` usages
([#&#8203;2628](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2628),
[#&#8203;1587](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1587)).
- `ContextView` support in `kotlinx-coroutines-reactor`
([#&#8203;2575](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2575)).
- All reactive builders no longer ignore inner cancellation exceptions
preventing their completion
([#&#8203;2262](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2262),
[#&#8203;2646](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2646)).
- `MaybeSource.collect` and `Maybe.collect` properly finish when they
are completed without a value
([#&#8203;2617](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2617)).
- All exceptions are now consistently handled according to reactive
specification, whether they are considered 'fatal' or not by reactive
frameworks
([#&#8203;2646](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2646)).

##### Other improvements

- Kotlin version is upgraded to 1.5.0 and JVM target is updated to 1.8.
- `Flow.last` and `Flow.lastOrNull` operators
([#&#8203;2246](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2246)).
- `Flow.runningFold` operator
([#&#8203;2641](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2641)).
- `CoroutinesTimeout` rule for JUnit5
([#&#8203;2197](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2197)).
- Internals of `Job` and `AbstractCoroutine` was reworked, resulting in
smaller code size, less memory footprint, and better performance
([#&#8203;2513](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2513),
[#&#8203;2512](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2512)).
- `CancellationException` from Kotlin standard library is used for
cancellation on Koltin/JS and Kotlin/Native
([#&#8203;2638](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2638)).
- Introduced new `DelicateCoroutinesApi` annotation that warns users
about potential target API pitfalls and suggests studying API's
documentation first. The only delicate API right now is `GlobalScope`
([#&#8203;2637](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2637)).
- Fixed bug introduced in `1.4.3` when `kotlinx-coroutines-core.jar`
triggered IDEA debugger failure
([#&#8203;2619](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2619)).
- Fixed memory leak of `ChildHandlerNode` with reusable continuations
([#&#8203;2564](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2564)).
- Various documentation improvements
([#&#8203;2555](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2555),
[#&#8203;2589](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2589),
[#&#8203;2592](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2592),
[#&#8203;2583](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2583),
[#&#8203;2437](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2437),
[#&#8203;2616](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2616),
[#&#8203;2633](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2633),
[#&#8203;2560](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2560)).

##### Changelog relative to version 1.5.0-RC

- Fail-fast during `emitAll` called from cancelled `onCompletion`
operator
([#&#8203;2700](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2700)).
- Flows returned by `stateIn`/`shareIn` keep strong reference to sharing
job
([#&#8203;2557](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2557)).
- Rename internal `TimeSource` to `AbstractTimeSource` due to import
issues
([#&#8203;2691](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2691)).
- Reverted the change that triggered IDEA coroutines debugger crash
([#&#8203;2695](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2695),
reverted
[#&#8203;2291](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2291)).
- `watchosX64` target support for Kotlin/Native
([#&#8203;2524](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2524)).
-   Various documentation fixes and improvements.

###
[`v1.4.3`](https://togithub.com/Kotlin/kotlinx.coroutines/releases/tag/1.4.3)

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

##### General changes

- Thread context is properly preserved and restored for coroutines
without `ThreadContextElement`
([#&#8203;985](https://togithub.com/Kotlin/kotlinx.coroutines/issues/985))
- `ThreadContextElement`s are now restored in the opposite order from
update
([#&#8203;2195](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2195))
- Improved performance of combine with 4 parameters, thanks to
[@&#8203;alexvanyo](https://togithub.com/alexvanyo)
([#&#8203;2419](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2419))
- Debug agent sanitizer leaves at least one frame with source location
([#&#8203;1437](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1437))
- Update Reactor version in `kotlinx-coroutines-reactor` to `3.4.1`,
thanks to [@&#8203;sokomishalov](https://togithub.com/sokomishalov)
([#&#8203;2432](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2432))
- `callsInPlace` contract added to `ReceiveChannel.consume`
([#&#8203;941](https://togithub.com/Kotlin/kotlinx.coroutines/issues/941))
- `CoroutineStart.UNDISPATCHED` promoted to stable API
([#&#8203;1393](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1393))
-   Kotlin updated to 1.4.30
-   `kotlinx.coroutines` are now released directly to MavenCentral
-   Reduced the size of `DispatchedCoroutine` by a field
- Internal class `TimeSource` renamed to `SchedulerTimeSource` to
prevent wildcard import issues
([#&#8203;2537](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2537))

##### Bug fixes

- Fixed the problem that prevented implementation via delegation for
`Job` interface
([#&#8203;2423](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2423))
- Fixed incorrect ProGuard rules that allowed shrinking volatile felds
([#&#8203;1564](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1564))
- Fixed `await`/`asDeferred` for `MinimalStage` implementations in jdk8
module
([#&#8203;2456](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2456))
- Fixed bug when `onUndeliveredElement` wasn't called for unlimited
channels
([#&#8203;2435](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2435))
- Fixed a bug when `ListenableFuture.isCancelled` returned from
`asListenableFuture` could have thrown an exception, thanks to
[@&#8203;vadimsemenov](https://togithub.com/vadimsemenov)
([#&#8203;2421](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2421))
- Coroutine in `callbackFlow` and `produce` is properly cancelled when
the channel was closed separately
([#&#8203;2506](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2506))

###
[`v1.4.2`](https://togithub.com/Kotlin/kotlinx.coroutines/releases/tag/1.4.2)

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

- Fixed `StackOverflowError` in `Job.toString` when `Job` is observed in
its intermediate state
([#&#8203;2371](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2371)).
- Improved liveness and latency of `Dispatchers.Default` and
`Dispatchers.IO` in low-loaded mode
([#&#8203;2381](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2381)).
- Improved performance of consecutive `Channel.cancel` invocations
([#&#8203;2384](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2384)).
- `SharingStarted` is now `fun` interface
([#&#8203;2397](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2397)).
- Additional lint settings for `SharedFlow` to catch programmatic errors
early
([#&#8203;2376](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2376)).
- Fixed bug when mutex and semaphore were not released during
cancellation
([#&#8203;2390](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2390),
thanks to [@&#8203;Tilps](https://togithub.com/Tilps) for reproducing).
- Some corner cases in cancellation propagation between coroutines and
listenable futures are repaired
([#&#8203;1442](https://togithub.com/Kotlin/kotlinx.coroutines/issues/1442),
thanks to [@&#8203;vadimsemenov](https://togithub.com/vadimsemenov)).
- Fixed unconditional cast to `CoroutineStackFrame` in exception
recovery that triggered failures of instrumented code
([#&#8203;2386](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2386)).
- Platform-specific dependencies are removed from
`kotlinx-coroutines-javafx`
([#&#8203;2360](https://togithub.com/Kotlin/kotlinx.coroutines/issues/2360)).

</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 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjEuOSIsInVwZGF0ZWRJblZlciI6IjM3LjQzMS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-14 23:00:07 +02:00
renovate[bot] f24b86cacb
fix(deps): update dependency androidx.test.espresso:espresso-core to v3.6.1 (#786)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.test.espresso:espresso-core](https://developer.android.com/testing)
| `3.6.0` -> `3.6.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.test.espresso:espresso-core/3.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.test.espresso:espresso-core/3.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.test.espresso:espresso-core/3.6.0/3.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.test.espresso:espresso-core/3.6.0/3.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQzMS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-14 22:59:48 +02:00
renovate[bot] 807f5db027
fix(deps): update dependency androidx.test.ext:junit to v1.2.1 (#787)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [androidx.test.ext:junit](https://developer.android.com/testing) |
`1.2.0` -> `1.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.test.ext:junit/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.test.ext:junit/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.test.ext:junit/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.test.ext:junit/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQzMS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-14 22:59:39 +02:00
Nik Clayton 8f5307b65f
revert: Downgrade androidx-paging to version 3.2.1 (#803)
3.3.0 has a race condition when `getItem` is called.

The fix is in
https://android-review.googlesource.com/c/platform/frameworks/support/+/3156343
but not released yet.

See:

- https://issuetracker.google.com/issues/343124454
- https://issuetracker.google.com/issues/349090863
2024-07-05 12:00:12 +02:00
Nik Clayton 5aacb02ea0
feat: Provide more detail in errors, especially media upload errors (#801)
Previous code assumed server responses would always be JSON, and had no
special handling for mis-configured servers that sometimes return HTML;
for example, if the server has a bug, or there's a reverse proxy in
front of the server issuing DoS-prevention challenges.

This could cause errors to show with no useful debugging information.

Update `ApiResult` to check the content-type in the response and return
one of two new errors if the content-type is missing or wrong. Also
include the HTTP code in `ApiResponse` for use elsewhere.

Update `ThrowableExtensions` to pull the `error` and optional
`description` out of the error body.

Update `PachliError` so `formatArgs` can be an array of arbitrary types,
not just strings.

Update `MediaUploader`; expose the different errors as new
`MediaUploaderError` types instead of `Exception` subclasses, and return
`Result<V, E>` where appropriate.

Update `ComposeViewModel` to use the new `MediaUploaderError` types and
create new `PickMediaError` to report issues there, replacing
`VideoOrImageException`.

Update `ComposeActivity` to use the new error types and show errors
until the user dismisses them, so they're better able to see and report
problems.

Fixes #704.
2024-07-04 19:16:24 +02:00
renovate[bot] 4878c23ac2
fix(deps): update dependency com.google.truth:truth to v1.4.3 (#797)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.truth:truth](https://togithub.com/google/truth) | `1.4.2`
-> `1.4.3` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.truth:truth/1.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.truth:truth/1.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.truth:truth/1.4.2/1.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.truth:truth/1.4.2/1.4.3?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>google/truth (com.google.truth:truth)</summary>

### [`v1.4.3`](https://togithub.com/google/truth/releases/tag/v1.4.3):
1.4.3

- Added more nullness information to our APIs (in the form of
[JSpecify](https://jspecify.dev/) annotations). This could lead to
additional warnings (or even errors) for users of Kotlin and other
nullness checkers. Please [report any
problems](https://togithub.com/google/truth/issues/new).
([`ee680cb`](https://togithub.com/google/truth/commit/ee680cbaf))
- Deprecated `Subject.Factory` methods for Java 8 types. We won't remove
them, but you can simplify your code by migrating off them: Just replace
`assertAbout(foos()).that(foo)` with `assertThat(foo)` (or
`about(foos()).that(foo)` with `that(foo)`).
([`59e7a50`](https://togithub.com/google/truth/commit/59e7a5065))

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjEuOSIsInVwZGF0ZWRJblZlciI6IjM3LjQyMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-03 17:18:39 +02:00
renovate[bot] 10c17059ef
fix(deps): update junit5 monorepo to v5.10.3 (#798)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [org.junit.jupiter:junit-jupiter-params](https://junit.org/junit5/)
([source](https://togithub.com/junit-team/junit5)) | `5.10.2` ->
`5.10.3` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.junit.jupiter:junit-jupiter-params/5.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.junit.jupiter:junit-jupiter-params/5.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.junit.jupiter:junit-jupiter-params/5.10.2/5.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.junit.jupiter:junit-jupiter-params/5.10.2/5.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [org.junit.jupiter:junit-jupiter](https://junit.org/junit5/)
([source](https://togithub.com/junit-team/junit5)) | `5.10.2` ->
`5.10.3` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.junit.jupiter:junit-jupiter/5.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.junit.jupiter:junit-jupiter/5.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.junit.jupiter:junit-jupiter/5.10.2/5.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.junit.jupiter:junit-jupiter/5.10.2/5.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjEuOSIsInVwZGF0ZWRJblZlciI6IjM3LjQyMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-03 17:18:19 +02:00
renovate[bot] d2841677de
fix(deps): update dependency androidx.test:core-ktx to v1.6.1 (#789)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [androidx.test:core-ktx](https://developer.android.com/testing) |
`1.6.0` -> `1.6.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.test:core-ktx/1.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.test:core-ktx/1.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.test:core-ktx/1.6.0/1.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.test:core-ktx/1.6.0/1.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQyMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-03 12:19:36 +02:00
Nik Clayton 4fc52f9bc2
feat: Warn the user if the posting language might be incorrect (#792)
The user has to specify the language they're posting in, and sometimes
they might get it wrong (e.g., replying to a post that also had the
language set incorrectly, forgetfulness, etc).

This has accessiblity issues (only following statuses in a given
language fails, translation can fail, etc).

Prevent this by trying to detect the language the status is written in
when the user tries to post it. If the detected language and the set
language do not match, and the detection is 60+% confident, warn the
user the status language might be incorrect, and offer to correct it
before posting.

How this works differs by device and API level.

- API 23 - 28, fdroid and github build flavours
   - Not supported. A no-op language detector is used.
- API 29 and above, fdroid and github build flavours
   - Uses Android TextClassifier to detect the likely language
- AP 23 and above, google build flavour
   - Uses ML Kit language identification

To do this:

- Add `LanguageIdentifier`, with methods to do the identification, and
`LanguageIdentifier.Factory` to create the identifiers.
- Inject the factory in `ComposeActivity`
- Detect the language when the user posts, showing a dialog if there's a
sufficiently large discrepancy.

The ML Kit dependencies (language models) will be installed by the Play
libraries, so there's some machinery to check that they're installed,
and kick off the installation if not. If they can't be installed then
the language check is bypassed.

Update the privacy policy, as the ML Kit libraries may send some data to
Google.
2024-07-02 20:22:17 +02:00
Nik Clayton 30ec3982ff
revert: Use androidx.startup for startup activities (#784)
This reverts commit 3870267701.

With this commit Pachli Current crash reports in Google Play showed
instances of:

```
Exception java.lang.RuntimeException:
  at android.app.ActivityThread.handleBindApplication (ActivityThread.java:7716)
  at android.app.ActivityThread.-$$Nest$mhandleBindApplication
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2478)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loopOnce (Looper.java:230)
  at android.os.Looper.loop (Looper.java:319)
  at android.app.ActivityThread.main (ActivityThread.java:8919)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:578)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1103)
Caused by java.lang.IllegalStateException: WorkManager is not initialized properly.  You have explicitly disabled WorkManagerInitializer in your manifest, have not manually called WorkManager#initialize at this point, and your Application does not implement Configuration.Provider.
  at androidx.work.impl.WorkManagerImpl.getInstance (WorkManagerImpl.java:170)
  at androidx.work.WorkManager.getInstance (WorkManager.java:184)
  at app.pachli.PachliApplication.onCreate (PachliApplication.kt:96)
  at android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1316)
  at android.app.ActivityThread.handleBindApplication (ActivityThread.java:7711)
```

on Samsung devices at API 34.

By my understanding this is a "can't happen" issue, the `WorkManager` is
supposed to be initialised by the androidx.startup content provider
before `PachliApplication` starts.

But it clearly does, so revert this change to be safe.
2024-06-26 23:34:17 +02:00
renovate[bot] 33abcd6207
fix(deps): update dependency androidx.fragment:fragment-ktx to v1.8.1 (#783)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.fragment:fragment-ktx](https://developer.android.com/jetpack/androidx/releases/fragment#1.8.1)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.8.0` -> `1.8.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.fragment:fragment-ktx/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.fragment:fragment-ktx/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.fragment:fragment-ktx/1.8.0/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.fragment:fragment-ktx/1.8.0/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-26 22:48:23 +02:00
renovate[bot] ce1cf67292
fix(deps): update dependency androidx.test:core-ktx to v1.6.0 (#775)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [androidx.test:core-ktx](https://developer.android.com/testing) |
`1.5.0` -> `1.6.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.test:core-ktx/1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.test:core-ktx/1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.test:core-ktx/1.5.0/1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.test:core-ktx/1.5.0/1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-25 13:08:36 +02:00
renovate[bot] f7e127d385
fix(deps): update dependency androidx.test.espresso:espresso-core to v3.6.0 (#776)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.test.espresso:espresso-core](https://developer.android.com/testing)
| `3.5.1` -> `3.6.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.test.espresso:espresso-core/3.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.test.espresso:espresso-core/3.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.test.espresso:espresso-core/3.5.1/3.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.test.espresso:espresso-core/3.5.1/3.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-25 13:08:26 +02:00
renovate[bot] 9afd408aec
fix(deps): update dependency androidx.test.ext:junit to v1.2.0 (#777)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [androidx.test.ext:junit](https://developer.android.com/testing) |
`1.1.5` -> `1.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.test.ext:junit/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.test.ext:junit/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.test.ext:junit/1.1.5/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.test.ext:junit/1.1.5/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-25 13:07:15 +02:00
Nik Clayton f3354d1aae
refactor: Improve IO performance and simplify code with Okio (#769)
`ImageDownsizer.downsizeImage()`:
- Remove the return value, it was ignored
- Throw `FileNotFoundException` when `openInputStream` returns null

`ImageDownsizer.getImageOrientation()`:
- Throw `FileNotFoundException` when `openInputStream` returns null

`MediaUploader.prepareMedia()`:
- Copy URI contents using Okio buffers / source / sink

`UriExtensions`:
- Rename from `IOUtils`
- Implement `Uri.copyToFile()` using Okio buffers / source / sink
- Replace `ProgressRequestBody()` with `Uri.asRequestBody()` using Okio
buffers / source / sink

`DraftHelper.copyToFolder()`
- Use Okio buffers / source / sink

`CompositeWithOpaqueBackground`
- Use constants `SIZE_BYTES` and `CHARSET` instead of magic values
- Use `Objects.hash` when hashing multiple objects

Based on work by Christophe Beyls in
- https://github.com/tuskyapp/Tusky/pull/4366
- https://github.com/tuskyapp/Tusky/pull/4372
2024-06-20 13:18:58 +02:00
Nik Clayton 8877482abc
chore(deps): Update sparkbutton to 4.2.0 (#767) 2024-06-19 20:26:17 +02:00
Nik Clayton 4551313bd2
refactor: Use androidx.core:core-splashscreen library (#766)
Previous code depended on, but did not initialise, the androidx
splashscreen library.

Fix that, using the library on API < 31, or the platform implementation
otherwise.

`SplashActivity` is no longer needed, launching goes straight in to
`MainActivity`.

Version 1.2.0-alpha01 is needed to fix some theme corruption bugs in
earlier versions of the library.
2024-06-19 16:27:49 +02:00
renovate[bot] 2f69b20209
fix(deps): update dependency com.mikepenz:iconics-core to v5.5.0-compose01 (#538)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.mikepenz:iconics-core](https://togithub.com/mikepenz/Android-Iconics)
| `5.4.0` -> `5.5.0-compose01` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz:iconics-core/5.5.0-compose01?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz:iconics-core/5.5.0-compose01?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz:iconics-core/5.4.0/5.5.0-compose01?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz:iconics-core/5.4.0/5.5.0-compose01?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNDUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjQxMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-19 14:50:07 +02:00
renovate[bot] f190eeeff5
fix(deps): update dependency dev.zacsweers.autoservice:auto-service-ksp to v1.2.0 (#760)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[dev.zacsweers.autoservice:auto-service-ksp](https://togithub.com/ZacSweers/auto-service-ksp)
| `1.1.0` -> `1.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/dev.zacsweers.autoservice:auto-service-ksp/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/dev.zacsweers.autoservice:auto-service-ksp/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/dev.zacsweers.autoservice:auto-service-ksp/1.1.0/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/dev.zacsweers.autoservice:auto-service-ksp/1.1.0/1.2.0?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>ZacSweers/auto-service-ksp
(dev.zacsweers.autoservice:auto-service-ksp)</summary>

###
[`v1.2.0`](https://togithub.com/ZacSweers/auto-service-ksp/blob/HEAD/CHANGELOG.md#120)

[Compare
Source](https://togithub.com/ZacSweers/auto-service-ksp/compare/1.1.0...1.2.0)

*2024-06-07*

-   Update to Kotlin `2.0.0`.
-   Update to KSP `2.0.0-1.0.22`.
-   **Fix**: Support multi-round processing.
- **Fix**: Improve error message when no service interfaces are
specified.

Special thanks to
[@&#8203;daisyliu618](https://togithub.com/daisyliu618) and
[@&#8203;lexa-diky](https://togithub.com/lexa-diky) for contributing to
this release!

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTAuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQxMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-19 14:29:15 +02:00
renovate[bot] d9753ca937
fix(deps): update dependency io.github.oshai:kotlin-logging-jvm to v7 (#761)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[io.github.oshai:kotlin-logging-jvm](https://togithub.com/oshai/kotlin-logging)
| `6.0.9` -> `7.0.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.github.oshai:kotlin-logging-jvm/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.github.oshai:kotlin-logging-jvm/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.github.oshai:kotlin-logging-jvm/6.0.9/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.github.oshai:kotlin-logging-jvm/6.0.9/7.0.0?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>oshai/kotlin-logging
(io.github.oshai:kotlin-logging-jvm)</summary>

###
[`v7.0.0`](https://togithub.com/oshai/kotlin-logging/releases/tag/7.0.0)

[Compare
Source](https://togithub.com/oshai/kotlin-logging/compare/6.0.9...7.0.0)

#### What's Changed

- WASM Anonymous Logging Refinement by
[@&#8203;severn-everett](https://togithub.com/severn-everett) in
[https://github.com/oshai/kotlin-logging/pull/424](https://togithub.com/oshai/kotlin-logging/pull/424)
- Leverage tail recursion when creating message out of Throwable by
[@&#8203;severn-everett](https://togithub.com/severn-everett) in
[https://github.com/oshai/kotlin-logging/pull/423](https://togithub.com/oshai/kotlin-logging/pull/423)
- Upgraded Kotlin to 2.0.0 by
[@&#8203;severn-everett](https://togithub.com/severn-everett) in
[https://github.com/oshai/kotlin-logging/pull/428](https://togithub.com/oshai/kotlin-logging/pull/428)

**Full Changelog**:
https://github.com/oshai/kotlin-logging/compare/6.0.9...7.0.0

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTAuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQxMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-19 14:27:40 +02:00
Nik Clayton bd6bc95b01
refactor: Use androidx.startup for startup activities (#762)
Move initialisation of WorkManager and Timber in to new `Initializer`
classes, managed by `androidx.startup`.

There's a false-positive `BadConfigurationProvider` lint message because
the `Configuration.Provider` is in the content provider and not the
application class.
2024-06-19 14:02:58 +02:00
renovate[bot] 392b803497
fix(deps): update dependency com.mikepenz:google-material-typeface to v4.0.0.3-kotlin (#720)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.mikepenz:google-material-typeface](https://togithub.com/mikepenz/Android-Iconics)
| `4.0.0.2-kotlin` -> `4.0.0.3-kotlin` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz:google-material-typeface/4.0.0.3-kotlin?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz:google-material-typeface/4.0.0.3-kotlin?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz:google-material-typeface/4.0.0.2-kotlin/4.0.0.3-kotlin?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz:google-material-typeface/4.0.0.2-kotlin/4.0.0.3-kotlin?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNzcuOCIsInVwZGF0ZWRJblZlciI6IjM3LjQxMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-18 19:02:07 +02:00
renovate[bot] 0e150c7b45
fix(deps): update dependency com.google.android.material:material to v1.12.0 (#692)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.google.android.material:material](https://togithub.com/material-components/material-components-android)
| `1.11.0` -> `1.12.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.android.material:material/1.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.android.material:material/1.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.android.material:material/1.11.0/1.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.android.material:material/1.11.0/1.12.0?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>material-components/material-components-android
(com.google.android.material:material)</summary>

###
[`v1.12.0`](https://togithub.com/material-components/material-components-android/releases/tag/1.12.0)

[Compare
Source](https://togithub.com/material-components/material-components-android/compare/1.11.0...1.12.0)

### What's new since 1.11.0

- `Slider` and `Progress Indicator` have been updated to better support
Non-Text Contrast Accessibility requirements.
- Predictive Back Fragment/View support added to Material motion
transitions (`MaterialSharedAxis`, `MaterialFadeThrough`,
`MaterialFade`, `MaterialElevationScale`).

#### Important

Required `minSdkVersion` is now 19 or higher, for Material and AndroidX
([blog
post](https://android-developers.googleblog.com/2023/10/androidx-minsdkversion-19.html)).

#### Dependency Updates

| Dependency | Previous version | New version |
| - | - | - |
| androidx.transition | 1.2.0 | 1.5.0 |

#### Library Updates

-   `Gradle`
- Update library minSdkVersion to 19.
([`1bbb43d`](1bbb43d155))
- Upgrade to //third_party/gradle to 8.4
([`1756f23`](1756f233ec))
-   `Carousel`
- Shifted keylines in contained strategies when there exists padding,
and clipToPadding=false
([`1ef42e2`](1ef42e2f23))
- Fixed Javadoc formatting error in `FullScreenCarouselStrategy` class
documentation.
([`a0a1c6e`](a0a1c6e044))
- Added support for cross axis wrap_content RecyclerViews
([`e88a1b9`](e88a1b98d2))
- Added documentation recommending snapping for multi-browse strategy
([`9e64a1f`](9e64a1f5f6))
- Add attributes to change small item size
([`92a5444`](92a5444de9))
-   `CollapsingToolbarLayout`
- Fix text shadow fading when transitioning between expanded and
collapsed states
([`7674e12`](7674e12ea8))
-   `Checkbox`
- Updated string translations
([`198e08c`](198e08cf5e))
-   `Dialog`
- Unified scrim opacity in Material themes/theme overlays.
([`f3e4439`](f3e4439ca6))
-   `Divider`
- Fixed divider instantly appearing or disappearing on insertion or
removal
([`ef4a0c5`](ef4a0c5e36))
-   `i18n`
- Update translated strings
([`a8307ef`](a8307ef792))
-   `MaterialDatePicker`
- Fix date validation on Samsung devices
([`5aa6edf`](5aa6edfaed))
-   `MaterialAutoCompleteTextView`
- Enabled switch access in MaterialAutoCompleteTextView.
([`14a7b40`](14a7b40363))
-   `NavigationDrawer`
- Fixed wrong item selected after click
([`a3af20a`](a3af20a869))
-   `NavigationRail`
- Added label padding for when the label is long enough to reach the
sides of the nav rail
([`2439dc0`](2439dc0e81))
- Increased padding in between items as per design specs
([`16eca7e`](16eca7eef3))
-   `Predictive Back`
- Animated corners during predictive back when no drawerLayoutCornerSize
is set
([`c8b9b1c`](c8b9b1c0bb))
-   `ProgressIndicator`
- Updated inactive track color from primary container to secondary
container.
([`c8cb0c6`](c8cb0c6037))
- Updated the setter of track thickness to not update track corner
radius.
([`540f5ee`](540f5ee983))
- Added the limit to not have stop indicator size bigger than track
thickness.
([`689e04f`](689e04f9ed))
- Fixed the rounded ends overlapping bug with semi-transparent
track/indicator color in Circular default style.
([`8167c11`](8167c115e3))
- Removed the call to draw a transparent full track.
([`3f80fdb`](3f80fdb9e1))
- Flipped the canvas for different circular directions.
([`bcc27a3`](bcc27a3638))
- Split stop indicator drawing from indicator drawing.
([`76207cb`](76207cb270))
- Added ActiveIndicator to improve readability.
([`6fd920a`](6fd920a2c1))
- Fixed ESCAPE animation in linear and added ESCAPE animation in
circular.
([`98284e7`](98284e74ad))
- Updated to use the same drawing delegate object between determinate
drawable and indeterminate drawable to prevent inconsistent drawings
when specs update.
([`52b4845`](52b48450fc))
- Added missing graphics updates when spec changes.
([`93b3010`](93b30109b0))
- Update styles for new Accessibility updates
([`15b533f`](15b533fffb))
- Added static drawable for Circular type when system animator is
disabled.
([`22e054b`](22e054ba68))
-   `Search`
- Excluded icons from search bar handwriting bounds
([`387f59b`](387f59b706))
- Made `searchbar_scrolling_view_behavior` string public
([`ce386e4`](ce386e4c20))
- Updated string translations
([`198e08c`](198e08cf5e))
-   `SideSheet`
- Moved the modal side sheet default width/height into style so they can
be customized
- Updated string translations
([`198e08c`](198e08cf5e))
-   `Slider`
- Made tick size defaults to the stop indicator size if set
([`92bc02c`](92bc02c37c))
- Fixed incorrect style of stop indicators near handles
([`d61cffd`](d61cffd7eb))
- Resolved issues that crash when assigning a large value to `valueTo`
([`4d1b9e5`](4d1b9e58a5))
- Updated the track drawing for some corner cases.
([`10484df`](10484df407))
- Fixed ripple not transparent on API 33
([`cd4f618`](cd4f618d38))
- Updated documentation
([`a641e18`](a641e18b6a))
- Updated styles
([`c218b3c`](3b278d7097))
- Fixed slider label not moving while scrolling
([`144b515`](144b5159ce))
-   `Tabs`
- Fixed title being announced twice when there's a badge in TalkBack
mode.
([`aaa7034`](aaa7034cbf))
-   `Theming`
- Add NoActionBar dynamic color themes
([`81d1b77`](81d1b772b9))
- Update Shape Theming bottom sheet text color
([`8ca016f`](8ca016fb01))
-   `Tokens`
- Update tokens to v4.0.0.
([`88acfcd`](88acfcdb63))
- Added formatting to break long lines and differentiate different
comments.
([`857d6a2`](857d6a2fd9))
-   `TopAppBar`
- Use an accessibility delegate to add and perform actions
([`929c80f`](929c80f753))
- Fixed compress effect clipping on API 21-24
([`2ac8c1c`](2ac8c1cbf6))
-   `TextInputLayout`
- Limited the min height reset in text change listener only when line
count changes.
([`9b9449c`](9b9449cde1))
- Fixed unnecessary min height when losing focus with multiple lines.
([`4a2654a`](4a2654a3f3))
-   `Transitions / Motion`
- Updated androidx transition dep to version 1.5.0-beta01
([`8c63848`](8c63848829))
- Added predictive fade through fragment transition demo to Catalog.
([`6092a7d`](6092a7dfe9))
- Added titles to fade through demo fragments in Catalog.
([`104043c`](104043caee))
- Added predictive transition support for fragments and views to the
Material motion library, and enabled it in shared axis fragment
transition demo.
([`8ccec33`](8ccec334bd))

#### Full list of release notes

-
[1.12.0-alpha01](https://togithub.com/material-components/material-components-android/releases/tag/1.12.0-alpha01)
-
[1.12.0-alpha02](https://togithub.com/material-components/material-components-android/releases/tag/1.12.0-alpha02)
-
[1.12.0-alpha03](https://togithub.com/material-components/material-components-android/releases/tag/1.12.0-alpha03)
-
[1.12.0-beta01](https://togithub.com/material-components/material-components-android/releases/tag/1.12.0-beta01)
-
[1.12.0-rc01](https://togithub.com/material-components/material-components-android/releases/tag/1.12.0-rc01)

#### Full list of changes

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2024-06-18 18:40:45 +02:00
renovate[bot] 53d364fb41
fix(deps): update dependency androidx.transition:transition-ktx to v1.5.0 (#687)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.transition:transition-ktx](https://developer.android.com/jetpack/androidx/releases/transition#1.5.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.5.0-rc02` -> `1.5.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.transition:transition-ktx/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.transition:transition-ktx/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.transition:transition-ktx/1.5.0-rc02/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.transition:transition-ktx/1.5.0-rc02/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-18 18:06:25 +02:00
renovate[bot] 2ccee9bbfe
fix(deps): update dependency androidx.fragment:fragment-ktx to v1.8.0 (#690)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.fragment:fragment-ktx](https://developer.android.com/jetpack/androidx/releases/fragment#1.8.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.6.2` -> `1.8.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.fragment:fragment-ktx/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.fragment:fragment-ktx/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.fragment:fragment-ktx/1.6.2/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.fragment:fragment-ktx/1.6.2/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-18 17:53:04 +02:00
renovate[bot] 7641798531
fix(deps): update dependency androidx.paging:paging-runtime-ktx to v3.3.0 (#709)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.paging:paging-runtime-ktx](https://developer.android.com/jetpack/androidx/releases/paging#3.3.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `3.2.1` -> `3.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.paging:paging-runtime-ktx/3.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.paging:paging-runtime-ktx/3.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.paging:paging-runtime-ktx/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-runtime-ktx/3.2.1/3.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-18 17:38:45 +02:00
renovate[bot] e5b9961416
fix(deps): update dependency androidx.viewpager2:viewpager2 to v1.1.0, recyclerview to 1.3.2 (#710)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.viewpager2:viewpager2](https://developer.android.com/jetpack/androidx/releases/viewpager2#1.1.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.0.0` -> `1.1.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.viewpager2:viewpager2/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.viewpager2:viewpager2/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.viewpager2:viewpager2/1.0.0/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.viewpager2:viewpager2/1.0.0/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2024-06-18 17:12:40 +02:00
renovate[bot] 828909555a
chore(deps): update aboutlibraries to v11.2.1 (#679)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| com.mikepenz.aboutlibraries.plugin | `11.1.3` -> `11.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz.aboutlibraries.plugin/11.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz.aboutlibraries.plugin/11.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz.aboutlibraries.plugin/11.1.3/11.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz.aboutlibraries.plugin/11.1.3/11.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.mikepenz:aboutlibraries](https://togithub.com/mikepenz/AboutLibraries)
| `11.1.3` -> `11.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz:aboutlibraries/11.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz:aboutlibraries/11.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz:aboutlibraries/11.1.3/11.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz:aboutlibraries/11.1.3/11.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.mikepenz:aboutlibraries-core](https://togithub.com/mikepenz/AboutLibraries)
| `11.1.3` -> `11.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz:aboutlibraries-core/11.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz:aboutlibraries-core/11.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz:aboutlibraries-core/11.1.3/11.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz:aboutlibraries-core/11.1.3/11.2.1?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>mikepenz/AboutLibraries (com.mikepenz:aboutlibraries)</summary>

###
[`v11.2.1`](https://togithub.com/mikepenz/AboutLibraries/releases/tag/11.2.1)

[Compare
Source](https://togithub.com/mikepenz/AboutLibraries/compare/11.2.0...11.2.1)

#### 💬 Other

-   Reduce noise of AmbiguousArtifactVariantsException logs even more
- PR:
[#&#8203;990](https://togithub.com/mikepenz/AboutLibraries/issues/990)
    -   Thanks [@&#8203;sebokopter](https://togithub.com/sebokopter)

###
[`v11.2.0`](https://togithub.com/mikepenz/AboutLibraries/releases/tag/11.2.0)

#### 🚀 Features

-   Kotlin 2.x | Compose Compiler Update | Dependency upgrades
- PR:
[#&#8203;982](https://togithub.com/mikepenz/AboutLibraries/issues/982)
-   Upgrade to Kotiln 2.0.0 | Upgrade to Compose Multiplatform 1.6.10
- PR:
[#&#8203;988](https://togithub.com/mikepenz/AboutLibraries/issues/988)

#### 💬 Other

-   Enhanced wasm sample app | CI to publish to GitHub pages
- PR:
[#&#8203;984](https://togithub.com/mikepenz/AboutLibraries/issues/984)
-   Upgrade to Kotiln 2.0.0 | Upgrade to Compose Multiplatform 1.6.10
- PR:
[#&#8203;988](https://togithub.com/mikepenz/AboutLibraries/issues/988)

###
[`v11.1.4`](https://togithub.com/mikepenz/AboutLibraries/releases/tag/v11.1.4)

##### 🐛 Fixes

-   Fix CollectorTask output to be dependent on project name \[Plugin]
- PR:
[#&#8203;980](https://togithub.com/mikepenz/AboutLibraries/issues/980)

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMzEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjQxMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-18 16:38:54 +02:00
renovate[bot] e6df414633
fix(deps): update dependency androidx.webkit:webkit to v1.11.0 (#691)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.webkit:webkit](https://developer.android.com/jetpack/androidx/releases/webkit#1.11.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.10.0` -> `1.11.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.webkit:webkit/1.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.webkit:webkit/1.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.webkit:webkit/1.10.0/1.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.webkit:webkit/1.10.0/1.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-18 16:21:24 +02:00
renovate[bot] 7e5802cc45
fix(deps): update androidx.lifecycle to v2.8.2 (#708)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.lifecycle:lifecycle-viewmodel-ktx](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.2)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.7.0` -> `2.8.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-viewmodel-ktx/2.8.2?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.2?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.2?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.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.lifecycle:lifecycle-reactivestreams-ktx](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.2)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.7.0` -> `2.8.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-reactivestreams-ktx/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-reactivestreams-ktx/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-reactivestreams-ktx/2.7.0/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-reactivestreams-ktx/2.7.0/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.lifecycle:lifecycle-livedata-ktx](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.2)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.7.0` -> `2.8.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-livedata-ktx/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-livedata-ktx/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-livedata-ktx/2.7.0/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-livedata-ktx/2.7.0/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.lifecycle:lifecycle-common-java8](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.2)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.7.0` -> `2.8.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-common-java8/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-common-java8/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-common-java8/2.7.0/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-common-java8/2.7.0/2.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-18 16:06:12 +02:00
renovate[bot] e6962bc9d8
fix(deps): update moshix to v0.27.1 (#711)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[dev.zacsweers.moshix:moshi-sealed-codegen](https://togithub.com/ZacSweers/MoshiX)
| `0.25.1` -> `0.27.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/dev.zacsweers.moshix:moshi-sealed-codegen/0.27.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/dev.zacsweers.moshix:moshi-sealed-codegen/0.27.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/dev.zacsweers.moshix:moshi-sealed-codegen/0.25.1/0.27.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/dev.zacsweers.moshix:moshi-sealed-codegen/0.25.1/0.27.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[dev.zacsweers.moshix:moshi-sealed-runtime](https://togithub.com/ZacSweers/MoshiX)
| `0.25.1` -> `0.27.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/dev.zacsweers.moshix:moshi-sealed-runtime/0.27.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/dev.zacsweers.moshix:moshi-sealed-runtime/0.27.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/dev.zacsweers.moshix:moshi-sealed-runtime/0.25.1/0.27.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/dev.zacsweers.moshix:moshi-sealed-runtime/0.25.1/0.27.1?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>ZacSweers/MoshiX
(dev.zacsweers.moshix:moshi-sealed-codegen)</summary>

###
[`v0.27.1`](https://togithub.com/ZacSweers/MoshiX/blob/HEAD/CHANGELOG.md#0271)

[Compare
Source](https://togithub.com/ZacSweers/MoshiX/compare/0.27.0...0.27.1)

*2024-05-28*

-   \[moshi-sealed] Improve moshi-sealed KSP error messages.
- \[moshi-ir] Fix fallback adapter support in IR code gen not
recognizing Moshi parameters to primary constructors.
- \[moshi-sealed and moshi-ir] Check for same subtypes before erroring
on duplicate labels in moshi-sealed IR.
- \[moshi-proguard-rule-gen] Fix proguard rule gen not capturing
non-sealed subtypes.
- \[moshi-proguard-rule-gen] Don't write empty proguard rule files if
not rules were necessary.
-   Update KotlinPoet to `1.17.0`.

###
[`v0.27.0`](https://togithub.com/ZacSweers/MoshiX/blob/HEAD/CHANGELOG.md#0270)

[Compare
Source](https://togithub.com/ZacSweers/MoshiX/compare/0.26.0...0.27.0)

*2024-05-22*

##### Update to K2

This release updates to K2, aka Kotlin `2.0.0`. This also builds against
KSP `2.0.0-1.0.21`.

- \[moshi-metadata-reflect] Update to stable kotlin metadata API that
ships in K2. The new transitive dependency is now
`org.jetbrains.kotlin:kotlin-metadata-jvm:2.0.0`.
- \[ksp] All KSP processors are tested against both KSP 1 and the
in-beta KSP2.
- \[moshi-ir] Support K2 IR API changes. We may explore building out FIR
support for better IDE support in the future, but for now the entire
implementation remains in an IR-only plugin.

###
[`v0.26.0`](https://togithub.com/ZacSweers/MoshiX/blob/HEAD/CHANGELOG.md#0260)

[Compare
Source](https://togithub.com/ZacSweers/MoshiX/compare/0.25.1...0.26.0)

*2024-05-12*

##### **New**: Publish a new `moshi-immutable-adapters` artifact with
support for
[kotlinx.collections.immutable](https://togithub.com/Kotlin/kotlinx.collections.immutable).

Gradle dependency

```kotlin
dependencies {
  implementation("dev.zacsweers.moshix:moshi-immutable-adapters:<version>")
}
```

In code

```kotlin
val moshi = Moshi.Builder().add(ImmutableCollectionsJsonAdapterFactory()).build()
```

**Supported types**

-   `ImmutableCollection`
-   `ImmutableList`
-   `ImmutableSet`
-   `ImmutableMap`
-   `PersistentCollection`
-   `PersistentList`
-   `PersistentSet`
-   `PersistentMap`

##### Misc

- Omit the stdlib from transitive dependencies on the compiler plugin
and Gradle plugin artifacts. Both kotlinc and Gradle impose their own
versions on the classpath.
-   Update Moshi to `1.15.1`.
-   Update kotlinx-metadata to `0.9.0`.
-   Update KotlinPoet to `1.16.0`.
-   Update Kotlin to `1.9.24`.
-   Update KSP to `1.9.24-1.0.20`.
-   Update Guava to `33.2.0-jre`.
-   Compile against Gradle `8.7`.

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-18 15:48:44 +02:00
renovate[bot] 1d4b5ad8e9
fix(deps): update dependency androidx.appcompat:appcompat to v1.7.0 (#721)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.appcompat:appcompat](https://developer.android.com/jetpack/androidx/releases/appcompat#1.7.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.6.1` -> `1.7.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.appcompat:appcompat/1.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.appcompat:appcompat/1.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.appcompat:appcompat/1.6.1/1.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.appcompat:appcompat/1.6.1/1.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNzcuOCIsInVwZGF0ZWRJblZlciI6IjM3LjQxMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-18 15:36:10 +02:00
renovate[bot] f69d249ff2
chore(deps): update kotlin (#685)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.devtools.ksp](https://goo.gle/ksp)
([source](https://togithub.com/google/ksp)) | `2.0.0-1.0.21` ->
`2.0.0-1.0.22` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp/2.0.0-1.0.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp/2.0.0-1.0.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp/2.0.0-1.0.21/2.0.0-1.0.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp/2.0.0-1.0.21/2.0.0-1.0.22?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)) | `2.0.0-1.0.21` ->
`2.0.0-1.0.22` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.0-1.0.22?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/2.0.0-1.0.22?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/2.0.0-1.0.21/2.0.0-1.0.22?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/2.0.0-1.0.21/2.0.0-1.0.22?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlinx:kotlinx-coroutines-test](https://togithub.com/Kotlin/kotlinx.coroutines)
| `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-android](https://togithub.com/Kotlin/kotlinx.coroutines)
| `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/)
|

---

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

---

### Release Notes

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

###
[`v2.0.0-1.0.22`](https://togithub.com/google/ksp/releases/tag/2.0.0-1.0.22)

[Compare
Source](https://togithub.com/google/ksp/compare/2.0.0-1.0.21...2.0.0-1.0.22)

#### Important Changes

- `KSErrorType.toString()` now contains the reference name it was tried
to be resolved, and therefore `KSErrorType` is no longer a singleton.
Processors relying on equality checks of that (in contrast of using
`KSType.isError`) will need to be updated accordingly.

#### Issues Fixed

[#&#8203;1908](https://togithub.com/google/ksp/issues/1908) KSP2:
Calling KSP2 in programs does not appear to work on macOS or Windows
[#&#8203;1917](https://togithub.com/google/ksp/issues/1917) KSP2's
symbol-processing-aa-embeddable artifact exposes an unresolvable
pre-release kotlin 2.0.20 dependency
[#&#8203;1911](https://togithub.com/google/ksp/issues/1911)
NoSuchMethodError when running KSP2 with Dagger (KSP 2.0.0-1.0.21)
[#&#8203;1909](https://togithub.com/google/ksp/issues/1909) KSP2:
default annotation arguments no longer work in 1.0.21
[#&#8203;1232](https://togithub.com/google/ksp/issues/1232) Expose
simple names on a missing types's synthetic declaration
[#&#8203;1857](https://togithub.com/google/ksp/issues/1857) \[KSP2]
Modifiers are missing for property accessors
[#&#8203;1924](https://togithub.com/google/ksp/issues/1924) \[KSP2] Type
arg becomes '\*' after calling KSType.replace() with an error type
[#&#8203;1948](https://togithub.com/google/ksp/issues/1948) KSP2 default
annotation KClass values for built-in types use java.lang.\* versions

#### What's Changed

- Include type hint into KSErrorType. by
[@&#8203;Jeffset](https://togithub.com/Jeffset) in
[https://github.com/google/ksp/pull/1848](https://togithub.com/google/ksp/pull/1848)
- Implement Resolver.getModuleName API by
[@&#8203;ZacSweers](https://togithub.com/ZacSweers) in
[https://github.com/google/ksp/pull/1847](https://togithub.com/google/ksp/pull/1847)
- Patch AA service files in renamed uber jar by
[@&#8203;ting-yuan](https://togithub.com/ting-yuan) in
[https://github.com/google/ksp/pull/1867](https://togithub.com/google/ksp/pull/1867)
- fix annotation default value parsing for arrays and class literals. by
[@&#8203;neetopia](https://togithub.com/neetopia) in
[https://github.com/google/ksp/pull/1871](https://togithub.com/google/ksp/pull/1871)
- fix package name for library based symbols by
[@&#8203;neetopia](https://togithub.com/neetopia) in
[https://github.com/google/ksp/pull/1873](https://togithub.com/google/ksp/pull/1873)
- Do not index classpath in declaration provider by
[@&#8203;ting-yuan](https://togithub.com/ting-yuan) in
[https://github.com/google/ksp/pull/1870](https://togithub.com/google/ksp/pull/1870)
- check functional interface for modifiers by
[@&#8203;neetopia](https://togithub.com/neetopia) in
[https://github.com/google/ksp/pull/1872](https://togithub.com/google/ksp/pull/1872)
- Annotation default java by
[@&#8203;neetopia](https://togithub.com/neetopia) in
[https://github.com/google/ksp/pull/1879](https://togithub.com/google/ksp/pull/1879)
- fix type parameter bounds by
[@&#8203;neetopia](https://togithub.com/neetopia) in
[https://github.com/google/ksp/pull/1880](https://togithub.com/google/ksp/pull/1880)
- Add command line parser and entry points by
[@&#8203;ting-yuan](https://togithub.com/ting-yuan) in
[https://github.com/google/ksp/pull/1885](https://togithub.com/google/ksp/pull/1885)
- KSP2: Fix support of wasm by
[@&#8203;ting-yuan](https://togithub.com/ting-yuan) in
[https://github.com/google/ksp/pull/1888](https://togithub.com/google/ksp/pull/1888)
- Return KSClassDeclarationEnumEntryImpl for enum entry annotation
values. by [@&#8203;neetopia](https://togithub.com/neetopia) in
[https://github.com/google/ksp/pull/1881](https://togithub.com/google/ksp/pull/1881)
- Reuse Kotlin indexes in incremental providers by
[@&#8203;ting-yuan](https://togithub.com/ting-yuan) in
[https://github.com/google/ksp/pull/1891](https://togithub.com/google/ksp/pull/1891)
- special handling for java property accessors override checking by
[@&#8203;neetopia](https://togithub.com/neetopia) in
[https://github.com/google/ksp/pull/1894](https://togithub.com/google/ksp/pull/1894)
- KSP2: Reuse Java indexes by
[@&#8203;ting-yuan](https://togithub.com/ting-yuan) in
[https://github.com/google/ksp/pull/1895](https://togithub.com/google/ksp/pull/1895)
- Incremental: fix roots from getSealedSubclasses by
[@&#8203;ting-yuan](https://togithub.com/ting-yuan) in
[https://github.com/google/ksp/pull/1893](https://togithub.com/google/ksp/pull/1893)
- use safe cast for annotation type to declaration resolution by
[@&#8203;neetopia](https://togithub.com/neetopia) in
[https://github.com/google/ksp/pull/1902](https://togithub.com/google/ksp/pull/1902)

**Full Changelog**:
https://github.com/google/ksp/compare/2.0.0-1.0.21...2.0.0-1.0.22

</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>

---

### 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 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-18 14:44:24 +02:00
renovate[bot] 882103893a
fix(deps): update dependency org.robolectric:robolectric to v4.12.2 (#707)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [org.robolectric:robolectric](http://robolectric.org)
([source](https://togithub.com/robolectric/robolectric)) | `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/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2024-06-18 14:30:17 +02:00
Nik Clayton 1468936970
chore(deps): update agp to v8.5.0, lint to 31.5.0 (#756)
New lint checks mean:

- Some trivial uses of String.format() are replaced with templates
- Use a string resource for the scheduled date and time

Some reported SetTextI18n warnings have been ignored, as they relate to
e.g., clearing a view's text by setting it to "".
2024-06-18 13:58:37 +02:00
Nik Clayton c5fe30088d
chore(deps): update kotlin to v2 (major) (#725) 2024-06-05 15:15:56 +02:00
renovate[bot] fec0dc5e82
chore(deps): update plugin ktlint to v12.1.1 (#686)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| org.jlleitschuh.gradle.ktlint | `12.1.0` -> `12.1.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jlleitschuh.gradle.ktlint/12.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jlleitschuh.gradle.ktlint/12.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jlleitschuh.gradle.ktlint/12.1.0/12.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jlleitschuh.gradle.ktlint/12.1.0/12.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM1MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-23 19:55:41 +02:00
renovate[bot] 23301213fb
chore(deps): update dependency com.apollographql.apollo3 to v3.8.4 (#676)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| com.apollographql.apollo3 | `3.8.3` -> `3.8.4` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.apollographql.apollo3/3.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.apollographql.apollo3/3.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.apollographql.apollo3/3.8.3/3.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.apollographql.apollo3/3.8.3/3.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMjEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjMzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-01 22:51:11 +02:00
renovate[bot] 9fb493819f
fix(deps): update dependency androidx.core:core-ktx to v1.13.1 (#654)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.core:core-ktx](https://developer.android.com/jetpack/androidx/releases/core#1.13.1)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.13.0` -> `1.13.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.core:core-ktx/1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.core:core-ktx/1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.core:core-ktx/1.13.0/1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.core:core-ktx/1.13.0/1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMjEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjMzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-01 22:43:58 +02:00
renovate[bot] ed7829bc21
fix(deps): update dependency androidx.webkit:webkit to v1.10.0 (#655)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.webkit:webkit](https://developer.android.com/jetpack/androidx/releases/webkit#1.10.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.8.0` -> `1.10.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.webkit:webkit/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.webkit:webkit/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.webkit:webkit/1.8.0/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.webkit:webkit/1.8.0/1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMjEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjMyMS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-30 16:24:04 +02:00
Nik Clayton bf474a5eef
fix(deps): update dependency androidx.core:core-ktx to v1.13.0 (#673)
Use `GestureDetector` as this release deprecates
`GestureDetectorCompat`.
2024-04-30 16:14:11 +02:00
renovate[bot] 7102c359db
fix(deps): update dependency com.github.ajalt.clikt:clikt to v4.4.0 (#660)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.github.ajalt.clikt:clikt](https://togithub.com/ajalt/clikt) |
`4.3.0` -> `4.4.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.github.ajalt.clikt:clikt/4.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.github.ajalt.clikt:clikt/4.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.github.ajalt.clikt:clikt/4.3.0/4.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.github.ajalt.clikt:clikt/4.3.0/4.4.0?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>ajalt/clikt (com.github.ajalt.clikt:clikt)</summary>

###
[`v4.4.0`](https://togithub.com/ajalt/clikt/blob/HEAD/CHANGELOG.md#440)

[Compare Source](https://togithub.com/ajalt/clikt/compare/4.3.0...4.4.0)

##### Added

-   Publish `linuxArm64` and `wasmJs` targets.

##### Changed

- In a subcommand with `argument().multiple()`, the behavior is now the
same regardless of the value of `allowMultipleSubcommands`: if a token
matches a subcommand name, it's now treated as a subcommand rather than
a positional argument.
- Due to changes to the internal parsing algorithm, the exact details of
error messages when multiple usage errors occur have changed in some
cases.
- **Breaking Change:** Moved the following parameters from
`CliktCommand`'s constructor; override the corresponding properties
instead:

    | removed parameter           | replacement property            |
    |-----------------------------|---------------------------------|
    | `help`                      | `fun help`                      |
    | `epilog`                    | `fun helpEpilog`                |
    | `invokeWithoutSubcommand`   | `val invokeWithoutSubcommand`   |
    | `printHelpOnEmptyArgs`      | `val printHelpOnEmptyArgs`      |
    | `helpTags`                  | `val helpTags`                  |
    | `autoCompleteEnvvar`        | `val autoCompleteEnvvar`        |
    | `allowMultipleSubcommands`  | `val allowMultipleSubcommands`  |
    | `treatUnknownOptionsAsArgs` | `val treatUnknownOptionsAsArgs` |
    | `hidden`                    | `val hiddenFromHelp`            |
- The following methods on `CliktCommand` have been renamed:
`commandHelp` -> `help`, `commandHelpEpilog` -> `epilog`. The old names
are deprecated.
- **Breaking Change:** `CliktCommand.main` and `CliktCommand.parse` are
now extension functions rather than methods.

##### Fixed

- Fixed excess arguments not being reported when
`allowMultipleSubcommands=true` and a subcommand has excess arguments
followed by another subcommand.

##### Deprecated

- Deprecated `Context.originalArgv`. It will now always return an empty
list. If your commands need an argv, you can pass it to them before you
run them.

##### Removed

-   Removed previously deprecated experimental annotations.

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMjEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjMyMS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-30 14:42:55 +02:00
renovate[bot] 9b740a0b8d
fix(deps): update dependency com.squareup.leakcanary:leakcanary-android to v2.14 (#656)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.squareup.leakcanary:leakcanary-android](https://togithub.com/square/leakcanary)
| `2.13` -> `2.14` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.leakcanary:leakcanary-android/2.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.leakcanary:leakcanary-android/2.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.leakcanary:leakcanary-android/2.13/2.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.leakcanary:leakcanary-android/2.13/2.14?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>square/leakcanary
(com.squareup.leakcanary:leakcanary-android)</summary>

### [`v2.14`](https://togithub.com/square/leakcanary/releases/tag/v2.14)

See [Change Log](https://square.github.io/leakcanary/changelog)

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMjEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjMyMS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-30 14:39:26 +02:00
Nik Clayton 93e6b38d43
feat: Update activity transitions, prepare for predictive-back (#650)
Previous code used a single animation type (slide) when transitioning,
the transition was quite slow, and didn't behave appropriately if the
device was set to a RTL writing system.

In addition, handling the back affordance didn't work well with the new
"Predictive Back" feature in Android 14

(https://developer.android.com/guide/navigation/custom-back/predictive-back-gesture).

Fix this.

## Transitions

To update the transitions the `startActivityWithSlideInAnimation()`
implementation (and associated `finishWithoutSlideOutAnimation()`) have
been replaced.

There are three transitions; `default`, `slide`, and `explode`,
represented as an enum passed to the activity intent.

The `default` transition is the activity transition from Android 14,
from the Android open source project

(https://cs.android.com/android/platform/superproject/+/android-14.0.0_r18:frameworks/base/core/res/res/anim/;bpv=1).
This is used for most transitions.

The `slide` transition is the pre-existing slide transition, with a
shorter transition time so it feels more responsive, and an RTL
implementation. This is used when there is a strong spatial component to
the navigation, for example, when going from:

- a status to its thread
- a preference menu item to its subscreen
- a filter in a list to the "edit filter" screen
- viewing your profile to editing your profile

The `explode` transition is used when the state of the app changes
significantly, such as when switching accounts.

Activities are now started with `startActivityWithTransition()` which
sets the intent and prepares the transition. `BaseActivity` checks the
intent for the transition type and makes further changes to the
transition as necessary.

## Predictive back

"Predictive back" needs to know what the back button would do before the
user interacts with it with an `onBackPressedCallback` that is either
enabled or disabled. This required refactoring some code (particularly
in `ComposeActivity`) to gather data ahead of time and enable/disable
the callback appropriately.

## Fixed bugs

- Back button wasn't stepping back through the tabs in AccountActivity
- Modifying a filter and pressing back without saving wasn't prompting
the user to save the changes
- Writing a content warning and then hiding it would still count the
text of the content warning toward's the post's length

## Other cleanups

- Use `ViewCompat.setTransitionName()` instead of setting the
`transitionName` property
- Delete the unused `fade_in` and `fade_out` animations.
- Use androidx-activity 1.9.0 to get the latest predictive back support
library code
- Show validation errors when creating / editing filters
2024-04-26 23:18:30 +02:00
renovate[bot] ae8c74c16c
fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.6 (#644)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ch.qos.logback:logback-classic](http://logback.qos.ch)
([source](https://togithub.com/qos-ch/logback),
[changelog](https://logback.qos.ch/news.html)) | `1.5.5` -> `1.5.6` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/ch.qos.logback:logback-classic/1.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/ch.qos.logback:logback-classic/1.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/ch.qos.logback:logback-classic/1.5.5/1.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/ch.qos.logback:logback-classic/1.5.5/1.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMTMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjMxMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-24 12:07:49 +02:00
Nik Clayton 3e1d94ded2
feat: Use Let's Encrypt certificates on API 23 devices (#640)
Android 7 devices no longer trust certificates issued by Let's Encrypt
(see https://letsencrypt.org/2020/11/06/own-two-feet and
https://letsencrypt.org/2023/07/10/cross-sign-expiration.html for
details).

To work around that provide the Let's Encrypt root certs as resources.

On API 24+ devices add those via network_security_config.xml.

On API 23 devices they need to be installed manually for OkHttp SSL
connections, and checked when there is an SSL error in
LoginWebViewActivity.

The root certificates were downloaded from
https://letsencrypt.org/certificates/:

- https://letsencrypt.org/certs/isrgrootx1.der (self-signed)
- https://letsencrypt.org/certs/isrg-root-x1-cross-signed.der
(cross-signed)
- https://letsencrypt.org/certs/isrg-root-x2.der (self-signed)
- https://letsencrypt.org/certs/isrg-root-x2-cross-signed.der
(cross-signed)

Fixes #638
2024-04-24 10:32:50 +02:00
renovate[bot] 7e335ed51c
fix(deps): update dependency com.ibm.icu:icu4j to v75 (#630)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.ibm.icu:icu4j](https://icu.unicode.org/)
([source](https://togithub.com/unicode-org/icu)) | `74.2` -> `75.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.ibm.icu:icu4j/75.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.ibm.icu:icu4j/75.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.ibm.icu:icu4j/74.2/75.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.ibm.icu:icu4j/74.2/75.1?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>unicode-org/icu (com.ibm.icu:icu4j)</summary>

###
[`v75.1`](https://togithub.com/unicode-org/icu/compare/release-74-2...release-75-1)

[Compare
Source](https://togithub.com/unicode-org/icu/compare/release-74-2...release-75-1)

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMDEuNCIsInVwZGF0ZWRJblZlciI6IjM3LjMxMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 20:40:51 +02:00
Nik Clayton 8a2ba4167f
chore(deps): update agp to v8.3.2, lint to v31.3.2 (#627)
Remove unused autodispose, rxandroid3, and rxkotlin3 definitions.
2024-04-15 21:56:42 +02:00
renovate[bot] a7ba5febda
fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.5 (#622)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ch.qos.logback:logback-classic](http://logback.qos.ch)
([source](https://togithub.com/qos-ch/logback),
[changelog](https://logback.qos.ch/news.html)) | `1.5.3` -> `1.5.5` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/ch.qos.logback:logback-classic/1.5.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/ch.qos.logback:logback-classic/1.5.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/ch.qos.logback:logback-classic/1.5.3/1.5.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/ch.qos.logback:logback-classic/1.5.3/1.5.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 21:41:34 +02:00
renovate[bot] b0468b762c
fix(deps): update androidx.media3 to v1.3.1 (#621)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [androidx.media3:media3-ui](https://togithub.com/androidx/media) |
`1.3.0` -> `1.3.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-ui/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-ui/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-ui/1.3.0/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-ui/1.3.0/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-datasource-okhttp](https://togithub.com/androidx/media)
| `1.3.0` -> `1.3.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-datasource-okhttp/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-datasource-okhttp/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-datasource-okhttp/1.3.0/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-datasource-okhttp/1.3.0/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-rtsp](https://togithub.com/androidx/media)
| `1.3.0` -> `1.3.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-rtsp/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-rtsp/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-rtsp/1.3.0/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-rtsp/1.3.0/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-hls](https://togithub.com/androidx/media)
| `1.3.0` -> `1.3.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-hls/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-hls/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-hls/1.3.0/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-hls/1.3.0/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-dash](https://togithub.com/androidx/media)
| `1.3.0` -> `1.3.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-dash/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-dash/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-dash/1.3.0/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-dash/1.3.0/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer](https://togithub.com/androidx/media)
| `1.3.0` -> `1.3.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer/1.3.0/1.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer/1.3.0/1.3.1?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>androidx/media (androidx.media3:media3-ui)</summary>

###
[`v1.3.1`](https://togithub.com/androidx/media/blob/HEAD/RELEASENOTES.md#131-2024-04-11)

[Compare
Source](https://togithub.com/androidx/media/compare/1.3.0...1.3.1)

This release includes the following changes since the
[1.3.0 release](#&#8203;130-2024-03-06):

-   Common Library:
- Add `Format.labels` to allow localized or other alternative labels.
-   ExoPlayer:
- Fix issue where `PreloadMediaPeriod` cannot retain the streams when it
        is preloaded again.
- Apply the correct corresponding `TrackSelectionResult` to the playing
        period in track reselection.
- Start early-enabled renderers only after advancing the playing period
        when transitioning between media items
([#&#8203;1017](https://togithub.com/androidx/media/issues/1017)).
- Add missing return type to proguard `-keepclasseswithmembers` rule for
        `DefaultVideoFrameProcessor.Factory.Builder.build()`
([#&#8203;1187](https://togithub.com/androidx/media/issues/1187)).
-   Transformer:
- Add workaround for exception thrown due to `MediaMuxer` not supporting
        negative presentation timestamps before API 30.
-   Track Selection:
- `DefaultTrackSelector`: Prefer video tracks with a 'reasonable' frame
rate (>=10fps) over those with a lower or unset frame rate. This ensures
the player selects the 'real' video track in MP4s extracted from motion
        photos that can contain two HEVC tracks where one has a higher
        resolution but a very small number of frames
([#&#8203;1051](https://togithub.com/androidx/media/issues/1051)).
-   Extractors:
- Fix issue where padding was not skipped when reading odd-sized chunks
from WAV files
([#&#8203;1117](https://togithub.com/androidx/media/pull/1117)).
- MP3: Populate `Format.averageBitrate` from metadata frames such as
        `XING` and `VBRI`.
- MPEG-TS: Revert a change that aimed to ensure the last frame is
rendered
        by passing the last access unit of a stream to the sample queue
([#&#8203;7909](https://togithub.com/google/ExoPlayer/issues/7909)).
This is due
        to the change causing new problems with I-frame only HLS streams
([#&#8203;1150](https://togithub.com/google/ExoPlayer/issues/1150)) and
H.262 HLS
streams
([#&#8203;1126](https://togithub.com/google/ExoPlayer/issues/1126)).
-   Audio:
- Allow renderer recovery by disabling offload if audio track fails to
        initialize in offload mode.
-   Video:
- Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with
Google TV, and Lenovo M10 FHD Plus that causes 60fps H265 streams to be
        marked as unsupported
- Add workaround that ensures the first frame is always rendered while
tunneling even if the device does not do this automatically as required
by the API
([#&#8203;1169](https://togithub.com/androidx/media/issues/1169)).
        ([#&#8203;966](https://togithub.com/androidx/media/issues/966)).
- Fix issue where HDR color info handling causes codec misbehavior and
        prevents adaptive format switches for SDR video tracks
([#&#8203;1158](https://togithub.com/androidx/media/issues/1158)).
-   Text:
    -   WebVTT: Prevent directly consecutive cues from creating spurious
        additional `CuesWithTiming` instances from `WebvttParser.parse`
([#&#8203;1177](https://togithub.com/androidx/media/issues/1177)).
-   DRM:
- Work around a `NoSuchMethodError` which can be thrown by the
`MediaDrm`
        framework instead of `ResourceBusyException` or
        `NotProvisionedException` on some Android 14 devices
([#&#8203;1145](https://togithub.com/androidx/media/issues/1145)).
-   Effect:
    -   Improved PQ to SDR tone-mapping by converting color spaces.
-   Session:
- Fix issue where the current position jumps back when the controller
        replaces the current item
        ([#&#8203;951](https://togithub.com/androidx/media/issues/951)).
- Fix issue where `MediaMetadata` with just non-null `extras` is not
        transmitted between media controllers and sessions
([#&#8203;1176](https://togithub.com/androidx/media/issues/1176)).
-   UI:
    -   Fallback to include audio track language name if `Locale` cannot
        identify a display name
        ([#&#8203;988](https://togithub.com/androidx/media/issues/988)).
-   DASH Extension:
- Populate all `Label` elements from the manifest into `Format.labels`
        ([#&#8203;1054](https://togithub.com/androidx/media/pull/1054)).
-   RTSP Extension:
    -   Skip empty session information values (i-tags) in SDP parsing
([#&#8203;1087](https://togithub.com/androidx/media/issues/1087)).
-   Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
- Disable the MIDI extension as a local dependency by default because it
requires an additional Maven repository to be configured. Users who need
        this module from a local dependency
[can re-enable
it](https://togithub.com/androidx/media/blob/main/README.md#midi-module).

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 21:41:15 +02:00
renovate[bot] e2222d75ae
fix(deps): update dependency io.github.oshai:kotlin-logging-jvm to v6.0.9 (#623)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[io.github.oshai:kotlin-logging-jvm](https://togithub.com/oshai/kotlin-logging)
| `6.0.4` -> `6.0.9` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.github.oshai:kotlin-logging-jvm/6.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.github.oshai:kotlin-logging-jvm/6.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.github.oshai:kotlin-logging-jvm/6.0.4/6.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.github.oshai:kotlin-logging-jvm/6.0.4/6.0.9?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>oshai/kotlin-logging
(io.github.oshai:kotlin-logging-jvm)</summary>

###
[`v6.0.9`](https://togithub.com/oshai/kotlin-logging/releases/tag/6.0.9)

[Compare
Source](https://togithub.com/oshai/kotlin-logging/compare/6.0.8...6.0.9)

#### What's Changed

- Bump gradle/wrapper-validation-action from 1 to 3 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/oshai/kotlin-logging/pull/422](https://togithub.com/oshai/kotlin-logging/pull/422)

**Full Changelog**:
https://github.com/oshai/kotlin-logging/compare/6.0.8...6.0.9

###
[`v6.0.8`](https://togithub.com/oshai/kotlin-logging/releases/tag/6.0.8)

[Compare
Source](https://togithub.com/oshai/kotlin-logging/compare/6.0.7...6.0.8)

#### What's Changed

- Bump com.android.library from 8.2.2 to 8.3.2 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/oshai/kotlin-logging/pull/421](https://togithub.com/oshai/kotlin-logging/pull/421)
- Bump io.github.gradle-nexus.publish-plugin from 1.3.0 to 2.0.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/oshai/kotlin-logging/pull/417](https://togithub.com/oshai/kotlin-logging/pull/417)

**Full Changelog**:
https://github.com/oshai/kotlin-logging/compare/6.0.7...6.0.8

###
[`v6.0.7`](https://togithub.com/oshai/kotlin-logging/releases/tag/6.0.7)

[Compare
Source](https://togithub.com/oshai/kotlin-logging/compare/6.0.4...6.0.7)

**Full Changelog**:
https://github.com/oshai/kotlin-logging/compare/6.0.5...6.0.7

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 21:35:06 +02:00
renovate[bot] 4c86862f81
fix(deps): update dependency org.mockito.kotlin:mockito-kotlin to v5.3.1 (#625)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[org.mockito.kotlin:mockito-kotlin](https://togithub.com/mockito/mockito-kotlin)
| `5.2.1` -> `5.3.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.mockito.kotlin:mockito-kotlin/5.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.mockito.kotlin:mockito-kotlin/5.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.mockito.kotlin:mockito-kotlin/5.2.1/5.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.mockito.kotlin:mockito-kotlin/5.2.1/5.3.1?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>mockito/mockito-kotlin
(org.mockito.kotlin:mockito-kotlin)</summary>

###
[`v5.3.1`](https://togithub.com/mockito/mockito-kotlin/releases/tag/5.3.1)

[Compare
Source](https://togithub.com/mockito/mockito-kotlin/compare/5.2.1...5.3.1)

<sup><sup>*Changelog generated by [Shipkit Changelog Gradle
Plugin](https://togithub.com/shipkit/shipkit-changelog)*</sup></sup>

##### 5.3.1

- 2024-04-09 - [3
commit(s)](https://togithub.com/mockito/mockito-kotlin/compare/5.3.0...5.3.1)
by Oscar Guillén, Róbert Papp
- Follow-up on
[#&#8203;508](https://togithub.com/mockito/mockito-kotlin/issues/508):
add tests and remove unnecessary methods
[(#&#8203;516)](https://togithub.com/mockito/mockito-kotlin/pull/516)
- Fix broken release
([#&#8203;509](https://togithub.com/mockito/mockito-kotlin/issues/509))
[(#&#8203;514)](https://togithub.com/mockito/mockito-kotlin/pull/514)
- Add support for destructured parameters in answers
[(#&#8203;512)](https://togithub.com/mockito/mockito-kotlin/pull/512)
- Release is broken
[(#&#8203;509)](https://togithub.com/mockito/mockito-kotlin/issues/509)
- Port AdditionalMatchers matchers
[(#&#8203;508)](https://togithub.com/mockito/mockito-kotlin/pull/508)

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 21:34:56 +02:00
Nik Clayton 5f198b0d90
build: Simplify build infrastructure for command line tools (#613)
Provide a build convention plugin for command line tools, and use
`libs.versions.toml` for command line tool dependencies. Adjust the
individual tool `build.gradle.kts` files accordingly.

Remove unnecessary `gradle.properties` and `settings.gradle` files for
projects that are included as subprojects, not included builds.

Add a trivial test for each command line tool so there are tests to run
and provide some confidence that automated library upgrades don't break
command line tool compilation.
2024-04-15 15:06:55 +02:00
renovate[bot] 5d95425706
chore(deps): update aboutlibraries to v11.1.3 (#567)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| com.mikepenz.aboutlibraries.plugin | `11.1.0` -> `11.1.3` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz.aboutlibraries.plugin/11.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz.aboutlibraries.plugin/11.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz.aboutlibraries.plugin/11.1.0/11.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz.aboutlibraries.plugin/11.1.0/11.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.mikepenz:aboutlibraries](https://togithub.com/mikepenz/AboutLibraries)
| `11.1.0` -> `11.1.3` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz:aboutlibraries/11.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz:aboutlibraries/11.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz:aboutlibraries/11.1.0/11.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz:aboutlibraries/11.1.0/11.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.mikepenz:aboutlibraries-core](https://togithub.com/mikepenz/AboutLibraries)
| `11.1.0` -> `11.1.3` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz:aboutlibraries-core/11.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz:aboutlibraries-core/11.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz:aboutlibraries-core/11.1.0/11.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz:aboutlibraries-core/11.1.0/11.1.3?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>mikepenz/AboutLibraries (com.mikepenz:aboutlibraries)</summary>

###
[`v11.1.3`](https://togithub.com/mikepenz/AboutLibraries/releases/tag/v11.1.3)

#### 🚀 Features

-   Ignore case for name of new `allowedLicensesMap`
- PR:
[#&#8203;976](https://togithub.com/mikepenz/AboutLibraries/issues/976)

###
[`v11.1.2`](https://togithub.com/mikepenz/AboutLibraries/releases/tag/v11.1.2)

#### 🚀 Features

-   New API to allow some licenses only for specific libraries
- PR:
[#&#8203;972](https://togithub.com/mikepenz/AboutLibraries/issues/972)

#### 💬 Other

-   Protect from problems collecting all dependencies
- PR:
[#&#8203;971](https://togithub.com/mikepenz/AboutLibraries/issues/971)

###
[`v11.1.1`](https://togithub.com/mikepenz/AboutLibraries/releases/tag/v11.1.1)

##### 🚀 Features

-   Library Serializer
- PR:
[#&#8203;963](https://togithub.com/mikepenz/AboutLibraries/issues/963)
    -   Thanks [@&#8203;DatL4g](https://togithub.com/DatL4g)
-   Update major dependencies | Compose 1.6.4 | Compose-MP 1.6.1
- PR:
[#&#8203;968](https://togithub.com/mikepenz/AboutLibraries/issues/968)

##### 🐛 Fixes

- Set onclick listener of SimpleLibraryItem to null if no license is
known
- PR:
[#&#8203;966](https://togithub.com/mikepenz/AboutLibraries/issues/966)
    -   Thanks [@&#8203;alexbakker](https://togithub.com/alexbakker)
-   Sort a copy of the list of libraries to prevent a crash
- PR:
[#&#8203;967](https://togithub.com/mikepenz/AboutLibraries/issues/967)
    -   Thanks [@&#8203;alexbakker](https://togithub.com/alexbakker)

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-10 09:43:51 +02:00
renovate[bot] 4d1d913859
fix(deps): update dependency io.github.z4kn4fein:semver to v2 (#609)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[io.github.z4kn4fein:semver](https://z4kn4fein.github.io/kotlin-semver)
([source](https://togithub.com/z4kn4fein/kotlin-semver)) | `1.4.2` ->
`2.0.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.github.z4kn4fein:semver/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.github.z4kn4fein:semver/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.github.z4kn4fein:semver/1.4.2/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.github.z4kn4fein:semver/1.4.2/2.0.0?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>z4kn4fein/kotlin-semver (io.github.z4kn4fein:semver)</summary>

###
[`v2.0.0`](https://togithub.com/z4kn4fein/kotlin-semver/blob/HEAD/CHANGELOG.md#200---2024-04-05)

[Compare
Source](https://togithub.com/z4kn4fein/kotlin-semver/compare/1.4.2...2.0.0)

##### Changed

-   Kotlin version to `1.9.23`.

##### Added

- `wasmJs`, `wasmWasi`, `androidNativeArm32`, `androidNativeArm64`,
`androidNativeX86`, `androidNativeX64`, `watchosDeviceArm64` targets.

##### Removed

-   Not supported `mingwX86`, `watchosX86`, `iosArm32` targets.

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-10 09:36:44 +02:00
renovate[bot] 3bbfbbe39a
chore(deps): update kotlin to v1.9.23-1.0.20 (#603)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.devtools.ksp](https://goo.gle/ksp)
([source](https://togithub.com/google/ksp)) | `1.9.23-1.0.19` ->
`1.9.23-1.0.20` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp/1.9.23-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.23-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.19/1.9.23-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.19/1.9.23-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)) | `1.9.23-1.0.19` ->
`1.9.23-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.23-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.23-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.19/1.9.23-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.19/1.9.23-1.0.20?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>google/ksp (com.google.devtools.ksp)</summary>

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

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

#### KSP1 issues fixed

- performance optimization for certain workload consists of heavy Java
files, including
- Replace IdKey's impl with identityHashCode
[#&#8203;1804](https://togithub.com/google/ksp/issues/1804)
- Cache enclosed descriptors by name
[#&#8203;1808](https://togithub.com/google/ksp/issues/1808)
- Add excludedSources to the KSP extension object
[#&#8203;1793](https://togithub.com/google/ksp/issues/1793) thanks to
[@&#8203;bitspittle](https://togithub.com/bitspittle)

#### KSP2 issues fixed

- NoClassDefFoundError for LZ4Factory when trying KSP2
[#&#8203;1713](https://togithub.com/google/ksp/issues/1713)
- Calling KSType.replace() with original arguments results in <ERROR
TYPE> [#&#8203;1807](https://togithub.com/google/ksp/issues/1807)
- Static fields in base class appear in derived classes
[#&#8203;1744](https://togithub.com/google/ksp/issues/1744)
-   fix backing field checking for top level callables
-   support sealed inheritors lookup.
-   support type alias for getSymbolsWithAnnotation
-   support more types for reference elements

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-10 09:18:32 +02:00
renovate[bot] 0dfeed4c4d
fix(deps): update dependency org.robolectric:robolectric to v4.12.1 (#608)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [org.robolectric:robolectric](http://robolectric.org)
([source](https://togithub.com/robolectric/robolectric)) | `4.11.1` ->
`4.12.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.robolectric:robolectric/4.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.robolectric:robolectric/4.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.robolectric:robolectric/4.11.1/4.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.robolectric:robolectric/4.11.1/4.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-10 09:17:30 +02:00
renovate[bot] c8693ec08c
chore(deps): update hilt to v2.51.1 (#573)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.dagger.hilt.android](https://togithub.com/google/dagger) |
`2.51` -> `2.51.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger.hilt.android/2.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger.hilt.android/2.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger.hilt.android/2.51/2.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger.hilt.android/2.51/2.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.google.dagger:hilt-android-testing](https://togithub.com/google/dagger)
| `2.51` -> `2.51.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:hilt-android-testing/2.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:hilt-android-testing/2.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:hilt-android-testing/2.51/2.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:hilt-android-testing/2.51/2.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.google.dagger:hilt-compiler](https://togithub.com/google/dagger)
| `2.51` -> `2.51.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:hilt-compiler/2.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:hilt-compiler/2.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:hilt-compiler/2.51/2.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:hilt-compiler/2.51/2.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.google.dagger:hilt-android](https://togithub.com/google/dagger) |
`2.51` -> `2.51.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:hilt-android/2.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:hilt-android/2.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:hilt-android/2.51/2.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:hilt-android/2.51/2.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-05 18:19:27 +02:00
renovate[bot] 17b202ed59
fix(deps): update retrofit to v2.11.0 (#575)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.squareup.retrofit2:retrofit](https://togithub.com/square/retrofit)
| `2.10.0` -> `2.11.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.retrofit2:retrofit/2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.retrofit2:retrofit/2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.retrofit2:retrofit/2.10.0/2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.retrofit2:retrofit/2.10.0/2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.squareup.retrofit2:converter-moshi](https://togithub.com/square/retrofit)
| `2.10.0` -> `2.11.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.retrofit2:converter-moshi/2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.retrofit2:converter-moshi/2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.retrofit2:converter-moshi/2.10.0/2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.retrofit2:converter-moshi/2.10.0/2.11.0?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>square/retrofit (com.squareup.retrofit2:retrofit)</summary>

###
[`v2.11.0`](https://togithub.com/square/retrofit/blob/HEAD/CHANGELOG.md#2110---2024-03-28)

[Compare
Source](https://togithub.com/square/retrofit/compare/2.10.0...2.11.0)

**New**

- The built-in `OptionalConverterFactory` is now public to allow
installing it before other converters which consume all types (e.g.,
Moshi, Gson, Jackson, etc.).

**Fixed**

- Ensure that exceptions thrown from failure to parse method annotations
can be observed by multiple threads/callers. Previously only the first
caller would see the actual parsing exception and other callers would
get a cryptic `ClassCastException`.

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-05 18:19:18 +02:00
renovate[bot] 81e54732aa
fix(deps): update androidx.media3 to v1.3.0 (#510)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [androidx.media3:media3-ui](https://togithub.com/androidx/media) |
`1.2.1` -> `1.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-ui/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-ui/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-ui/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-ui/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-datasource-okhttp](https://togithub.com/androidx/media)
| `1.2.1` -> `1.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-datasource-okhttp/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-datasource-okhttp/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-datasource-okhttp/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-datasource-okhttp/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-rtsp](https://togithub.com/androidx/media)
| `1.2.1` -> `1.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-rtsp/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-rtsp/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-rtsp/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-rtsp/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-hls](https://togithub.com/androidx/media)
| `1.2.1` -> `1.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-hls/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-hls/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-hls/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-hls/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-dash](https://togithub.com/androidx/media)
| `1.2.1` -> `1.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-dash/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-dash/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-dash/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-dash/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer](https://togithub.com/androidx/media)
| `1.2.1` -> `1.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer/1.2.1/1.3.0?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>androidx/media (androidx.media3:media3-ui)</summary>

###
[`v1.3.0`](https://togithub.com/androidx/media/blob/HEAD/RELEASENOTES.md#130-2024-03-06)

[Compare
Source](https://togithub.com/androidx/media/compare/1.2.1...1.3.0)

This release includes the following changes since the
[1.2.1 release](#&#8203;121-2024-01-09):

-   Common Library:
- Implement support for `android.resource://package/[type/]name` raw
resource URIs where `package` is different to the package of the current
        application. This has always been documented to work, but wasn't
        correctly implemented until now.
- Normalize MIME types set by app code or read from media to be fully
        lower-case.
    -   Define ads with a full `MediaItem` instead of a single `Uri` in
        `AdPlaybackState`.
    -   Increase `minSdk` to 19 (Android KitKat). This is
[aligned with all other AndroidX
libraries](https://android-developers.googleblog.com/2023/10/androidx-minsdkversion-19.html),
and is required for us to upgrade to the latest versions of our AndroidX
        dependencies.
    -   Populate both `artworkUri` and `artworkData` in
`MediaMetadata.Builder.populate(MediaMetadata)` when at least one of
them is non-null
([#&#8203;964](https://togithub.com/androidx/media/issues/964)).
-   ExoPlayer:
- Add `PreloadMediaSource` and `PreloadMediaPeriod` that allows apps to
preload a content media source at a specific start position before
playback. `PreloadMediaSource` takes care of preparing the content media
source to receive the `Timeline`, preparing and caching the period at
the given start position, selecting tracks and loading media data for
        the period. Apps control the preload progress by implementing
`PreloadMediaSource.PreloadControl` and set the preloaded source to the
        player for playback.
    -   Add `ExoPlayer.setImageOutput` that allows apps to set
        `ImageRenderer.ImageOutput`.
- `DefaultRenderersFactory` now provides an `ImageRenderer` to the
player
by default with null `ImageOutput` and `ImageDecoder.Factory.DEFAULT`.
- Emit `Player.Listener.onPositionDiscontinuity` event when silence is
skipped ([#&#8203;765](https://togithub.com/androidx/media/issues/765)).
- Add experimental support for parsing subtitles during extraction. You
        can enable this using
`MediaSource.Factory.experimentalParseSubtitlesDuringExtraction()`.
    -   Support adaptive media sources with `PreloadMediaSource`.
    -   Implement `HttpEngineDataSource`, an `HttpDataSource` using the

[HttpEngine](https://developer.android.com/reference/android/net/http/HttpEngine)
        API.
- Prevent subclassing `CompositeSequenceableLoader`. This component was
[previously made
extensible](0de57cbfae)
but was never subclassed within the library. Customizations can be done
        by wrapping an instance using the
[decorator pattern](https://en.wikipedia.org/wiki/Decorator_pattern) and
        implementing a custom `CompositeSequenceableLoaderFactory`.
- Fix issue where repeating the same time causes metadata from this item
to be cleared
([#&#8203;1007](https://togithub.com/androidx/media/issues/1007)).
    -   Rename `experimentalSetSubtitleParserFactory` methods on
`BundledChunkExtractor.Factory` and `DefaultHlsExtractorFactory` to
`setSubtitleParserFactory` and disallow passing `null`. Use the new
`experimentalParseSubtitlesDuringExtraction(boolean)` methods to control
        parsing behaviour.
- Add support for customising the `SubtitleParser.Factory` used during
        extraction. This can be achieved with
        `MediaSource.Factory.setSubtitleParserFactory()`.
    -   Add source prefix to all `Format.id` fields generated from
`MergingMediaSource`. This helps to identify which source produced a
`Format`
([#&#8203;883](https://togithub.com/androidx/media/issues/883)).
- Fix the regex used for validating custom Common Media Client Data
(CMCD)
        key names by modifying it to only check for hyphen
([#&#8203;1028](https://togithub.com/androidx/media/issues/1028)).
    -   Stop double-encoding CMCD query parameters
([#&#8203;1075](https://togithub.com/androidx/media/issues/1075)).
-   Transformer:
    -   Add support for flattening H.265/HEVC SEF slow motion videos.
    -   Increase transmuxing speed, especially for 'remove video' edits.
- Add API to ensure that the output file starts on a video frame. This
can
make the output of trimming operations more compatible with player
        implementations that don't show the first video frame until its
        presentation timestamp
        ([#&#8203;829](https://togithub.com/androidx/media/issues/829)).
    -   Add support for optimizing single asset mp4 trim operations.
- Add support to ensure a video frame has the first timestamp in the
output file. Fixes output files beginning with black frame on iOS based
players ([#&#8203;829](https://togithub.com/androidx/media/issues/829)).
-   Track Selection:
- Add `DefaultTrackSelector.selectImageTrack` to enable image track
        selection.
- Add `TrackSelectionParameters.isPrioritizeImageOverVideoEnabled` to
determine whether to select an image track if both an image track and a
video track are available. The default value is `false` which means
        selecting a video track is prioritized.
-   Extractors:
    -   Add additional AV1C parsing to MP4 extractor to retrieve
        `ColorInfo.colorSpace`, `ColorInfo.colorTransfer`, and
        `ColorInfo.colorRange` values
        ([#&#8203;692](https://togithub.com/androidx/media/pull/692)).
- MP3: Use constant bitrate (CBR) seeking for files with an `Info`
header
(the CBR equivalent of the `Xing` header). Previously we used the seek
table from the `Info` header, but this results in less precise seeking
        than if we ignore it and assume the file is CBR.
    -   MPEG2-TS: Add DTS, DTS-LBR and DTS:X Profile2 support
        ([#&#8203;275](https://togithub.com/androidx/media/pull/275)).
- Extract audio types from TS descriptors and map them to role flags,
        allowing users to make better-informed audio track selections
        ([#&#8203;973](https://togithub.com/androidx/media/pull/973)).
-   Audio:
- Improve silence skipping algorithm with smooth volume ramp; retained
        minimal silence and more natural silence durations
([#&#8203;7423](https://togithub.com/google/ExoPlayer/issues/7423)).
    -   Report the skipped silence more deterministically
([#&#8203;1035](https://togithub.com/androidx/media/issues/1035)).
-   Video:
    -   Change the `MediaCodecVideoRenderer` constructor that takes a
`VideoFrameProcessor.Factory` argument and replace it with a constructor
that takes a `VideoSinkProvider` argument. Apps that want to inject a
        custom `VideoFrameProcessor.Factory` can instantiate a
        `CompositingVideoSinkProvider` that uses the custom
`VideoFrameProcessor.Factory` and pass the video sink provider to
        `MediaCodecVideoRenderer`.
-   Text:
- Fix serialization of bitmap cues to resolve `Tried to marshall a
Parcel
        that contained Binder objects` error when using
        `DefaultExtractorsFactory.setTextTrackTranscodingEnabled`
        ([#&#8203;836](https://togithub.com/androidx/media/issues/836)).
- CEA-708: Ignore `rowLock` value. The CEA-708-E S-2023 spec states that
`rowLock` and `columnLock` should both be assumed to be true, regardless
        of the values present in the stream (`columnLock` support is not
        implemented, so it's effectively assumed to always be false).
-   Image:
- Add support for DASH thumbnails. Grid images are cropped and
individual
thumbnails are provided to `ImageOutput` close to their presentation
        times.
-   DRM:
- Play 'clear lead' unencrypted samples in DRM content immediately by
default, even if the keys for the later encrypted samples aren't ready
yet. This may lead to mid-playback stalls if the keys still aren't ready
when the playback position reaches the encrypted samples (but previously
playback wouldn't have started at all by this point). This behavior can
        be disabled with

[`MediaItem.DrmConfiguration.Builder.setPlayClearContentWithoutKey`](https://developer.android.com/reference/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setPlayClearContentWithoutKey\(boolean\))
        or

[`DefaultDrmSessionManager.Builder.setPlayClearSamplesWithoutKeys`](https://developer.android.com/reference/androidx/media3/exoplayer/drm/DefaultDrmSessionManager.Builder#setPlayClearSamplesWithoutKeys\(boolean\)).
-   IMA extension:
- Fix issue where DASH and HLS ads without the appropriate file
extension
        can't be played.
-   Session:
    -   Disable double-click detection for TV apps
        ([#&#8203;962](https://togithub.com/androidx/media/issues/962)).
- Fix issue where `MediaItem.RequestMetadata` with just non-null extras
is
        not transmitted between media controllers and sessions.
- Add constructor to `MediaLibrarySession.Builder` that only takes a
        `Context` instead of a `MediaLibraryService`.
-   HLS Extension:
    -   Reduce `HlsMediaPeriod` to package-private visibility. This type
        shouldn't be directly depended on from outside the HLS package.
    -   Resolve seeks to beginning of a segment more efficiently
        ([#&#8203;1031](https://togithub.com/androidx/media/pull/1031)).
-   Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
    -   MIDI decoder: Ignore SysEx event messages
        ([#&#8203;710](https://togithub.com/androidx/media/pull/710)).
-   Test Utilities:
- Don't pause playback in `TestPlayerRunHelper.playUntilPosition`. The
test keeps the playback in a playing state, but suspends progress until
        the test is able to add assertions and further actions.
-   Demo app:
- Add a shortform demo module to demo the usage of `PreloadMediaSource`
        with the short-form content use case.

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIzMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 22:29:09 +01:00
renovate[bot] f124901f1e
fix(deps): update dependency androidx.browser:browser to v1.8.0 (#508)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.browser:browser](https://developer.android.com/jetpack/androidx/releases/browser#1.8.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.7.0` -> `1.8.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.browser:browser/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.browser:browser/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.browser:browser/1.7.0/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.browser:browser/1.7.0/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjcuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyNy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 22:28:59 +01:00
renovate[bot] 1984708f87
fix(deps): update retrofit to v2.10.0 (#554)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.squareup.retrofit2:retrofit](https://togithub.com/square/retrofit)
| `2.9.0` -> `2.10.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.retrofit2:retrofit/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.retrofit2:retrofit/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.retrofit2:retrofit/2.9.0/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.retrofit2:retrofit/2.9.0/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.squareup.retrofit2:converter-moshi](https://togithub.com/square/retrofit)
| `2.9.0` -> `2.10.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.retrofit2:converter-moshi/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.retrofit2:converter-moshi/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.retrofit2:converter-moshi/2.9.0/2.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.retrofit2:converter-moshi/2.9.0/2.10.0?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>square/retrofit (com.squareup.retrofit2:retrofit)</summary>

###
[`v2.10.0`](https://togithub.com/square/retrofit/blob/HEAD/CHANGELOG.md#2100---2024-03-18)

[Compare
Source](https://togithub.com/square/retrofit/compare/2.9.0...2.10.0)

**New**

- Support using `Unit` as a response type. This can be used for non-body
HTTP methods like `HEAD` or body-containing HTTP methods like `GET`
where the body will be discarded without deserialization.
-   kotlinx.serialization converter!

This was imported from
[github.com/JakeWharton/retrofit2-kotlinx-serialization-converter/](https://togithub.com/JakeWharton/retrofit2-kotlinx-serialization-converter/)
and remains unchanged from its 1.0.0 release.

The Maven coordinates are
`com.squareup.retrofit2:converter-kotlinx-serialization`.
-   JAXB 3 converter!

    The Maven coordinates are `com.squareup.retrofit2:converter-jaxb3`.
- `@Header`, `@Headers`, and `@HeaderMap` can now set non-ASCII values
through the `allowUnsafeNonAsciiValues` annotation property. These are
not technically compliant with the HTTP specification, but are often
supported or required by services.
- Publish a BOM of all modules. The Maven coordinates are
`com.squareup.retrofit2:retrofit-bom`.
- `Invocation` now exposes the service `Class<?>` and the instance on
which the method was invoked. This disambiguates the source when service
inheritence is used.
- A response type keeper annotation processor is now available for
generating shrinker rules for all referenced types in your service
interface. In some cases, it's impossible for static shrinker rules to
keep the entirety of what Retrofit needs at runtime. This annotation
processor generates those additional rules. For more info see [its
README](https://togithub.com/square/retrofit/tree/trunk/retrofit-response-type-keeper#readme).

**Changed**

- Add shrinker rules to retain the generic signatures of built-in types
(`Call`, `Response`, etc.) which are used via reflection at runtime.
- Remove backpressure support from RxJava 2 and 3 adapters. Since we
only deliver a single value and the Reactive Streams specification
states that callers must request a non-zero subscription value, we never
need to honor backpressure.
- Kotlin `Retrofit.create` function now has a non-null lower bound. Even
if you specified a nullable type before this function would never return
null.
- Suspend functions now capture and defer all `Throwable` subtypes (not
just `Exception` subtypes) to avoid Java's
`UndeclaredThrowableException` when thrown synchronously.
- Eagerly reject `suspend fun` functions that return `Call<Body>`. These
are never correct, and should declare a return type of `Body` directly.
- Support for Java 14-specific and Java 16-specific reflection needed to
invoke default methods on interfaces have been moved to separate
versions of a class through a multi-release jar. This should have no
observable impact other than the jar now contains classes which target
Java 14 and Java 16 bytecode that might trip up some static analysis
tools which are not aware of multi-release jars.
- Parameter names are now displayed in exception messages when available
in the underlying Java bytecode.
- Jackson converter now supports binary formats by using byte streams
rather than character streams in its implementation. Use the
`create(ObjectMapper, MediaType)` overload to supply the value of the
`Content-Type` header for your format.

**Fixed**

-   Do not include synthetic methods when doing eager validation.
- Use per-method rather than per-class locking when parsing annotations.
This eliminates contention when multiple calls are made in quick
succession at the beginning of the process lifetime.

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2MS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 22:28:48 +01:00
Nik Clayton 2a9ec71fd1
chore(deps): update agp to v8.3.1 (#559) 2024-03-21 17:43:21 +01:00
Nik Clayton a65e2bd937
fix(deps): update dependency com.apollographql.apollo3 to v3.8.3 (#558) 2024-03-21 17:10:55 +01:00
Nik Clayton e41722e16f
refactor: Extract user list functionality to `feature:lists` (#537)
Move `ListsActivity`, along with fragments and viewmodels, to a new
`feature:lists` module.

Previous code used the `item_follow_request` layout, which was not
ideal, so update it to use a dedicated layout, `item_account_in_list`.

The UI uses strings and views originally defined in the main app, so
move them elsewhere so they can be re-used.

- `BackgroundMessageView` moves to `core.ui`.

- `Lazy` moves to `core.common`.

- `ThrowableExtensions` split; the extensions specific to throwables
from network activity move to `core.network`, others move to `core.ui`.

- `BindingHolder` moves to `core.ui`

- Shared drawables and strings move to `core.ui`.
2024-03-16 18:42:11 +01:00
renovate[bot] 1deaa2c1ff
chore(deps): update kotlin (#509)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.devtools.ksp](https://goo.gle/ksp)
([source](https://togithub.com/google/ksp)) | `1.9.22-1.0.18` ->
`1.9.23-1.0.19` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp/1.9.23-1.0.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp/1.9.23-1.0.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp/1.9.22-1.0.18/1.9.23-1.0.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp/1.9.22-1.0.18/1.9.23-1.0.19?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)) | `1.9.22-1.0.18` ->
`1.9.23-1.0.19` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/1.9.23-1.0.19?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.23-1.0.19?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.22-1.0.18/1.9.23-1.0.19?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.22-1.0.18/1.9.23-1.0.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.plugin.parcelize | `1.9.22` -> `1.9.23` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.22/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.plugin.parcelize/1.9.22/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.jvm | `1.9.22` -> `1.9.23` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.jvm/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.jvm/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.jvm/1.9.22/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.jvm/1.9.22/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| org.jetbrains.kotlin.android | `1.9.22` -> `1.9.23` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.android/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.android/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.android/1.9.22/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.android/1.9.22/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://kotlinlang.org/)
([source](https://togithub.com/JetBrains/kotlin)) | `1.9.22` -> `1.9.23`
|
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-gradle-plugin/1.9.23?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.23?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.22/1.9.23?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.22/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [org.jetbrains.kotlin:kotlin-stdlib](https://kotlinlang.org/)
([source](https://togithub.com/JetBrains/kotlin)) | `1.9.22` -> `1.9.23`
|
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin:kotlin-stdlib/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin:kotlin-stdlib/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin:kotlin-stdlib/1.9.22/1.9.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin:kotlin-stdlib/1.9.22/1.9.23?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>google/ksp (com.google.devtools.ksp)</summary>

###
[`v1.9.23-1.0.19`](https://togithub.com/google/ksp/releases/tag/1.9.23-1.0.19)

##### New APIs

- [#&#8203;1708](https://togithub.com/google/ksp/issues/1708)
`SymbolProcessorEnvironment.kspVersion`
- [#&#8203;1707](https://togithub.com/google/ksp/issues/1707)
`CodeGenerator.associateWithFunctions` and
`CodeGenerator.associateWithProperties`

##### Issues fixed in KSP2

- [#&#8203;1691](https://togithub.com/google/ksp/issues/1691)
IllegalStateException: Value type not found for value
- [#&#8203;1719](https://togithub.com/google/ksp/issues/1719) The order
of symbols returned from Resolver.getSymbolsWithAnnotation() is
different
- [#&#8203;1718](https://togithub.com/google/ksp/issues/1718) Getting
packageName of Kotlin types returns empty String
- [#&#8203;1721](https://togithub.com/google/ksp/issues/1721)
KSAnnotation packageName is an empty String for a type from a different
module
- [#&#8203;1722](https://togithub.com/google/ksp/issues/1722)
Resolver.getDeclarationsFromPackage() returns declarations from the
default package when passing in an unknown package
- [#&#8203;1717](https://togithub.com/google/ksp/issues/1717)
Resolver.getJvmName() returns different results for annotation args
- [#&#8203;1725](https://togithub.com/google/ksp/issues/1725)
asMemberOf() throws exception with a generic type without arguments
- [#&#8203;1728](https://togithub.com/google/ksp/issues/1728)
ClassCastException when calling KSType.replace() with empty list
- [#&#8203;1713](https://togithub.com/google/ksp/issues/1713)
NoClassDefFoundError for LZ4Factory when trying KSP2
- [#&#8203;1665](https://togithub.com/google/ksp/issues/1665)
NoClassDefFound in ksp.useKSP2=true mode
- [#&#8203;1733](https://togithub.com/google/ksp/issues/1733) ABI
incompatibility with kotlin-compiler-embeddable in 2.0.0-Beta4
- [#&#8203;1714](https://togithub.com/google/ksp/issues/1714) Generated
resources are not added to KotlinCompilation inputs
- [#&#8203;1747](https://togithub.com/google/ksp/issues/1747)
isCompanionObject is false for companion objects from KOTLIN_LIB
- [#&#8203;1743](https://togithub.com/google/ksp/issues/1743) Incorrect
type parameter variances
- [#&#8203;1759](https://togithub.com/google/ksp/issues/1759)
IllegalStateException when getting the modifiers from properties in a
Java annotation declaration

##### Issues fixed in KSP Gradle Plugin

- [#&#8203;1712](https://togithub.com/google/ksp/issues/1712) Analysis
API artifacts have the wrong common-deps dependency
- [#&#8203;1775](https://togithub.com/google/ksp/issues/1775) 1.0.18
creates circular dependencies with kapt tasks
- [#&#8203;1772](https://togithub.com/google/ksp/issues/1772) Update
plugin com.google.devtools.ksp to v1.9.22-1.0.18 BUILD FAILED

##### Known issues

- [#&#8203;1776](https://togithub.com/google/ksp/issues/1776) KSP2 has
higher memory usage when the compile classpath is very large.

</details>

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

###
[`v1.9.23`](https://togithub.com/JetBrains/kotlin/releases/tag/v1.9.23):
Kotlin 1.9.23

##### 1.9.23

##### Apple Ecosystem

- [`KT-65542`](https://youtrack.jetbrains.com/issue/KT-65542) Cinterop
tasks fails if Xcode 15.3 is used

##### Backend. Wasm

- [`KT-64486`](https://youtrack.jetbrains.com/issue/KT-64486)
Kotlin/Wasm/WASI exported function callback for coroutines support

##### Compiler

- [`KT-53478`](https://youtrack.jetbrains.com/issue/KT-53478) Could not
load module <Error module>
- [`KT-66044`](https://youtrack.jetbrains.com/issue/KT-66044) JDK's new
API is used over Kotlin's SDK functions
- [`KT-64640`](https://youtrack.jetbrains.com/issue/KT-64640) Prevent
mutating SequenceCollection methods from JDK 21 be available on
read-only collections
- [`KT-65441`](https://youtrack.jetbrains.com/issue/KT-65441) K1: Remove
JDK 21 getFirst()/getLast() in (Mutable)List interfaces
- [`KT-65634`](https://youtrack.jetbrains.com/issue/KT-65634) K/N: data
race during monolithic cache creation
- [`KT-53109`](https://youtrack.jetbrains.com/issue/KT-53109)
CompilationErrorException generateUnboundSymbolsAsDependencies with
builder inference and lambdas
- [`KT-52757`](https://youtrack.jetbrains.com/issue/KT-52757) Type
inference for builders fails if inferred from a function

##### Tools. Gradle

- [`KT-65792`](https://youtrack.jetbrains.com/issue/KT-65792) Add JSON
build report
- [`KT-65091`](https://youtrack.jetbrains.com/issue/KT-65091) Update
compiler metrics in build reports
- [`KT-62490`](https://youtrack.jetbrains.com/issue/KT-62490) KGP
dropping resource directories

##### Tools. Gradle. JS

- [`KT-64119`](https://youtrack.jetbrains.com/issue/KT-64119) K/JS:
Migrate package manager from Yarn onto NPM
- [`KT-64561`](https://youtrack.jetbrains.com/issue/KT-64561) K/JS tests
are not executed after upgrade to 1.9.22

##### Tools. Gradle. Multiplatform

- [`KT-65954`](https://youtrack.jetbrains.com/issue/KT-65954) commonTest
dependencies affect commoMainMetadata compilation

##### Tools. Gradle. Native

- [`KT-64573`](https://youtrack.jetbrains.com/issue/KT-64573) Default
value for `produceUnpackedKlib` was not provided

</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 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIzOC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 15:58:54 +01:00
Nik Clayton a973f67ac8 refactor: Store tab preferences as polymorphic JSON 2024-03-12 19:52:45 +01:00
Nik Clayton 4762411147
refactor: Replace custom worker factory with HiltWorkerFactory (#517)
Removes the need for a separate `WorkerModule` and factory methods in
each worker.
2024-03-11 10:49:58 +01:00
renovate[bot] 21b85fce1b
fix(deps): update dependency app.cash.turbine:turbine to v1.1.0 (#506)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [app.cash.turbine:turbine](https://togithub.com/cashapp/turbine) |
`1.0.0` -> `1.1.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/app.cash.turbine:turbine/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/app.cash.turbine:turbine/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/app.cash.turbine:turbine/1.0.0/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/app.cash.turbine:turbine/1.0.0/1.1.0?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>cashapp/turbine (app.cash.turbine:turbine)</summary>

###
[`v1.1.0`](https://togithub.com/cashapp/turbine/blob/HEAD/CHANGELOG.md#110---2024-03-06)

[Compare
Source](https://togithub.com/cashapp/turbine/compare/1.0.0...1.1.0)

[1.1.0]: https://togithub.com/cashapp/turbine/releases/tag/1.1.0

##### Changed

-   Add `wasmJs` target, remove `iosArm32` and `watchosX86` targets.
-   Throw unconsumed events if scope is externally canceled.

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjcuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyNy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-06 21:01:55 +01:00
renovate[bot] 51d2c4cbda
chore(deps): update kotlin (#447)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.devtools.ksp](https://goo.gle/ksp)
([source](https://togithub.com/google/ksp)) | `1.9.22-1.0.17` ->
`1.9.22-1.0.18` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp/1.9.22-1.0.18?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp/1.9.22-1.0.18?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp/1.9.22-1.0.17/1.9.22-1.0.18?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp/1.9.22-1.0.17/1.9.22-1.0.18?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)) | `1.9.22-1.0.17` ->
`1.9.22-1.0.18` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/1.9.22-1.0.18?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.22-1.0.18?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.22-1.0.17/1.9.22-1.0.18?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.22-1.0.17/1.9.22-1.0.18?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlinx:kotlinx-coroutines-test](https://togithub.com/Kotlin/kotlinx.coroutines)
| `1.7.3` -> `1.8.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.8.0?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.0?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.7.3/1.8.0?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.7.3/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[org.jetbrains.kotlinx:kotlinx-coroutines-android](https://togithub.com/Kotlin/kotlinx.coroutines)
| `1.7.3` -> `1.8.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.8.0?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.0?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.7.3/1.8.0?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.7.3/1.8.0?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>Kotlin/kotlinx.coroutines
(org.jetbrains.kotlinx:kotlinx-coroutines-test)</summary>

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

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

- Implement the library for the Web Assembly (Wasm) for JavaScript
([#&#8203;3713](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3713)).
Thanks [@&#8203;igoriakovlev](https://togithub.com/igoriakovlev)!
-   Major Kotlin version update: was 1.8.20, became 1.9.21.
- On Android, ensure that `Dispatchers.Main !=
Dispatchers.Main.immediate`
([#&#8203;3545](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3545),
[#&#8203;3963](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3963)).
- Fixed a bug that caused `Flow` operators that limit cancel the
upstream flow to forget that they were already finished if there is
another such operator upstream
([#&#8203;4035](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4035),
[#&#8203;4038](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4038))
- `kotlinx-coroutines-debug` is published with the correct Java 9 module
info
([#&#8203;3944](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3944)).
- `kotlinx-coroutines-debug` no longer requires manually setting
`DebugProbes.enableCoroutineCreationStackTraces` to `false`, it's the
default
([#&#8203;3783](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3783)).
- `kotlinx-coroutines-test`: set the default timeout of `runTest` to 60
seconds, added the ability to configure it on the JVM with the
`kotlinx.coroutines.test.default_timeout=10s`
([#&#8203;3800](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3800)).
- `kotlinx-coroutines-test`: fixed a bug that could lead to not all
uncaught exceptions being reported after some tests failed
([#&#8203;3800](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3800)).
- `delay(Duration)` rounds nanoseconds up to whole milliseconds and not
down
([#&#8203;3920](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3920)).
Thanks [@&#8203;kevincianfarini](https://togithub.com/kevincianfarini)!
- `Dispatchers.Default` and the default thread for background work are
guaranteed to use the same context classloader as the object containing
it them
([#&#8203;3832](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3832)).
- It is guaranteed that by the time `SharedFlow.collect` suspends for
the first time, it's registered as a subscriber for that `SharedFlow`
([#&#8203;3885](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3885)).
Before, it was also true, but not documented.
- Atomicfu version is updated to 0.23.1, and Kotlin/Native atomic
transformations are enabled, reducing the footprint of coroutine-heavy
code
([#&#8203;3954](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3954)).
- Added a workaround for miscompilation of `withLock` on JS
([#&#8203;3881](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3881)).
Thanks [@&#8203;CLOVIS-AI](https://togithub.com/CLOVIS-AI)!
-   Small tweaks and documentation fixes.

##### Changelog relative to version 1.8.0-RC2

- `kotlinx-coroutines-debug` no longer requires manually setting
`DebugProbes.enableCoroutineCreationStackTraces` to `false`, it's the
default
([#&#8203;3783](https://togithub.com/Kotlin/kotlinx.coroutines/issues/3783)).
- Fixed a bug that caused `Flow` operators that limit cancel the
upstream flow to forget that they were already finished if there is
another such operator upstream
([#&#8203;4035](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4035),
[#&#8203;4038](https://togithub.com/Kotlin/kotlinx.coroutines/issues/4038))
-   Small documentation fixes.

</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 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-04 20:35:05 +01:00
renovate[bot] dcfdfb8aec
fix(deps): update androidx.lifecycle to v2.7.0 (#361)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.lifecycle:lifecycle-viewmodel-ktx](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.7.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.6.2` -> `2.7.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-viewmodel-ktx/2.7.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.7.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.6.2/2.7.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.6.2/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.lifecycle:lifecycle-reactivestreams-ktx](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.7.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.6.2` -> `2.7.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-reactivestreams-ktx/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-reactivestreams-ktx/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-reactivestreams-ktx/2.6.2/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-reactivestreams-ktx/2.6.2/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.lifecycle:lifecycle-livedata-ktx](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.7.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.6.2` -> `2.7.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-livedata-ktx/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-livedata-ktx/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-livedata-ktx/2.6.2/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-livedata-ktx/2.6.2/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.lifecycle:lifecycle-common-java8](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.7.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.6.2` -> `2.7.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-common-java8/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-common-java8/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-common-java8/2.6.2/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-common-java8/2.6.2/2.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-04 18:09:10 +01:00
renovate[bot] 0d29a125d6
fix(deps): update kotlin.result to v1.1.20 (#497)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.michael-bull.kotlin-result:kotlin-result-coroutines](https://togithub.com/michaelbull/kotlin-result)
| `1.1.18` -> `1.1.20` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.michael-bull.kotlin-result:kotlin-result-coroutines/1.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.michael-bull.kotlin-result:kotlin-result-coroutines/1.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.michael-bull.kotlin-result:kotlin-result-coroutines/1.1.18/1.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.michael-bull.kotlin-result:kotlin-result-coroutines/1.1.18/1.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.michael-bull.kotlin-result:kotlin-result](https://togithub.com/michaelbull/kotlin-result)
| `1.1.18` -> `1.1.20` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.michael-bull.kotlin-result:kotlin-result/1.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.michael-bull.kotlin-result:kotlin-result/1.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.michael-bull.kotlin-result:kotlin-result/1.1.18/1.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.michael-bull.kotlin-result:kotlin-result/1.1.18/1.1.20?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>michaelbull/kotlin-result
(com.michael-bull.kotlin-result:kotlin-result-coroutines)</summary>

###
[`v1.1.20`](https://togithub.com/michaelbull/kotlin-result/releases/tag/1.1.20)

[Compare
Source](https://togithub.com/michaelbull/kotlin-result/compare/1.1.19...1.1.20)

- Pin GitHub actions by commit hash
([`8893187`](8893187a3a))
- See:
https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions
- Add more build targets for coroutines extensions
([`a522fbd`](a522fbd3e7))
- `kotlinx-coroutines` has since started publishing more native build
targets since we first became multiplatform. This release ensures we
also build native targets for the platforms that were previously
missing, namely:
        -   `androidNativeArm32`
        -   `androidNativeArm64`
        -   `androidNativeX64`
        -   `androidNativeX86`
        -   `linuxArm64`
        -   `wasmJs`
- This ensures that we are now supporting all three tiers of
[Kotlin/Native target
support](https://kotlinlang.org/docs/native-target-support.html).

###
[`v1.1.19`](https://togithub.com/michaelbull/kotlin-result/releases/tag/1.1.19)

[Compare
Source](https://togithub.com/michaelbull/kotlin-result/compare/1.1.18...1.1.19)

- Document the order of output lists in Iterable.kt by
[@&#8203;peter-cunderlik-kmed](https://togithub.com/peter-cunderlik-kmed)
([`e81f581`](e81f581436))
- Add `zipOrAccumulate` by
[@&#8203;YuitoSato](https://togithub.com/YuitoSato)
([`27f0a63`](27f0a63847))
- Update Kotlin to 1.9.20
([`05a1e91`](05a1e91298))
- ***"In Kotlin 1.9.20, we've also removed a number of previously
deprecated targets, namely:"***
        -   iosArm32
        -   watchosX86
        -   wasm32
        -   mingwX86
        -   linuxMips32
        -   linuxMipsel32
    -   See: https://kotl.in/native-targets-tiers
- Add `andThen{Recover,RecoverIf,RecoverUnless}` by
[@&#8203;Jhabkin](https://togithub.com/Jhabkin)
([`d4414b1`](d4414b1a08))
- Facilitate mapping to arbitrary types in `and`/`or` functions
([`05d50b7`](05d50b7fec))
- See
[#&#8203;95](https://togithub.com/michaelbull/kotlin-result/issues/95)
- Extract shared build logic to convention plugins
([`88e31cd`](88e31cd1ac))
- See:
https://docs.gradle.org/current/userguide/sharing_build_logic_between_subprojects.html#sec:convention_plugins

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-04 17:23:37 +01:00
renovate[bot] e6df78adf0
chore(deps): update hilt to v2.51 (#485)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.dagger.hilt.android](https://togithub.com/google/dagger) |
`2.50` -> `2.51` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger.hilt.android/2.51?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger.hilt.android/2.51?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger.hilt.android/2.50/2.51?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger.hilt.android/2.50/2.51?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.google.dagger:hilt-android-testing](https://togithub.com/google/dagger)
| `2.50` -> `2.51` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:hilt-android-testing/2.51?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:hilt-android-testing/2.51?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:hilt-android-testing/2.50/2.51?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:hilt-android-testing/2.50/2.51?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.google.dagger:hilt-compiler](https://togithub.com/google/dagger)
| `2.50` -> `2.51` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:hilt-compiler/2.51?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:hilt-compiler/2.51?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:hilt-compiler/2.50/2.51?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:hilt-compiler/2.50/2.51?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.google.dagger:hilt-android](https://togithub.com/google/dagger) |
`2.50` -> `2.51` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.dagger:hilt-android/2.51?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.dagger:hilt-android/2.51?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.dagger:hilt-android/2.50/2.51?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.dagger:hilt-android/2.50/2.51?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-04 14:50:08 +01:00
renovate[bot] 0f870d7425
chore(deps): update aboutlibraries to v11 (major) (#486)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| com.mikepenz.aboutlibraries.plugin | `10.10.0` -> `11.1.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz.aboutlibraries.plugin/11.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz.aboutlibraries.plugin/11.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz.aboutlibraries.plugin/10.10.0/11.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz.aboutlibraries.plugin/10.10.0/11.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.mikepenz:aboutlibraries](https://togithub.com/mikepenz/AboutLibraries)
| `10.10.0` -> `11.1.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz:aboutlibraries/11.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz:aboutlibraries/11.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz:aboutlibraries/10.10.0/11.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz:aboutlibraries/10.10.0/11.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.mikepenz:aboutlibraries-core](https://togithub.com/mikepenz/AboutLibraries)
| `10.10.0` -> `11.1.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz:aboutlibraries-core/11.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz:aboutlibraries-core/11.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz:aboutlibraries-core/10.10.0/11.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz:aboutlibraries-core/10.10.0/11.1.0?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>mikepenz/AboutLibraries (com.mikepenz:aboutlibraries)</summary>

###
[`v11.1.0`](https://togithub.com/mikepenz/AboutLibraries/releases/tag/v11.1.0)

##### 🚀 Features

-   Upgrade dependencies | Compose 1.6.0 | Compose Compiler | Lifecycle
- PR:
[#&#8203;950](https://togithub.com/mikepenz/AboutLibraries/issues/950)
- Make Library and Licenses data classes stable with KotlinX Collections
- PR:
[#&#8203;947](https://togithub.com/mikepenz/AboutLibraries/issues/947)
-   Compose 1.6 | KotlinX Updates
- PR:
[#&#8203;958](https://togithub.com/mikepenz/AboutLibraries/issues/958)
-   Update to compose-multiplatform 1.6.0 / compose-android 1.6.2
- PR:
[#&#8203;961](https://togithub.com/mikepenz/AboutLibraries/issues/961)

##### 🐛 Fixes

-   Fix wasm sample app no longer loading
- PR:
[#&#8203;951](https://togithub.com/mikepenz/AboutLibraries/issues/951)

##### 💬 Other

-   Update README with warning on configPath
- PR:
[#&#8203;948](https://togithub.com/mikepenz/AboutLibraries/issues/948)
-   Module specific names
- PR:
[#&#8203;952](https://togithub.com/mikepenz/AboutLibraries/issues/952)
-   Lower noise of log
- PR:
[#&#8203;956](https://togithub.com/mikepenz/AboutLibraries/issues/956)
-   Update CI gradle action
- PR:
[#&#8203;957](https://togithub.com/mikepenz/AboutLibraries/issues/957)
-   Fix CI for releases on macOS-14 runner
- PR:
[#&#8203;960](https://togithub.com/mikepenz/AboutLibraries/issues/960)

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-04 14:16:20 +01:00
Nik Clayton dc23ea23d1
refactor: Remove last vestiges of rxJava (#492) 2024-03-03 17:38:32 +01:00
renovate[bot] 72ef8cfe4a
fix(deps): update dependency com.google.truth:truth to v1.4.2 (#484)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.truth:truth](https://togithub.com/google/truth) | `1.4.1`
-> `1.4.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.truth:truth/1.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.truth:truth/1.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.truth:truth/1.4.1/1.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.truth:truth/1.4.1/1.4.2?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>google/truth (com.google.truth:truth)</summary>

### [`v1.4.2`](https://togithub.com/google/truth/releases/tag/v1.4.2):
1.4.2

[Compare
Source](https://togithub.com/google/truth/compare/v1.4.1...v1.4.2)

This release is the final step of copying all our methods from `Truth8`
to `Truth`. If you have not already migrated your usages from `Truth8`
to `Truth`, you may see build errors:

OptionalSubjectTest.java:39: error: reference to assertThat is ambiguous
        assertThat(Optional.of("foo")).isPresent();
        ^
both method
assertThat(@&#8203;org.checkerframework.checker.nullness.qual.Nullable
Optional<?>) in Truth8 and method
assertThat(@&#8203;org.checkerframework.checker.nullness.qual.Nullable
Optional<?>) in Truth match

In most cases, you can migrate your whole project mechanically: `git
grep -l Truth8 | xargs perl -pi -e 's/\bTruth8\b/Truth/g;'`. (You can
make that change before upgrading to Truth 1.4.2 or as part of the same
commit.)

If you instead need to migrate your project incrementally (for example,
because it is very large), you may want to upgrade your version of Truth
incrementally, too, following our instructions for
[1.3.0](https://togithub.com/google/truth/releases/tag/v1.3.0) and
[1.4.0](https://togithub.com/google/truth/releases/tag/v1.4.0).

#### For help

Please feel welcome to [open an
issue](https://togithub.com/google/truth/issues/new) to report problems
or request help.

#### Changelog

- Removed temporary type parameters from `Truth.assertThat(Stream)` and
`Truth.assertThat(Optional)`. This can create build errors, which you
can fix by replacing all your references to `Truth8` with references to
`Truth`.
([`45782bd`](https://togithub.com/google/truth/commit/45782bd0e))

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-01 23:08:02 +01:00
Nik Clayton 72e5ca887d
fix(deps): update agp to v8.3.0, lint to 31.3.0 (#483)
New lint rules highlighted a potential crash; the use of named match
groups (used here when extracting server versions) requires API >= 26 or
throws an exception.

Use the group numbers instead of names when extracting the value, but
keep the group names in the regular expressions for readability.
2024-03-01 23:07:14 +01:00
renovate[bot] 96c7799539
fix(deps): update dependency com.google.truth:truth to v1.4.1 (#451)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.truth:truth](https://togithub.com/google/truth) | `1.4.0`
-> `1.4.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.truth:truth/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.truth:truth/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.truth:truth/1.4.0/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.truth:truth/1.4.0/1.4.1?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>google/truth (com.google.truth:truth)</summary>

### [`v1.4.1`](https://togithub.com/google/truth/releases/tag/v1.4.1):
1.4.1

This release deprecates `Truth8`.

All its methods have become available on the main `Truth` class. In most
cases, you can migrate your whole project mechanically: `git grep -l
Truth8 | xargs perl -pi -e 's/\bTruth8\b/Truth/g;'`

While we do not plan to delete `Truth8`, we recommend migrating off it,
at least if you static import `assertThat`: If you do not migrate, such
static imports will become ambiguous in Truth 1.4.2, breaking your
build.

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-16 20:33:32 +01:00
renovate[bot] b7368fd62e
fix(deps): update androidx.work to v2.9.0 (#297)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.work:work-testing](https://developer.android.com/jetpack/androidx/releases/work#2.9.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.8.1` -> `2.9.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.work:work-testing/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.work:work-testing/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.work:work-testing/2.8.1/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.work:work-testing/2.8.1/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.work:work-runtime-ktx](https://developer.android.com/jetpack/androidx/releases/work#2.9.0)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `2.8.1` -> `2.9.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.work:work-runtime-ktx/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.work:work-runtime-ktx/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.work:work-runtime-ktx/2.8.1/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.work:work-runtime-ktx/2.8.1/2.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-14 12:38:43 +01:00
Nik Clayton a3d45ca9ec
refactor: Convert from Gson to Moshi (#428)
Moshi is faster to decode JSON at runtime, is actively maintained, has a
smaller memory and method footprint, and a slightly smaller APK size.
Moshi also correctly creates default constructor arguments instead of
leaving them null, which was a source of `NullPointerExceptions` when
using Gson.

The conversion broadly consisted of:

- Adding `@JsonClass(generateAdapter = true)` to data classes that
marshall to/from JSON.

- Replacing `@SerializedName(value = ...)` with `@Json(name = ...)`.

- Replacing Gson instances with Moshi in Retrofit, Hilt, and tests.

- Using Moshi adapters to marshall to/from JSON instead of Gson `toJson`
/ `fromJson`.

- Deleting `Rfc3339DateJsonAdapter` and related code, and using the
equivalent adapter bundled with Moshi.

- Rewriting `GuardedBooleanAdapter` as a more generic `GuardedAdapter`.

- Deleting unused ProGuard rules; Moshi generates adapters using code
generation, not runtime reflection.

The conversion surfaced some bugs which have been fixed.

- Not all audio attachments have attachment size metadata. Don't show
the attachment preview if the metadata is missing.

- Some `throwable` were not being logged correctly.

- The wrong type was being used when parsing the response when sending a
scheduled status.

- Exceptions other than `HttpException` or `IoException` would also
cause a status to be resent. If there's a JSON error parsing a response
the status would be repeatedly sent.

- In tests strings containing error responses were not valid JSON.

- Workaround Mastodon a bug and ensure `filter.keywords` is populated,
https://github.com/mastodon/mastodon/issues/29142
2024-02-09 12:41:13 +01:00
renovate[bot] b88fe9a59e
fix(deps): update dependency com.android.tools:desugar_jdk_libs to v2.0.4 (#417)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.android.tools:desugar_jdk_libs](https://togithub.com/google/desugar_jdk_libs)
| `2.0.3` -> `2.0.4` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools:desugar_jdk_libs/2.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools:desugar_jdk_libs/2.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools:desugar_jdk_libs/2.0.3/2.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools:desugar_jdk_libs/2.0.3/2.0.4?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>google/desugar_jdk_libs
(com.android.tools:desugar_jdk_libs)</summary>

###
[`v2.0.4`](https://togithub.com/google/desugar_jdk_libs/blob/HEAD/CHANGELOG.md#Version-204--2023-11-01-)

-   Better support for "stand-alone" month names ("LLLL" format).
    See ([issue 160113376](https://issuetracker.google.com/160113376))
    for details.
-   Added support for `java.util.Base64` introduced in API level 26
-   Workaround for some non ASCII characters
    ([issue 293388944](https://issuetracker.google.com/293388944))

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-04 21:44:56 +01:00
renovate[bot] 34cbf1c6c1
chore(deps): update dependency com.gaelmarhic.quadrant to v1.9.1 (#395)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| com.gaelmarhic.quadrant | `1.9` -> `1.9.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.gaelmarhic.quadrant/1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.gaelmarhic.quadrant/1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.gaelmarhic.quadrant/1.9/1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.gaelmarhic.quadrant/1.9/1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-04 21:09:45 +01:00
Nik Clayton 54d7888316
feat: Include extra logs in error reports from orange release builds (#414)
Release builds normally strip out all logging to reduce the number of
disk writes and reduce UI jank.

These logs would still be useful in user error reports from orange
builds. To preseve them:

- Implement a simple `RingBuffer`.

- Create `TreeRing`, a `Timber` `Tree` logger that logs to a
`RingBuffer` instance in orange release builds.

- Create `TreeRingCollector`, called when ACRA reports are generated,
which includes the contents of the ring buffer in the report.

- Enable desugaring to allow the use of java.time libraries on older
Android versions.

- Disable ProGuard obfuscation of class names as the obfuscation adds
additional de-obfuscation steps when handling error reports from users.
2024-02-04 15:17:46 +01:00
renovate[bot] 36646b2e38
fix(deps): update dependency com.google.truth:truth to v1.4.0 (#412)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.truth:truth](https://togithub.com/google/truth) | `1.3.0`
-> `1.4.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.truth:truth/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.truth:truth/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.truth:truth/1.3.0/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.truth:truth/1.3.0/1.4.0?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>google/truth (com.google.truth:truth)</summary>

### [`v1.4.0`](https://togithub.com/google/truth/releases/tag/v1.4.0):
1.4.0

[Compare
Source](https://togithub.com/google/truth/compare/v1.3.0...v1.4.0)

In this release, our assertions on Java 8 types continue to move from
the `Truth8` class to the main `Truth` class. This change should not
break compatibility for any supported JDK or Android version, even users
who test under old versions of Android without [API
desugaring](https://developer.android.com/studio/write/java8-support#library-desugaring).
Additionally, we will never break binary compatibility, though some
users will have to make changes to their source code in order for it to
compile against newer versions.

This release is likely to lead to more **build failures** than
[1.3.0](https://togithub.com/google/truth/releases/tag/v1.3.0) did.
However, those failures should be **straightforward to fix**.

#### Example build failure

    Foo.java:152: error: reference to assertThat is ambiguous
        assertThat(repo.findFileWithName("foo")).isNull();
        ^
both method assertThat(@&#8203;org.jspecify.nullness.Nullable Path) in
Truth8 and method assertThat(@&#8203;org.jspecify.nullness.Nullable
Path) in Truth match

#### Simplest upgrade strategy (if you can update all your code
atomically in the same commit as the Truth upgrade)

In the same commit:

1.  Upgrade Truth to 1.4.0.
2. Replace `import static com.google.common.truth.Truth8.assertThat;`
with `import static com.google.common.truth.Truth.assertThat;`.
- If you use Kotlin, replace `import
com.google.common.truth.Truth8.assertThat` with `import
com.google.common.truth.Truth.assertThat`.
3. Replace `import com.google.common.truth.Truth8;` with `import
com.google.common.truth.Truth;`.
    -   again, similarly for Kotlin if needed
4.  Replace remaining references to `Truth8` with references to `Truth`.
- For example, replace `Truth8.assertThat(optional).isPresent()` with
`Truth.assertThat(optional).isPresent()`.

If you're feeling lucky, you can try this one-liner for the code
updates:

```sh
git grep -l Truth8 | xargs perl -pi -e 's/import static com.google.common.truth.Truth8.assertThat;/import static com.google.common.truth.Truth.assertThat;/g; s/import com.google.common.truth.Truth8.assertThat/import com.google.common.truth.Truth.assertThat/g; s/import com.google.common.truth.Truth8/import com.google.common.truth.Truth/g; s/\bTruth8[.]/Truth./g;'
```

After that process, it is possible that you'll still see build errors
from ambiguous usages of `assertThat` static imports. If so, you can
find a workaround in the section about overload ambiguity in the release
notes for
[1.3.0](https://togithub.com/google/truth/releases/tag/v1.3.0).
Alternatively, you can wait to upgrade until after a future Truth
release, which will eliminate the ambiguity by changing the signatures
of some `Truth.assertThat` overloads.

#### Incremental upgrade strategy

If you have a very large repo or you have other reasons to prefer to
upgrade incrementally, you can use the approach that we used inside
Google. Roughly, that approach was:

1. Make the optional changes discussed in the release notes for
[1.3.0](https://togithub.com/google/truth/releases/tag/v1.3.0).
2. For any remaining calls to `Truth8.assertThat`, change them to
*avoid* static import.
- That is, replace `assertThat(optional).isPresent()` with
`Truth8.assertThat(optional).isPresent()`.
3.  Upgrade Truth to 1.4.0.
4. Optionally replace references to `Truth8` with references to `Truth`
(including restoring static imports if desired), as discussed in section
about the simple upgrade strategy above.

#### Optional additional changes

- If you use `assertWithMessage(...).about(intStreams()).that(...)`,
`expect.about(optionalLongs()).that(...)`, or similar, you can remove
your call to `about`. This change will never be necessary; it is just a
simplification.
- This is similar to a previous optional change from
[1.3.0](https://togithub.com/google/truth/releases/tag/v1.3.0), except
that 1.3.0 solved this problem for `streams` and `optionals`, whereas
1.4.0 solves it for the other `Truth8` types.

#### For help

Please feel welcome to [open an
issue](https://togithub.com/google/truth/issues/new) to report problems
or request help.

#### Changelog

- Added the remaining `Truth8.assertThat` overloads to the main `Truth`
class. ([`9be8e77`](https://togithub.com/google/truth/commit/9be8e774c),
[`1f81827`](https://togithub.com/google/truth/commit/1f81827f1))
- Added more `that` overloads to make it possible to write type-specific
assertions when using the remaining Java 8 types.
([`7c65fc6`](https://togithub.com/google/truth/commit/7c65fc611))

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-03 15:27:59 +01:00
Nik Clayton 4750ad78a7
chore(deps): update dependency com.gaelmarhic.quadrant to v1.9 (#400)
1.9 no longer needs the hardcoded "app.pachli" in the class names.
2024-01-30 16:40:11 +01:00
renovate[bot] 947e5c215c
fix(deps): update dependency com.google.truth:truth to v1.3.0 (#387)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.truth:truth](https://togithub.com/google/truth) | `1.2.0`
-> `1.3.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.truth:truth/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.truth:truth/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.truth:truth/1.2.0/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.truth:truth/1.2.0/1.3.0?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>google/truth (com.google.truth:truth)</summary>

### [`v1.3.0`](https://togithub.com/google/truth/releases/tag/v1.3.0):
1.3.0

In this release, our assertions on Java 8 types begin to move from the
`truth-java8-extensions` artifact and the `Truth8` class to the main
`truth` artifact and the `Truth` class. This change should not break
compatibility for anyone, even users who test under old versions of
Android without [API
desugaring](https://developer.android.com/studio/write/java8-support#library-desugaring).
Additionally, we will never break binary compatibility, though some
users will have to make changes to their source code in order for it to
compile against newer versions.

This change will be routine for most users, but we're providing as much
information as we can for any users who do encounter problems.

We will post fuller instructions for migration later on, once we've
learned more from our internal migration efforts. For now, you may find
that you need to make one kind of change, and you may elect to make
others. (If we missed anything, please [open an
issue](https://togithub.com/google/truth/issues/new) to report problems
or request help.)

The change you might need to make:

- By adding new overloads of `Truth.assertThat`, we cause some code to
fail to compile because of an overload ambiguity. This is rare, but it
can happen if you static import both `Truth.assertThat` and some other
`assertThat` method that includes overloads for `Optional` or `Stream`.
(It does *not* happen for `Truth8.assertThat`, though, except with the
Eclipse compiler. Nor it does *necessarily* happen for other
`assertThat(Stream)` and `assertThat(Optional)` methods.) If this
happens to you, you'll need to remove one of the static imports,
changing the corresponding call sites from "`assertThat`" to
"`FooSubject.assertThat`."
- Alternatively, you may choose to wait until we make further changes to
the new `Truth.assertThat` overloads. Once we make those further
changes, you may be able to simultaneously replace all your imports of
`Truth8.assertThat` with imports of `Truth.assertThat` as you upgrade to
the new version, likely without introducing overload ambiguities.

The changes you might elect to make:

- If you use `Truth8.assertThat(Stream)` or
`Truth8.assertThat(Optional)`, you can migrate to the new overloads in
`Truth`. If you static import `Truth8.assertThat`, you can usually make
this change simply by replacing that static import with a static import
of `Truth.assertThat`—or, if you already have an import of
`Truth.assertThat`, by just removing the import of `Truth8.assertThat`.
(If you additionally use less common assertion methods, like
`assertThat(OptionalInt)`, you'll want to use *both* imports for now.
Later, we'll move `assertThat(OptionalInt)` and friends, too.) We
recommend making this change now, since your calls to
`Truth8.assertThat` will fail to compile against some future version of
Truth, unless you plan to wait to update your Truth dependency until
we've made all our changes for Java 8 types.

- If you use `assertWithMessage(...).about(streams()).that(...)`,
`expect.about(optionals()).that(...)`, or similar, you can remove your
call to `about`. This change will never be necessary; it is just a
simplification.

- If you depend on `truth-java8-extension`, you may remove it. All its
classes are now part of the main `truth` artifact. This change, too, is
not necessary; it is just a simplification. (OK, if your build system
has a concept of [strict
deps](https://blog.bazel.build/2017/06/28/sjd-unused_deps.html), there
is a chance that you'll *need* to add deps on `truth` to replace your
deps on `truth-java8-extension`.)

Finally, the changelog for this release:

- Made `StreamSubject` avoid collecting the `Stream` until necessary,
and made its `isEqualTo` and `isNotEqualTo` methods no longer always
throw. ([`f8ecaec`](https://togithub.com/google/truth/commit/f8ecaec69))
- Added `assertThat` overloads for `Optional` and `Stream` to the main
`Truth` class.
([`37fd8be`](https://togithub.com/google/truth/commit/37fd8bea9))
- Added `that` overloads to make it possible to write type-specific
assertions when using `expect.that(optional)` and `expect.that(stream)`.
([`ca7e8f4`](https://togithub.com/google/truth/commit/ca7e8f4c5))
- Moved the `truth-java8-extension` classes into the main `truth`
artifact. There is no longer any need to depend on
`truth-java8-extension`, which is now empty. (We've also removed the
`Truth8` [GWT](https://www.gwtproject.org/) module.)
([`eb0426e`](https://togithub.com/google/truth/commit/eb0426eb7))

Again, if you have any problems, please [let us
know](https://togithub.com/google/truth/issues/new).

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-25 18:38:23 +01:00
renovate[bot] 53e0c90d01
chore(deps): update agp to v8.2.2, lint to 31.2.2 (#383)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.android.lint](https://developer.android.com/studio/build)
([source](https://android.googlesource.com/platform/tools/base)) |
`8.2.1` -> `8.2.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.lint/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.lint/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.lint/8.2.1/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.lint/8.2.1/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.android.library](https://developer.android.com/studio/build)
([source](https://android.googlesource.com/platform/tools/base)) |
`8.2.1` -> `8.2.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.library/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.library/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.library/8.2.1/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.library/8.2.1/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [com.android.application](https://developer.android.com/studio/build)
([source](https://android.googlesource.com/platform/tools/base)) |
`8.2.1` -> `8.2.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.application/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.application/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.application/8.2.1/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.application/8.2.1/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.android.tools.build:gradle](https://developer.android.com/studio/build)
([source](https://android.googlesource.com/platform/tools/base)) |
`8.2.1` -> `8.2.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.build:gradle/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.build:gradle/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.build:gradle/8.2.1/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.build:gradle/8.2.1/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2024-01-25 18:27:50 +01:00
renovate[bot] 056e03e9c4
fix(deps): update androidx.media3 to v1.2.1 (#363)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [androidx.media3:media3-ui](https://togithub.com/androidx/media) |
`1.2.0` -> `1.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-ui/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-ui/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-ui/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-ui/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-datasource-okhttp](https://togithub.com/androidx/media)
| `1.2.0` -> `1.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-datasource-okhttp/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-datasource-okhttp/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-datasource-okhttp/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-datasource-okhttp/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-rtsp](https://togithub.com/androidx/media)
| `1.2.0` -> `1.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-rtsp/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-rtsp/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-rtsp/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-rtsp/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-hls](https://togithub.com/androidx/media)
| `1.2.0` -> `1.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-hls/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-hls/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-hls/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-hls/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer-dash](https://togithub.com/androidx/media)
| `1.2.0` -> `1.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer-dash/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer-dash/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer-dash/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer-dash/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[androidx.media3:media3-exoplayer](https://togithub.com/androidx/media)
| `1.2.0` -> `1.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer/1.2.0/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer/1.2.0/1.2.1?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>androidx/media (androidx.media3:media3-ui)</summary>

###
[`v1.2.1`](https://togithub.com/androidx/media/blob/HEAD/RELEASENOTES.md#121-2024-01-09)

[Compare
Source](https://togithub.com/androidx/media/compare/1.2.0...1.2.1)

This release includes the following changes since the
[1.2.0 release](#&#8203;120-2023-11-15):

-   ExoPlayer:
    -   Fix issue where manual seeks outside of the
`LiveConfiguration.min/maxOffset` range keep adjusting the offset back
        to `min/maxOffset`.
- Fix issue that OPUS and VORBIS channel layouts are wrong for 3, 5, 6,
7
        and 8 channels
([#&#8203;8396](https://togithub.com/google/ExoPlayer/issues/8396)).
- Fix issue where track selections after seek to zero in a live stream
        incorrectly let the stream start at its default position
([#&#8203;9347](https://togithub.com/google/ExoPlayer/issues/9347)).
- Fix the issue where new instances of `CmcdData.Factory` were receiving
negative values for `bufferedDurationUs` from chunk sources, resulting
        in an `IllegalArgumentException`
        ([#&#8203;888](https://togithub.com/androidx/media/issues/888)).
-   Transformer:
- Work around an issue where the encoder would throw at configuration
time
        due to setting a high operating rate.
-   Extractors:
    -   Mark secondary (unplayable) HEVC tracks in JPEG motion photos as
`ROLE_FLAG_ALTERNATE` to prevent them being automatically selected for
        playback because of their higher resolution.
    -   Fix wrong keyframe detection for TS H264 streams
        ([#&#8203;864](https://togithub.com/androidx/media/pull/864)).
- Fix duration estimation of TS streams that are longer than 47721
seconds
        ([#&#8203;855](https://togithub.com/androidx/media/issues/855)).
-   Audio:
- Fix handling of EOS for `SilenceSkippingAudioProcessor` when called
multiple times
([#&#8203;712](https://togithub.com/androidx/media/issues/712)).
-   Video:
- Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with
Google TV, and Lenovo M10 FHD Plus that causes 60fps AVC streams to be
        marked as unsupported
        ([#&#8203;693](https://togithub.com/androidx/media/issues/693)).
-   Metadata:
- Fix bug where `MediaMetadata` was only populated from Vorbis comments
        with upper-case keys
        ([#&#8203;876](https://togithub.com/androidx/media/issues/876)).
- Catch `OutOfMemoryError` when parsing very large ID3 frames, meaning
playback can continue without the tag info instead of playback failing
        completely.
-   DRM:
- Extend workaround for spurious ClearKey `https://default.url` license
        URL to API 33+ (previously the workaround only applied on API 33
exactly) ([#&#8203;837](https://togithub.com/androidx/media/pull/837)).
- Fix `ERROR_DRM_SESSION_NOT_OPENED` when switching from encrypted to
clear content without a surface attached to the player. The error was
due to incorrectly using a secure decoder to play the clear content.
-   Session:
    -   Put the custom keys and values in `MediaMetadataCompat` to
        `MediaMetadata.extras` and `MediaMetadata.extras` to
        `MediaMetadataCompat`
        ([#&#8203;756](https://togithub.com/androidx/media/issues/756),
        [#&#8203;802](https://togithub.com/androidx/media/issues/802)).
    -   Fix broadcasting `notifyChildrenChanged` for legacy controllers
        ([#&#8203;644](https://togithub.com/androidx/media/issues/644)).
- Fix a bug where setting a negative time for a disabled `setWhen` timer
        of the notification caused a crash on some devices
        ([#&#8203;903](https://togithub.com/androidx/media/issues/903)).
- Fix `IllegalStateException` when the media notification controller
hasn't completed connecting when the first notification update is
requested
([#&#8203;917](https://togithub.com/androidx/media/issues/917)).
-   UI:
- Fix issue where forward and rewind buttons are not visible when used
        with Material Design in a BottomSheetDialogFragment
        ([#&#8203;511](https://togithub.com/androidx/media/issues/511)).
    -   Fix issue where the numbers in the fast forward button of the
        `PlayerControlView` were misaligned
        ([#&#8203;547](https://togithub.com/androidx/media/issues/547)).
-   DASH Extension:
    -   Parse "f800" as channel count of 5 for Dolby in DASH manifest
        ([#&#8203;688](https://togithub.com/androidx/media/issues/688)).
-   Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
- MIDI: Fix issue where seeking forward skips the Program Change events
        ([#&#8203;704](https://togithub.com/androidx/media/issues/704)).
    -   Migrate to FFmpeg 6.0 and update supported NDK to `r26b`
        ([#&#8203;707](https://togithub.com/androidx/media/pull/707),
        [#&#8203;867](https://togithub.com/androidx/media/pull/867)).
-   Cast Extension:
- Sanitize creation of a `Timeline` to not crash the app when loading
        media fails on the cast device
        ([#&#8203;708](https://togithub.com/androidx/media/issues/708)).

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-25 18:06:58 +01:00
renovate[bot] a78cd96d21
chore(deps): update kotlin to v1.9.22-1.0.17 (#368)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.devtools.ksp](https://goo.gle/ksp)
([source](https://togithub.com/google/ksp)) | `1.9.22-1.0.16` ->
`1.9.22-1.0.17` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp/1.9.22-1.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp/1.9.22-1.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp/1.9.22-1.0.16/1.9.22-1.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp/1.9.22-1.0.16/1.9.22-1.0.17?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)) | `1.9.22-1.0.16` ->
`1.9.22-1.0.17` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/1.9.22-1.0.17?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.22-1.0.17?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.22-1.0.16/1.9.22-1.0.17?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.22-1.0.16/1.9.22-1.0.17?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>google/ksp (com.google.devtools.ksp)</summary>

###
[`v1.9.22-1.0.17`](https://togithub.com/google/ksp/releases/tag/1.9.22-1.0.17)

[Compare
Source](https://togithub.com/google/ksp/compare/1.9.22-1.0.16...1.9.22-1.0.17)

##### Issues fixed

- Annotations missing on KSTypeArgument of typealias
[#&#8203;1679](https://togithub.com/google/ksp/issues/1679)
- unhandled visibility: private to this
[#&#8203;1515](https://togithub.com/google/ksp/issues/1515)
- `Resolver#getJvmCheckedException` results in `<ERROR TYPE>` when
throwing type variable.
[#&#8203;1460](https://togithub.com/google/ksp/issues/1460)
- Class annotation values with `$` in name are `null` when used in
Kotlin source
[#&#8203;1671](https://togithub.com/google/ksp/issues/1671)
- KSP 1.9.21-1.0.15 leaking memory and causing OOMs
[#&#8203;1653](https://togithub.com/google/ksp/issues/1653)
- KSP processing fails with Java enum
[#&#8203;1482](https://togithub.com/google/ksp/issues/1482)
- \[KSP2] Support Package annotations
[#&#8203;1641](https://togithub.com/google/ksp/issues/1641)

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-25 17:46:20 +01:00
Nik Clayton 42219875e9
fix: Disable filter functionality if unsupported by the server (#366)
The previous code unilaterally enabled filter functionality. Some
Mastodon-like servers -- like GoToSocial -- do not support filters, and
this resulted in user visible error messages when connecting to those
servers.

To fix this:

- Extend the set of supported server capabilities to include client and
server side filtering.

- Disable the filter preferences if the server does not support filters
and show a message explaining why it's disabled.

Extend the capabilities model to support this:

- Fetch server software name and version from the nodeinfo endpoints
(implementing the nodeinfo API and schema)

- Extend the use of kotlin-result to provide hierarchies of Error
classes and demonstrate how to chain errors and display more informative
messages without using exceptions.

Fixes #343
2024-01-18 21:44:30 +01:00
Nik Clayton 993b74691a
chore(deps): update plugin ktlint to v12.1.0 (#358) 2024-01-09 17:50:20 +01:00
Nik Clayton d8be70a465
chore(deps): update plugin ktlint to v12 (#357) 2024-01-08 23:26:46 +01:00
renovate[bot] d4fe1dff9e
fix(deps): update dependency androidx.exifinterface:exifinterface to v1.3.7 (#347)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[androidx.exifinterface:exifinterface](https://developer.android.com/jetpack/androidx/releases/exifinterface#1.3.7)
([source](https://cs.android.com/androidx/platform/frameworks/support))
| `1.3.6` -> `1.3.7` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.exifinterface:exifinterface/1.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.exifinterface:exifinterface/1.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.exifinterface:exifinterface/1.3.6/1.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.exifinterface:exifinterface/1.3.6/1.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

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

---

### 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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 18:20:17 +01:00
renovate[bot] 602c87a9c8
fix(deps): update dependency com.google.android.material:material to v1.11.0 (#351)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.google.android.material:material](https://togithub.com/material-components/material-components-android)
| `1.10.0` -> `1.11.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.android.material:material/1.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.android.material:material/1.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.android.material:material/1.10.0/1.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.android.material:material/1.10.0/1.11.0?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>material-components/material-components-android
(com.google.android.material:material)</summary>

###
[`v1.11.0`](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0)

[Compare
Source](https://togithub.com/material-components/material-components-android/compare/1.10.0...1.11.0)

### Important

Elevation Overlays within default component styles have been replaced by
the new [Tonal Surface Color
system](https://material.io/blog/tone-based-surface-color-m3). Instead
of blending the Primary color with the Surface color based on an
elevation value, components now use a specific Surface color role that
can be more easily understood and customized.

Documentation for the affected components and which Surface color roles
they use has been updated in
2114a11378.

### What's new since 1.10.0

- New [Tonal Surface Color
system](https://material.io/blog/tone-based-surface-color-m3)! Check out
the [design
guidance](https://material.io/blog/tone-based-surface-color-m3) and the
[commit with documentation
updates](2114a11378)
for more details.
- New Carousel variants! 1.11.0 introduces three new Carousel variants:
center-aligned hero, uncontained, and fullscreen. Check out the
[Carousel
documentation](https://togithub.com/material-components/material-components-android/blob/master/docs/components/Carousel.md)
for more details.

#### Dependency Updates

None.

*Note: Earlier versions of 1.11.0 used other versions of the
`androidx.activity` 1.8.0 library dependency, but there is no change in
the dependency from 1.10.0, the last stable MDC library version.*

#### Library Updates

-   `Badging`
- Adjusted badge vertical offset for certain components to fit design
requirements
([`78cc54b`](78cc54b8c3))
- Added note in attachBadgeDrawable method docs about menu item views
being re-used when there is a structural change in the menu. Since
badges are attached to the views, this may change the menu item that the
badge is intended for
([`5e6ea58`](5e6ea58280))
-   `BottomNavigationView`
- Set badges to be null instead of removing them from the sparse array
so that removing badges before restoring badge states will not override
the current state
([`9f2e686`](9f2e6864d2))
-   `BottomSheet`
- Fix sheet corners animation
([`de27132`](de271320e4))
-   `Carousel`
- Ensure that extra small size is not larger than the large size
([`17baf71`](17baf71972))
- Fixed crash when recyclerview has a size of zero.
([`26c3129`](26c3129201))
- When navigating with keyboard, scroll focused item to nearest focal
keyline, not the first focal keyline
([`fb9c1c6`](fb9c1c6edf))
- Force hero strategy to be start-aligned if there are not enough items
to make it center-aligned
([`9a2347b`](9a2347bda5))
- Add logic for multibrowse strategy to change strategy when number of
items is less than the number of keylines
([`cbb380d`](cbb380df61))
- Fixed focus order when using keyboard navigation for hero carousels.
([`0356f24`](0356f24a63))
- Cleaning up multi-browse strategy and removing compact arrangement
([`ed4647d`](ed4647d5df))
- Disallowing center aligned hero strategy with only 2 items since it
does not make any sense. With only 2 items there can only be a start
state and end state with the hero strategy.
([`d5d604d`](d5d604d0cc))
- Fix issue with uncontained carousel not having a proper end scroll
value due to assumption made in end scroll calculation
([`8cb444b`](8cb444b268))
- Added tests for hero and multibrowse strategies when the carousel
container is very small.
([`8312162`](8312162f53))
- Update scroll offset to scroll to the estimated position that it was
at upon an initial load
([`4a6ae4d`](4a6ae4d0b6))
- Fixed strategies crashing when there is not enough available space for
a large and a small item
([`c418063`](c418063205))
- Tweak uncontained strategy logic to adjust medium size items to
improve motion
([`93660d4`](93660d4241))
- Fixed formatted for KeylineState and KeylineStateList
([`b80d9a5`](b80d9a5ef4))
- Fixed keyline shifting in RTL for uncontained carousels
([`7151714`](7151714711))
- Reduce the number of truncations in intermediate calculations
([`4ce7e4c`](4ce7e4c8fa))
- Update vertical scroll speed to be faster
([`c6ea2d4`](c6ea2d4040))
- Fix some a11y bugs in Carousel
([`3d84841`](3d84841cad))
- Center aligned uncontained carousel
([`b6f6eb5`](b6f6eb555a))
- Add left-aligned uncontained strategy
([`9d81cac`](9d81cac125))
- Fix orientation not correct in item decoration calculations
([`966f7da`](966f7daec9))
- Update mask size on size change if mask x percentage has been set
([`dc91b39`](dc91b39d7c))
- Fix issue with next carousel item not being masked properly
([`a16f180`](a16f180ce7))
- Add a layout listener to recyclerview to refresh keyline state upon
size change
([`ff52862`](ff528621b3))
- Remove default list from Carousel catalog demos as it is not an
example of a carousel
([`0171624`](0171624c16))
- Add carousel alignment attribute
([`547156e`](547156e497))
- Fix issue with not refreshing keylines
([`674ec44`](674ec44429))
- Fixed MaskableFrameLayout not updating mask after size change when
setting the mask using setMaskXPercentage.
([`14023d2`](14023d2c85))
- Adding docs for fullscreen carousel strategy
([`7c40359`](7c40359d2b))
- Add fullscreen demo to catalog
([`ad6afbf`](ad6afbf6d8))
- Add full screen strategy
([`bc54f2e`](bc54f2e4b3))
-   `Catalog`
- Use BottomSheetDialogFragment
([`2c53952`](2c539524ec))
- Update navigation drawer state handling to be more accurate in demo
([`74ac87c`](74ac87cb61))
- Update navigation drawer state handling to be more accurate in custom
drawer demo
([`1252d4f`](1252d4f263))
- When bottom sheet is collapsed, back callback is enabled
([`98439df`](98439df4fb))
- Update side sheet state handling to be more accurate in demos
([`357cf2d`](357cf2d9ca))
- Update bottom sheet state handling to be more accurate in demos
([`f9102c7`](f9102c745a))
- Fixed demos in RTL
([`4e1b130`](4e1b130cdf))
- Make side sheet demo icon easier to see in dark mode
([`79a1953`](79a19537d7))
- Remove explicit Catalog dependency on androidx.activity now that
library depends on it
([`3bb69f5`](3bb69f501a))
- buid.gradle update.
([`4847799`](484779902e))
- Remove edge-to-edge to top app bar demos due to glitches in ActionBar
demo
([`c40e468`](c40e468820))
- Update slider position when carousel is scrolled in uncontained
carousel demo
([`480bbc6`](480bbc6a9b))
- Applied edge-to-edge to top app bar demos
([`aa5b5bc`](aa5b5bc157))
- Add uncontained carousel demo to catalog
([`ef9f918`](ef9f91864f))
- Update slider position when carousel is scrolled in catalog demos
([`3652fde`](3652fde271))
- Applied edge-to-edge to bottom sheet in Carousel demo
([`6c2dd5d`](6c2dd5d69e))
- Fix fullscreen vertical carousel to use vertical dividers
([`af7d09a`](af7d09a43d))
- Add alignment option to hero carousel
([`7cfd30f`](7cfd30f99b))
-   `Chip`
- Fix a typo in attributes table in documentation
([`7289aa6`](7289aa681d))
-   `CollapsingToolbarLayout`
- Fix issue where expanded text gets ellipsized too aggressively when
using title fade mode and the toolbar has menu items
([`094e3e2`](094e3e21ea))
- Fixed title collapse fade mode color to use a Tonal Surface role
instead of elevation overlay
([`5f2b4b2`](5f2b4b2531))
-   `Color`
- Delete unused contrast resources
([`541df07`](541df074a7))
- Updated focused and pressed state from 0.12 to 0.10 to increase the
contrast ratio with tonal surface color.
([`bc824b4`](bc824b4344))
- Updated colors of container transform demo
([`d16f223`](d16f22341e))
- Add ColorStateListDrawable support
([`0663019`](0663019f45))
- Removed layered drawable for the background after tonal surface color.
([`b5d6f1a`](b5d6f1ae45))
- Upgraded to v0.170 for tonal surface colors.
([`8204856`](8204856dd4))
- Update constructor comments
([`ba465a2`](ba465a2b17))
-   `Divider`
- Add RTL support
([`6b897c6`](6b897c6121))
-   `Documentation`
- Add note to clarify that automatic back handling in components is only
for API 33+
([`ad2b5f8`](ad2b5f8f8b))
- Update Predictive Back doc to recommend 1.10.0 stable version
([`b8b1a66`](b8b1a662de))
- Update doc to explain how to allow Top App Bar to grow taller in
response to system font setting
([`a01a68d`](a01a68de2d))
- Fix carousel docs
([`247240c`](247240c3cd))
- Add uncontained variant docs
([`9ee4aba`](9ee4aba007))
- Minor code block improvements
([`d7e75bb`](d7e75bba59))
- Add guidance in fullscreen strategy docs about portrait orientation
([`caec8d2`](caec8d2849))
- Update chip documentation to use `setOnCheckedStateChangeListener`
instead of `setOnCheckedChangeListener` which was deprecated in favour
of the former
([`0582b1a`](0582b1a094))
- Update example in docs to use `colorContainer` and `colorOnContainer`
instead of `colorPrimary` and `colorOnPrimary`.
([`44bfe2d`](44bfe2ddb8))
- Updated Color dev doc with tonal surface colors.
([`9a4c21d`](9a4c21d77a))
- Updated dev doc for tonal surface colors in affected components.
([`2114a11`](2114a11378))
- Crosslink github docs in javadocs
([`e3b255b`](e3b255b3a0))
- Cross-reference m.io and DAC in Github docs
([`1785bbf`](1785bbfabe))
-   `Material 3`
- Introduce U color tokens
([`ad63d3f`](ad63d3ff7e))
- Add Meizu to dynamic colors allowlist
([`faf9a32`](faf9a32770))
- Remove resources loader support for tonal surface update
([`1a9d54f`](1a9d54fa41))
- Added default framework text colors
([`d3dda60`](d3dda60296))
- Updated contrast documentation
([`1d3b8e1`](1d3b8e136d))
- Add shift to dynamic colors allowlist
([`fde37cf`](fde37cfba5))
- Expose attr contrastColorThemeOverlay
([`839b14c`](839b14cf0f))
- Add dynamic contrast support
([`862a7e1`](862a7e10c9))
-   `MaterialCardView`
- Support `android:duplicateParentState`.
([`31af945`](31af945caa))
-   `MaterialDatePicker`
- Added builder methods for customizing the positive and negative button
content descriptions
([`a00ee50`](a00ee50907))
- Fix header layout overlapping
([`5f1cab6`](5f1cab65b1))
- Fixing the "Column of Days:" announcement causing Talkback verbosity
([`a782e7a`](a782e7a1d8))
-   `NavigationView`
- Set material drawable background if the background has been set as a
ColorStateList
([`eba40e9`](eba40e9345))
-   `Predictive Back`
- Update to use decelerate interpolator
([`5559cbc`](5559cbc7c7))
- Fix issue where predictive back is not enabled in NavigationView after
rotating the screen or restarting the activity when the NavigationView
is already opened as a drawer
([`bccbd4f`](bccbd4f778))
- Fix issue where modal accessibility is not reset after collapsing
search view predictively, which caused the screen to appear frozen when
using TalkBack
([`8d83a31`](8d83a31b6b))
- Fixed IllegalStateException crashes caused by
MaterialBackAnimationHelper.
([`02dc779`](02dc77923b))
- Fixed `UnsupportedOperationException` `AnimatorSet` crash in
`SearchView`.
([`f101532`](f10153257f))
-   `ProgressIndicator`
- Allow extending LinearProgressIndicator and CircularProgressIndicator
(Closes
[#&#8203;2361](https://togithub.com/material-components/material-components-android/issues/2361))
([`3b0fd58`](3b0fd5868e))
-   `Search`
- Set the `editable` property within `SearchBar`'s
`AccessibilityNodeInfo` representation.
([`be1395b`](be1395bcef))
- Fix issue where predictive back is not enabled in SearchView after
rotating the screen or restarting the activity when the SearchView is
already expanded
([`a51561d`](a51561d8b8))
- Enforced outline variant to use colorSurface as container color.
([`720998d`](720998dcbd))
- Added support to set a default content description if a content
description is not set explicitly.
([`c15a323`](c15a323140))
-   `SideSheet`
- Add left sheet/sheet edge documentation.
([`d440e3c`](d440e3c4f8))
- Fix mixed language snippet
([`f91f17b`](f91f17bb4f))
-   `Switch`
- Fix drawable scaling for API < 23
([`a10c508`](a10c5083a9))
- Amendments to thumb icon size support
([`db9a641`](db9a6412ec))
-   `Tabs`
- Integrated divider token output into the background drawables.
([`6b627c2`](6b627c20e2))
-   `TextInputLayout`
- Fix editText paddings on pre-Lollipop
([`2590c42`](2590c42764))
- Fix onMeasure() infinite loop bug caused by posting requestLayout()
before endLayout is fully rendered.
([`93360a5`](93360a5a5d))
- Mutate cursor drawable before tinting it.
([`9a4888f`](9a4888f958))
-   `Theming`
- Fix swapped error colors for dynamic contrast theme in light mode
([`f2ccc11`](f2ccc116ea))
-   `TimePicker`
- Fix layout getting cut on narrow screens
([`d10201d`](d10201dc88))
-   `Tokens`
- Upgraded to v0.175.
([`bfee8a7`](bfee8a74d7))
-   `TopAppBar`
- Simplified logics to animate the container color between lifted state
and the default state.
([`1e9f5f0`](1e9f5f0730))
- Fix dynamic status bar foreground lift on scroll color when using
Tonal Surface Color on API Level 33
([`c4ae01a`](c4ae01a5a5))
- Fix dynamic status bar foreground lift on scroll color when using
Tonal Surface Color
([`569ddac`](569ddac527))
- Fixed that liftOnScrollColor doesn't respect to setLifted when
liftOnScroll is set to false.
([`43242f2`](43242f20de))
- Added liftOnScroll and lifted toggles to the catalog.
([`4e995d1`](4e995d1f81))
- Added getMaterialShapeBackground() to return a MaterialShapeDrawable
object of the background (non-lifted layer).
([`c7a0adf`](c7a0adf8dd))
- Updated the handling of liftOnScrollColor not override
android:background.
([`2b476b3`](2b476b3a96))
-   `Other`
- Cleanup date formats that specify the same field multiple times.
([`f1da3c3`](f1da3c384f))
- Update androidx.activity dependency to version 1.8.0
([`733fe20`](733fe20d88))
- Update androidx.activity dependency to version 1.8.0-rc01
([`2cfb127`](2cfb127095))
- Remove android:targetSdk where it's not needed
([`09382b8`](09382b896c))
- Update androidx.activity dependency to version 1.8.0-beta01
([`f93c65c`](f93c65c347))
- Added a comment before overridden resources.
([`7d8681f`](7d8681f71d))
- Delete BackLayer component
([`4c89301`](4c89301330))
- Stop running Robolectric tests on APIs < 19.
([`0a6a8a9`](0a6a8a971d))
- Fixed corrupt gradle jar file.
([`ed9b541`](ed9b54129d))
- Upgrade Gradle to 7.6.2.
([`04c0582`](04c05826e4))
- Consistently use window coordinates to calculate Snackbar offsets. In
one place screen and window coordinates are mixed, which leads to bad
behavior in split screen apps.
([`57b2663`](57b26639d8))
- 1.11.0-alpha01 Release.
([`76a681a`](76a681abf6))

#### Full list of release notes

-
[1.11.0-alpha01](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0-alpha01)
-
[1.11.0-alpha02](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0-alpha02)
-
[1.11.0-alpha03](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0-alpha03)
-
[1.11.0-alpha04](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0-alpha04)
-
[1.11.0-alpha05](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0-alpha05)
-
[1.11.0-alpha06](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0-alpha06)
-
[1.11.0-beta01](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0-beta01)
-
[1.11.0-rc01](https://togithub.com/material-components/material-components-android/releases/tag/1.11.0-rc01)

#### Full list of changes

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/pachli/pachli-android).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-08 18:19:43 +01:00