Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions fdroid/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/<versionCode × 10 + 1|2|3>.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<version>` (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

Expand Down Expand Up @@ -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.
28 changes: 14 additions & 14 deletions fdroid/in.commandlinecoding.elephant.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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:
Expand All @@ -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:
Expand All @@ -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
7 changes: 0 additions & 7 deletions metadata/en-US/changelogs/4003.txt

This file was deleted.

8 changes: 8 additions & 0 deletions metadata/en-US/changelogs/41.txt
Original file line number Diff line number Diff line change
@@ -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
8 changes: 8 additions & 0 deletions metadata/en-US/changelogs/42.txt
Original file line number Diff line number Diff line change
@@ -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
8 changes: 8 additions & 0 deletions metadata/en-US/changelogs/43.txt
Original file line number Diff line number Diff line change
@@ -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
3 changes: 2 additions & 1 deletion metadata/en-US/full_description.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,11 @@ Elephant is a privacy-first, open-source messenger. Direct messages are end-to-e
<li>Find people by username and share yours as a QR code</li>
<li>Sign in with a username and password, or optionally with Google or GitHub</li>
<li>Four themes: Frost, Aura, Onyx and Nebula</li>
<li>Delete your account and its messages from the server at any time</li>
</ul>

<b>Your server, your data</b>
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.

<b>Good to know</b>
<ul>
Expand Down
Binary file modified metadata/en-US/images/phoneScreenshots/1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified metadata/en-US/images/phoneScreenshots/10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified metadata/en-US/images/phoneScreenshots/11.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified metadata/en-US/images/phoneScreenshots/12.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified metadata/en-US/images/phoneScreenshots/13.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified metadata/en-US/images/phoneScreenshots/14.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified metadata/en-US/images/phoneScreenshots/15.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed metadata/en-US/images/phoneScreenshots/16.png
Binary file not shown.
Binary file removed metadata/en-US/images/phoneScreenshots/17.png
Binary file not shown.
Binary file removed metadata/en-US/images/phoneScreenshots/18.png
Binary file not shown.
Binary file removed metadata/en-US/images/phoneScreenshots/19.png
Binary file not shown.
Binary file modified metadata/en-US/images/phoneScreenshots/2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed metadata/en-US/images/phoneScreenshots/20.png
Binary file not shown.
Binary file modified metadata/en-US/images/phoneScreenshots/3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified metadata/en-US/images/phoneScreenshots/4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified metadata/en-US/images/phoneScreenshots/5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified metadata/en-US/images/phoneScreenshots/6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified metadata/en-US/images/phoneScreenshots/7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified metadata/en-US/images/phoneScreenshots/8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified metadata/en-US/images/phoneScreenshots/9.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion mobile/lib/pages/settings/help_about.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import 'package:url_launcher/url_launcher.dart';
class HelpAboutPage extends StatelessWidget {
const HelpAboutPage({super.key});

static const String appVersion = '0.3.1';
static const String appVersion = '0.3.2';
static const String githubUrl =
'https://github.com/commandlinecoding/elephant';

Expand Down
2 changes: 1 addition & 1 deletion mobile/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix.
version: 0.3.1+3
version: 0.3.2+4

environment:
sdk: ^3.12.0
Expand Down
Loading