Skip to content

v7.0.0

Latest

Choose a tag to compare

@marionbarker marionbarker released this 25 Jul 15:58

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.

⚠️ iOS 18 required

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

Full Changelog: v6.1.0...v7.0.0