Changelog

New features, improvements, and fixes.

Shipping activity

1,840 contributions in the last year

NEW

Integration Request Form

  • Vote for the integrations you want next from the Connections page
  • Choose from Garmin, Oura, Fitbit, Polar, Samsung Health, Strava, Google Fit, Eight Sleep, or suggest your own
  • Update your selections anytime
NEW

Apple Health Integration

  • Sync heart rate, HRV, resting HR, steps, sleep stages, workouts, and more from Apple Health
  • Pair your iPhone via a one-time code from the Connections page
  • Dedicated Apple Health dashboard with 10 interactive charts
  • Background sync via the VitalTrends iOS companion app (available on TestFlight)
  • Supports SpO2, respiratory rate, weight, body fat, active/resting energy, and walking distance
NEW

Async CSV Export with Cloud Storage

  • Exports now process in the background, no more waiting for large datasets
  • Download ready exports from the Export page when processing completes
  • Delete old exports you no longer need
  • Export files stored securely on Cloudflare R2
IMPROVED

WHOOP Connection Status

  • Connections page now shows "Reconnection needed" when your WHOOP OAuth token has expired
  • Force Sync button is hidden when reconnection is required, replaced with a Reconnect button
IMPROVED

Payments Unblocked

  • New users can now subscribe again (previously paused due to WHOOP API limits)
  • WHOOP integration is still in progress, Apple Health and Withings Scale are fully supported
  • Acknowledgement checkbox on the billing page so you know what to expect before subscribing
NEW

SEO Foundation

  • Added comprehensive SEO meta tags, Open Graph, and Twitter Cards across all public pages
  • JSON-LD structured data for better search engine visibility
  • Canonical URLs and sitemap generation
IMPROVED

Security Hardening

  • Added security headers middleware (X-Frame-Options, X-Content-Type-Options, Referrer-Policy, and more)
  • Hardened cookie settings and proxy trust configuration
  • Cleaned up robots.txt to block authenticated routes without exposing admin paths
NEW

Metric / Imperial Unit Toggle

  • New unit preference in Settings, switch between Metric (kg, °C, m) and Imperial (lbs, °F, mi)
  • Dashboard weight, muscle, body composition, and skin temperature charts all respect your preference
  • Public profiles display data in the profile owner's chosen units
  • CSV exports use the correct units and column headers based on your setting
IMPROVED

Self-Healing Data Sync

  • Catch-up sync now detects missing days in the last 7 days and automatically fills gaps
  • Staleness detection reduced from 36h to 18h, problems caught the same day
  • Sync window is now dynamic (48h-7 days) based on actual gap size instead of a fixed 48h
  • Scheduler frequency increased from every 3 hours to hourly for faster recovery
IMPROVED

Navigation Update

  • Renamed "Profile" to "Settings" across desktop and mobile navigation