Every public release of RunBar since the canonical site moved to runbar.run. Older internal builds (0.1.0–0.1.12) are not listed — they all preceded full Strava API Agreement compliance.
For the unabridged list with full release notes, see GitHub releases.
v0.1.21 · Restart onboarding actually restarts
May 6, 2026
- Settings → Restart onboarding now walks you through the steps again. Previously the SwiftUI Window scene was reusing the existing view so
stepstayed at the Done screen — clicking Restart re-opened the window straight on the Finish button.
v0.1.20 · Save & reconnect actually reconnects
May 6, 2026
- The Save & reconnect button in Settings → Strava → Manage now actually triggers the OAuth round-trip and opens Strava in your default browser. It used to only persist the credentials and dismiss the sheet — a confusing dead end.
v0.1.19 · Accurate target suggestions
May 6, 2026
- Fixed the "A more realistic target?" banner telling 85 km/week runners that their 4-week average was 15 km. Root cause: the engine was reading raw activities (rolling 7-day cache, only one week of data) instead of the persisted weekly snapshots. Engine now reads the right source.
v0.1.18 · 8-week history seeded on connect
May 6, 2026
- On a successful Strava connect, RunBar now fetches eight weeks of running history in memory, extracts the weekly aggregates, and persists only those derived snapshots. Raw activities older than seven days are never written to disk — fully conformant with the API Agreement, while the goal seed and the popover sparkline reflect reality from the very first launch.
v0.1.17 · Sharper goal seed math
May 6, 2026
- The seed’s divisor now adapts to the actual span of available data instead of dividing by a hard-coded four weeks — correct on a fresh sync, where the rolling cache only fills one week.
- The in-progress ISO week is now excluded from the average. A Monday morning install would otherwise drag the seed down to zero.
v0.1.16 · Clean state on disconnect
May 6, 2026
- Disconnecting Strava now also wipes the 8-week sparkline history. Previously the derived snapshots survived a disconnect, leaving the new account’s popover showing prior-account bars under a fresh "0 runs found" line.
- New diagnostic logging in Console.app: when Strava returns activities but none of type Run / TrailRun / VirtualRun, the type histogram is printed (e.g.
Walk×3 Workout×7) so you can tell immediately whether you OAuthed against the wrong account or the runs are filtered by type.
v0.1.15 · Three quality fixes for BYO users
May 6, 2026
- The onboarding goal seed is now reactive: BYO users routinely land on the Goal step before the first sync has pulled any activities, so the target updates the moment data arrives rather than getting stuck on the 40 km fallback.
- Settings → Strava gains a Reconnect button when an error surfaces. One click instead of disconnect-then-reconfigure.
- Webhook receiver now honours Strava’s
aspect_type=deleteevents and removes the matching activity from the local store within seconds — closing the gap between the API Agreement’s 48-hour delete SLA and the 7-day rolling cache.
v0.1.14 · Official Strava brand assets
May 6, 2026
- The Connect with Strava button now uses the official Strava-provided asset (orange, retina-ready). The Powered by Strava attribution in the popover footer also switches to the official horizontal logo, auto-toggling between black and white variants for light / dark mode.
- Settings → Sources collapses into a single Strava card. While the shared RunBar Strava app is queued for quota approval, the Configure flow takes you straight through registering a personal API client — no more two-card confusion.
v0.1.13 · Strava API Agreement compliance + runbar.run launch
May 6, 2026
- Rolling 7-day cache: activities fetched from Strava are purged automatically after a week. Long-term history is preserved as locally-derived weekly snapshots — never raw Strava records.
- Disconnect now wipes Strava data, not just OAuth tokens, per the revocation clause.
- AI coach disclaimer now cites the Strava API Agreement explicitly and labels the data sent to the LLM as derived aggregates (computed locally), never raw Strava data. Recommendation surfaced in-app: use a paid Gemini API tier — Google may use free-tier prompts for model improvement, paid tiers do not.
- Site moves to runbar.run with new /privacy /terms /contact pages.