Skip to content

NutriTrace

v1.0.0-rc.40 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

Published 2mo Productivity & Wikis
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ 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

Summary

AI summary

Fixed meal kcal footer truncation for meals over 1000 kcal.

Full changelog

Fixed

  • Diary: meal kcal footer truncated meals over 1000 kcal. The per-meal subtotal at the bottom of each diary card was dropping digits after the thousands comma, so a 1,234 kcal lunch displayed as "1 kcal". (Issue #51, reported by LoveHonorGirth)
  • OFF local mirror: barcode scans threw a JS error on the client. The Parquet schema adapter assumed product_name lists were always real Arrays, but the DuckDB Node API can return list-like iterables that broke the assumption and leaked through as a non-string field, crashing the client's .trim() call. Now coerces to a real Array up front and guarantees a string output in both schema branches. (Issue #22 followup, reported by duplaja)

Changed

  • OFF local mirror Docker example now uses a parent-directory bind mount (./off-mirror:/data/off-mirror with OFF_LOCAL_DB=/data/off-mirror/off.parquet) across docker-compose.yml, DEPLOY.md, and .env.example. The previous single-file bind-mount example tripped Docker's auto-create-as-directory behavior on a fresh host path, which then broke the atomic-swap refresh with EISDIR. Existing setups that already work are unaffected. (Issue #22 followup)

Added

  • Per-query debug logs for the OFF local mirror. With LOG_LEVEL=debug, every barcode and name-search lookup now prints whether it was served from the local mirror or fell through to the remote OFF API, with hit counts for searches.
  • Loading indicator for barcode scan lookups. Slow Open Food Facts lookups (cold local-mirror queries, overloaded remote API, sluggish networks) used to leave the user staring at the Foods tab between camera close and editor open with no feedback. A centered "Looking up barcode" card now appears if the lookup hasn't returned within 400ms; fast lookups still flash nothing. Library hits remain instant with no indicator.
  • Body Water % as a body stat. New manual-entry field on the body stats sheet, alongside Body Fat %. Withings already auto-syncs this via type 77 (and continues to), so connected users see it without typing; non-Withings users can now log the number their smart scale displays. Available as a metric on Goals, Statistics, and the Settings visibility toggle list, with the same hide-by-default behavior as other optional body stats. (Issue #52, requested by LoveHonorGirth)

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

Track NutriTrace

Get notified when new releases ship.

Sign up free

About NutriTrace

Personal nutrition tracker

All releases →

Related context

Earlier breaking changes

  • v1.0.0 Enforces strict semver: PATCH for bug fixes, MINOR for features, MAJOR for breaking changes in all future releases.
  • v1.0.0 Retires -rc.N release tags; future releases use strict semver only.

Beta — feedback welcome: [email protected]