Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
ae75603
Clarify scheduled build documentation
Jul 6, 2026
4072ad5
Bump version to 3.14.4
marionbarker Jul 17, 2026
218e864
update OmnipodKit:
marionbarker Jul 17, 2026
24c8847
improve clarity: when build is skipped, run is canceled no green che…
marionbarker Jul 20, 2026
648cf30
update CGMBLEKit: recognize Anubis transmitter, enable user to select…
marionbarker Jul 20, 2026
8780352
update EversenseKit: fix: navigation titles; chore: remove CryptoSwif…
marionbarker Jul 20, 2026
3f70f0c
update Loop: fix LiveActivityManager bug
marionbarker Jul 20, 2026
dfaa2fb
update MedtrumKit: enable Manual Temp Basal, various fixes, updated t…
marionbarker Jul 20, 2026
5855ce5
update EversenseKit: feat: implement LoopKit alerts, fix: prevent cra…
marionbarker Jul 26, 2026
23237ac
update Loop, LoopKit to support new BLE management for Pods
marionbarker Jul 28, 2026
5727b6c
update OmnipodKit: new BLE Management for DASH and Omnipod 5,
marionbarker Jul 28, 2026
2bf6a99
update Loop: bump watch deployment
marionbarker Jul 28, 2026
8af5ca0
update fastlane to 2.237.0
marionbarker Jul 29, 2026
74c1694
update Loop: bump WATCHOS_DEPLOYMENT_TARGET to 9.0
marionbarker Aug 2, 2026
491a7de
update OmnipodKit: same code, new SHA with PR 118 merged, removed som…
marionbarker Aug 2, 2026
3bd4e71
update MedtrumKit: stable version with updated localizations
marionbarker Aug 3, 2026
4aed4ed
update OmnipodKit: bugfix, prevent lost comms issue
marionbarker Aug 6, 2026
a8c97d5
update OmnipodKit: fix intermittent deadlock
marionbarker Aug 10, 2026
d7d1e00
Merge pull request #466 from Hederstedt/codex/docs-scheduled-build-cl…
marionbarker Aug 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .github/workflows/build_loop_auto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,30 @@ jobs:
echo "is_second_instance=false" >> "$GITHUB_OUTPUT"
fi

# When a scheduled run finds nothing new to build, cancel the run so it shows
# as "cancelled" instead of "success" — a green check should always mean a
# new build was made.
cancel_when_no_build:
needs: check_status
name: Cancel run when there is nothing to build
runs-on: ubuntu-latest
permissions:
actions: write
if: |
github.event_name == 'schedule' &&
!(vars.SCHEDULED_BUILD != 'false' && needs.check_status.outputs.IS_SECOND_IN_MONTH == 'true') &&
!(vars.SCHEDULED_SYNC != 'false' && needs.check_status.outputs.NEW_COMMITS == 'true')
steps:
- name: Cancel the run
env:
GH_TOKEN: ${{ github.token }}
run: |
echo "Repository is up to date and no monthly build is due — cancelling this run so it is not reported as a successful build." >> "$GITHUB_STEP_SUMMARY"
gh run cancel ${{ github.run_id }} --repo ${{ github.repository }}
# Keep the job alive until the cancellation lands, so the run ends as
# "cancelled" rather than completing successfully first.
sleep 300

# Checks if Distribution certificate is present and valid, optionally nukes and
# creates new certs if the repository variable ENABLE_NUKE_CERTS == 'true'
# only run if a build is planned
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ Loop is a collaborative project, and contributions of all kinds are welcome. Whe

- Update docstrings when your change affects setup, configuration, behavior, workflows, or troubleshooting.
- Keep documentation changes clear and practical.
- ocumentation contributions are just as valuable as code contributions.
- Documentation contributions are just as valuable as code contributions.

## Branches, commits, and pull requests

Expand Down
2 changes: 1 addition & 1 deletion EversenseKit
Submodule EversenseKit updated 26 files
+353 −0 Common/AES+CCM.swift
+0 −23 EversenseKit.xcodeproj/project.pbxproj
+14 −25 EversenseKit/Encryption/CryptoUtil.swift
+22 −0 EversenseKit/EversenseCGMManager.swift
+25 −0 EversenseKit/Packets/Enums/Alarm.swift
+1 −1 EversenseKit/Packets/Transmitter365.swift
+1 −1 EversenseKit/Packets/TransmitterE3.swift
+11 −5 EversenseKit/PeripheralManager.swift
+2 −2 EversenseKitTests/CryptoUtilTests.swift
+14 −15 EversenseKitTests/PackageTests.swift
+4 −0 EversenseKitUI/EversenseCGMManager+UI.swift
+66 −14 EversenseKitUI/EversenseUIController.swift
+214 −214 EversenseKitUI/Localizable.xcstrings
+1 −0 EversenseKitUI/ViewModels/Onboarding/Eversense365AuthViewModel.swift
+1 −1 EversenseKitUI/ViewModels/Settings/TransmitterInfoViewModel.swift
+0 −1 EversenseKitUI/Views/Onboarding/EversenseAuthView.swift
+0 −1 EversenseKitUI/Views/Onboarding/EversenseOnboardingStartView.swift
+0 −1 EversenseKitUI/Views/Onboarding/EversenseScanView.swift
+0 −1 EversenseKitUI/Views/Settings/AlertHistoryView.swift
+0 −1 EversenseKitUI/Views/Settings/CalibrationHistoryView.swift
+5 −2 EversenseKitUI/Views/Settings/CalibrationView.swift
+0 −1 EversenseKitUI/Views/Settings/DMSSettingsView.swift
+0 −1 EversenseKitUI/Views/Settings/EversenseSettingsView.swift
+0 −3 EversenseKitUI/Views/Settings/PlacementGuideView.swift
+0 −1 EversenseKitUI/Views/Settings/TransmitterInfoView.swift
+0 −1 EversenseKitUI/Views/Settings/TransmitterSettingsView.swift
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
source "https://rubygems.org"
gem "fastlane", "2.236.1"
gem "fastlane", "2.237.0"
29 changes: 16 additions & 13 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ GEM
artifactory (3.0.17)
atomos (0.1.3)
aws-eventstream (1.4.0)
aws-partitions (1.1261.0)
aws-sdk-core (3.252.0)
aws-partitions (1.1267.0)
aws-sdk-core (3.253.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
Expand Down Expand Up @@ -42,8 +42,9 @@ GEM
domain_name (0.6.20240107)
dotenv (2.8.1)
emoji_regex (3.2.3)
excon (0.112.0)
faraday (1.10.5)
excon (1.5.0)
logger
faraday (1.10.6)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
Expand Down Expand Up @@ -72,10 +73,10 @@ GEM
faraday_middleware (1.2.1)
faraday (~> 1.0)
fastimage (2.4.1)
fastlane (2.236.1)
fastlane (2.237.0)
CFPropertyList (>= 2.3, < 5.0.0)
abbrev (~> 0.1)
addressable (>= 2.8, < 3.0.0)
addressable (>= 2.9.0, < 3.0.0)
artifactory (~> 3.0)
aws-sdk-s3 (~> 1.197)
babosa (>= 1.0.3, < 2.0.0)
Expand All @@ -87,7 +88,7 @@ GEM
csv (~> 3.3)
dotenv (>= 2.1.1, < 3.0.0)
emoji_regex (>= 0.1, < 4.0)
excon (>= 0.71.0, < 1.0.0)
excon (>= 0.71.0, < 2.0.0)
faraday (~> 1.0)
faraday-cookie_jar (~> 0.0.6)
faraday_middleware (~> 1.0)
Expand Down Expand Up @@ -125,7 +126,7 @@ GEM
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
fastlane-sirp (1.1.0)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.103.0)
google-apis-androidpublisher_v3 (0.104.0)
google-apis-core (>= 0.15.0, < 2.a)
google-apis-core (0.18.0)
addressable (~> 2.5, >= 2.5.1)
Expand All @@ -147,8 +148,8 @@ GEM
google-cloud-env (2.2.2)
base64 (~> 0.2)
faraday (>= 1.0, < 3.a)
google-cloud-errors (1.6.0)
google-cloud-storage (1.61.0)
google-cloud-errors (1.7.0)
google-cloud-storage (1.62.0)
addressable (~> 2.8)
digest-crc (~> 0.4)
google-apis-core (>= 0.18, < 2)
Expand All @@ -172,7 +173,7 @@ GEM
httpclient (2.9.0)
mutex_m
jmespath (1.6.2)
json (2.19.9)
json (2.20.0)
jwt (3.2.0)
base64
logger (1.7.0)
Expand Down Expand Up @@ -219,12 +220,14 @@ GEM
uber (0.1.0)
unicode-display_width (2.6.0)
word_wrap (1.0.0)
xcodeproj (1.27.0)
xcodeproj (1.28.1)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
base64
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.4.0)
nkf
rexml (>= 3.3.6, < 4.0)
xcpretty (0.4.1)
rouge (~> 3.28.0)
Expand All @@ -236,7 +239,7 @@ PLATFORMS
ruby

DEPENDENCIES
fastlane (= 2.236.1)
fastlane (= 2.237.0)

BUNDLED WITH
4.0.12
2 changes: 1 addition & 1 deletion VersionOverride.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@

// Version [for DIY Loop]
// configure the version number in LoopWorkspace
LOOP_MARKETING_VERSION = 3.14.3
LOOP_MARKETING_VERSION = 3.14.4
CURRENT_PROJECT_VERSION = 57
14 changes: 7 additions & 7 deletions fastlane/testflight.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ These instructions allow you to build your app without having access to a Mac.
> The browser build **defaults to** automatically updating and building a new version of Loop according to this schedule:
> - automatically checks for updates weekly and if updates are found, it will build a new version of the app
> - even when there are no updates, it builds on the second Sunday of the month
> - with each scheduled weekly run, a successful build log appears - if the time is very short, it did not need to build - only the long actions (>20 minutes) built a new app
> - if a scheduled run finds nothing new to build, the run is cancelled and shows as cancelled (grey) in the Actions list - a green check always means a new build was made and uploaded to TestFlight
>
> The [**Optional**](#optional) section provides instructions to modify the default behavior if desired.

Expand Down Expand Up @@ -236,9 +236,9 @@ If you choose not to have automatic building enabled, be sure the `GH_PAT` has `

### Modify scheduled building and synchronization

You can modify the automation by creating and using some variables.
You can modify the automation by creating and using repository variables.

To configure the automated build more granularly involves creating up to two environment variables: `SCHEDULED_BUILD` and/or `SCHEDULED_SYNC`. See [How to configure a variable](#how-to-configure-a-variable).
To configure the automated build more granularly, create up to two repository variables: `SCHEDULED_BUILD` and/or `SCHEDULED_SYNC`. See [How to configure a variable](#how-to-configure-a-variable).

Note that the weekly build actions will continue, but the actions are modified if one or more of these variables is set to false. **A successful Action Log will still appear, even if no automatic activity happens**.

Expand All @@ -264,9 +264,9 @@ Note that the weekly build actions will continue, but the actions are modified i
- Type `SCHEDULED_BUILD` in the "Name" field
- Type `false` in the "Value" field
- Click the green `Add variable` button to save.
7. To disable scheduled syncing, add a variable:
6. To disable scheduled syncing, add a variable:
- Click on the green `New repository variable` button (upper right)
- - Type `SCHEDULED_SYNC` in the "Name" field
- Type `SCHEDULED_SYNC` in the "Name" field
- Type `false` in the "Value" field
- Click the green `Add variable` button to save

Expand All @@ -276,8 +276,8 @@ Your build will run on the following conditions:
- If updates are detected, it will update your repository and build
- If it is the second Sunday of the month, it will build even when no changes are detected
- If you disable any automation (both variables set to `false`), no updates or building happens when the build action runs
- If you disabled just scheduled synchronization (`SCHEDULED_SYNC` set to`false`), it will still build once a month, but no update will happen
- If you disabled just scheduled build (`SCHEDULED_BUILD` set to`false`), it will run once weekly, to check for changes; if there are changes, it will update and build
- If you disabled just scheduled synchronization (`SCHEDULED_SYNC` set to `false`), it will still build once a month, but no update will happen
- If you disabled just scheduled build (`SCHEDULED_BUILD` set to `false`), it will run once weekly, to check for changes; if there are changes, it will update and build

## What if I build using more than one GitHub username

Expand Down