Skip to content

v0.5.21

Choose a tag to compare

@hdkiller hdkiller released this 27 Feb 21:18
· 1628 commits to master since this release

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)
  • api: include height and unit settings in dashboard profile data (9a8ed0f)
  • api: support sleep awake duration and optional nutrition item names (d1d3f0a)
  • api: trigger fueling plan regeneration on workout completion or creation (97a5e52)
  • api: trigger garmin de-registration on integration disconnect (a2a24a7)
  • api: update calendar endpoints to support ranged notes and display end dates (3aeacda)
  • app: improve intervals sync options and chat room deep-linking (2c9953a)
  • app: update calendar note display and workout email templates with stream insights (da5f50f)
  • cadence: add cadence resolution and enforcement features (fd850ab)
  • chat: add update_workout tool and enhance workout notes management (46bb9d1)
  • chat: enhance touch device interactions in message list (ab398c0)
  • cli: add command to backfill power summary from streams (2ecd130)
  • cli: add command to trigger daily check-in task (8dee378)
  • cli: add commands for FIT extrasMeta backfill and inspection (9784d89)
  • cli: add elevation gain backfill and anomaly detection commands (d1f7398)
  • cli: add garmin-ingest debug tool (bdc983d)
  • cli: add manual pull token support to garmin debug tool (13f553d)
  • cli: add reset-quota command to user management cli (9414acb)
  • cli: add user notifications for support ticket updates and comments (a459ca8)
  • cli: add webhook garmin debug tool (b427054)
  • cli: update quota commands to support soft resets and counting status (4d43a29)
  • comments: add acknowledge and reaction functionality (286ee65)
  • components: add bar chart support and improve datetime formatting in nutrition views (19cab16)
  • components: add conversational engagement toggle to settings (9e82c6d)
  • components: add heightClass prop to BaseStreamChart (bd79f77)
  • components: add quota handling and upgrade prompt to daily check-in (aadcad5)
  • components: add sleep stage visualization and authorized apps status (d736cba)
  • components: add ui for manual non-exercise calorie baseline (406fb80)
  • components: add xAxisLabel and xAxisType props to BaseStreamChart (82c53c3)
  • components: allow configurable precision for workout metric sparklines (8c1ea00)
  • components: show actual vs estimated energy badges in macro modal (1ceed81)
  • config: update external dependencies for production (95cf575)
  • dashboard: add body fat metric to athlete profile (990e847)
  • dashboard: ensure all dashboard sections are visible for onboarded users (739e897)
  • dashboard: make body fat visible in profiles (1e3c8d1)
  • dashboard: refactor onboarding logic to support third-party application access (c12d6de)
  • db: add aiConversationalEngagement field and migration (8b3d441)
  • db: add counted field to llmusage for soft quota resets (bb90c91)
  • db: add sleep awake stage to daily metrics and wellness models (f0496ab)
  • db: add targetPower and extrasMeta to WorkoutStream (c322ad8)
  • db: integrate PostgreSQL adapter with PrismaClient (e4887e8)
  • docker: add email templates to Docker image (0af6128)
  • docker: add health check to Dockerfile (53dd76a)
  • docs: implement public documentation pages and help center integration (65dc81f)
  • email: refactor email templates and enhance workout insight generation (3e75e1f)
  • emails: add cadence unit support to workout received template (65740bd)
  • emails: add chat with coach button to workout notification emails (925ec66)
  • emails: enhance workout received template and update tests (21c27d1)
  • emails: enhance WorkoutReceived email layout (8f980db)
  • fitbit: enhance nutrition ingestion with meal scheduling and merging logic (e66f293)
  • fitness: add wellness edit modal and API integration (b43b854)
  • fitness: implement readiness estimate chart and settings (0b4310c)
  • frontend: implement quota exhaustion UI and upgrade prompts (c757bfe)
  • frontend: visualize targetPower and display FIT extrasMeta in workout view (a038d24)
  • garmin: add user de-registration and permission change handling to webhook (ac46110)
  • garmin: implement high-performance push architecture for webhooks (f60f177), closes hi#performance
  • gemini: add disableThinking option for analysis functions (a381394)
  • ingestion: persist raw FIT data and extrasMeta in Garmin and task workers (d461f76)
  • integrations: implement garmin connect with oauth2 pkce and async push api (6df31e5), closes hi#trust
  • integrations: implement real-time strava webhooks via worker queue (8acf05a)
  • integrations: restrict garmin visibility to admins and improve backfill resilience (642951e)
  • intervals: add handling for new activity types and app scope changes (932395c)
  • intervals: implement chunked syncing and range-based wellness fetching (6062621)
  • intervals: implement elevation gain calculation from altitude streams and metadata validation (4d33e79)
  • intervals: optimize ACTIVITY_UPDATED webhook processing (b71a5c6)
  • issue: add copy functionality for issue details (6387db8)
  • issue: add functionality to copy issue ID (7bf2110)
  • issues: add subscription tier and status badges (e67dbfa)
  • issues: implement server-side pagination, search, and filtering (228ff27)
  • metrics: add polarization index and enhanced power/hr ratio detail view (61b8e96)
  • nutrition: add chat integration for nutrition analysis (49b85ee)
  • nutrition: add date filtering to nutrition list and fix history view (8d6c3d0)
  • nutrition: add user language preference for analysis (f8206b4)
  • nuxt.config: add deterministic build codename generation (cb703ba)
  • pages: add all-time period selection and improved filters across dashboard (19fccbc)
  • pages: add garmin publishing support to planned workout details (0622ef0)
  • pages: add issue deletion, comment editing, and account diagnostics (f02825d)
  • pages: add share button and deep-linking to workout detail page (f372d94)
  • pages: improve reaction UI with popover control and server refreshing (06fac92)
  • pages: update apps settings to display public applications and connection status (815a718)
  • performance: add section visibility customization and settings modal (80c99d1)
  • planning: skip structure generation for simple events and increase pro quota (e6eee40)
  • plans: add quota error handling for upgrade prompts (6b48eeb)
  • prisma: add columns for comment acknowledgment and reactions (e96e719)
  • prisma: add sleep stage fields to wellness and dailyMetric models (39b5b80)
  • quotas: update engine to respect counted flag in usage tracking (5c8c1ad)
  • repo: auto-acknowledge ticket comments on reaction (9998247)
  • report-templates: add preferred language to user profile (cbd2af5)
  • report: add language preference to report context (2bc5816)
  • repositories: add planned workout publish repository (5566f7b)
  • scripts: add adherence check script (26355c1)
  • server: add utilities and repository logic for ranged calendar notes and stream insights (8496f27)
  • server: implement copy variant rotation and stream insights for workout emails (c480bc2)
  • server: implement FIT extrasMeta extraction and intervals device normalization (0e8bced)
  • standardization: standardize weight unit to kilograms across system (2344160)
  • stores: track data sync status and oauth application count (065c3c6)
  • support: add raw sql command to db cli and update agent instructions (9a31bba)
  • trigger: add user notification upon workout analysis completion (ac4221d)
  • trigger: implement automated email dispatch in send-email task (e3795f3)
  • trigger: respect user cadence preferences in structured workouts (e9d040d)
  • ui: implement cancelled state for tool calls and visualize awake sleep stage (da1363f)
  • utils: add power metrics utility and backfill logic in intervals service (541ca85)
  • utils: enhance garmin utilities with training and courses support (c84283c)
  • wellness: add calorie tracking fields to schema and api (f3adc44)
  • workout: add eligibility checks for workout insights (0cc5a10)
  • workout: add normalization fallback for TSS calculation (62df4d5)
  • workouts: add historical comparison to metric detail and fix type selection in edit modal (0724803)
  • workouts: add idempotency key to deduplication tasks (59e8c49)
  • workouts: implement customizable section visibility and ordering (a9a046e)

Performance Improvements

  • trigger: optimize structured workout generation with concise prompts and repeat blocks (0a8806c)