Schedules, backups and privacy. A smaller release that tidies up how schedules end, makes backups more complete, and gives you control over crash reporting.
Highlights
- Choose what happens when a schedule ends: move it to Inactive, delete it, or keep it.
- Backups keep more of your data: check numbers and your account-filter settings now survive a backup and restore.
- New currencies: Qatari Riyal (QAR) and Ugandan Shilling (UGX).
- A new privacy switch: Analytics & crash reports in Settings → Privacy.
- Ready for Android 16.
Schedules that end
- "When this schedule ends." A schedule with an end date now has a setting for what happens after its last occurrence: Move to Inactive (the default for new schedules), Delete it, or Keep it. Existing schedules keep their current behaviour until you change it. A moved schedule stays under Inactive with its history, and you can reactivate it and extend the end date.
- Ended schedules no longer look active. A schedule past its end date used to sit in the active list offering an Apply button that could only fail. It's now shown as ended. You can still apply an occurrence by hand after the end date if you need to; the app asks you to confirm first.
- "Auto – Days Before" schedules respect their end date. They no longer keep creating occurrences after the schedule has ended.
None of this edits your existing transactions. The schedule changes; your register doesn't.
Backup & restore
- Check numbers are kept. Backups now include each transaction's check number, so a restore brings them back.
- Your account filter survives a restore. Restoring now keeps the filter's inactivity threshold. Restoring an older backup that has no settings in it no longer resets your filter.
- CSV export is clearer. Voided transactions are marked as void, and transfers name the other account.
Privacy
- Analytics & crash reports switch. Settings → Privacy has a single switch for anonymous usage analytics and crash reports. It's on by default; turning it off stops both and discards any unsent crash reports.
- Crash reports no longer carry error message text. Reports keep the type of error and where in the code it happened, not the message, which could contain details from your data.
- Less detail in system logs. Financial details are redacted from the app's log output, an old migration debug log is no longer written and is removed from your device, and the legacy-import diagnostic report is no longer written outside development builds.
Android 16
The app now targets Android 16 (API 36), as Google Play requires for new updates.
Verification
This release was tested as an in-place upgrade over 4.1.1. Every account balance and every field of existing transactions came through unchanged. Testing also covered a full backup → restore → relaunch round trip, creating, editing and deleting transactions, transfers, reconciling, and applying a schedule. Dollar amounts were checked for clipping at every in-app font size on both Free and Paid. Background cloud backup was confirmed running on the release build on a physical phone.
Assets
| File | What it is |
|---|---|
Cashflow.4.1.2-*.apk |
Paid — installable Android build |
CashflowFree.4.1.2-*.apk |
Free — installable Android build |
Cashflow.4.1.2-*.aab / CashflowFree.4.1.2-*.aab |
Play Store bundles (the files uploaded to Google Play) |
Cashflow.4.1.2-*.ipa |
iOS build (TestFlight; not yet on the App Store) |
All Android artifacts are versionCode 233, signed with the Netdonkey Labs release certificate.