Releases: nightscout/Trio
Trio v0.2.8
Trio v0.2.8 
What's Changed
- Release/0.2.8: Fix an error in accounting for insulin with a pod fault during a bolus by @marionbarker in #692
- OmniBLE PR: LoopKit/OmniBLE#144
- OmniKit PR: LoopKit/OmniKit#52
Full Changelog: v0.2.7...v0.2.8
Issue Resolved
Thank you to everyone who contributed: @marionbarker @itsmojo
Trio v0.5.1
Trio v0.5.1 Public Beta Update 
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
Trio Hotfix v0.2.7 
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 customfastlane
build based on version2.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 theloopandlearn/wip_2.228.0_pr29596
fork. bundle update fastlane
applied; updatedGemfile.lock
committed.- The
fastlane/Fastfile
now sets theplatform
explicitly inconfigure_bundle_id
.
- The
-
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
Trio v0.2.6 
This maintenance release improves CI robustness and updates project metadata.
What Was Changed?
-
GitHub Actions:
build_trio.yml
now checks foralive-main
andalive-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
Trio v0.5.0 – Public Beta 
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 to0.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
Trio v0.2.5 
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
Trio v0.2.4 
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 wherepodSuspended
was misreported and addedtryToValidateComms()
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 apatches/
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
Trio v0.2.3 
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
- Stability & Fault Prevention
- Merged critical fixes from OmniBLE PRs [#135](LoopKit/OmniBLE#135), [#136](LoopKit/OmniBLE#136), [#137](LoopKit/OmniBLE#137), [#138](LoopKit/OmniBLE#138), [#139](LoopKit/OmniBLE#139), [#140](LoopKit/OmniBLE#140) and OmniKit PRs [#44](LoopKit/OmniKit#44), [#45](LoopKit/OmniKit#45), [#46](LoopKit/OmniKit#46), [#47](LoopKit/OmniKit#47), [#48](LoopKit/OmniKit#48) to prevent communication faults and improve overall pump connectivity.
(#445, via @itsmojo, @marionbarker)
- Merged critical fixes from OmniBLE PRs [#135](LoopKit/OmniBLE#135), [#136](LoopKit/OmniBLE#136), [#137](LoopKit/OmniBLE#137), [#138](LoopKit/OmniBLE#138), [#139](LoopKit/OmniBLE#139), [#140](LoopKit/OmniBLE#140) and OmniKit PRs [#44](LoopKit/OmniKit#44), [#45](LoopKit/OmniKit#45), [#46](LoopKit/OmniKit#46), [#47](LoopKit/OmniKit#47), [#48](LoopKit/OmniKit#48) to prevent communication faults and improve overall pump connectivity.
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)
- Switched from tag‑based to type‑based classification for GitHub issues, clarifying workflows and automations.
-
Documentation Fix
Setup Note:
To enable browser build’s automatic certificate renewal, add an Action variable:
- Go to Settings → Secrets and variables → Actions → Variables
- Click Create new organization variable (or repository‑level if not using an org)
- Name it
ENABLE_NUKE_CERTS
with the valuetrue
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
Trio v0.2.2
Trio v0.2.2 
This release delivers several quality‑of‑life enhancements and brings in upstream fixes via updated submodules for CGM and pump managers.
Quality‑of‑Life Improvements
- Discord link fix
Fixed a broken link for Discord inCODE_OF_CONDUCT.md
andREADME.md
.
(#412, via @tonypartridge) - Rounding behavior update
Changed rounding from.down
to.halfUp
for more accurate insulin calculations.
(#398, via @MikePlante1) - Improved OREF logging
Enhanced logging of OREF data to aid in debugging and monitoring.
(#331, #345, via @mkellerman) - CGM notification unit fix
Ensured glucose source units are correctly displayed in CGM notification messages.
(#429, via @dabear)
Submodule Updates
- CGM & Pump Manager submodules
Updated submodules to include various fixes and updates for CGM sensors, pump managers, and certain screen views.
For full details, see PR #424.
(#338, #413, #357, via @marionbarker)
Thank you to everyone who contributed to this release!
Contributors: @mkellerman, @dabear, @tonypartridge, @MikePlante1, @dnzxy, @marionbarker, @bjornoleh
Trio v0.2.1
Trio v0.2.1 
This hotfix for browser builders resolves a critical issue and updates core dependencies, ensuring seamless builds.
Browser Build Hotfix
- Issue #422 resolved
Eliminates the error blocking browser builds by fixing the underlying cause of issue #422. - Dependency updates
Bumped all dependencies, includingfastlane
→ 2.223.1, to the latest compatible versions for stability.
Thank you to everyone who contributed to this release!