From 4283c29a136c94f1a3419176b3df9117b57cc7da Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sun, 21 Jun 2026 12:25:26 -0700 Subject: [PATCH 001/110] Bump version to 3.14.3 --- VersionOverride.xcconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VersionOverride.xcconfig b/VersionOverride.xcconfig index 5253477701..038d663c2f 100644 --- a/VersionOverride.xcconfig +++ b/VersionOverride.xcconfig @@ -8,5 +8,5 @@ // Version [for DIY Loop] // configure the version number in LoopWorkspace -LOOP_MARKETING_VERSION = 3.14.2 +LOOP_MARKETING_VERSION = 3.14.3 CURRENT_PROJECT_VERSION = 57 From 2b4168ffe34bcc87e409e25045d59bdb734402fd Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sun, 21 Jun 2026 12:26:58 -0700 Subject: [PATCH 002/110] update EversenseKit: wait for write lock to be released --- EversenseKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EversenseKit b/EversenseKit index 43b808002f..b79d85800d 160000 --- a/EversenseKit +++ b/EversenseKit @@ -1 +1 @@ -Subproject commit 43b808002ffb88f29dc628cb609ca06eca8c7aeb +Subproject commit b79d85800d667e105f897d7b650d62fb4b65e76f From cecb8233f8222067b8c9e4af4d5fd7792fa897a3 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sun, 21 Jun 2026 12:38:03 -0700 Subject: [PATCH 003/110] update to fastlane 2.236.1 --- Gemfile | 2 +- Gemfile.lock | 96 ++++++++++++++++++++++++++++------------------------ 2 files changed, 52 insertions(+), 46 deletions(-) diff --git a/Gemfile b/Gemfile index 0eb90cb08b..4d2c972bab 100644 --- a/Gemfile +++ b/Gemfile @@ -1,2 +1,2 @@ source "https://rubygems.org" -gem "fastlane", "2.235.0" +gem "fastlane", "2.236.1" diff --git a/Gemfile.lock b/Gemfile.lock index 0089a8cdb4..87c90e0112 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -8,8 +8,8 @@ GEM artifactory (3.0.17) atomos (0.1.3) aws-eventstream (1.4.0) - aws-partitions (1.1206.0) - aws-sdk-core (3.241.4) + aws-partitions (1.1261.0) + aws-sdk-core (3.252.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) @@ -17,19 +17,19 @@ GEM bigdecimal jmespath (~> 1, >= 1.6.1) logger - aws-sdk-kms (1.121.0) - aws-sdk-core (~> 3, >= 3.241.4) + aws-sdk-kms (1.129.0) + aws-sdk-core (~> 3, >= 3.248.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.211.0) - aws-sdk-core (~> 3, >= 3.241.3) + aws-sdk-s3 (1.226.0) + aws-sdk-core (~> 3, >= 3.248.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) aws-sigv4 (1.12.1) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) - base64 (0.2.0) + base64 (0.3.0) benchmark (0.5.0) - bigdecimal (4.0.1) + bigdecimal (4.1.2) claide (1.1.0) colored (1.2) colored2 (3.1.2) @@ -71,8 +71,8 @@ GEM faraday-retry (1.0.4) faraday_middleware (1.2.1) faraday (~> 1.0) - fastimage (2.4.0) - fastlane (2.235.0) + fastimage (2.4.1) + fastlane (2.236.1) CFPropertyList (>= 2.3, < 5.0.0) abbrev (~> 0.1) addressable (>= 2.8, < 3.0.0) @@ -101,9 +101,10 @@ GEM highline (~> 2.0) http-cookie (~> 1.0.5) json (< 3.0.0) - jwt (>= 2.1.0, < 4) + jwt (>= 2.10.3, < 4) logger (>= 1.6, < 2.0) mini_magick (>= 4.9.4, < 5.0.0) + multi_json (~> 1.12) multipart-post (>= 2.0.0, < 3.0.0) mutex_m (~> 0.3) naturally (~> 2.2) @@ -124,41 +125,46 @@ 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.54.0) - google-apis-core (>= 0.11.0, < 2.a) - google-apis-core (0.11.3) + google-apis-androidpublisher_v3 (0.103.0) + google-apis-core (>= 0.15.0, < 2.a) + google-apis-core (0.18.0) addressable (~> 2.5, >= 2.5.1) - googleauth (>= 0.16.2, < 2.a) - httpclient (>= 2.8.1, < 3.a) + googleauth (~> 1.9) + httpclient (>= 2.8.3, < 3.a) mini_mime (~> 1.0) + mutex_m representable (~> 3.0) retriable (>= 2.0, < 4.a) - rexml - google-apis-iamcredentials_v1 (0.17.0) - google-apis-core (>= 0.11.0, < 2.a) - google-apis-playcustomapp_v1 (0.13.0) - google-apis-core (>= 0.11.0, < 2.a) - google-apis-storage_v1 (0.31.0) - google-apis-core (>= 0.11.0, < 2.a) - google-cloud-core (1.8.0) + google-apis-iamcredentials_v1 (0.28.0) + google-apis-core (>= 0.15.0, < 2.a) + google-apis-playcustomapp_v1 (0.18.0) + google-apis-core (>= 0.15.0, < 2.a) + google-apis-storage_v1 (0.64.0) + google-apis-core (>= 0.15.0, < 2.a) + google-cloud-core (1.9.0) google-cloud-env (>= 1.0, < 3.a) google-cloud-errors (~> 1.0) - google-cloud-env (1.6.0) - faraday (>= 0.17.3, < 3.0) - google-cloud-errors (1.5.0) - google-cloud-storage (1.47.0) + 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) addressable (~> 2.8) digest-crc (~> 0.4) - google-apis-iamcredentials_v1 (~> 0.1) - google-apis-storage_v1 (~> 0.31.0) + google-apis-core (>= 0.18, < 2) + google-apis-iamcredentials_v1 (~> 0.18) + google-apis-storage_v1 (>= 0.42) google-cloud-core (~> 1.6) - googleauth (>= 0.16.2, < 2.a) + googleauth (~> 1.9) mini_mime (~> 1.0) - googleauth (1.8.1) - faraday (>= 0.17.3, < 3.a) - jwt (>= 1.4, < 3.0) - multi_json (~> 1.11) + google-logging-utils (0.2.0) + googleauth (1.17.1) + faraday (>= 1.0, < 3.a) + google-cloud-env (~> 2.2) + google-logging-utils (~> 0.1) + jwt (>= 1.4, < 4.0) os (>= 0.9, < 2.0) + pstore (~> 0.1) signet (>= 0.16, < 2.a) highline (2.0.3) http-cookie (1.0.8) @@ -166,39 +172,39 @@ GEM httpclient (2.9.0) mutex_m jmespath (1.6.2) - json (2.19.4) - jwt (2.10.2) + json (2.19.9) + jwt (3.2.0) base64 logger (1.7.0) mini_magick (4.13.2) mini_mime (1.1.5) - multi_json (1.19.1) + multi_json (1.21.1) multipart-post (2.4.1) mutex_m (0.3.0) nanaimo (0.4.0) naturally (2.3.0) - nkf (0.2.0) + nkf (0.3.0) optparse (0.8.1) os (1.1.4) ostruct (0.6.3) plist (3.7.2) - public_suffix (7.0.2) - rake (13.3.1) + pstore (0.2.1) + public_suffix (7.0.5) + rake (13.4.2) representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) - retriable (3.1.2) + retriable (3.8.0) rexml (3.4.4) rouge (3.28.0) ruby2_keywords (0.0.5) rubyzip (2.4.1) security (0.1.5) - signet (0.21.0) + signet (0.22.0) addressable (~> 2.8) faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 4.0) - multi_json (~> 1.10) simctl (1.6.10) CFPropertyList naturally @@ -230,7 +236,7 @@ PLATFORMS ruby DEPENDENCIES - fastlane (= 2.235.0) + fastlane (= 2.236.1) BUNDLED WITH 4.0.12 From 4d834fb1e3365db4289a99365acfac8da0ebf86e Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sun, 21 Jun 2026 12:40:06 -0700 Subject: [PATCH 004/110] update GitHub action to use Xcode 26.5, * matches default Xcode for macos-26 runners --- .github/workflows/build_loop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index 9dab27ff57..52c00dedb2 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -175,7 +175,7 @@ jobs: (vars.SCHEDULED_SYNC != 'false' && needs.check_status.outputs.NEW_COMMITS == 'true' ) steps: - name: Select Xcode version - run: "sudo xcode-select --switch /Applications/Xcode_26.4.app/Contents/Developer" + run: "sudo xcode-select --switch /Applications/Xcode_26.5.app/Contents/Developer" - name: Checkout Repo for building uses: actions/checkout@v5 From 29512d2ec0c11cc61fa7a0423ed2dbebf08d0868 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Wed, 24 Jun 2026 17:00:08 -0700 Subject: [PATCH 005/110] update MedtrumKit: include PR 147, 148, 151; * fix navigation titles; * add LoopKit Alerts; * fix prevent deactivation while bolus is in progress; * fix duplicate reservoir update; * update translations; --- MedtrumKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MedtrumKit b/MedtrumKit index 60607476f2..3ad0979a3c 160000 --- a/MedtrumKit +++ b/MedtrumKit @@ -1 +1 @@ -Subproject commit 60607476f2e27ad02b9fe25af4d93fe713eccacf +Subproject commit 3ad0979a3c8fc36c2d48a76da8ea70ef2132943a From 03ca0bf7a849c123f597938aec6d9885825a930c Mon Sep 17 00:00:00 2001 From: marionbarker Date: Fri, 26 Jun 2026 11:45:04 -0700 Subject: [PATCH 006/110] update NightscoutKit and NightscoutService: report build environment and charging status --- .../xcshareddata/swiftpm/Package.resolved | 4 ++-- NightscoutService | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved index 85b387d04a..7c29bfd5f5 100644 --- a/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/LoopWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "7645108625333b4ec60e0e439db0c0dc8a91ad0942d36797c6b66208a9082ea2", + "originHash" : "8ea6e3a03561298c71ae41233e1f296e560815044250ac4de43a3e5985502b43", "pins" : [ { "identity" : "amplitude-ios", @@ -106,7 +106,7 @@ "location" : "https://github.com/LoopKit/NightscoutKit", "state" : { "branch" : "main", - "revision" : "ca8e2cea82ab465282cd180ce01d64c1cf25478d" + "revision" : "4ec9fd12a16b5d6c2de4f11870511361d42e1b7f" } }, { diff --git a/NightscoutService b/NightscoutService index 7721a8da0d..4f89c9a797 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit 7721a8da0de4f69fbc6994bdaa5c860ba9a99ede +Subproject commit 4f89c9a79794110919b4ad8f8094c621ebc4135b From 8e2167de5a71fdcade71cfe5a4f0ff0b67da2c5c Mon Sep 17 00:00:00 2001 From: marionbarker Date: Fri, 26 Jun 2026 20:40:21 -0700 Subject: [PATCH 007/110] Updated translations from lokalise on Fri Jun 26 12:54:46 PDT 2026 --- G7SensorKit | 2 +- Loop | 2 +- LoopKit | 2 +- MinimedKit | 2 +- OmnipodKit | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/G7SensorKit b/G7SensorKit index 890e60754d..78cf94f69b 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit 890e60754ded6b1610c8b8fac7a3c026bf704a64 +Subproject commit 78cf94f69b282b56d76015f7bc253082f4ead136 diff --git a/Loop b/Loop index 1f71ec4fa9..e3761d317a 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 1f71ec4fa94941abdbd72fd5bd914770faa2e90b +Subproject commit e3761d317a3290571e8e7aca1819d4ce05a3ad30 diff --git a/LoopKit b/LoopKit index e7e2ee2b54..7f32702789 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit e7e2ee2b546c4d8122014838cb98a0e26dd91208 +Subproject commit 7f327027899ceda923202230777f3b1379655100 diff --git a/MinimedKit b/MinimedKit index 106467e8f8..60c46f50b3 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit 106467e8f8effeae5a2872d121a33b548350f25c +Subproject commit 60c46f50b3fda0628da6f89f312d17c1a629cff4 diff --git a/OmnipodKit b/OmnipodKit index d68699c8cb..7e348f107a 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit d68699c8cbaa2623375d4ae8576634101c6850b9 +Subproject commit 7e348f107a2253d0f31fa4de805c3bbf5b620153 From 724e68d24360a3bfe48c69484f4acd4987eaef63 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sat, 27 Jun 2026 12:01:04 -0700 Subject: [PATCH 008/110] Updated translations from lokalise on Sat Jun 27 09:48:15 PDT 2026 --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 7e348f107a..3344095ea3 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 7e348f107a2253d0f31fa4de805c3bbf5b620153 +Subproject commit 3344095ea3f7238ca0cc4b08ea51c743b11cf862 From cf265f1ba4fe7c44d69c44cd3fdfe0dd46736dab Mon Sep 17 00:00:00 2001 From: marionbarker Date: Mon, 29 Jun 2026 22:20:42 -0700 Subject: [PATCH 009/110] update EversenseKit: fix time setting --- EversenseKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EversenseKit b/EversenseKit index b79d85800d..7d0789322b 160000 --- a/EversenseKit +++ b/EversenseKit @@ -1 +1 @@ -Subproject commit b79d85800d667e105f897d7b650d62fb4b65e76f +Subproject commit 7d0789322b47ba92e95ed670b959a8335dc134c8 From 4e5ce16657241195dc56f544e91f345245c7c467 Mon Sep 17 00:00:00 2001 From: David Aghaian <16483722+daghaian@users.noreply.github.com> Date: Tue, 30 Jun 2026 06:17:57 -0700 Subject: [PATCH 010/110] Merge pull request #461 from daghaian-loop-org/add-build-autotrigger feat: create new build_loop_auto file to prevent disabling by GitHub --- .github/workflows/build_loop.yml | 10 +- .github/workflows/build_loop_auto.yml | 263 ++++++++++++++++++++++++++ 2 files changed, 266 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/build_loop_auto.yml diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index 52c00dedb2..d359aa429c 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -1,11 +1,7 @@ -name: 4. Build Loop -run-name: Build Loop (${{ github.ref_name }}) +name: 4. Build Loop Manual +run-name: Build Loop Manual (${{ github.ref_name }}) on: workflow_dispatch: - schedule: - # Check for updates every Sunday - # Later logic builds if there are updates or if it is the 2nd Sunday of the month - - cron: "33 7 * * 0" # Sunday at UTC 7:33 env: GH_PAT: ${{ secrets.GH_PAT }} @@ -260,4 +256,4 @@ jobs: name: build-artifacts path: | artifacts - buildlog + buildlog \ No newline at end of file diff --git a/.github/workflows/build_loop_auto.yml b/.github/workflows/build_loop_auto.yml new file mode 100644 index 0000000000..b371b01523 --- /dev/null +++ b/.github/workflows/build_loop_auto.yml @@ -0,0 +1,263 @@ +name: 4. Build Loop Auto +run-name: Build Loop Auto (${{ github.ref_name }}) +on: + workflow_dispatch: + schedule: + # Check for updates every Sunday + # Later logic builds if there are updates or if it is the 2nd Sunday of the month + - cron: "33 7 * * 0" # Sunday at UTC 7:33 + +env: + GH_PAT: ${{ secrets.GH_PAT }} + UPSTREAM_REPO: LoopKit/LoopWorkspace + UPSTREAM_BRANCH: ${{ github.ref_name }} # branch on upstream repository to sync from (replace with specific branch name if needed) + TARGET_BRANCH: ${{ github.ref_name }} # target branch on fork to be kept in sync + +jobs: + # use a single runner for these sequential steps + check_status: + runs-on: ubuntu-latest + name: Check status to decide whether to build + permissions: + contents: write + outputs: + NEW_COMMITS: ${{ steps.sync.outputs.has_new_commits }} + IS_SECOND_IN_MONTH: ${{ steps.date-check.outputs.is_second_instance }} + + # Check GH_PAT, sync repository, check day in month + steps: + + - name: Access + id: workflow-permission + run: | + # Validate Access Token + + # Ensure that gh exit codes are handled when output is piped. + set -o pipefail + + # Define patterns to validate the access token (GH_PAT) and distinguish between classic and fine-grained tokens. + GH_PAT_CLASSIC_PATTERN='^ghp_[a-zA-Z0-9]{36}$' + GH_PAT_FINE_GRAINED_PATTERN='^github_pat_[a-zA-Z0-9]{22}_[a-zA-Z0-9]{59}$' + + # Validate Access Token (GH_PAT) + if [ -z "$GH_PAT" ]; then + failed=true + echo "::error::The GH_PAT secret is unset or empty. Set it and try again." + else + if [[ $GH_PAT =~ $GH_PAT_CLASSIC_PATTERN ]]; then + provides_scopes=true + echo "The GH_PAT secret is a structurally valid classic token." + elif [[ $GH_PAT =~ $GH_PAT_FINE_GRAINED_PATTERN ]]; then + echo "The GH_PAT secret is a structurally valid fine-grained token." + else + unknown_format=true + echo "The GH_PAT secret does not have a known token format." + fi + + # Attempt to capture the x-oauth-scopes scopes of the token. + if ! scopes=$(curl -sS -f -I -H "Authorization: token $GH_PAT" https://api.github.com | { grep -i '^x-oauth-scopes:' || true; } | cut -d ' ' -f2- | tr -d '\r'); then + failed=true + if [ $unknown_format ]; then + echo "::error::Unable to connect to GitHub using the GH_PAT secret. Verify that it is set correctly (including the 'ghp_' or 'github_pat_' prefix) and try again." + else + echo "::error::Unable to connect to GitHub using the GH_PAT secret. Verify that the token exists and has not expired at https://github.com/settings/tokens. If necessary, regenerate or create a new token (and update the secret), then try again." + fi + elif [[ $scopes =~ workflow ]]; then + echo "The GH_PAT secret has repo and workflow permissions." + echo "has_permission=true" >> $GITHUB_OUTPUT + elif [[ $scopes =~ repo ]]; then + echo "The GH_PAT secret has repo (but not workflow) permissions." + elif [ $provides_scopes ]; then + failed=true + if [ -z "$scopes" ]; then + echo "The GH_PAT secret is valid and can be used to connect to GitHub, but it does not provide any permission scopes." + else + echo "The GH_PAT secret is valid and can be used to connect to GitHub, but it only provides the following permission scopes: $scopes" + fi + echo "::error::The GH_PAT secret is lacking at least the 'repo' permission scope required to access the Match-Secrets repository. Update the token permissions at https://github.com/settings/tokens (to include the 'repo' and 'workflow' scopes) and try again." + else + echo "The GH_PAT secret is valid and can be used to connect to GitHub, but it does not provide inspectable scopes. Assuming that the 'repo' and 'workflow' permission scopes required to access the Match-Secrets repository and perform automations are present." + echo "has_permission=true" >> $GITHUB_OUTPUT + fi + fi + + # Exit unsuccessfully if secret validation failed. + if [ $failed ]; then + exit 2 + fi + + - name: Checkout target repo + if: | + steps.workflow-permission.outputs.has_permission == 'true' && + (vars.SCHEDULED_BUILD != 'false' || vars.SCHEDULED_SYNC != 'false') + uses: actions/checkout@v5 + with: + token: ${{ secrets.GH_PAT }} + + # This syncs any target branch to upstream branch of the same name + - name: Sync upstream changes + if: | # do not run the upstream sync action on the upstream repository + steps.workflow-permission.outputs.has_permission == 'true' && + vars.SCHEDULED_SYNC != 'false' && github.repository_owner != 'LoopKit' + id: sync + uses: aormsby/Fork-Sync-With-Upstream-action@v3.4.2 + with: + target_sync_branch: ${{ env.TARGET_BRANCH }} + shallow_since: 6 months ago + target_repo_token: ${{ secrets.GH_PAT }} + upstream_sync_branch: ${{ env.UPSTREAM_BRANCH }} + upstream_sync_repo: ${{ env.UPSTREAM_REPO }} + + # Display a sample message based on the sync output var 'has_new_commits' + - name: New commits found + if: | + steps.workflow-permission.outputs.has_permission == 'true' && + vars.SCHEDULED_SYNC != 'false' && steps.sync.outputs.has_new_commits == 'true' + run: echo "New commits were found to sync." + + - name: No new commits + if: | + steps.workflow-permission.outputs.has_permission == 'true' && + vars.SCHEDULED_SYNC != 'false' && steps.sync.outputs.has_new_commits == 'false' + run: echo "There were no new commits." + + - name: Show value of 'has_new_commits' + if: steps.workflow-permission.outputs.has_permission == 'true' && vars.SCHEDULED_SYNC != 'false' + run: | + echo ${{ steps.sync.outputs.has_new_commits }} + echo "NEW_COMMITS=${{ steps.sync.outputs.has_new_commits }}" >> $GITHUB_OUTPUT + + - name: Show scheduled build configuration message + if: steps.workflow-permission.outputs.has_permission != 'true' + run: | + echo "### :calendar: Scheduled Sync and Build Disabled :mobile_phone_off:" >> $GITHUB_STEP_SUMMARY + echo "You have not yet configured the scheduled sync and build for Loop's browser build." >> $GITHUB_STEP_SUMMARY + echo "Synchronizing your fork of LoopWorkspace with the upstream repository LoopKit/LoopWorkspace will be skipped." >> $GITHUB_STEP_SUMMARY + echo "If you want to enable automatic builds and updates for your Loop, please follow the instructions \ + under the following path LoopWorkspace/fastlane/testflight.md." >> $GITHUB_STEP_SUMMARY + + # Set a logic flag if this is the second instance of this day-of-week in this month + - name: Check if this is the second time this day-of-week happens this month + id: date-check + run: | + DAY_OF_MONTH=$(date +%-d) + WEEK_OF_MONTH=$(( ($(date +%-d) - 1) / 7 + 1 )) + if [[ $WEEK_OF_MONTH -eq 2 ]]; then + echo "is_second_instance=true" >> "$GITHUB_OUTPUT" + else + echo "is_second_instance=false" >> "$GITHUB_OUTPUT" + fi + + # 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 + check_certs: + needs: [check_status] + name: Check certificates + uses: ./.github/workflows/create_certs.yml + secrets: inherit + if: | + github.event_name == 'workflow_dispatch' || + (vars.SCHEDULED_BUILD != 'false' && needs.check_status.outputs.IS_SECOND_IN_MONTH == 'true') || + (vars.SCHEDULED_SYNC != 'false' && needs.check_status.outputs.NEW_COMMITS == 'true' ) + + # Builds Loop + build: + name: Build + needs: [check_certs, check_status] + runs-on: macos-26 + permissions: + contents: write + if: + | # builds with manual start; if scheduled: once a month or when new commits are found + github.event_name == 'workflow_dispatch' || + (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: Select Xcode version + run: "sudo xcode-select --switch /Applications/Xcode_26.5.app/Contents/Developer" + + - name: Checkout Repo for building + uses: actions/checkout@v5 + with: + token: ${{ secrets.GH_PAT }} + submodules: recursive + ref: ${{ env.TARGET_BRANCH }} + + # Customize Loop: Download and apply patches + - name: Customize Loop + run: | + + # LoopWorkspace patches + # -applies any patches located in the LoopWorkspace/patches/ directory + if $(ls ./patches/* &> /dev/null); then + git apply ./patches/* --allow-empty -v --whitespace=fix + fi + + # Submodule Loop patches: + # Template for customizing submodule Loop (changes Loop app name to "CustomLoop") + # Remove the "#" sign from the beginning of the line below to activate: + #curl https://github.com/loopnlearn/Loop/commit/d206432b024279ef710df462b20bd464cd9682d4.patch | git apply --directory=Loop -v --whitespace=fix + + # Submodule LoopKit patches: + # General template for customizing submodule LoopKit + # Copy url from a GitHub commit or pull request and insert below, and remove the "#" sign from the beginning of the line to activate: + #curl url_to_github_commit.patch | git apply --directory=LoopKit -v --whitespace=fix + + # Submodule xxxxx patches: + + # Add patches for customization of additional submodules by following the templates above, + # and make sure to specify the submodule by setting "--directory=(submodule_name)". + # Several patches may be added per submodule. + # Adding comments (#) may be useful to easily tell the individual patches apart. + + # Patch Fastlane Match to not print tables + - name: Patch Match Tables + run: | + TABLE_PRINTER_PATH=$(ruby -e 'puts Gem::Specification.find_by_name("fastlane").gem_dir')/match/lib/match/table_printer.rb + if [ -f "$TABLE_PRINTER_PATH" ]; then + sed -i "" "/puts(Terminal::Table.new(params))/d" "$TABLE_PRINTER_PATH" + else + echo "table_printer.rb not found" + exit 1 + fi + + # Install project dependencies + - name: Install Project Dependencies + run: bundle install + + # Sync the GitHub runner clock with the Windows time server (workaround as suggested in https://github.com/actions/runner/issues/2996) + - name: Sync clock + run: sudo sntp -sS time.windows.com + + # Build signed Loop IPA file + - name: Fastlane Build & Archive + run: bundle exec fastlane build_loop + env: + TEAMID: ${{ secrets.TEAMID }} + GH_PAT: ${{ secrets.GH_PAT }} + FASTLANE_KEY_ID: ${{ secrets.FASTLANE_KEY_ID }} + FASTLANE_ISSUER_ID: ${{ secrets.FASTLANE_ISSUER_ID }} + FASTLANE_KEY: ${{ secrets.FASTLANE_KEY }} + MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} + + # Upload to TestFlight + - name: Fastlane upload to TestFlight + run: bundle exec fastlane release + env: + TEAMID: ${{ secrets.TEAMID }} + GH_PAT: ${{ secrets.GH_PAT }} + FASTLANE_KEY_ID: ${{ secrets.FASTLANE_KEY_ID }} + FASTLANE_ISSUER_ID: ${{ secrets.FASTLANE_ISSUER_ID }} + FASTLANE_KEY: ${{ secrets.FASTLANE_KEY }} + MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} + + # Upload Build artifacts + - name: Upload build log, IPA and Symbol artifacts + if: always() + uses: actions/upload-artifact@v6 + with: + name: build-artifacts + path: | + artifacts + buildlog \ No newline at end of file From 4176bb2a3cadf954ef38917848018a5b17d4e7e5 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Tue, 30 Jun 2026 09:20:45 -0700 Subject: [PATCH 011/110] update OmnipodKit: provide code to support Omnipod 5 pods with token --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 3344095ea3..54d43f1c7f 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 3344095ea3f7238ca0cc4b08ea51c743b11cf862 +Subproject commit 54d43f1c7f4fda54484125f26f90bc527484fa59 From c6a2d39b965cd8cc7f59fdec383a095b007b8336 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Tue, 30 Jun 2026 16:30:07 -0700 Subject: [PATCH 012/110] update OmnipodKit: localizations and improved status updates with faults --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 54d43f1c7f..08c4efe25f 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 54d43f1c7f4fda54484125f26f90bc527484fa59 +Subproject commit 08c4efe25f224b552e6c48fdcf6d1b33970e7c12 From 41dad8aa40dfb5428bff5984daa73d500e44c7e8 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Wed, 1 Jul 2026 14:07:21 -0700 Subject: [PATCH 013/110] update G7SensorKit: Extend displaying remaining lifetime from 24 to 48 hrs --- G7SensorKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/G7SensorKit b/G7SensorKit index 78cf94f69b..0c87905297 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit 78cf94f69b282b56d76015f7bc253082f4ead136 +Subproject commit 0c87905297b70a7f0fa41e87fa0fbe1efff6c29f From ae75603c8484f72ee283432bceb61773b6578eba Mon Sep 17 00:00:00 2001 From: mikael Date: Mon, 6 Jul 2026 13:45:49 +0200 Subject: [PATCH 014/110] Clarify scheduled build documentation --- CONTRIBUTING.md | 2 +- fastlane/testflight.md | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b708ff16d8..ed1796ba7f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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 diff --git a/fastlane/testflight.md b/fastlane/testflight.md index b44f07df07..5f30b5445d 100644 --- a/fastlane/testflight.md +++ b/fastlane/testflight.md @@ -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**. @@ -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 @@ -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 From 4072ad513f0b0e0347eae4255b90e777e6ecce1c Mon Sep 17 00:00:00 2001 From: marionbarker Date: Fri, 17 Jul 2026 07:02:22 -0700 Subject: [PATCH 015/110] Bump version to 3.14.4 --- VersionOverride.xcconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VersionOverride.xcconfig b/VersionOverride.xcconfig index 038d663c2f..c856330297 100644 --- a/VersionOverride.xcconfig +++ b/VersionOverride.xcconfig @@ -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 From 218e864f27caa80b1d057ff28f54a2417b868451 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Fri, 17 Jul 2026 07:05:30 -0700 Subject: [PATCH 016/110] update OmnipodKit: * fix handling of DASH reset faults; * fix release of RileyLink devices; * update tests --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 08c4efe25f..8b2c3d330a 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 08c4efe25f224b552e6c48fdcf6d1b33970e7c12 +Subproject commit 8b2c3d330aa9f193e99b76a2393d2d1dfe5ac66a From 24c8847510dbf27e3e2702db9bd23646b48e14cc Mon Sep 17 00:00:00 2001 From: Marion Barker <19607791+marionbarker@users.noreply.github.com> Date: Mon, 20 Jul 2026 10:35:22 -0700 Subject: [PATCH 017/110] improve clarity: when build is skipped, run is canceled no green check mark is shown (#472) --- .github/workflows/build_loop_auto.yml | 24 ++++++++++++++++++++++++ fastlane/testflight.md | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_loop_auto.yml b/.github/workflows/build_loop_auto.yml index b371b01523..5d2d647be3 100644 --- a/.github/workflows/build_loop_auto.yml +++ b/.github/workflows/build_loop_auto.yml @@ -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 diff --git a/fastlane/testflight.md b/fastlane/testflight.md index b44f07df07..185aea17e0 100644 --- a/fastlane/testflight.md +++ b/fastlane/testflight.md @@ -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. From 648cf30b33085cccccb50cc9df430d3842f7686f Mon Sep 17 00:00:00 2001 From: marionbarker Date: Mon, 20 Jul 2026 11:21:18 -0700 Subject: [PATCH 018/110] update CGMBLEKit: recognize Anubis transmitter, enable user to select desired sensor life for lifecycle reporting --- CGMBLEKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CGMBLEKit b/CGMBLEKit index edd8fb232e..c9e6c841f1 160000 --- a/CGMBLEKit +++ b/CGMBLEKit @@ -1 +1 @@ -Subproject commit edd8fb232e18a09a6c162b489172ea9d381d7bb6 +Subproject commit c9e6c841f1f20452a30f3ce45120a998401a49b6 From 8780352337b1c78c4f45783f1a91d677003ffd4c Mon Sep 17 00:00:00 2001 From: marionbarker Date: Mon, 20 Jul 2026 11:32:07 -0700 Subject: [PATCH 019/110] update EversenseKit: fix: navigation titles; chore: remove CryptoSwift dependency; style: add loader to calibration --- EversenseKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EversenseKit b/EversenseKit index 7d0789322b..66979665bc 160000 --- a/EversenseKit +++ b/EversenseKit @@ -1 +1 @@ -Subproject commit 7d0789322b47ba92e95ed670b959a8335dc134c8 +Subproject commit 66979665bc73137b0a70e9b4f6f88f21558fa4c9 From 3f70f0c5f6c636333c5bb253a1234afac449ddee Mon Sep 17 00:00:00 2001 From: marionbarker Date: Mon, 20 Jul 2026 11:41:38 -0700 Subject: [PATCH 020/110] update Loop: fix LiveActivityManager bug --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index e3761d317a..fa3b3cd85f 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit e3761d317a3290571e8e7aca1819d4ce05a3ad30 +Subproject commit fa3b3cd85fcd3619c19f22a9a5963cfa8a3172f6 From dfaa2fbaded27f656bfa64c665a117cde148ae8d Mon Sep 17 00:00:00 2001 From: marionbarker Date: Mon, 20 Jul 2026 11:50:37 -0700 Subject: [PATCH 021/110] update MedtrumKit: enable Manual Temp Basal, various fixes, updated translations --- MedtrumKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MedtrumKit b/MedtrumKit index 3ad0979a3c..9914b18c05 160000 --- a/MedtrumKit +++ b/MedtrumKit @@ -1 +1 @@ -Subproject commit 3ad0979a3c8fc36c2d48a76da8ea70ef2132943a +Subproject commit 9914b18c05e9d1064756eaf76a975ea02790e199 From 5855ce51b4b09e713a6cccade561b2b16067b578 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sun, 26 Jul 2026 08:19:10 -0700 Subject: [PATCH 022/110] update EversenseKit: feat: implement LoopKit alerts, fix: prevent crash after disconnect --- EversenseKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EversenseKit b/EversenseKit index 66979665bc..b46c45ccd2 160000 --- a/EversenseKit +++ b/EversenseKit @@ -1 +1 @@ -Subproject commit 66979665bc73137b0a70e9b4f6f88f21558fa4c9 +Subproject commit b46c45ccd205f289c0765095167ed9f860cf64fb From 23237ac12ef8cb117d36726e68f198f553a1768c Mon Sep 17 00:00:00 2001 From: marionbarker Date: Tue, 28 Jul 2026 13:59:54 -0700 Subject: [PATCH 023/110] update Loop, LoopKit to support new BLE management for Pods --- Loop | 2 +- LoopKit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Loop b/Loop index fa3b3cd85f..e881321c54 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit fa3b3cd85fcd3619c19f22a9a5963cfa8a3172f6 +Subproject commit e881321c5426f40e402736529e57594a005b86ce diff --git a/LoopKit b/LoopKit index 7f32702789..a5beee96d8 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 7f327027899ceda923202230777f3b1379655100 +Subproject commit a5beee96d8e0770fc6999372a73ea5f523351a43 From 5727b6cc16af2e7c210a75443dc72de00d26be1a Mon Sep 17 00:00:00 2001 From: marionbarker Date: Tue, 28 Jul 2026 14:06:19 -0700 Subject: [PATCH 024/110] update OmnipodKit: new BLE Management for DASH and Omnipod 5, Connect-on-demand BLE management, optional CGM aligned heartbeat, connectionless fault detection --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 8b2c3d330a..fa5afdb5e2 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 8b2c3d330aa9f193e99b76a2393d2d1dfe5ac66a +Subproject commit fa5afdb5e2695241e3adbf59af6204cef4522a0b From 2bf6a99b038983c900dd0f2b2b2407012ab440fe Mon Sep 17 00:00:00 2001 From: marionbarker Date: Tue, 28 Jul 2026 14:29:38 -0700 Subject: [PATCH 025/110] update Loop: bump watch deployment --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index e881321c54..3894e1ab67 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit e881321c5426f40e402736529e57594a005b86ce +Subproject commit 3894e1ab67067798b43d9bf2f37c0415294f412f From 8af5ca0a766296bfc9ad876ecccb0b30aff4b0dd Mon Sep 17 00:00:00 2001 From: marionbarker Date: Wed, 29 Jul 2026 15:36:32 -0700 Subject: [PATCH 026/110] update fastlane to 2.237.0 --- Gemfile | 2 +- Gemfile.lock | 29 ++++++++++++++++------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/Gemfile b/Gemfile index 4d2c972bab..502d6331b5 100644 --- a/Gemfile +++ b/Gemfile @@ -1,2 +1,2 @@ source "https://rubygems.org" -gem "fastlane", "2.236.1" +gem "fastlane", "2.237.0" diff --git a/Gemfile.lock b/Gemfile.lock index 87c90e0112..8e70830ead 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -236,7 +239,7 @@ PLATFORMS ruby DEPENDENCIES - fastlane (= 2.236.1) + fastlane (= 2.237.0) BUNDLED WITH 4.0.12 From 74c169441bcdd7e2c82c44278656d10123d5fd5f Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sun, 2 Aug 2026 13:38:14 -0700 Subject: [PATCH 027/110] update Loop: bump WATCHOS_DEPLOYMENT_TARGET to 9.0 --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 3894e1ab67..5465bcd782 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 3894e1ab67067798b43d9bf2f37c0415294f412f +Subproject commit 5465bcd7825a897e14fcf45eddf92b863b37928d From 491a7deab16b87ffe64b5ef573ab3cba7f26b2f7 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sun, 2 Aug 2026 13:39:53 -0700 Subject: [PATCH 028/110] update OmnipodKit: same code, new SHA with PR 118 merged, removed some claude generated md files --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index fa5afdb5e2..cc47471286 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit fa5afdb5e2695241e3adbf59af6204cef4522a0b +Subproject commit cc4747128630ccdc50d7e041899bc964d443d86d From 3bd4e7142707da124e428384f0a59bfded533c2f Mon Sep 17 00:00:00 2001 From: marionbarker Date: Mon, 3 Aug 2026 14:01:19 -0700 Subject: [PATCH 029/110] update MedtrumKit: stable version with updated localizations --- MedtrumKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MedtrumKit b/MedtrumKit index 9914b18c05..f5daa6e61e 160000 --- a/MedtrumKit +++ b/MedtrumKit @@ -1 +1 @@ -Subproject commit 9914b18c05e9d1064756eaf76a975ea02790e199 +Subproject commit f5daa6e61edebdef684e6f2341a99702341d35c0 From 4aed4ed7657ee1d4f0f34da861388199919111f2 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Thu, 6 Aug 2026 09:54:53 -0700 Subject: [PATCH 030/110] update OmnipodKit: bugfix, prevent lost comms issue --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index cc47471286..e31a8d1c9e 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit cc4747128630ccdc50d7e041899bc964d443d86d +Subproject commit e31a8d1c9e450750e07c0823384e8aa4b2abdffe From a8c97d524382ed2be7fcd046da8b797094a2e955 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Mon, 10 Aug 2026 15:33:08 -0700 Subject: [PATCH 031/110] update OmnipodKit: fix intermittent deadlock --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index e31a8d1c9e..792dc1974c 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit e31a8d1c9e450750e07c0823384e8aa4b2abdffe +Subproject commit 792dc1974c3cb3138350883dbab32be48d2cd2ba From aab6dc8f828a57028eb98c492678b3da058e9850 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Wed, 19 Aug 2026 17:23:53 -0700 Subject: [PATCH 032/110] update TrueTime.swift: bump IPHONEOS_DEPLOYMENT_TARGET to 15.0 --- TrueTime.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TrueTime.swift b/TrueTime.swift index d140b0f08a..5dc1285f3e 160000 --- a/TrueTime.swift +++ b/TrueTime.swift @@ -1 +1 @@ -Subproject commit d140b0f08ab9fbcaeaf6e4eb7a3da3e3d05bae3c +Subproject commit 5dc1285f3ea85fed3d132fb226c969d6a06b1208 From 0a4aa27574e68c80071ff17b1877826adf5bdb5d Mon Sep 17 00:00:00 2001 From: marionbarker Date: Wed, 19 Aug 2026 18:32:02 -0700 Subject: [PATCH 033/110] update Loop: more Xcode 27 fixes --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 5465bcd782..728a14123d 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 5465bcd7825a897e14fcf45eddf92b863b37928d +Subproject commit 728a14123d34a99dc508e1b500b55557ccb1ae47 From 3773cd297096d427d2e6cd334dd5670aa31d6653 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Fri, 21 Aug 2026 15:06:13 -0700 Subject: [PATCH 034/110] update G7SensorKit: add MIT license, fix typo in state string --- G7SensorKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/G7SensorKit b/G7SensorKit index 0c87905297..aeaec95e34 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit 0c87905297b70a7f0fa41e87fa0fbe1efff6c29f +Subproject commit aeaec95e341a58ca846b510125954dd4e5a44bbb From d0d57d341cd446459c6246f075234d66d1df51a6 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sun, 30 Aug 2026 15:22:54 -0700 Subject: [PATCH 035/110] update EversenseKit: update logging, credential storage, support Outside US zone --- EversenseKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EversenseKit b/EversenseKit index b46c45ccd2..b8cf64b95a 160000 --- a/EversenseKit +++ b/EversenseKit @@ -1 +1 @@ -Subproject commit b46c45ccd205f289c0765095167ed9f860cf64fb +Subproject commit b8cf64b95aeb65b38c2376570e80ddd02df63db8 From 524f05e22eb48eedce298c2c6cc4a7d9fe3934b1 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Mon, 31 Aug 2026 05:51:19 -0700 Subject: [PATCH 036/110] update G7SensorKit: Defer forgetting sensor on suspected session end to avoid long reconnection outages (#62) --- G7SensorKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/G7SensorKit b/G7SensorKit index aeaec95e34..6eabc649a2 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit aeaec95e341a58ca846b510125954dd4e5a44bbb +Subproject commit 6eabc649a248065f7b0102f209362fb6cb0af231 From e8e65794a54db87415ee47c670db7d30a4f33c76 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Mon, 31 Aug 2026 06:18:45 -0700 Subject: [PATCH 037/110] update OmnipodKit: display information text for Omnipod 5 setup (#136) --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 792dc1974c..ccd44384e4 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 792dc1974c3cb3138350883dbab32be48d2cd2ba +Subproject commit ccd44384e44f6ed11052043f0c9dfbc4465e00ad From 0f4bee5855c73db615ef1b0d19b489fd33229a3c Mon Sep 17 00:00:00 2001 From: marionbarker Date: Mon, 31 Aug 2026 07:21:33 -0700 Subject: [PATCH 038/110] update RileyLinkKit: Make autoConnectIDs safe to read off centralQueue --- RileyLinkKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RileyLinkKit b/RileyLinkKit index d953e1c79b..80a9a35edc 160000 --- a/RileyLinkKit +++ b/RileyLinkKit @@ -1 +1 @@ -Subproject commit d953e1c79b36f06d68b7255bb8f4331d906cc30d +Subproject commit 80a9a35edc12ae65d25a1bdb406e128cf8a4dac9 From 58efd202ede0258ea74580b18483f84f6d73e8ae Mon Sep 17 00:00:00 2001 From: marionbarker Date: Tue, 1 Sep 2026 06:04:29 -0700 Subject: [PATCH 039/110] Bump version to 3.14.5 --- VersionOverride.xcconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VersionOverride.xcconfig b/VersionOverride.xcconfig index c856330297..6922fba435 100644 --- a/VersionOverride.xcconfig +++ b/VersionOverride.xcconfig @@ -8,5 +8,5 @@ // Version [for DIY Loop] // configure the version number in LoopWorkspace -LOOP_MARKETING_VERSION = 3.14.4 +LOOP_MARKETING_VERSION = 3.14.5 CURRENT_PROJECT_VERSION = 57 From 164f5e72f25d42233e613d35ab8c9a6f4e899b77 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Tue, 1 Sep 2026 18:47:40 -0700 Subject: [PATCH 040/110] update OmnipodKit: backport fixes for pod keep alive; ble-heartbeat method --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index ccd44384e4..89dff0aecd 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit ccd44384e44f6ed11052043f0c9dfbc4465e00ad +Subproject commit 89dff0aecdc6c27439397f8039d654e952dd6bd5 From cc2c930b7e18ec74036952e236ab7c08baac38b4 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Tue, 1 Sep 2026 19:37:40 -0700 Subject: [PATCH 041/110] update .circleci config --- .circleci/config.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ead42a398e..ef02ead944 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,18 +1,23 @@ jobs: build_and_test: macos: - xcode: 16.4 + xcode: 26.4 steps: - checkout - run: name: Checkout submodules command: git submodule update --init --recursive --depth 1 + - run: + name: Install xcbeautify + command: brew list xcbeautify >/dev/null 2>&1 || brew install xcbeautify - run: name: Build Loop - command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 16,OS=18.5' build | xcpretty + command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 17' build | xcbeautify - run: name: Run Tests - command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 16,OS=18.5' test | xcpretty + command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 17' test | xcbeautify --report junit --report-path test-results/results.xml + - store_test_results: + path: test-results workflows: version: 2 build_and_test: From cc778598f2d10f303e0c412adfbdd2b32c2bc8b4 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Wed, 2 Sep 2026 07:11:40 -0700 Subject: [PATCH 042/110] update OmnipodKit: fix simulator-only that prevented circeci tests --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 89dff0aecd..27f7076c15 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 89dff0aecdc6c27439397f8039d654e952dd6bd5 +Subproject commit 27f7076c15ae4450b3cda4b077956f49057ebefe From bdc39cc5d99c595c523f6532f3e0a38519c5b9d0 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Wed, 2 Sep 2026 10:35:59 -0700 Subject: [PATCH 043/110] update EversenseKit: fix migration US, Outside US zones --- EversenseKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EversenseKit b/EversenseKit index b8cf64b95a..f5796d8a68 160000 --- a/EversenseKit +++ b/EversenseKit @@ -1 +1 @@ -Subproject commit b8cf64b95aeb65b38c2376570e80ddd02df63db8 +Subproject commit f5796d8a683bb89c046a7ec1a28fc4d07cae3377 From 53bcc643f83afa0f665eff093fd6065872ebd8e9 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Wed, 2 Sep 2026 12:58:58 -0700 Subject: [PATCH 044/110] update LoopKit: Fix intermittent testObserverQueryStartup failures --- LoopKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopKit b/LoopKit index a5beee96d8..73a36cb380 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit a5beee96d8e0770fc6999372a73ea5f523351a43 +Subproject commit 73a36cb380ba644af754c7ef6aacb67575b416e7 From 669ef69aafe5c709ccd16779ffc18b9b77ad0478 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Wed, 2 Sep 2026 16:34:05 -0700 Subject: [PATCH 045/110] update MedrumKit: Bluetooth and dosing updates --- MedtrumKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MedtrumKit b/MedtrumKit index f5daa6e61e..dfebc132f4 160000 --- a/MedtrumKit +++ b/MedtrumKit @@ -1 +1 @@ -Subproject commit f5daa6e61edebdef684e6f2341a99702341d35c0 +Subproject commit dfebc132f485eb0483467ae13b9fbd21d710c73f From 0646bf6df88bf6716984862992d23b67bfab85f1 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Thu, 3 Sep 2026 11:12:20 -0700 Subject: [PATCH 046/110] update EversenseKit: fix: onboarding api zone --- EversenseKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EversenseKit b/EversenseKit index f5796d8a68..45b8311565 160000 --- a/EversenseKit +++ b/EversenseKit @@ -1 +1 @@ -Subproject commit f5796d8a683bb89c046a7ec1a28fc4d07cae3377 +Subproject commit 45b83115653a65ceaa756e765ca330c9837674ef From 3f71b352667c3899b33649153fb541e47523e69b Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 4 Sep 2026 19:45:49 -0500 Subject: [PATCH 047/110] Localization scripts: use the shared PROJECTS list, pin an iOS destination import_localizations.sh carried its own copy of PROJECTS that had drifted badly from the maintained list in define_common.sh, which ten other scripts already source. The stale copy still named OmniBLE and OmniKit, neither of which has been a submodule since OmnipodKit replaced them, and it was missing OmnipodKit, EversenseKit and MedtrumKit entirely. Since the script runs under `set -e`, `cd OmniBLE` aborted it outright -- and had it continued, translations for the three missing repos would never have been imported. Source define_common.sh instead of duplicating, so the list has one home. The maintained list also carries the correct upstream targets for pull requests (loopandlearn:OmnipodKit, bastiaanv:EversenseKit, jbr7rr:MedtrumKit) rather than the LoopKit forks. Also pass -destination 'generic/platform=iOS' to the build, export and import invocations in all four localization scripts. They previously specified no destination, unlike .circleci/config.yml and AGENTS.md, which left xcodebuild free to resolve destinations across platforms; a translator hit macOS deployment target validation errors under the Xcode 27 beta. The explicit iOS destination cannot resolve to macOS. Verified: all four scripts pass `zsh -n`, the sourced PROJECTS list expands correctly, and the workspace builds with the new destination flag under both Xcode 26.6 and the Xcode 27.0 beta. --- Scripts/export_localizations.sh | 2 +- Scripts/import_localizations.sh | 10 +++++++--- Scripts/manual_export_localizations.sh | 2 +- Scripts/manual_import_localizations.sh | 4 ++-- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Scripts/export_localizations.sh b/Scripts/export_localizations.sh index 7b850b20a8..e6af2b3e66 100755 --- a/Scripts/export_localizations.sh +++ b/Scripts/export_localizations.sh @@ -10,7 +10,7 @@ LANGUAGES=(ar cs ru en zh-Hans nl fr de it nb pl es ja pt-BR vi da sv fi ro tr h argstring="${LANGUAGES[@]/#/-exportLanguage }" IFS=" "; args=( $=argstring ) -xcodebuild -scheme LoopWorkspace -exportLocalizations -localizationPath xclocs $args +xcodebuild -scheme LoopWorkspace -destination 'generic/platform=iOS' -exportLocalizations -localizationPath xclocs $args mkdir -p xliff_out find xclocs -name '*.xliff' -exec cp {} xliff_out \; diff --git a/Scripts/import_localizations.sh b/Scripts/import_localizations.sh index e1756b497b..ac072d20bb 100755 --- a/Scripts/import_localizations.sh +++ b/Scripts/import_localizations.sh @@ -27,7 +27,11 @@ lokalise2 \ --replace-breaks=false \ --unzip-to ./xliff_in -PROJECTS=(LoopKit:AmplitudeService:dev LoopKit:CGMBLEKit:dev LoopKit:G7SensorKit:main LoopKit:LogglyService:dev LoopKit:Loop:dev LoopKit:LoopKit:dev LoopKit:LoopOnboarding:dev LoopKit:LoopSupport:dev LoopKit:NightscoutRemoteCGM:dev LoopKit:NightscoutService:dev LoopKit:OmniBLE:dev LoopKit:TidepoolService:dev LoopKit:dexcom-share-client-swift:dev LoopKit:RileyLinkKit:dev LoopKit:OmniKit:main LoopKit:MinimedKit:main LoopKit:LibreTransmitter:main) +# PROJECTS (and LANGUAGES) are defined in one place so this list cannot drift again. +# The copy that used to live here still named OmniBLE and OmniKit, which have not been +# submodules since they were replaced by OmnipodKit -- with `set -e`, `cd OmniBLE` aborted +# this script outright. +source Scripts/define_common.sh for project in ${PROJECTS}; do echo "Prepping $project" @@ -42,12 +46,12 @@ for project in ${PROJECTS}; do done # Build Loop -set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' build | xcpretty +set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'generic/platform=iOS' build | xcpretty # Apply translations foreach file in xliff_in/*.xliff - xcodebuild -workspace LoopWorkspace.xcworkspace -scheme "LoopWorkspace" -importLocalizations -localizationPath $file + xcodebuild -workspace LoopWorkspace.xcworkspace -scheme "LoopWorkspace" -destination 'generic/platform=iOS' -importLocalizations -localizationPath $file end diff --git a/Scripts/manual_export_localizations.sh b/Scripts/manual_export_localizations.sh index eb2836363f..459ca5cfd8 100755 --- a/Scripts/manual_export_localizations.sh +++ b/Scripts/manual_export_localizations.sh @@ -13,7 +13,7 @@ source Scripts/define_common.sh argstring="${LANGUAGES[@]/#/-exportLanguage }" IFS=" "; args=( $=argstring ) -xcodebuild -scheme LoopWorkspace -exportLocalizations -localizationPath xclocs $args +xcodebuild -scheme LoopWorkspace -destination 'generic/platform=iOS' -exportLocalizations -localizationPath xclocs $args mkdir -p xliff_out find xclocs -name '*.xliff' -exec cp {} xliff_out \; diff --git a/Scripts/manual_import_localizations.sh b/Scripts/manual_import_localizations.sh index 307ef3b821..f132cc0b49 100755 --- a/Scripts/manual_import_localizations.sh +++ b/Scripts/manual_import_localizations.sh @@ -60,14 +60,14 @@ for project in ${PROJECTS}; do done # Build Loop -set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' build | xcpretty +set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'generic/platform=iOS' build | xcpretty # Apply translations foreach file in xliff_in/*.xliff section_divider echo " importing ${file}" section_divider - /usr/bin/time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme "LoopWorkspace" -importLocalizations -localizationPath $file + /usr/bin/time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme "LoopWorkspace" -destination 'generic/platform=iOS' -importLocalizations -localizationPath $file end section_divider From f1a752263754e2012dcb34d0674e45351b4f488a Mon Sep 17 00:00:00 2001 From: marionbarker Date: Fri, 4 Sep 2026 20:49:02 -0700 Subject: [PATCH 048/110] fix typo in Script/manual_cleanup --- Scripts/manual_cleanup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Scripts/manual_cleanup.sh b/Scripts/manual_cleanup.sh index 2db77ee306..4c4eeca51b 100755 --- a/Scripts/manual_cleanup.sh +++ b/Scripts/manual_cleanup.sh @@ -42,7 +42,7 @@ for project in ${PROJECTS}; do echo " already on $TRANSLATION_BRANCH, take no action" elif [ -n "$(git branch --list "$TRANSLATION_BRANCH")" ]; then echo " Local branch '$TRANSLATION_BRANCH' exists, deleting it." - git branch -D "${TRANSLATION_BRANCH}" + git branch -D ${TRANSLATION_BRANCH} else echo " no branch named $TRANSLATION_BRANCH exists, take no action" fi From 3336cd232cc72984e4ca1110c97a9deda7f92252 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sat, 5 Sep 2026 15:10:36 -0700 Subject: [PATCH 049/110] update submodules: Updated translations from lokalise on Fri Sep 4 20:53:19 PDT 2026; * EversenseKit, MedtrumKit: pin deployment target to 17.6; * MedtrumKit: fixes (PRs 190, 192) & writes Medtrum log to Loop Report --- CGMBLEKit | 2 +- EversenseKit | 2 +- G7SensorKit | 2 +- LibreTransmitter | 2 +- LogglyService | 2 +- Loop | 2 +- LoopKit | 2 +- LoopOnboarding | 2 +- MedtrumKit | 2 +- MinimedKit | 2 +- NightscoutRemoteCGM | 2 +- NightscoutService | 2 +- OmnipodKit | 2 +- RileyLinkKit | 2 +- TidepoolService | 2 +- dexcom-share-client-swift | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/CGMBLEKit b/CGMBLEKit index c9e6c841f1..d83fd0d1ec 160000 --- a/CGMBLEKit +++ b/CGMBLEKit @@ -1 +1 @@ -Subproject commit c9e6c841f1f20452a30f3ce45120a998401a49b6 +Subproject commit d83fd0d1ec14188ac64312f9df9f5d0afbdc03b2 diff --git a/EversenseKit b/EversenseKit index 45b8311565..57c14e2f41 160000 --- a/EversenseKit +++ b/EversenseKit @@ -1 +1 @@ -Subproject commit 45b83115653a65ceaa756e765ca330c9837674ef +Subproject commit 57c14e2f410a6a3932308be8c7d7683b394e3de1 diff --git a/G7SensorKit b/G7SensorKit index 6eabc649a2..4a1e18d695 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit 6eabc649a248065f7b0102f209362fb6cb0af231 +Subproject commit 4a1e18d695cab810978d906458daa0468754cfb0 diff --git a/LibreTransmitter b/LibreTransmitter index d0d301208f..cc7e5dc3e0 160000 --- a/LibreTransmitter +++ b/LibreTransmitter @@ -1 +1 @@ -Subproject commit d0d301208faeb2bc763454baf0550f3fd4888bb7 +Subproject commit cc7e5dc3e0583fe0670971495623f7ef2ab9dcf7 diff --git a/LogglyService b/LogglyService index d6df99ea34..db7bcac28b 160000 --- a/LogglyService +++ b/LogglyService @@ -1 +1 @@ -Subproject commit d6df99ea34658c42eb721829d29812645c08fdad +Subproject commit db7bcac28b71202b1ed9ed21f9bf453bebcba91e diff --git a/Loop b/Loop index 728a14123d..9fc842e193 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 728a14123d34a99dc508e1b500b55557ccb1ae47 +Subproject commit 9fc842e19391a1a8829c986e5bf58f52fb2b2757 diff --git a/LoopKit b/LoopKit index 73a36cb380..29bc17ba29 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 73a36cb380ba644af754c7ef6aacb67575b416e7 +Subproject commit 29bc17ba29ede2bfb0d6111766dd5cd62072317e diff --git a/LoopOnboarding b/LoopOnboarding index 64f978e143..4aca97d2e8 160000 --- a/LoopOnboarding +++ b/LoopOnboarding @@ -1 +1 @@ -Subproject commit 64f978e143723765452957cef06a99db380b128c +Subproject commit 4aca97d2e8267cf61b64bd1273380f5fcbb27cb6 diff --git a/MedtrumKit b/MedtrumKit index dfebc132f4..b9c6901097 160000 --- a/MedtrumKit +++ b/MedtrumKit @@ -1 +1 @@ -Subproject commit dfebc132f485eb0483467ae13b9fbd21d710c73f +Subproject commit b9c6901097ca77e7f23d283ed5f6c00b3c852447 diff --git a/MinimedKit b/MinimedKit index 60c46f50b3..83d62c14a5 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit 60c46f50b3fda0628da6f89f312d17c1a629cff4 +Subproject commit 83d62c14a5cbc9996c6583220e65946172982e73 diff --git a/NightscoutRemoteCGM b/NightscoutRemoteCGM index 383d3c1e6b..e2230e33c9 160000 --- a/NightscoutRemoteCGM +++ b/NightscoutRemoteCGM @@ -1 +1 @@ -Subproject commit 383d3c1e6b7c0c79def98a1633e4a5856bf221a4 +Subproject commit e2230e33c9da61ffa1d9c507231a3e815703a23e diff --git a/NightscoutService b/NightscoutService index 4f89c9a797..8cd05a386d 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit 4f89c9a79794110919b4ad8f8094c621ebc4135b +Subproject commit 8cd05a386dd83b62647a0ed2bfa7aff17aa8013e diff --git a/OmnipodKit b/OmnipodKit index 27f7076c15..1d1f21be14 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 27f7076c15ae4450b3cda4b077956f49057ebefe +Subproject commit 1d1f21be147c677bf8355203895741944523f217 diff --git a/RileyLinkKit b/RileyLinkKit index 80a9a35edc..8beb8e6c25 160000 --- a/RileyLinkKit +++ b/RileyLinkKit @@ -1 +1 @@ -Subproject commit 80a9a35edc12ae65d25a1bdb406e128cf8a4dac9 +Subproject commit 8beb8e6c25d8ffa4c0b8a8b55309315d7805384b diff --git a/TidepoolService b/TidepoolService index 4ef78bf8b5..986c08203f 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit 4ef78bf8b58e2cee3e7f00fe7670fc2a7b166874 +Subproject commit 986c08203f12bdf1b28b231e448091f9abaaa389 diff --git a/dexcom-share-client-swift b/dexcom-share-client-swift index 04804892ea..0f71fa2a45 160000 --- a/dexcom-share-client-swift +++ b/dexcom-share-client-swift @@ -1 +1 @@ -Subproject commit 04804892ea58778472e19c738ae39a87f41c0070 +Subproject commit 0f71fa2a450f55a92cff62e183d87c86b9c6633a From 536303d2899f54ca22666f9106b33b8990f96be5 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Tue, 8 Sep 2026 19:22:01 -0700 Subject: [PATCH 050/110] Bump version to 3.14.6 --- VersionOverride.xcconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VersionOverride.xcconfig b/VersionOverride.xcconfig index 6922fba435..5a9208faff 100644 --- a/VersionOverride.xcconfig +++ b/VersionOverride.xcconfig @@ -8,5 +8,5 @@ // Version [for DIY Loop] // configure the version number in LoopWorkspace -LOOP_MARKETING_VERSION = 3.14.5 +LOOP_MARKETING_VERSION = 3.14.6 CURRENT_PROJECT_VERSION = 57 From e91490284154e7586bd3d2df5e36b3157f0740f5 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Wed, 9 Sep 2026 08:37:29 -0700 Subject: [PATCH 051/110] Provide the BLE heartbeat for DASH pods not using a RileyLink (#153) --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 1d1f21be14..b47560e317 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 1d1f21be147c677bf8355203895741944523f217 +Subproject commit b47560e317212a6d58bc4a982b192ef1a69eba87 From 19871ab309d4f10d1425c1f5c0afe3c8510d414f Mon Sep 17 00:00:00 2001 From: marionbarker Date: Wed, 9 Sep 2026 15:54:26 -0700 Subject: [PATCH 052/110] update Loop: Increase spacing and size of main screen Liquid Glass toolbar icons --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 9fc842e193..c1c170a6d9 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 9fc842e19391a1a8829c986e5bf58f52fb2b2757 +Subproject commit c1c170a6d9fa663bcb742a21b321168bc3186013 From 5b5f9228893abd834a8bbc767ee4c068691f4183 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Fri, 11 Sep 2026 07:15:38 -0700 Subject: [PATCH 053/110] update submodules: Updated translations from lokalise on Thu Sep 10 13:42:39 PDT 2026 --- CGMBLEKit | 2 +- G7SensorKit | 2 +- LibreTransmitter | 2 +- Loop | 2 +- LoopKit | 2 +- MedtrumKit | 2 +- MinimedKit | 2 +- OmnipodKit | 2 +- RileyLinkKit | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CGMBLEKit b/CGMBLEKit index d83fd0d1ec..7b660d22a4 160000 --- a/CGMBLEKit +++ b/CGMBLEKit @@ -1 +1 @@ -Subproject commit d83fd0d1ec14188ac64312f9df9f5d0afbdc03b2 +Subproject commit 7b660d22a447a6ea5e800dbb30b2c1b13864f5bc diff --git a/G7SensorKit b/G7SensorKit index 4a1e18d695..1486241a9e 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit 4a1e18d695cab810978d906458daa0468754cfb0 +Subproject commit 1486241a9e4a6f3da13d98542b8e39a02938ab96 diff --git a/LibreTransmitter b/LibreTransmitter index cc7e5dc3e0..61e9981995 160000 --- a/LibreTransmitter +++ b/LibreTransmitter @@ -1 +1 @@ -Subproject commit cc7e5dc3e0583fe0670971495623f7ef2ab9dcf7 +Subproject commit 61e9981995d0e9f1eaeeef8fd7b758865db8f3ab diff --git a/Loop b/Loop index c1c170a6d9..2b4cd9a2fe 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit c1c170a6d9fa663bcb742a21b321168bc3186013 +Subproject commit 2b4cd9a2feaeccf2c5c527a730d406b4d4ceb0c0 diff --git a/LoopKit b/LoopKit index 29bc17ba29..421c1a256e 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 29bc17ba29ede2bfb0d6111766dd5cd62072317e +Subproject commit 421c1a256e76a7166ab2848cedba53162d34fda1 diff --git a/MedtrumKit b/MedtrumKit index b9c6901097..77827f9a34 160000 --- a/MedtrumKit +++ b/MedtrumKit @@ -1 +1 @@ -Subproject commit b9c6901097ca77e7f23d283ed5f6c00b3c852447 +Subproject commit 77827f9a343cd28d64903d08060d6ebb846342f5 diff --git a/MinimedKit b/MinimedKit index 83d62c14a5..a9bf9ea5f6 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit 83d62c14a5cbc9996c6583220e65946172982e73 +Subproject commit a9bf9ea5f6d882dfd48179c0f696fc7b27ec196a diff --git a/OmnipodKit b/OmnipodKit index b47560e317..aee61f93d8 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit b47560e317212a6d58bc4a982b192ef1a69eba87 +Subproject commit aee61f93d8fc55f0539e6d2e599d4609fc908af1 diff --git a/RileyLinkKit b/RileyLinkKit index 8beb8e6c25..7ac340a4c3 160000 --- a/RileyLinkKit +++ b/RileyLinkKit @@ -1 +1 @@ -Subproject commit 8beb8e6c25d8ffa4c0b8a8b55309315d7805384b +Subproject commit 7ac340a4c3a3ec18e16264d0468474b04485ce8f From d6f8eeb535a6364b8e827fa7ba10e36dd4bc8dea Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sat, 12 Sep 2026 06:24:36 -0700 Subject: [PATCH 054/110] update MedtrumKit: Updated translations from lokalise on Fri Sep 11 07:19:14 PDT 2026 --- MedtrumKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MedtrumKit b/MedtrumKit index 77827f9a34..afa2485ac9 160000 --- a/MedtrumKit +++ b/MedtrumKit @@ -1 +1 @@ -Subproject commit 77827f9a343cd28d64903d08060d6ebb846342f5 +Subproject commit afa2485ac9ae7cf275de09f3c3f7a8718486514e From be19dc098c357768fa35fd340b64a5b5c0e1003e Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sat, 12 Sep 2026 06:42:30 -0700 Subject: [PATCH 055/110] update EversenseKit: fix to prevent app crashes --- EversenseKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EversenseKit b/EversenseKit index 57c14e2f41..063eb66e21 160000 --- a/EversenseKit +++ b/EversenseKit @@ -1 +1 @@ -Subproject commit 57c14e2f410a6a3932308be8c7d7683b394e3de1 +Subproject commit 063eb66e21e1555edf45e01548ab948af6a79519 From 15a883ad1c19fdcd989d2859898b1579232c2c8b Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sun, 13 Sep 2026 14:35:36 -0700 Subject: [PATCH 056/110] Bump version to 3.14.7 --- VersionOverride.xcconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VersionOverride.xcconfig b/VersionOverride.xcconfig index 5a9208faff..b7da04d138 100644 --- a/VersionOverride.xcconfig +++ b/VersionOverride.xcconfig @@ -8,5 +8,5 @@ // Version [for DIY Loop] // configure the version number in LoopWorkspace -LOOP_MARKETING_VERSION = 3.14.6 +LOOP_MARKETING_VERSION = 3.14.7 CURRENT_PROJECT_VERSION = 57 From a89e37012b65e6b0555111646e080fc3a4688dd1 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Mon, 14 Sep 2026 08:53:49 -0700 Subject: [PATCH 057/110] update OmnipodKit: fix disconnect mid-command when app background --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index aee61f93d8..3b20e3bcd9 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit aee61f93d8fc55f0539e6d2e599d4609fc908af1 +Subproject commit 3b20e3bcd9ffe077a9e090e8ba512ce4592a5bbd From 4759818ce591ed23c03efd765c806864c9193ed3 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Tue, 15 Sep 2026 10:03:14 -0700 Subject: [PATCH 058/110] Bump version to 3.14.8 --- VersionOverride.xcconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VersionOverride.xcconfig b/VersionOverride.xcconfig index b7da04d138..1118a09205 100644 --- a/VersionOverride.xcconfig +++ b/VersionOverride.xcconfig @@ -8,5 +8,5 @@ // Version [for DIY Loop] // configure the version number in LoopWorkspace -LOOP_MARKETING_VERSION = 3.14.7 +LOOP_MARKETING_VERSION = 3.14.8 CURRENT_PROJECT_VERSION = 57 From d1a144ea5f0a7fd9e1193e2de93211fd7c05279d Mon Sep 17 00:00:00 2001 From: marionbarker Date: Tue, 15 Sep 2026 10:05:50 -0700 Subject: [PATCH 059/110] update OmnipodKit: use the eager-connect Bluetooth method --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 3b20e3bcd9..305c84d5e4 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 3b20e3bcd9ffe077a9e090e8ba512ce4592a5bbd +Subproject commit 305c84d5e46d606c48766ffbf643e8d777568580 From 4fab2a3e602ca4710908776d13a3ca8206a53a9a Mon Sep 17 00:00:00 2001 From: marionbarker Date: Tue, 15 Sep 2026 20:10:09 -0700 Subject: [PATCH 060/110] update Loop: iOS 27 fix for toolbar --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 2b4cd9a2fe..dd761e8598 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 2b4cd9a2feaeccf2c5c527a730d406b4d4ceb0c0 +Subproject commit dd761e85987775fbf2a55a61b1e8b1d87a12b415 From 3502c50808cba74000a1284edd03fbd0538a4074 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Thu, 17 Sep 2026 07:19:54 -0700 Subject: [PATCH 061/110] update OmnipodKit: same code, point to main branch of OmnipodKit --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 305c84d5e4..05dd725d6a 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 305c84d5e46d606c48766ffbf643e8d777568580 +Subproject commit 05dd725d6a4521a15bdf389056a8c388408d3fed From d1d487033e1ac891ab91789ed4ea1ad0c0eb4510 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Thu, 17 Sep 2026 19:56:59 -0700 Subject: [PATCH 062/110] update submodule translation from lokalise on Thu Sep 17 08:17:21 PDT 2026 --- G7SensorKit | 2 +- LibreTransmitter | 2 +- Loop | 2 +- LoopKit | 2 +- NightscoutService | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/G7SensorKit b/G7SensorKit index 1486241a9e..c2abb4f096 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit 1486241a9e4a6f3da13d98542b8e39a02938ab96 +Subproject commit c2abb4f096351271909c358f4d4212bb92575700 diff --git a/LibreTransmitter b/LibreTransmitter index 61e9981995..125745be2a 160000 --- a/LibreTransmitter +++ b/LibreTransmitter @@ -1 +1 @@ -Subproject commit 61e9981995d0e9f1eaeeef8fd7b758865db8f3ab +Subproject commit 125745be2ac82f42a2d2f4e11f639ef624c9cd37 diff --git a/Loop b/Loop index dd761e8598..e3b32c2a8a 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit dd761e85987775fbf2a55a61b1e8b1d87a12b415 +Subproject commit e3b32c2a8a7767a260aea21167d025d99d26c56c diff --git a/LoopKit b/LoopKit index 421c1a256e..325bd82070 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 421c1a256e76a7166ab2848cedba53162d34fda1 +Subproject commit 325bd820702500edf382ea8c977b3e4f91168c2e diff --git a/NightscoutService b/NightscoutService index 8cd05a386d..fe075ef012 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit 8cd05a386dd83b62647a0ed2bfa7aff17aa8013e +Subproject commit fe075ef0125d986cf79beb2e0a7d3450ee606be3 From 86d4b4db57603dd152a3189df535dd5b00918c46 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Thu, 17 Sep 2026 19:59:05 -0700 Subject: [PATCH 063/110] update Loop: toolbar fix --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index e3b32c2a8a..acb495e3f1 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit e3b32c2a8a7767a260aea21167d025d99d26c56c +Subproject commit acb495e3f100f3764744486a7d07c40ee5a679f4 From 2a2ba68a19642e92de28708885fd72b3039cd4e4 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Thu, 17 Sep 2026 20:14:30 -0700 Subject: [PATCH 064/110] update OmnipodKit translations --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 05dd725d6a..ce45e205a5 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 05dd725d6a4521a15bdf389056a8c388408d3fed +Subproject commit ce45e205a54adac5cca4bdb5effe32f30b9165d0 From 2036f46513e3b62f329f96a69741fb797060a932 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Fri, 18 Sep 2026 16:51:11 -0700 Subject: [PATCH 065/110] update OmnipodKit: Silence Pod changes for the non-silent beep black dot O5 pods --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index ce45e205a5..3962aa5d96 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit ce45e205a54adac5cca4bdb5effe32f30b9165d0 +Subproject commit 3962aa5d96183207bfd395230db1ba5b22bac2be From 552ad74957d02115b5c81db9d5dd5301419382d6 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sat, 19 Sep 2026 16:08:49 -0700 Subject: [PATCH 066/110] update OmnipodKit: make When Open default Pod Keep Alive for all BLE Pods --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 3962aa5d96..79991df242 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 3962aa5d96183207bfd395230db1ba5b22bac2be +Subproject commit 79991df242a2e86170040d8f7e7a8fd039a3b68b From d63448a32c91f95d6304f73d47904cf7477e938d Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sat, 19 Sep 2026 16:18:01 -0700 Subject: [PATCH 067/110] update OmnipodKit: no change to code, point to main branch --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 79991df242..4e923d7769 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 79991df242a2e86170040d8f7e7a8fd039a3b68b +Subproject commit 4e923d77695cbff9983ef1c252a785d7af588300 From 7e6ed4e6904b8f3bd29055db6757fe3bf5719ca6 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sat, 19 Sep 2026 16:32:41 -0700 Subject: [PATCH 068/110] update Loop: Show the development branch warning at most once a week --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index acb495e3f1..c2fddb76a2 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit acb495e3f100f3764744486a7d07c40ee5a679f4 +Subproject commit c2fddb76a20500bbbd0be5d4133d64382feae689 From e99a5dc57fe5039a0388c0034a6064f53f39ce9b Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sun, 20 Sep 2026 14:49:27 -0700 Subject: [PATCH 069/110] Bump version to 3.14.9 --- VersionOverride.xcconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VersionOverride.xcconfig b/VersionOverride.xcconfig index 1118a09205..260da7c0c8 100644 --- a/VersionOverride.xcconfig +++ b/VersionOverride.xcconfig @@ -8,5 +8,5 @@ // Version [for DIY Loop] // configure the version number in LoopWorkspace -LOOP_MARKETING_VERSION = 3.14.8 +LOOP_MARKETING_VERSION = 3.14.9 CURRENT_PROJECT_VERSION = 57 From b7678abef63568d07af437c953cb9629ce94b363 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Tue, 22 Sep 2026 13:06:24 -0700 Subject: [PATCH 070/110] update LoopKit: Make InsulinSensitivityScheduleTests independent of time of day --- LoopKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopKit b/LoopKit index 325bd82070..cd55691939 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 325bd820702500edf382ea8c977b3e4f91168c2e +Subproject commit cd5569193967c2fd484c9f11aafa7383acd012eb From 4f71a23831acc94e2b4550653567dc8ebd010150 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Tue, 22 Sep 2026 13:53:42 -0700 Subject: [PATCH 071/110] update OmnipodKit: fix for too many pods when other pods are already paired --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 4e923d7769..173ed514c7 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 4e923d77695cbff9983ef1c252a785d7af588300 +Subproject commit 173ed514c716e3216fdc6815566f26305b4b3758 From fcb543567cba4a45c5137f4a573d7673df9e616d Mon Sep 17 00:00:00 2001 From: marionbarker Date: Thu, 24 Sep 2026 14:24:35 -0700 Subject: [PATCH 072/110] updated EversenseKit: fix DMS upload, crashes, battery upload, E3 alarms --- EversenseKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EversenseKit b/EversenseKit index 063eb66e21..dc72ef8ce5 160000 --- a/EversenseKit +++ b/EversenseKit @@ -1 +1 @@ -Subproject commit 063eb66e21e1555edf45e01548ab948af6a79519 +Subproject commit dc72ef8ce50fdb7a4e58276438ed347652ac6478 From abda84718b23dc110b910d8f70f0fe8b2ba5b0fd Mon Sep 17 00:00:00 2001 From: marionbarker Date: Thu, 24 Sep 2026 14:30:33 -0700 Subject: [PATCH 073/110] update LoopKit: fix test (pr617), fix crash (pr619) --- LoopKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopKit b/LoopKit index cd55691939..706ccf7780 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit cd5569193967c2fd484c9f11aafa7383acd012eb +Subproject commit 706ccf77808677391baf67c0c057127a1c9a999b From af15a3c9f968deea5ad3fdc2fd10d2b93a346a5a Mon Sep 17 00:00:00 2001 From: marionbarker Date: Fri, 25 Sep 2026 15:06:02 -0700 Subject: [PATCH 074/110] update import localization Scripts to work with Xcode 27 --- Scripts/import_localizations.sh | 2 +- Scripts/manual_import_localizations.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Scripts/import_localizations.sh b/Scripts/import_localizations.sh index ac072d20bb..15f27d0c74 100755 --- a/Scripts/import_localizations.sh +++ b/Scripts/import_localizations.sh @@ -46,7 +46,7 @@ for project in ${PROJECTS}; do done # Build Loop -set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'generic/platform=iOS' build | xcpretty +set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'generic/platform=iOS' build | xcbeautify # Apply translations diff --git a/Scripts/manual_import_localizations.sh b/Scripts/manual_import_localizations.sh index f132cc0b49..7cb8f2cea4 100755 --- a/Scripts/manual_import_localizations.sh +++ b/Scripts/manual_import_localizations.sh @@ -60,7 +60,7 @@ for project in ${PROJECTS}; do done # Build Loop -set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'generic/platform=iOS' build | xcpretty +set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'generic/platform=iOS' build | xcbeautify # Apply translations foreach file in xliff_in/*.xliff From b6cc96117063792e18e48bb3aead7b3108b2f843 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sat, 26 Sep 2026 17:48:09 -0700 Subject: [PATCH 075/110] update submodules: Updated translations from lokalise on Fri Sep 25 13:06:28 PDT 2026 --- AmplitudeService | 2 +- CGMBLEKit | 2 +- EversenseKit | 2 +- G7SensorKit | 2 +- LibreTransmitter | 2 +- LogglyService | 2 +- Loop | 2 +- LoopKit | 2 +- LoopOnboarding | 2 +- LoopSupport | 2 +- MedtrumKit | 2 +- MinimedKit | 2 +- NightscoutRemoteCGM | 2 +- NightscoutService | 2 +- OmnipodKit | 2 +- RileyLinkKit | 2 +- TidepoolService | 2 +- dexcom-share-client-swift | 2 +- 18 files changed, 18 insertions(+), 18 deletions(-) diff --git a/AmplitudeService b/AmplitudeService index fd9df8f489..f786858870 160000 --- a/AmplitudeService +++ b/AmplitudeService @@ -1 +1 @@ -Subproject commit fd9df8f48947f2cadc2a017ab88fdae074e32d96 +Subproject commit f786858870fde95ea558f766e94be790ef4c903b diff --git a/CGMBLEKit b/CGMBLEKit index 7b660d22a4..242a09d7fd 160000 --- a/CGMBLEKit +++ b/CGMBLEKit @@ -1 +1 @@ -Subproject commit 7b660d22a447a6ea5e800dbb30b2c1b13864f5bc +Subproject commit 242a09d7fd4276409f0172e14165d03ce48b973b diff --git a/EversenseKit b/EversenseKit index dc72ef8ce5..ffda0f42ce 160000 --- a/EversenseKit +++ b/EversenseKit @@ -1 +1 @@ -Subproject commit dc72ef8ce50fdb7a4e58276438ed347652ac6478 +Subproject commit ffda0f42cea06d29c326f491989f4848edda25ae diff --git a/G7SensorKit b/G7SensorKit index c2abb4f096..0574a749b9 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit c2abb4f096351271909c358f4d4212bb92575700 +Subproject commit 0574a749b9e15d4a5cf4cc2f02daa259fbdc514f diff --git a/LibreTransmitter b/LibreTransmitter index 125745be2a..41105123c3 160000 --- a/LibreTransmitter +++ b/LibreTransmitter @@ -1 +1 @@ -Subproject commit 125745be2ac82f42a2d2f4e11f639ef624c9cd37 +Subproject commit 41105123c3c4fb5c55ce89a38630cea2f8f7a17a diff --git a/LogglyService b/LogglyService index db7bcac28b..d5f93ff356 160000 --- a/LogglyService +++ b/LogglyService @@ -1 +1 @@ -Subproject commit db7bcac28b71202b1ed9ed21f9bf453bebcba91e +Subproject commit d5f93ff356e8df247107bdd7456adab44ec343e9 diff --git a/Loop b/Loop index c2fddb76a2..3be91feebd 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit c2fddb76a20500bbbd0be5d4133d64382feae689 +Subproject commit 3be91feebde9fb3e877dd9e16b5ff6d8f6e25bc7 diff --git a/LoopKit b/LoopKit index 706ccf7780..4bfdc49b73 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 706ccf77808677391baf67c0c057127a1c9a999b +Subproject commit 4bfdc49b738f3371f1b7213f1eb30e6a3cfc4231 diff --git a/LoopOnboarding b/LoopOnboarding index 4aca97d2e8..1ac6b2fe4f 160000 --- a/LoopOnboarding +++ b/LoopOnboarding @@ -1 +1 @@ -Subproject commit 4aca97d2e8267cf61b64bd1273380f5fcbb27cb6 +Subproject commit 1ac6b2fe4fb6413febab3327b0cb2c7a05403759 diff --git a/LoopSupport b/LoopSupport index 0c296289ed..21957dfec0 160000 --- a/LoopSupport +++ b/LoopSupport @@ -1 +1 @@ -Subproject commit 0c296289ed8698cbc3acd4c1ea1b39a600c0dbc3 +Subproject commit 21957dfec01d401edf8c7f9574a2975b60e7592b diff --git a/MedtrumKit b/MedtrumKit index afa2485ac9..3d69abda39 160000 --- a/MedtrumKit +++ b/MedtrumKit @@ -1 +1 @@ -Subproject commit afa2485ac9ae7cf275de09f3c3f7a8718486514e +Subproject commit 3d69abda391abc142b05dc1fc4ef5d5fd3539021 diff --git a/MinimedKit b/MinimedKit index a9bf9ea5f6..a7b26858e3 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit a9bf9ea5f6d882dfd48179c0f696fc7b27ec196a +Subproject commit a7b26858e3073ac8881e7303b675c6b0f8c51ee9 diff --git a/NightscoutRemoteCGM b/NightscoutRemoteCGM index e2230e33c9..45b4efd3ff 160000 --- a/NightscoutRemoteCGM +++ b/NightscoutRemoteCGM @@ -1 +1 @@ -Subproject commit e2230e33c9da61ffa1d9c507231a3e815703a23e +Subproject commit 45b4efd3ffee943832dbeb608b4cb4baeb53fb12 diff --git a/NightscoutService b/NightscoutService index fe075ef012..2cef4896f0 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit fe075ef0125d986cf79beb2e0a7d3450ee606be3 +Subproject commit 2cef4896f0704fb112575ab34b596ee7de78e48d diff --git a/OmnipodKit b/OmnipodKit index 173ed514c7..74d511843e 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 173ed514c716e3216fdc6815566f26305b4b3758 +Subproject commit 74d511843e60e785a2c039550dd0149915f6b17d diff --git a/RileyLinkKit b/RileyLinkKit index 7ac340a4c3..049f0d51b2 160000 --- a/RileyLinkKit +++ b/RileyLinkKit @@ -1 +1 @@ -Subproject commit 7ac340a4c3a3ec18e16264d0468474b04485ce8f +Subproject commit 049f0d51b2fb90fa5180f3f62555d8c661b55968 diff --git a/TidepoolService b/TidepoolService index 986c08203f..99ac3544f8 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit 986c08203f12bdf1b28b231e448091f9abaaa389 +Subproject commit 99ac3544f8462973f6ea886d1a46c2954ad0cc0f diff --git a/dexcom-share-client-swift b/dexcom-share-client-swift index 0f71fa2a45..ff0d714334 160000 --- a/dexcom-share-client-swift +++ b/dexcom-share-client-swift @@ -1 +1 @@ -Subproject commit 0f71fa2a450f55a92cff62e183d87c86b9c6633a +Subproject commit ff0d71433447af3c93dac450d95c14b63f58f417 From f85cdb3eb0aa49a8cccad743a9abcffb93f9060f Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sat, 26 Sep 2026 18:04:26 -0700 Subject: [PATCH 076/110] update Loop: Add missing translations string, update WatchApp.xcscheme for Xcode 27 --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 3be91feebd..2df7179c96 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 3be91feebde9fb3e877dd9e16b5ff6d8f6e25bc7 +Subproject commit 2df7179c966e5ee5feb05cc9104853d42308dbdb From 1c2c76dc6c8041f5d2101fa9784eacce5a3cd8a4 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sat, 26 Sep 2026 21:18:55 -0700 Subject: [PATCH 077/110] update Scripts for Xcode 27, * use SUPPORTS_MACCATALYST=NO to prevent macos deployment error in multiple submodules --- Scripts/export_localizations.sh | 2 +- Scripts/import_localizations.sh | 2 +- Scripts/manual_export_localizations.sh | 2 +- Scripts/manual_import_localizations.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Scripts/export_localizations.sh b/Scripts/export_localizations.sh index e6af2b3e66..3a7cd8ea4a 100755 --- a/Scripts/export_localizations.sh +++ b/Scripts/export_localizations.sh @@ -10,7 +10,7 @@ LANGUAGES=(ar cs ru en zh-Hans nl fr de it nb pl es ja pt-BR vi da sv fi ro tr h argstring="${LANGUAGES[@]/#/-exportLanguage }" IFS=" "; args=( $=argstring ) -xcodebuild -scheme LoopWorkspace -destination 'generic/platform=iOS' -exportLocalizations -localizationPath xclocs $args +xcodebuild -scheme LoopWorkspace -destination 'generic/platform=iOS' -exportLocalizations -localizationPath xclocs SUPPORTS_MACCATALYST=NO $args mkdir -p xliff_out find xclocs -name '*.xliff' -exec cp {} xliff_out \; diff --git a/Scripts/import_localizations.sh b/Scripts/import_localizations.sh index 15f27d0c74..2a3a497eeb 100755 --- a/Scripts/import_localizations.sh +++ b/Scripts/import_localizations.sh @@ -51,7 +51,7 @@ set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme # Apply translations foreach file in xliff_in/*.xliff - xcodebuild -workspace LoopWorkspace.xcworkspace -scheme "LoopWorkspace" -destination 'generic/platform=iOS' -importLocalizations -localizationPath $file + xcodebuild -workspace LoopWorkspace.xcworkspace -scheme "LoopWorkspace" -destination 'generic/platform=iOS' -importLocalizations -localizationPath $file SUPPORTS_MACCATALYST=NO end diff --git a/Scripts/manual_export_localizations.sh b/Scripts/manual_export_localizations.sh index 459ca5cfd8..b182989e2f 100755 --- a/Scripts/manual_export_localizations.sh +++ b/Scripts/manual_export_localizations.sh @@ -13,7 +13,7 @@ source Scripts/define_common.sh argstring="${LANGUAGES[@]/#/-exportLanguage }" IFS=" "; args=( $=argstring ) -xcodebuild -scheme LoopWorkspace -destination 'generic/platform=iOS' -exportLocalizations -localizationPath xclocs $args +xcodebuild -scheme LoopWorkspace -destination 'generic/platform=iOS' -exportLocalizations -localizationPath xclocs SUPPORTS_MACCATALYST=NO $args mkdir -p xliff_out find xclocs -name '*.xliff' -exec cp {} xliff_out \; diff --git a/Scripts/manual_import_localizations.sh b/Scripts/manual_import_localizations.sh index 7cb8f2cea4..7043ab1dc5 100755 --- a/Scripts/manual_import_localizations.sh +++ b/Scripts/manual_import_localizations.sh @@ -67,7 +67,7 @@ foreach file in xliff_in/*.xliff section_divider echo " importing ${file}" section_divider - /usr/bin/time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme "LoopWorkspace" -destination 'generic/platform=iOS' -importLocalizations -localizationPath $file + /usr/bin/time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme "LoopWorkspace" -destination 'generic/platform=iOS' -importLocalizations -localizationPath $file SUPPORTS_MACCATALYST=NO end section_divider From c4b60dda4fef2058f63dd99f314c7b3e5d25269d Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Sun, 27 Sep 2026 12:14:47 -0500 Subject: [PATCH 078/110] Build with Xcode 27 in the browser build workflows (#511) Use GitHub's xcode-27 runner image (macOS 27, Xcode 27.0 27A266a) so browser builds link against the iOS 27 SDK, matching local Xcode 27 builds. Loop#2524's toolbar padding fix is compiled only under Xcode 27, so browser builds have been shipping without it. --- .github/workflows/build_loop.yml | 4 ++-- .github/workflows/build_loop_auto.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index d359aa429c..35a15bd9a9 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -161,7 +161,7 @@ jobs: build: name: Build needs: [check_certs, check_status] - runs-on: macos-26 + runs-on: xcode-27 permissions: contents: write if: @@ -171,7 +171,7 @@ jobs: (vars.SCHEDULED_SYNC != 'false' && needs.check_status.outputs.NEW_COMMITS == 'true' ) steps: - name: Select Xcode version - run: "sudo xcode-select --switch /Applications/Xcode_26.5.app/Contents/Developer" + run: "sudo xcode-select --switch /Applications/Xcode_27.0.app/Contents/Developer" - name: Checkout Repo for building uses: actions/checkout@v5 diff --git a/.github/workflows/build_loop_auto.yml b/.github/workflows/build_loop_auto.yml index 5d2d647be3..efbd9dcb01 100644 --- a/.github/workflows/build_loop_auto.yml +++ b/.github/workflows/build_loop_auto.yml @@ -189,7 +189,7 @@ jobs: build: name: Build needs: [check_certs, check_status] - runs-on: macos-26 + runs-on: xcode-27 permissions: contents: write if: @@ -199,7 +199,7 @@ jobs: (vars.SCHEDULED_SYNC != 'false' && needs.check_status.outputs.NEW_COMMITS == 'true' ) steps: - name: Select Xcode version - run: "sudo xcode-select --switch /Applications/Xcode_26.5.app/Contents/Developer" + run: "sudo xcode-select --switch /Applications/Xcode_27.0.app/Contents/Developer" - name: Checkout Repo for building uses: actions/checkout@v5 From d4e26ce0bdcf708c46c61a4a814bfe5d61ce1689 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sun, 27 Sep 2026 10:30:16 -0700 Subject: [PATCH 079/110] update LoopKit: Resolve carb-entry row labels for localization --- LoopKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopKit b/LoopKit index 4bfdc49b73..f3eecc2652 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 4bfdc49b738f3371f1b7213f1eb30e6a3cfc4231 +Subproject commit f3eecc265273e9f2f5209b605fb4c84b64598b1a From 2893a36d98866762911e46571e87bcb8ffb30b7a Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sun, 27 Sep 2026 16:40:15 -0700 Subject: [PATCH 080/110] update MedtrumKit: several updates; * report state of patch if not ready to prime * fix crash, detect when delivery halts * check patch status * add machine translations for new strings --- MedtrumKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MedtrumKit b/MedtrumKit index 3d69abda39..ef866fa68d 160000 --- a/MedtrumKit +++ b/MedtrumKit @@ -1 +1 @@ -Subproject commit 3d69abda391abc142b05dc1fc4ef5d5fd3539021 +Subproject commit ef866fa68db22932271af9bce86372ced8604203 From 5940e11945020e19c5699d894b8220d1e011ad12 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Mon, 28 Sep 2026 20:57:41 -0700 Subject: [PATCH 081/110] update OmnipodKit: fix Silence End time UI #172 & #173; localize tab colors --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 74d511843e..929dc4704a 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 74d511843e60e785a2c039550dd0149915f6b17d +Subproject commit 929dc4704acf6b9ded40a5e167701b2e383be9d3 From 6176facfd0fa7b7722e760c3e37056f6b85326ea Mon Sep 17 00:00:00 2001 From: marionbarker Date: Tue, 29 Sep 2026 10:51:38 -0700 Subject: [PATCH 082/110] update Loop: fix crash on restart, wait until files and APNS registration are available --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 2df7179c96..836dc58101 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 2df7179c966e5ee5feb05cc9104853d42308dbdb +Subproject commit 836dc5810163abf03fa7fff24b53f591a6a67014 From b4154d052d444c55ee763181f4f939569f50999b Mon Sep 17 00:00:00 2001 From: marionbarker Date: Thu, 1 Oct 2026 11:08:15 -0700 Subject: [PATCH 083/110] update EversenseKit: PR #60, #63 and #62; * fix: restore transmitter across app launches; * configure a restored peripheral once the central is powered on * log missing delegate at debug level * fix: make the test target compile again * fix: vibration toggles for Transmitter --- EversenseKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EversenseKit b/EversenseKit index ffda0f42ce..aaa01f6cfe 160000 --- a/EversenseKit +++ b/EversenseKit @@ -1 +1 @@ -Subproject commit ffda0f42cea06d29c326f491989f4848edda25ae +Subproject commit aaa01f6cfe8c6eee27325b0ff53f12b71c1ad770 From 7b84146e990a8d07b14982f503d3ff554573625b Mon Sep 17 00:00:00 2001 From: marionbarker Date: Thu, 1 Oct 2026 11:11:36 -0700 Subject: [PATCH 084/110] updated OmnipodKit: fix eager-connect, when-open, noticed with 1-min Eversense BLE waking of app --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 929dc4704a..192e7ecb63 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 929dc4704acf6b9ded40a5e167701b2e383be9d3 +Subproject commit 192e7ecb63717891d85b85500781aa595e72a7ca From b5ca0c6b7a70bc767d6022c7dc901bbc3035321e Mon Sep 17 00:00:00 2001 From: marionbarker Date: Thu, 1 Oct 2026 13:25:02 -0700 Subject: [PATCH 085/110] update LoopKit: Let device managers record analytics events through their delegate --- LoopKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopKit b/LoopKit index f3eecc2652..1b09bddd22 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit f3eecc265273e9f2f5209b605fb4c84b64598b1a +Subproject commit 1b09bddd22bd91fb81e4b074f7638bc9e987246e From ed5fefe0aacebd79cd1b0ff8c5de96ec9ca60912 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Thu, 1 Oct 2026 13:26:31 -0700 Subject: [PATCH 086/110] update Loop: Forward device manager analytics events to the analytics services --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 836dc58101..d6c211230e 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 836dc5810163abf03fa7fff24b53f591a6a67014 +Subproject commit d6c211230efa513175f08782dfe98f07c9b38976 From 98ea3c1b0bd811b24e358bfdf56a6c5b66be7ccf Mon Sep 17 00:00:00 2001 From: marionbarker Date: Fri, 2 Oct 2026 14:07:20 -0700 Subject: [PATCH 087/110] update to fastlane 2.240.1, fixes security warning for rubyzip --- Gemfile | 2 +- Gemfile.lock | 94 ++++++++++++++++++++++++++++++---------------------- 2 files changed, 56 insertions(+), 40 deletions(-) diff --git a/Gemfile b/Gemfile index 502d6331b5..599db6eabf 100644 --- a/Gemfile +++ b/Gemfile @@ -1,2 +1,2 @@ source "https://rubygems.org" -gem "fastlane", "2.237.0" +gem "fastlane", "2.240.1" diff --git a/Gemfile.lock b/Gemfile.lock index 8e70830ead..93511b5ace 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -30,6 +30,7 @@ GEM base64 (0.3.0) benchmark (0.5.0) bigdecimal (4.1.2) + cgi (0.5.2) claide (1.1.0) colored (1.2) colored2 (3.1.2) @@ -42,38 +43,26 @@ GEM domain_name (0.6.20240107) dotenv (2.8.1) emoji_regex (3.2.3) + erb (6.0.7) excon (1.5.0) logger - faraday (1.10.6) - faraday-em_http (~> 1.0) - faraday-em_synchrony (~> 1.0) - faraday-excon (~> 1.1) - faraday-httpclient (~> 1.0) - faraday-multipart (~> 1.0) - faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.0) - faraday-patron (~> 1.0) - faraday-rack (~> 1.0) - faraday-retry (~> 1.0) - ruby2_keywords (>= 0.0.4) + faraday (2.14.4) + faraday-net_http (>= 2.0, < 3.5) + json + logger faraday-cookie_jar (0.0.8) faraday (>= 0.8.0) http-cookie (>= 1.0.0) - faraday-em_http (1.0.0) - faraday-em_synchrony (1.0.1) - faraday-excon (1.1.0) - faraday-httpclient (1.0.1) + faraday-follow_redirects (0.5.0) + faraday (>= 1, < 3) faraday-multipart (1.2.0) multipart-post (~> 2.0) - faraday-net_http (1.0.2) - faraday-net_http_persistent (1.2.0) - faraday-patron (1.0.0) - faraday-rack (1.0.0) - faraday-retry (1.0.4) - faraday_middleware (1.2.1) - faraday (~> 1.0) + faraday-net_http (3.4.4) + net-http (~> 0.5) + faraday-retry (2.4.0) + faraday (~> 2.0) fastimage (2.4.1) - fastlane (2.237.0) + fastlane (2.240.1) CFPropertyList (>= 2.3, < 5.0.0) abbrev (~> 0.1) addressable (>= 2.9.0, < 3.0.0) @@ -83,24 +72,27 @@ GEM base64 (~> 0.2) benchmark (>= 0.1.0) bundler (>= 2.4.0, < 5.0.0) + cgi (~> 0.4) colored (~> 1.2) commander (~> 4.6) csv (~> 3.3) dotenv (>= 2.1.1, < 3.0.0) emoji_regex (>= 0.1, < 4.0) excon (>= 0.71.0, < 2.0.0) - faraday (~> 1.0) - faraday-cookie_jar (~> 0.0.6) - faraday_middleware (~> 1.0) + faraday (~> 2.7) + faraday-cookie_jar (~> 0.0.8) + faraday-follow_redirects (~> 0.3) + faraday-multipart (~> 1.0) + faraday-retry (~> 2.0) fastimage (>= 2.1.0, < 3.0.0) fastlane-sirp (>= 1.1.0) gh_inspector (>= 1.1.2, < 2.0.0) - google-apis-androidpublisher_v3 (~> 0.3) + google-apis-androidpublisher_v3 (~> 0.99) google-apis-playcustomapp_v1 (~> 0.1) - google-cloud-env (>= 1.6.0, < 2.3.0) + google-cloud-env (>= 1.6.0, < 2.4.0) google-cloud-storage (~> 1.31) highline (~> 2.0) - http-cookie (~> 1.0.5) + irb (>= 1.8) json (< 3.0.0) jwt (>= 2.10.3, < 4) logger (>= 1.6, < 2.0) @@ -113,11 +105,11 @@ GEM optparse (>= 0.1.1, < 1.0.0) ostruct (>= 0.1.0) plist (>= 3.1.0, < 4.0.0) - rubyzip (>= 2.0.0, < 3.0.0) - security (= 0.1.5) + rubyzip (>= 3.4.0, < 4.0.0) + security (~> 0.3) simctl (~> 1.6.3) terminal-notifier (>= 2.0.0, < 3.0.0) - terminal-table (~> 3) + terminal-table (~> 4) tty-screen (>= 0.6.3, < 1.0.0) tty-spinner (>= 0.8.0, < 1.0.0) word_wrap (~> 1.0.0) @@ -172,6 +164,12 @@ GEM domain_name (~> 0.5) httpclient (2.9.0) mutex_m + io-console (0.9.4) + irb (1.18.0) + pp (>= 0.6.0) + prism (>= 1.3.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) jmespath (1.6.2) json (2.20.0) jwt (3.2.0) @@ -184,14 +182,31 @@ GEM mutex_m (0.3.0) nanaimo (0.4.0) naturally (2.3.0) + net-http (0.9.1) + uri (>= 0.11.1) nkf (0.3.0) optparse (0.8.1) os (1.1.4) ostruct (0.6.3) plist (3.7.2) + pp (0.6.4) + prettyprint + prettyprint (0.2.0) + prism (1.9.0) pstore (0.2.1) public_suffix (7.0.5) rake (13.4.2) + rbs (4.2.0) + logger + prism (>= 1.6.0) + tsort + rdoc (8.1.0) + erb + prism (>= 1.6.0) + rbs (>= 4.0.0) + tsort + reline (0.7.0) + io-console (~> 0.5) representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) @@ -199,9 +214,8 @@ GEM retriable (3.8.0) rexml (3.4.4) rouge (3.28.0) - ruby2_keywords (0.0.5) - rubyzip (2.4.1) - security (0.1.5) + rubyzip (3.7.0) + security (0.3.0) signet (0.22.0) addressable (~> 2.8) faraday (>= 0.17.5, < 3.a) @@ -210,15 +224,17 @@ GEM CFPropertyList naturally terminal-notifier (2.0.0) - terminal-table (3.0.2) - unicode-display_width (>= 1.1.1, < 3) + terminal-table (4.0.0) + unicode-display_width (>= 1.1.1, < 4) trailblazer-option (0.1.2) + tsort (0.2.0) tty-cursor (0.7.1) tty-screen (0.8.2) tty-spinner (0.9.3) tty-cursor (~> 0.7) uber (0.1.0) unicode-display_width (2.6.0) + uri (1.1.1) word_wrap (1.0.0) xcodeproj (1.28.1) CFPropertyList (>= 2.3.3, < 4.0) @@ -239,7 +255,7 @@ PLATFORMS ruby DEPENDENCIES - fastlane (= 2.237.0) + fastlane (= 2.240.1) BUNDLED WITH 4.0.12 From ef70ffbf8a23baac5e7c227844f3b31f4549dc34 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Fri, 2 Oct 2026 14:43:52 -0700 Subject: [PATCH 088/110] update GitHub actions: use xcode-27 and ubuntu-26.04 for all yml files --- .github/workflows/add_identifiers.yml | 2 +- .github/workflows/build_loop.yml | 2 +- .github/workflows/build_loop_auto.yml | 4 ++-- .github/workflows/create_certs.yml | 4 ++-- .github/workflows/validate_secrets.yml | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/add_identifiers.yml b/.github/workflows/add_identifiers.yml index 3f9e6b7638..71bf56f91f 100644 --- a/.github/workflows/add_identifiers.yml +++ b/.github/workflows/add_identifiers.yml @@ -12,7 +12,7 @@ jobs: identifiers: name: Add Identifiers needs: validate - runs-on: macos-26 + runs-on: xcode-27 steps: # Checks-out the repo - name: Checkout Repo diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index 35a15bd9a9..3a93a9fdc6 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -12,7 +12,7 @@ env: jobs: # use a single runner for these sequential steps check_status: - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 name: Check status to decide whether to build permissions: contents: write diff --git a/.github/workflows/build_loop_auto.yml b/.github/workflows/build_loop_auto.yml index efbd9dcb01..83c12b1087 100644 --- a/.github/workflows/build_loop_auto.yml +++ b/.github/workflows/build_loop_auto.yml @@ -16,7 +16,7 @@ env: jobs: # use a single runner for these sequential steps check_status: - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 name: Check status to decide whether to build permissions: contents: write @@ -154,7 +154,7 @@ jobs: cancel_when_no_build: needs: check_status name: Cancel run when there is nothing to build - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 permissions: actions: write if: | diff --git a/.github/workflows/create_certs.yml b/.github/workflows/create_certs.yml index a3cc89e077..9ec166f9fd 100644 --- a/.github/workflows/create_certs.yml +++ b/.github/workflows/create_certs.yml @@ -22,7 +22,7 @@ jobs: create_certs: name: Certificates needs: validate - runs-on: macos-26 + runs-on: xcode-27 outputs: new_certificate_needed: ${{ steps.set_output.outputs.new_certificate_needed }} @@ -91,7 +91,7 @@ jobs: nuke_certs: name: Nuke certificates needs: [validate, create_certs] - runs-on: macos-26 + runs-on: xcode-27 if: ${{ (needs.create_certs.outputs.new_certificate_needed == 'true' && vars.ENABLE_NUKE_CERTS == 'true') || vars.FORCE_NUKE_CERTS == 'true' }} steps: - name: Output from step id 'check_certs' diff --git a/.github/workflows/validate_secrets.yml b/.github/workflows/validate_secrets.yml index ea150c0c53..b07655d5d9 100644 --- a/.github/workflows/validate_secrets.yml +++ b/.github/workflows/validate_secrets.yml @@ -5,7 +5,7 @@ on: [workflow_call, workflow_dispatch] jobs: validate-access-token: name: Access - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 env: GH_PAT: ${{ secrets.GH_PAT }} GH_TOKEN: ${{ secrets.GH_PAT }} @@ -105,7 +105,7 @@ jobs: validate-fastlane-secrets: name: Fastlane needs: [validate-access-token] - runs-on: macos-26 + runs-on: xcode-27 env: GH_PAT: ${{ secrets.GH_PAT }} GH_TOKEN: ${{ secrets.GH_PAT }} From 864ff980afc74c01d523b2df021cbbf29628bde2 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sat, 3 Oct 2026 08:25:47 -0700 Subject: [PATCH 089/110] update Eversense: fix 365 handshake recovery PR 65 --- EversenseKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EversenseKit b/EversenseKit index aaa01f6cfe..e1bb6faf01 160000 --- a/EversenseKit +++ b/EversenseKit @@ -1 +1 @@ -Subproject commit aaa01f6cfe8c6eee27325b0ff53f12b71c1ad770 +Subproject commit e1bb6faf01bb4bd79872ae6d12787aea8bfe2ad5 From cee73ca9759bc18106c81b590e91b3203e9b44f0 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sat, 3 Oct 2026 14:43:10 -0700 Subject: [PATCH 090/110] update submodule translations: from lokalise on Sat Oct 3 09:14:39 PDT 2026 --- CGMBLEKit | 2 +- G7SensorKit | 2 +- Loop | 2 +- LoopKit | 2 +- OmnipodKit | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CGMBLEKit b/CGMBLEKit index 242a09d7fd..ea224e771f 160000 --- a/CGMBLEKit +++ b/CGMBLEKit @@ -1 +1 @@ -Subproject commit 242a09d7fd4276409f0172e14165d03ce48b973b +Subproject commit ea224e771fb3329a957a753296232c62a003a9fe diff --git a/G7SensorKit b/G7SensorKit index 0574a749b9..dd91f465b8 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit 0574a749b9e15d4a5cf4cc2f02daa259fbdc514f +Subproject commit dd91f465b8b7392354b74463b9b9cc7aae32db9f diff --git a/Loop b/Loop index d6c211230e..c30b5c89b1 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit d6c211230efa513175f08782dfe98f07c9b38976 +Subproject commit c30b5c89b1dc4151628f33f1384dd4796eaeeec2 diff --git a/LoopKit b/LoopKit index 1b09bddd22..d9f1437353 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 1b09bddd22bd91fb81e4b074f7638bc9e987246e +Subproject commit d9f1437353482690426bd981536f58c1e95ff535 diff --git a/OmnipodKit b/OmnipodKit index 192e7ecb63..4e923d7769 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 192e7ecb63717891d85b85500781aa595e72a7ca +Subproject commit 4e923d77695cbff9983ef1c252a785d7af588300 From 4bebbd178a4b79771d76b1d4c7c501329218f288 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sat, 3 Oct 2026 17:21:00 -0700 Subject: [PATCH 091/110] update Scripts to used OmnipodKit dev branch for releases --- Scripts/define_common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Scripts/define_common.sh b/Scripts/define_common.sh index a1a8aa197a..9d074196fc 100755 --- a/Scripts/define_common.sh +++ b/Scripts/define_common.sh @@ -76,7 +76,7 @@ PROJECTS=( \ LoopKit:NightscoutService:dev \ LoopKit:RileyLinkKit:dev \ LoopKit:TidepoolService:dev \ - loopandlearn:OmnipodKit:main \ + loopandlearn:OmnipodKit:dev \ bastiaanv:EversenseKit:dev \ jbr7rr:MedtrumKit:dev \ ) From 5ba1554f0b5badf60512859480e96aac3d3bae35 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sat, 3 Oct 2026 17:31:55 -0700 Subject: [PATCH 092/110] update OmnipodKit, translations from lokalise on Sat Oct 3 09:14:39 PDT 2026 --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 4e923d7769..dd611e8de1 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 4e923d77695cbff9983ef1c252a785d7af588300 +Subproject commit dd611e8de1a59cd4edf2d6a4702cbd76b23e2c98 From 2883b6790601330bb3cd8a9effe350bd5cdb344f Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sat, 3 Oct 2026 19:57:35 -0700 Subject: [PATCH 093/110] update OmnipodKit: Report pod pairing and pod end as analytics and pump events --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index dd611e8de1..043b91dbf1 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit dd611e8de1a59cd4edf2d6a4702cbd76b23e2c98 +Subproject commit 043b91dbf1958d26c55d927a6a8d651bc91f208d From 5d280d83c71e80ea29c4f55338c92f44ad37037a Mon Sep 17 00:00:00 2001 From: Marion Barker <19607791+marionbarker@users.noreply.github.com> Date: Sat, 3 Oct 2026 19:59:58 -0700 Subject: [PATCH 094/110] Update dev to 3.14.9 (#504) * Bump version to 3.14.9 * update LoopKit: Make InsulinSensitivityScheduleTests independent of time of day * update OmnipodKit: fix for too many pods when other pods are already paired * updated EversenseKit: fix DMS upload, crashes, battery upload, E3 alarms * update LoopKit: fix test (pr617), fix crash (pr619) * update import localization Scripts to work with Xcode 27 * update submodules: Updated translations from lokalise on Fri Sep 25 13:06:28 PDT 2026 * update Loop: Add missing translations string, update WatchApp.xcscheme for Xcode 27 * update Scripts for Xcode 27, * use SUPPORTS_MACCATALYST=NO to prevent macos deployment error in multiple submodules * Build with Xcode 27 in the browser build workflows (#511) Use GitHub's xcode-27 runner image (macOS 27, Xcode 27.0 27A266a) so browser builds link against the iOS 27 SDK, matching local Xcode 27 builds. Loop#2524's toolbar padding fix is compiled only under Xcode 27, so browser builds have been shipping without it. * update LoopKit: Resolve carb-entry row labels for localization * update MedtrumKit: several updates; * report state of patch if not ready to prime * fix crash, detect when delivery halts * check patch status * add machine translations for new strings * update OmnipodKit: fix Silence End time UI #172 & #173; localize tab colors * update Loop: fix crash on restart, wait until files and APNS registration are available * update EversenseKit: PR #60, #63 and #62; * fix: restore transmitter across app launches; * configure a restored peripheral once the central is powered on * log missing delegate at debug level * fix: make the test target compile again * fix: vibration toggles for Transmitter * updated OmnipodKit: fix eager-connect, when-open, noticed with 1-min Eversense BLE waking of app * update LoopKit: Let device managers record analytics events through their delegate * update Loop: Forward device manager analytics events to the analytics services * update to fastlane 2.240.1, fixes security warning for rubyzip * update GitHub actions: use xcode-27 and ubuntu-26.04 for all yml files * update Eversense: fix 365 handshake recovery PR 65 * update submodule translations: from lokalise on Sat Oct 3 09:14:39 PDT 2026 * update Scripts to used OmnipodKit dev branch for releases * update OmnipodKit, translations from lokalise on Sat Oct 3 09:14:39 PDT 2026 * update OmnipodKit: Report pod pairing and pod end as analytics and pump events --------- Co-authored-by: Pete Schwamb --- .github/workflows/add_identifiers.yml | 2 +- .github/workflows/build_loop.yml | 6 +- .github/workflows/build_loop_auto.yml | 8 +-- .github/workflows/create_certs.yml | 4 +- .github/workflows/validate_secrets.yml | 4 +- AmplitudeService | 2 +- CGMBLEKit | 2 +- EversenseKit | 2 +- G7SensorKit | 2 +- Gemfile | 2 +- Gemfile.lock | 94 +++++++++++++++----------- LibreTransmitter | 2 +- LogglyService | 2 +- Loop | 2 +- LoopKit | 2 +- LoopOnboarding | 2 +- LoopSupport | 2 +- MedtrumKit | 2 +- MinimedKit | 2 +- NightscoutRemoteCGM | 2 +- NightscoutService | 2 +- OmnipodKit | 2 +- RileyLinkKit | 2 +- Scripts/define_common.sh | 2 +- Scripts/export_localizations.sh | 2 +- Scripts/import_localizations.sh | 4 +- Scripts/manual_export_localizations.sh | 2 +- Scripts/manual_import_localizations.sh | 4 +- TidepoolService | 2 +- VersionOverride.xcconfig | 2 +- dexcom-share-client-swift | 2 +- 31 files changed, 94 insertions(+), 78 deletions(-) diff --git a/.github/workflows/add_identifiers.yml b/.github/workflows/add_identifiers.yml index 3f9e6b7638..71bf56f91f 100644 --- a/.github/workflows/add_identifiers.yml +++ b/.github/workflows/add_identifiers.yml @@ -12,7 +12,7 @@ jobs: identifiers: name: Add Identifiers needs: validate - runs-on: macos-26 + runs-on: xcode-27 steps: # Checks-out the repo - name: Checkout Repo diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml index d359aa429c..3a93a9fdc6 100644 --- a/.github/workflows/build_loop.yml +++ b/.github/workflows/build_loop.yml @@ -12,7 +12,7 @@ env: jobs: # use a single runner for these sequential steps check_status: - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 name: Check status to decide whether to build permissions: contents: write @@ -161,7 +161,7 @@ jobs: build: name: Build needs: [check_certs, check_status] - runs-on: macos-26 + runs-on: xcode-27 permissions: contents: write if: @@ -171,7 +171,7 @@ jobs: (vars.SCHEDULED_SYNC != 'false' && needs.check_status.outputs.NEW_COMMITS == 'true' ) steps: - name: Select Xcode version - run: "sudo xcode-select --switch /Applications/Xcode_26.5.app/Contents/Developer" + run: "sudo xcode-select --switch /Applications/Xcode_27.0.app/Contents/Developer" - name: Checkout Repo for building uses: actions/checkout@v5 diff --git a/.github/workflows/build_loop_auto.yml b/.github/workflows/build_loop_auto.yml index 5d2d647be3..83c12b1087 100644 --- a/.github/workflows/build_loop_auto.yml +++ b/.github/workflows/build_loop_auto.yml @@ -16,7 +16,7 @@ env: jobs: # use a single runner for these sequential steps check_status: - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 name: Check status to decide whether to build permissions: contents: write @@ -154,7 +154,7 @@ jobs: cancel_when_no_build: needs: check_status name: Cancel run when there is nothing to build - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 permissions: actions: write if: | @@ -189,7 +189,7 @@ jobs: build: name: Build needs: [check_certs, check_status] - runs-on: macos-26 + runs-on: xcode-27 permissions: contents: write if: @@ -199,7 +199,7 @@ jobs: (vars.SCHEDULED_SYNC != 'false' && needs.check_status.outputs.NEW_COMMITS == 'true' ) steps: - name: Select Xcode version - run: "sudo xcode-select --switch /Applications/Xcode_26.5.app/Contents/Developer" + run: "sudo xcode-select --switch /Applications/Xcode_27.0.app/Contents/Developer" - name: Checkout Repo for building uses: actions/checkout@v5 diff --git a/.github/workflows/create_certs.yml b/.github/workflows/create_certs.yml index a3cc89e077..9ec166f9fd 100644 --- a/.github/workflows/create_certs.yml +++ b/.github/workflows/create_certs.yml @@ -22,7 +22,7 @@ jobs: create_certs: name: Certificates needs: validate - runs-on: macos-26 + runs-on: xcode-27 outputs: new_certificate_needed: ${{ steps.set_output.outputs.new_certificate_needed }} @@ -91,7 +91,7 @@ jobs: nuke_certs: name: Nuke certificates needs: [validate, create_certs] - runs-on: macos-26 + runs-on: xcode-27 if: ${{ (needs.create_certs.outputs.new_certificate_needed == 'true' && vars.ENABLE_NUKE_CERTS == 'true') || vars.FORCE_NUKE_CERTS == 'true' }} steps: - name: Output from step id 'check_certs' diff --git a/.github/workflows/validate_secrets.yml b/.github/workflows/validate_secrets.yml index ea150c0c53..b07655d5d9 100644 --- a/.github/workflows/validate_secrets.yml +++ b/.github/workflows/validate_secrets.yml @@ -5,7 +5,7 @@ on: [workflow_call, workflow_dispatch] jobs: validate-access-token: name: Access - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 env: GH_PAT: ${{ secrets.GH_PAT }} GH_TOKEN: ${{ secrets.GH_PAT }} @@ -105,7 +105,7 @@ jobs: validate-fastlane-secrets: name: Fastlane needs: [validate-access-token] - runs-on: macos-26 + runs-on: xcode-27 env: GH_PAT: ${{ secrets.GH_PAT }} GH_TOKEN: ${{ secrets.GH_PAT }} diff --git a/AmplitudeService b/AmplitudeService index fd9df8f489..f786858870 160000 --- a/AmplitudeService +++ b/AmplitudeService @@ -1 +1 @@ -Subproject commit fd9df8f48947f2cadc2a017ab88fdae074e32d96 +Subproject commit f786858870fde95ea558f766e94be790ef4c903b diff --git a/CGMBLEKit b/CGMBLEKit index 7b660d22a4..ea224e771f 160000 --- a/CGMBLEKit +++ b/CGMBLEKit @@ -1 +1 @@ -Subproject commit 7b660d22a447a6ea5e800dbb30b2c1b13864f5bc +Subproject commit ea224e771fb3329a957a753296232c62a003a9fe diff --git a/EversenseKit b/EversenseKit index 063eb66e21..e1bb6faf01 160000 --- a/EversenseKit +++ b/EversenseKit @@ -1 +1 @@ -Subproject commit 063eb66e21e1555edf45e01548ab948af6a79519 +Subproject commit e1bb6faf01bb4bd79872ae6d12787aea8bfe2ad5 diff --git a/G7SensorKit b/G7SensorKit index c2abb4f096..dd91f465b8 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit c2abb4f096351271909c358f4d4212bb92575700 +Subproject commit dd91f465b8b7392354b74463b9b9cc7aae32db9f diff --git a/Gemfile b/Gemfile index 502d6331b5..599db6eabf 100644 --- a/Gemfile +++ b/Gemfile @@ -1,2 +1,2 @@ source "https://rubygems.org" -gem "fastlane", "2.237.0" +gem "fastlane", "2.240.1" diff --git a/Gemfile.lock b/Gemfile.lock index 8e70830ead..93511b5ace 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -30,6 +30,7 @@ GEM base64 (0.3.0) benchmark (0.5.0) bigdecimal (4.1.2) + cgi (0.5.2) claide (1.1.0) colored (1.2) colored2 (3.1.2) @@ -42,38 +43,26 @@ GEM domain_name (0.6.20240107) dotenv (2.8.1) emoji_regex (3.2.3) + erb (6.0.7) excon (1.5.0) logger - faraday (1.10.6) - faraday-em_http (~> 1.0) - faraday-em_synchrony (~> 1.0) - faraday-excon (~> 1.1) - faraday-httpclient (~> 1.0) - faraday-multipart (~> 1.0) - faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.0) - faraday-patron (~> 1.0) - faraday-rack (~> 1.0) - faraday-retry (~> 1.0) - ruby2_keywords (>= 0.0.4) + faraday (2.14.4) + faraday-net_http (>= 2.0, < 3.5) + json + logger faraday-cookie_jar (0.0.8) faraday (>= 0.8.0) http-cookie (>= 1.0.0) - faraday-em_http (1.0.0) - faraday-em_synchrony (1.0.1) - faraday-excon (1.1.0) - faraday-httpclient (1.0.1) + faraday-follow_redirects (0.5.0) + faraday (>= 1, < 3) faraday-multipart (1.2.0) multipart-post (~> 2.0) - faraday-net_http (1.0.2) - faraday-net_http_persistent (1.2.0) - faraday-patron (1.0.0) - faraday-rack (1.0.0) - faraday-retry (1.0.4) - faraday_middleware (1.2.1) - faraday (~> 1.0) + faraday-net_http (3.4.4) + net-http (~> 0.5) + faraday-retry (2.4.0) + faraday (~> 2.0) fastimage (2.4.1) - fastlane (2.237.0) + fastlane (2.240.1) CFPropertyList (>= 2.3, < 5.0.0) abbrev (~> 0.1) addressable (>= 2.9.0, < 3.0.0) @@ -83,24 +72,27 @@ GEM base64 (~> 0.2) benchmark (>= 0.1.0) bundler (>= 2.4.0, < 5.0.0) + cgi (~> 0.4) colored (~> 1.2) commander (~> 4.6) csv (~> 3.3) dotenv (>= 2.1.1, < 3.0.0) emoji_regex (>= 0.1, < 4.0) excon (>= 0.71.0, < 2.0.0) - faraday (~> 1.0) - faraday-cookie_jar (~> 0.0.6) - faraday_middleware (~> 1.0) + faraday (~> 2.7) + faraday-cookie_jar (~> 0.0.8) + faraday-follow_redirects (~> 0.3) + faraday-multipart (~> 1.0) + faraday-retry (~> 2.0) fastimage (>= 2.1.0, < 3.0.0) fastlane-sirp (>= 1.1.0) gh_inspector (>= 1.1.2, < 2.0.0) - google-apis-androidpublisher_v3 (~> 0.3) + google-apis-androidpublisher_v3 (~> 0.99) google-apis-playcustomapp_v1 (~> 0.1) - google-cloud-env (>= 1.6.0, < 2.3.0) + google-cloud-env (>= 1.6.0, < 2.4.0) google-cloud-storage (~> 1.31) highline (~> 2.0) - http-cookie (~> 1.0.5) + irb (>= 1.8) json (< 3.0.0) jwt (>= 2.10.3, < 4) logger (>= 1.6, < 2.0) @@ -113,11 +105,11 @@ GEM optparse (>= 0.1.1, < 1.0.0) ostruct (>= 0.1.0) plist (>= 3.1.0, < 4.0.0) - rubyzip (>= 2.0.0, < 3.0.0) - security (= 0.1.5) + rubyzip (>= 3.4.0, < 4.0.0) + security (~> 0.3) simctl (~> 1.6.3) terminal-notifier (>= 2.0.0, < 3.0.0) - terminal-table (~> 3) + terminal-table (~> 4) tty-screen (>= 0.6.3, < 1.0.0) tty-spinner (>= 0.8.0, < 1.0.0) word_wrap (~> 1.0.0) @@ -172,6 +164,12 @@ GEM domain_name (~> 0.5) httpclient (2.9.0) mutex_m + io-console (0.9.4) + irb (1.18.0) + pp (>= 0.6.0) + prism (>= 1.3.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) jmespath (1.6.2) json (2.20.0) jwt (3.2.0) @@ -184,14 +182,31 @@ GEM mutex_m (0.3.0) nanaimo (0.4.0) naturally (2.3.0) + net-http (0.9.1) + uri (>= 0.11.1) nkf (0.3.0) optparse (0.8.1) os (1.1.4) ostruct (0.6.3) plist (3.7.2) + pp (0.6.4) + prettyprint + prettyprint (0.2.0) + prism (1.9.0) pstore (0.2.1) public_suffix (7.0.5) rake (13.4.2) + rbs (4.2.0) + logger + prism (>= 1.6.0) + tsort + rdoc (8.1.0) + erb + prism (>= 1.6.0) + rbs (>= 4.0.0) + tsort + reline (0.7.0) + io-console (~> 0.5) representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) @@ -199,9 +214,8 @@ GEM retriable (3.8.0) rexml (3.4.4) rouge (3.28.0) - ruby2_keywords (0.0.5) - rubyzip (2.4.1) - security (0.1.5) + rubyzip (3.7.0) + security (0.3.0) signet (0.22.0) addressable (~> 2.8) faraday (>= 0.17.5, < 3.a) @@ -210,15 +224,17 @@ GEM CFPropertyList naturally terminal-notifier (2.0.0) - terminal-table (3.0.2) - unicode-display_width (>= 1.1.1, < 3) + terminal-table (4.0.0) + unicode-display_width (>= 1.1.1, < 4) trailblazer-option (0.1.2) + tsort (0.2.0) tty-cursor (0.7.1) tty-screen (0.8.2) tty-spinner (0.9.3) tty-cursor (~> 0.7) uber (0.1.0) unicode-display_width (2.6.0) + uri (1.1.1) word_wrap (1.0.0) xcodeproj (1.28.1) CFPropertyList (>= 2.3.3, < 4.0) @@ -239,7 +255,7 @@ PLATFORMS ruby DEPENDENCIES - fastlane (= 2.237.0) + fastlane (= 2.240.1) BUNDLED WITH 4.0.12 diff --git a/LibreTransmitter b/LibreTransmitter index 125745be2a..41105123c3 160000 --- a/LibreTransmitter +++ b/LibreTransmitter @@ -1 +1 @@ -Subproject commit 125745be2ac82f42a2d2f4e11f639ef624c9cd37 +Subproject commit 41105123c3c4fb5c55ce89a38630cea2f8f7a17a diff --git a/LogglyService b/LogglyService index db7bcac28b..d5f93ff356 160000 --- a/LogglyService +++ b/LogglyService @@ -1 +1 @@ -Subproject commit db7bcac28b71202b1ed9ed21f9bf453bebcba91e +Subproject commit d5f93ff356e8df247107bdd7456adab44ec343e9 diff --git a/Loop b/Loop index c2fddb76a2..c30b5c89b1 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit c2fddb76a20500bbbd0be5d4133d64382feae689 +Subproject commit c30b5c89b1dc4151628f33f1384dd4796eaeeec2 diff --git a/LoopKit b/LoopKit index 325bd82070..d9f1437353 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 325bd820702500edf382ea8c977b3e4f91168c2e +Subproject commit d9f1437353482690426bd981536f58c1e95ff535 diff --git a/LoopOnboarding b/LoopOnboarding index 4aca97d2e8..1ac6b2fe4f 160000 --- a/LoopOnboarding +++ b/LoopOnboarding @@ -1 +1 @@ -Subproject commit 4aca97d2e8267cf61b64bd1273380f5fcbb27cb6 +Subproject commit 1ac6b2fe4fb6413febab3327b0cb2c7a05403759 diff --git a/LoopSupport b/LoopSupport index 0c296289ed..21957dfec0 160000 --- a/LoopSupport +++ b/LoopSupport @@ -1 +1 @@ -Subproject commit 0c296289ed8698cbc3acd4c1ea1b39a600c0dbc3 +Subproject commit 21957dfec01d401edf8c7f9574a2975b60e7592b diff --git a/MedtrumKit b/MedtrumKit index afa2485ac9..ef866fa68d 160000 --- a/MedtrumKit +++ b/MedtrumKit @@ -1 +1 @@ -Subproject commit afa2485ac9ae7cf275de09f3c3f7a8718486514e +Subproject commit ef866fa68db22932271af9bce86372ced8604203 diff --git a/MinimedKit b/MinimedKit index a9bf9ea5f6..a7b26858e3 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit a9bf9ea5f6d882dfd48179c0f696fc7b27ec196a +Subproject commit a7b26858e3073ac8881e7303b675c6b0f8c51ee9 diff --git a/NightscoutRemoteCGM b/NightscoutRemoteCGM index e2230e33c9..45b4efd3ff 160000 --- a/NightscoutRemoteCGM +++ b/NightscoutRemoteCGM @@ -1 +1 @@ -Subproject commit e2230e33c9da61ffa1d9c507231a3e815703a23e +Subproject commit 45b4efd3ffee943832dbeb608b4cb4baeb53fb12 diff --git a/NightscoutService b/NightscoutService index fe075ef012..2cef4896f0 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit fe075ef0125d986cf79beb2e0a7d3450ee606be3 +Subproject commit 2cef4896f0704fb112575ab34b596ee7de78e48d diff --git a/OmnipodKit b/OmnipodKit index 4e923d7769..043b91dbf1 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 4e923d77695cbff9983ef1c252a785d7af588300 +Subproject commit 043b91dbf1958d26c55d927a6a8d651bc91f208d diff --git a/RileyLinkKit b/RileyLinkKit index 7ac340a4c3..049f0d51b2 160000 --- a/RileyLinkKit +++ b/RileyLinkKit @@ -1 +1 @@ -Subproject commit 7ac340a4c3a3ec18e16264d0468474b04485ce8f +Subproject commit 049f0d51b2fb90fa5180f3f62555d8c661b55968 diff --git a/Scripts/define_common.sh b/Scripts/define_common.sh index a1a8aa197a..9d074196fc 100755 --- a/Scripts/define_common.sh +++ b/Scripts/define_common.sh @@ -76,7 +76,7 @@ PROJECTS=( \ LoopKit:NightscoutService:dev \ LoopKit:RileyLinkKit:dev \ LoopKit:TidepoolService:dev \ - loopandlearn:OmnipodKit:main \ + loopandlearn:OmnipodKit:dev \ bastiaanv:EversenseKit:dev \ jbr7rr:MedtrumKit:dev \ ) diff --git a/Scripts/export_localizations.sh b/Scripts/export_localizations.sh index e6af2b3e66..3a7cd8ea4a 100755 --- a/Scripts/export_localizations.sh +++ b/Scripts/export_localizations.sh @@ -10,7 +10,7 @@ LANGUAGES=(ar cs ru en zh-Hans nl fr de it nb pl es ja pt-BR vi da sv fi ro tr h argstring="${LANGUAGES[@]/#/-exportLanguage }" IFS=" "; args=( $=argstring ) -xcodebuild -scheme LoopWorkspace -destination 'generic/platform=iOS' -exportLocalizations -localizationPath xclocs $args +xcodebuild -scheme LoopWorkspace -destination 'generic/platform=iOS' -exportLocalizations -localizationPath xclocs SUPPORTS_MACCATALYST=NO $args mkdir -p xliff_out find xclocs -name '*.xliff' -exec cp {} xliff_out \; diff --git a/Scripts/import_localizations.sh b/Scripts/import_localizations.sh index ac072d20bb..2a3a497eeb 100755 --- a/Scripts/import_localizations.sh +++ b/Scripts/import_localizations.sh @@ -46,12 +46,12 @@ for project in ${PROJECTS}; do done # Build Loop -set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'generic/platform=iOS' build | xcpretty +set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'generic/platform=iOS' build | xcbeautify # Apply translations foreach file in xliff_in/*.xliff - xcodebuild -workspace LoopWorkspace.xcworkspace -scheme "LoopWorkspace" -destination 'generic/platform=iOS' -importLocalizations -localizationPath $file + xcodebuild -workspace LoopWorkspace.xcworkspace -scheme "LoopWorkspace" -destination 'generic/platform=iOS' -importLocalizations -localizationPath $file SUPPORTS_MACCATALYST=NO end diff --git a/Scripts/manual_export_localizations.sh b/Scripts/manual_export_localizations.sh index 459ca5cfd8..b182989e2f 100755 --- a/Scripts/manual_export_localizations.sh +++ b/Scripts/manual_export_localizations.sh @@ -13,7 +13,7 @@ source Scripts/define_common.sh argstring="${LANGUAGES[@]/#/-exportLanguage }" IFS=" "; args=( $=argstring ) -xcodebuild -scheme LoopWorkspace -destination 'generic/platform=iOS' -exportLocalizations -localizationPath xclocs $args +xcodebuild -scheme LoopWorkspace -destination 'generic/platform=iOS' -exportLocalizations -localizationPath xclocs SUPPORTS_MACCATALYST=NO $args mkdir -p xliff_out find xclocs -name '*.xliff' -exec cp {} xliff_out \; diff --git a/Scripts/manual_import_localizations.sh b/Scripts/manual_import_localizations.sh index f132cc0b49..7043ab1dc5 100755 --- a/Scripts/manual_import_localizations.sh +++ b/Scripts/manual_import_localizations.sh @@ -60,14 +60,14 @@ for project in ${PROJECTS}; do done # Build Loop -set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'generic/platform=iOS' build | xcpretty +set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'generic/platform=iOS' build | xcbeautify # Apply translations foreach file in xliff_in/*.xliff section_divider echo " importing ${file}" section_divider - /usr/bin/time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme "LoopWorkspace" -destination 'generic/platform=iOS' -importLocalizations -localizationPath $file + /usr/bin/time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme "LoopWorkspace" -destination 'generic/platform=iOS' -importLocalizations -localizationPath $file SUPPORTS_MACCATALYST=NO end section_divider diff --git a/TidepoolService b/TidepoolService index 986c08203f..99ac3544f8 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit 986c08203f12bdf1b28b231e448091f9abaaa389 +Subproject commit 99ac3544f8462973f6ea886d1a46c2954ad0cc0f diff --git a/VersionOverride.xcconfig b/VersionOverride.xcconfig index 1118a09205..260da7c0c8 100644 --- a/VersionOverride.xcconfig +++ b/VersionOverride.xcconfig @@ -8,5 +8,5 @@ // Version [for DIY Loop] // configure the version number in LoopWorkspace -LOOP_MARKETING_VERSION = 3.14.8 +LOOP_MARKETING_VERSION = 3.14.9 CURRENT_PROJECT_VERSION = 57 diff --git a/dexcom-share-client-swift b/dexcom-share-client-swift index 0f71fa2a45..ff0d714334 160000 --- a/dexcom-share-client-swift +++ b/dexcom-share-client-swift @@ -1 +1 @@ -Subproject commit 0f71fa2a450f55a92cff62e183d87c86b9c6633a +Subproject commit ff0d71433447af3c93dac450d95c14b63f58f417 From 6389fa34acb16497029019c558ce8e70d93fb49e Mon Sep 17 00:00:00 2001 From: marionbarker Date: Sun, 11 Oct 2026 09:35:23 -0700 Subject: [PATCH 095/110] Bump version to 3.14.10 --- VersionOverride.xcconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VersionOverride.xcconfig b/VersionOverride.xcconfig index 260da7c0c8..0d54442e97 100644 --- a/VersionOverride.xcconfig +++ b/VersionOverride.xcconfig @@ -8,5 +8,5 @@ // Version [for DIY Loop] // configure the version number in LoopWorkspace -LOOP_MARKETING_VERSION = 3.14.9 +LOOP_MARKETING_VERSION = 3.14.10 CURRENT_PROJECT_VERSION = 57 From 900ff7448c2bb171280d89ae48999540bceae0eb Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Mon, 12 Oct 2026 13:03:02 -0500 Subject: [PATCH 096/110] Fix CircleCI config: declare version 2.1, use Xcode 27, fix some tests (#520) * Fix CircleCI config: declare version 2.1 and build with Xcode 27 CircleCI retired configuration version 2 at the end of September, so every pipeline since then has errored before running a single step. Declaring version 2.1 restores the builds. The image moves to Xcode 27 to match the browser build and local development. * update LoopKit: Adopt the scene lifecycle in the LoopKit Example * CI: keep the raw xcodebuild logs as artifacts xcbeautify hides xcodebuild's own progress messages, so when the test step went silent for ten minutes after the last bundle finished there was nothing to say why. Tee the raw output to files and store them. * CI: skip simulator diagnostics collection after tests With every test passing, xcodebuild still spent 600 seconds trying to collect simulator diagnostics and timed out, and CircleCI's ten-minute no-output limit killed the step one second earlier. The raw log from the previous run shows it. Diagnostics are not useful on CI anyway; the junit report and the raw log are what we read. * update Loop: Give the dosing tests ten seconds to wait on the data queue * CI: keep simulator crash reports as artifacts A test host crashed with an index out of range on CI but not locally, and without the crash report there is no stack to read. * update LoopKit: LoopKit PR 633 prior to merge * update LoopKit: add changed from LoopKit 633 and 636 after merging --------- Co-authored-by: marionbarker --- .circleci/config.yml | 17 +++++++++++++---- Loop | 2 +- LoopKit | 2 +- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ef02ead944..832673dc8e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,9 @@ +version: 2.1 + jobs: build_and_test: macos: - xcode: 26.4 + xcode: "27.0" steps: - checkout - run: @@ -12,14 +14,21 @@ jobs: command: brew list xcbeautify >/dev/null 2>&1 || brew install xcbeautify - run: name: Build Loop - command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 17' build | xcbeautify + command: | + mkdir -p logs + set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 17' build 2>&1 | tee logs/build.log | xcbeautify - run: name: Run Tests - command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 17' test | xcbeautify --report junit --report-path test-results/results.xml + command: set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'platform=iOS Simulator,name=iPhone 17' -collect-test-diagnostics never test 2>&1 | tee logs/test.log | xcbeautify --report junit --report-path test-results/results.xml - store_test_results: path: test-results + - store_artifacts: + path: logs + - store_artifacts: + path: /Users/distiller/Library/Logs/DiagnosticReports + destination: crashes + workflows: - version: 2 build_and_test: jobs: - build_and_test diff --git a/Loop b/Loop index c30b5c89b1..691afb313b 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit c30b5c89b1dc4151628f33f1384dd4796eaeeec2 +Subproject commit 691afb313b34fa40bc13b2aff26db6cc3f9721c5 diff --git a/LoopKit b/LoopKit index d9f1437353..29a8e0f0a4 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit d9f1437353482690426bd981536f58c1e95ff535 +Subproject commit 29a8e0f0a4fb0104a2989f63bd4d61da520f3363 From 985ca205bbff1379ba16460f40c01986865f74c6 Mon Sep 17 00:00:00 2001 From: Marion Barker <19607791+marionbarker@users.noreply.github.com> Date: Mon, 12 Oct 2026 11:42:50 -0700 Subject: [PATCH 097/110] update OmnipodKit: various fixes; (#530) * give up promptly when cannot reach pod during Deactivate; * fix issue only revealed in Trio, enable clean deletion of pump manager when Eros Pod type is selected; * fix case where alert acknowledgement is missed; --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 043b91dbf1..3e80ce6d8d 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 043b91dbf1958d26c55d927a6a8d651bc91f208d +Subproject commit 3e80ce6d8d438cebaee12e32d3d15270e2b6a003 From 30a7b898010b509c991e1ca6ae53a7a926e8c7af Mon Sep 17 00:00:00 2001 From: Marion Barker <19607791+marionbarker@users.noreply.github.com> Date: Wed, 14 Oct 2026 08:45:31 -0700 Subject: [PATCH 098/110] update OmnipodKit: Connect on demand in the background for InPlay pods on iPhone 16/17e (#535) --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 3e80ce6d8d..928bb79503 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 3e80ce6d8d438cebaee12e32d3d15270e2b6a003 +Subproject commit 928bb79503fc7eaf20fe9b26caa55fded09f7f0c From 338388d8ba68a9de03f212e358f77fdfadf7bdd7 Mon Sep 17 00:00:00 2001 From: Marion Barker <19607791+marionbarker@users.noreply.github.com> Date: Thu, 15 Oct 2026 13:57:46 -0700 Subject: [PATCH 099/110] update LoopKit: share the Core Data model used by next-dev (#538) --- LoopKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopKit b/LoopKit index 29a8e0f0a4..4c8e857730 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 29a8e0f0a4fb0104a2989f63bd4d61da520f3363 +Subproject commit 4c8e857730048a15786e7130a7be796964d39ff7 From c1f559709388c6434b9a1576fd0b7f7e2941a570 Mon Sep 17 00:00:00 2001 From: Marion Barker <19607791+marionbarker@users.noreply.github.com> Date: Sat, 17 Oct 2026 09:58:09 -0700 Subject: [PATCH 100/110] update LoopSupport: Send analytics to ingest.loopkit.org (#539) --- LoopSupport | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopSupport b/LoopSupport index 21957dfec0..e2807e8f53 160000 --- a/LoopSupport +++ b/LoopSupport @@ -1 +1 @@ -Subproject commit 21957dfec01d401edf8c7f9574a2975b60e7592b +Subproject commit e2807e8f539138aee75eed3d9fad04ded3490b80 From a89e6dac6faf75e1abe1d62d604db75abe23f438 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 21 Oct 2026 15:33:33 -0500 Subject: [PATCH 101/110] update LoopKit: Let support plugins provide Report a Problem and critical event logs --- LoopKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopKit b/LoopKit index 4c8e857730..3e828cd22b 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 4c8e857730048a15786e7130a7be796964d39ff7 +Subproject commit 3e828cd22bb24098ec0fff5dd4e208f9c3ae0934 From 46ceb34d46189a1cca6dcb3076520cffcee89740 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 21 Oct 2026 15:33:33 -0500 Subject: [PATCH 102/110] update LoopOnboarding: Require iOS 17.6 --- LoopOnboarding | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopOnboarding b/LoopOnboarding index 1ac6b2fe4f..22fac801b7 160000 --- a/LoopOnboarding +++ b/LoopOnboarding @@ -1 +1 @@ -Subproject commit 1ac6b2fe4fb6413febab3327b0cb2c7a05403759 +Subproject commit 22fac801b77b92158052613144894bf7a84385f0 From 0525dbe658508f1524ea5fe62a4b67b560d7df71 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 21 Oct 2026 15:33:33 -0500 Subject: [PATCH 103/110] update LoopSupport: Include build details on the instantiation event; Provide Report a Problem from LoopSupport --- LoopSupport | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopSupport b/LoopSupport index e2807e8f53..95a1ba84a6 160000 --- a/LoopSupport +++ b/LoopSupport @@ -1 +1 @@ -Subproject commit e2807e8f539138aee75eed3d9fad04ded3490b80 +Subproject commit 95a1ba84a6a2695db896fd28d5e2dc94176b4328 From b19ea2d680ebc6b879a22973052a540e62416c94 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 21 Oct 2026 15:33:33 -0500 Subject: [PATCH 104/110] update Loop: Submit issue reports, require iOS 17.6; daily analytics summary; Report a Problem from support plugins --- Loop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop b/Loop index 691afb313b..c795a2d008 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 691afb313b34fa40bc13b2aff26db6cc3f9721c5 +Subproject commit c795a2d00843444b863bcb0e7b9decbffe198a1f From 3aee0136838bc6622deb1a66d88eab16dcf3f6a6 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 21 Oct 2026 15:33:33 -0500 Subject: [PATCH 105/110] update OmnipodKit: Simplified PKA view and refresh margin; shared Signal Loss test --- OmnipodKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OmnipodKit b/OmnipodKit index 928bb79503..3de1ac2f49 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 928bb79503fc7eaf20fe9b26caa55fded09f7f0c +Subproject commit 3de1ac2f491c95c527f246d0335a3fd825deec8a From d9f5bf09af4556abf4e9455bdcf9a34060273bb9 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Wed, 21 Oct 2026 19:12:46 -0700 Subject: [PATCH 106/110] update EversenseKit: retry GetTxCertificate --- EversenseKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EversenseKit b/EversenseKit index e1bb6faf01..e7a1850fd2 160000 --- a/EversenseKit +++ b/EversenseKit @@ -1 +1 @@ -Subproject commit e1bb6faf01bb4bd79872ae6d12787aea8bfe2ad5 +Subproject commit e7a1850fd28665de2e61831d606abc1e4112c545 From 812e32d03b8ebd51a0b29e2cbfb72e36dbd9606e Mon Sep 17 00:00:00 2001 From: Marion Barker <19607791+marionbarker@users.noreply.github.com> Date: Thu, 22 Oct 2026 11:12:07 -0700 Subject: [PATCH 107/110] update LoopSupport: View the diagnostic report before sharing or sending it (#549) --- LoopSupport | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopSupport b/LoopSupport index 95a1ba84a6..a647bced24 160000 --- a/LoopSupport +++ b/LoopSupport @@ -1 +1 @@ -Subproject commit 95a1ba84a6a2695db896fd28d5e2dc94176b4328 +Subproject commit a647bced24118717a842d53bea83ac7823dc6f32 From 6fd0ef0191405864a40d16b6e100d1df952e0f07 Mon Sep 17 00:00:00 2001 From: marionbarker Date: Thu, 22 Oct 2026 14:24:34 -0700 Subject: [PATCH 108/110] update submodules: translations from lokalise Oct 22 2026 --- CGMBLEKit | 2 +- Loop | 2 +- LoopKit | 2 +- LoopSupport | 2 +- MedtrumKit | 2 +- OmnipodKit | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CGMBLEKit b/CGMBLEKit index ea224e771f..776543fca9 160000 --- a/CGMBLEKit +++ b/CGMBLEKit @@ -1 +1 @@ -Subproject commit ea224e771fb3329a957a753296232c62a003a9fe +Subproject commit 776543fca902ad74e3a068a3ec402d62d716a322 diff --git a/Loop b/Loop index c795a2d008..da7007a699 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit c795a2d00843444b863bcb0e7b9decbffe198a1f +Subproject commit da7007a6999c2b0f573559fa62db0377fae587a6 diff --git a/LoopKit b/LoopKit index 3e828cd22b..915f58309f 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 3e828cd22bb24098ec0fff5dd4e208f9c3ae0934 +Subproject commit 915f58309ff61b6def4981df09dfd96e40bc50af diff --git a/LoopSupport b/LoopSupport index a647bced24..776b475459 160000 --- a/LoopSupport +++ b/LoopSupport @@ -1 +1 @@ -Subproject commit a647bced24118717a842d53bea83ac7823dc6f32 +Subproject commit 776b4754592ca930d0759b6ff057d878dc0ae57b diff --git a/MedtrumKit b/MedtrumKit index ef866fa68d..c33699595b 160000 --- a/MedtrumKit +++ b/MedtrumKit @@ -1 +1 @@ -Subproject commit ef866fa68db22932271af9bce86372ced8604203 +Subproject commit c33699595b6f636d8ca1bff377a8765df5597c34 diff --git a/OmnipodKit b/OmnipodKit index 3de1ac2f49..0c6d68b00d 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit 3de1ac2f491c95c527f246d0335a3fd825deec8a +Subproject commit 0c6d68b00d45f4fecd9b0fc0477fc00e2d7e4c02 From 8b41221de44b591de70db29fb6ec0695f7d21fcf Mon Sep 17 00:00:00 2001 From: marionbarker Date: Thu, 22 Oct 2026 11:22:13 -0700 Subject: [PATCH 109/110] fix dependabot alert: Bump json gem to 2.21.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 93511b5ace..67110040a4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -171,7 +171,7 @@ GEM rdoc (>= 4.0.0) reline (>= 0.4.2) jmespath (1.6.2) - json (2.20.0) + json (2.21.2) jwt (3.2.0) base64 logger (1.7.0) From 4e011c67f12759786920afdd6d813adaf8167af5 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Thu, 22 Oct 2026 18:01:31 -0500 Subject: [PATCH 110/110] Point submodules at their next-dev merge commits --- AmplitudeService | 2 +- CGMBLEKit | 2 +- G7SensorKit | 2 +- LibreTransmitter | 2 +- LogglyService | 2 +- Loop | 2 +- LoopKit | 2 +- LoopOnboarding | 2 +- LoopSupport | 2 +- MedtrumKit | 2 +- MinimedKit | 2 +- NightscoutRemoteCGM | 2 +- NightscoutService | 2 +- OmnipodKit | 2 +- RileyLinkKit | 2 +- TidepoolService | 2 +- dexcom-share-client-swift | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/AmplitudeService b/AmplitudeService index 8a4a1e3d77..1df8e64bb9 160000 --- a/AmplitudeService +++ b/AmplitudeService @@ -1 +1 @@ -Subproject commit 8a4a1e3d771105960103514849e5bb527be166e0 +Subproject commit 1df8e64bb9bbe36367ed9038bc9225d680544d0d diff --git a/CGMBLEKit b/CGMBLEKit index 2ba67d8609..4eee5121a1 160000 --- a/CGMBLEKit +++ b/CGMBLEKit @@ -1 +1 @@ -Subproject commit 2ba67d8609a37dcca7338282da61a537973daa05 +Subproject commit 4eee5121a12c01032b306063b9b673ffea1bf126 diff --git a/G7SensorKit b/G7SensorKit index 8c307b0261..8ce130e07b 160000 --- a/G7SensorKit +++ b/G7SensorKit @@ -1 +1 @@ -Subproject commit 8c307b0261bd91ab8769b8e4d9f82d3d4cc97a29 +Subproject commit 8ce130e07bce4fb7decdf420cf478a77b18ba3d7 diff --git a/LibreTransmitter b/LibreTransmitter index ba395f88f5..30e3739cf5 160000 --- a/LibreTransmitter +++ b/LibreTransmitter @@ -1 +1 @@ -Subproject commit ba395f88f5720a967cb1bbed98087d6c7a1f06e0 +Subproject commit 30e3739cf5bed2e259bfe376ded356f1b1dbbafb diff --git a/LogglyService b/LogglyService index a93fe4a93d..89c94cb92a 160000 --- a/LogglyService +++ b/LogglyService @@ -1 +1 @@ -Subproject commit a93fe4a93d41e5cefc17ae245fe768d5ed55e1c0 +Subproject commit 89c94cb92ac1c0f6bee247a960b7574c5e690017 diff --git a/Loop b/Loop index 69a7cf159e..4bb97fd1b8 160000 --- a/Loop +++ b/Loop @@ -1 +1 @@ -Subproject commit 69a7cf159e343e793d9023efd38faec504cd0c52 +Subproject commit 4bb97fd1b855339412984b6316c92dfef6b59528 diff --git a/LoopKit b/LoopKit index 6361c2de06..5513024d04 160000 --- a/LoopKit +++ b/LoopKit @@ -1 +1 @@ -Subproject commit 6361c2de061f0c8e4bc7309cdc5a1e07187ef2ad +Subproject commit 5513024d04b74a3e83d7b1fc67e0247f70b77988 diff --git a/LoopOnboarding b/LoopOnboarding index 7891140675..51a453c7b0 160000 --- a/LoopOnboarding +++ b/LoopOnboarding @@ -1 +1 @@ -Subproject commit 789114067558a6a59a5d11217ea6feb2de336e4d +Subproject commit 51a453c7b03004d01136148fef1ecc1a734d9c16 diff --git a/LoopSupport b/LoopSupport index 6097cf1b08..d8a6c447ec 160000 --- a/LoopSupport +++ b/LoopSupport @@ -1 +1 @@ -Subproject commit 6097cf1b08d14c80e35fde19506035eca4476458 +Subproject commit d8a6c447ec6a7f4d0055b6eda1e8cddda335c6de diff --git a/MedtrumKit b/MedtrumKit index 92cde41039..ebdd2edb55 160000 --- a/MedtrumKit +++ b/MedtrumKit @@ -1 +1 @@ -Subproject commit 92cde41039e4e7549a48945c85106420eb939a9f +Subproject commit ebdd2edb55c7adab442e88aeb2f92314dc3f05be diff --git a/MinimedKit b/MinimedKit index f88c9eec5f..81112d8ece 160000 --- a/MinimedKit +++ b/MinimedKit @@ -1 +1 @@ -Subproject commit f88c9eec5fb73cb228b0a996f49832d7b4514c69 +Subproject commit 81112d8ecee065e8ecf2ecb4f6707dcb4ae7f8f9 diff --git a/NightscoutRemoteCGM b/NightscoutRemoteCGM index 931d5b06e1..fb054455cf 160000 --- a/NightscoutRemoteCGM +++ b/NightscoutRemoteCGM @@ -1 +1 @@ -Subproject commit 931d5b06e1578298f12120d795972fcf388f7a31 +Subproject commit fb054455cfcf4f0f9510468739f92408c4a96875 diff --git a/NightscoutService b/NightscoutService index e02a352ceb..ec96a7869d 160000 --- a/NightscoutService +++ b/NightscoutService @@ -1 +1 @@ -Subproject commit e02a352ceb057c08c2f16a3cc3689db01109b3c2 +Subproject commit ec96a7869dd2a27b3cc4078b3caa6ff22a253fac diff --git a/OmnipodKit b/OmnipodKit index a67b0547e1..2481b36266 160000 --- a/OmnipodKit +++ b/OmnipodKit @@ -1 +1 @@ -Subproject commit a67b0547e14c292fbf98f026ffc53ee6b9f5823a +Subproject commit 2481b36266007fd8d7e6d770570bd4b074d742f6 diff --git a/RileyLinkKit b/RileyLinkKit index 65af94a4c5..1a40a3373a 160000 --- a/RileyLinkKit +++ b/RileyLinkKit @@ -1 +1 @@ -Subproject commit 65af94a4c5e324604f99a3bf369167280fd8eac2 +Subproject commit 1a40a3373a7999fc4922b8e6ce146a2457a7031e diff --git a/TidepoolService b/TidepoolService index d40761988f..54097855c7 160000 --- a/TidepoolService +++ b/TidepoolService @@ -1 +1 @@ -Subproject commit d40761988f5a513d6b3e7ee913d76e69eecc0bdb +Subproject commit 54097855c7ff9a868d406664ef17f1a7c929ebb7 diff --git a/dexcom-share-client-swift b/dexcom-share-client-swift index 550dc01fdc..c91e893dad 160000 --- a/dexcom-share-client-swift +++ b/dexcom-share-client-swift @@ -1 +1 @@ -Subproject commit 550dc01fdc79189037d83639a94489b92324c386 +Subproject commit c91e893dadc2ccf21f8423675264c511c8433a8a