Changelog

New features, improvements, and fixes.

Shipping activity

1,418 contributions in the last year

IMPROVED

Smarter Connection Monitoring

  • Withings connections now have catch-up sync (hourly), matching the WHOOP pattern
  • Expired Withings tokens show a clear "Reconnection needed" badge instead of silently failing
  • OAuth tokens for both WHOOP and Withings are proactively refreshed every 30 minutes
  • Dashboard banners alert you immediately when any connection needs attention
NEW

Connect WHOOP Instantly with Your Own API Key

  • Create your own WHOOP developer app and connect in about 2 minutes, no approvals, no waiting list
  • Brand new 3-step setup guide on the Connections page, with a built-in video walkthrough
  • Your API credentials, your rate limits, every user gets instant access to their data
  • Your Client ID and Client Secret are stored encrypted and only used to sync your own data
  • This unlocks unlimited growth for VitalTrends, more data providers and bigger features are on the way
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