feat(app): what's new after an update, drafted by the release tool (ADR 0030, D61)

halkyon_app's WhatsNew reads what each release changed from the app's
assets/whats_new/ (<version>.<language>.txt, English and German, a change
a line): after an update a sheet lists every release since the one the
device showed last, newest first, once; Settings shows the running
version's again, above About. Nothing on a fresh install.

tool/release.dart drafts the missing texts from the commits that count
after "Go on?" (German marked TRANSLATE:), opens them in the editor until
they fit (no mark left, F-Droid's 500 characters) and commits them with
the version. The English is the Forgejo notes' What's new, each language
F-Droid's changelog of the build, written at publishing and copied in by
tool/fdroid_repo.sh. Learn and Train bundle their texts, Learn's 0.22.0
and Train's 0.1.0 written to start.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-31 19:36:20 +01:00
commit 7727317c68
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64
5 changed files with 1272 additions and 76 deletions

View file

@ -443,5 +443,7 @@
"assistantProblemProviderRefused": "Der Anbieter hat diese Frage abgelehnt.",
"assistantProblemProviderFailed": "Beim Anbieter ist etwas schiefgegangen. Versuch es noch einmal.",
"assistantProblemNotAllowed": "Das können nur die, für die er freigegeben ist.",
"assistantProblemFailed": "Das hat nicht geklappt. Versuch es noch einmal."
"assistantProblemFailed": "Das hat nicht geklappt. Versuch es noch einmal.",
"whatsNewTitle": "Neuigkeiten",
"whatsNewVersion": "Version {version}"
}

View file

@ -1451,5 +1451,14 @@
"assistantProblemFailed": "That didn't work. Try again.",
"@assistantProblemFailed": {
"description": "failed."
},
"whatsNewTitle": "What's new",
"@whatsNewTitle": {
"description": "The sheet listing what changed in the app after an update, and its entry in Settings."
},
"whatsNewVersion": "Version {version}",
"@whatsNewVersion": {
"description": "Above a release's changes in What's new.",
"placeholders": {"version": {"type": "String"}}
}
}

View file

@ -2766,6 +2766,18 @@ abstract class HalkyonAppLocalizations {
/// In en, this message translates to:
/// **'That didn\'t work. Try again.'**
String get assistantProblemFailed;
/// The sheet listing what changed in the app after an update, and its entry in Settings.
///
/// In en, this message translates to:
/// **'What\'s new'**
String get whatsNewTitle;
/// Above a release's changes in What's new.
///
/// In en, this message translates to:
/// **'Version {version}'**
String whatsNewVersion(String version);
}
class _HalkyonAppLocalizationsDelegate

View file

@ -1751,4 +1751,12 @@ class HalkyonAppLocalizationsDe extends HalkyonAppLocalizations {
@override
String get assistantProblemFailed =>
'Das hat nicht geklappt. Versuch es noch einmal.';
@override
String get whatsNewTitle => 'Neuigkeiten';
@override
String whatsNewVersion(String version) {
return 'Version $version';
}
}

View file

@ -1724,6 +1724,14 @@ class HalkyonAppLocalizationsEn extends HalkyonAppLocalizations {
@override
String get assistantProblemFailed => 'That didn\'t work. Try again.';
@override
String get whatsNewTitle => 'What\'s new';
@override
String whatsNewVersion(String version) {
return 'Version $version';
}
}
/// The translations for English, as used in the United Kingdom (`en_GB`).