From fd895bfd5f888c5067ab3169bc904dd7dd5d9489 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Mon, 5 Oct 2026 08:44:10 +0200 Subject: [PATCH] chore(release): v1.40.2 --- CHANGELOG.md | 40 ++++++++++++++++++++++++++++++++++++++++ docs/api/openapi.yaml | 2 +- package.json | 2 +- public/sw.js | 2 +- 4 files changed, 43 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 152d56968..77828ea18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,45 @@ # Changelog +## [1.40.2] — 2026-10-05 + +A calmer Coach with conversations in a side panel and settings in place; the +top of the dashboard says what matters today; documents filter by procedure. + +### Added + +- **Coach panel.** Conversations in a collapsible right panel (a sheet on a + phone), grouped by day, with rename, delete with undo and a new-chat + button; a gear opens quick settings (provider, model and reasoning where + they are the user's, and the lookback). `/coach?settings=data` opens it. +- **Coach lookback as a real limit.** 7, 30 or 90 days, 12 months + (`lastYear`, new) or all; it limits the snapshot and every Coach tool, a + read beyond it answers `outside_reach`. MCP keeps its own windows. +- **Today overview.** The digest gains `lead`, `today[]`, `restMode` and + `score.steadyWeeks`/`steadyAtLeast`: a lead line with content (deterministic + without AI), up to five facts (medications, an appointment today or + tomorrow, last night, vitals, cycle, Rest Mode), the ring with how long the + score has been steady. The morning push line carries no vital values. +- **Procedure filter in the document archive (#1154).** `linkedProcedures` on + the usage endpoint; the list already accepted `encounterId`. + +### Changed + +- **Coach answers.** One action row (copy, read aloud, retry, time; tokens and + model); web thumbs and the evidence block removed; remember is an icon; + follow-up chips in the answer column; a scroll-to-bottom button; the + composer's "+" menu removed. +- **Settings → Coach** summarises what the Coach sees and links into the + overlay. +- Coach preferences parse field by field, so one invalid value no longer + drops the others. + +### Fixed + +- The medications fact counts the whole day on a 25-hour DST day. +- Providers without credentials are no longer offered in the Coach overlay; + an operator-managed provider shows as such. +- Document filter controls match the search field's height on a phone. + ## [1.40.1] — 2026-10-04 Restore opens older encrypted values again; faster pages on a long-used diff --git a/docs/api/openapi.yaml b/docs/api/openapi.yaml index 649ff97ca..62082e6fa 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.40.1 + version: 1.40.2 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 32ef4824a..c8e1dc505 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "healthlog", - "version": "1.40.1", + "version": "1.40.2", "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 0c7bb5af9..a1efeb60b 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.40.1"; + /* @sw-version-fallback */ "v1.40.2"; 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/*`