From e48bd3888a0747fb63ac1976f0109c3eccd039e3 Mon Sep 17 00:00:00 2001 From: Adam Brown Date: Sun, 24 May 2026 15:59:13 -0800 Subject: [PATCH 1/3] Strip READ_PHONE_STATE from merged manifest (#35) A transitive dependency (likely ML Kit face detection / Play Services Basement in the full flavor) was injecting READ_PHONE_STATE into the merged manifest. The app doesn't need it, so remove it via the same tools:node="remove" pattern already used for INTERNET and ACCESS_NETWORK_STATE. Co-authored-by: Claude --- app/src/main/AndroidManifest.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 62db951..be899be 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -18,6 +18,7 @@ + Date: Mon, 25 May 2026 00:52:25 -0700 Subject: [PATCH 2/3] Release prep --- 31.txt | 3 +++ gradle/libs.versions.toml | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 31.txt diff --git a/31.txt b/31.txt new file mode 100644 index 0000000..9c46b57 --- /dev/null +++ b/31.txt @@ -0,0 +1,3 @@ +- Localization updates +- Remove READ_PHONE_STATE permission +- Properly clear session notifications \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a626aa8..aed68de 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] -versionCode = "30" -versionName = "4.1.2" +versionCode = "31" +versionName = "4.1.3" targetSdk = "36" compileSdk = "36" From 06d81b65ac029c221c634d2e691e6a7c9e173f0b Mon Sep 17 00:00:00 2001 From: Adam Brown Date: Mon, 25 May 2026 00:53:15 -0700 Subject: [PATCH 3/3] Upgrade libs --- gradle/libs.versions.toml | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index aed68de..34aba2f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -7,12 +7,12 @@ compileSdk = "36" minSdk = "29" javaVersion = "17" -agp = "8.12.3" -workManager = "2.11.1" +agp = "8.13.2" +workManager = "2.11.2" argon2kt = "1.6.0" bcrypt = "0.10.2" faceDetection = "16.1.7" -kotlinxCoroutinesTest = "1.10.2" +kotlinxCoroutinesTest = "1.11.0" rules = "1.7.0" accompanistPermissions = "0.37.3" coreSplashscreen = "1.2.0" @@ -20,24 +20,24 @@ lifecycleViewModel = "2.10.0" materialIconsExtended = "1.7.8" mockk = "1.14.9" kim = "0.26.2" -kotlin = "2.3.10" -kotlinx-serialization = "1.10.0" -runtimeLivedata = "1.10.3" -coreKtx = "1.17.0" +kotlin = "2.3.21" +kotlinx-serialization = "1.11.0" +runtimeLivedata = "1.11.2" +coreKtx = "1.18.0" junit = "4.13.2" junitVersion = "1.3.0" -activityCompose = "1.12.4" -composeBom = "2026.02.00" -navigation3 = "1.0.1" +activityCompose = "1.13.0" +composeBom = "2026.05.01" +navigation3 = "1.1.2" lifecycleViewmodelNav3 = "2.10.0" -koin-bom = "4.1.1" -cryptographyBom = "0.5.0" -datastorePreferences = "1.2.0" +koin-bom = "4.2.1" +cryptographyBom = "0.6.0" +datastorePreferences = "1.2.1" timber = "5.0.1" -zoomable = "2.11.1" -media3 = "1.9.2" -camerax = "1.5.3" -foundation = "1.10.3" +zoomable = "2.12.0" +media3 = "1.10.1" +camerax = "1.6.1" +foundation = "1.11.2" [libraries] accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "accompanistPermissions" }