diff --git a/CHANGELOG.md b/CHANGELOG.md index 47baaf25d..ac579edee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,54 @@ ## [Unreleased] +## [1.35.0] — 2026-07-31 + +The Health Score becomes something you decide rather than something that happens +to you. + +### Added + +- You choose what counts toward your Health Score. A settings page of its own + lists the pillars, each one on or off. It starts with everything that can be + scored, so a narrower score is a decision you make rather than a default you + inherit. +- Each day's score is now recorded with the recipe that produced it: the value, + the method, which pillars took part, what each of them scored, and a + fingerprint of the inputs it depended on. Until now nothing was kept, and every + comparison was recomputed under today's rules. +- The score says when its composition was authored, so a number built from a + chosen set never looks like one built from everything available. + +### Changed + +- The module switches no longer decide what the score is made of. Turning off + Sleep or Labs used to remove that pillar from the score with nothing on screen + saying so. Those switches now govern what you see, and the score's own page + governs what it counts. An existing account keeps exactly the composition it + has today, so no number moves on upgrade. +- Changing what counts no longer reads as a change in your health. The comparison + stops at the point the recipe changed and says so, rather than drawing a line + across two different definitions. The per-pillar figures continue, because those + stay comparable. + +### Fixed + +- A settings change can no longer produce a message telling you your score + dropped. +- The score's own coverage figure now describes the pillars it actually counts + rather than every pillar that exists. + +### Removed + +- Two refusals that could not refuse anything, and a boundary condition no input + could ever reach. + +### Operations + +- Two migrations: one for the per-account composition, one for the recorded + scores. The recorded days travel through backup, restore and delete-all-data + like every other table. + ## [1.34.5] — 2026-07-31 A release about the score explaining itself, and about sentences arriving in the diff --git a/docs/api/openapi.yaml b/docs/api/openapi.yaml index 0e779b136..7a36fc111 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.34.5 + version: 1.35.0 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 483df3683..6c736290e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "healthlog", - "version": "1.34.5", + "version": "1.35.0", "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 cb99cf294..43d40a7be 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.34.5"; + /* @sw-version-fallback */ "v1.35.0"; 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/*`