Releases: watt-mind/coach
Releases · watt-mind/coach
Release list
v0.5.25
0.5.25 (2026-07-11)
Bug Fixes
- activities: guard calendar day mini-charts for previewable structure (a6fe6fe)
- activities: prevent calendar cell items from being clipped by flex layout. (7f17fba)
- add Docker build dependencies (d3bb43c)
- analytics: prevent server-side execution of data fetching (748d560)
- api: allow description on OpenAPI parameter schema (5877b3b)
- api: harden streamed JSON export serialization (37ecfc9)
- api: improve workout search date range logic and test coverage (5f3bd4f)
- api: stream JSON profile export to avoid string length crash (a609e32), closes #208
- app: add fetch error UI, rollbacks, and admin stats i18n (0d6b649)
- app: harden chat and workout pages against teardown races (bbee6a2)
- app: harden profile settings state and admin user error UI (5b2a417)
- app: refresh nutrition analysis UI and improve plan polling feedback (549e731)
- app: resolve app-review bugs with error UI, i18n, and a11y improvements (7706435)
- app: retry polling errors and guard public presence edits (4f96a90)
- auth: reset client state on logout to prevent cross-user leaks (145, 146, 147, 041, 136) (#229) (4551481)
- build: skip chat turn runner during Nitro build and prerender (670017a)
- calendar: align planned workout queries to viewer-local UTC range (d8348b4)
- calendar: declare calendar bounds before computing fetch range (9d30476)
- calendar: include late-day workouts on last visible grid day (e11eaa2)
- chat: declare pollStartedAt ref for planned-workout polling (062) (#226) (da5b727)
- chat: load errors, tool approval recovery, queue persistence (077, 079, 123, 165, 166) (#235) (af4cd68)
- clear trigger monitor runs on identity switch (a5f06f7)
- coaching: resolve message context, team delete, and overview gaps (125fc71)
- coach: move fieldError inside script block (2aa546f)
- components/public: resolve index casting and TipTap API usage in profile editor (dc13414)
- components: resolve nuxt ui v4 property issues and refine filter types (99f5d58)
- feed: pagination refetch, sport filter, error state (131, 132, 133) (#234) (6fb731d)
- harden integration syncs and satisfy Nuxt typecheck (3bb0be7)
- import planService for modify_training_plan_structure chat tool (a7391b6)
- ingest date windows, quota checks, and sync status guards (PR 6) (#231) (70b7f69)
- ingestion: avoid duplicate workout dedup triggers (d99754c)
- ingestion: reject absurd Intervals altitude metadata (18daedb)
- intervals: robust deleted event ID handling in sync webhook (96cef09)
- keep structured workout retries on flash (f25b802)
- llm: align usage tracking with schema fields and SDK v7 token paths (abf9158)
- llm: align usage tracking with schema fields and SDK v7 token paths. (321eeeb)
- llm: migrate flash default to Gemini 3.1 Flash Lite preview (a1d908f)
- navigation: refetch on route param change and sync profile tab URL (064, 065, 141, 186) (#228) (a673bb4)
- nutrition: correct hydration advice and harden nutrition API paths (8f418ea)
- nutrition: honor sedentary energy target on rest days (710a951)
- onboarding: join flow and consent hardening (PR 8) (#233) (3d2f46c)
- pages: improve type safety and handle edge cases in various page components (cb997b9)
- prisma: recover target muscle groups migration order (54b1b0d)
- profile: restore profile settings save on basic and communication tabs (7e72112)
- profile: tab popper crash, autodetect thresholds, FAILED integrations (187, 190, 197) (#227) (896c8fc)
- quota: chat TTS/transcribe/retry, recommendations, plan adherence (163, 164, 176, 179, 180, 181) (#237) (a6abd74)
- recommendations: use Prisma reasoning field for activity recommendations. (6a31bdf)
- require admin auth on debug API routes and pages (aeeb034)
- share: privacy hardening batch for issues 066, 095-096, 155-160, 157 (#232) (08afce0)
- stats: correct timezone-aware date calculations for monthly comparisons (b319983)
- streams: complete WorkoutStreamV2 migration and unify stream access. (438b474)
- streams: harden V1→V2 migration for messy prod JSONB data. (9f30fc4)
- streams: serve WorkoutStreamV2 data on workout detail page (893ecca)
- structure: allow strength-only manual structure saves (e3ef5c2)
- tasks: add onTaskFailed handlers to clear loading state on failure (039, 049-051, 073-074, 080-082, 119, 138, 216) (#230) (bf57d97)
- trigger: enforce explicit single-value targeting in workout targeting resolution ([4b69fe8](4b69fe8a3398bc4616234d...
v0.5.24
0.5.24 (2026-03-23)
Bug Fixes
- components: remove duplicate function declarations in WorkoutRunChart (079f260)
- components: resolve getStepRange and helper function ReferenceErrors in WorkoutRunChart (08f41d0)
- intervals: improve event validation and duration matching (2503ba7)
- plans: restore activities per week stacked bar chart in plan architect (d35bd6e)
- ui: implement defensive checks and markdown safety for sentry issues (14a624a)
Features
- activities: add workout library integration and template scheduling to calendar (fa8d96c)
- ai: centralize unit formatting and fix imperial preference application in prompts (72ae2c6)
- ai: disable AI memory feature by default (d901ace)
- analytics: add nutrition presets and widget unit formatting (c91e439)
- analytics: add rename functionality for dashboards and widgets (104eeea)
- analytics: add workout comparison page and dashboard integration (1181f07)
- analyze: add sport settings to adherence analysis (279663e)
- api-auth: complete unified auth migration for remaining user APIs (7e3767b)
- api: add coaching overview, groups, and teams endpoints (0393f27)
- api: add intervals preview endpoint and enhance workout debug tools (a967edf)
- api: add nutrition fields and repository support for analytics (99e590e)
- api: add plan library endpoints for folders, favorites, and bulk management (2542f8f)
- api: add public endpoints for plan and coach discovery (43794f0)
- api: add public profile settings and improved plan sharing (ff85325)
- api: add workout template folder management endpoints (b1facd1)
- api: enhance workout library saving and template scheduling (351ae0e)
- api: implement user memory services, extraction logic, and management endpoints (5e09181)
- api: implement workout comparison analytics endpoints (9aea459)
- api: implement workout library tools and plan template indexing (936e14a)
- api: update plan architect and publication endpoints (81b0fa7)
- api: update plan architect patch endpoint and re-enable workout tools (da27ce1)
- api: update workout library endpoints to support folders (a2d5dc9)
- architect: add collapsible analytics rows and zone distribution charts (371c722)
- architect: add notes support and improved library drawer to architect (cebcf35)
- architect: add plan overview and updated architect interface (dc50f3f)
- athlete-features-api: complete requireAuth migration for all athlete data (c4305d4)
- charts: add toggle to include daily check-ins in wellness overlays (5a4f84f)
- chat: implement automatic room summary scheduling (eb49ab0)
- chat: implement user memory management ui and slideover (8b3fb50)
- chat: integrate memory extraction into turn executor and skill router (50e24f6)
- cli: add plan relative-index backfill command and update docs (637b9e8)
- cli: add remove-workout-summary-notes command and refactor backfill script (582a492)
- coaching: add cookie persistence for acting as user (b9e149d)
- coaching: enable workout comparison from coaching calendar (59deda4)
- coaching: enhance coaching repository and add athlete detail endpoints (bd88c1b)
- coaching: implement coach dashboard with athletes calendar and management (c20b2c5)
- components: add coaching activity feed, group manager, and compliance components (03c4fd5)
- components: add drag-and-drop to block table and enhance timeline chart (a1bfc76)
- components: add workout technical view and template preview components (2909134)
- components: enhance planned workout modal and plan architect drawer (6a057c0)
- components: implement plan library components and refactor workout drawer (30b1e52)
- components: update analytics widget and add workout comparison dock (6dc6c89)
- composables: add training plan folder management and update library source logic (9876db0)
- composables: update plan architect state management and add move workout logic (0dc38b3)
- dashboard: add monthly progress comparison and improve mobile activities (e86b5fd)
- db: add coach and athlete notes to training plan schema (a8ffedf)
- db: add public training plan metadata and workout template folders (ff2fc1c)
- db: add teams, athlete groups, and team invites schema (c73d366)
- db: add training plan folders and favorite models with visibility updates (fc265a9)
- db: add user memory and workout library models with migrations (efa0912)
- implement analytics system, custom metrics for tracking, and coaching navigation enhancements (c18ec6e)
- infra: add duration utils and repositories for teams and workouts (bd53ea9)
- library: add activity-specific breakdown bars and color coding to plan architect (b89dfdd)
- library: add folder navigation and management to workout library ([9e731c4](9e731c4...
v0.5.23
0.5.23 (2026-03-16)
Bug Fixes
- api: ensure top-level duration is included in intervals.icu workout publishing (0d220e2)
- auth: correct authOrigin and prevent onboarding redirect loop (9d8816f)
- auth: correct authOrigin to site root (7f6652a)
- auth: handle P2025 error in deleteSession adapter to prevent session removal failures (eacd47d)
- auth: resolve redirect loop by removing recursive session checks and fixing authOrigin (4ce2aa6)
- chat: prevent self-triggered continuation loops for tool messages (d158171)
- cli: update quota command with correct summary logic and timezone support (a538495)
- components: improve %pace metric normalization and label formatting in workout charts (2a36181)
- components: improve hr zone normalization in mini workout chart (b825902)
- components: improve locale mapping and flag rendering for chinese in languageswitcher (72fcfeb)
- components: reset submitting state in chat tool approval on result (7d9450e)
- dashboard: ensure wellness metrics are only displayed if they belong to the current day (829ecb8)
- emails: improve stability and safety of WorkoutAnalysisReady template (c2af331)
- exclude today's unfinished planned load from current form (dfd7363)
- fitbit: address review feedback on recovery and ingestion (2118a57)
- frontend: resolve recent sentry issues in activities and chat (4bf1872)
- i18n: add missing localization keys to profile translations (292f422)
- intervals: fallback to recreation when event not found during intervals sync (453c08a)
- pages: add defensive check for translation function in workout detail (f6502d8)
- pages: resolve translation access errors and improve ui consistency (5c932c2)
- profile: enforce strict primary metric policy (7d213dc)
- protect planned workout structures from sync corruption (8b2b192)
- recommendations: correctly map workout types and titles when accepting recommendations (515f7e2)
- restore missing fields in PlannedWorkout model to correct schema corruption (cccc5b8)
- sequence recommendation sync after structure regeneration (e1aa344)
- translations: avoid adding dynamic key prefixes (11e6da2)
- trigger: ensure userTimezone is robustly defined and fixed redeclaration in daily-checkin (be4663d)
- trigger: ensure userTimezone is robustly defined in daily-checkin task (7f55658)
- trigger: update variable declaration in daily check-in (3c4d381)
- utils: improve ultrahuman data normalization and add service layer (104ff8d)
- utils: improve ultrahuman data normalization for array-based metric_data (d453cb6)
- workout: handle malformed structured workout steps (7af0c70)
Features
- activity: add nutrition tracking option in recent API (a102db0)
- activity: integrate activity realtime events into repository and trigger layers (ba3cce4)
- ai: add patch_nutrition_items tool and improve chat context (f83bbd5)
- ai: add training week update tool and enhance chat context (f5fb299)
- analysis: implement cadence adherence tracking in workout facts (68853dc)
- analysis: implement signal applicability and enhanced prompt guardrails (2fb86e1)
- api: add data export utilities and portability endpoint (79a59db)
- api: add endpoint for threshold detection from recent workouts (eeab50c)
- api: add endpoints for wiping synced data types (8c572d3)
- api: add intervals preview endpoint and snapshot integration (c56433e)
- api: add planned workout neighbor navigation endpoints and composable (e94d9dd)
- api: add recovery context and check-in history endpoints (3c3b2cf)
- api: add source attribution name and visibility controls to oauth apps (4aa1f32)
- api: add tag filtering support to performance endpoints (49747cc)
- api: implement oauth attribution for fit uploads and improve wellness sync logic (4ff624b)
- api: implement server-side workout share image generator (e915854)
- api: implement workout unlinking endpoint and frontend ui (4714019)
- api: improve planned workout updates and swim parsing support (1246441)
- api: include oauth app source attribution in activity and workout details (72fa535)
- api: include sport profile name in calendar activities (1f8ccd4)
- api: include summaryPolyline and additional metrics in workout results (9b40ce6)
- api: include v2 analysis facts in workout detail response (8ae31e4)
- api: integrate stress normalization and add ultrahuman/garmin service updates (bffccd5)
- api: publish immediate task-start events for plan and goal tasks (88dde75)
- api: publish immediate task-start events for recommendations and reports (08596d2)
- api: publish task-start events for workouts, wellness, and sync tasks (bc4bebe)
- api: support pace zone labels and absolute speed in workout exports (c129b81)
- api:...
v0.5.22
0.5.22 (2026-03-03)
Bug Fixes
- analysis: include today's planned workouts in training load forecast (310cb7d)
- components: resolve type error in language switcher (6eb01a1)
- components: resolve type errors in trophy case and stream chart (c70f1e7)
- pages: improve connected apps loading state and card layout (1d7fd6b)
- performance: add missing TrophyCase import (bb3446e)
- performance: allow pb metadata backfill for current records (f1fdd23)
- repositories: define prisma in upsertsettings to fix referenceerror (0dff824)
- telegram: restore shared chat history reconstruction (71e82b2)
- types: resolve string assignment and object access errors (58fd30b)
- ui: resolve reference errors and initialization order issues in production (fee6b0f)
- ui: resolve SelectItem value error and add ClientOnly wrappers for DOM stability (fe0b537)
- utils: add undefined check for heart rate in gpx export (71873bb)
Features
- activities: add new activity sources and UI indicators (e439ec7)
- admin: update system message management with share type (a7e5e4e)
- ai: add temporal resolution tool to AI orchestration (ba7416c)
- analysis: enhance threshold detection with sport-specific profiles (d6ac458)
- analytics: add share-related tracking events and user store fields (12e0f97)
- api: add activity name support for FIT uploads (80335d8)
- api: add body measurement endpoints and update profile weight resolution (6be5f28)
- api: add self and admin account deletion endpoints (52fa81d)
- api: add support for chat attachments and voice transcription (f9e41af)
- api: add tts endpoint and update ai settings handlers (17400f2)
- api: enhance dashboard and activity data with source attribution (b0f3fe4)
- api: expose metric history and support sport-specific profile updates (1100ce4)
- api: implement climb detection and gpx export utilities (a95d628)
- api: implement personal best detection service and integration (942a24c)
- api: implement quota checks for bulk workout analysis (f47dfc1)
- api: implement rouvy oauth and manual sync endpoints (b4c62c3)
- api: implement share reward system and targeted system messages (091b03d)
- api: implement wahoo integration backend and ingestion tasks (6e2bf60)
- api: update storage upload endpoint (41b0940)
- billing: add Stripe billing portal link for users (907f007)
- brand: enhance brand manual with animations and decorative patterns (7882969)
- calendar: add goal, metric history, and personal bests fetching (1a7180f)
- calendar: add new activity sources and icons (f4246f7)
- charts: add multi-dataset support and unified stream chart layout (49ceec5)
- chat: add desktop webcam photo capture feature (9a6dbc9)
- chat: add display support for temporal resolution tool (5e796b7)
- chat: add webcam video recording and video file uploads (7a4de4d)
- chat: implement multi-modal input and attachment rendering (bcc96cd)
- cli: add body measurements backfill command (99f8450)
- cli: add body measurements backfill tools (5d83735)
- cli: add direct intervals import command and skip-existing logic (bf08e54)
- cli: add lapSplits to stream debug output (57d2b80)
- cli: add personal best backfill and stream debug tools (3eeea31)
- cli: add stream debug command (2179ca3)
- cli: add threshold-check debug tool for testing detection logic (fd8b69f)
- cli: add translations management command group and update documentation (ab7a54a)
- cli: add wellness and user count logging in backfill (9dc46e0)
- cli: implement high-performance thresholds backfill and update pb tools (b2698df), closes hi#performance
- components: add crosshair and highlight support to stream chart (8539567)
- components: add highlight point support to workout map (f470ced)
- components: add multi-range highlighting support and debug tools (7447f84)
- components: add share coaching modal and footer components (6ca4c74)
- components: add voice settings modal and update chat components (fdd74b8)
- components: enhance system message card with share reward integration (47bdd63)
- components: implement domain-specific tool cards for chat messages (d54e326)
- components: update wellness modal with garmin integration branding (6fcaa23)
- core: implement centralized account deletion service and notification task (dc51def)
- dashboard: enhance athlete profile with wellness metrics (ab0067a)
- dashboard: implement garmin branding and data attribution UI (c1ae622)
- db: add body measurement entries and weight s...
v0.5.21
0.5.21 (2026-02-27)
Bug Fixes
- admin: add explicit types for admin issues fetch (8f59764)
- api: move meal-linked water bonus into totals recalculation utility (a62fb3d)
- api: resolve report engine regex bug and add temporal context (6eedbe8)
- cli: process literal newline escape sequences in support ticket comments (7008568)
- components: correct weight display conversion in nutrition settings (09e9c7d)
- core: standardise timezone handling in ai prompts and summaries (a1b38e6)
- frontend: correct weight display logic in profile and fitness dashboard (08cb934)
- garmin: enforce 24-hour range limit for Garmin Pull API (69a5a11)
- garmin: improve error reporting and resilience in ingestion task (6e4ab0f)
- integrations: robustify Garmin backfill and handle rate limits (768cf4f)
- issues: add scrollable container and improve description field height (2a9559d)
- migration: correct formatting of migration SQL comments (b9b4e27)
- nutrition: improve hydration tracking logic and simulation accuracy (4c36cb1)
- pages: remove invalid ui property from pagination component (a353511)
- pages: resolve type errors in issues pagination and filtering (5a9cd55)
- pages: restore pagination functionality in admin issues list (f7459a9)
- pages: update all admin pagination bindings to match nuxt ui v4 (ad7438a)
- polar: improve sleep ingestion robustness and url validation (1146b1f)
- profile: update state after settings change and use dynamic weight units (9d9225c)
- repositories: sanitize wellness input data to prevent source field conflicts (484f018)
- server: correct l/r balance dominance logic and update tests (5482bdf)
- tasks: enforce user tagging across background task triggers (db04d5a)
- training-metrics: prefer wellness metrics when on same day (ceb0fa7)
- trigger: correctly handle future workout dates (3a88f10)
- trigger: handle null checks for lrBalance (4eb2554)
- trigger: harden background tasks with existence checks to prevent race conditions (fe2ec36)
- trigger: resolve type errors in workout task logging (5b0419d)
- ws: prevent cross-user data leakage by cleaning up reused peer state (f577c75)
Features
- a11y: Systematic refactor of modal descriptions across the application (cad262c)
- admin: add dynamic issue status summary cards to issues list (2ff0ec3)
- admin: add oauth application detail page with authorized users list (a646a85)
- admin: add oauth apps list and daily authorizations chart to developer stats (d09255c)
- admin: add table/card views and grouping to issues list (0fa1071)
- admin: enhance issues list with search, summary stats, and increased limit (d14e300)
- admin: implement email and ticket statistics pages (9afb6d3)
- ai: expand support tools with ticket management and approval logic (6e3f465)
- ai: integrate conversational engagement setting into coach logic (dfe2991)
- analytics: add centralized analytics composable and client-side plugin (871cd14)
- analytics: add client-side plugin to track user_id in google analytics (95263f7)
- analytics: apply standardized utm tracking to all email templates (96687ee)
- analytics: implement centralized utm tracking for outbound emails (84b5ab1)
- analytics: track ai recommendations, feedback, and daily engagement (99514c1)
- analytics: track integrations connectivity, manual sync, and chat interactions (397406c)
- analytics: track promotion views and checkout starts in upgrade modal (1c2f52f)
- analytics: track sign-up and login initiation (f5eaa16)
- analytics: track subscription_tier in google analytics (8baf290)
- analytics: track workout detail views for completed and planned sessions (ff1b1e4)
- api: add acknowledge and reaction endpoints for comments (368110f)
- api: add aiConversationalEngagement support to settings endpoints (ea16609)
- api: add all-time period support to performance and trend endpoints (7a09a63)
- api: add email and ticket statistics endpoints (94f9b28)
- api: add email delivery service for centralized dispatch logic (31d9aa3)
- api: add endpoint to list public oauth applications (826a1c8)
- api: add internal notification bridge and expand issue management endpoints (de73dfe)
- api: add metric history endpoint and chat response fallback (08dadfa)
- api: expose and handle manual non-exercise baseline settings (0f1e8c0)
- api: expose sleep stages and additional wellness metrics in dashboard (c698cb1)
- api: expose targetPower and leftRightBalance streams (15d8331)
- api: implement garmin workout publishing and refactor intervals sync (db74675)
- api: improve quota error handling for ai generation endpoints ([6c23444](6c23444...
v0.5.20
0.5.20 (2026-02-21)
Bug Fixes
- api: address null safety and type casting in nutrition and stripe endpoints (942e13a)
- api: fix profile logging and restore fit file upload logic (e4d5e6b)
- api: remove invalid stripe parameter and streamline checkout flow (2c56550)
- api: resolve type errors and enhance email admin endpoints (f0286e3)
- components: allow attribute inheritance for nutrition window block (58dac58)
- components: escape double braces in chat messages for mdc (1bc0f90)
- components: prevent infinite scaling in chart components (f0d0c43)
- components: resolve type issues and update modal configurations (479545c)
- components: resolve type issues in fitness charts and quota display (2e23b99)
- intervals: handle non-numeric event ids when publishing planned workouts (cd1ed5c)
- intervals: improve event handling and priority defaults (355d98a)
- nutrition: clarify synthetic meal labels in horizon (ae21151)
- pages: ensure defensive checks in fitness and workout trend calculations (d5eee9a)
- pages: resolve javascript syntax error in multi-line event handler (06a1e52)
- quotas: resolve type errors in quota engine and component (0926b3a)
- services: refine carbohydrate allocation for stationary windows (a9d78f1)
- trigger: normalize running cadence in workout analysis (edb367f)
- trigger: resolve duplicate timezone declarations in analysis tasks (78d9801)
- types: resolve typecheck regressions in subscription and ai quota systems (c9b8d71)
- ui: update upgrade modal and settings links to billing page (aff08d1)
- utils: improve heart rate zone annotation in workout converter (0451210)
- workout-converter: correct distance unit abbreviation (36a206f)
- workout: align distance units and improve nutrition timeline workout lookup (4760825)
- workout: restore mtrs as meter unit for intervals icu compatibility (f4fcd37)
Features
- activities: add reverse week order setting and highlight current week (f788003)
- admin/issues: add 'Last Reply' column to issues table (21eaedd)
- admin: add row-level manual email sending and improve state handling (a928178)
- admin: enhance issue management with detailed user info and metadata editing (1ef72cc)
- admin: enhance subscription management with start dates and user impersonation (ac64b88)
- admin: implement internal notes and selective notifications for bug reports (2663e1a)
- admin: implement registration age filtering for system messages (719d12e)
- admin: support multiselect status filter and exclude RESOLVED/CLOSED by default (8953c34)
- ai-tools: add gender alias support to profile update tool with tests (0dcd242)
- ai: add specific logic for social rides and cyclotours in trigger tasks (d41bbe1)
- api: add endpoint for patching chat messages and regenerating responses (67f6028)
- api: add forecast_training_load tool to analysis tools (291fac2)
- api: add functionality to publish workout summary to intervals.icu (bd14a1b)
- api: add internal email rendering and resend webhook endpoints (978b798)
- api: add nutrition and wellness endpoints with oauth scope support (86b3a3c)
- api: add reschedule_planned_workout tool and enhance update logic (610a937)
- api: add welcome and subscription email triggers to auth and stripe hooks (f65982c)
- api: add workout update endpoint for manual editing (eecb21e)
- api: enable strict quota enforcement and add wellness operation (624ef5e)
- api: enhance workout upload and ingestion with source tracking and metadata (fd71037)
- api: implement admin email management endpoints (4d47775)
- api: implement core email services and template registry (682f772)
- api: implement email preference and unsubscription endpoints (95bd039)
- api: implement ftp and power curve freshness calculation (a64d226)
- api: implement intervals.icu sync for planned workouts (47dced3)
- api: implement usage quota checks across all ai generation endpoints (2418a68)
- api: integrate intervals.icu synchronization for racing events (ffdec72)
- api: provide sport-specific settings in planned workout endpoint (e0de0bb)
- api: re-enable internal api token verification for email rendering (79afd9e)
- api: set trial period on signup and expose in quotas endpoint (1bd7190)
- api: update ai settings endpoints and refactor workout summary publishing (0ee71a5)
- api: update calendar, scores, and nutrition endpoints to respect feature toggle (dd0daea)
- chat: add focus method to ChatInput component (7faaad3)
- chat: add tool approval response handling (775a145)
- chat: expose trigger run ids in planning tool responses (579ece6)
- chat: implement inline message editing and mobile newline behavior ([ed8a7c2](https://github.com/hdkiller/coach...
v0.5.19
0.5.19 (2026-02-15)
Bug Fixes
- api: improve error handling and item movement logic in nutrition patch endpoint (83f42cf)
- api: resolve typescript errors in nutrition feed api and tests (3261ee8)
- components: improve date validation in nutrition components (d73f563)
- components: improve metabolic wave path generation and point normalization (6b51dfc)
- components: provide default weight in NutritionFuelingCard to resolve type error (15eddba)
- dailywellness: render AI section content (bfb3ae9)
- frontend: resolve typescript errors in dashboard and nutrition components (acb1dc8)
- intervals: fix double-division parsing bug for power/HR ratios (dba34ab)
- nutrition: handle errors in API responses (163d723)
- prisma: pin gemini flash model to specific version (9fd3486)
- services: resolve typescript errors in intervals and metabolic services (d34a22a)
- trigger: update chat summarization task with corrected token mapping and safety checks (a686516)
- trigger: update planned workout sync status after background intervals sync (f7f573f)
- utils: add non-null assertion to sweat rate lookup fallback (cd94e79)
- utils: improve time format in workout names (6ecfbc6)
Features
- admin: implement bug report tracking for developers (5574ac5)
- ai: add hydration logging and intra-workout tracking to nutrition tools (ef98f7e)
- api: add active fueling feed endpoint (31792c3)
- api: add fueling status tool and enhance time tools with active session detection (2be549f)
- api: add hydration reset endpoint and enhance nutrition logging with AI hydration detection (5002bea)
- api: add upcoming fueling plan and update strategy endpoints (aef0ce1)
- api: add webhook secret support to oauth app and repository (964bca8)
- api: align nutrition logging with meal schedules (e11ca44)
- api: enable reactive metabolic plan regeneration across all data ingestion points (44bcde9)
- api: expand chart visualization capabilities and updated ai context (ab93d38)
- api: implement generic oauth webhook and developer management endpoints (c243cf5)
- api: implement hrv4training normalization with historical baseline and chat context (5c907fe)
- api: implement proactive chat summarization and background condensation (652dc58)
- api: improve nutrition details endpoint and fueling plan generation task (feeb97e)
- api: normalize tool approval responses for ai sdk (9955796)
- api: nutrition planning and bug report endpoints (40763dc)
- api: update ai settings endpoints for tool approval (1157f8c)
- chatroom: add metadata field to ChatRoom model (dac3f44)
- cli/trigger: nutrition debug tools and background tasks (35a5a33)
- cli: add chat-rooms backfill command for activity timestamps (4a9d33a)
- cli: add intervals-workout debug tool and improve compare-intervals with prod support (cd4e387)
- cli: add LLM cost management commands (e6a0166)
- cli: add metabolic debugging and nutrition chain management tools (e9a451c)
- cli: add nutrition fueling and comparison commands (870f9a6)
- components: add carbohydrate balance view and absorption type selection to nutrition UI (f876598)
- components: add hrv4training option to intervals readiness scale settings (d773527)
- components: add hydration explanation modal to nutrition card (9dce8cb)
- components: add mobile drag and drop support to plan dashboard (8c9ad0a)
- components: add pace zone support and improve workout metric preferences (f181c9b)
- components: add planned workout card to chat with structure detection (dd66f10)
- components: enhance nutrition components with interactive highlighting and ai context (2a5d256)
- components: implement advanced chart types and flexible dataset rendering (3a6d5e9)
- components: implement cadence visualization and inference in workout charts (da0b2ba)
- components: refine nutrition visualizations and add upcoming fueling feed (ccc31fb)
- components: server-centric nutrition UI and monitoring (757bd91)
- dashboard: enhance performance scores display and functionality (0de46ad)
- db: add ai tool approval setting to user model (8a70613)
- db: add athletejourneyevent model and related types for symptom tracking (46ae1fe)
- db: add lastMessageAt field and index to ChatRoom model (952f172)
- db: add nutrition recommendation and planning models (77acb97)
- db: bug report comments and schema updates (45264bc)
- exporter: optimize Intervals.icu export with smart headers and cleaner syntax (49f9841)
- frontend: add tool approval toggle and handle responses in chat (7ca4574)
- frontend: visualize athlete symptoms and journey events on energy charts (651ff56)
- landing: implement high-polish UI refresh with animations and interactive demos ([503...
v0.5.18
0.5.18 (2026-02-10)
Bug Fixes
- activities: initialize missing userStore for metric helpers (4ee73d8)
- AiQuickCapture: extend hover timeout duration (47c5ec3)
- api: mark passed rest days as completed in calendar logic (0034e63)
- api: use timezone-aware conversion for fueling plan estimates (88b34ac)
- app: refine nutrition timeline timezone handling and add tests (539813a)
- cli: update llm cost calculation import (3c0a7af)
- improve birthdate input usability using UInputDate (bd7ebce)
- llm: correct input schema for time tool (bba665d)
- oura: correct recovery score calculation (8de5aff)
- plan: ensure active plan is abandoned and workouts removed when creating new plan (23d0544)
- scripts: ensure workout troubleshoot command works correctly in production (50c0166)
- server: improve maxWatts normalization for intervals.icu (7386eea)
- server: improve timezone-aware date construction and add unit tests (d0cc7a0)
- services: handle repository upsert return type in oura service (5fde97c)
- telegram: resolve type errors in session-based room logic (594f413)
- trigger: resolve timezone utility import errors in background tasks (e1fcc33)
- trigger: resolve type errors in ingestion tasks and handle upsert returns (0fce64b)
- ui: update activities and calendar cell styling for completed plans (7c4549b)
Features
- Add comprehensive unit tests for core server utils (788e213)
- admin: add 48-hour hourly breakdown charts for cost and efficiency (d6756c1)
- admin: add ai failed requests page and failure trend chart (eb8618e)
- admin: add bug reports management page and navigation (d47812c)
- admin: add bug reports system with api and cli tools (b22964f)
- admin: add cached token charts and stats to llm dashboard (64b8a61)
- admin: add daily llm usage charts for tokens, operations, and requests (6cc4c4a)
- admin: add daily token breakdown chart and optimize llm stats layout (52e6f5a)
- admin: add detailed ai cost cards and subscription overview to dashboard (a76b62e)
- admin: add status links for database and trigger to dashboard (5c853fb)
- admin: add total unique users per day chart to llm stats (578d581)
- admin: display dynamic system status and link to queues on dashboard (8965857)
- admin: display user registration country in management views (fa8930f)
- admin: enhance user stats visualization and llm spending visibility (aac7288)
- admin: implement llm operations dashboard and settings ui (6815685)
- admin: implement llm quota monitoring dashboard and sidebar integration (c6edafc)
- ai-config: update model names and pricing tiers (096ce2c)
- ai-tools: add planned workout details and fallback analysis (108f6b1)
- ai-tools: add user profile and sport settings tools (ed1ccaf)
- ai: add report_bug tool with db storage and context awareness (83674dc)
- api: add admin endpoints for llm operations and statistics (e8fe7dc)
- api: add admin quota monitoring endpoints and system status integration (fecc601)
- api: add daily check-ins and recurring user metrics to admin stats (e57df0c)
- api: add daily failures by operation to llm stats (70643cf)
- api: add detailed ai costs, subscription stats and fix messaging volume (ee9bd05)
- api: add dynamic system status checks for database, trigger, and queues (a2796e4)
- api: add endpoints and store logic for dashboard settings (992bc25)
- api: add nutrition logging and items patch endpoints (72db74c)
- api: add nutrition plan generation and detail endpoints (c4619e2)
- api: capture user login info and log audit events on login (178c0fd)
- api: enforce subscription limits for structured workout generation (0c54511)
- api: implement availability repository and update endpoints (5b9a7f0)
- api: implement core llm quota engine and rolling window registry (f18a4f6)
- api: implement proactive nutrition estimation for calendar and detail endpoints (db7271e)
- api: implement sport profile filtering across performance endpoints (a1f15f3)
- api: improve workout tools with planned workout fallback and tests (030aefc)
- api: include historical scores in athlete profile endpoint (789a208)
- api: integrate quota checks into chat endpoints and add profile quota api (22635e2)
- api: track cached and reasoning tokens in chat endpoints (38decd6)
- auth: track user login metadata with IP and timestamp (215ea08)
- backfill: add debug logs and improve Oura handling (127037d)
- chat: add chat room renaming functionality (85276d5)
- chat: implement session timeout and welcome tips (ad62229)
- cli: add ...
v0.5.17
0.5.17 (2026-02-04)
Bug Fixes
- ai: include injury status in chat context (2c7af75)
- ai: prioritize sport-specific settings and metric preferences in athlete profile analysis (fe701a8)
- api/chat: ensure structural integrity and validate tool call args in message history (7ec8c8a)
- api: allow null for sex and name in profile update (0bcafd5)
- api: improve profile error handling and fix repository type casting (d401e7c)
- api: prevent deletion of completed planned workouts during sync reconciliation (be24732)
- api: relax nickname validation and enhance logging in profile update (3ad2347)
- ci: fix environment secret access and standardize sanitization (08333f4)
- ci: remove invalid environment from caller and use secrets: inherit (6ec657d)
- ci: set environment to preview for build-and-deploy job (fef8b45)
- components: fix running planned workout structure and zones in calendar modal (3869714)
- components: use utc date formatting in wellness modal to prevent timezone shift (9c6f1be)
- Correct env file path instructions and clarify MacOS tip (a4e8d44)
- deploy: correct indentation in reusable workflow (15f9ae0)
- deploy: create .env file for prisma config compliance (3eb6803)
- deploy: fix bash syntax error in trigger connectivity check (e781ca2)
- deploy: fix secret reference in reusable workflow (a10ac52)
- deploy: provide dummy DATABASE_URL for build and prisma generate (6ec9004)
- deploy: robust migration check in start.sh (10d6737)
- deploy: use env for secret check in if condition (fda7397)
- deploy: use env for secret check in reusable workflow (f73f741)
- deploy: use env for secret check in reusable workflow (cce8d11)
- deploy: use full path for reusable workflow (119961b)
- deploy: use pnpm action v3 and local path (171dfdc)
- deploy: use sed for sanitization to avoid GH Actions expression confusion (3619930)
- docker: copy server source and prisma config to runner stage (12cc046)
- docker: copy trigger directory to runner stage (60d3212)
- events: ensure event dates respect user timezone (72870e6)
- frontend: enforce strict utc date formatting for wellness and activities (192aa64)
- goals: automatically sync goal progress when weight or FTP changes (5b282f4)
- intervals: map 'Active Recovery' to 'Ride' during publishing (37b0875)
- pages: add null checks for hydration and injury color classes (65d5347)
- prisma: robust dummy fallback for database url (10dad91)
- prisma: update database URL handling (1d03827)
- recommendations: create new workout on accept if current is completed (ef6c58d)
- server: align nutrition and wellness dates with user timezone in chat context (5a9770f)
- server: correct wellness metric mappings and enrich ai prompts with text labels (9f5b1da)
- services: update chat context to use utc date formatting (a3c9176)
- test: update mocks for chat context service to include findFirst (22b981d)
- trigger: add missing imports for withings ingestion (2f00ee6)
- trigger: enforce utc formatting for nutrition analysis dates (b6fb5a0)
- trigger: handle missing workout in structured generation as warning (c8cc75b)
- triggers: update ai context with wellness labels and fix date utils imports (18c02bc)
- types: resolve typescript errors in planning tools and chat room list (c57b095)
- utils: handle null values in wellness label functions (ffe4654)
Features
- admin: update users list with search and pagination and add subscriptions page (6de1d9f)
- ai: add planned workout tools and expand chat context (0816461)
- api: add target url and advert type to system messages (f625b51)
- api: implement integration settings persistence and retrieval (9093925)
- api: refactor chat message turns for ai sdk v5 and add chat sharing support (3182e01)
- api: update feedback endpoints to support room reporting (f121258)
- chat: enhance room list with sharing and improve sidebar responsiveness (a9ca591)
- cli: add optimized backfill and debug tools for wellness metrics (ec7e881)
- cli: add sport settings check command (4a1e5bd)
- cli: add user analysis command and improved search (947711f)
- cli: add user growth command and update gemini metrics (1b6add7)
- components: add mobile-optimized activity dashboard components (b3255b0)
- components: enhance system message card with responsive layout and cta placement (591370f)
- components: implement ai feedback form and report issue modal (ecb55d3)
- components: update system message card with advert styles and admin controls (c3d2736)
- core: add readiness analysis setting and contributor status ([c99f4da](https://github.com/hdkiller/coach/commi...
v0.5.16
0.5.16 (2026-01-28)
Bug Fixes
- api: correct stripe types and entitlement return signatures (e467c0b)
- api: improve training plan cleanup and abandonment logic (85c90d3)
- chat: align message roles with google genai schema (6da9248)
- chat: resolve ai sdk type errors and role mapping issues (cadac82)
- chat: resolve model schema mismatch and enhance error logging (a13647d)
- chat: robust tool call pairing and detailed history debug logging (8c0ade1)
- checkin: improve daily check-in reliability and add debug tool (e536764)
- cli: add planned steps debug command and fix workout deletion logic (619549e)
- core: remove unused ts-expect-error in ping endpoint (28666e0)
- core: suppress complex type instantiation errors in fetch calls (8a46c70)
- intervals: fix nested step parsing and cadence objects in planned workouts (7746ddc)
- middleware: allow bypassing onboarding redirect in testing mode (0196528)
- pages: ensure subscription status is refreshed on billing page mount (eec4100)
- pages: resolve onboarding checkbox interaction issue (aefe794)
- performance: align summary CTL with PMC chart by prioritizing wellness for same day (94ee1a5)
- plans: correct typo daysToPlann to daysToPlan (03ce294)
- plans: ensure Plan with AI removes existing workouts by targeting trainingWeekId (5d1c45f)
- resolve workout acceptance failure and standardize rest day handling (0657ae7), closes #89 #74
- server: resolve type errors in utility functions and debug endpoints (e9cec93)
- stripe: improve subscription sync with safety checks and visibility (35c048c)
- training-plan: correct variable name typos in weekly plan generation (f9abd34)
- trigger: Enhance plan adherence analysis with formatted structured steps and actual interval cadence (88d3ee1)
- trigger: Ensure AI analysis prompt includes Power/Cadence sections for cardio workouts even if global data is missing (6824177)
- trigger: ensure cadence targets are set for cycling workouts (62e4fe3)
- types: resolve nuxt ui v4 and stripe type errors (16503f1)
- ui: add iOS home screen icon and PWA manifest (e53b5c4)
- ui: resolve layout and component type issues in pricing and billing (4e8fddd)
- ui: resolve server error and standardize chart tooltips (9bf8cde)
- utils: normalize intervals hrLoad data field (01f38a2)
Features
- ai: add ai history utilities and cli debug tool (e7f3718)
- api: add oura oauth, webhook, and sync endpoints (3d7424f)
- api: enrich athlete data with adherence stats and wellness history (7266344)
- api: implement ai-driven training plan structure generation (a6f7960)
- api: implement stripe integration and user entitlements (b44bd3b)
- auth: centralize coaching and impersonation logic in session handling (9afe8f3)
- cli: add debug pmc tool with sampling capability (66d023b)
- cli: add subscription debug commands (a140da0)
- cli: add subscriptions command to users group (887acba)
- cli: register chat history debug command (939be69)
- coaching: enhance coaching dashboard with athlete management and invites (409f475)
- components: update plan wizard with ai rationale and starting readiness (4c214ba)
- core: enable full pro features and conditional stripe init for self-hosted instances (ec55984)
- fitbit: handle rate limiting in Fitbit integration and update error messaging (#108) (90eca41)
- integrations: add fitbit webhook route and logging (9c0a04c)
- integrations: add oura core utilities and cli command (ed5e9d7)
- intervals: implement dual-recording of training load and enhance AI context (f7f5035), closes #110 #107
- pacing: add optimal cadence calculation logic with anthropometric adjustments (4baafca)
- plans: track when a plan has been saved as template and update ui (4a05141)
- pricing: add access to pro models to pro plan features (663f60a)
- pricing: remove basic training metrics from free plan features (203a04e)
- pricing: simplify free plan feature description (112d3c1)
- pricing: simplify supporter plan feature description (0d2da06)
- pricing: use environment variables for stripe price ids (71c6f78)
- prisma: add CONTRIBUTOR value to SubscriptionStatus enum (90c3cda)
- scripts: add debug-prod-update script for troubleshooting production database updates (1c98083)
- settings: add billing to navigation and improve mobile toolbar (1ce312a)
- settings: update ai settings with automation options and usage charts (43e6cdd)
- standardize chart tooltips for immediate feedback (f0e5596)
- store: add subscription state and stripe composables (3f70ab5)
- **stripe:...