Releases: odegaard12/Diet-Pro-Planner
Release list
Diet Pro Planner v0.0.20
Diet Pro Planner v0.0.20 — Planned versus real activity
v0.0.20 adds a complete weekly planned-versus-real activity workflow while keeping personal training data local.
Highlights
- New Plan deporte weekly view.
- Planning by date, time, activity type, duration, distance, target kcal, intensity and notes.
- Automatic matching with Strava and manually registered workouts.
- Completed, changed, pending, upcoming, missed, skipped and cancelled states.
- Unplanned activities shown as Extra real.
- Weekly adherence, planned minutes, real minutes and real kcal summaries.
- Editing, skipping, reactivating and deleting activity plans.
- Private local
activity_plansstorage.
Strava stability
- Keeps the valid Amazfit Balance strength session from 16 June.
- Removes and blocks the duplicate Hevy session.
- Prevents known ignored Strava IDs from being imported again.
- Keeps synchronization idempotent and rate-limit aware.
Repository quality
- GitHub Actions CI for Python, JavaScript and feature regressions.
- Public Flask route smoke tests.
- Real Docker build and
/healthvalidation. - Privacy guard for databases, tokens, caches, backups and other private files.
SECURITY.md,CONTRIBUTING.md, Dependabot policy and pull-request template.
Privacy
Food logs, activity plans, SQLite data, Strava credentials, ignored IDs, pantry contents and uploads remain private and local.
Diet Pro Planner v0.0.19
Diet Pro Planner v0.0.19 — Editable pantry and practical Coach actions
Highlights
- Adds a professional pantry editor to the main navigation.
- Adds quick activation for common foods and manual food creation.
- Edits availability, stock, category, priority and notes from the web.
- Adds filters for available, low-stock, unavailable and avoid foods.
- Adds “No tengo esto” inside Smart Coach.
- Marks missing ingredients as unavailable and immediately proposes another meal.
- Adds “Dame otra comida” using only currently available pantry foods.
- Prefers solid protein for complete main meals when available.
- Keeps protein drinks and dairy as secondary or fallback choices.
- Adds direct access to pantry editing from Smart Coach.
- Keeps raw technical Coach signals hidden from the daily interface.
- Keeps private pantry data outside Git in
data/pantry.json.
Privacy
Pantry contents, notes and availability remain local on the Raspberry Pi. Pantry writes are restricted to the private network or loopback.
Validation
- Pantry normalization, statistics and alternative-generation smoke tests passed.
- Solid-protein policy test passed.
- “Dame otra comida” tested successfully.
- “No tengo esto” tested successfully and persisted the unavailable item.
- Docker build and health smoke passed.
- Desktop pantry and dashboard views validated.
Diet Pro Planner v0.0.18
Diet Pro Planner v0.0.18 — Strava stability and web settings
Highlights
- Configure Strava privately from the web.
- Connect, renew, test and disconnect without editing .env.
- Use the Raspberry LAN callback without a PowerShell tunnel.
- Preview activities with one API request.
- Fetch exact detail only for new activities being imported.
- Cache activity details locally.
- Protect imports against duplicates and concurrent sync operations.
- Display Strava API consumption and handle HTTP 429 cleanly.
- Use a recent-window auto-sync instead of repeatedly scanning the full history.
- Introduce a compact professional Integrations screen.
Privacy
Client secrets, OAuth tokens, activity cache and diagnostics remain local under data/ and are excluded from Git.
Validation
- OAuth connected with activity:read_all.
- Preview returned 9 activities using 1 read request and 0 detail requests.
- Duplicate detection confirmed.
- Docker build and health smoke passed.
Diet Pro Planner v0.0.17
Diet Pro Planner v0.0.17 — Smart Coach + Pantry foundation
v0.0.17 introduces the first Smart Coach foundation for local daily nutrition decisions.
New
- Added
/api/smart-coach/day. - Added Smart Coach dashboard integration.
- Added external
static/dashboard-coach-v17.js. - Added external
static/dashboard-coach-v17.css. - Added local private pantry support through
data/pantry.json. - Added public
data/pantry.example.json. - Kept frontend anti-monolith guardrails passing.
Privacy and AI policy
No central AI key is shipped. Each deployment remains local-first and may later configure its own OpenAI/Gemini key if desired.
Known limitations
- Closed-day logic is deferred to v0.0.18.
- Pantry editing UI is not included yet.
- “No tengo esto / cambiar comida” is not included yet.
- OpenAI/Gemini settings are not included yet.
- Strava cleanup tools are not included yet.
v0.0.16 - Weight and Body Composition 2.0
v0.0.16 — Weight and Body Composition 2.0
Feature release after v0.0.15.1.
Weight & Body Composition 2.0
- Adds standalone
/weight-2. - Adds
/api/body-trends?days=.... - Shows official and reference weight series.
- Shows smart-scale composition trends:
- body fat %;
- fat mass kg;
- water %;
- muscle mass kg;
- visceral fat;
- BMR;
- BioCharge / Hybrid Charge.
- Adds simple trend insights for weight, composition and recovery.
- Treats bioimpedance as weekly trend context, not daily absolute truth.
Safety
- Keeps the main dashboard safe.
- Removes the broken experimental dashboard
weight-2-linkinjection. - Keeps
static/app.jsandstatic/styles.cssunder anti-monolith budgets. - Keeps private weight/body-composition data local in
data/dieta.db.
Validation
- Docker build and local deploy passed.
- Smoke OK for
/,/weight-2and/api/body-trends?days=45. - Known-days regression passed.
- Frontend anti-monolith guard passed.
v0.0.15.1 - Mobile dashboard rescue and Food Intelligence truth
v0.0.15.1 — Mobile dashboard rescue and Food Intelligence truth
Patch release after v0.0.15.
Mobile dashboard rescue
- Adds mobile-only dashboard rescue CSS.
- Adds fixed bottom navigation for phone use.
- Hides the always-expanded top/sidebar menu on mobile.
- Polishes compact mobile header and top section cards.
- Keeps
static/app.jsandstatic/styles.cssunder anti-monolith guardrails.
Food Intelligence truth
- Avoids false 225 g oil caused by fried-potato text.
- Avoids false “Falta proteína útil” when protein is already high.
- Avoids false “No añadas más extras hoy: galleta” from cheesecake/biscuit text.
- Keeps 07/06 as a “Cuidado” day but with more truthful oil/protein/extras.
Body Snapshot / BioCharge
- Exposes BioCharge and Hybrid Charge aliases in latest body snapshot.
- Keeps smart-scale values as trend context, not daily absolute truth.
PWA note
The app is now more usable on iPhone as a responsive web app, but it is not yet a full PWA. A future release should add manifest.json, theme-color, Apple standalone tags and a service worker.
v0.0.15 - Dashboard refactor guardrails
v0.0.15 — Dashboard refactor guardrails
Checkpoint release for the safe dashboard refactor phase.
Changes
- Adds known-day regression checks for 2026-06-03, 2026-06-04 and 2026-06-05.
- Adds frontend anti-monolith guardrails.
- Locks legacy frontend growth:
static/app.js <= 2250linesstatic/styles.css <= 1800lines
- Adds modular frontend scaffolding under
static/js/. - Extracts compact meal card rendering to
static/js/dashboard/meal-card.global.js. - Extracts compact workout card rendering to
static/js/dashboard/workout-card.global.js. - Reduces the old UI cleanup patch.
- Keeps private local data out of the repository.
Validation
python3 -m py_compile app.pynode --check static/app.jsnode --check static/js/dashboard/meal-card.global.jsnode --check static/js/dashboard/workout-card.global.jspython3 scripts/check_known_days_v015.pypython3 scripts/check_frontend_monoliths.py- Local Docker rebuild/recreate smoke passed.
v0.0.14.2 - Dashboard meal totals and UI cleanup
v0.0.14.2 — Dashboard meal totals and UI cleanup
Hotfix de estabilización del dashboard diario.
Cambios
- Usa Food Intelligence como fuente de verdad para kcal/proteína en tarjetas de comidas.
- Corrige tarjetas que mostraban
0 kcal / 0 g proteína. - Limpia marcadores técnicos
REAL_.../PLAN_...de la UI normal. - Evita avisos falsos de chocolate cuando el producto es batido proteico chocolate/cacao.
- Mantiene datos privados fuera del repositorio.
Validación
node --check static/app.jspython3 -m py_compile app.py- Smoke local en
http://127.0.0.1:8099 - Validación del día 2026-06-05 con 3 comidas y kcal/proteína correctas.
v0.0.14.1 - Dashboard and catalog cleanup
Patch release after v0.0.14 Body Snapshot.
Changes:
- Cleans legacy food catalog aliases in /api/state.
- Adds backend safety net for duplicated foods such as Huevos, Chocolate, stale Alpro names and stale coffee values.
- Adds safe local catalog cleanup script.
- Keeps Food Intelligence free of false chocolate extras from Alpro.
- Improves dashboard/form cleanup after v0.0.14.
Validation:
- BAD_ALIASES: []
- Food Intelligence extras: Sin extras relevantes
- Main deployed on Raspberry.
v0.0.14 - Body Snapshot
v0.0.14 - Body Snapshot
Diet Pro Planner v0.0.14 adds the first Body Snapshot module for smart-scale composition data.
Highlights
- Adds
/api/body-snapshot/latest. - Adds an optional "Foto corporal" dashboard card.
- Displays smart-scale composition metrics when available:
- weight
- body fat %
- estimated fat mass
- water %
- muscle mass
- visceral fat
- BioCharge
- Treats bioimpedance as trend context, not daily truth.
- Does not require daily body composition logging.
- Does not penalize the daily score for a single body-composition reading.
- Prepares the app for a future Weight 2.0 screen with composition graphs.
Why it matters
This release separates official daily weight from estimated smart-scale body composition. The app can now show a useful body snapshot while keeping the main nutrition score focused on food, protein, energy, activity and confidence.
Privacy
The module is local-first. Body composition data remains in the local SQLite database and is not committed to the repository.