Tally 0.5.0: overnight crossings and automatic maintenance reminders

Separate overnight departure and arrival dates, automatic sourced residence reminders, and repeatable offline imports.

Tally

20. September 2026September 20, 2026 · 2 Min. Lesezeit2 min read

Tally 0.5.0 handles the missing day in overnight travel and makes recurring residence-maintenance planning easier to set up.

Leave Friday, arrive Saturday#

A border crossing no longer has to imply that departure and arrival happened on the same calendar date. When an overnight journey leaves one country the day before reaching the next, the crossing form can record both dates. Tally assigns the departure day to the previous country and begins the destination stay on arrival.

The same model is available in encrypted backups and the public offline JSON import format through the optional previous_country_exit_date field. Timeline ordering, import merging, backup restore, and database writes share one validation path, so an impossible prior departure is rejected atomically rather than creating a broken stay.

Start the relevant maintenance reminder#

When Argentina, Canada, the UAE, Panama, Paraguay, or Uruguay is newly selected as a residence, Tally can add the applicable sourced maintenance reminder automatically. Unrelated tax-residency targets are not enabled, equivalent saved reminders are not duplicated, and every starter remains editable.

Starter cards now show their complete cadence before they are saved. Paraguay, for example, is stated as at least one recorded day in every three calendar years. The cited official source remains available from the saved rule.

Re-import an evolving file#

Offline JSON import is now safe to repeat after a file grows. Tally skips crossings, stays, and documents it already holds, writes genuinely new records in one transaction, and reports both totals. Rejections identify the conflicting record and reason instead of returning only a generic failure.

Verification#

The release was built from public source revision 5f6c1eb904620638ff4affd9fcd37a71a353d4db. Android lint passed, all 224 JVM tests passed, Android instrumentation sources compiled, and the complete 249-country profile set remained valid.

Two clean release builds from independent source layouts produced the same unsigned APK byte for byte, with SHA-256 115d00c528fc68176ddb29cd6280baf6cdfcf3455c817fbddb1cb96197b7f15a.

The production-signed APK has SHA-256 63e37cd4b7f5ce7ff6ab3fe78ae1d53bd5d762b7be0c1960c01b68384e574edf. Its signing-certificate SHA-256 remains 5ee1b08fa518db8c0952759f323d5bc9bf4e7a4b6806906956ff42b2d5da9659.

The signed APK upgraded a physical Pixel 6a from Tally 0.4.0 to 0.5.0 in place, completed a cold launch, and showed no app crash, ANR, Room migration, or SQLite failure.

Tally remains offline, account-free, and encrypted on device. Residence-maintenance reminders are planning aids based on recorded travel and cited public sources; verify the source and your personal circumstances before relying on them.

Source, schema, llms.txt, and build instructions: https://gitworkshop.dev/npub1k7cwt3kmvahdtzc8n2ek08n9c7fz7n2zq88yzyqmjxmjehvdykfqwtu78y/relay.ngit.dev/tally

#android#foss#privacy#tally#travel

Written by

Comments

No comments yet. Start the conversation.

Contents

4 sections

  1. Leave Friday, arrive Saturday
  2. Start the relevant maintenance reminder
  3. Re-import an evolving file
  4. Verification