diff --git a/fdroid/README.md b/fdroid/README.md index 717ad72..7f07739 100644 --- a/fdroid/README.md +++ b/fdroid/README.md @@ -7,22 +7,22 @@ F-Droid checks for new releases by reading `mobile/pubspec.yaml` at each `v*` tag, so the version there must be bumped before tagging. 1. Bump `version:` in `mobile/pubspec.yaml`. Increase both parts: `0.3.1+3` → `0.3.2+4`. The number after `+` is the versionCode and must always go up. -2. Add a changelog at `metadata/en-US/changelogs/<4000 + versionCode>.txt` (for `+4`, that's `4004.txt`). Keep it under 500 characters. +2. Add the changelog as `metadata/en-US/changelogs/.txt`, one file per ABI with the same text (for `+4`: `41.txt`, `42.txt`, `43.txt`). Keep it under 500 characters. 3. Commit, then tag `v` (e.g. `v0.3.2`) and push the tag. The release workflow fails if the tag doesn't match `pubspec.yaml`. F-Droid picks up the new tag automatically within a few days. ## Version codes -APKs are built per ABI, and Flutter derives each versionCode from the `pubspec.yaml` build number: +APKs are built per ABI. `mobile/android/app/build.gradle.kts` overrides Flutter's default offsets so each split gets `pubspec build number × 10 + ABI code`: -| ABI | versionCode | -|---|---| -| armeabi-v7a | 1000 + build number | -| arm64-v8a | 2000 + build number | -| x86_64 | 4000 + build number | +| ABI | versionCode | `+4` | +|---|---|---| +| armeabi-v7a | build × 10 + 1 | 41 | +| arm64-v8a | build × 10 + 2 | 42 | +| x86_64 | build × 10 + 3 | 43 | -The recipe's `VercodeOperation` mirrors this. If a Flutter upgrade changes this scheme, update the recipe. +The recipe's `VercodeOperation` mirrors this. If the scheme changes in Gradle, update the recipe. ## Flutter version @@ -56,5 +56,5 @@ Without `key.properties` or the secrets, release builds are unsigned, which is w 1. Tag the release (see above). 2. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) and copy the recipe to `metadata/in.commandlinecoding.elephant.yml`. -3. Replace `commit: v0.3.1` in each build with the tag's full commit hash. +3. Replace `commit: v0.3.2` in each build with the tag's full commit hash. 4. Run `fdroid lint in.commandlinecoding.elephant` and `fdroid build -v -l in.commandlinecoding.elephant`, then open a merge request. diff --git a/fdroid/in.commandlinecoding.elephant.yml b/fdroid/in.commandlinecoding.elephant.yml index c19eb8b..6bf8717 100644 --- a/fdroid/in.commandlinecoding.elephant.yml +++ b/fdroid/in.commandlinecoding.elephant.yml @@ -14,9 +14,9 @@ RepoType: git Repo: https://github.com/CommandLineCoding/Elephant.git Builds: - - versionName: 0.3.1 - versionCode: 1003 - commit: v0.3.1 + - versionName: 0.3.2 + versionCode: 41 + commit: v0.3.2 subdir: mobile output: build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk srclibs: @@ -37,9 +37,9 @@ Builds: - $$flutter$$/bin/flutter build apk --release --split-per-abi --target-platform="android-arm" ndk: 28.2.13676358 - - versionName: 0.3.1 - versionCode: 2003 - commit: v0.3.1 + - versionName: 0.3.2 + versionCode: 42 + commit: v0.3.2 subdir: mobile output: build/app/outputs/flutter-apk/app-arm64-v8a-release.apk srclibs: @@ -60,9 +60,9 @@ Builds: - $$flutter$$/bin/flutter build apk --release --split-per-abi --target-platform="android-arm64" ndk: 28.2.13676358 - - versionName: 0.3.1 - versionCode: 4003 - commit: v0.3.1 + - versionName: 0.3.2 + versionCode: 43 + commit: v0.3.2 subdir: mobile output: build/app/outputs/flutter-apk/app-x86_64-release.apk srclibs: @@ -86,9 +86,9 @@ Builds: AutoUpdateMode: Version UpdateCheckMode: Tags VercodeOperation: - - '%c + 1000' - - '%c + 2000' - - '%c + 4000' + - '%c * 10 + 1' + - '%c * 10 + 2' + - '%c * 10 + 3' UpdateCheckData: mobile/pubspec.yaml|version:\s.+\+(\d+)|.|version:\s(.+)\+ -CurrentVersion: 0.3.1 -CurrentVersionCode: 4003 +CurrentVersion: 0.3.2 +CurrentVersionCode: 43 diff --git a/metadata/en-US/changelogs/4003.txt b/metadata/en-US/changelogs/4003.txt deleted file mode 100644 index 511ac10..0000000 --- a/metadata/en-US/changelogs/4003.txt +++ /dev/null @@ -1,7 +0,0 @@ -First release on F-Droid. -- End-to-end encrypted direct messages (Signal Protocol) with safety-number verification -- Group chats with admin roles, replies, message editing, typing indicators and read receipts -- New frosted-glass design with four themes -- Encrypted on-device storage and offline sending -- Username/password, Google or GitHub sign-in -- Connect to Elephant Cloud or your own server diff --git a/metadata/en-US/changelogs/41.txt b/metadata/en-US/changelogs/41.txt new file mode 100644 index 0000000..324ac0b --- /dev/null +++ b/metadata/en-US/changelogs/41.txt @@ -0,0 +1,8 @@ +First release on F-Droid. +- End-to-end encrypted direct messages (Signal Protocol) with safety-number verification +- Group chats, replies, message editing and read receipts +- Four frosted-glass themes and encrypted on-device storage +- New: delete your account from Account settings +- New: HTTPS/WSS switch for self-hosted servers on any port +- Fixed: local data could become unreadable after a force stop +- Clearer errors when editing fails or chats can't load diff --git a/metadata/en-US/changelogs/42.txt b/metadata/en-US/changelogs/42.txt new file mode 100644 index 0000000..324ac0b --- /dev/null +++ b/metadata/en-US/changelogs/42.txt @@ -0,0 +1,8 @@ +First release on F-Droid. +- End-to-end encrypted direct messages (Signal Protocol) with safety-number verification +- Group chats, replies, message editing and read receipts +- Four frosted-glass themes and encrypted on-device storage +- New: delete your account from Account settings +- New: HTTPS/WSS switch for self-hosted servers on any port +- Fixed: local data could become unreadable after a force stop +- Clearer errors when editing fails or chats can't load diff --git a/metadata/en-US/changelogs/43.txt b/metadata/en-US/changelogs/43.txt new file mode 100644 index 0000000..324ac0b --- /dev/null +++ b/metadata/en-US/changelogs/43.txt @@ -0,0 +1,8 @@ +First release on F-Droid. +- End-to-end encrypted direct messages (Signal Protocol) with safety-number verification +- Group chats, replies, message editing and read receipts +- Four frosted-glass themes and encrypted on-device storage +- New: delete your account from Account settings +- New: HTTPS/WSS switch for self-hosted servers on any port +- Fixed: local data could become unreadable after a force stop +- Clearer errors when editing fails or chats can't load diff --git a/metadata/en-US/full_description.txt b/metadata/en-US/full_description.txt index 901a73c..c3e669b 100644 --- a/metadata/en-US/full_description.txt +++ b/metadata/en-US/full_description.txt @@ -12,10 +12,11 @@ Elephant is a privacy-first, open-source messenger. Direct messages are end-to-e
  • Find people by username and share yours as a QR code
  • Sign in with a username and password, or optionally with Google or GitHub
  • Four themes: Frost, Aura, Onyx and Nebula
  • +
  • Delete your account and its messages from the server at any time
  • Your server, your data -Elephant connects to the public server at elephant.commandlinecoding.in by default. The server is also free software (AGPL-3.0), and you can run your own and point the app at it from the sign-in screen. +Elephant connects to the public server at elephant.commandlinecoding.in by default. The server is also free software (AGPL-3.0), and you can run your own and point the app at it from the sign-in screen, with HTTPS on any port. Good to know