Overhang

Changelog

Release notes.

What's changed, version by version.

Exercise switching on the set page, personal records beyond weight, more detailed recaps, and a new app icon.

Added

  • Switch exercises straight from the set page: pull past the end of the list for the next, past the top for the previous. The switch fires as you cross the line, no need to let go.
  • 12 new exercises: Couch Stretch, Chin-Ups, Archer Pull-Ups, Scapular Pull-Ups, Back Lever, Handstand Push-Ups, Handstand Hold, Toes-to-Bar, Windshield Wipers, L-Sit, Copenhagen Plank, Nordic Curl.

Changed

  • New app icon.
  • Records cover weight, estimated 1RM, set volume, reps, and hold time, a line each (was heaviest weight only). Rep records on bodyweight exercises count per added weight.
  • New records get their own card on the recap: every record the session set, with the old and new value and the set that took it, marked green in the list below.
  • The workout recap now lists every set you logged, exercise by exercise, the way History does (was a set count and your best set).
  • The climbing recap lists every climb you logged, under the grade pyramid.
  • Sheets respond instantly: tap the screen beneath one the moment it starts closing, or tap to reopen it mid-close.
  • Dialogs dropped their Cancel button: drag the card down or tap outside to back out.
  • Pulling down on an exercise's set list goes to the previous exercise (was closing the sheet). Drag the sheet header down to close it from there.
  • The built-in Mobility Routine is now five holds: kneeling lunge, couch stretch, pancake, pigeon, pike.
  • The session bar tracks a timer routine from the moment you start it: sets done, a progress bar, and the hold you're on mid-run (was name and clock only).

Fixed

  • Marking a set as a warm-up mid-rest ends its rest (was that rest booked against the warm-up).
  • Warm-up sets and the sets you added by hand survive switching that exercise's equipment.
  • The session bar and lock screen re-count their sets when you reclassify one mid-rest.
  • A timed exercise's Start bar and its countdown call a warm-up "Warm-up" and number only working sets, matching History.
  • VoiceOver names a warm-up set on the session screen: its checkbox reads "Completed, warm-up".
  • Train and Progress slide to make room for the session bar instead of snapping, and the bar keeps one height for every session.
  • Re-tagging a past climb by color at a gym on another grade system keeps the gym's own grade, so a later Grading switch restores it.
  • Returning to a timer run that kept counting on the locked phone lands on the set you actually reached when a cue ran late.
  • Flicking a dialog down throws it off the screen from where you let go, at the speed of the flick.
  • A run that counted on through a lock no longer pauses itself on a later hiccup with a leftover number from an earlier phase.
  • Finishing a set in the last moment of the previous rest no longer books that rest onto the new set.
  • A timer run that lost its cues while locked hands back the set you still owe, not a rest that already ran out.
  • Deleting a gym right after renaming it no longer brings the gym back.
  • Leg Extension lists machine as its equipment, so an equipment search finds it.

Warm-up sets, editable stretch holds, and lock-screen timer colors.

Added

  • Mark sets as warm-ups: swipe a set row or hold its checkbox. Warm-ups stay out of your stats, skip the rest timer, and your routines remember them.
  • Tap a stretch in a timer routine to set its hold time and rest for this session, then Start runs it from there.
  • Adjust a stretch's hold time and rest mid-run from the sliders button in the timer header (was hangboard grips only).

Changed

  • The lock screen and Dynamic Island color the timer by what it is doing: green working, amber on the get ready, red resting (rest countdowns were white in some places, red in others).
  • Timer routines and the Max Lift Test start the moment you open them, not on your first hold or effort, like every other routine.
  • Buttons, cells, and chips across the app squeeze under your finger as you press them (was only a highlight).

Fixed

  • Timers keep the full 3-2-1 count-in after a phase change: on a resume, a skip, or with the app backgrounded (was starting at 2).
  • Timers and the rest bar stay smooth through the count-in and every phase change with timer sounds on.
  • The rest timer configuration reads as off the moment the wheel hits 0:00, and on again as soon as you scroll away.
  • Content on Train and Progress no longer collides with the clock and battery icons: it fades out behind the status bar as you scroll.
  • The routine builder reads an exercise's rest as "5:00 rest" (was "300s rest"), and "No rest" when it's switched off.
  • An exercise's progress page holds blank while it loads instead of flashing "No data yet" before the chart lands.
  • Recaps name your longest hang or hold the best set, and rank an assisted hang above one with no weight (was the last set logged).
  • A recap's best set names the side you held a one-sided stretch on, the way History does.
  • Train's routine cards and the Progress detail tiles grow at accessibility text sizes, falling to one card per row.
  • Set fields stack at accessibility text sizes so a value can't split mid-word, and color names hold to one line (was "30 kg" rendered as "3 / 0", "Orange" as "Or / an / ge").

Session recaps, timer sounds, per-exercise rest, and a rebuilt Max Lift Test.

Added

  • Set a custom rest per exercise from a Rest row on its page (3:00 on squats, 1:00 on curls), overriding the session default. Use Default switches it back.
  • Give an exercise its own rest when building a routine, and every workout you start from it uses that rest. Adjustable mid-session from the same Rest row.
  • Every exercise on the session screen has a "…" menu to change equipment, view progress, or remove the exercise.
  • Pin a note to an exercise in your routines (a form cue, a machine setting) and it shows under that exercise every run, without cluttering your session notes.
  • Logging a session turns the session screen into a full recap before it closes. Workouts show sets, total volume (reps on bodyweight days, hold time on hangboard and mobility days), and each exercise's best set with new personal records celebrated; climbing shows tops, max grade with a new-best mark, and the session's pyramid.
  • Climbing sessions now show a Live Activity on the lock screen and Dynamic Island: session time plus your climb count, updating as you log (was workouts only).
  • Search Add Exercises by equipment (dumbbell, cable, rings), not just name or muscle group.
  • Add a session note any time during a session or when you edit a past session in history (was a one-shot notes field in End Session).
  • Exercise search suggests close matches under "Did you mean" when nothing matches, so typos ("sqaut") and gym slang ("rdl", "chins") still land.
  • History search forgives typos, so a misspelled exercise or gym name still finds the session.
  • Timers now play sound cues: a 3-2-1 count-in, a go note when work starts, a rest note when it ends, and a finish chime. Covers hangboard, mobility, in-workout holds, and the Max Lift countdown; toggle under Timer Sounds.
  • Time a hold inside a workout: a Start bar under the set list paces every set — hold, rest, next hold — logging each as it lands. Tap forward mid-hold to bank what you held and go straight to the rest.
  • Timed rep sets count a window down, then ask how many reps you hit.
  • Discard a session from End Session, with a confirmation that its logged work is deleted (was only possible before logging anything).
  • Link exercises in a timer routine to run back-to-back: tap the connector between two rows. At a break the timer stops so you rest as long as you like.
  • Configure a grip mid-run: tap the sliders button in the timer header to set fingers, edge depth, equipment, weight, and arms for that session.
  • Hangboard, mobility, and in-workout hold timers now show on the lock screen and Dynamic Island: work/rest countdown, current grip or hold, and set progress.
  • Font climbing grades now go down to 3 (was 4).
  • Change a logged climb's result right on the session screen: tap its result tag and pick Flash, Send, or Attempt.
  • Timer routines have a Start bar pinned to the bottom of the screen that starts the routine, or picks up at the next unfinished exercise.
  • Choose which grips the Max Lift Test tracks: add any variant (grip, fingers, edge depth, one- or two-arm) or swipe one away. Grips you've measured before are kept automatically.
  • Edit a logged climbing session from History, the way you already could a workout: fix a climb's grade or result, add one you forgot, or remove one. Rename it, move its date, time, or duration, switch which gym it was at, and edit its note the same way. Progress updates when you save.
  • Hip Abduction and Hip Adduction join the Legs exercises, under a Hips section, with machine, cable, and band variants.

Changed

  • Grade cells, chips, filters, calendar days, switches, and cards highlight the instant you touch them, clearing the moment you scroll (was just rows and buttons, and only on a long press).
  • Removing an exercise that has logged sets asks for confirmation first. Exercises with nothing logged still remove in one swipe.
  • End Session is now a choice between Log Session and Discard Session (was a stats sheet with a notes field).
  • Starting a new session over a running one asks you to log or discard the running one first, then starts the new session, in place of Abandon & Start New.
  • Long-press the session bar to end a session with the same Log or Discard choice as End Session (was Abandon, which quietly hid its logged work).
  • The rest timer counts down its last 3 seconds with soft ticks before the go chime, so the next set doesn't catch you off guard.
  • With sound on, hangboard and mobility runs and in-workout timed holds keep going while the phone is locked or the app is in the background, sounding every cue.
  • The sound toggle is now Timer Sounds on the main settings list and works with the rest timer off (was Completion Sound inside Rest Timer settings).
  • The session screen shows exercise and set counts under the title.
  • Add Set, Add Exercises, New Exercise, Add Range, and Add Gym now share one consistent look.
  • Exercise rows, gym grade ranges, and the routine builder's exercises use the same swipe-to-delete and drag-to-reorder as set rows.
  • Grip exercises are named by hand position: Half Crimp, Full Crimp, Open Hand (was "4-Finger Half Crimp"). Finger count is set separately.
  • Skip on the rest bar is a full-height target, not just the word.
  • Bigger tap targets in settings and sheet headers: a settings row anywhere flips its switch, and header buttons and search's clear button accept nearby taps.
  • Saving an unnamed routine names it "Untitled Routine" (was a disabled Save button with no explanation).
  • History search combines your words across a session's name, gym, and exercises, so "bench squat" finds the session with both.
  • A running session keeps the routine as you started it: renaming or editing the routine applies from your next session, not the one in progress.
  • The Max Lift Test now works like the other routines: your grips in a list with each one's current max, tap one to measure it, and a 3-minute rest bar paces the next effort (was a fixed six-grip sequence behind a separate flow).
  • Ending a Max Lift Test uses the same Log/Discard choice and recap as every session, with grips measured and PRs.
  • Tapping a grip in a hangboard routine opens its setup first; Start on that page runs the timer (was straight into the timer).
  • Measuring a grip in the Max Lift Test now runs like every other timer in the app: a grip page with your last max and its setup (edge, equipment, lift or hang, load, arms), then Start runs the brace and the effort on the standard countdown ring.
    • Pause, skip the brace, or stop early mid-effort, and the attempt shows on the lock screen and Dynamic Island.
    • With Timer Sounds on, the cues keep playing while the phone is locked or in your pocket.
    • The result is asked for once, when the timer buzzes — nothing is recorded if you back out, and Redo re-runs the attempt instead of adding a second measurement.
  • Skipping sets no longer stops a timer routine from finishing — run to the end and it logs, shortfall and all. Skip every set and the finish screen says nothing was logged, and the session isn't saved.
  • Max Hang, Repeaters, and Edge Lift are no longer separate exercises per grip: log the position itself — Half Crimp or Open Hand — and their past sessions moved there too (was eight position-named variants like "Max Hang (Half Crimp)"). Tag what you pulled on — hangboard, edge block, or no-hang block — with the equipment pill.
  • Dead Hang and Hanging are now a single Dead Hang, filed under Pull and Conditioning, with weight optional.
  • The timer page has more even spacing, and its header clears the top edge.
  • The grip or exercise name at the top of the timer is now full-size, matching the exercise pages (was small plain text).
  • Skip and back now work while a timer is paused; you land in that step's count-in, or right in the work if you skip the count-in itself.
  • New gym setup saves as you go (was discarded unless you tapped Create).
  • Using an already-taken gym name shows the conflict under the name field, not an error alert.
  • The built-in strength routines (Push, Pull, Legs, Core, Conditioning) start with blank sets hinting your last session's numbers.
  • The built-in Push and Pull routines rest longer between sets.
  • The climb result buttons are bigger, and the grade picker sits above the logged climbs so each new climb lands right under it (was below the whole list).
  • Renamed the climbing stat "Send %" to "Top %" to match the Tops count beside it.
  • The timer's forward button during the count-in now starts the hang or hold right away, no longer skipping the set.
  • Weigh-ins now open as their own page in Settings, with the app's full-size calendar for backdating (was a small card with a tiny system date picker). Edits save as you make them; swipe a weigh-in in the list to delete it.
  • The Max Lift weigh-in prompt asks just for your weight and stamps it today.

Fixed

  • Tiles, chips, grade cells, and buttons grow to fit larger accessibility text sizes instead of cutting the value off.
  • On left/right holds, rest and the switch between sides now cue the side coming up, like "Next: Right", while the hold count and dots stay on the side you just finished (was the just-held side everywhere).
  • Single counts read in the singular across the app: a heavy single is "1 rep" in History and on the progress chart, and one-of-one set, exercise, top, flash, send, and attempt labels follow.
  • Volume on the exercise progress page keeps its decimals, so a 201.25 kg set counts in full (was rounded down).
  • Saving a session edit returns to its History detail already showing the new name, date, and duration.
  • Exercise and History search ignore hyphens, spacing, and word order, so "sit ups" or "situps" find Sit-Ups.
  • History session details show each finger-set variant of a grip as its own card, titled with its fingers (was one card per exercise with all sets pooled).
  • Unchecking an exercise in the routine builder keeps its dialed-in sets, rest, and note — re-check it and they're back.
  • Mobility stretches no longer clutter the Strength progress list. Mobility sessions stay in History.
  • The rest-timer buzz on a locked phone respects the Haptic Feedback toggle.
  • A hangboard or mobility timer you back out of stays resumable from the session bar (was dropped if you left before the first hang or hold).
  • Long workout names wrap to a second line on the session screen.
  • The countdown timer stays fixed in place through pauses, step changes, and the finish checkmark (was pushed up or down when text around it appeared or disappeared).
  • The timer's finish screen clears down to just DONE and the checkmark, with no exercise name or setup line left behind.
  • Climbs logged at a gym on another grade system now show in Progress, relabelled into your Grading setting (was hidden, sometimes emptying the whole Climbing tile). Change Grading and they follow, back to the grades you logged.
  • Weigh-ins you edit or delete in Apple Health now update or disappear in Overhang the next time you open it.
  • The Live Activity clock keeps counting on sessions longer than 8 hours (was frozen at 8:00:00).
  • History search matches the titles shown on the rows, like "Max Hangs" or "Climbing", on top of notes, gym, and exercise names.
  • The Tops trend drops to zero on attempt-only sessions rather than drawing straight across them, matching the session cards below.
  • An exercise added while editing a past session keeps a starter set, so it survives saving (was silently dropped without sets).
  • Deleting a set with a full swipe no longer crashes the app or lands your next tap on the wrong set — mid-workout, editing a past session, or building a routine.
  • Deleting a routine while you're running it leaves the session going — resumable, loggable, and kept in history (was quietly dropped along with its logged sets).
  • Sessions keep their routine's name in History after you delete the routine.
  • The timer's DONE screen stays DONE when you switch apps and come back (was covered by PAUSED).
  • The best max on the Fingers and grip progress pages counts tests from before your first weigh-in, which could never take the top spot, so your headline may change.
  • A gym color with no grade range set no longer offers the whole scale when you refine a climb's grade.
  • Typing an exact weight like 20.3 kg keeps your value on the weight wheel until you scroll to another, no snapping to the nearest 0.5 on touch.
  • Whole-pound weights open the weight wheel on the value you saved (was one notch low, so a saved 160 lbs reopened as 159.9).
  • The weight wheel responds to a new swipe instantly after typing and after it settles, with no dead window to swipe through twice.
  • Forward and back on a left/right hold move one side at a time (was jumping over the second side to the next hold).
  • A left/right hold logs only the sides you actually held, so skipping one records a single side instead of a full hold. History names it, like "30s · Right".
  • My Gyms no longer briefly shows a gym you just deleted on the way back from its page.
  • My Gyms shows a new gym, and re-sorts for a Home change, as you go back from the editor, not in a jump-cut after the page had settled.
  • Picking a hangboard routine back up mid-rest and switching apps right away keeps the rest you had left (was the full rest again).
  • Stepping back into a left/right hold and redoing only the right side logs the right side alone, not both, also after reopening the app.
  • Opening a set's field while its rest timer runs out no longer erases that rest when you close the field without typing.
  • Tapping a number the pad won't take (too many digits, a second decimal point) no longer counts as editing the set.
  • The duration wheel shows its starting 0:01 greyed out until you pick a time, so it no longer looks chosen while the checkmark is off.
  • Switching an exercise's equipment after all its sets are logged sticks when you close and reopen the workout.
  • The equipment suggested when you add an exercise comes from your most recent session with it (was thrown off by editing an older session in History).
  • The Recent section of the exercise picker keeps your last workouts' exercises after a stretch of climbing sessions.
  • Set durations of a minute or more keep their seconds in History, the recap, and Progress, like 1:30, no longer rounded down to 1m.
  • Reps and duration charts no longer repeat the same number down the side (was 7 7 8 8 9 after a single session).
  • Weight charts in lbs show round numbers down the side, not converted values like 132.28.
  • A session note typed before logging anything survives swiping the sheet down, and the session stays resumable from the session bar (was silently discarded).
  • Editing a past session whose routine you've since deleted keeps the routine's name in the editor.
  • Session recap color rows show their grade range in the same grade system as the max grade, not the gym's own.
  • Home gym is optional: turn Home off and it stays off, and deleting the home gym doesn't make another gym home (was quietly moving Home to another gym).
  • The rest timer's chime and buzz no longer double up, or go missing on the next rest, after a phone call or Siri interrupted a rest.

Apple Health sync, redesigned History and Add Exercises screens, and a rest-timer chime.

Added

  • Search and filter History: find sessions by note, name, gym, or an exercise you did, and combine filtering to climbing or workout and to the last 7, 30, or 90 days.
  • Search the Add Exercises screen by name or muscle group instead of scrolling the whole list.
  • Filter Add Exercises to a single category, or browse them all (was a side rail that jumped to each category):
    • Categories that span muscle groups split into sections: Push lists Chest, Shoulders, Triceps; Pull lists Back, Shoulders, Biceps; Legs lists Quads, Hamstrings, Glutes, Calves.
    • Compound lifts appear on every day they fit, so the deadlift shows under both Legs and Pull.
  • Create an exercise straight from Add Exercises: a New Exercise row sits at the end of the list, and an empty search offers to create the name you typed.
  • Connect Apple Health under Settings → Apple Health:
    • Import your bodyweight so strength-to-weight ratios and estimated 1RMs track your latest weigh-in automatically. Imported weigh-ins carry a Health badge and stay read-only in Overhang — edit or remove them in the Health app. Weigh-ins you log by hand are never touched by a sync.
    • Export finished sessions as workouts (type and duration), so they show up alongside the rest of your activity. No calories are written.
  • The rest timer now plays a sound when a rest finishes, even with the screen locked, so you can look away between sets. Turn it off under Rest Timer.
  • The active-session bar now shows the rest countdown between sets, so you can keep an eye on the rest without reopening the session.
  • Optional notes per exercise during a workout, not just one note for the whole session. Notes show under their exercise in History, and you can add or edit them later when you edit a past session.

Changed

  • Redesigned the active-session bar as a floating card above the tab bar, now showing your workout progress, or your climb count and hardest grade while climbing.
  • History now shows your total number of logged sessions under the title.
  • History groups sessions under date headers — Today, This Week, Earlier This Month, then by month (was one flat list).
  • Progress shows each recent session, climbing session, and Max Lift Test as its own card, not rows in a single card.

Fixed

  • Estimated 1RM and finger strength %BW headlines now show your best ever (was your most recent), so an easy or high-rep day no longer reads as a step backward.
  • An exercise's "Total reps" now counts your whole history, not just recent sessions, so it no longer shrinks as older sessions age out.
  • An exercise's session count now counts each workout, so two sessions in one day count as two (was one), and the climbing trend's "Tops per session" is now "Tops per day".
  • An exercise's recent sessions list each workout separately when you train it more than once a day, no longer merged into one block that hid the earlier session's sets.
  • The climbing grade pyramid is now labelled "Last 30 days", so it no longer looks like it dropped your all-time hardest grades shown just above it.
  • Bodyweight history no longer briefly shows a weigh-in you just deleted.
  • Tapping just above the notes field in End Session now dismisses the keyboard cleanly (was flickering it closed then back open).

Live Activity and Dynamic Island for active sessions, color-grade climb logging, and finger strength in % bodyweight.

Added

  • Active workout sessions now show a Live Activity on the lock screen and Dynamic Island with the running session time, current exercise, and set progress, switching to the rest countdown between sets. Tap it to jump back into the session; turn it off under Settings → Live Activities.
  • Climbing sessions now remember which gym you're at, defaulting to your home gym and showing it in History. Switch gyms from the session before your first climb.
  • If a gym has color grades, climbing sessions there log by color instead of grade — tap a color, pick a result. Flip to Grades anytime for an off-color or untaped route.
  • Finger strength now shows as a percentage of your bodyweight at an edge (150% = holding 1.5× your bodyweight), so lifts and hangs land on one trend you can compare over time.
  • 8 new mobility exercises: Pike, Pancake, Pigeon, 90/90 Hip Stretch, Knee Over Toe Lunge, Front Split, Side Split, and Shoulder Flexion.
  • Hanging joins the Conditioning exercises.
  • Hip Thrust joins the Legs exercises, with barbell, machine, and Smith machine variants.
  • Mobility routines now run as a guided timer — a countdown for each hold, rest between, and a Left/Right cue for per-side stretches like Pigeon.
  • Guided timers gain in-session controls — skip the rest, skip a set you're not doing, or step back to redo a set you just logged (a rep at a time on repeaters). A skipped set isn't logged.
  • Bookmark built-in routines and protocols to a new Templates section on the Train screen for one-tap access without opening Choose from template. Remove them from the routine's menu.

Changed

  • The "…" on routines, History sessions, and your own exercises now opens a compact menu right at the button (was a bottom sheet).
  • Each grip's Max Lift Test history now has its own progress page, with filters for edge size and one- or two-arm.
  • The Fingers screen now groups exercises by grip type (Crimp, Open Hand, Pinch) instead of lumping them all under Hangboard.
  • The Max Lift Test shows each grip's last max to beat and lets you set the edge, one or two arms, and what you tested on. Hangs run a timed hold — weighted, bodyweight-only, or assisted — and report bodyweight %; lifts keep the brace-then-pull as an absolute load.
  • Measure a single grip straight from the Max Lift Test plan — tap its row; Measure all picks up where you left off.
  • The built-in Mobility Routine is now a fuller lower-body mobility base: pancake, 90/90, kneeling lunge, and pike, two 30-second sets of each. Generic stretches were renamed to specific positions.
  • Renamed Flexibility → Mobility across exercises, the built-in routine, and History.
  • Choose from template now lists only built-in routines and protocols; your own routines stay on the Train screen.

Fixed

  • Dismissing a dialog, picker, or the numpad frees the screen instantly, no waiting out the slide-out.
  • The This Week strip on Progress now rolls to the new day at midnight while the app stays open (was keeping yesterday ringed and last week's grid until you left and came back).
  • Tapping Stats during a workout now opens the equipment variant you're working, not your most-logged one.
  • The grade-range color picker's swatches now slide in with the sheet (was popping into place before it opened).
  • Setting a grade range's min or max now selects the grade the picker opens on, with no dash left selected until you scroll.
  • The hang timer now pauses when you leave the app (was running through and logging the remaining sets as done).
  • The Max Lift Test recap now counts and trends only the grips you measured this session, no longer pulling in every grip from past tests when you ended early.
  • Whole-pound weights now log and re-display exactly as typed in sets and weigh-ins (was showing values like 135 as 134.99 after reopening).
  • Editing a past session's value now moves its dot on the progress chart right away.
  • The climbing trend chart no longer shows an empty card when every session is attempts-only (no sends or flashes yet to plot).
  • Editing a past weigh-in now opens with the weight wheel centered on the saved value (was off by one, so 66.8 showed as 65.8).
  • The weigh-in date opens in its final format, no longer flipping from all-numbers to something like 30 May 2026 as the editor settles.
  • Time wheels now glide back when they land on an invalid value, like a session duration of 0:00 (was an instant snap).

Reliable set logging, smoother calendar scrolling, and more fixes.

Changed

  • Session notes in History now sit at the top of the detail page, above the climbs or exercises list.

Fixed

  • Confirming a set with the numpad checkmark now saves it, instead of dropping it on End and leaving a one-set workout empty in History.
  • Session duration set in the editor now matches the history list (was a minute short, so a saved 1h showed as "59m").
  • Tapping the notes field in the End Session dialog now opens the keyboard so you can type session notes.
  • The A–Z category scrubber on the Add Exercises page slides in with the page instead of snapping to the right edge.
  • Switching months on the calendar now animates smoothly at the display's full refresh rate (was capped to ~60fps and stuttered on ProMotion).
  • The numpad's number wheel responds to the first swipe after a value settles, with no second swipe needed to re-engage.

Editable session times, mid-workout progress charts, and a wave of polish.

Added

  • Edit a logged session's start time and duration from the editor.
  • Stats button on the active workout's exercise header opens that exercise's progress chart as a subpage. Check last session's numbers mid-set without backing out of the workout.

Changed

  • Numpad's number wheel is wider for larger values and easier to use.
  • Active session timer rolls over to hours past 1h (was minutes-only, so a 3h session read as 181:47).
  • The routine builder's per-exercise detail page shows muscle group and equipment under the exercise name.
  • The routine builder's per-exercise detail page now explains how filled vs. blank target values behave across sessions.
  • Confirming an edited set via the numpad resets the rest timer. Closing the numpad without confirming keeps it running.
  • Checking off a set without typing a weight now shows 0 in the weight field (was a faded "kg" label that looked unfilled).
  • Opening the End Session sheet pauses the session timer. Closing it resumes.
  • Tap outside the notes field in the End Session dialog to dismiss the keyboard without closing the dialog.
  • Done button on the keyboard for the new-exercise instructions field.

Fixed

  • Pickers, numpads, editors, and confirmation dialogs no longer have gaps on the bottom and sides.
  • Volume on the per-exercise progress chart now doubles for unilateral and dumbbell sets: single-leg lifts, cable flyes, and dumbbell-equipment work all count the work on both sides.
  • Max Lift Test no longer restarts the brace or pull countdown when you return from another app mid-test.
  • Max Weight chart on weighted-bodyweight exercises (pull-ups, dips) now shows pure-bodyweight sessions (0 kg added) instead of silently dropping them.
  • Climbing Max Grade chart renders grade labels on Y-axis ticks adjacent to a single logged grade (was blank).
  • Saving a new routine no longer creates a duplicate when the Save button is tapped twice in quick succession.
  • Clearing reps on a completed set in the numpad now un-checks the row (was leaving the checkmark on with no reps logged).
  • Empty reps and edge size fields show "1" as the placeholder, not the "0" that neither field accepts.
  • Numpad's checkmark fills in earlier blank required fields from the hint instead of shaking. On hangboard, tapping edge size first then ✓ now logs the set with the prior hold time.
  • Tapping a field and closing the numpad without typing keeps the hint muted instead of locking it in as a logged value.
  • Typing 0 in reps or edge size then dismissing the numpad clears the field instead of silently logging 1.

Editable history, more exercises, and a big batch of fixes.

Added

  • Edit or delete a logged session from its History detail page: rename, tweak set values, add or remove sets, swap exercises in or out. (Hangboard, max-lift, and climbing edits land later.)
  • Rename the workout during an active session by tapping the title at the top of the sheet.
  • 12 new exercises:
    • Pull: Lat Pulldown, Seated Cable Row, Bent-Over Row, Back Extension.
    • Push: Overhead Tricep Extension (cable, dumbbell, EZ bar, barbell), Flyes (High to Low), Flyes (Low to High).
    • Legs: Leg Press, Bulgarian Split Squat.
    • Core: Sit-Ups, Cable Crunch, Russian Twist.
  • New equipment variants:
    • Machine on Lateral Raise, Incline Press, and Shrugs.
    • Cable on Skull Crusher, Shrugs, and Preacher Curl.
    • Single-handle attachment on Cable Tricep Pushdown.

Changed

  • Crunches, Sit-Ups, and Russian Twists no longer show an estimated 1-rep max.
  • The rest timer's on/off toggle is gone — set the duration to 0:00 to turn it off.
  • Renamed Flyes → Flyes (Mid), and Tricep Pushdown → Cable Tricep Pushdown.
  • Equipment options reordered on Bench Press, Incline Press, Flyes, Lateral Raise, and Preacher Curl.
  • The exercise progress detail page shows muscle group and equipment under the exercise name.

Fixed

  • The exercise picker's side scrubber follows the section you're scrolling through, header lands correctly at the top of the screen, and highlights the last category at the bottom.
  • Estimated 1-rep max matches the lift weight on single-rep logs (was ~3% too high).
  • The rest timer's fill sweeps smoothly instead of stepping in visible jumps.
  • Attempts count during a climbing session now matches the Climbing progress page (was double-counting tries).
  • Switching the Equipment filter on a progress page keeps the metric you were viewing (Volume, e1RM, etc.).
  • The grade range picker only offers valid grades on each side, instead of silently swapping min and max.
  • Reopening the weight numpad with a fractional value no longer leaves a faded "0" behind the typed value.
  • The Start button on a hangboard protocol waits for the routine to load before it's tappable.
  • Max Weight no longer appears as a chart option on Front Lever, Lock-Off Hold, Edge Lift, Plate Pinch Hold, Dead Hang, or Pinch Block Hold until you've logged a set with added weight.
  • Deleting a Max Lift Test session now clears its readings from the Fingers progress screen.
  • The "Set your bodyweight for an accurate 1RM" nudge stays hidden until you log a weighted set on bodyweight exercises.
  • Progress chart x-axis labels include the day on short windows (was repeating month chips like "Apr Apr Apr May May" on a 1M view).
  • An empty 1M / 3M / 1Y progress chart now shows "No data in last X" instead of a blank axis when only older data exists.

First external TestFlight release.

Added

  • Log workouts across pull, push, legs, core, grip, conditioning, and mobility, with 40+ built-in exercises across bodyweight, barbell, dumbbell, and cable variants.
  • Run hangboard protocols: Abrahangs / No-Hangs, Repeaters, Max Hangs, and the Max Lift Test.
  • Log climbing sessions with V-scale or Font grade tracking.
  • Track progress with the grade pyramid, e1RM, total volume, best sets, and session history.
  • Log bodyweight history, used to compute e1RM for weighted-bodyweight exercises.
  • Configure the rest timer with count-up, count-down, and custom durations.
  • Works fully offline — no account, no network, all data stays on your device.