Trio 0.7.0 
Version 0.7.0 is the first fully stable main release of the completely rewritten Trio. It replaces the legacy 0.2.x codebase with a modern, ground-up rebuild that has been refined through three public beta cycles (0.5.0, 0.5.1, 0.6.0 and two closed beta cyclies (0.3.0, 0.4.0) over the two years. This release represents 4,600+ commits from 30+ contributors.
Important
Upgrading from 0.2.x? See Upgrade Notes at the bottom.
Once upgraded, downgrading from 0.7.0 to 0.2.x is not supported
without a full reset and loss of all data and settings.
What's Changed At A Glance
- Completely redesigned interface across iOS and watchOS
- Entire app logic and data storage rewritten
- All-new step-by-step setup with HCP-approved defaults and safety checks
- Glucose smoothing refactored (AAPS-style), FPU handling simplified, safety improvements
- Added Dana-i and Dana RS and Medtrum Nano patches (200U / 300U), OmniBLE/OmniKit fixes, MiniMed finer dosing,
- Reworked Remote Control: APNS feedback to LoopFollow with AES-256-GCM encryption
- Live Activity with device-specific layouts, improved complications, better readability
- Reworked Integrations: Nightscout, Tidepool, and Apple Health rebuilt; settings export
- Full Crowdin-based workflow with 35+ language contributors
This release contains the dev versions 0.5.0, 0.5.1, 0.6.0 and over 80 additions since 0.6.0 between 10/2025 and 04/2026.
See a more detailed list of changes below:
The Rewrite (introduced in 0.5.0)
These foundational changes form the core of 0.7.0. They shipped in the first public beta and have been hardened through two subsequent beta cycles.
Brand New Interface
A completely redesigned UI across the app and watchOS — clean, modern, and easier to use. Every screen has been rethought for clarity and usability.
All-New Onboarding
Step-by-step setup for new and returning users with HCP-approved defaults and safety checks. Includes guided steps for Nightscout configuration (added in 0.6.0). Migrating from 0.2.x preserves 24-hour treatment data, therapy settings, and pump/CGM connections.
Rewritten Backend & Data Storage
Entire app logic and data storage rewritten for speed, stability, and future flexibility. This is the single largest change – the core architecture has largely been replaced.
New Bolus Calculator
More accurate, simpler dosing with clearer breakdowns and improved safety logic.
Reworked Statistics
All in-app statistics and graphs overhauled and extended. Includes daily glucose percentile and distribution charts (added in 0.5.1).
All-New Integrations
Nightscout, Tidepool, and Apple Health connections rebuilt from scratch.
Updated Language & Translations
Clear, friendly, easy-to-understand wording throughout. Fully localised with ongoing Crowdin support across 37+ languages.
New Pumps & Pump Support
New Pump for Trio users
- Dana-i and Dana-RS
- Medtrum TouchCare Nano patch pump (200 U / 300)
MiniMed (post-0.6.0)
- 0.025U bolus increments enabled for x23 and x54 models (previously locked to 0.1U)
- CAGE and IAGE rows in settings view
OmniBLE / OmniKit
Many updates and improvements provided by the pump driver maintainers and pulled into Trio.
Algorithm & Dosing
Glucose Smoothing Refactor (post-0.6.0)
Replaced the Savitzky-Golay filter with AAPS-style exponential smoothing. The key architectural change: raw CGM glucose is now the source of truth for UI and alerts. Smoothed values are stored alongside raw readings and used only as algorithm input when smoothing is enabled. The chart displays both raw points and the smoothed trend line, and the new selection popover shows the difference – so users see exactly what their CGM app shows while the algorithm benefits from noise reduction.
FPU (Fat-Protein Unit) Handling Refactor (post-0.6.0)
Simplified carb-equivalent calculation with predictable, documented rules:
- 10g minimum, 33g maximum per equivalent entry
- Up to 3 entries (99g total cap per meal)
- Evenly split and spaced at 30-minute intervals after the configured delay
- Replaces the previous complex spread logic
Removed 400 mg/dL HIGH Protection Guard (post-0.6.0)
The Trio-specific guard that disabled SMBs and forced neutral temp basals when CGM flatlined at 400 mg/dL has been removed. In practice, the loop stopped corrections for extended periods, users rarely entered the required finger-stick to reset it, and prolonged hyperglycaemia proved more harmful than the theoretical sensor-failure risk. Removal restores standard oref behaviour and particularly benefits full closed loop w/o meal announcement users.
Dynamic ISF Safety Improvements (0.5.0, 0.5.1)
- Dynamic ISF now requires 7 days of data before activating (safety guard)
- IOB decoupled from determination logic for improved stability
Watch & Live Activity
New Watch App
Trio now comes with a completely rewritten watch up.
- New interface
- Bolus, add carbohydrates and "meal bolus combos"
- Start or stop Overrides &/or Temporary Targets
Live Activity Widget (0.5.0, 0.5.1, 0.6.0, post-0.6.0)
- Real-time loop data with optional chart – configurable and tailored to preferences.
- Live Activity for Apple Watch: Device-specific layouts for watchOS (simple + detailed)
- Live Activity for CarPlay
Watch Contact Complications (0.5.0, post-0.6.0)
- Highly customisable "contact widgets" for glucose, IOB, COB, and more
- Color Mode option (Color / Monochrome) for contact complication images for improved readability on monochrome watch faces
UI/UX Improvements
Smarter Settings (0.5.0, post-0.6.0)
- Helpful hints, guidance sheets, built-in search (like iOS Settings)
- Search terms aligned to actual setting labels
- Various threshold adjustments for power users
- Consistent fat-before-protein ordering throughout the app (with transition banner for FPU users)
Settings Export (post-0.6.0)
Export complete Trio configuration as CSV or JSON. Covers 10 selectable categories: therapy profiles, algorithm tuning, device config, presets, notifications, and services. Timestamped filenames for versioning.
Treatment Filtering (post-0.6.0)
Treatments can be filtered by type in the history view. Filled filter icon with count badge indicates active filter.
Bolus Display Threshold (post-0.6.0)
Configurable threshold to hide small SMB amount labels on the main chart. Inspired by Nightscout — reduces clutter while keeping large bolus labels visible.
Upgrade Notes
From 0.2.x (main)
- All users must complete the Onboarding Wizard after upgrading
- 24-hour treatment data and therapy settings will be preserved
- Pump and CGM connections carry over automatically
‼️ Breaking changes‼️ - Algorithm settings, Dynamic ISF configuration, and some integrations (like Nightscout) will reset
⚠️
- Algorithm settings, Dynamic ISF configuration, and some integrations (like Nightscout) will reset
- Once upgraded, downgrading to
0.2.xis not supported without a full reset - Please read and follow the Migration Guide on TrioDocs before updating
From 0.6.0.x (dev)
- You're already running this code!
- No onboarding required, no settings reset
- We recommend switching to
maingoing forward.- New PRs will still land in
devfirst, but now thatmainhas caught up, tested updates will be promoted tomainon a much shorter cycle.
- New PRs will still land in
Loop Follow x Trio
- Remote Commands require LoopFollow 4.0+
Contributors
Code (30+)
@dnzxy, @marv-out, @MikePlante1, @kingst, @marionbarker, @bastiaanv, @bjorkert, @mountrcg, @itsmojo, @t1dude, @bjornoleh, @Sjoerd-Bo3, @10nas, @avouspierre, @Lamercho, @cachrisman, @aidanlane, @ebouchut, @dsnallfot, @tmhastings, @kskandis, @AndreasStokholm, @paulplant, @aug0211, @mkellerman
Translators (35+)
magnus.r, phuteleco, grostecki, AngusLuo, ebouchut, Hilli, Danielsnallfot, AnthonyPlaisir, andreasstokholm, andrea.roggeri, nicolevanelst, Zevin, Websaliba, capathor, liroyvh, andreadicataldi, SalemOmar, artist.ksh99, Yanhak, Lamercho, bjornoleh, avouspierre, Orim, Fabio3323, francescaneri, dgskrkt, Typ1er, kristkand, Neptun22, m.slootweg, Sjoerd-Bo3, E0M, sergiu-, ViTuDia, friendocrino... plus translators for LoopKit submodules (omnipod, dexcom, etc).
A Last Note From The Trio Team
Trio 0.7.0 is the culmination of over 2 years of work, refined through thousands of hours of real-world testing. We are putting out this version, because we are more than confident of its stability.
However, just because this is "released", doesn't mean it's bug free – software is never fully bug free. "Released" means that updates to this version will be restricted to smaller changes like bug fixes and safety updates.
As always, please remember, Trio has not been reviewed by the FDA, or any other regulatory entity.
List of PRs between 0.6.0 and 0.7.0
| PR | Title | Author |
|---|---|---|
| #1102 | Update Markdown Files | @dnzxy |
| #1100 | Fix crash in TidepoolManager | @marv-out |
| #1101 | Chore/update submodules 20260413 | @marionbarker |
| #1055 | Include manual readings for algorithm glucose always | @dnzxy |
| #1093 | Fix race condition in AppVersionChecker | @marv-out |
| #1056 | Utilize the reduce motion accessibility setting | @MikePlante1 |
| #1053 | Update submodules 20260404 | @marionbarker |
| #1040 | Add Extended Garmin Support | @dnzxy |
| #1047 | Fix chart y-axis label mmol/L display (add parsing) | @dnzxy |
| #1046 | Fix Medtrum Lifetime Display for Main UI | @dnzxy |
| #1043 | Fix basal profile chart not showing active rate at chart's left edge | @marv-out |
| #1044 | Typo | @MikePlante1 |
| #1039 | Add MedtrumKit | @dnzxy |
| #1041 | Fix active bolus view being obscured | @kingst |
| #1035 | Fix Smoothing Stop Gap Logic | @dnzxy |
| #1034 | Fix crash from force-unwrap on orphaned PumpEventStored with nil bolus | @kingst |
| #1033 | Stats: Fix typo and show start of every month in 3M views | @MikePlante1 |
| #807 | Implement snooze action for notifications and eliminate duplicate notification | @cachrisman |
| #1027 | Update actions to Node.js 24 compatible versions | @bjorkert |
| #1029 | Remove smoothed glucose default value | @kingst |
| #1026 | Create FUNDING.yml | @TwistaTim |
| #1021 | Fix initialization of Bolus Display Threshold setting | @dnzxy |
| #1022 | Default FPU to disabled and update hints | @MikePlante1 |
| #1019 | Remove no longer used FPU duration setting | @dnzxy |
| #903 | Fix negative IOB on fresh installs (#898) | @dnzxy |
| #1001 | Refactor Glucose Smoothing | @dnzxy |
| #1017 | Translation updates from Crowdin 2026-03-19 | @t1dude |
| #951 | Refactor FPU handling | @dnzxy |
| #984 | feature: hide SMB label | @bastiaanv |
| #1015 | Update test device to iPhone 17 iOS 26.2 | @dnzxy |
| #1004 | Update build to Xcode 26 / macOS 26 runner | @bjorkert |
| #1008 | Fix names of settings in search | @MikePlante1 |
| #987 | Chore: Update submodules to latest versions | @marionbarker |
| #973 | Align the order of Fat and Protein throughout the app | @MikePlante1 |
| #972 | Fix and improve the Add Carbs shortcut | @MikePlante1 |
| #935 | Fix mmol/L delta calculation | @bastiaanv |
| #957 | Fix Watch Carb Entry Propagation to Apple Health and Tidepool | @dnzxy |
| #958 | Adjust various setting thresholds | @dnzxy |
| #938 | update to fastlane 2.231.0 using bundler 4.0.4 | @marionbarker |
| #927 | Change UAM forecast color to magenta | @MikePlante1 |
| #925 | Fix faulty target display when editing overrides #924 | @dnzxy |
| #923 | Update submodules to 2026-01-05 version | @marionbarker |
| #926 | Adjust when SMB/UAM Mins are shown in Adjustment Banner | @MikePlante1 |
| #930 | Add "Color Mode" to Contact Complication Image options | @MikePlante1 |
| #929 | Prevent "New Preset" from resetting list | @MikePlante1 |
| #914 | Fix Adjustment Badge to Display SMB &/or UAM minute changes | @dnzxy |
| #913 | Cleanup and slightly refactor History | @dnzxy |
| #880 | fix: LoopKit.startDateToFilterNewData | @bastiaanv |
| #910 | Update OmniBLE/OmniKit submodules; remove outdated code | @dnzxy |
| #893 | Fix First Pod Alarm + Refactor Alert History Storage | @dnzxy |
| #906 | chore: update MinimedKit | @MikePlante1 |
| #901 | Update to Fastlane 2.330.0 | @marionbarker |
| #876 | Streamline build action | @marionbarker |
| #878 | Fix Add & Edit TT to have target value change HBT instead of sensitivity | @mountrcg |
| #704 | fix: ISF chart Y-axis formatting for mmol/L units | @Sjoerd-Bo3 |
| #891 | Adjust Y-scale for Percentile Charts | @MikePlante1 |
| #875 | Fix Trio Watch identifiers in fastlane documentation | @MikePlante1 |
| #872 | Improve time remaining string for <12 hrs #865 | @dnzxy |
| #873 | Chore: Remove 2 extraneous Extension files for OmniBLE and OmniKit | @marionbarker |
| #869 | Convert IOB and COB from Hstack to Vstack on Watch | @MikePlante1 |
| #866 | Allow 0.025 U bolus increments for MiniMed x23 and x54 pumps | @MikePlante1 |
| #867 | fix(DanaKit): NewPumpEvent date mismatch | @bastiaanv |
| #861 | Don't wipe saved Pump Manager state if PM fails to initialize | @itsmojo |
| #859 | fix: rework default pump settings to actual pump settings | @bastiaanv |
| #858 | chore: update submodules from upstream, translations and fixes | @marionbarker |
| #849 | HUD insulin delivery display changes for Trio issue #847 | @itsmojo |
| #793 | Add recommended bolus and pump bolus increment to Nightscout devicestatus | @bjorkert |
| #853 | [Part 2 of 2] CGM Backfill Support | @kingst |
| #851 | [Part 1 of 2] Archive deleted glucose readings for CGM backfill | @kingst |
| #852 | Update trio-oref source reference | @dnzxy |
| #846 | Remove 400 / shouldProtectDueToHIGH guard | @dnzxy |
| #836 | Chore: remove Dependency folder | @bastiaanv |
| #819 | Refactor Therapy Settings Editors | @marv-out |
| #821 | Fix iOS 26.1 LoopStatusView Detent Issue | @MikePlante1 |
| #828 | feat: update watch os Live Activity | @bastiaanv |
| #705 | fix: Prevent stats chart labels from moving off-screen | @Sjoerd-Bo3 |
| #818 | Filtering treatments | @marv-out |
| #817 | 2025-10-18: Localization updates. | @t1dude |
| #813 | Fix typos in Onboarding | @MikePlante1 |
| #801 | Chore/update submodules | @marionbarker |
| #800 | Modify the GitHub build schedule to every Sunday | @marionbarker |
| #556 | Various Cosmetic Fixes | @dnzxy |
| #553 | Localize info log message notifications | @kingst |
Release Notes for 0.5.0, 0.5.1 and 0.6.0
| Version | Release Notes |
|---|---|
0.6.0 |
https://github.com/nightscout/Trio/releases/tag/v0.6.0 |
0.5.1 |
https://github.com/nightscout/Trio/releases/tag/v0.5.1 |
0.5.0 |
https://github.com/nightscout/Trio/releases/tag/v0.5.0 |