Tally 0.4.0: return deadlines, document reminders, and offline import

Exact rolling-year goals, country return deadlines, residency starters, document expiry reminders, and atomic offline JSON import.

Tally

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

Tally 0.4.0 turns saved presence goals into practical deadlines and adds an offline path for importing travel and document data.

Know when to return#

Presence requirements can now use exact calendar years, so a rule such as “at least one day every three years” no longer needs to be converted into an approximate day count. Tally applies calendar arithmetic across leap years.

Once a saved rolling minimum has been met, the Journey dashboard, country list, and country details show the latest date by which you should return. If you are currently in the country, Tally shows the deadline that would apply if you left today and explains that staying moves the date forward.

Optional planning starters are included for permanent-residence maintenance in Panama, Paraguay, and Uruguay. They remain editable and link to the underlying public sources. They are reminders based on recorded travel, not legal determinations; status, exceptions, and personal circumstances still need to be checked against the cited authority.

Keep documents current#

Tally can now record passports, ID cards, driver’s licenses, and other personal documents, then surface local expiry reminders. The details stay in Tally’s encrypted on-device database and are included in encrypted backups.

Import without an account#

A strict additive JSON import accepts stays, border crossings, and document validity from a file selected through Android’s system picker. Import is atomic: invalid records, duplicate crossings, or overlapping stays reject the whole file instead of leaving a partial result.

The public source includes a JSON Schema and llms.txt guide so another tool or agent can prepare a compatible file. Import remains entirely offline, with a 5 MB file limit and 10,000-record total limit.

Verification#

The release was built from public source revision ac3f9f01afc70ce18a481fe0a35b6c1649c72033. Android lint passed, all 206 JVM tests passed, and the Android instrumentation APK compiled successfully. Two clean release builds produced the same unsigned APK byte for byte, with SHA-256 a934858b15bd3bc67b8be11f4590c78f7d0f621f845239000006241dddef8a5e.

The production-signed upgrade was installed over Tally 0.3.0 on a Pixel 6a without changing the original install identity or losing the saved Panama stay. A cold launch and manual review covered the corrected return-date dashboard, residency starter, document form, and JSON import entry point without a fatal exception, ANR, or database migration error.

The signed release APK has SHA-256 674b1188224100dfd949b7f580fdd319be0157c1163dbf87bc5942ca76d40474. Its signing-certificate SHA-256 remains 5ee1b08fa518db8c0952759f323d5bc9bf4e7a4b6806906956ff42b2d5da9659.

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. Know when to return
  2. Keep documents current
  3. Import without an account
  4. Verification