chore(release): v1.4.15

Bumps version to 1.4.15 and adds the corresponding CHANGELOG entry
covering backup completeness, achievements UI, onboarding tour,
doctor-report v2, auto-deploy on GHCR push, empty-states sweep,
notification + integration status UI, AI hallucination guardrails,
mobile UX fixes, and the BD-Zielbereich percentage fix.

Includes the formatting drift left over by the v1.4.15 development
phases (Prettier sweep on touched files) and a typecheck fix in
`dashboard-layout.test.ts` so `pnpm typecheck`, `pnpm lint`,
`pnpm format:check`, `pnpm test`, and `pnpm test:integration` all
pass green on the release tag.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Marc-André BombeckandClaude Opus 4.7 committed 2026-05-09 22:27:13 +02:00
1 parent 1b1214bcb3
commit 4dcaa08b42
32 files changed
+639 -295

No files matched your search

@@ -9,13 +9,13 @@ import { renderToStaticMarkup } from "react-dom/server";
* exported so the contract can be locked in unit tests.
*/
import {
aggregateMoodEntries,
pickMoodBucket,
MoodChart,
} from "../mood-chart";
import { aggregateMoodEntries, pickMoodBucket, MoodChart } from "../mood-chart";
function dayEntries(start: string, count: number, score = 4): Array<{
function dayEntries(
start: string,
count: number,
score = 4,
): Array<{
date: string;
score: number;
}> {
@@ -53,7 +53,7 @@ describe("<TrendCard> 7-day trend label", () => {
expect(html).toContain("7d trend");
// Legacy avg7 short label must NOT appear in the trend variant —
// this is the whole point of the rename.
expect(html).not.toContain('>7d:<');
expect(html).not.toContain(">7d:<");
});
it("paints the trend-label in German", () => {