Releases: loopandlearn/LoopFollow
v2.2.12
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
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
- Add battery drop alarm by @dnovosel in #370
- Contact improvements by @bjorkert in #374
- Color selection for Contact Image by @mikebash in #349
- Add rileylink offset calculations by @dsnallfot in #376
- Task improvements by @bjorkert in #379
- Estimated bg delay by @bjorkert in #375
- Add alarm log and some cleanup by @bjorkert in #381
New Contributors
Full Changelog: v2.2.10...v2.2.11
v2.2.10
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
- Predictions for released version of Trio by @marionbarker in #373
Full Changelog: v2.2.9...v2.2.10
v2.2.9
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
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:
- In LoopFollow Settings/Integrations/Contact, select Enable Contact BG Updates
- 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.
- 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
- Override and temp target functionality by @bjorkert in #329
- Trio remote control by @bjorkert in #328
- Align Carb and Bolus Guardrail Behavior by @bjorkert in #336
- Require auth for meal bolus by @bjorkert in #337
- Clarification about scheduled meal and bolus by @bjorkert in #338
- Meal seconds from current time by @bjorkert in #339
- Align temp target guardrails with Trio by @bjorkert in #340
- TRC debug info by @bjorkert in #335
- Fix crash for long lines without spaces by @bjorkert in #341
- Contact image with bg information by @bjorkert in #342
- Trio remote controll feature toggle by @bjorkert in #344
Full Changelog: v2.2.7...v2.2.8
v2.2.7
Manual Notes
- Use Units from the Profile Store Instead of the Top-Level Units
- 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
What's Changed
- Set LSMinimumSystemVersion resolve macOS compatibility issue by @bjorkert in #324
- Filter out cal entries by @bjorkert in #326
- Update Gemfile.lock for Fastlane 2.223.1 by @marionbarker in #327
Full Changelog: v2.2.5...v2.2.6
v2.2.5
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
- Info Table improvements by @bjorkert in #318
- Bump rexml from 3.2.9 to 3.3.2 by @dependabot in #319
- Temp target for Trio by @bjorkert in #321
- Add IDEPreferLogStreaming env. variable to Launch and Profile actions by @bjorkert in #322
- Add IAGE Support and Migrate InfoDisplaySettings to SwiftUI by @bjorkert in #323
Full Changelog: v2.2.4...v2.2.5
v2.2.4
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
- Show the eventually value and loopstatus by @bjorkert in #309
- Update Fastlane to 2.221.1 by @marionbarker in #312
- update runners to macOS 14 in yml files by @marionbarker in #314
- Correct DeviceStatus Download Count and Dynamic BGData Download Limit by @bjorkert in #315
- Rexml update by @bjorkert in #316
Full Changelog: v2.2.3...v2.2.4
v2.2.3
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
- Trio predictions by @bjorkert in #304
- Alert if the app is not active in the background by @bjorkert in #306
- Differentiate the display of Automated and Manual boluses by @bjorkert in #305
- Reset topbg for each cycle by @bjorkert in #307
- Hardened dexcom share and removed dead code by @bjorkert in #308
Full Changelog: v2.2.2...v2.2.3