Virtual Cycling Trainer
Version History
- Device configuration screen now shows trainer data that was previously filtered out.
- Workout summary once again includes State of Mind.
- Trainer-reported calories now update correctly after pausing and resuming a workout.
- Various smaller fixes and stability improvements.
- New Sessions view to browse past workouts and their metrics.
- Redesigned iOS summary view to match past workout details, with support for sharing as an image.
- Clearer error message when starting a workout while the Watch is locked.
- The "Prepare Watch" step can now be skipped when starting a workout.
- Fixed trainer heart rate sensor still being assigned when disabled in device configuration.
- FTMS reliability improvements; reduced background activity when no workout is active and trainer is connected.
- Trainer now has per-device configuration, shown when you first connect a device. You can test the device and preview live data from this screen.
- Main view now shows all connected devices (e.g. heart rate sensor) when a trainer is connected.
- Workouts on iPhone now display activity rings during the workout.
- watchOS app now has Preferences to override some settings locally on the watch.
- Unassigning the trainer’s heart rate source is now correctly saved across app launches.
- Improved device connection status: a yellow indicator appears when the app couldn’t request device control (you may need to restart the device).
- When connection to the trainer fails, an error is shown instead of repeated reconnect attempts.
- Trainer-reported calories can now be used instead of Apple Health’s built-in calorie calculation.
- Reworked workout starting flow with a fullscreen status overlay.
- Short workouts under 3 minutes are now discarded by default; this can be overridden in Preferences.
- Free workout limit now counts only workouts of 5 minutes or longer.
- Fixed tap area in Bluetooth devices list.
- Bluetooth devices list now shows connection progress.
- Bluetooth devices list now displays proper error messages when a device needs to be re-paired in system settings.
- Fixed crash caused by FTMS data race condition.
- Workout now automatically hides and resumes when trainer disconnects and reconnects.
- Simplified Bluetooth devices list by removing technical details.
- Various smaller Bluetooth and FTMS reliability improvements.
- Fixed crash when editing heart rate zones.
- Fixed crash when editing power zones.
- Fixed decimal formatting throughout the app.
- Improved FTMS stack error handling.
- Happy New Year! Keep cycling and stay active in 2026.
- Improved workout mirroring reliability by following Apple's recommended practices; mirroring failures should no longer occur.
- Added failsafes for mirroring errors; if mirroring fails, the app displays an error message while keeping the workout screen visible.
- Prevent iPhone screen from auto-locking during active workouts. This can be disabled in Preferences.
- Added More Apps section to Preferences.
- Email contact button added to Preferences.
- Added Advanced preferences: pause workout on trainer disconnect, attaching logs to email, and exporting raw logs.
- Improved Bluetooth and FTMS stack stability with various bug fixes and optimizations.
- Added support for total distance received from the trainer, instead of calculating from speed.
- Added a toggle to prefer Bluetooth heart rate sensors; turn it off to keep using Apple Watch/iPhone heart rate.
- Ignore zero-value readings from external heart rate sensors and fall back to HealthKit more reliably when Bluetooth data drops out.
- Auto-reconnect assigned Bluetooth devices as soon as they come online, without duplicate connection attempts across categories.
- Live sensor readings (power, cadence, heart rate) now surface inline in the Devices list when connected.
- Heart rate samples from Bluetooth devices now carry device info into HealthKit for better provenance.
← Back to Virtual Cycling Trainer