chore(release): v1.41.2

This commit is contained in:
Marc-André Bombeck committed 2026-10-07 22:48:49 +02:00
1 parent 15b2f6f4de
commit b184a4bbac
4 files changed
+40 -4

No files matched your search

+36
View File
@@ -1,5 +1,41 @@
# Changelog
## [1.41.2] — 2026-10-07
More room for a Coach turn, prompt caching that holds across its rounds, and
MCP tool results that match their schemas.
### Changed
- **Turn budget.** A turn on the person's own provider gets 165k tokens,
200 s and 16 rounds (was 120k, 150 s, 12); a turn on the operator's budget
55k tokens, 120 s and 8 rounds (was 40k, 90 s, 6). The final answer's
reserve keeps its share of each (1,650 tokens), the concurrent-turn slot
follows the longer wall time, and a turn shows up to 64 steps.
### Fixed
- **Cached input in the turn budget.** Codex requests carry a stable
`prompt_cache_key` and session id per conversation, as the official client
does, so later rounds of a turn read the prefix from the provider's cache
instead of paying for it again; `api.openai.com` gets the same key, gateways
do not. Anthropic usage now counts cache reads and cache writes in the
turn's total (they are reported beside `input_tokens`), so a cached round is
weighted at a tenth instead of almost nothing and a cache write in full.
Local and OpenAI-compatible servers that report
`prompt_tokens_details.cached_tokens` have it counted.
- **MCP output schemas (#1170).** `list_metrics` declares the `availability`
its rows already returned, the Coach-backed reads declare `searchedWindow`
and `available`, and `get_intraday_pulse` declares each bucket's `min` and
`max`. The advertised
schemas close every object, so a strict client refused these results. Every
tool's real output is now validated against its advertised schema under a
strict 2020-12 validator. Thanks to @RyRyMason for #1170.
- **Deleted readings in MCP discovery.** The `list_metrics` discovery rows and
the `search` clinical-signal probe count live rows only: a measurement type
whose readings were all deleted is no longer listed as present, and the
probes use the live-rows index instead of walking every deleted row.
## [1.41.1] — 2026-10-07
A calmer thinking row in the Coach.
+2 -2
View File
@@ -1,7 +1,7 @@
openapi: 3.1.0
info:
title: HealthLog API
version: 1.41.1
version: 1.41.2
description: >-
Self-hosted personal-health-tracking PWA — public API surface for the iOS native client and external ingest.
@@ -52829,7 +52829,7 @@ components:
id:
type: string
pattern: ^s[1-9]\d{0,2}$
description: "`s1`..`s48`, unique within a turn."
description: "`s1`..`s64`, unique within a turn."
tool:
type: string
enum:
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "healthlog",
"version": "1.41.1",
"version": "1.41.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",
+1 -1
View File
@@ -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.6";
/* @sw-version-fallback */ "v1.41.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/*`