From 5691ddcffb36ff42373944b411215aac03f50a4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Thu, 12 Nov 2026 16:35:27 +0100 Subject: [PATCH] chore(release): v1.47.5 --- CHANGELOG.md | 69 +++++++++++++++++++++++++++++++++++++++++++ docs/api/openapi.yaml | 2 +- package.json | 2 +- public/sw.js | 2 +- 4 files changed, 72 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c4cd6aef7..4058e701d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,75 @@ ## [Unreleased] +## [1.47.5] — 2026-11-12 + +### Fixed + +- **Sheets no longer throw away what you typed.** A tap outside, a swipe + down or Escape closed a sheet and dropped its input without a word in + the medication wizard, the add sheets on Measurements, Mood and Labs, + the visit, vaccination, practitioner and check-up forms, and the edit + sheets for illnesses, cycle days, custom metrics, targets, mood tags, + symptoms and life events. They now ask first, and an untouched form + closes at once. A sheet that asks before closing slides back after a + swipe instead of staying half off the screen. +- **Hints open on a tap.** Information that only appeared on mouse hover + now opens on a tap: the measurement-pattern tip, the sleep-source + warning, score coverage, target status, range-bar values, the colour + of dashboard averages and long admin token names. +- **No more zoom on iPhone when a field gets focus.** The medical-history + notes, the import and passphrase fields, the Coach memory editor, the + managed profile's handover link, the cycle length fields and the + command search use 16 px text now. +- The "More" sheet scrolls when the phone is held sideways, the + practitioner and vaccine pickers open as wide as their field, the + remove buttons on chips are easier to hit without catching the label, + the first-run tour card sits above the iPhone home indicator, and the + Coach's New conversation button no longer covers the last message. +- Illness screens no longer show "Weight", "Pulse", "Recovery" and "Day" + in English in German, French, Spanish, Italian and Polish, and the + medication wizard's "Name" step and the dashboard layout's "Chart" + column are translated too. The Coach question on an empty metric page + is in your language on every metric page. +- The check-up list view shows the Coach and switched-off badges like + the cards. "Log day" on a recovered illness opens on the recovery day. + After switching the glucose unit, the target panels switch at once. +- Blood ketones (new in 1.47.2) can be logged from the metric catalog + and tied to a check-up, and a ketone check-up goes quiet with the + Glucose module like the glucose one. + +### Changed + +- **Insights pages load faster.** The tab bar no longer downloads the + whole overview, a workout and the ECG list on every Insights page; one + small read, `GET /api/insights/presence`, tells it which tabs have + data for the record you are looking at. The Coach line under a metric + chart is worked out once per account and language instead of once per + page, the health status card loads from cache after the first open, + and Insights > Medications asks for each medication's efficacy only + when you scroll to the summary. +- The dose history of a long-taken medication loads the window it shows + instead of every dose ever recorded. +- A background tab no longer checks for a new version every minute; it + checks once when you come back. Every page load saves one request, the + dashboard's mood chart reuses what the dashboard already loaded, and + the admin Coach page loads its quality summary once. +- The admin backups page and the cycle page no longer jump while they + load. +- Medication tabs, the health record page and the check-ups layout page + have English addresses. Old links and bookmarks still work. +- Settings, About opens the release notes instead of the full changelog + file. + +### Removed + +- The build-time switch `NEXT_PUBLIC_DASHBOARD_SNAPSHOT=false` and the + dashboard's old fallback behind it; the dashboard always reads its one + snapshot. If you build your own image with that switch, drop it. +- The unused `GET /api/monitoring/settings` endpoint. +- One-off scripts nothing runs, code paths nothing reaches and tests + about features removed long ago, about 15,000 lines in all. + ## [1.47.4] — 2026-11-12 ### Fixed diff --git a/docs/api/openapi.yaml b/docs/api/openapi.yaml index 1a889bcba..b5974f168 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.47.4 + version: 1.47.5 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 4a741829c..87525da8e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "healthlog", - "version": "1.47.4", + "version": "1.47.5", "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 bf37050ea..fbb56e5c2 100644 --- a/public/sw.js +++ b/public/sw.js @@ -16,7 +16,7 @@ try { } const CACHE_VERSION = (typeof self !== "undefined" && self.__APP_VERSION__) || - /* @sw-version-fallback */ "v1.47.4"; + /* @sw-version-fallback */ "v1.47.5"; const STATIC_CACHE = `healthlog-static-${CACHE_VERSION}`; const PAGE_CACHE = `healthlog-pages-${CACHE_VERSION}`; // Every HealthLog cache, current and legacy, and nothing another app on the