Repository navigation
Releases: liodali/ExchangeConvertApp
Release list
Sovereign Ledger 0.8.0 (build 56)
chore(release): 0.8.0 build 56 — production round
Same app content as build 55; this build promotes to production:
Android Play track rollout + first iOS App Store submission.
Sovereign Ledger 0.8.0 (build 55)
chore(release): 0.8.0 build 55 — alerts UX round
Swipe-reveal delete (red button, spinner, snackbar), move-to-push
pill, toggle snackbars, token-rotation hygiene
Sovereign Ledger 0.8.0 (build 54)
feat(alerts): server-push rate alerts (0.8.0)
Phase 2 client wiring, both platforms:
- PushSessionManager: installId → anon session JWT (cached, 7d refresh
margin) → POST /alerts/devices on every launch; FCM onNewToken
re-registers (Android), APNs token via PushRegistrationBridge (iOS) - RateAlertsApi: /auth/session + /alerts CRUD + /alerts/devices (Bearer)
- Add-alert dialog: delivery toggle — On device (all modes, as before)
vs Push (tier-gated cadence: guest 2h / login 1h+2h; paid TBD) - Rate Alerts screen: SERVER PUSH / ON DEVICE sections, per-list caps
(guest: 1 pushed + 2 local); unreachable push falls back to on-device - iOS: push entitlements (aps-environment) + AppDelegate registration
Build 54.
Sovereign Ledger 0.7.2 (build 53)
feat(shared): honor chart style in chart screens
App root hoists the persisted style and passes it to Home,
History and Converter; the two big charts render through the
LedgerChart dispatcher so the preference applies live.
Sovereign Ledger 0.7.2 (build 51)
ci(ios): DER-to-PEM normalize the fetched certificate
ASC serves .cer as DER; LibreSSL pkcs12 export expects PEM and
fails with 'unable to load certificates'.
Sovereign Ledger 0.7.1 (build 50)
What's new (English)
Sovereign Ledger — live currency conversion, now with Rate Alerts.
- Convert 160+ currencies with live exchange rates
- Personal market overview with 7-day trends and sparklines
- NEW: Rate Alerts — a local notification when a tracked pair moves ±0.5% (custom), or an hourly / 2-hour digest. Free plan: 2 alerts
- Conversion history ledger, biometric app lock, dark theme designs
- Fixes: proper bell notification icon, iOS forms open as bottom sheets
First production release. Alerts run fully on-device — no account needed.
Neu (Deutsch)
Sovereign Ledger — Live-Währungsrechnung, jetzt mit Kurs-Alarmen.
- Über 160 Währungen mit Live-Kursen umrechnen
- Persönliche Marktübersicht mit 7-Tage-Trends und Sparklines
- NEU: Kurs-Alarme — lokale Benachrichtigung, wenn ein beobachteter Kurs ±0,5 % schwankt (einstellbar) oder stündlich bzw. alle 2 Stunden. Gratis-Tarif: 2 Alarme
- Umrechnungsverlauf, biometrische App-Sperre, Dunkelmodus-Designs
- Korrekturen: richtiges Glocken-Symbol für Benachrichtigungen, iOS-Formulare jetzt als Bottom-Sheets
Erste Produktivversion. Die Alarme laufen vollständig auf dem Gerät — kein Konto nötig.
Sovereign Ledger 0.7.0 (build 49)
What's new — Rate Alerts (local notifications)
Track a currency pair and get notified on-device (no account, no push server):
- Hourly / every 2 hours — a periodic digest of the pair's rate
- On move — notify as soon as the pair moves ±X% vs the previous check (default 0.5%, custom)
- Free plan: up to 2 alerts, one per pair
Where to find it
- Home → Market Overview — a bell on each card: muted bell adds an alert pre-filled for that pair, gold bell (alert already exists) opens the management screen
- Account → Preferences → Rate Alerts — manage alerts (enable/disable, delete)
- The notification permission prompt appears on your first alert (Android 13+)
What to test
- Tap the bell on a Home market card → confirm the dialog is pre-filled
base → market→ pick a mode → Add alert → the bell turns gold immediately - First alert asks for notification permission — Allow
- Open Account → Rate Alerts: mode chip sits above the pair, status shows Awaiting first background check until the first background pass (≤ ~30 min; restarting the app triggers one right away)
- Try the cap: the 3rd alert is blocked — dialog shows Alert limit reached and the button stays disabled at 2/2
- Toggle an alert off/on and delete one — state persists across restarts
- Master switch: Account → Preferences → Push Notifications off = no checks, no notifications
- Notification content: title like
USD/EUR ▲ +0.62%, body shows both rates and your threshold
Notes & known limits
- Background checks run ~every 30 minutes; Android Doze / OEM battery savers may delay them
- A threshold alert compares against the last observed rate (trailing baseline) — the very first check only records the baseline, no notification
- Alerts are stored locally: uninstalling the app clears them
- iOS: feature is implemented and compiles, but is not part of this testing round
Sovereign Ledger 0.6.0 (build 48)
feat(debug): (debug) label + bug-badged launcher icon
Side-by-side installs (applicationId .debug vs release) are now
tellable apart at a glance: debug builds append '(debug)' to the app
label and swap the adaptive launcher icon for the same icon with a red
bug badge in the corner. Debug source set only — release keeps the
clean icon and name.
Sovereign Ledger 0.5.0 (build 47)
ci(release): manual runs take version_code + track inputs; precheck vs Play
workflow_dispatch now requires a version_code input (the run fails
without a valid one instead of inventing a run-number code that could
never pass Play's upgrade check) and accepts a track input, default
internal, for closed-testing tracks.
The precheck script validates the code is 1–3 above Play's highest
active versionCode across all tracks and that the target track exists
in Play Console (fails listing available tracks otherwise). Play edit
cleanup is best-effort so it can't mask the original error.
Sovereign Ledger 0.4.0-dev (build 46)
feat(ui): platform-split nav + light-mode palettes
Bottom nav now branches per platform — iOS gets the liquid-glass
capsule, Android returns to its classic design (as before the glass):
- iOS: floating capsule over full-bleed content (overlay Box root);
bar/clearance tuning unchanged - Android: Scaffold bottomBar slot restored — content stops at the
bar, no glass peek-through; square corners (radius removed), total
height 117→~102dp (86dp content + inset), fill = SurfaceBlur + 8%
Steel elevation + 3% primary whisper, 1dp BorderSoft top hairline - ledgerNavClearance() is iOS-only now (Scaffold pads Android)
- Light mode: Summer/Orchid/Forest now apply in Light (Sovereign-light
neutrals + darkened palette accents); light GlassEdge switched to
the dark hairline family — white vanished on light glass - Root paints LedgerColors.Canvas (restores the background the old
Scaffold containerColor provided; fixes Light mode)
Verified on iPhone 12 mini (iOS 26.5) and Android device, both themes.