This release adds 3 notable features for engineering teams evaluating rollout.
Published 2mo
Productivity & Wikis
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
android
calorie-counter
capacitor
docker
fitbit
food-tracker
+12 more
garmin
health
health-connect
nutrition
nutrition-tracker
oidc
pwa
self-hosted
sso
svelte
wellness
withings
Affected surfaces
auth
Summary
AI summaryRecipes can declare servings, Open Food Facts imports per‑serving data, and an intermittent fasting tracker is added.
Full changelog
New Features
- Recipe yields. Recipes can now declare how many servings they make. Set "Yields" in the recipe editor and adding one serving to the diary uses per-serving weight + nutrition. Existing recipes keep their old behavior until you set a yields value.
- Per-serving Open Food Facts import. New option in Settings → Connected Services → Open Food Facts → Import Portion As. When set to Per Serving, barcode scans and OFF searches prefill the food with per-serving values whenever the product has serving data on OFF.
- Intermittent Fasting tracker. Track fasts from a Diary widget: default goal, last-fast hint, named custom-hour presets, history with delete, and a recurring schedule that auto-starts a fast on chosen days at a chosen time. Tap the start time on an active fast to edit it inline.
- Android biometric sign-in. Fingerprint and face unlock for the Android app in server-connected mode. Toggle in Profile.
- Adaptive TDEE. Calorie Goals can learn your true daily energy expenditure from a rolling 35-day window of weight and diary trend, instead of the static Harris-Benedict estimate.
Improvements
- Settings forms use sliding-pill segmented controls. Goals section renamed to Calorie Goals.
- Sharing rework: per-category sharing form, source filter on Meals/Recipes, and read-only editors when viewing someone else's shared food.
- User management: invite by email, revoke pending invites, block invites to existing accounts. Optional zxcvbn-backed password strength policy.
- Wizard summary clarifies the TDEE label and shows the goal-factor math.
- Android local-only mode reaches feature parity with server mode for Adaptive TDEE and the Fasting tracker.
- AI Assistant (Trace) gains two new tools:
get_adaptive_tdeeandget_activity_log. INSECURE_COOKIESenv var is now documented in.env.exampleand the README env-vars table. Required for self-hosters on plain HTTP without TLS in front.
Fixes
- Wrong food images in the diary (cross-pollination across foods that share an Open Food Facts basename). Diary images are now live-resolved from the current foods and meals tables on every read, routed by recipe vs food, and disambiguated by brand.
- Duplicate food rows when scanning the same barcode in rapid succession.
- Invite "stuck on Creating…" when the email field was invalid.
- Password policy now persists when saved.
- Revoke invite no longer surfaces a fake "Failed to fetch" message.
- Session config loads correctly on Android by sending auth headers on the initial GET.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Beta — feedback welcome: [email protected]