diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
index 5edad4fd..29332138 100644
--- a/.idea/codeStyles/Project.xml
+++ b/.idea/codeStyles/Project.xml
@@ -138,4 +138,4 @@
       </indentOptions>
     </codeStyleSettings>
   </code_scheme>
-</component>
\ No newline at end of file
+</component>
diff --git a/build.libs.toml b/build.libs.toml
index 03af200d..43a99c32 100644
--- a/build.libs.toml
+++ b/build.libs.toml
@@ -17,37 +17,45 @@ espresso = "3.4.0"
 # We need to enforce that the versions we use are the same as AOSP to ensure compatibility.
 
 # Kotlin versions
-# https://android.googlesource.com/platform/external/kotlinc/+/refs/tags/android-14.0.0_r1/build.txt
-aosp-kotlin = { strictly = "1.8.10" }
+# https://android.googlesource.com/platform/external/kotlinc/+/refs/tags/android-14.0.0_r29/build.txt
+aosp-kotlin = { strictly = "1.9.0" }
 
 # Lint versions
 lint-rules = { strictly = "0.1.0" }
 
 # Google versions
-# https://android.googlesource.com/platform/external/protobuf/+/refs/tags/android-14.0.0_r1/java/pom.xml#7
-protobuf = { strictly = "3.21.7" }
-# https://android.googlesource.com/platform/prebuilts/sdk/+/refs/tags/android-14.0.0_r1/current/extras/material-design-x/Android.bp#15
+# https://android.googlesource.com/platform/external/protobuf/+/refs/tags/android-14.0.0_r29/java/pom.xml#7
+protobuf = { strictly = "3.21.12" }
+# https://android.googlesource.com/platform/prebuilts/sdk/+/refs/tags/android-14.0.0_r29/current/extras/material-design-x/Android.bp#15
 material = { strictly = "1.7.0-alpha03" }
 # careful with upgrading tink, so old backups continue to be decryptable
-# https://github.com/google/tink/releases
+# https://github.com/tink-crypto/tink-java/releases
 tink = { strictly = "1.10.0" }
 
 # Coroutines versions
-# https://android.googlesource.com/platform/external/kotlinx.coroutines/+/refs/tags/android-14.0.0_r1/CHANGES.md
-coroutines = { strictly = "1.6.4" }
+# https://android.googlesource.com/platform/external/kotlinx.coroutines/+/refs/tags/android-14.0.0_r29/CHANGES.md
+coroutines = { strictly = "1.7.2" }
 
 # AndroidX versions
-# https://android.googlesource.com/platform/prebuilts/sdk/+/refs/tags/android-14.0.0_r1/current/androidx/Android.bp
-room = { strictly = "2.5.0" }
-androidx-core = { strictly = "1.9.0-alpha05" }
-androidx-fragment = { strictly = "1.5.0-alpha03" }
-androidx-activity = { strictly = "1.5.0-alpha03" }
-androidx-preference = { strictly = "1.2.0-alpha01" }
-androidx-lifecycle-viewmodel-ktx = { strictly = "2.5.0-alpha03" }
-androidx-lifecycle-livedata-ktx = { strictly = "2.5.0-alpha03" }
-androidx-constraintlayout = { strictly = "2.2.0-alpha05" }
-androidx-documentfile = { strictly = "1.1.0-alpha01" }
-androidx-work-runtime = { strictly = "2.9.0-alpha01" }
+# https://android.googlesource.com/platform/prebuilts/sdk/+/android-14.0.0_r29/current/androidx/m2repository/androidx/room/room-ktx?autodive=0
+room = { strictly = "2.6.1" } # 2.7.0-alpha01 but that's not released, yet
+# https://android.googlesource.com/platform/prebuilts/sdk/+/android-14.0.0_r29/current/androidx/m2repository/androidx/core/core-ktx?autodive=0
+androidx-core = { strictly = "1.13.0-alpha02" } # 1.13.0-alpha01 in AOSP, but uses code from alpha02
+# https://android.googlesource.com/platform/prebuilts/sdk/+/android-14.0.0_r29/current/androidx/m2repository/androidx/fragment/fragment-ktx?autodive=0
+androidx-fragment = { strictly = "1.7.0-alpha06" }
+# https://android.googlesource.com/platform/prebuilts/sdk/+/android-14.0.0_r29/current/androidx/m2repository/androidx/activity/activity-ktx?autodive=0
+androidx-activity = { strictly = "1.9.0-alpha01" }
+# https://android.googlesource.com/platform/prebuilts/sdk/+/android-14.0.0_r29/current/androidx/m2repository/androidx/preference/preference?autodive=0
+androidx-preference = { strictly = "1.2.0-alpha01" } # 1.3.0-alpha01 in AOSP but isn't released
+# https://android.googlesource.com/platform/prebuilts/sdk/+/android-14.0.0_r29/current/androidx/m2repository/androidx/lifecycle/lifecycle-viewmodel-ktx?autodive=0
+androidx-lifecycle-viewmodel-ktx = { strictly = "2.7.0-alpha02" }
+androidx-lifecycle-livedata-ktx = { strictly = "2.7.0-alpha02" }
+# https://android.googlesource.com/platform/prebuilts/sdk/+/android-14.0.0_r29/current/androidx/m2repository/androidx/constraintlayout/constraintlayout?autodive=0
+androidx-constraintlayout = { strictly = "2.2.0-alpha13" }
+# https://android.googlesource.com/platform/prebuilts/sdk/+/android-14.0.0_r29/current/androidx/m2repository/androidx/documentfile/documentfile?autodive=0
+androidx-documentfile = { strictly = "1.1.0-alpha01" } # 1.1.0-alpha02 in AOSP but isn't released
+# https://android.googlesource.com/platform/prebuilts/sdk/+/android-14.0.0_r29/current/androidx/m2repository/androidx/work/work-runtime-ktx?autodive=0
+androidx-work-runtime = { strictly = "2.10.0-alpha01" }
 
 [libraries]
 # Kotlin standard dependencies
diff --git a/build.plugins.toml b/build.plugins.toml
index defb8bff..6b67238d 100644
--- a/build.plugins.toml
+++ b/build.plugins.toml
@@ -5,9 +5,10 @@
 # 1.6.10 Android 13
 # 1.7.20 Android 13 (QPR2)
 # 1.8.10 Android 14
+# 1.9.0 Android 14 (QPR2)
 # Check:
-# https://android.googlesource.com/platform/external/kotlinc/+/refs/tags/android-14.0.0_r1/build.txt
-kotlin = "1.8.10"
+# https://android.googlesource.com/platform/external/kotlinc/+/refs/tags/android-14.0.0_r29/build.txt
+kotlin = "1.9.0"
 
 androidGradle = "8.1.2"
 protobuf = "0.9.4"