LoopFollow v7.0.0 was released on 25 July 2026
Manual Notes
📢 LoopFollow 7.0 is here!
This is a big release — rebuilt charts, an onboarding guide, custom alarm sounds, smarter alarms, and a long list of fixes.
As announced earlier, this release raises the minimum iOS version from 16.6 to 18.0. Before you update: This release requires iOS 18 (iPhone XS/2018 or newer). If your phone can't update, your current version keeps working fine.
✨ New features
- A new setup wizard walks you through getting started — choosing your data source, connecting Nightscout or Dexcom, picking units, and setting up your first alarms with good defaults.
- The graphs (blood sugar, treatments, predictions, stats) have been rebuilt to look and feel the same but run smoother and more reliably.
- You can now use custom sounds for alarms, not just the built-in tones.
- The low-alarm early warning now works properly when following someone on Trio, and a bug that stopped it firing early for Loop users is fixed.
- Three new optional settings (all off by default): keep Low BG alarms quiet while sugar is already rising, keep High BG alarms quiet while it's already falling, and skip the low-battery alarm while your phone is charging.
- Numbers you're tracking (like IOB, battery, sensor age) can turn yellow or red as a visual warning when they cross limits you set — no alarm sound, just a color change.
- A new banner at the top of the app clearly flags when something's wrong — like a bad Nightscout connection, wrong password, or a dying sensor — instead of failing silently.
- An optional warning for when your Nightscout database is getting full, so you can clean it up in time.
- Search now works in the alarms list, the "add alarm" screen, and the menu (including settings).
- Plus smaller fixes: carb dots no longer overlap on the chart, a crash from pasting a Nightscout token is fixed, forecasts stay on the graph properly, expired snoozed alarms clear themselves out, and a few display glitches with insulin numbers and timestamps are corrected.
Thanks to everyone who contributed, tested, and reported issues — and a special shout-out to @dnzxy and the Trio team for the chart collaboration. Good things keep flowing between the two projects, in both directions.
What's Changed
- Move release flow to PR-based and add CODEOWNERS for branch protection by @bjorkert in #649
- Diagnose and skip rogue Nightscout profile records by @bjorkert in #635
- Prevent stale foreground-restart latch from tearing down freshly renewed LA by @bjorkert in #656
- Recover Live Activity after APNs 410 token expiry by @bjorkert in #657
- Auto-restart Live Activity when iOS sends .ended by @bjorkert in #659
- Deduplicate Dexcom Share readings to fix delta always zero by @bjorkert in #661
- Remove storyboard, migrate to SwiftUI layout by @bjorkert in #608
- Suppress silent passive notifications in willPresent handler by @bjorkert in #655
- Bump fastlane to 2.235.0 and jwt to 3.2.0 (CVE-2026-45363) by @bjorkert in #663
- Fix BG history truncation caused by duplicate readings from multiple uploaders by @bjorkert in #662
- Match Trio's override/temp-target colors for non-Loop backends by @bjorkert in #668
- Quick-Pick Boluses and Meals for remote commands by @bjorkert in #603
- Add Nightscout WebSocket support for real-time data updates by @bjorkert in #606
- Default debug logging on and prompt for description when sharing logs by @bjorkert in #627
- Add optional yesterday BG comparison line to main graph by @bjorkert in #665
- Scale info data table text with Dynamic Type by @bjorkert in #667
- ITMS-91061 - privacy manifest for Charts framework by @luborjurena in #666
- Remove the Nightscout-based remote command path by @bjorkert in #618
- Cap prediction cone to shortest predBG array length by @quarktwain in #653
- CI: Re-run lint when a PR's base branch changes by @bjorkert in #676
- Remove empty Nightscout group left over from #618 by @bjorkert in #675
- Release v6.2.0 by @marionbarker in #684
- Sync v6.2.0 version bump to dev by @marionbarker in #683
- Sanitize Nightscout token to prevent WebSocket crash on launch by @bjorkert in #688
- Add search to the alarms list by @bjorkert in #694
- Add search filter to the Add Alarm sheet by @bjorkert in #681
- Fix stale snooze state in alarm list by @bjorkert in #678
- Prefer structured ISF/CR from device status over reason string by @bjorkert in #677
- Bump fastlane to 2.237.0 by @bjorkert in #701
- Only clear the forecast when the data source changes by @bjorkert in #707
- Remove migration step 1 and the legacy UserDefaults framework by @bjorkert in #698
- Add Nightscout database size info row and alarm by @bjorkert in #697
- Migrate charts to Swift Charts by @bjorkert in #704
- release.sh: verify latest script before running by @bjorkert in #682
- release.sh: set gh pr repo explicitly by @bjorkert in #685
- release.sh: drop [skip ci] from version bump; allow manual tag_on_main by @bjorkert in #686
- Add directional/charging skip toggles to Low, High and Battery alarms by @bjorkert in #692
- Mark scheduled runs with nothing to build as cancelled instead of successful by @bjorkert in #705
- Use NightscoutUtils.constructURL for the Nightscout web viewer URL by @bjorkert in #712
- Add fallbacks for missing TDD and timestamp in devicestatus by @bjorkert in #709
- Format Rec. Bolus with the pump's bolus increment by @bjorkert in #700
- Remove pre-iOS 18 Live Activity code paths by @bjorkert in #711
- Gate startup on storage readiness for Before-First-Unlock recovery by @bjorkert in #710
- Add custom alarm sounds by @bjorkert in #699
- Add dismissable top banner for Nightscout, Dexcom, and heartbeat issues by @bjorkert in #696
- Add search to the Menu by @bjorkert in #695
- Add color thresholds to the Info Display by @bjorkert in #693
- Add new section to export APNS setting by @codebymini in #714
- release.sh: use merge-commit for release PRs to preserve release notes by @bjorkert in #687
- Bug fix: carb dots overlapping SMB dots on the chart by @aug0211 in #650
- Migrate main LoopFollow target to a synchronized folder group by @bjorkert in #702
- Fix Mac Catalyst build by @bjorkert in #715
- Remove unneeded UIKit imports by @bjorkert in #713
- Parameterize bundle ID and build workflow for identical sister-repo code by @bjorkert in #690
- Add first-run onboarding guide by @bjorkert in #673
- Extend predictive low alarm to Trio by @bjorkert in #680
- Fix graph settings not honored on the small graph by @bjorkert in #717
- Move main chart in realtime while dragging on the small graph by @bjorkert in #718
- Draw temp targets at the BG level they target instead of in the override strip by @bjorkert in #720
- Show active override and temp target with remaining time on the Live Activity and in the remote command views by @bjorkert in #719
- Use Trio's colors for the forecast curves by @bjorkert in #723
- Clear stored predBGs when clearing the OpenAPS forecast by @bjorkert in #724
New Contributors
- @quarktwain made their first contribution in #653
Full Changelog: v6.1.0...v7.0.0