Skip to content

v1.1.0 — Fallbacks & undo

Choose a tag to compare

@DocGerd DocGerd released this 19 May 10:34
· 319 commits to develop since this release
b3e9202

Fallbacks & undo milestone. All three feature items shipped.

Added

  • Non-food product coverage — OFF lookup now walks Open Food Facts → Open Beauty Facts → Open Pet Food Facts → Open Products Facts on 404, so cosmetics, pet food, and household products that aren't on the food endpoint still resolve through their sibling databases (#44).
  • Delete UNDO — after confirming a delete, a snackbar offers UNDO for a few seconds. Restored items preserve their original id and every column; restore() is wrapped in NonCancellable so a backgrounded VM can't lose the row mid-write (#46).
  • Surfaced failure feedback — delete and undo paths now show "Could not delete X" / "Could not undo delete of X" instead of silently swallowing exceptions.

Security

  • OFF response body cap (SR-24) — HTTP client rejects responses advertising Content-Length > 256 KB before parse. Known limitation: OFF's CDN uses chunked transfer encoding and omits Content-Length on real responses, so chunked / no-Content-Length responses pass through. A streaming-bounded body read is tracked at #52 for v1.2.
  • CancellationException contract preserved across all new suspend code.

Privacy

  • OFF chain walks up to four sister-project hosts on 404. Happy path is still a single request to OFF; only 404 walks the chain (5xx / timeout / network error / contract violation fail fast). Every request still carries only the scanned barcode plus the static PantryTracker/1.1.0 (<repo URL>) User-Agent — no user identifier, no cookie, no device fingerprint.

Install

Sideload-only. Min Android 8.0 (API 26), targets Android 16 (API 36). See docs/release/SHIPPING.md for install paths.

Signing identity unchanged from v1.0 (SHA-256 ec9a4bb8…b3d9) — this APK installs as an update over v1.0.x.

Full changelog: CHANGELOG.md