From e397dfd909a6c3fc3b6ef5b6886696068df33f1e Mon Sep 17 00:00:00 2001 From: Luis-ADFA Date: Thu, 3 Sep 2026 02:14:30 -0600 Subject: [PATCH 1/2] K2GO-90 chore(release): v0.8.0-beta, the first release under the new identity MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit versionCode 61 and versionName v0.8.0-beta. The OTA note is written for the only audience that can see it: nobody runs a version below 61 under the new identity, so the update dialog carrying this text reaches exactly the devices still on the old identifier — where the update downloads and is then refused, because the signature check will not install an APK signed by a different key. Rather than leave those users with a failed download, the note gives them the path that works: back up, remove, install by hand, restore. Backups made by the old app restore into the new one; that was verified on device, not assumed. --- controller/app/build.gradle | 4 ++-- controller/ci/ota-release-notes.md | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/controller/app/build.gradle b/controller/app/build.gradle index 48d832f88..6810ab8a7 100644 --- a/controller/app/build.gradle +++ b/controller/app/build.gradle @@ -45,12 +45,12 @@ android { // 3. Version Control (OTA) // NOTE: With splits enabled, this number will be multiplied by 10 (e.g. 50 -> 500, 501, 502) - versionCode 60 + versionCode 61 // Dynamic version suffix: CI passes -PversionSuffix explicitly; local builds fall back to // the git short SHA (ADFA-4787) so any installed APK is traceable to its commit. def ciSuffix = project.hasProperty('versionSuffix') ? project.property('versionSuffix') : (project.ext.gitSha ? "-${project.ext.gitSha}" : "") - versionName "v0.7.0-beta${ciSuffix}" + versionName "v0.8.0-beta${ciSuffix}" buildConfigField "String", "GIT_SHA", "\"${project.ext.gitSha}\"" // True only when google-services.json is present, so AnalyticsClient can compile out cleanly. buildConfigField "boolean", "ANALYTICS_ENABLED", "${hasGoogleServices}" diff --git a/controller/ci/ota-release-notes.md b/controller/ci/ota-release-notes.md index c881ff5d5..8db5c3617 100644 --- a/controller/ci/ota-release-notes.md +++ b/controller/ci/ota-release-notes.md @@ -11,6 +11,12 @@ tag). This file is only the short summary end users read when they update. Rule: the version header must match the release tag / `versionName` so the CI picks the right entry. +## v0.8.0-beta +K2Go now installs as a new app, so Android cannot update your current one into it. Start over +without losing anything: back up your library first (Settings > Backups & recovery), remove the old +app, install this release by hand, then restore your backup. Keeping both installed stops the new +app from starting. + ## v0.7.0-beta Welcome to Knowledge to Go. v0.7.0-beta brings a resilient install (pause/resume), honest system state, and a refreshed Connect & Clone. Enjoy life offline. From 56253b6deace100c086bff8861526c1123782bec Mon Sep 17 00:00:00 2001 From: Luis-ADFA Date: Thu, 3 Sep 2026 03:54:59 -0600 Subject: [PATCH 2/2] K2GO-90 chore(assets): refresh the offline size tables from the new bucket rootfs_sizes.csv and module_sizes.csv still carried August figures measured against the retired host. They are what the app shows when it cannot reach the network, so releasing with them stale means quoting sizes for artifacts that no longer exist anywhere. --- controller/app/src/main/assets/module_sizes.csv | 8 ++++---- controller/app/src/main/assets/rootfs_sizes.csv | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/controller/app/src/main/assets/module_sizes.csv b/controller/app/src/main/assets/module_sizes.csv index bad9f94b5..2fa03dac6 100644 --- a/controller/app/src/main/assets/module_sizes.csv +++ b/controller/app/src/main/assets/module_sizes.csv @@ -1,5 +1,5 @@ # module,bytes,fetched_date -- AUTO-GENERATED by the refreshModuleSizes Gradle task; do not edit by hand -calibreweb,1563557888,2026-08-03 -code,665001984,2026-08-03 -kiwix,74371072,2026-08-03 -kolibri,419393536,2026-08-03 +calibreweb,1572274176,2026-09-03 +code,610934784,2026-09-03 +kiwix,74387456,2026-09-03 +kolibri,419401728,2026-09-03 diff --git a/controller/app/src/main/assets/rootfs_sizes.csv b/controller/app/src/main/assets/rootfs_sizes.csv index 6b738d14c..2d8425eba 100644 --- a/controller/app/src/main/assets/rootfs_sizes.csv +++ b/controller/app/src/main/assets/rootfs_sizes.csv @@ -1,7 +1,7 @@ # tier,abi,bytes,fetched_date,installed_bytes -- AUTO-GENERATED by the refreshRootfsSizes Gradle task; do not edit by hand -basic,arm64-v8a,1936814083,2026-08-12,3294993334 -basic,armeabi-v7a,1937574673,2026-08-12,3162669853 -standard,arm64-v8a,2146100011,2026-08-12,3675639489 -standard,armeabi-v7a,2146813777,2026-08-12,3542808901 -full,arm64-v8a,2841912764,2026-08-12,5103603118 -full,armeabi-v7a,2833106837,2026-08-12,4856267277 +basic,arm64-v8a,1649845463,2026-09-03,2950421580 +basic,armeabi-v7a,1638428251,2026-09-03,2810709359 +standard,arm64-v8a,1759501126,2026-09-03,3231108551 +standard,armeabi-v7a,1747561973,2026-09-03,3090394658 +full,arm64-v8a,2425043952,2026-09-03,4631509521 +full,armeabi-v7a,2404391214,2026-09-03,4377420576