From cd3dfb81bcc0598e21013e6379c2e952a7525b5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Thu, 16 Jul 2026 21:41:00 +0200 Subject: [PATCH] =?UTF-8?q?chore(release):=20v1.28.54=20=E2=80=94=20one=20?= =?UTF-8?q?hero=20on=20the=20dashboard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Retires the legacy opt-in dashboard hero now that the Today view leads the dashboard, so the two never stack. Removes the hero mount, its skeleton, the carousel/spotlight components only it rendered, and the heroVisible layout field (a stored layout that still carries it is ignored on read, never re-persisted, so nothing to migrate). The greeting is now always shown. The mobile-density guard measures the Today hero. The score-ring selection stays in the layout contract for the native client; its web picker is a follow-up decision (resurface in the Today view or leave it native-only). --- CHANGELOG.md | 7 +++++++ docs/api/openapi.yaml | 2 +- package.json | 2 +- public/sw.js | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ccb6a7da2..95cc80d69 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ ## [Unreleased] +## [1.28.54] — 2026-07-16 — One hero on the dashboard + +With the Today view now leading the dashboard, the older opt-in hero card it +replaced is retired, so the two never stack. The greeting stays, the tiles and +charts are unchanged, and a layout stored with the old hero switched on simply +ignores that setting — nothing to redo. + ## [1.28.53] — 2026-07-16 — A "Today" overview at the top of your dashboard The dashboard opens with a Today view: your health score, the day's lead read, diff --git a/docs/api/openapi.yaml b/docs/api/openapi.yaml index 0feb6ab5d..2142dcadb 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.28.53 + version: 1.28.54 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 2763172e0..a7ff7fda3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "healthlog", - "version": "1.28.53", + "version": "1.28.54", "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 5bcf17e98..93dd81d29 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.28.53"; + /* @sw-version-fallback */ "v1.28.54"; 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/*`