Skip to content

v0.5.25

Latest

Choose a tag to compare

@hdkiller hdkiller released this 11 Jul 16:38
· 546 commits to master since this release

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)
  • types: resolve type errors in athlete invites api and strength editor (91096b7)
  • ui: optimize default layout for printing (ac6cbff)
  • user-flows: coaching links, analytics save, sync spinner, recommendations, profile cache, nutrition id (068, 076, 134, 148, 150, 151, 067) (#236) (ded43ac)
  • utils: resolve type errors in strength workout utilities (1272b81)
  • utils: resolve typecheck errors in planned workout linking (7e681cf)
  • wellness: round calorie fields to integers (7896d71)
  • workout-chart: fix ramp logic condition (e7a76eb)
  • yazio: recover missing recipe macros from meal summaries (39ae727)

Features

  • add pi commit-helper flow and fix test mocks (86a8eca)
  • admin: add account deactivation controls (1b33c90)
  • admin: add support ticket prompt and clipboard helpers to issue detail (a05b220)
  • analytics: add mmp computation and expanded explorer presets (0b3b17d)
  • analytics: add widget search and filtering functionality (8630974)
  • analytics: instrument key app flows with GA4 events and supporting UX fixes. (bf697d9)
  • api: add admin endpoint to update user feature flags (2dc83d2)
  • api: add advanced analysis modes to workout explorer endpoints (973cf98)
  • api: add endpoints for strength exercise library and block-based workouts (0514e61)
  • api: add hydration quick add endpoint (1c532a6)
  • api: add workout explorer stream, summary, and density endpoints (0333af6)
  • api: allow creating new workout from untargeted recommendation on empty day (0964039)
  • api: implement coach-athlete invitation endpoints and join flow (b5b554f)
  • api: implement public profile and coaching request endpoints (e61f005)
  • api: support strength exercise aliases in library endpoints (97a0989)
  • api: update profile endpoints with public presence fields (c78e574)
  • athlete: apply threshold recommendations to profile on completion (410cc0b)
  • backfill: add inline Strava stream backfill CLI with rate limiting. (9a9e2e7)
  • chat: add false missing-reply guard to skill router (6e2cc16)
  • chat: add generation warnings for sport settings (fd8851c)
  • components: add density heatmap and map renderers to analytics widgets (e27cb81)
  • components: add public presence settings and branded components (aa4d758)
  • components: enhance analytics rendering with crosshair sync and area gradients (2b36509)
  • components: implement hydration quick add and integration in dashboard cards (29fab51)
  • components: update strength workout editor and view components (0e77a33)
  • core: add strength exercise library and block-based workout persistence (52e6639)
  • core: enhance workout duration and distance estimation with intensity factor improvements (727a760)
  • core: implement user feature flags and compact workout generator infrastructure (f570504)
  • db: add aliases to strength exercise library items (0814194)
  • db: add coach-athlete invitation system models and repository (eaec635)
  • db: add public presence and coaching request models (aef8afa)
  • frontend: add analytics bus and expand workout explorer presets (6d8e512)
  • frontend: add strength workout visualizations and recommendation guardrail hints (af3d476)
  • implement advanced segment analysis and peak power tracking in workout map (033d247)
  • integrations: add rouvy workout publishing support (7865399)
  • integrations: extract body battery as recovery score from garmin wellness data (314777c)
  • intervals: support wellness webhook ingestion (04bfe0f)
  • layout: add charts menu item to navigation (46781a4)
  • mcp: add remote MCP server with OAuth resource binding (788c8fb)
  • nutrition: add customizable hydration quick-add volumes (5569f77)
  • nutrition: implement weekly plan management and grocery list (07e939a)
  • oauth: add refresh token expiry to response (470a6af)
  • pages: add chart pinning to workout explorer (ed3a015)
  • pages: add sport profile overlap alerts and generation explanation UI (7d92b8b)
  • pages: enhance coaching athlete management with invitation tools (9b2524e)
  • pages: integrate strength exercise library into layouts and pages (34a74fd)
  • pages: refactor analytics browse page with mobile drawer and selector component (4268e6b)
  • pages: update public and admin pages for enhanced coaching experience (baf9aea)
  • pages: update strength exercise library UI and athlete relative time format (46aaefa)
  • pages: update workout explorer with map support and segment analytics (3020fe3)
  • pages: upgrade workout explorer with multi-stream support and zoom sync (026aad1)
  • plans: trigger block generation on activation and clean up draft plans (936a628)
  • profile: add visibility control and public profile preview to settings (207b03f)
  • profile: enhance goal suggestion and review UI (f04367d)
  • profile: enhance pace zone settings functionality (aad4665)
  • profile: implement pagination and improved source picking for body measurements (3840d4c)
  • profile: improve athlete profile print layout (21ddec2)
  • server: implement public presence utilities and coaching repository methods (eb4d1c0)
  • streams: migrate WorkoutStream to native array storage (WorkoutStreamV2) (74487ea)
  • trigger: enhance strength workout generation with library defaults and validation (f6dc83b)
  • trigger: implement compact draft generator mode for structured workouts (36ff374)
  • trigger: implement improved duration estimation and target fraction normalization (3c08690)
  • trigger: link strava workouts to matching planned workouts during ingestion (d001b25)
  • utils: add planned workout linking utility and tests (608bc12)
  • utils: implement strength exercise matching and alias normalization (c218c61)
  • wellness: expand wellness patch api and improve garmin readiness extraction (4ce3bed)
  • workout-parser: add ramp property to workout steps (b49cdc5)
  • workout: add normalization for structured workouts (8fd41db)
  • workout: add swim-specific parameters and metrics (a723de3)
  • workouts: add canonical structure contract (e9fe69b)
  • workouts: add strength exercise persistence and editor support (c136c21)
  • workouts: add target policy section to planned workout (8fe9d55)
  • workouts: implement ai-powered workout structure adjustment for library (4cda486)
  • workouts: persist and sync canonical structures (037519c)
  • workouts: render canonical targets and conflicts (90e1154)
  • workouts: track structure generation runs and guard publishing (06a7677)
  • yazio: add record merging and improve hydration ingestion (5bce83a)

Performance Improvements

  • add context profiles, zone trimming, and renderable validation (231e4ec)
  • slim structure generation prompts and AI retries (02579a3)