docs(manual): batch 10 review — RevenueCat version was 8.20.0, now 10.12.0

The Gradle config section and the RevenueCat integration section both
said 'purchases:8.20.0' / 'RevenueCat 8.20.0'. The actual current
version in gradle/libs.versions.toml is 10.12.0 (was bumped in R30).
iOS purchases-ios is declared as 'from: 5.0.0' in Package.swift.

Replaced both occurrences with the real version (10.12.0 Android,
5.x iOS). Also added Glance 1.1.1 to the dependency list (the Today
widget shipped in R29 and the manual was missing it from the
build-config list - even though the widget is documented elsewhere).

Other Batch 10 claims verified clean:
- compileSdk 35, minSdk 26, targetSdk 35, jvmTarget 17 in
  app/build.gradle.kts - all match.
- applicationId 'closer.app', namespace 'app.closer' - match.
- ProGuard rules: Firebase, Hilt, Room, RevenueCat, Kotlin coroutines,
  Kotlin metadata, crash reporting - all match proguard-rules.pro.
  Tink is NOT explicitly kept (manual claim is accurate).
- BiometricPrompt + biometricLoginEnabled gating in SecurityScreen.kt
  - match.
- Required build secrets (RC_API_KEY, google-services.json,
  GoogleService-Info.plist, local.properties) - match the documented
  gitignore / per-source build-secret policy.
This commit is contained in:
null 2026-07-08 23:30:43 -05:00
parent 9330c0c452
commit 22c816add1
1 changed files with 3 additions and 2 deletions

View File

@ -867,7 +867,7 @@ aggregateOutcomeStats every 24 hours (default
### RevenueCat integration
Both clients use the RevenueCat native SDK (`purchases:8.20.0` on Android, `purchases-ios` via SPM). The SDK handles the platform billing surface (Google Play Billing on Android, StoreKit on iOS) and exposes a normalized `CustomerInfo` API.
Both clients use the RevenueCat native SDK (`purchases:10.12.0` on Android, `purchases-ios:5.x` via SPM - `from: 5.0.0` in `Package.swift`). The SDK handles the platform billing surface (Google Play Billing on Android, StoreKit on iOS) and exposes a normalized `CustomerInfo` API.
The Android app reads the API key from `BuildConfig.RC_API_KEY`, which is sourced from `local.properties` or the `RC_API_KEY` env var. A release build with a missing or placeholder key **fails fast** with a `GradleException` from `app/build.gradle.kts` - there is a doFirst guard on every release assemble/bundle task.
@ -1130,8 +1130,9 @@ The iOS CryptoKit implementation follows these rules of parity with Android:
- Hilt 2.53.1
- Room 2.6.1
- DataStore 1.1.2
- Glance 1.1.1 (Today widget)
- Firebase BoM 33.8.0 (auth, firestore, messaging, config, analytics, crashlytics, appcheck, appcheck-playintegrity, storage, functions)
- RevenueCat 8.20.0
- RevenueCat 10.12.0
- Tink 1.13.0, BouncyCastle 1.78.1
- Play Integrity 1.4.0
- Biometric 1.1.0