1.8.0 (2026-04-21)
Features
*
release-notes: rephrase changelog with Gemini AI before HTML generation (
7fdac8c)
1.7.2 (2026-04-21)
Bug Fixes
*
footer: point release notes to GitHub Releases and fix Pages deployment (
922ff90), closes
#pages peaceiris/actions-#pages
1.7.1 (2026-04-18)
Bug Fixes
*
release: remove incorrect variable escaping in .releaserc [skip sign] (
06725e3)
*
test: exclude playwright tests from jest runner (
e147973)
1.7.0 (2026-04-15)
Bug Fixes
* add eslint configurations to resolve interactive prompt crashes on CI (
04aba42)
* add FIREBASE_CLI_EXPERIMENTS=webframeworks to hosting deploy steps (
b2dffcb)
* add missing 'prod' hosting target to .firebaserc (
c798df0)
* add missing closing div in live-conditions page (
803262b)
* align sonarcloud organization key (
0b235c1)
* Button component was not rendering children — all buttons empty (
2cd4a1b)
*
ci: fix sonar websocket crash with NODE_OPTIONS and scm disabled (
969becb)
*
ci: resolve sonarcloud OOM by increasing memory and narrowing scope (
4ae9289)
*
ci: unify firebase service account secrets (
6890473)
* correct all remaining typecheck errors (
08bc038)
* enforce GCLOUD_PROJECT for firebase-admin across HMR reloads (
ad138cf)
* getSwimData — move notFound() outside try-catch (
dfbfee0)
* github workflow (
e760aaf)
* inject ETSY_SHOP_URL and DISCOUNT_CODE into App Hosting runtime (
9257290)
* install cypress to resolve build type errors (
0bd9e8a)
* optimize insights page mobile responsiveness and heatmap containment (
097bed9)
* pipiline (
80d8f16)
* raise typecheck heap to 8GB + pin tsBuildInfoFile for incremental cache (
c047313)
* reduce pwa install prompt lockout to 2 hours for better visibility (
d347607)
* remove unused ts-expect-error on nerdLogCorrectorPrompt (TS2578) (
c73b471)
* repair Export All Swim Data button on profile page (
0b62647)
* repair profile page buttons and remove plan-gating (
4ac1b3f)
* replace any types with proper interfaces across actions and flows (
03c150a)
* resolve hydration mismatch in AuthLayout (
f6e3fa9)
* resolve OOM build failure on GitHub Actions (
370a79b)
* resolve typescript style prop errors on FAQ and shared pages (
6c77a1f)
* resolve TypeScript typecheck errors (TS2589, TS2872) (
4ac8160)
* restore Droplets import in reuss-conditions-card (
4932962)
* restore public ingress + inject NEXT_PUBLIC_* env vars for App Hosting (
013fd56)
* restore source links in Swiss Waters card headers (without 'Source:' label) (
295509e)
* revert hero image from static import back to string path (
de17383)
* service worker was blocking all updates (
dc4b557)
* share button + URL + share page UI redesign (
491c06e)
* show login form immediately instead of waiting for Firebase auth (
152872b)
* specify projectId for firebase-admin initialization (
a22d03f)
* swim history chart blank — replace CSS custom properties with hex colors (
cdfaeaf)
* switch PWA dismiss from permanent flag to 14-day timestamp (
fc93530)
*
test: resolve jest ESM issue with logAiFailure mock (
be202b4)
* TS errors from firebase.ts auth | undefined + nav redesign (
925051d)
*
types: resolve project-wide TypeScript errors (
86a73bb)
*
types: resolve stale nextjs types and missing source property (
87dd933)
*
types: restore finalSwimData and resolve remaining lints (
a2764de)
* use explicit height={320} on ResponsiveContainer (
2f84acf)
* use static import for hero image + fix storage bucket URL (
4787a6d)
* use static papaparse import to eliminate CJS/ESM interop issues (
3282a5f)
* wrap Basel card ternary branch in fragment to fix JSX parse error (
11b5694)
Features
* add AI Nerd Mode FAB to dashboard (
5182721)
* add measurement timestamp to all Swiss Waters cards (
2369e44)
* add PWA install banner + fix SW precache (
5aa2c28)
* add Reuss river (Luzern) live conditions card (
0b8b145)
*
admin: implement news date editing, user directory exploration, and navigation optimization (
5b5a629)
* AI search differentiation — SoftwareApplication schema + branded metadata (
55f6cab)
* alphabetical Swiss Waters grid + Reuss card cleanup (
13ec184)
* consolidate release notes pipeline and resolve auth firestore permissions (
cd2d1f2)
* editorial river cards + remove EcoWarriorCard from profile (
6448986)
* iOS PWA install guide + unified install prompt hook (
2e0cc3e)
* Log Swim FAB — remove from nav, add pulsing action button to dashboard (
734eee5)
* move Your Challenges section from Live & Engage to Dashboard (
7befda6)
* premium dark editorial rebranding and ice wall heatmap (
52a8329)
* SEO upgrade — Schema.org Dataset, /swiss-waters public page, metadata (
5b44a4d)
* warm swim highlight in history — left orange accent bar (
5a62516)
Performance Improvements
* replace 2.4MB PNG hero with 116KB WebP on login page (
b1794b4)