Smoother, calmer motion across the app, with a Low Power Mode preference that stops continuous animation.
Dim the iPhone screen during a workout: Off, Low Power Mode or Always.
Heart-rate Zone 2 Ride holds your zone with ERG as a ready-made workout.
A shortcut you press during a plan is no longer mistaken for the trainer's own reading.
Speed and incline shortcuts stay put when the plan card changes state.
The finished-plan row no longer sits flush against the controls.
Locking your iPhone during the countdown no longer loses the workout on the Lock Screen.
Reopening the app into a running workout opens the workout straight away, not Home first.
Starting the app before the first unlock after a restart no longer loses your settings and layouts.
27.3.0
Planned workouts: pick one of five rides scaled to your FTP, or build your own.
New Ramp Test: power starts at 120 W and climbs 20 W every minute until you stop.
Your trainer follows the plan at every step, in ERG watts, slope or resistance.
A live chart on iPhone and Apple Watch shows what's next, with a tap on your wrist before each change.
A finished ride shows the plan it ran and its chart, one tap from riding it again.
Apple's Fitness app lists a planned ride under the plan's name.
A ride started on Apple Watch starts a trainer paired to the watch, from the Cycling tile or Shortcuts.
Everything you've unlocked is there from the moment the app opens.
The Activity rings tile no longer appears and then vanishes at the start of a ride.
A pulsing orange dot on the workout screen shows when your trainer is reconnecting.
If the app restarts mid-ride, the finished ride keeps its averages from before the restart.
A ride ended while paused ends when you paused, so its charts stop there.
At the largest text sizes, the workout screen scrolls as one page with the clock and main stats on top.
At the largest text sizes, Home, the trainer controls and the summary keep every number and label whole.
Resume, stat captions and other workout labels are no longer cut short on smaller phones or in longer languages.
Splits keep each value on one line, so a speed like 27.4 km/h no longer breaks in two.
On iPad, a sheet opened during a ride sits beside it instead of covering it.
On iPad, the live workout fits more stats side by side, and the summary sits in a centred column.
On iPad, the Sessions sidebar shows month stats and dates in full in every language.
On a foldable iPhone, metrics and controls sit side by side, and sheets open beside your workout.
The streak widget above the Lock Screen clock shows the number of weeks instead of code.
A ride with no active calories recorded leaves them out instead of showing 0 kcal.
27.2.0
Choose which stats your Apple Watch shows during a ride, from five layouts you can edit.
Watch layouts can be edited on the watch itself or in Preferences on iPhone.
The iPhone Workout Layouts editor works on the live preview, with choices right below it.
The layout preview is dark when Prefer Dark Mode during workout is on.
Heart rate stays live instead of greying out on iOS 27 and watchOS 27.
Starting with Siri or Shortcuts works like tapping Start, and never ends a ride in progress.
Home Screen quick actions are in your language, including Start Cycling.
The bike trainer has its proper name in Spanish, Portuguese, French and Turkish.
The Race toggle explains what marking a ride as a race does.
27.1.1
The workout screen does far less work, so long rides are easier on the battery.
A ride recorded on iPhone alone is saved to Apple Health ending when you stopped it.
On Apple Watch, opening Devices before a ride no longer freezes the app.
On Apple Watch, the workout stats are back at their full size.
Time in heart rate and power zones keeps adding up when you leave a zone and come back.
A ride recorded on Apple Watch now shows Recorded with Apple Watch in its details.
The app no longer stalls at launch or in Preferences waiting on Apple Health.
The date and unit on a chart readout are clear in dark mode.
27.1.0
Home Screen, Lock Screen and StandBy widgets: streak, weekly rhythm and last ride.
Export any ride as FIT or TCX from the share menu.
Speed and cadence sensors keep counting correctly after a disconnect.
Your FTP now saves to Apple Health.
Outdoor rides recorded by other apps show the temperature and the place.
Splits now default to 5 km and show speed instead of pace.
You can choose the distance splits are measured over.
The app is now called Klemy Cycling on the App Store.
On Apple Watch, power no longer runs into its unit and the first row is no longer clipped.
The pre-workout countdown fits the smallest Apple Watch.
The effort picker fits on Apple Watch and saves when you tap Confirm.
27.0.1
Outdoor rides show their route on a map, with a dot that follows the charts as you scrub.
A ride ended on Apple Watch while the iPhone was out of range no longer stays live on the iPhone.
Press both Apple Watch buttons to pause or resume a ride.
A quick pause and resume no longer leaves a ride running on the other device paused.
A ride run on Apple Watch now pauses when the trainer disconnects.
Heart rate shows from the first second of a ride.
Rides started on iPhone without a trainer begin as soon as the countdown ends.
Lowering your wrist right after End no longer interrupts saving the ride.
Split times add up to the workout time, and the last partial split shows its real distance.
Splits show heart rate for rides recorded on Apple Watch.
Splits, speed and records use a ride's full distance.
Average heart rate, Normalized Power and best power records weigh every second equally.
The Speed chart labels its average as Moving Avg.
The live heart rate zone marker matches the highlighted zone.
Time In Zone now shows numbers on iOS 26 and watchOS 26 too.
Heart rate and power zones from Apple Health update as soon as you return to the app.
An Apple Watch on watchOS 26 gets your Apple Health zones when a ride starts.
A ride recovered while paused reconnects to the iPhone.
The iPhone shows the summary more reliably after losing Apple Watch mid-ride.
A redesigned effort picker, and an effort icon of its own in your workout history.
An effort score estimated by Apple Watch is labelled as estimated.
The effort level name is readable in light mode.
Heart rate from a chest strap shows where it was measured in Apple Health.
More Apps now lists Klemy.
27.0.0
Minimize a running ride to a bar, and tap it to get back.
A new Stats tab with your riding trends over weeks, months and years.
Personal records for best power from 5 seconds to 20 minutes, and fastest 10K, 20K and 40K.
The workout summary says when you set a new personal best.
Reorder the workout charts and hide the ones you don't use.
On iOS 27, heart rate and power zones come from Apple Health, with an offer to switch if you set your own.
FTP, max heart rate and zones match on iPhone and Apple Watch.
Share an outdoor ride's route as a GPX file.
A color-blind friendly palette, in Advanced preferences.
Picking a power meter or cadence sensor no longer disconnects your trainer.
A power meter that reports cadence can now be your cadence source.
Cadence no longer spikes on a bike with both power and cadence sensors.
No more "Trainer not supported" alert when a known trainer reconnects.
A bike with only power and cadence sensors can be ridden without trainer control.
ERG, resistance and slope targets held for a long stretch now draw their full line.
Cadence and power charts stay readable on long outdoor rides, with no made-up zeros.
Starting a ride while Preferences is open goes straight to the workout.
Starting a ride on Apple Watch now closes its Preferences.
On iPad, the details inside a past workout open again.
A ride started on Apple Watch no longer counts twice in the iPhone's activity rings.
The Device Settings tip is as wide as the device rows below it.
The Use Apple Watch info says why the watch is unavailable.
Preferences on Apple Watch shows which version the iPhone is running.
The feedback email opens with a line to start writing on.
1.7.0
ERG power targets are charted on top of the power you actually pushed.
Resistance and slope changes are recorded and charted through the ride.
The live chart and the workout details show the same control values.
Custom workout layouts sync between your devices.
Sensors can be assigned on Apple Watch, not just iPhone.
Each device shows what the other one is connected to.
Trainer settings are shared between iPhone and Apple Watch.
Saved devices can be viewed and deleted at any time.
Assigning one sensor on both devices no longer blames your hardware.
A "Rate this app" row in Settings.
The Watch workout screen no longer leaves a gap in the middle.
Watch metrics no longer overlap the system clock.
The app goes idle in the background when no workout is running.
The trainer connection drops after five minutes idle, as intended.
A subscription in its billing grace period no longer locks you out.
A deleted workout leaves the list right away.
Total Calories no longer reads zero on a workout without basal data.
Long workouts keep their chart detail instead of losing points.
Custom layouts come back after a migration that failed.
Layout saves and deletes no longer report success when they failed.
Body Temperature is charted next to Skin Temperature.
The Use Trainer Calories toggle says the figure is the trainer's own.
"Watch App not installed" now mentions that watchOS 26 is required.
The device settings screen is easier to find.
The purchase screen addresses you consistently in French and Turkish.
1.6.1
Resistance percentages match what you ask for on every control.
Siri resistance shortcuts set a real percentage.
The Live Activity shows resistance as a percentage, not a raw level.
Asks whether you are done after a minute without pedalling.
Race marks sync between your devices.
Charts break across a pause instead of drawing through it.
A short recording no longer stretches across the whole ride.
Deleting a workout removes it, and no longer fails on a second attempt.
UK distances show at most two decimals.
The Watch reports a real iCloud sync status.
1.6.0
Mark a ride as a race, then filter your history to races.
Fixed a crash that could happen when using iPhone and Apple Watch together.
UK units read in miles on every screen.
Workouts keep elevation, skin temperature and Heat Strain Index when you have the sensors.
Workout records survive a workout deleted outside the app.
Activity rings stay hidden if you never set Activity goals.
Pause history survives a workout re-attaching to Apple Watch.
Refined labels and translations.
1.5.2
Opening Workout Layouts no longer freezes the app.
Rate how hard a ride felt using the Digital Crown on Apple Watch, not just by tapping.
Fixed the State of Mind prompt on Apple Watch — the face no longer covers the question, and the mood row responds to the crown.
Cards on Apple Watch are centred properly instead of drifting on smaller watches.
Heart rate zones now show where they came from: your own setting, Apple Health, or an estimate from your age.
A missing date of birth in Apple Health no longer hides your other details.
Bluetooth, sensor and trainer text is now translated instead of falling back to English.
Pauses and activity totals are kept when a ride reconnects after a dropped connection.
Refined labels and translations.
1.5.1
If your trainer drops its Bluetooth connection mid-ride, the ride now resumes by itself once the trainer comes back. Only the automatic-pause half of this had ever actually run; the resume half could never be reached. The app now recognises the pause it caused itself and resumes on evidence from the trainer in front of it, rather than guessing.
Steadier Bluetooth connections: each trainer and sensor is checked once when it connects, with a single owner for post-connect discovery, and a service lookup that fails still answers instead of leaving the connection half-configured.
Better background battery behaviour: with no ride running the app now genuinely goes idle instead of keeping its Bluetooth notifications alive, and an intentional idle disconnect no longer looks like an unstable link that needs recovering.
Rating how hard a ride felt is now a clear ten-point scale you tap directly, and the Effort and State of Mind prompts on the summary are properly translated in every language.
The orange used for metrics now has a light-mode value that actually meets contrast requirements — it previously fell well short of them and was hard to read on a bright screen.
Your Apple Watch no longer beeps every thirty seconds when you have deliberately declined an optional Health data type. Body-measurement types are now an explicit opt-in rather than something requested by default.
Your trainer shortcut lists are treated as your stored settings, so they no longer shrink to whatever the currently connected trainer reports.
Siri and Shortcuts commands for the trainer now follow the ride in this app rather than a workout running anywhere on the device, so they can no longer act on someone else's session.
The ride screen's Start button now honours your "Use Apple Watch" preference, and Apple Watch options no longer appear on devices where they don't apply.
Ride data mirrored from the Apple Watch no longer discards a batch silently when it cannot be read.
Refined labels and translations.
1.5.0
Family Sharing: the subscription and the lifetime unlock now come in Family versions, so one purchase covers up to five family members. The individual tiers stay exactly as they were.
Monthly payments with a 12-month commitment on the yearly plan — pay a smaller amount each month instead of the whole year up front. Requires iOS 26.4 or later, and isn't offered in the United States or Singapore.
One-tap trainer shortcuts: nine slots you configure in Preferences, each pairing a mode with a value — ERG watts, resistance percentage or slope. The defaults cover 50, 100 and 150 W, 0, 5 and 10 % resistance, and 0, 2 and 4 % slope. Tapping one mid-ride sets the mode and the target together, and you can type an exact value when editing a slot.
A roomier ride screen: when there's vertical space the trainer controls now sit as their own block instead of always sharing a paged view with the chart, and a new preference lets you split automatically, always show the controls, or keep them out of the way. On iPad the extra width is used too.
Trainer control is now read per device rather than shared across everything connected, so a heart rate strap or a separate sensor can no longer overwrite what your trainer reports it can do.
A trainer mode that stops being supported mid-ride is no longer left selected, which also stops the app sending control commands that were always going to be refused.
A cadence sensor you assign explicitly is now used for cadence — previously only an assigned power meter was respected, and cadence quietly came from the trainer instead.
The Home screen now tells you how many free rides are left this month, with a direct way to unlock, and warns you when Health access is missing so a ride can't silently go unrecorded.
You can delete a saved ride straight from the Sessions list.
The music player now hides itself when nothing is playing, instead of showing controls that can't start anything — and reappears on its own when you start a track.
On iPad: ride charts open as a pushed detail view instead of a sheet, and the Watch Status section no longer appears where there is no Watch.
Better battery behaviour: the app stops retrying its Bluetooth connection in the background when no ride is running.
Fixed a case where finishing a ride you meant to discard could still save it to Apple Health.
Fixed the paywall giving no feedback while a purchase was going through, and accepting a second tap on Buy.
Fixed Siri phrases that still referred to a treadmill, and completed their translations.
Fixed several Apple Watch mirroring issues around cancelling from the wrist and ending a ride.
Refined labels, plurals and translations.
1.4.1
Added a live metrics chart to the ride screen: your power and elevation build in real time as you ride, with your current target overlaid so you can see how each effort measures up at a glance.
Improved ride distance accuracy: the distance your trainer reports is now cross-checked against its own speed, unrealistic jumps are smoothed out, and distance is no longer added while a workout is paused.
Fixed misread speed data from some indoor bikes caused by a Bluetooth data mismatch.
The trainer control mode picker now shows only the modes your trainer actually supports — on both iPhone and Apple Watch — with clearer empty states when a control mode isn’t available.
ERG mode is steadier: the app no longer re-sends or reapplies a power target your trainer rejected, so it won’t fight the changes you make.
More reliable connections for trainers and sensors that expose several services at once, with clearer priority when a device can report the same metric in more than one way.
Added an onboarding tip showing you can connect your trainer directly from Apple Watch.
Refined the workout screen layout for a cleaner, better-balanced look, including centered stats in the wide layout.
Fixed the power-zone and FTP editor so your changes always stick.
Refined labels and translations.
1.4.0
Customizable workout layouts on iPhone and iPad: build your own ride screen — choose the stats you care about and arrange them just the way you like.
Many more stats are now available to place in your layout, including current, average, and peak power, cadence, heart-rate metrics, active and total energy, and time in power zones.
Added support for body temperature sensors: connect a compatible Bluetooth sensor to track core and skin temperature plus heat strain during workouts — great for heat training.
Trainer controls (ERG, Resistance, and Slope) are now more responsive and accurate — your adjustments show instantly and no longer snap back to the trainer’s reported value while you’re changing them.
Resistance mode now uses a clear 0–100% scale mapped to your trainer’s supported range.
Improved trainer control from Apple Watch, including full Shortcuts support and syncing your control mode and targets to the Watch when a workout starts.
The workout summary now shows your Activity rings.
Added average reference lines to the metric charts in workout details.
Workout preferences now sync between iPhone and Apple Watch, so settings you change on one device carry over to the other.
Added an option to skip the start countdown when beginning a workout, synced across your devices.
Workouts now save average and maximum speed to Apple Health.
Improved the workout view layout, with adaptive sizing that makes better use of space on smaller iPhones and in landscape, and stats that scroll when you add a lot of them.
Added Bluetooth sensor battery levels to the devices list and the home screen device status.
Added an optional iPhone battery readout to the landscape workout header.
Added a Redeem Code option to the paywall for App Store offer codes.
Added a Show Demo Trainer toggle to hide the demo bike when no trainer is connected, synced to Apple Watch.
Improved workout start reliability on iPhone and Apple Watch — fixed several ways a start could hang, get stuck, or leave a phantom workout behind.
Cancelling a workout start on iPhone no longer starts the workout on Apple Watch anyway.
Improved automatic reconnection when your trainer drops the connection, turns off and on again, or changes its Bluetooth identity.
More reliable iPhone and Apple Watch mirroring: live metrics recover automatically if mirroring stalls mid-workout, with fewer false connection-stalled moments and a cleaner recovery after a genuine disconnect.
Fixed live average speed collapsing to the current value instead of showing the true average.
Fixed heart-rate readings sent by the trainer itself still being used after turning off Allow Trainer Heart Rate.
Fixed the workout timer staying at zero when starting a new workout on iPhone after using Apple Watch.
Refined labels and translations.
1.3.2
Workout view now defaults to dark mode. You can change this in Preferences.
Added No Control mode for older trainers that use proprietary control systems but still provide standard power and cadence sensors, so workouts can be recorded without controlling the trainer.
Live Activity timer fixes and reliability improvements.
FTP (Functional Threshold Power) now also loads from Apple Health.
Added simple watchOS complications so you can quickly open a workout.
Device name overrides now appear consistently across the app.
In light mode workout view, timer and pause button colors are now easier to read.
Zero distance no longer displays as cm or inches.
1.3.1
Improved controls sync between Apple Watch and iPhone.
Made workout controls more responsive and more accurate.
Improved workout start error handling on Apple Watch.
Added a proper Devices screen button in workouts on both Apple Watch and iPhone.
1.3.0
Control your trainer right from your watch with new trainer controls.
Connect your trainer directly to your watch, with no iPhone required.
iPad support is here: connect your trainer and train on the big screen.
Workout now shows the connected trainer during the session.
On iPhone, landscape workout view now shows the system clock.
Improved visibility of key workout text in light mode, including the timer and pause button.
Added a loading indicator when opening workout details.
Fixed live sensor data in the Devices screen to show values only from the current sensor.
The app now occasionally asks for a review after you finish a workout.
Fixed an issue where some Bluetooth devices could remain stuck in the Connecting state.
Apple Watch now shows an overlay when starting a workout and syncs the start timer with the iPhone.
Session list now updates correctly after completing a workout.
Devices list improvements: correct device names are shown instead of “unknown device”, and you can swipe right to open device configuration.
Various smaller fixes and FTMS reliability improvements.
1.2.1
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.
1.2.0
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.
1.1.0
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.
1.0.3
Fixed crash when editing heart rate zones.
Fixed crash when editing power zones.
Fixed decimal formatting throughout the app.
Improved FTMS stack error handling.
1.0.2
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.
1.0.1
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.