From 99d80f8512c90799ca35494e22975b0e0777a11a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Fri, 17 Jul 2026 11:12:30 +0200 Subject: [PATCH] =?UTF-8?q?chore(release):=20v1.29.1=20=E2=80=94=20polish?= =?UTF-8?q?=20and=20fixes=20from=20the=20daily=20view?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Today refreshes right after a dose; a calmer Today hero; the Coach names the attached document; a fresh install starts with tracking on; the vitals explainer line is removed; the illness journal gains an editable end and a settled course line; the morning refresh now triggers from every sleep source and records each skip. --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ docs/api/openapi.yaml | 2 +- package.json | 2 +- public/sw.js | 2 +- 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 33373c2c6..079773f79 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,34 @@ ## [Unreleased] +## [1.29.1] — 2026-07-17 + +A round of fixes and small refinements from living with the daily view. + +- **Today refreshes right after a dose.** Logging or undoing a medication now + updates the day's read immediately — the medication line no longer lingers on + a stale count until the next reload. +- **A calmer Today hero.** The extra score rings are gone; the hero keeps the + one health-score ring and a tighter layout. +- **The Coach names the document you attached.** Asking about a document now + shows its title in the chat instead of a plain "1 document" count, and the + attach menu stays within its popover on long labels. +- **A fresh install starts with tracking on.** New installs now enable the + tracking modules by default — you can still switch any of them off. The + external-AI options and the daily push stay off until you turn them on. +- **Insights vitals lose the explainer line.** The "your personal normal range + is the median…" caption is removed from the baseline tiles. +- **Illness journal: set and edit the end.** You can mark an episode's end date, + clear it back to ongoing, and backdate the start. When nothing strayed from + your personal range, the course section now reads a short settled line instead + of appearing empty. +- **The morning refresh covers every sleep source.** The refresh that folds last + night's sleep into the day now triggers from Google Health, Fitbit, Oura, and + Polar as well, not only Withings, WHOOP, and Apple Health. Each skipped refresh + is now recorded so a stale morning read can be traced to its cause. + +No new data is collected and there is no migration. + ## [1.29.0] — 2026-07-17 — A daily health companion This release draws a line under a run of work that turns HealthLog from a place diff --git a/docs/api/openapi.yaml b/docs/api/openapi.yaml index d94e3dc64..1b0b02a91 100644 --- a/docs/api/openapi.yaml +++ b/docs/api/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.1.0 info: title: HealthLog API - version: 1.29.0 + version: 1.29.1 description: >- Self-hosted personal-health-tracking PWA — public API surface for the iOS native client and external ingest. diff --git a/package.json b/package.json index 4963af024..aecdc5b15 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "healthlog", - "version": "1.29.0", + "version": "1.29.1", "description": "Self-hosted personal-health-tracking PWA with Withings integration, AI insights, and doctor-report PDF export.", "license": "PolyForm-Noncommercial-1.0.0", "homepage": "https://healthlog.dev", diff --git a/public/sw.js b/public/sw.js index 778a756b2..50c7c0d12 100644 --- a/public/sw.js +++ b/public/sw.js @@ -36,7 +36,7 @@ try { // v1.4.38.4 → v1.4.42. Do not hand-edit; bump `package.json` and rebuild. const CACHE_VERSION = (typeof self !== "undefined" && self.__APP_VERSION__) || - /* @sw-version-fallback */ "v1.29.0"; + /* @sw-version-fallback */ "v1.29.1"; const STATIC_CACHE = `healthlog-static-${CACHE_VERSION}`; const PAGE_CACHE = `healthlog-pages-${CACHE_VERSION}`; // v1.18.6 — read-only data cache for a curated allowlist of safe GET `/api/*`