AquaLog

Release Notes & Evolution History

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)