Skip to content

v1.0.1

Latest

Choose a tag to compare

@github-actions github-actions released this 18 Oct 11:14
· 10 commits to main since this release
52f3486

Added

  • Deleted projects are listed in a Trash section on the Projects screen, with their size, and can be put back or deleted for good, one at a time or all together, after a confirmation that names what goes. Until now they stayed on the phone with no way to remove or restore them. (#94, fixes #57)

Changed

  • The bundled Python runtime is 3.13.16 (Chaquopy 17.1.0). (#98)
  • Gradle dependencies are checked against recorded checksums, so a changed artifact fails the build. (#95, fixes #82)
  • Each processor type (arm64-v8a, x86_64) has its own APK with its own version code, so F-Droid and the phone choose the matching one. The universal APK stays on the release page. (#90, #97)

Fixed

  • The entry form no longer refuses an entry Beancount accepts: the balance check now follows Beancount's own per-currency tolerance rule, including inferred_tolerance_default. (#52)
  • The project picker no longer fails after restoring a backup. (#59)
  • A save that is interrupted by the screen closing is finished or put back, never left undecided; after a crash, a raw edit you typed is kept even if the engine is down at the next start. (#59)
  • Undo after restoring a backup can no longer put the old project's files back over the restored ones, and Undo stays in order if the device clock is reset. (#59)
  • A snapshot taken before a write is flushed to storage before the ledger is replaced, and a damaged one is never restored over an intact ledger. (#59)
  • Files you named key are included in backups and the mirror. (#59)
  • Typed lots accept thousands separators, as Beancount does. (#52)
  • Editing a ledger with Windows (CRLF) line endings keeps its line endings instead of mixing them. (#62)
  • A cached answer is no longer reused after a plugin changes or the app is updated. (#62)
  • A failed engine start no longer makes every later read wait out its timeout. (#62)
  • Displayed amounts round half to even, as Beancount and Fava do. (#62)
  • A remote server address typed with capital letters no longer shows blank pages, and a server under a path prefix such as /fava is found correctly. (#64)
  • Deleting or editing an entry checks that the file still holds the entry you were looking at, instead of acting on a line number from an older list. (#71)
  • Text typed in the file editor while a save is running is no longer lost. (#71)
  • The report view recovers when Android closes it to free memory, instead of taking the app down. (#71)
  • A failed backup says what it left behind and removes the unfinished file; copies of backups, imports and script output no longer stay in the app's cache. (#71)
  • Saving a remote password recovers from an unusable Keystore key and reports a failure instead of crashing. (#71)
  • The entry form refuses an amount it cannot read (such as 4,50 or 4.5O) instead of leaving it out and letting Beancount fill in a figure. (#74)
  • Deleting a selection that includes an entry generated by a plugin no longer removes the entry after it. (#74)
  • The document scanner frees its image memory as it goes instead of waiting for the garbage collector. (#78)
  • Restore cannot be started twice; removing fetched packages or a saved script asks first; a sharing user name can contain a space. (#74)
  • Receipt photos and attached copies are deleted from the app's cache once the document is filed, instead of staying until Android clears the cache. (#93, fixes #69)
  • Restoring a deleted project whose name has been reused brings it back under the next free name instead of refusing, and the Trash is shown on the Add a ledger page when there are no projects, so deleting the only project can be undone. (#103, fixes #101, #102)
  • Unlinking a document no longer removes the link of a different document that has the same file name; a bare name in an entry is matched only when it is unique, and Unlink says so when it is not. (#92, fixes #48)

Security

  • Checking a backup is bounded in memory, and a backup archive can no longer ask the app to spend gigabytes deriving its key. (#59)
  • Diagnostics redact Authorization: Bearer tokens, cookies and whole passphrases, and no longer risk a crash when logged from several threads. (#59)
  • A ledger cannot list another project's documents by naming a folder with a shared prefix. (#59)
  • A remote server that answers oddly (a hostile ledger name, an endless reply) ends in an error message instead of a crash or a stall. (#64)
  • A link in a report opens in the browser only after you confirm it, and only if it is a web address. (#71)
  • A plugin picked from a file manager cannot be named so that it lands outside the install folder. (#71)

Download

File SHA-256
beanbook-1.0.1-arm64-v8a.apk f83f706a376d8cc37d72302a49956de86bfee21a7e2aa11245a514132d1351ee
beanbook-1.0.1-x86_64.apk 11c43e3f336b0ad79b447b36a08127ddbc5b73df3e03035aaf136955b0460ca0
beanbook-1.0.1-universal.apk d9bd994894975f0161303280b5a18cbed71fe4fdb44faca8cc907e3e9aa8d3cd

Verify

Signing certificate SHA-256: d7039d79b2afa3ffc81aeba7bc8dbf45a73b07b94f982ca913d65028b9b2ff55

Check a download against the table with sha256sum, or against checksums.txt with sha256sum -c checksums.txt. apksigner verify --print-certs <file> shows the certificate.

Full changelog: CHANGELOG.md · v1.0.0...v1.0.1