App identity and versioning #52

Closed
opened 2026-08-03 22:43:02 +00:00 by TheAnachronism · 1 comment

Part of #41

Question

For sideload-to-friends 1.0 beta: keep applicationId/namespace dev.anachronis.tt_rss_viewer? What display name? How should app versionName/versionCode relate to git tags and Forgejo releases?

Part of #41 ## Question For sideload-to-friends 1.0 beta: keep applicationId/namespace dev.anachronis.tt_rss_viewer? What display name? How should app versionName/versionCode relate to git tags and Forgejo releases?
Author
Owner

Resolution

App identity and versioning for sideload-to-friends 1.0 beta (criteria only — implement later):

Must

  1. Package id: change Android applicationId and namespace from dev.anachronis.tt_rss_viewer to dev.theanachronism.ttrssviewer before beta. Friends who installed builds on the old id must uninstall/reinstall once (no in-place update across package ids).
  2. Display name: keep launcher label tt-rss Viewer (android:label).
  3. versionName: from the release tag’s semver portion via CI --build-name (checked-in pubspec.yaml version is not the friends-facing truth for tagged builds). Channel prefix (alpha/* vs beta/*, etc.) stays owned by Release channel for beta.
  4. versionCode: UTC epoch seconds via CI --build-number (current alpha pattern) so later tagged builds can update in place when the signing identity also matches.
  5. APK filename stem: keep tt-rss-viewer-… (e.g. tt-rss-viewer-<channel>-<semver>.apk); channel string owned by the release-channel ticket.

Why

Friends need a stable package id + predictable version progression for updates. Changing to dev.theanachronism.ttrssviewer now avoids shipping beta on the anachronis-shaped id you don’t want long-term. Tag→versionName + epoch versionCode already match the working alpha packaging pattern; signing continuity remains Signing and update trust.

## Resolution **App identity and versioning** for sideload-to-friends **1.0 beta** (criteria only — implement later): ### Must 1. **Package id:** change Android `applicationId` and `namespace` from `dev.anachronis.tt_rss_viewer` to **`dev.theanachronism.ttrssviewer`** before beta. Friends who installed builds on the old id must uninstall/reinstall once (no in-place update across package ids). 2. **Display name:** keep launcher label **`tt-rss Viewer`** (`android:label`). 3. **versionName:** from the release tag’s **semver** portion via CI `--build-name` (checked-in `pubspec.yaml` version is not the friends-facing truth for tagged builds). Channel prefix (`alpha/*` vs `beta/*`, etc.) stays owned by [Release channel for beta](https://git.anachronis.dev/TheAnachronism/tt-rss-viewer/issues/57). 4. **versionCode:** **UTC epoch seconds** via CI `--build-number` (current alpha pattern) so later tagged builds can update in place when the signing identity also matches. 5. **APK filename stem:** keep **`tt-rss-viewer-…`** (e.g. `tt-rss-viewer-<channel>-<semver>.apk`); channel string owned by the release-channel ticket. ### Why Friends need a stable package id + predictable version progression for updates. Changing to `dev.theanachronism.ttrssviewer` now avoids shipping beta on the anachronis-shaped id you don’t want long-term. Tag→versionName + epoch versionCode already match the working alpha packaging pattern; signing continuity remains [Signing and update trust](https://git.anachronis.dev/TheAnachronism/tt-rss-viewer/issues/54).
Sign in to join this conversation.
No description provided.