Changelog (iOS) — 0.8.1

New Testflight
Starting today, TestFlight is running under Milo Mode Inc.’s Apple account
We’ve completed all preparations to launch TestFlight more broadly
You don’t need to delete the old TestFlight builds, but please use the new Milo (Milo Mode Inc.) app going forward
New features
Marathon race view
Auto-detected when a workout is named Marathon, Half, 5K, or 10K. In race mode, Milo shows predicted finish time based on remaining distance and current pace — no more handwritten pace charts. Race mode replaces the workout view but keeps all workout functionality (laps, progress, etc.).
Elevation tracking
Activities now track both elevation gain and elevation loss, shown in detail views and included in all FIT exports (session, records, laps, splits).
Redesigned live activity view (phone)
The live activity view has been fully redesigned with:
Biometrics & profile
A new profile section lets you:
This is still a work in progress. More coming soon!
Heart rate zones
Improved zone modeling and visualization — both phone and watch now use the updated heart rate zone system.
Training load
Milo now calculates training load for each activity, showing TRIMP and TRIMPexp scores in detail views (watch + phone). You can also set your resting and max heart rate for more accurate results.
Activity & sync improvements
Implemented two-way API sync for activities:
Routes/workouts now refetched and synced on app launch
Improved responsiveness for newly selected routes/workouts
Activities deletion queue implemented for offline scenarios
Activities count updates immediately after fetch
Watch improvements
Improved watch onboarding with more reliable comms, fallback requests
Added manual refresh to phone onboarding to reconnect to watch during onboarding
Watch auth: manual refresh now available in account card in watch settings view
Watch list views cleaned up (buttons, refresh)
Watch controls view updated
All WatchOS nav buttons converted to native
Watch onboarding UI fixed (scroll issues, clamped UI)
iOS 26 UI & UX overhaul
New custom Tab Bar UI/UX (sizing, padding, materials, live activity pill)
Refactored all detail views and sheets now with improved sheets, menus and toolbar controls
Onboarding UI refreshed (better buttons, fonts, layouts)
Refactored and cleaned up all phone settings views
Added dark mode fixes (cards, skeletons, map controls, fonts)
Updated App Store icons for iOS 26
Bug fixes & improvements
Added simple sound cue for workout laps
Added ability to copy activity stats directly from activity detail view (useful for Strava posts).
Dark mode refactored and now using the device system settings to set the app theme
Fixed map swipe-back issue introduced with iOS 26
Updated onboarding copy with latest version
Fix laps display — differences between laps should be more visible
Fixed previous lap pace mismatch by clamping lap distance
Fixed activities not syncing after sign-in
Fixed onboarding watch comms
Fix Watch scroll bugs
Fixed a lot of UI bugs that occurred in dark mode
Fixed small watch UI bugs (onboarding, cramped copy, no scroll)
Fixed route/workout syncing on sign-in
Refactored progress alerts (native alerts & indicators)
Fixed multiple dismiss buttons in settings logs
Fixed workout regeneration breaking activity title
Fixed
lapTypemissing on first lap