From 53faa3c2784f955ed8313daabed4521ff4aff6bb Mon Sep 17 00:00:00 2001 From: JasonWildMe Date: Thu, 10 Sep 2026 09:17:04 -0700 Subject: [PATCH] docs(setup): stop naming a release version that goes stale The iOS note claimed the npm/Android version was 0.1.0-field.2. It has been field.6 since #37, and the sentence would have gone stale again at the next bump. It now points at package.json and build.gradle instead of restating their contents; the 0.0.58 marketing version it contrasts with is unchanged and still accurate. Also records what versionCode actually is. The values look like epoch seconds because the first was generated that way, but field.5 and field.6 increment it by hand, so it no longer encodes a build time. Anyone deriving the next one from a clock would be guessing. Adds the missing newline at end of file while editing it. No behaviour, tooling, or version metadata changed. Co-Authored-By: Claude Opus 5 (1M context) --- docs/setup.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/setup.md b/docs/setup.md index 2a28c1239..98bde0925 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -115,7 +115,7 @@ npm run ios Apple toolchain compatibility is unresolved: the Gemfile pins `xcodeproj < 1.26.0`, while [Podfile.lock](../ios/Podfile.lock) records CocoaPods 1.17.0. Review that pin before adopting Xcode 16. These steps and a clean iOS build have not been verified on the Windows preparation host; do not treat them as a passing macOS build recipe. -The [Xcode project](../ios/OffgridMobile.xcodeproj/project.pbxproj) leaves `DEVELOPMENT_TEAM` empty. A maintainer must supply their own team and provisioning for real-device builds or archives. Its marketing version is still `0.0.58`, not the npm/Android `0.1.0-field.2`; iOS release metadata needs separate review. +The [Xcode project](../ios/OffgridMobile.xcodeproj/project.pbxproj) leaves `DEVELOPMENT_TEAM` empty. A maintainer must supply their own team and provisioning for real-device builds or archives. Its marketing version is `0.0.58` and does not track the version in [package.json](../package.json) or [android/app/build.gradle](../android/app/build.gradle); iOS release metadata needs separate review. ## Local checks @@ -153,4 +153,6 @@ The manually dispatched [Android release workflow](../.github/workflows/release. - Repository secret `ELEBOOK_RELEASE_KEY_PASSWORD`. - Matching npm and Android version metadata, successful release gates, and approval to publish. -Release Gradle tasks fail when signing properties or the keystore are missing; they do not fall back to debug signing. Keep the release signing identity stable for in-place updates and keep all signing material out of public configuration and version control. The workflow's presence does not establish that a release or downloadable distribution exists, and publication requires separate maintainer approval. \ No newline at end of file +Android `versionCode` must increase for every build a tester installs over an existing one, because Android refuses an in-place downgrade. The values look like epoch seconds because the first was generated that way, but later releases increment by hand and no longer encode a build time. Treat the number as an opaque counter that only ever goes up, and check it against the previous release rather than deriving it. + +Release Gradle tasks fail when signing properties or the keystore are missing; they do not fall back to debug signing. Keep the release signing identity stable for in-place updates and keep all signing material out of public configuration and version control. The workflow's presence does not establish that a release or downloadable distribution exists, and publication requires separate maintainer approval.