Changelog

What is new in RepSheet. Updated whenever something ships.

    • Hide the Google Health connect card while the scope is unverified (issue #135)
    • Align signed-in nav beside the logo (issue #128)
    • Branded Google sign-in via GIS renderButton (issue #117)
    • Embed week_plans so the program filter applies
    • Settings card matches the posture card layout
    • One warm-up at 10-20 reps, drop the forehead hold, card headings at card size
    • Share the image only, and tidy the public log
    • Share card - a PNG of your finished workout for the share sheet
    • Swallow forbidden cookie writes during server-component render
    • Google sign-in via branded ID-token flow (issue #117)
    • Replace em dashes with double hyphens in card copy
    • Reject today/future dates in the toggle server action
    • No-alcohol streak card, settings toggle, and streak-day store
    • Optional posture warm-ups on training days (issue #113)
    • Include Breathing Sessions in the history and totals
    • Surface persistent server rejections on save (issue #110)
    • Warm the router cache so repeat navigation skips the skeleton
    • Add Blog and Changelog to the shared footer links
    • Drop blocking auth round trips on public routes
    • Skip the account chooser when login_hint is present
    • Pre-select the login Google account via OAuth login_hint
    • Keep workout cards reachable when the program is deleted
    • Render dash for null streak instead of fabricated 0
    • Markdown variants, content negotiation, bot-visit measurement
    • Native-feel CSS pass
    • Public changelog page and header link
    • Customer Zero - publish owner's live training log
    • Add "What RepSheet isn't" block beside the benefit cards
    • Auto-log completed workouts on opt-in
    • OAuth connect flow + per-user token storage
    • The credit on the landing page
    • Date-gate the Uneed launch badge for Sept 10-12
    • Add the hand-entry promise to the formats FAQ answer
    • The credit on the landing page
    • Add Wind-Down Breathing as a second 10-minute session type
    • Lengthen breath phase cues so the inhale is feelable on Android
    • App icons refresh on installed devices
    • Faster workout parsing
    • Demo workouts only use weights the picker can actually produce, and the tablet card is centred
    • Re-shoot the session carousel still and promote it to slide 2
    • Select the bodyweight columns on history and volume
    • Count bodyweight sets toward volume
    • Stop throwing away bodyweight on save
    • Put 8 and 12 on the weight wheel, stack the nudge on mobile
    • One header on every public page, and no theme flash between them
    • Quiet the field for the FAQ, and even up the footer
    • The credit on the landing page is clickable again
    • One CTA pill at one size, short label on phones
    • Keep the landing page a landing page when signed in
    • The rep picker, the upload scroll, and the credit on the landing page no longer stick
    • Name the brand on the pages, not in the header
    • Bring the public pages into the landing page's visual world
    • A stored set is completed or skipped, never neither
    • Pick duration on minutes + seconds wheels
    • Duration is a real field, with its own thumb wheel
    • Give tablets the phone layout, and unpin the breath counter
    • Retire the dumbbell from every exported asset
    • Drifting wordmark in the footer, and a readable return ramp
    • One definition of "visible" in the scroll reveal
    • One FAQ answer open at a time, and pass AA on all of them
    • Landing page animations no longer skip on first scroll
    • Landing sections reveal one at a time, with their own pace
    • Tally mark replaces the dumbbell as the logo
    • Violet field with a glow, wider return ramp
    • Tally-mark background texture, bidirectional reveals
    • Scroll cue stays anchored, the field draws cleanly with each stroke
    • Lead-in before the first cross-out, longer beat between reps
    • The wordmark fills with the scrolling colour field
    • Restore mobile header nav on public pages, centre FAQ answers on open
    • Breathe: guided recovery breathing sessions
    • Hold a screen wake lock while a workout timer runs
    • Bare squats/lunges are not forced to the loaded lift
    • Emailed sign-in code so installed apps can authenticate
    • Accent color cycling via logo tap + accent-colored hero strike
    • Page transitions feel smooth when you move between public pages
    • Floating rest pill breathes at recovery tempo while running
    • Move-up nudge judges the last session against the current prescription
    • Last panel no longer brands unfilled sets "skipped"
    • Saving a bodyweight set no longer fails validation
    • Longer placeholders fit the rep picker without clipping
    • Finish the rep/weight scroll wheel and define where it opens
    • Full-bleed opaque dumbbell home-screen icons
    • Consistent press feel + hand cursor on every button, app-wide
    • Preserve source 'Max' reps instead of rewriting to 'AMRAP'
    • Nudge demo video down so the RepSheet wordmark clears the dynamic island
    • Hero says 'No more spreadsheets.', gym-built benefit card, 3-day-trial CTA, app-wide button press pop
    • Stop cropping the demo video; unify phone mockup
    • Replace HeroSteps with a muted looping product-demo video
    • Polish the upload flow and demo video
    • Shorter dates on the volume chart
    • Toggle the Reference weight between suggested and previous in the move-up banner
    • One-tap complete-target button on each set row
    • Session recap in the completed-workout share text
    • Show selected-image thumbnail in uploader before parse
    • Classify parse errors and never hang the spinner
    • Progress bar uses the ink color, not the purple accent
    • Snap move-up suggestion to plate-friendly ladder
    • Add Manage billing button for subscribed users
    • In-app contact form at /contact
    • Add Terms of Service page at /terms
    • Add Privacy Policy page at /privacy
    • Hero copy rewrite with measured "20 seconds" claim
    • Purple share card for programs
    • Rebrand to one-word RepSheet
    • Slide-4 image + wiggling flip-card hint
    • Make the RPE info tappable on mobile
    • Logger polish: prescription descriptor, first-time target, auto-scroll to Finish, swap/skip fixes
    • Carousel mobile polish, hero copy, restore in-session swap
    • Mobile-first polish for logger, nav, dashboard, and landing
    • Mobile vertical scroll-reveal hero
    • Sharpen hero headline + subcopy
    • Violet brand accent on the primary token
    • Footer as a strong, shareable close
    • Hero step diagram, mobile menu, footer + nav polish
    • Sign-up page + Start tracking CTA + sticky header
    • Landing page redesign
    • Hero Get Started button signs you in with Google
    • Autosave workouts as drafts with resume and Complete button
    • Share program progress with AI
    • Add /move free movement timer
    • Move-up nudge improvements + missed workout catch-up link
    • Last-workout mini charts on progress page + swap bug fix
    • Next workout card clickable, program dot color, rest/weeks edit guards
    • Nudge weight bump when previous session hit top reps at sub-8 RPE
    • Timer no longer fires twice; current-set highlight and pause-to-record
    • Add next workout preview card to dashboard
    • Show previous workout reference when logging
    • Landing page share preview image
    • Share completed workout to X with stats drop and total volume reps
    • Public shareable program links with image preview
    • Workout volume badge and dedicated per-set volume breakdown page
    • Count down duration timer from the high end of the range
    • Navigation guard dialog for dirty program edits with bulk save and discard
    • Warn on unsaved workout logger changes with save or discard dialog
    • Haptic feedback on set completion and rest timer done with iOS Safari support
    • In-app rest and duration timers with 90s default rest and range parsing
    • Show link to existing clone instead of clone button when revisiting source program
    • Show program quota on dashboard for starter users
    • Update community programs feature description on billing page
    • Active programs, community programs, duration estimation, parser fixes
    • Remove forced camera capture, allow file picker on mobile
    • Error handling for upload/parse, accept all image types
    • Mobile camera support, subscription gate, fresh workout form
    • Gate all app routes behind active subscription
    • Highlight active nav link in header
    • Correct X handle to dividend_solo
    • Mobile responsive header, dashboard, and chart
    • Install RepSheet as an app on your phone
    • Add back-to-program link on workout log page
    • Edit program (name, weeks, rest periods), delete program
    • Quality-of-life improvements and chart fixes
    • Add dashboard stats, progress charts, nav links, fix redirect
    • Add workout logging with RPE tooltip
    • Add screenshot upload, AI parsing, and program creation
    • Initial project setup with landing page