Skip to content

Releases: loopandlearn/LoopFollow

v2.2.12

11 Mar 19:51
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
Choose a tag to compare

What's Changed

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

v2.2.5

08 Aug 16:45
Compare
Choose a tag to compare

Manual Notes

This release is a bit bigger than usual. Let’s go through what’s new:

Changes

Item Description
🔔 Alarms Alarms have moved from the tab menu into settings.
📲 Information Display Settings These have been completely rewritten in SwiftUI, resulting in a new layout of the screen. It maintains the same functionality as before, allowing you to enable/disable info display items and rearrange them by pressing and holding.

New Features

Item Description
🔄 Remote Setting and Cancellation of Temp Target for Trio with Presets This new remote functionality is located in the second tab menu position, where Alarms used to be. Note that the remote command requires the roles “careportal, readable” set on the token used. In the future, this space can be also used for setting overrides for Loop users. Temporary targets will appear as an override in the graph, displayed with a green banner, and will trigger the override start/stop alarms if enabled.
🔐 NS Status OK NS Status shows if Read or Read and Write is allowed. Write is enabled if the token has careportal or admin roles.

Info Display Items Improvements

Item Description
💡 Basal Displays both scheduled and current basal rates. If the current basal is the scheduled one, only one value is shown. For example, “0.9 -> 0" for a zero temp basal. This applies to both Trio and Loop.
🕒 IAGE A new item showing insulin age based on the Insulin Cartridge Change event.
📊 ISF For Trio, displays as scheduled -> current ISF. If the current ISF is equal to scheduled, only one value is shown. For Loop, the scheduled ISF is displayed.
📅 Updated For Trio, displays when the information was uploaded to Nightscout.
🎯 Target For Trio, displays as scheduled -> current target. If the current target is equal to scheduled, only one value is shown. For Loop, the current target range is displayed. If the low and high values in the range are the same, it shows as a single value.
💉 TDD For Trio, showing TDD, which only displays if Dynamic ISF is enabled in Trio.
🥕 CR Displays the current carb ratio for both Loop and Trio.

Bug Fixes

Item Description
🔄 Looping Symbol Restored for Trio.

Technical Updates

Item Description
🔧 Resolved Xcode log error message "Logging Error: Failed to initialize logging system. Log messages may be missing.”
📈 Maintain Support Bumped rexml from 3.2.9 to 3.3.2.
📱 iOS 15.6 or newer required Minimum iOS requirement is now 15.6 (up from 13.4). This change is necessary to use newer features in Swift and should not affect any users since all devices capable of running 13.4 can upgrade to 15.6. We aim to keep the requirements as low as possible to support older devices.
🛠️ Mac Build Added support for building with Xcode in detached mode (not in a branch or tag).

Final comments

As usual, this version is available for Mac Xcode and Browser Build (and in up to three instances if you need to follow more than one looper). Don’t hesitate to give us feedback on this new release!

Happy Looping! 😊

What's Changed

Full Changelog: v2.2.4...v2.2.5

v2.2.4

11 Jul 23:07
Compare
Choose a tag to compare

Manual Notes

  • Show eventual BG value and loop status for Trio
  • The info table “Pred.” is renamed to “Min/Max”; it displays the minimum and maximum values of the predictions
  • Correct the DeviceStatus Download Count and Dynamic BGData Download Limit:
    • Bug fix reduces unnecessary data downloaded from Nightscout from around 68kb to 1kb
    • If your Nightscout site has glucose data uploaded from Loop/Trio in addition to glucose from Dexcom, all data will be downloaded and displayed, even when more than 1 day is selected
  • Required updates:
    • Enable Browser Build to continue working
    • Update security

What's Changed

Full Changelog: v2.2.3...v2.2.4

v2.2.3

25 Jun 14:46
Compare
Choose a tag to compare

Manual Notes

  • Prediction Curves for Trio: The app now displays all 4 prediction curves.
    • The "eventually" number and the min/max prediction values are not currently shown for Trio (as they are for Loop)
    • This will be addressed in a future release
  • Background Update Alerts: You will now receive an alert if the app has stopped updating in the background, ensuring you stay informed at all times.
  • Bolus Display Differentiation: Automated and SMB boluses are now displayed as blue triangles, while manual boluses remain as blue dots, making it easier to differentiate between them.
  • Graph Height Reset: The height of the graph now resets with each data refresh. Previously, a high prediction or BG value could cause the graph scale to remain stuck until the app was restarted.
  • Improved Dexcom Share Code: The Dexcom share code has been improved and is now less prone to crashes.

What's Changed

Full Changelog: v2.2.2...v2.2.3