diff --git a/app/lint.xml b/app/lint.xml
index 88ad21f059..4092b89aca 100644
--- a/app/lint.xml
+++ b/app/lint.xml
@@ -71,6 +71,12 @@
+
+
+
+
+
diff --git a/app/src/test/java/com/keylesspalace/tusky/components/compose/ComposeTokenizerTest.kt b/app/src/test/java/com/keylesspalace/tusky/components/compose/ComposeTokenizerTest.kt
index c7988c181e..c745c00453 100644
--- a/app/src/test/java/com/keylesspalace/tusky/components/compose/ComposeTokenizerTest.kt
+++ b/app/src/test/java/com/keylesspalace/tusky/components/compose/ComposeTokenizerTest.kt
@@ -30,7 +30,7 @@ class ComposeTokenizerTest(
companion object {
@Parameterized.Parameters(name = "{0}")
@JvmStatic
- fun data(): Iterable {
+ fun data(): Iterable> {
return listOf(
arrayOf("@mention", 0, 8),
arrayOf("@ment10n", 0, 8),
diff --git a/app/src/test/java/com/keylesspalace/tusky/components/compose/StatusLengthTest.kt b/app/src/test/java/com/keylesspalace/tusky/components/compose/StatusLengthTest.kt
index b833be6ff7..37a19b2eda 100644
--- a/app/src/test/java/com/keylesspalace/tusky/components/compose/StatusLengthTest.kt
+++ b/app/src/test/java/com/keylesspalace/tusky/components/compose/StatusLengthTest.kt
@@ -35,7 +35,7 @@ class StatusLengthTest(
companion object {
@ParameterizedRobolectricTestRunner.Parameters(name = "{0}")
@JvmStatic
- fun data(): Iterable {
+ fun data(): Iterable> {
return listOf(
arrayOf("", 0),
arrayOf(" ", 1),
diff --git a/app/src/test/java/com/keylesspalace/tusky/util/LinkHelperTest.kt b/app/src/test/java/com/keylesspalace/tusky/util/LinkHelperTest.kt
index 38ce2abb3d..376fc7abf3 100644
--- a/app/src/test/java/com/keylesspalace/tusky/util/LinkHelperTest.kt
+++ b/app/src/test/java/com/keylesspalace/tusky/util/LinkHelperTest.kt
@@ -403,7 +403,7 @@ class LinkHelperTest {
companion object {
@Parameterized.Parameters(name = "match_{0}")
@JvmStatic
- fun data(): Iterable {
+ fun data(): Iterable> {
return listOf(
arrayOf("https://mastodon.foo.bar/@User", true),
arrayOf("http://mastodon.foo.bar/@abc123", true),
diff --git a/app/src/test/java/com/keylesspalace/tusky/util/NumberUtilsTest.kt b/app/src/test/java/com/keylesspalace/tusky/util/NumberUtilsTest.kt
index 08b5dd5a74..8de0f885ba 100644
--- a/app/src/test/java/com/keylesspalace/tusky/util/NumberUtilsTest.kt
+++ b/app/src/test/java/com/keylesspalace/tusky/util/NumberUtilsTest.kt
@@ -35,7 +35,7 @@ class NumberUtilsTest(private val input: Long, private val want: String) {
@Parameterized.Parameters(name = "formatNumber_{0}")
@JvmStatic
- fun data(): Iterable {
+ fun data(): Iterable> {
return listOf(
arrayOf(0, "0"),
arrayOf(1, "1"),
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index f3bda80b8c..1668710bd6 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -25,7 +25,7 @@ androidx-work = "2.9.1"
androidx-room = "2.6.1"
bouncycastle = "1.70"
conscrypt = "2.5.3"
-coroutines = "1.9.0"
+coroutines = "1.10.1"
diffx = "1.1.1"
emoji2 = "1.4.0"
filemoji-compat = "3.2.7"
@@ -33,7 +33,7 @@ glide = "4.16.0"
# Deliberate downgrade, https://github.com/tuskyapp/Tusky/issues/3631
glide-animation-plugin = "3.0.2"
hilt = "2.55"
-kotlin = "2.0.21"
+kotlin = "2.1.0"
image-cropper = "4.3.2"
material = "1.12.0"
material-drawer = "9.0.2"
@@ -54,7 +54,7 @@ xmlwriter = "1.0.4"
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
-google-ksp = "com.google.devtools.ksp:2.0.21-1.0.28"
+google-ksp = "com.google.devtools.ksp:2.1.0-1.0.29"
hilt-android = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index 251f267644..8d46ae61e5 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -9959,6 +9959,11 @@
+
+
+
+
+
@@ -10039,6 +10044,14 @@
+
+
+
+
+
+
+
+
@@ -10145,6 +10158,14 @@
+
+
+
+
+
+
+
+
@@ -10225,6 +10246,14 @@
+
+
+
+
+
+
+
+
@@ -10305,6 +10334,14 @@
+
+
+
+
+
+
+
+
@@ -10385,6 +10422,14 @@
+
+
+
+
+
+
+
+
@@ -12392,6 +12437,14 @@
+
+
+
+
+
+
+
+
@@ -12449,6 +12502,14 @@
+
+
+
+
+
+
+
+
@@ -12481,6 +12542,14 @@
+
+
+
+
+
+
+
+
@@ -12513,6 +12582,14 @@
+
+
+
+
+
+
+
+
@@ -12545,6 +12622,14 @@
+
+
+
+
+
+
+
+
@@ -12585,6 +12670,14 @@
+
+
+
+
+
+
+
+
@@ -12617,6 +12710,14 @@
+
+
+
+
+
+
+
+
@@ -12649,6 +12750,14 @@
+
+
+
+
+
+
+
+
@@ -12689,6 +12798,14 @@
+
+
+
+
+
+
+
+
@@ -12721,6 +12838,14 @@
+
+
+
+
+
+
+
+
@@ -12753,6 +12878,14 @@
+
+
+
+
+
+
+
+
@@ -12785,6 +12918,14 @@
+
+
+
+
+
+
+
+
@@ -12817,6 +12958,14 @@
+
+
+
+
+
+
+
+
@@ -12849,6 +12998,14 @@
+
+
+
+
+
+
+
+
@@ -12881,6 +13038,14 @@
+
+
+
+
+
+
+
+
@@ -12913,6 +13078,14 @@
+
+
+
+
+
+
+
+
@@ -12945,6 +13118,14 @@
+
+
+
+
+
+
+
+
@@ -12977,6 +13158,14 @@
+
+
+
+
+
+
+
+
@@ -13031,6 +13220,14 @@
+
+
+
+
+
+
+
+
@@ -13063,6 +13260,14 @@
+
+
+
+
+
+
+
+
@@ -13098,6 +13303,14 @@
+
+
+
+
+
+
+
+
@@ -13170,6 +13383,14 @@
+
+
+
+
+
+
+
+
@@ -13202,6 +13423,14 @@
+
+
+
+
+
+
+
+
@@ -13234,6 +13463,14 @@
+
+
+
+
+
+
+
+
@@ -13266,6 +13503,14 @@
+
+
+
+
+
+
+
+
@@ -13298,6 +13543,14 @@
+
+
+
+
+
+
+
+
@@ -13419,6 +13672,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -13480,6 +13744,11 @@
+
+
+
+
+
@@ -13624,6 +13893,14 @@
+
+
+
+
+
+
+
+
@@ -13656,6 +13933,14 @@
+
+
+
+
+
+
+
+
@@ -13688,6 +13973,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -13708,6 +14009,11 @@
+
+
+
+
+
@@ -13728,6 +14034,11 @@
+
+
+
+
+
@@ -13744,6 +14055,14 @@
+
+
+
+
+
+
+
+
@@ -13768,6 +14087,11 @@
+
+
+
+
+
@@ -13793,6 +14117,14 @@
+
+
+
+
+
+
+
+
@@ -13827,6 +14159,14 @@
+
+
+
+
+
+
+
+
@@ -13872,6 +14212,14 @@
+
+
+
+
+
+
+
+
@@ -13888,6 +14236,14 @@
+
+
+
+
+
+
+
+