OpenThumb 1.0.6
Installing over 1.0.5 or earlier will fail — uninstall first. Every release
up to 1.0.5 was signed with an Android debug key, because the signing config
falls back to one whenever the release keystore is absent. 1.0.6 is the first
build signed with OpenThumb's own key, and Android refuses to replace an app
with a build carrying a different certificate. Your settings and provider
credentials do not survive the uninstall; export or re-enter them. This is a
one-time break — 1.0.7 onward upgrade normally.
Added
scripts/bump-version.sh— movesversionName,versionCode, the CHANGELOG
heading, the F-Droid changelog and the version on the landing page together.
They were four hand edits before, and fastlane still carried a changelog for
versionCode 21 while the app shipped 26.scripts/test-bump-version.sh
checks that all of them move..github/workflows/release.yml— a tag push builds the signed APK, publishes
the release with the notes read out of this file, and mails them. It checks
that the tag agrees with theversionNameit was cut from, and the tag is
annotated becausegit push --follow-tagsskips lightweight ones — a
lightweight tag stays local and the release never fires.
release-apk.ymlandrelease-announce.ymlare folded into it: both hung off
release: published, which a release created withGITHUB_TOKENdoes not
raise, so automating release creation would have silently stopped both.- The landing page links the changelog, and shows which version is current.
Fixed
- Release APK could be published signed with a throwaway key. Without the
keystore secretsbuild.gradle.ktsfalls back to the debug config, and CI
runners generate a fresh debug key per run — so a published build could not
be upgraded onto by anyone holding an earlier one. The workflow now signs
from secrets when they exist and fails rather than attaching a debug-signed
APK.