Skip to content

Releases: nightscout/Trio

Trio v0.6.0

07 Oct 02:37
cc4075f

Choose a tag to compare

Trio v0.6.0 Pre-release
Pre-release

Trio v0.6.0 Public Beta Update trio

This update introduces APNS feedback for Remote Commands — a major enhancement enabling secure and reliable feedback push notifications between LoopFollow and Trio.

It also formally includes all additions to Trio dev between 0.5.1.0 and this release. If you have been running the latest version of dev, v0.5.1.28, you will have had access to all these changes except for the breaking change to remote command capabilities and the automated browser building schedule update.

Additionally, several key bug fixes and refinements improve Live Activity behavior, Watch performance, DanaKit integration, and CGM data stability.


Highlights

Breaking Change

  • Implement APNS feedback for Remote Commands (#740)
    Adds end-to-end APNS feedback handling for remote command requests (used by LoopFollow x Trio integrations).
    Contributed by @bjorkert

    ⚠️ Trio 0.6 (or newer) requires LoopFollow 4.0 (or newer) for these remote commands to function. ‼️
    More info at LoopFollowDocs


New Features


Improvements & Optimizations

  • Optimize Watch Managers to skip processing when no watch is connected (#674, @marv-out)
  • Decouple IoB from determination (#736, @kingst)
  • Improve error messaging for invalid glucose values (#725, @kingst)
  • Narrow y-scale for AGP chart for better visual clarity (#763, @MikePlante1)
  • Disable Liquid Glass (iOS 26 UI styles) (#765, @MikePlante1)
  • Shift GitHub to check for updates every Sunday and build 2nd Saturday of each month (#794, @marionbarker)

Fixes

Live Activity

  • Fix disappearing Live Activity and cleanup (#688, @10nas)
  • Fix override banner in Live Activity (#653, @marv-out)
  • Don’t show Live Activity when turned off in Trio Settings (#694, @10nas)

CGM & Glucose

  • Fix race condition between Share Client and BLE for G6 CGMs (#703, @kingst)
  • Adds handling for plugin CGM managers to backfill glucose (#714, @kingst)
  • Temporarily comment out CGM backfill logic to prevent duplicate or re-added readings (#738, @kingst)

Watch & Background

DanaKit

OmniBLE / OmniKit

  • update OmniXXX: handle interrupted bolus during pod fault correctly (#711 @marionbarker)

UI & Miscellaneous


Contributors

Huge thanks to all contributors for this release:
@bjorkert, @10nas, @marv-out, @bastiaanv, @Sjoerd-Bo3, @kingst, @marionbarker, @MikePlante1, @avouspierre, @aidanlane, @Lamercho

Full list of pull requests in v0.6.0

PR Title Author
#582 feat: display latest dev version in settings for non-main builds @Sjoerd-Bo3
#607 external insulin to the bolus shortcuts @avouspierre
#653 Fix override banner in Live activity @marv-out
#673 Fix Swift 6 error in startBackgroundTask method @marv-out
#674 Optimize watch managers to skip processing when no watch is connected @marv-out
#688 Fix Disappearing Live Activity, Cleanup @10nas
#694 Don’t Show Live Activity When Turned Off in Trio Settings @10nas
#698 fix: statistics summaries not calculating on initial view load @Sjoerd-Bo3
#700 fix: version number mismatch between iOS and Watch apps @Sjoerd-Bo3
#703 Fixes a race condition between share client and BLE for G6 CGMs @kingst
#706 Update wordings of carb shortcuts @avouspierre
#707 fixes decimal separator on the top of treatment view according region @Lamercho
#711 update OmniXXX: handle interrupted bolus during pod fault correctly @marionbarker
#712 fix: Accidentally tapping on suffix of a field does not focus input @aidanlane
#714 Adds handling for plugin CGM managers to backfill glucose @kingst
#719 Avoid starting an action at xx:00; when GitHub resources can be impacted @marionbarker
#720 chore: update DanaKit @bastiaanv
#725 Improve error messaging for invalid glucose @kingst
#728 chore: Update LibreTransmitter support for dev @marionbarker
#735 Add steps in Onboarding for uploading to Nightscout @MikePlante1
#736 Decouple IoB from determination @kingst
#738 Comment out CGM backfill logic @kingst
#740 Implement APNS feedback for remote commands @bjorkert
#741 fix(DanaKit): prevent pump deactivation after onboarding @bastiaanv
#754 Fix typo and linting @MikePlante1
#755 update DanaKit @marionbarker
#762 update submodules: translations and other updates @marionbarker
#763 Narrow y-scale for AGP chart @MikePlante1
#765 Disable Liquid Glass (iOS 26 UI Styles) @MikePlante1
#773 chore: update DanaKit @bastiaanv
#776 upgrade rexml per dependabot security warning @marionbarker
#794 Shift GitHub to check for updates every Sunday and build 2nd Saturday of each month @marionbarker

Trio v0.2.9

02 Aug 21:02
a50a3f6

Choose a tag to compare

Trio v0.2.9 trio

What's Changed

In this release, the LibreTransmitter submodule is updated to add direct connection to the new European Libre 2 sensors.
It also updates the translations in LibeTransmitter.

Issue Report for dev: #722
Trio PR: #727

Adds these three PRs from LibreTransmitter:

Thank you to everyone who contributed: @marionbarker, @dabear, @kingst

Trio v0.2.8

07 Jul 03:45
bc26bbd

Choose a tag to compare

Trio v0.2.8 trio

What's Changed

Full Changelog: v0.2.7...v0.2.8

Issue Resolved

Thank you to everyone who contributed: @marionbarker @itsmojo

Trio v0.5.1

25 Jun 12:29
eedec21

Choose a tag to compare

Trio v0.5.1 Pre-release
Pre-release

Trio v0.5.1 Public Beta Update trio

This update builds on the v0.5.0 public beta with focused bug fixes, UI refinements, and reliability improvements across the app. With over 240 commits, 50+ merged pull requests, and contributions from more than a dozen developers, v0.5.1 is a robust mid-cycle beta update.

Important

This release brings back Browser Build abilities
The Add Identifiers step now successfully executes both when identifiers are already present and after a partial deletion, validating the fix across different scenarios.

Highlights

  • Bluetooth & Onboarding: Resolved an issue where Bluetooth couldn’t be enabled post-onboarding denial.
  • Crash Fixes: Addressed app crashes in high temp target settings on iOS 17.6.1 and various stability issues in glucose processing, FPU values, and Watch Live Activities.
  • Improved User Feedback: Enhanced authentication failure messages, added override confirmation dialogs, and polished override/adjustment behaviors.
  • Charting & Insights: Introduced daily glucose percentile charts and improved logic for backdated carb entries and Dynamic ISF calculation.
  • Accessibility & UX: Increased tappable areas for critical buttons, refreshed SF symbols for expiration timers, and localized several logs and messages.
  • Testing & DevOps: Automated unit tests now run on PRs; CI and fastlane scripts have been hardened for release workflows.
  • Translations: Multiple updates from Crowdin ensure language coverage is up to date.

Thank you to all contributors!

@dnzxy @marv-out @kingst @t1dude @bjornoleh @bastiaanv @MikePlante1 @bjorkert @Sjoerd-Bo3 @10nas @ebouchut @marionbarker

Special mention: @Lamercho as a first-time committer!

Thank you to all the translators

grostecki, Hilli, artist.ksh99, phuteleco, magnus.r, AngusLuo, ebouchut, andreasstokholm, kristkand, Neptun22, friendocrino, Sjoerd-Bo3, bjornoleh, nicolevanelst, nathangiovannini3, francescaneri, Websaliba, MikePlante1, SalemOmar, tokh1420, m.slootweg, andreadicataldi, anton.ov, Yanhak, Danielsnallfot, Lamercho, Zevin, Taviav0751, maria.s.ypma, liroyvh, mountrcg, avouspierre, dgskrkt, ViTuDia, capathor, idoodler, Typ1er

Full list of pull requests in v0.5.1

#509 – Fix for #505 & #506 + Crowdin translations 2025‑05‑17 (@t1dude)

#508 – Ensure user intent tracking for BLE denial (#503) (@dnzxy)

#512 – Fix Auto Dev Version GH Action (@dnzxy)

#521 – Tap-target size fix for Save buttons in Contact Image Views (@dnzxy)

#513 – Fix glucoseSource crash (@dnzxy)

#518 – Fix FPU processing for out-of-range values (@dnzxy)

#519 – Safe defaults & guardrails during onboarding for Pump and other Trio settings (@dnzxy)

#532 – Use dynamic Hourglass SF symbols for Pod expiration timer (@dnzxy)

#524 – Improve authentication-failure feedback in Treatments view (@dnzxy)

#525 – fix[DanaKit]: small fixes (@bastiaanv)

#522 – Add unit test for translation error prevention (@bjorkert)

#552 – Crowdin translations (2025‑05‑21) + fixes for #505 & #506 (@t1dude)

#553 – Localize info-log message notifications (@kingst)

#548 – Fix elapsed time display (@dnzxy)

#559 – Update README with new domains & unified formatting (@ebouchut)

#556 – Various cosmetic fixes (@dnzxy)

#577 – Update “search”: removed dynamic CR, added log, fixed Dynamic ISF (@Lamercho)

#523 – Allow carb backdating in Treatments view (@marv-out)

#550 – Filter out carbs & temp targets for non-manual entries (@bjorkert)

#562 – Add locking to Swinject resolver (@kingst)

#568 – Rename “fatty meal” to “reduced bolus” (@Lamercho)

#590 – Ensure determine basal runs even when Swift error detected (@kingst)

#601 – Decrease Dynamic ISF sample threshold from 85% to 75% (@kingst)

#589 – Update description of Max Allowed Glucose Rise for SMBs (addresses #535) (@Lamercho)

#561 – Fix checking presence of alive branches (@bjornoleh)

#585 – Exclude FPU entries from carb statistics calculation (@Sjoerd-Bo3)

#614 – sync[DanaKit]: add missing pumpDelegate logs & disable DanaRS‑v1 (@bastiaanv)

#599 – Improve Live Activity reliability & restart mechanism (@Sjoerd-Bo3)

#619 – Replace logic for checking backdated carbs (@marv-out)

#617 – Add confirmation dialogs for stopping overrides & temp targets (@marv-out)

#581 – Update CODEOWNERS: add @marv-out and remove inactive owners (@Sjoerd-Bo3, @dnzxy)

#618 – Prevent looping when pump is suspended (@marv-out)

#593 – Improve shortcuts words & translations (@dnzxy)

#622 – Refactor 400 Glucose Guard (@dnzxy)

#636 – Crowdin updates (2025‑06‑05) (@t1dude)

#638 – Fix breaking comma in AddCarbPresentIntent (@dnzxy)

#629 – Use different fetch limits for determine basal vs autosens (@kingst)

#640 – Add debug logging for failing determineBasal() calls (@marv-out)

#654 – Update Max IOB help tip (@MikePlante1)

#649 – Fix app icon (@MikePlante1)

#648 – Update JS bundling (@dnzxy)

#625 – Automated unit tests on PRs as a GitHub Action (@bjornoleh)

#658 – Update table of identifiers (@MikePlante1)

#659 – hotfix/dev fastlane 2.228.0 (@marionbarker)

#668 – Display as iPhone app on iPad (@MikePlante1)

#662 – Data-race fix & build adaptations for iOS 26 (@marv-out)

#613 – Add daily versions of glucose percentile & distribution charts (@MikePlante1)

#675 – Fix missing Live Activity determination (@10nas)

#683 – Disable flaky tests (@kingst)

#686 – Hotfix/add identifiers: Bring in updates to restore Add Identifiers to dev branch (@marionbarker, @dnzxy)

Trio v0.2.7

24 Jun 22:41
31edb6f

Choose a tag to compare

Trio Hotfix v0.2.7 trio

This maintenance release restores Add Identifiers functionality and updates fastlane tooling.

Important

This release brings back Browser Build abilities

What Was Changed?

  • Fastlane:
    Switched to a custom fastlane build based on version 2.228.0 with PR #29596 applied.
    This resolves a recent Apple-side issue that prevented the Add Identifiers action from succeeding.

    • The Gemfile now references a specific SHA from the loopandlearn/wip_2.228.0_pr29596 fork.
    • bundle update fastlane applied; updated Gemfile.lock committed.
    • The fastlane/Fastfile now sets the platform explicitly in configure_bundle_id.
  • Build Reliability:
    Add Identifiers step now successfully executes both when identifiers are already present and after a partial deletion, validating the fix across different scenarios.

Thank you to everyone who contributed! @marionbarker @dnzxy

Trio v0.2.6

05 Jun 19:37
d8a5d1e

Choose a tag to compare

Trio v0.2.6 trio

This maintenance release improves CI robustness and updates project metadata.

What Was Changed?

  • GitHub Actions:
    build_trio.yml now checks for alive-main and alive-dev branches independently and creates only the missing ones. This avoids relying on a single combined flag and ensures cleaner setup.

  • CODEOWNERS:
    Removed JS-specific ownership and added @marv-out to global owners.

Thank you to everyone who contributed! @bjornoleh @marionbarker @dnzxy

Trio v0.5.0

17 May 00:48
f445d78

Choose a tag to compare

Trio v0.5.0 Pre-release
Pre-release

Trio v0.5.0 – Public Beta trio

Soon… is NOW.

This public beta release is the culmination of thousands of hours of work by dozens of contributors since late 2023. Trio has been rebuilt from the ground up for clarity, reliability, and usability—with a new look, powerful new features, and a strong focus on user experience and safety.

This isn’t just another app update. This is the next chapter of open source AID.

What’s New

  • Brand New Interface
    A completely redesigned UI across the app and watchOS—clean, modern, and easier to use.

  • All-New Onboarding
    Step-by-step setup for new and returning users with smart defaults and safety checks.

  • Rewritten Backend & Data Storage
    Entire app logic and data storage rewritten for speed, stability, and future flexibility.

  • Remote Commands & iOS Shortcuts
    Trigger actions like carb entry, bolus, overrides or temporary targets remotely [1] or through automation.

  • Smarter Settings
    Helpful hints, guidance sheets, and a built-in search function—just like iOS Settings. The all-new Trio Settings.

  • New Bolus Calculator
    More accurate, simple dosing with clearer breakdowns and improved safety logic.

  • Reworked Statistics
    All in-app statistics and graphs have been overhauled and extended.

  • Live Activity Widget
    Real-time loop data with optional chart—configurable and tailored to your preferences.

  • Live Data on Watch
    Highly customizable “contact widgets” for glucose, IOB, COB, and more, always visible.

  • All-New Integrations
    Nightscout, Tidepool, and Apple Health connections have been rebuilt from scratch—faster and more stable.

  • Safety Improvements
    Dynamic ISF guarding (7-day required data), safer edge-case behavior, and improved support for high-insulin-resistance setups.

  • Updated Language & Translations
    Clear, friendly, and easy-to-understand. Fully localized with ongoing help from our Crowdin contributors (translators still welcome).

[1] requires Loop Follow v2.4.0

Important Notes for Public Beta Testers

Important

  • All users must complete the Onboarding Wizard after upgrading.
  • If migrating from a previous 0.2.x build, 24 hr treatment data and therapy settings will be preserved.
  • Your pump and CGM connections will be brought over automatically.
  • Algorithm settings, dynamic ISF and some integrations (like Nightscout) will reset.

This public beta is intended for experienced users and long-time Trio 0.2.x users, not beginners.
→ Visit TrioDocs for instructions and help on how to update and build.
→ Feedback is welcome via GitHub Issues or the community Discord

Note

A Note on Compatibility
Upgrading to Trio v0.5.0 from 0.2.x is smooth and straightforward. The new Onboarding Wizard will guide you step by step.

Be Aware:

  • Once you have upgraded to v0.5.0, going back to 0.2.x is not supported.
  • If you choose to downgrade, you will need to set everything up again from scratch.

We have designed this release to be a stable and long-term foundation—so when you are ready, you can upgrade with confidence.

Thanks to all Contributors

A heartfelt thank you to every contributor, tester, translator, and supporter who made this release possible. Your time, care, and belief in open source AID is what powers Trio—not just the app, but the community behind it. This beta is yours.

Contributors

@dnzxy @marv-out @MikePlante1 @mountrcg @marionbarker @dsnallfot @tmhastings @bjorkert @kskandis @kingst @AndreasStokholm @Sjoerd-Bo3 @bastiaanv @bjornoleh @avouspierre @t1dude @paulplant @aug0211 @ebouchut @mkellerman

Translators

magnus.r, phuteleco, AngusLuo, ebouchut, Danielsnallfot, Hilli, grostecki, andreasstokholm, Pepijn Joost, capathor, liroyvh, andreadicataldi, nicoleeva, Yanhak, Lamercho, bjornoleh, avouspierre

Trio v0.2.5

22 Apr 21:28
0309f6a

Choose a tag to compare

Trio v0.2.5 trio

This Hotfix Release preserves build ability for browser builders after a tooling that was used to keep repositories from going stale was taken down by GitHub for Terms of Service violations.

Background

The gautamkrishnar/keepalive-workflow has been taken down by GitHub. We now know this is a permanent change, as the action violates GitHub's terms of service. This PR makes a minimal change to the current build_trio.yml which renables building with GitHub actions.

What Was Changed?

  • Comment out the section that is not available and insert an echo for the log file.
  • A permanent fix will need to be implemented later, this is a bandaid to prevent build workflows from failing.

Testing

This was testing by team member @bjornoleh in his Trio fork here.


Thank you to everyone who contributed and for the very quick coordination across iOS OS-AID apps for this hotfix release!
@bjornoleh @marionbarker @dnzxy

Trio v0.2.4

18 Apr 16:26
285c8e1

Choose a tag to compare

Trio v0.2.4 trio

This release includes critical fixes for pump managers, improvements to G7 sensors (solving some cutouts and connection loss), and updates to browser build tooling for upcoming platform requirements (the infamous "April 24 deadline").

Pump Manager Updates

  • OmniPod communication accuracy
    Fixed an edge case where podSuspended was misreported and added tryToValidateComms() to confirm pod state before reporting. Integrates OmniBLE PR141 and OmniKit PR49.
    (#469, via @marionbarker, @itsmojo)

  • MinimedKit basal‑rate rounding
    Ensures temporary basal rates are rounded to valid increments before enactment, preventing duplicate entries and invalid‑rate errors.
    (#486, via @MikePlante1)

G7 SensorKit Enhancements

  • Smarter session‑end detection
    Adds improved detection for end-of-session states using connectivity and algorithm state decoding.
    • This improves performance in which G7 sensor readings have not been appearing in the main Trio screen for use in looping. There can still be issues, but this reduces the number.
    • The underlying PR (to G7SensorKit) fixes an issue where an AID misinterpreted an active Dexcom G7 sensor as ended, causing it to enter a prolonged scanning state. It improves this "session end detection", reducing false positives. Users confirmed it reduces missed readings and improves stability, though not a complete fix in all cases.
      (#483, via @marionbarker, @ps2)

Browser Build Tooling

  • macOS 15 & Xcode 16.2 migration
    Upgrades workflows‘ macOS and Xcode versions in preparation for App Store policy changes.
    (#473, via @bjornoleh)

  • Fastlane & Xcode consistency
    Bumps Fastlane to 2.227.1 and Xcode to 16.3 to align with LoopKit’s build setup.
    (#482, via @marionbarker)

  • Customization patch support
    Introduces a patches/ directory and templating mechanism for project‑specific modifications during GitHub‑hosted browser builds, simplifying one‑off adjustments.
    (#476, via @marionbarker)


Thank you to everyone who contributed, tested, and provided feedback on this release!
Contributors: @marionbarker, @itsmojo, @MikePlante1, @bjornoleh, @ps2

Trio v0.2.3

28 Jan 20:30
dbb44c2

Choose a tag to compare

Trio v0.2.3 trio

This release streamlines certificate management in browser build workflows, rolls in key OmniBLE/OmniKit fixes, and cleans up issue workflows and documentation ahead of upcoming builds.

Browser Build Certificate Automation

  • Auto‑renew Distribution Certificates
    • Detects invalid or expired iOS Distribution certificates and provisioning profiles during the browser build process.
    • Automatically creates or renews them as part of the GitHub Actions browser build steps, eliminating the manual annual renewal burden.
      (#453, via @bjornoleh)

OmniBLE & OmniKit Submodule Updates

Workflow & Docs Improvements

  • Issue Tracking Enhancement

    • Switched from tag‑based to type‑based classification for GitHub issues, clarifying workflows and automations.
      (#461, via @Sjoerd-Bo3)
  • Documentation Fix

    • Corrected a broken link in the README to ensure all resources resolve correctly.
      (#442, via @ebouchut)

Setup Note:

To enable browser build’s automatic certificate renewal, add an Action variable:

  1. Go to Settings → Secrets and variables → Actions → Variables
  2. Click Create new organization variable (or repository‑level if not using an org)
  3. Name it ENABLE_NUKE_CERTS with the value true
    This makes the renewal step visible and editable without using secrets.

Thank you to everyone who contributed to this release! 🎉
Contributors: @bjornoleh, @itsmojo, @marionbarker, @Sjoerd-Bo3, @ebouchut