Skip to content

Trio v0.7.0

Latest

Choose a tag to compare

@dnzxy dnzxy released this 15 Apr 20:44
c915561

Trio 0.7.0 trio

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 ⚠️
  • Once upgraded, downgrading to 0.2.x is 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 main going forward.
    • New PRs will still land in dev first, but now that main has caught up, tested updates will be promoted to main on a much shorter cycle.

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