PulseLoop 2.7.0 (39)
Nutrition
- Barcode scanner and AI meal analysis. Scan a packaged food's barcode or photograph a
meal to log it, with an editable estimate before anything is saved. - Open Food Facts integration with a local product cache, so repeat lookups don't hit the
network. The whole cache is now searched before falling back to the API. - Coach nutrition tools — search the food database, log, update, and delete meals from a
conversation. - Meal confidence now defaults to "known", matching iOS, and existing rows are normalized on
upgrade.
Coach
- Self-hosted / local LLM providers honor a caller-supplied JSON schema, while keeping the
coach's own response guidance intact on ordinary chat turns. - Coach notifications run a due slot as soon as a background sync completes, and a slot that
falls back to a generic check-in is now recorded — so the same slot can't notify twice.
Rings
- RWfit: the JieLi (0xAB) history path is complete — the 05-group bodies now decode.
- Colmi R11 (CRP): driver hardening ported from iOS.
Workouts
- Paused intervals are written to activity events, so a Strava TCX export drops paused
trackpoints instead of drawing a straight line through them.
Fixes
- Meal estimates with trailing prose after the JSON are parsed instead of rejected.
- A malformed Open Food Facts base URL surfaces as a proper client error.
What's Changed
- iOS sync: close the port queue (#93, #94, #96, #130, workout pause intervals) by @foureight84 in #53
Full Changelog: v2.7.0+38...v2.7.0+39