Changelog (iOS) — 0.8.1

Workouts

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 lapType missing on first lap