Loading...

Release Notes

What's New

Updates and improvements to NavRun

September 27, 2026

v2026.9.27.3

When Strava is having trouble, NavRun tells you on the site too, then brings in the runs it missed.

Strava's own API goes down sometimes, and a run you saved during one of those stretches used to sit invisible until a full sync caught it up. Now, while Strava is having trouble, a note on the site says so, once per outage, so a run you just saved is never mistaken for lost. Once Strava is back, any runs from that window come in on their own, with no action from you.

v2026.9.27.2

When Strava is down, the app says so.

If Strava is having an outage, the iPhone app now shows a short note above the tab bar so a run that has not appeared yet does not look lost. Close it and it stays closed until the next outage.

v2026.9.27.1

Gear: the shop page can reach the shop now.

The Gear page kept saying "Gear is not available right now" even once there was a shirt to sell. The shop that prints and ships NavRun gear was turning away the page's requests for its product list, because of how our server introduced itself when asking. It now asks under NavRun's own name, and the shirt, its sizes and its prices come through.

September 26, 2026

v2026.9.26.4

Training: the Season row's fourth race was not actually missing, and "Holiday Lake 50K++" reads whole now.

Two follow-up fixes to yesterday's Season row work, found on the founder's own iPhone. On his exact screen width, three races happened to fit with the third landing flush against the right edge, so nothing hinted the row scrolled and his fourth race read as missing; the row now always leaves the next race visibly peeking past the edge. And "Holiday Lake 50K++" was rendering as "Holiday Lake" over "+", dropping the "50K" entirely, because the two plus signs were treated as their own place to break the line; every race name now only wraps at a real word, never inside one.

v2026.9.26.3

Training: five small fixes to the Season and History rows, found against a real week.

The "This week" note now says "Sun is planned" instead of "Sun to Sun are planned" on a week where only Sunday is left. Every race in your Season row shows now, not just the first three that fit on screen, with its full name. "Build toward" a race is now a normal tappable card, left-aligned, instead of centered red text with big gaps between rows. A History group only says "ended" for a race that has actually happened, so a build toward a race still months out no longer claims it is over. And every History card now names its own weeks ("Aug 10 to Aug 24") instead of the same "That build" on every one, with every stretch of weeks with no race behind them grouped into one "Other weeks" card at the end instead of scattered through the list.

v2026.9.26.2

Training screens no longer cut off along a line above the tab bar.

On the Training week page and a few other screens (training load, plan detail, and your weekly reports), scrolling to the end used to stop short: a hard line about 20 pixels above the floating tab bar cut the last card off before you could read it. The space reserved for the tab bar was shrinking the scrolling area itself instead of living inside it. Now every one of those screens scrolls all the way, and the last card stays fully readable behind the glass tab bar, the same way the rest of the app already worked.

v2026.9.26.1

Training: the week page's day list has its line, dots and bar back.

The day-by-day list on a training week is rebuilt. A line runs down the left with a dot for every day: solid green once it's done, a bigger dot for today, an outline in the run's own colour for what's ahead. Each day's run type gets its icon and colour back, planned miles sit on the right with a check once you've run it, and the workout notes and what you actually did are their own lines again, kept separate from the plan. A new bar under each day shows how much of the plan you covered, filled in the same colour as the day's run type. Today still gets its own dark card on the line, and a back-to-back long-run weekend still gets its own marker.

September 25, 2026

v2026.9.25.13

Every screen now shows the same week as Today.

The week page used to add up its own numbers differently than the main Today screen, so a week you had already put real miles into could still show up short there. Now every screen, the week page, the This week card, the You tab, and your training history, reads the same week Today already shows you. Walks count toward your time on feet, the same way they already did on Today. Hill-repeat days you run from now on will show as done; older hill days will catch up once we run a one-time refresh, which has not happened yet.

v2026.9.25.12

Training: the This week card fits your screen, and race names never cut off.

Three follow-up fixes to yesterday's Training tab work. The This week card no longer runs past the right edge of the screen. When you skipped a day between two runs, the note under the card now says "Mon and Wed are your runs" instead of the misleading "Mon to Wed". And every race name in the Season row now wraps onto two lines instead of trailing off with "...".

v2026.9.25.11

Training: fixed the week totals, the day times, and the Season row for real weeks.

Four fixes to the new Training tab. "This week" now shows your real time and miles even before you have picked a build. The day-by-day note under it reads right on a week with a skipped day in the middle, instead of naming the same days twice. Long run times ("3:53") no longer get cut off on the day strip. And the Season row of upcoming races no longer looks clipped: it scrolls, and every race name gets the room it needs.

v2026.9.25.10

The race form now says your goal time back in plain words, and asks if a time can't be right.

  • On the web and iPhone race forms, a line under your goal time now says it back as you set it: "6 hours 30 minutes, about 12:00 a mile."
  • If a goal is too fast to be real for its distance, the line asks instead, with the likely fix one tap away: "Did you mean 6 hours 30 minutes?"
  • Nothing is ever blocked from saving, and a slow goal is never questioned. This only catches a time typed into the wrong boxes, like six minutes thirty instead of six hours thirty.
v2026.9.25.9

The NavRun mark at login is sharp now, at every size.

The mountain-and-lockup above "Good to see you again." was a low-resolution image stretched wider in a recent update, so the contour lines and tagline went soft. It now draws from the same vector artwork as the rest of the brand kit, so it's crisp on every screen, light or dark.

v2026.9.25.8

Fixed a test that was crashing the build's own check on itself.

The calendar's weekday-header test ran synchronously against the calendar screen's own code, which crashed the test runner silently instead of reporting a failure. It runs the same way the rest of its file already does now, and the calendar itself was never wrong.

v2026.9.25.7

The calendar's key now shows what each mark looks like, not just its name.

Every word in the calendar's legend (Planned, Run, Easy, Quality effort, Long day, Race, Phase) now sits next to the same shape and colour the calendar itself draws for it, so a mark on the grid is never a guess.

v2026.9.25.6

Training: your build, your week, your season, all in one tab.

The Training tab now leads with the shape of your build: which week you are in, how many days to race day, and a chart of every week's time on your feet or miles, planned next to what you actually ran. This week gets its own card with the day-by-day strip; your season lists what is next and what came after; your history keeps every week you have already run, grouped by the build or race it belonged to. Moving a run to another day, making it easier, and previewing what a new build looks like before you commit to it are all one tap away, never a separate screen. The calendar shows the same story month by month, with a legend that only ever lists what is actually on screen.

v2026.9.25.5

The training calendar's week now starts on Monday everywhere, not just most places.

The calendar grid itself had been quietly starting weeks on Sunday while the rest of Training (the chart, the week page, "This week") already started on Monday. Its columns, and the band above them showing what part of your build each week falls in, now agree with everywhere else.

v2026.9.25.4

The training calendar's day marks, phase band and legend match the approved design, and today reads clearly.

  • A day that was both planned and run used to show a ring and a dot together; it now shows one mark, coloured by the effort (green for easy, orange for quality) or a pill for a long day.
  • The phase band ("Peak", "Taper") is now one thin strip above the whole month, not a strip repeated behind every week.
  • The legend now reads "Planned, Run, Easy, Quality effort, Long day, Race, Phase" instead of listing each phase name a second time, and "September 2026" now draws in NavRun's bold italic display type.
  • The current week sits on its own light background, and today's date is now a solid circle instead of a faint outline.
v2026.9.25.3

Three more Training-tab display bugs fixed: the calendar's day marks, moving a run, and previewing a new race build.

  • The training calendar now marks each day (a dot for a run, a ring for a planned one, a flag for race day) and lists a legend under the grid; a stray wavy line that used to draw through the month title is gone.
  • Moving a planned run to another day now shows the whole week, not just the two days involved, and the line explaining what the move trades places with, which used to be missing, now shows.
  • "Make this my A race" now opens straight to the new build's preview, with both the current build and the new one shown side by side, instead of sometimes showing the race page underneath it.
v2026.9.25.2

The Training tab's title, chart and week page match the approved design more closely, and a week summary reads right when only one day has a run.

  • "Training" and the week's own lead line ("Week 12 of 12 · 1 day to race day") now draw in NavRun's bold italic display type, and the weekly chart now sits inside its own card with a small-caps title, instead of loose on the page.
  • A week with exactly one day's run used to read "Mon to Mon are your runs." It now reads "Monday is your run." -- and a week that started running on a day other than Monday now names that real day, not a hardcoded one.
  • A week page's status card ("Week 11 of 12 · easier week", "10 days to race day.") is now a dark full-width card, matching how every other NavRun screen shows a status band.
v2026.9.25.1

No change on screen. The Training tab's screenshot fixtures now carry a full 12-week build (previously they held only the last four weeks), so the tab's own preview and design-review captures show the same week-by-week chart and season list a runner with an active block actually sees, instead of a thin stand-in.

September 24, 2026

v2026.9.24.20

The idle Out Here screen's Start button now says the same thing to everyone.

  • Its small print reads "Share with anyone, like your friends, family, pacers and crew" for every runner, whether it is your first time opening Out Here or your fiftieth, instead of naming who has already been shared with.
v2026.9.24.19

A race week's flag no longer draws into the Training chart's own header.

  • The last fix here covered a bar landing flush against the top of the weekly chart. A race week's flag, drawn just above that bar, could still poke into the "Time on your feet" title and clip the Distance chip next to it. The chart now keeps room for the flag too.
v2026.9.24.18

Two Training-tab display bugs fixed: a week page's title, and a chart that could draw into its own header.

  • A week page's title now always reads "Week of Sep 14" style, instead of occasionally showing the raw date NavRun stores internally.
  • A week whose planned time or miles landed exactly on a round chart line (an even 8 hours, a round 70 miles) no longer draws its tallest bar flush to the top of the chart with no room above it.
v2026.9.24.17

Every door into the Training tab still opens, after this week's rebuild.

  • The tab bar's calendar shortcut moved from the Training tab's toolbar to the "Calendar" link on its Season header a few weeks back; this closes out the tests and the old references so it stays that way.
  • A revision push (the kind you'd get when a race changes and your plan needs a look) now opens straight to that week with the revision sheet already up, proven end to end rather than only in isolation.
v2026.9.24.16

The Training calendar now shows your build, and its legend only lists what's actually on screen.

  • Each day now shows a ring for a planned easy or hard effort, a dot for a run you logged, a pill for a long day, and a flag for a race, so a glance at the month tells you plan and reality at once.
  • A thin band above each week now shows what part of your build it falls in, when you have an active plan.
  • The legend below the grid only ever lists the marks actually present that month, never the full set.
  • Race days on the calendar are now the same warm colour everywhere else in Training, not the app's alert red.
  • From a day's detail sheet, a planned run you can still move now offers "Move to another day" and "Make it easier" right there, both opening the week page with that already started.
v2026.9.24.15

Fixed: a race strategy for a very long race now comes through.

  • A race of any length now gets a full race plan, mile by mile, start to finish. The longest races used to stop partway through.
  • If a plan still can't be made for any reason, the page now says so in plain words instead of showing raw error text.
v2026.9.24.14

A training week and its days can now report the elapsed time behind them, stops included.

  • No change on screen yet. The weekly plan API now carries two new numbers: how long you were out on your feet across a whole week, and on each day, both counting hiking alongside running the same way the rest of the app already does. This lays the groundwork for the Training tab to show both.
v2026.9.24.13

Out Here's Start button is now a full rust pill, and its small print does not overclaim.

  • The Start Out Here button is now the same rounded pill shape as the Talk button you use once a session is live.
  • Its small print now says "Share it with Mom, Sam and Jess" instead of "get your link", since tapping Start opens your share sheet rather than sending anything on its own.
v2026.9.24.12

The Out Here tab now says what it does, shows your people and their last voice note, and your next race when it is close.

  • Never used it before? The Out Here tab now opens with a headline and three plain steps, so it is clear what tapping "Start Out Here" makes before you tap it.
  • Used it before? You see your people by name, one tap to hear their last voice note, and your next race if it is within 60 days, right from the tab.
  • The battery reminder is still there, just smaller.
v2026.9.24.11

The app can now read your last voice note and your next race, and has the words ready for the new Out Here screen.

  • No change on screen yet. The app can now decode the newest voice clip and next race the API added, and knows when a race is close enough to show (0 to 60 days out). The new screen's copy, headline, three steps, and the button's small print, is also in place, ready to be wired up.
v2026.9.24.10

Fixed: the Out Here tab's icon, a line of text hidden by it, and the login screen's tiny logo.

  • The person-and-signal icon on the raised Out Here tab button had almost no room around it inside the disc; a first attempt at fixing it made the icon bigger and the problem worse. It now sits well inside the disc with even padding all round, in light and dark.
  • On the Out Here tab before you start a session, the last line ("Voices land whenever your phone finds signal.") could sit behind the raised button. It now clears it.
  • The Training tab's list could run its last row under the floating tab bar with no room to spare. It now has the same clearance every other tab already had.
  • The NavRun logo on the login screen was small enough that its tagline was unreadable. It's now about twice as wide.
v2026.9.24.9

Out Here's idle screen now checks your blocked list once per request, not twice.

  • No change on screen. The idle screen's API was looking up who you've silenced twice for the same request; it now does it once.
v2026.9.24.8

Out Here's idle screen can now know your last voice note and your next race.

  • The Out Here screen's API now carries the newest voice clip waiting for you to hear, and your next race when it is within 60 days. Nothing changes on screen yet; this lays the groundwork for the app to show them.
v2026.9.24.7

Race day in Out Here now looks like the rest of the app.

  • The next-stop card on both the runner's and crew's Out Here hub is now the same dark band card as everywhere else on race day, with the app's rounded display type for station names and times, and headline text (mile and time, station names) now reads in the app's signature italic.
  • Stop names on the whole-day strip no longer cut off mid-word ("Hawk G…"); a long name wraps onto a second line instead, crew stops are labelled in rust, and the line fills in as you move through the day.
  • The finish and stopped screens now show time on feet in the app's big rounded numerals.
  • "End the day" is a tappable card with the round chevron every other Out Here card uses, not a bare line of text.
  • Talk to your people is a full rust pill again, and the typed-note button reads at full strength.
  • A voice note in your people's preview now has its own round play button, and a text message shows the sender's initial, right on the hub.
v2026.9.24.6

Fixed: a crew link opened cold could flash and vanish before Out Here loaded.

  • Tapping a crew link right as the app was still launching could briefly show the crew screen and then close it a moment later. It now waits until the app has finished loading before opening.
v2026.9.24.5

Crewing and pacing now happen in Out Here too.

  • Crewing with the app now happens in Out Here. Open the link once and Out Here shows your next stop, when to leave and how long the drive is from where you are, with one button to crew parking.
  • Say which stop you'll be at, get a nudge 10 minutes before you need to leave, and see every place you can meet your runner.
  • Pacers see when their runner arrives and can say when they're running together.
v2026.9.24.4

Fixed: the "Aa" button on Out Here's race-day hub now opens.

  • Tapping "Aa" to type a note to your people was silently doing nothing. The button now opens the typed-note sheet every time.
v2026.9.24.3

Race day lives in Out Here now.

  • Open Out Here on race morning and it shows your first stop, your list and one Start.
  • Once you're moving it shows your next stop and when you'll get there, the whole day, and your people, all on one screen.
  • With no signal it works your next stop out from your plan.
  • Voice notes run up to 5 minutes, and a note that can't send yet waits and goes when you have signal instead of being lost.
v2026.9.24.2

Fixed: the whole-day strip's stop labels no longer overlap on a phone.

  • On the navrun.app/live/<token>/ page, the labels above and below the whole-day line could print on top of each other on a phone screen, making some stop names unreadable.
  • The line now sits in the middle of a taller strip, with real room above and below it, and a long stop name shortens with an ellipsis instead of wrapping onto the next label.
v2026.9.24.1

Family and friends following the web link now see the race day, not just a dot.

  • Anyone you send a navrun.app/live/<token>/ link to, with no app and no account, now sees where you are on the course, the next stop and when you are due there, and the whole day with every stop labelled, before and during the run.
  • After you finish or stop, the page shows a short summary of the day for 12 hours: the finish or stop time, the miles, the time on your feet, and who was out there with you.
  • Nothing about the app changes. This is the same page family and friends already had, with more of the day on it.

September 23, 2026

v2026.9.23.8

Out Here groundwork: a retried note can no longer land twice.

  • The messages endpoint now recognizes a retried post and hands back the original note instead of adding a second one, for a client that sends it an id.
  • Nothing changes on the app you have today: it sends no id yet, so it behaves exactly as before this change.
v2026.9.23.7

Out Here voice notes can now run up to 5 minutes, up from 1.

  • The crew page's recorder, its "up to X" hint, and the server's own ceiling all moved from 60 seconds to 5 minutes.
  • Storage limits already covered it: a 5-minute clip is still well under the size cap.
  • The iOS app is unchanged and keeps its own 60-second cap for now.
v2026.9.23.6

Race day groundwork: one picture of the day for the runner, the crew and the pacers.

  • The server can now hand the Out Here screen the whole day in one read: every aid station with its arrival window, cutoff and how much room there is, who from your crew will be at each stop, crew parking with Apple and Google Maps links for every stop crew can reach, and when to leave to get there.
  • Crew and pacers can say which stop they will be at, and a pacer can say where their stretch starts and ends. Everyone holding the link sees the names.
  • When you pass an aid station with tracking on, the time is kept, so your people see when you came through.
  • You can end a run as finished or as stopped at a station. Your people see where you stopped and that your live spot is off, and the finish keeps every voice note from the day to play back in order.
  • Nothing changes on the app you have today. The new screens arrive in the next app update.
v2026.9.23.5

The Elevation tile on the activity detail screen no longer lights up solid orange for a flat run.

  • Distance, time, pace, and elevation now sit on the same quiet tile. A run with no climb on it used to draw Elevation as a solid filled block, calling attention to the one number the run didn't come with, even though nothing went wrong.
v2026.9.23.4

The app now names the real data source in the way-back note, instead of a generic placeholder.

  • The note under an edited name, distance, time, or climb now reads "Strava has 5.03 mi" or "Apple Health has 2,130 ft," matching what the website already says, instead of the generic "The data source has..." the app used when it had no way to know.
v2026.9.23.3

The app now reads the "edited by you" rules from one place on the server, and cleans up six more spots the last pass missed.

  • The incline slider and the list of run types you can pick now come from the server instead of a second, separate copy in the app, so the two can't drift apart again.
  • Every failed save now shows the server's own sentence instead of the app's own guess at one.
  • Clearing the climb field and saving used to silently do nothing; it now puts the climb back to what the data source recorded.
  • Name, type, and note now carry the "you set this" mark too, joining distance, time, and climb.
  • Hill repeats gets its own color on a plan, instead of sharing one with intervals.
  • The way back note no longer claims "your watch" said something when it doesn't know that. "It was flat" is easier to read on the ask card, and its two buttons work correctly with UI tests again.
v2026.9.23.2

The "edited by you" mark on a run now reads as real sentences, and a treadmill's incline slider stops at 15%, a number a real treadmill has.

  • The mark under a changed name, type, distance, time, climb or note used to run two thoughts together with no punctuation, and called every one of them "your number," which was flatly wrong for a name or a note. It now says what you actually did ("You set this climb.") and only offers a way back to the data source when there's really a value to go back to.
  • Answering "It was flat" now says exactly that, instead of crediting you with a climb number you never typed and offering a link back to a blank the data source never had.
  • The web incline slider used to allow up to 40%, a grade no treadmill runs at; it now stops at 15%, the same ceiling as the app, in the same 0.5% steps, and both read that number from one place on the server so they can't drift apart again.
  • A run edited from metric now sees its error messages in its own units (km and meters), not miles and feet under a km label.
  • The incline slider picks up NavRun's own colors instead of the browser's default blue thumb.
  • Hill repeats now has its own color on a plan, instead of sharing red with intervals.
v2026.9.23.1

Races you added yourself now get offered the matching course from our race pages even when you typed the distance into the race name.

  • A hand-added race like "Mountain Masochist Trail Run 50 Miler" is the same race as our catalog's "Mountain Masochist Trail Run," but the name comparison used to require an exact match, so it never showed up as an offer. NavRun now also checks your name with a trailing distance like "50 Miler," "50K," or "100" removed, so the offer shows up when the date and distance already line up.

September 22, 2026

v2026.9.22.7

Fixed a few buttons that were nearly invisible on a light background, like "It was flat" on the treadmill climb card.

  • "It was flat," "Cancel" in the add-the-climb panel, and "Cancel" in the Edit run sheet were set in cream text meant for the dark header, so they were unreadable on the cream cards below it. They now pick up ink that matches the card they're sitting on, on both light and dark themes.
v2026.9.22.6

Internal: closed a gap in the "Add the climb" sheet where tapping Save before typing a number could send an empty request.

  • Typing a hand-entered climb and tapping Save with nothing typed now just closes the sheet, the same way an unchanged "Edit run" already does, instead of sending a request the server would reject.
v2026.9.22.5

The iPhone app can now set a run's elevation, distance, moving time, name, type and a "how it felt" note by hand.

  • A treadmill run that came in with no climb, the usual Strava behavior on a treadmill activity, now shows a card on the run asking whether the belt was on an incline. Add the climb with a slider over the run's distance, or type the number your watch recorded, and NavRun works out the feet. "It was flat" clears the ask for good.
  • The ··· button on a run now opens Edit run: name, type, distance, moving time, climb and a "how it felt" note, all in one sheet. Anything you change shows what the data source originally said, with a way to put it back.
  • Any value you've set carries a small mark on the run's stat tiles, so it's clear which numbers are yours.
v2026.9.22.4

A run that came off a treadmill with no climb now asks whether the belt was on an incline, right on the run's own page.

  • A treadmill run with no elevation shows a card asking "Was the belt on an incline?" You can set the incline and see the climb it works out to, type in what your watch recorded instead, or say "it was flat" so it stops asking. An "Edit run" button opens the full form: name, type, distance, moving time, climb, and a note on how it felt.
  • Anything you set this way keeps a small mark and a link back to what your data source said, so you can always put it back.
v2026.9.22.3

Internal: a run's elevation, distance, moving time, name, type and a "how it felt" note can now be set by hand, and the number stays put.

  • Setting one of these locks it in. A later sync keeps updating everything else about the run, but never touches what you set, and you can always put it back to what the data source said. A treadmill run that arrives with no climb can be marked "it was flat" so it stops asking. No screen for this yet: web and iOS are next.
v2026.9.22.2

Hill repeats is now a real workout type, and a few plan days that were showing raw text like "hill_repeats" or "temp" now read in plain words.

  • Your plan, push notifications and check-in emails could previously show a workout as the raw word a plan-writer used internally, like "hill_repeats, 9.0 mi" instead of "Hill Repeats, 9.0 mi." Hill repeats is now a workout type NavRun knows by name, with its own label, color and icon everywhere a day shows up, on the web and in the app.
  • A handful of other stray labels ("hills," "strength," "taper," "temp," "progression") are folded into the closest real type, so every plan day you see from here reads in plain words.
  • If a day still shows up with a workout name NavRun doesn't know yet, it now keeps that name instead of quietly turning into "Easy Run." A day meant to be hard should never look like an easy one just because the label was unfamiliar.
  • Fixed two spots that could still show the wrong thing even after this: a revision preview that mislabeled an unrecognized day as "Rest," and mid-week check-in emails that printed the raw workout name instead of its label.
  • Internal: the API that the app and Claude read your plan through now sends the plain-words label directly, instead of the app having to guess one from the internal word on its own.
v2026.9.22.1

Internal fix: syncing your full run history no longer refetches every already-synced run from Strava, and it keeps your notes.

  • Yesterday's fix for Strava edits showing up in NavRun (below) worked, but a full history sync re-checked every run you'd already synced the same expensive way a single edited run needed, which could run into Strava's rate limit on a long history. A full sync now only refreshes the plain numbers (distance, elevation, name) for runs it re-checks, without the extra round trip, and it no longer clears a run's notes or thins out its stored data along the way. A moved run date also re-checks your training calendar for that day, so a rescheduled run lands on the right day.