Skip to content

Releases: loopandlearn/LoopFollow

v2.4.0

16 May 20:04

Choose a tag to compare

Manual Notes

Enable the Trio Remote Command functionality to be used when building LoopFollow with the main (released) branch.

This capability was available for testing with the closed beta testing for Trio; but to avoid confusion, it was not displayed as an option when using an app built from the main branch of LoopFollow.

Now that Trio 0.5.0 and newer is available at nightscout/Trio; users will want to be able to access those settings from a released version of LoopFollow.

This update makes that possible.

To use Trio Remote Control with Trio. Must build using the dev branch of Trio.

To configure Trio Remote Control, see https://triodocs.org/configuration/settings/features/remote-control/.

What's Changed (Automatically Generated)

Full Changelog: v2.3.1...v2.4.0

v2.3.1

23 Apr 04:04

Choose a tag to compare

Manual Notes

Starting April 21, 2025, a GitHub Build Action error in the Check Upstream and Keep Alive step was observed for the Open-Source apps that use that feature. This included Loop, Trio, LoopFollow, LoopCaregiver, and iAPS.

These apps relied on a third-party repository that kept our forked app repositories alive longer than the 60-day limit that GitHub established. GitHub disabled that repository for violating the GitHub terms of service. The loss of that repository caused all builds, manual or automatic to fail in the Check Upstream and Keep Alive section. This happens before the build action syncs the fork.

In this release, the LoopFollow repository was updated to resolve this error.

You will need to manually Update the Fork and then use Actions to Build your app.

Other changes include

  • modifications to what is found in the log
  • detection of stale enacted time stamps, which are ignored
  • addition of the charging indicator (that works only with Trio closed beta - coming soon to Trio)

What's Changed

Full Changelog: v2.3.0...v2.3.1

v2.3.0

04 Apr 00:06

Choose a tag to compare

Manual Notes

The first automatic build for LoopFollow and it has automatic certificate renewal included:

  • Be sure to add the Variable 'ENABLE_NUKE_CERTS` and set it to true if you haven't already done so
  • See LoopDocs: Add Variable

What's Changed

Full Changelog: v2.2.12...v2.3.0

v2.2.12

11 Mar 19:51

Choose a tag to compare

Manual Notes

LoopFollow 2.2.12 was released just one day after LoopFollow 2.2.11.

  • A recent code change introduced crashes in recent versions.
  • We believe we've now identified the source of the issue and have fixed it.

We're sorry for the inconvenience and appreciate your patience. Please update and rebuild the app for the best experience. Thanks for your support!

More Details

The issue was caused by the timer being accessed from both the main thread and the queue handling tasks, leading to race conditions. The fix replaces it with a DispatchSourceTimer, which runs on a dedicated dispatch queue, ensuring the timer is only accessed from the correct thread.

What's Changed

Full Changelog: v2.2.11...v2.2.12

v2.2.11

10 Mar 15:45

Choose a tag to compare

Manual Notes

📢 LoopFollow 2.2.11 is here! 🚀

This update brings some exciting new features and improvements to make LoopFollow even more reliable and helpful.

Warning - we only thought we had fixed the intermittent crashes with v2.2.11. We tried again with v2.2.12 and we think we got it. So please skip 2.2.11 and build 2.2.12 to get all the new items mentioned here without the crash issues.

Here’s what’s new:

🔋 Battery Drop Alarm – A new alarm that can alert you if the battery is draining faster than usual. Perfect for catching situations like a forgotten flashlight left on!

🎨 Contact Improvements – You can now choose colors for contacts and have the option to display trend and delta in separate contact cards for better clarity.

⏳ Expected BG Delay

  • For Bluetooth heartbeat devices, the expected BG delay value is reported to help you choose the device that provides the shortest delay in BG readings for the looper's CGM
  • This is especially useful if you are saving your old G7 Sensors so you have a choice
  • Pro-tip: note the Bluetooth device name for the G7 Sensor that is in use and when you remove it, write it on the used G7 sensor

🔧 Stability & Logging Enhancements – (we did fix some crash reasons but missed one)

  • ✅ Improved internal task management to reduce crashes.

  • ✅ Added logging when an alarm is triggered to help with troubleshooting.

Enjoy the new features!

What's Changed

New Contributors

Full Changelog: v2.2.10...v2.2.11

v2.2.10

22 Feb 16:16

Choose a tag to compare

Manual Notes

  • This release restores the display of prediction lines generated by Trio version 0.2.3 and earlier
    • The prediction lines display for Trio 0.2.3 and earlier was modified by mistake in v2.2.9

What's Changed

Full Changelog: v2.2.9...v2.2.10

v2.2.9

01 Feb 23:17

Choose a tag to compare

Manual Notes

Highlights of this update.

  • Add ability to Set and Cancel Overrides on the Loop phone (when properly configured)
  • Add ability to use an external bluetooth device (such as RileyLink or expired Dexcom device) to act as a heartbeat and save phone battery while making alarms more reliable
  • Add a logging capability with files that can be examined or shared
  • Various bug fixes and code improvements

Please refer to the Loop and Learn documentation page for more information on how to configure and use the LoopFollow app.

What's Changed

  • Update Browser Build files to fastlane 2.225.0, macos 15 and Xcode 16.2 by @marionbarker in #346
  • Fallback on suggested if enacted is not present by @bjorkert in #345
  • Fix crash by safely handling optional casting for ‘duration’ by @bjorkert in #347
  • Fix date parsing for Temp Basals using ISO8601DateFormatter by @bjorkert in #350
  • Bluetooth Heartbeat by @bjorkert in #351
  • Bugfix, show delta string with +- sign in notifications by @bjorkert in #367
  • Prevent Rec. Bolus Alarm from Repeating by @bjorkert in #364
  • Limit displayed override duration to 'Hours of Prediction' after current time by @bjorkert in #363
  • Enable Setting and Canceling Loop Overrides by @bjorkert in #362
  • Improved Duplicate Handling in Nightscout BG Data Processing by @bjorkert in #365
  • Alert missed reading stepvalue change by @bjorkert in #366
  • Adapt LoopFollow to Trio 1.0’s Updated Device Status Upload Behavior by @bjorkert in #368

Thanks also to @dsnallfot for his help.

Full Changelog: v2.2.8...v2.2.9

V2.2.8

23 Dec 21:20

Choose a tag to compare

Manual Notes

This year’s Christmas gift from Loop and Learn is the ability to display up to 3 different BG values in real-time on your Apple Watch via LoopFollow. On newer versions of watchOS, calendar updates no longer work, so instead, contact cards are used, where the image updates with the value. Update the app and follow the instructions below to get started.

To use the new Contact Feature:

  1. In LoopFollow Settings/Integrations/Contact, select Enable Contact BG Updates
  2. Search for the Loop-Follow-BG contact.
    • Contact name is based upon the app display name, making it possible to use three instances of LoopFollow showing three different bg values on the watch face.
  3. Add the LoopFollow-BG contact to your Apple watch face using the Watch app on your phone

Merry Christmas & Happy New Year!

Note that many features mentioned in the automated list below are in preparation for the next release of Trio. These features are only available for those doing the private testing for that release and are hidden from people using the released LoopFollow code. The LoopFollow remote support for Trio 0.2.2 is unchanged by these features.

What's Changed

Full Changelog: v2.2.7...v2.2.8

v2.2.7

27 Oct 15:15

Choose a tag to compare

Manual Notes

  1. Use Units from the Profile Store Instead of the Top-Level Units
  2. Time Zone Support for Profile Data Based on Looper's Time Zone

Details for 1:

  • The units used within the profile's store (store.units) can differ from the units specified at the main level (profileData.units) when using Loop.
  • Since the units are primarily used for interpreting profile data (e.g., basal rates, carb ratios), it makes sense to prioritize the units specified within the profile store.
  • This change modifies the code to use the units from the profile's default store (store.units) when loading profile data.

Details for 2:

The person running the LoopFollow app can be in a different time zone than the person running the app which is being followed.

  • When the looper is in a different time zone than the LoopFollow user, it's important to use the looper's time zone for accurate schedule-based setting displays (e.g., carb ratio, target range, basal rates).
  • This change updates the code to use the time zone specified in the profile (store.timezone) when determining the current profile data.

Thanks to Odd Stoltenberg for reporting these two issues.

What's Changed

Full Changelog: v2.2.6...v2.2.7

v2.2.6

29 Sep 15:53

Choose a tag to compare

What's Changed

Full Changelog: v2.2.5...v2.2.6