Skip to content

v0.5.23

Choose a tag to compare

@hdkiller hdkiller released this 16 Mar 21:18
· 1021 commits to master since this release

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: support Yazio recipe portions and improve nutrient extraction robustness (0450b32)
  • api: update authentication and profile endpoints with uiLanguage support (342b52c)
  • api: update ultrahuman integration to use partner api endpoints and scopes (14656c1)
  • api: update workout share image endpoint with variant and style support (8cce4e0)
  • auth: add strava oauth and improve account linking logic (24d1d73)
  • charts: implement wellness event overlays and visibility settings (7b41861)
  • chat: add chat turn constants and message state utilities (527db6f)
  • chat: add heartbeat and timeout for chat turns (1fccd46)
  • chat: add multiple skill indicators and improve websocket handling (a77498b)
  • chat: add retry continuation and refine skill instructions (dd4f992)
  • chat: add room state sync endpoint and message security validation (8b830aa)
  • chat: enhance skill routing with pending approval context and execution integrity rules (7151447)
  • chat: enhance turn execution with tool repair and stable message rebuilding (0baf13a)
  • chat: implement client-side message queueing and turn reconciliation (6c46d11)
  • chat: implement core message normalizer for gemini sequence stability (9903965)
  • chat: implement execution timeouts and slow-response notifications (28a2a9d)
  • chat: implement local confirmation for approved mutations to bypass llm calls (302e999)
  • chat: implement room state signature polling and UI status visibility (a0ccf85)
  • chat: implement tool name repair utility with fuzzy matching (80d594b)
  • chat: make turn execution durable and realtime (831c49c)
  • chat: update turn service with heartbeat timeout and runner controls (0af630b)
  • cli: add chat empty-failure backfill and debug log enhancements (614f4a5)
  • cli: add chatroom debugging tool and documentation (31a3f35)
  • cli: add debug form command for troubleshooting user registration issues (a456a1a)
  • cli: add gemini chat history debug command (bf6aff5)
  • cli: add ultrahuman-ingest debug command and improve database switching (1de0a22)
  • cli: add user data management and export commands (cde4d0d)
  • cli: add wellness spO2 backfill command and utility (7f60770)
  • cli: add workout intervals debug command (6efecd8)
  • cli: add workout tags backfill utility and cli command (ea92ec0)
  • components: add interval table and enhance stream chart axes (6ed77aa)
  • components: add login methods management and strava settings (7d37b22)
  • components: add multi-metric support and improve UI in workout steps editor (bbe70ce)
  • components: add patch_nutrition_items support to chat domain tool card (ca7946e)
  • components: add sync logic for load preference and primary metric in sport settings (fc6b43a)
  • components: add targeting policy and pace zones configuration to sport settings (a31d0fb)
  • components: add workout steps editor and improve route preview (78037c1)
  • components: display sport profile in milestones and refactor workout modal (0d4bfbe)
  • components: enhance pace zone visualization and labeling in workout views (f33c736)
  • components: enhance sync status labels for structure generation (111fb6c)
  • components: implement robust workout intensity normalization and metric preference detection (616e62e)
  • components: integrate enhanced workout charts into calendar and planned views (8bbdcdc)
  • components: redesign workout analysis components with high-impact hud aesthetic (4d13a73), closes hi#impact
  • components: support tag filtering in performance charts and cards (828f038)
  • components: unify workout chart normalization and preference logic across the application (c2f7230)
  • composables: add recovery context manager and components (c2518ab)
  • core: implement workout target and format policy infrastructure (60ce336)
  • dashboard: add support for displaying and configuring sport-specific FTP metrics (a7a2bf9)
  • dashboard: enhance workout chart with sport settings (2ad976e)
  • db: add cadenceScore to PlanAdherence (99c8118)
  • db: add oauth app attribution to workout model (60eb3ac)
  • db: add sourceName field to OAuthApp model (0c04822)
  • db: add sportProfileName to metric history and calendar types (4deb7be)
  • db: add summaryPolyline to workout model and backfill script (f63043d)
  • db: add workout targeting policies and generation snapshots to schema (0e02630)
  • debug: add functionality to get latest source before a day (57d737d)
  • efficiency: improve efficiency trend chart and api with accurate time tracking (18ecb93)
  • email: add sport profile name to threshold update notifications (65b21eb)
  • feed: add real-time activity updates (159dae2)
  • feed: redesign activity card with route preview and high-impact layout (618bbb5), closes hi#impact
  • fitbit: enhance wellness data integration with additional metrics and validations (0d59d24)
  • garmin: add user profile validation and error handling (8399df7)
  • garminService: add resolveWellnessDate method (f74cfd6)
  • i18n: add and reorganize translation keys for profile, settings, and dashboard (bab8a62)
  • i18n: add comprehensive localization for new features (255abc5)
  • i18n: add comprehensive translations for multiple languages (0f5dd39)
  • i18n: add integrations namespace to tolgee plugin across all languages (c0aa636)
  • i18n: add new localization strings for profile and settings (40d4457)
  • i18n: add spanish translations and implement alphabetical language sorting (e340212)
  • i18n: add support for ru, ja, and zh languages with settings updates (41063a1)
  • i18n: add translations for new features and settings (c3e635e)
  • i18n: add untranslated command and fix plugin mappings (efc315b)
  • i18n: complete localization for profile and settings components (5a2e388)
  • i18n: update translations for chat, dashboard, and settings (26b98df)
  • image-generator: add custom font support for SVGs (36b788d)
  • infra: add strava ingestion settings and stream utilities (ee6bc65)
  • integrations: add ultrahuman advanced sync and scheduled background polling (ed8505a)
  • integrations: update ultrahuman oauth endpoints and logo (9560c6f)
  • intervals: enhance interval detection with planned structure and cadence support (657c6df)
  • intervals: improve swim workout parsing and distance normalization (4bc7ffb)
  • metrics: add cycling speed conversion and workout type detection (80eb61a)
  • metrics: add reverseEWMA function for calculations (2664af7)
  • metrics: expand threshold recommendation logic to support maxHr and thresholdPace (32d57e5)
  • nutrition: add support for sorting fueling timeline windows newest first (bd8a604)
  • nutrition: enhance patch_nutrition_items tool and improve date parsing (a23cc37)
  • oauth: implement form submission for authorization (036b52f)
  • oauth: update repository and cli to support source attribution name (ff7feb7)
  • pages: add mobile hud layout to workout detail page (8ab11f5)
  • pages: add neighbor navigation and inspection tools to planned workout views (88a7d79)
  • pages: add new activity feed feature (04fb2e7)
  • pages: add source attribution name and visibility settings to developer and admin ui (f415c01)
  • pages: display oauth app attribution on workout detail page (3659147)
  • pages: display v2 analysis facts and device metadata in workout detail page (39c431b)
  • pages: enhance workout detail layout and responsive navigation (44ceaeb)
  • pages: implement desktop command center hud and refine workout detail layout (88ba2a3)
  • pages: implement scoped workout filtering on performance page (c9f6837)
  • pages: implement workout interval audit view (8b8baa8)
  • pages: implement workout preview and raw data inspection (ed2cbe1)
  • pages: integrate recovery context into dashboards and add history page (fdda508)
  • pages: refine layouts and implement high-impact fueling hud (33a6d01), closes hi#impact
  • pages: update join/login flows and refactor works-with ecosystem page (c6d9305)
  • pages: update workout sharing interface with image variant previews (63e27a5)
  • planning: add targeting override schema for workouts (7212595)
  • prisma: add uiLanguage column to User model (dbc4322)
  • profile: add threshold detection UI and improved pace/zone configuration (a572496)
  • profile: add UI for Interface Language and update labels in settings (3246d5f)
  • services: enhance threshold detection with sport profile support (10d3e42)
  • settings: add data export button to danger zone (374f457)
  • settings: add data wiping tools and granular ingestion controls (9fc16d1)
  • settings: add orphaned workout cleanup UI and chat turn logic tests (cbd2304)
  • settings: add ultrahuman connection ui and integration settings (59b7ed9)
  • share: add visual share download and meta tags (53614f5)
  • share: enhance share access panel and add qr code to share modal (a119d2b)
  • share: enhance sharing options and visuals (eafd509)
  • sharing: add workout image caching and local font support (29f6602)
  • sharing: implement multi-style workout image generation system (b223603)
  • trigger: add structure coverage validation and ai retry logic to workout tasks (33eadf2)
  • trigger: add swim structure normalization to workout generation tasks (f82bad6)
  • trigger: add ultrahuman ingestion and chat turn management tasks (161d232)
  • trigger: add user timezone retrieval in daily checkin (216c450)
  • trigger: enhance daily check-in prompt with athlete journey, calendar notes, and user context (e28836e)
  • trigger: handle oauth attribution in fit ingestion and improve wellness prompts (f6cfcaa)
  • trigger: implement policy-driven workout generation and adjustment (3ee039c)
  • trigger: update workout analysis task to utilize v2 facts in ai prompt (cf9455a)
  • trigger: update workout generation and analysis with cadence and target style rules (e1bf8f9)
  • trigger: use stream-derived power for workout analysis and metric priority (6af2188)
  • types: add uiLanguage to session, profile schema, and user store (a75f03f)
  • ui: add version display to layouts and dashboard footer (c98d82c)
  • ui: add workout title to page head and update intervals debug CLI (6bd1621)
  • ui: apply stress normalization to wellness components and fix mini chart ramp logic (28f4690)
  • utils: add relative date resolution for bare weekday references (e03b629)
  • utils: add structured workout persistence and metric calculation logic (0ad2b39)
  • utils: add support for clearing fields in wellness repository upsert (0131d17)
  • utils: add task-run and activity realtime event publishers (a392d18)
  • utils: add wellness normalization for spO2 and field aliases (f04dbaa)
  • utils: add workout chart context and preference resolution helpers (ea9b6b9)
  • utils: add workout source labeling utility (81e7592)
  • utils: apply performance guardrails to workout summaries in gemini prompts (e66daf3)
  • utils: implement stress normalization and add ultrahuman integration setup (8adfe7c)
  • utils: implement workout analysis facts v2 with enhanced guardrails and signals (66f3e66)
  • utils: improve power detection by treating power zone streams as valid evidence (abeccd7)
  • websocket: enhance chat message handling with summaries (1a37299)
  • wellness: add sleep hours conversion and tests (5b1ba32)
  • wellness: implement stress score normalization across api and ui (74fcb94)
  • wellness: implement wellness event service and api endpoint (6dbbb35)
  • wellness: integrate wellness events into ai analysis and recommendations (e41099b)
  • wellness: normalize vo2Max field in repository (e73af69)
  • worker: add internal health check server to webhook worker (82bb556)
  • worker: enhance webhook processing and logging (f51be50)
  • workout: add hr_zone formatting and fallback logic (10c1c24)
  • workout: add sport-specific instructions for workouts (3e7fbe0)
  • workout: add structure preservation in workout generation (80b51eb)
  • workout: implement workout type eligibility filtering for automatic insights and analysis (ca2155b)
  • workouts: add icons to nutritional info display (1d03c83)
  • workouts: add nutrition estimate display (4e3539a)
  • workouts: add route map and gpx export to stream chart modal (d779380)
  • workouts: enhance power target normalization logic (547f291)
  • workouts: implement calculated workout facts for ai interpretation (c8212f2)
  • workouts: implement unlinking from plan and improve source attribution display (8f1575e)
  • workouts: support speed metrics and unit conversion for cycling activities (77b6376)

Reverts

  • auth: undo authOrigin and onboarding middleware changes due to redirect loop (a6d7e53)