diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml
index fab987e7b3..9dab27ff57 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.2.app/Contents/Developer"
+ run: "sudo xcode-select --switch /Applications/Xcode_26.4.app/Contents/Developer"
- name: Checkout Repo for building
uses: actions/checkout@v5
diff --git a/.gitmodules b/.gitmodules
index 1308e60c03..f3472ea060 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -31,9 +31,6 @@
[submodule "LogglyService"]
path = LogglyService
url = https://github.com/LoopKit/LogglyService.git
-[submodule "OmniBLE"]
- path = OmniBLE
- url = https://github.com/LoopKit/OmniBLE.git
[submodule "NightscoutRemoteCGM"]
path = NightscoutRemoteCGM
url = https://github.com/LoopKit/NightscoutRemoteCGM.git
@@ -46,9 +43,6 @@
[submodule "TidepoolService"]
path = TidepoolService
url = https://github.com/LoopKit/TidepoolService.git
-[submodule "OmniKit"]
- path = OmniKit
- url = https://github.com/LoopKit/OmniKit.git
[submodule "MinimedKit"]
path = MinimedKit
url = https://github.com/LoopKit/MinimedKit.git
@@ -58,3 +52,12 @@
[submodule "LibreTransmitter"]
path = LibreTransmitter
url = https://github.com/LoopKit/LibreTransmitter.git
+[submodule "OmnipodKit"]
+ path = OmnipodKit
+ url = https://github.com/loopandlearn/OmnipodKit
+[submodule "MedtrumKit"]
+ path = MedtrumKit
+ url = https://github.com/jbr7rr/MedtrumKit
+[submodule "EversenseKit"]
+ path = EversenseKit
+ url = https://github.com/bastiaanv/EversenseKit
diff --git a/AmplitudeService b/AmplitudeService
index 5a7e8c69f5..fd9df8f489 160000
--- a/AmplitudeService
+++ b/AmplitudeService
@@ -1 +1 @@
-Subproject commit 5a7e8c69f545bd8a2347dd35f68c7ac95ec4492b
+Subproject commit fd9df8f48947f2cadc2a017ab88fdae074e32d96
diff --git a/CGMBLEKit b/CGMBLEKit
index ba5d0b7daf..edd8fb232e 160000
--- a/CGMBLEKit
+++ b/CGMBLEKit
@@ -1 +1 @@
-Subproject commit ba5d0b7daf83d282b587c8ff0e835162b8c75846
+Subproject commit edd8fb232e18a09a6c162b489172ea9d381d7bb6
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000000..b708ff16d8
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,137 @@
+# Contributing to Loop
+
+Thank you for your interest in contributing to Loop.
+
+Loop is a community effort, and contributions of all kinds are welcome. This document outlines some guidelines, good practices, and expectations for contributing to the project, with the goal of making collaboration and review as smooth as possible.
+
+Whether you are helping other users, improving documentation, translating the app, testing builds, reviewing code, or contributing new features and fixes, your work matters.
+
+Loop is built using the LoopWorkspace repository. The primary source for the app is at https://github.com/LoopKit/LoopWorkspace.
+
+## Ways to contribute
+
+There are many ways to support the Loop community:
+
+- **Help others** by answering questions and guiding users in support communities.
+- Improve the **documentation** by updating or expanding LoopDocs.
+- Improve the **app** by contributing code, fixes, features, or tests.
+- Help with **translation and localization** through Loop lokalise.
+- Support **testing and feedback** by validating changes and reporting issues clearly.
+
+### Pay it forward
+
+If Loop has helped you manage your diabetes successfully, consider paying it forward by helping others. Answering questions in [Loop Zulipchat](https://loop.zulipchat.com/) or the [Loop and Learn](https://www.facebook.com/groups/LOOPandLEARN) Facebook group can make a real difference for someone getting started.
+
+### Translate
+
+Loop is translated into multiple languages to make it easier to understand and use around the world. Translation for the submodules that make up the Loop app is managed through the [Loop lokalise project](https://loopkit.github.io/loopdocs/faqs/app-translation/#code-translation) and does not require programming experience.
+
+If your preferred language is missing, or you would like to improve an existing translation, please sign up as a translator following the directions in the link above.
+
+### Develop
+
+Do you work with Swift? UI/UX? Testing? API optimization? Data storage?
+
+Loop is a collaborative project, and contributions of all kinds are welcome. Whether you are writing code, improving the user experience, testing builds, helping with documentation, or contributing in other ways, your help matters.
+
+## General principles
+
+- Start small. Smaller, focused contributions are easier to review, test, and merge.
+- For larger changes or new features, open or reference an issue first so there is a clear place for discussion and progress tracking.
+- Reach out early if you are planning to work on something substantial, especially if it may overlap with work already in progress.
+- Keep discussions constructive, respectful, and focused on improving Loop for the community.
+- Remember that Loop is part of a wider open source AID ecosystem. Collaboration and maintainability matter just as much as shipping features.
+
+## Development guidelines
+
+### Coding conventions
+
+- Use Xcode and follow the existing formatting and style used throughout the codebase.
+- Keep indentation and formatting consistent in every file you change.
+- Format your code before committing.
+- Avoid unrelated formatting-only changes in files you are not otherwise modifying.
+- Choose clear, readable code over clever or overly compact solutions.
+- Follow existing naming, file organization, and architectural patterns unless there is a good reason not to.
+
+### Strings and localization
+
+- Add new user-facing strings in the appropriate localization mechanism used by the app.
+- Provide English source strings only unless the contribution is specifically about translations.
+- Translation and localization for other languages should go through the [Loop lokalise project](https://loopkit.github.io/loopdocs/faqs/app-translation/#code-translation).
+
+### Documentation
+
+- 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.
+
+## Branches, commits, and pull requests
+
+### Getting started
+
+The example below is for the Loop repository. Similar contributions can be made to other respositories as needed.
+
+1. Fork the `dev` branch of the [Loop repository](https://github.com/LoopKit/Loop) on GitHub.
+1. Create a separate branch for each feature or fix with an [appropriate name](#branch-names).
+1. Branch from the most recent appropriate development branch (typically `dev`).
+1. Commit your changes to your fork.
+1. When ready, open a pull request against the upstream repository (`LoopKit/Loop`).
+
+### Before opening a pull request
+
+- Rebase or otherwise sync your branch with the latest target branch.
+- Make sure your change is focused and does not include unrelated edits.
+- Test your changes as thoroughly as you reasonably can.
+- Update relevant documentation when needed.
+- Double-check for debug code, commented-out code, accidental version changes, or temporary workarounds left behind.
+
+### Pull request guidance
+
+- Keep pull requests as small and focused as practical.
+- Use a clear title and description.
+- Explain **what** changed and **why**.
+- Link the relevant issue when applicable.
+- Mention any areas that need particular review attention.
+- Be open to feedback and follow-up changes during review.
+- Use AI tools, if at all, as a support for small, well-understood tasks rather than to generate large parts of a contribution
+- Do not submit AI-heavy or "vibe-coded" pull requests; we welcome thoughtful use of tooling, but contributions need to be intentionally designed.
+
+## Naming conventions
+
+### Branch names
+
+Use short, descriptive branch names that make the purpose of the change obvious. For example:
+
+- `fix/watchstate-sync`
+- `feature/onboarding-target-behavior`
+- `refactor/therapy-editor`
+
+### Pull request titles
+
+Use concise, descriptive pull request titles. Good titles usually start with the type of change, for example:
+
+- `Fix watch state sync timing issue`
+- `Add onboarding step for target behavior`
+- `Update build documentation`
+
+## Communication and coordination
+
+For new ideas, larger features, or work that may affect multiple parts of the app, **discuss it with the community first** — reach out to the contributor core on [Loop Zulipchat](https://loop.zulipchat.com/). This helps reduce duplicate work, avoid merge conflicts, and improve the final design.
+
+## Review expectations
+
+Please remember that Loop is maintained by contributors with limited time. Reviews may take time, and some pull requests may require iteration before they are ready to merge.
+
+To help keep reviews efficient:
+
+- Keep the scope narrow.
+- Explain your reasoning clearly.
+- Respond to review comments directly.
+- Avoid force-pushing large unexplained rewrites during active review unless necessary.
+- AI-assisted work is welcome for limited, well-understood tasks, but contributions should remain author-driven and must be code you fully understand, and can explain.
+
+We do not accept pull requests that are largely AI-generated or submitted without careful engineering judgment, testing, and alignment with Loop’s existing patterns.
+
+## Final note
+
+Loop exists because people choose to contribute their time, knowledge, and care to a shared effort. Thank you for helping improve the project and support the broader open source AID community.
diff --git a/EversenseKit b/EversenseKit
new file mode 160000
index 0000000000..43b808002f
--- /dev/null
+++ b/EversenseKit
@@ -0,0 +1 @@
+Subproject commit 43b808002ffb88f29dc628cb609ca06eca8c7aeb
diff --git a/G7SensorKit b/G7SensorKit
index 4d0780db06..890e60754d 160000
--- a/G7SensorKit
+++ b/G7SensorKit
@@ -1 +1 @@
-Subproject commit 4d0780db06c7c95b3a3bf3cdb2f2838d521e411a
+Subproject commit 890e60754ded6b1610c8b8fac7a3c026bf704a64
diff --git a/Gemfile b/Gemfile
index ce5882953b..0eb90cb08b 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,2 +1,2 @@
source "https://rubygems.org"
-gem "fastlane", "2.232.1"
+gem "fastlane", "2.235.0"
diff --git a/Gemfile.lock b/Gemfile.lock
index efe764ef44..0089a8cdb4 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -3,7 +3,7 @@ GEM
specs:
CFPropertyList (3.0.8)
abbrev (0.1.2)
- addressable (2.8.8)
+ addressable (2.9.0)
public_suffix (>= 2.0.2, < 8.0)
artifactory (3.0.17)
atomos (0.1.3)
@@ -68,19 +68,20 @@ GEM
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)
fastimage (2.4.0)
- fastlane (2.232.1)
- CFPropertyList (>= 2.3, < 4.0.0)
- abbrev (~> 0.1.2)
+ fastlane (2.235.0)
+ CFPropertyList (>= 2.3, < 5.0.0)
+ abbrev (~> 0.1)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
aws-sdk-s3 (~> 1.197)
babosa (>= 1.0.3, < 2.0.0)
- base64 (~> 0.2.0)
+ base64 (~> 0.2)
benchmark (>= 0.1.0)
- bundler (>= 1.17.3, < 5.0.0)
+ bundler (>= 2.4.0, < 5.0.0)
colored (~> 1.2)
commander (~> 4.6)
csv (~> 3.3)
@@ -91,22 +92,22 @@ GEM
faraday-cookie_jar (~> 0.0.6)
faraday_middleware (~> 1.0)
fastimage (>= 2.1.0, < 3.0.0)
- fastlane-sirp (>= 1.0.0)
+ fastlane-sirp (>= 1.1.0)
gh_inspector (>= 1.1.2, < 2.0.0)
google-apis-androidpublisher_v3 (~> 0.3)
google-apis-playcustomapp_v1 (~> 0.1)
- google-cloud-env (>= 1.6.0, <= 2.1.1)
+ google-cloud-env (>= 1.6.0, < 2.3.0)
google-cloud-storage (~> 1.31)
highline (~> 2.0)
http-cookie (~> 1.0.5)
json (< 3.0.0)
- jwt (>= 2.1.0, < 3)
+ jwt (>= 2.1.0, < 4)
logger (>= 1.6, < 2.0)
mini_magick (>= 4.9.4, < 5.0.0)
multipart-post (>= 2.0.0, < 3.0.0)
- mutex_m (~> 0.3.0)
+ mutex_m (~> 0.3)
naturally (~> 2.2)
- nkf (~> 0.2.0)
+ nkf (~> 0.2)
optparse (>= 0.1.1, < 1.0.0)
ostruct (>= 0.1.0)
plist (>= 3.1.0, < 4.0.0)
@@ -121,8 +122,7 @@ GEM
xcodeproj (>= 1.13.0, < 2.0.0)
xcpretty (~> 0.4.1)
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
- fastlane-sirp (1.0.0)
- sysrandom (~> 1.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)
@@ -166,7 +166,7 @@ GEM
httpclient (2.9.0)
mutex_m
jmespath (1.6.2)
- json (2.18.0)
+ json (2.19.4)
jwt (2.10.2)
base64
logger (1.7.0)
@@ -202,7 +202,6 @@ GEM
simctl (1.6.10)
CFPropertyList
naturally
- sysrandom (1.0.5)
terminal-notifier (2.0.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
@@ -231,7 +230,7 @@ PLATFORMS
ruby
DEPENDENCIES
- fastlane (= 2.232.1)
+ fastlane (= 2.235.0)
BUNDLED WITH
- 4.0.6
+ 4.0.12
diff --git a/LibreTransmitter b/LibreTransmitter
index 20f6d0e171..d0d301208f 160000
--- a/LibreTransmitter
+++ b/LibreTransmitter
@@ -1 +1 @@
-Subproject commit 20f6d0e171450b294b202cefa8edaf2c5e4a5150
+Subproject commit d0d301208faeb2bc763454baf0550f3fd4888bb7
diff --git a/LogglyService b/LogglyService
index 0a8f3c83be..d6df99ea34 160000
--- a/LogglyService
+++ b/LogglyService
@@ -1 +1 @@
-Subproject commit 0a8f3c83bed117248c56acf8278b18a88f399988
+Subproject commit d6df99ea34658c42eb721829d29812645c08fdad
diff --git a/Loop b/Loop
index 367a9878f5..1f71ec4fa9 160000
--- a/Loop
+++ b/Loop
@@ -1 +1 @@
-Subproject commit 367a9878f5274be3ad5ead4142e2837bc0c394c2
+Subproject commit 1f71ec4fa94941abdbd72fd5bd914770faa2e90b
diff --git a/LoopKit b/LoopKit
index 835c45a317..e7e2ee2b54 160000
--- a/LoopKit
+++ b/LoopKit
@@ -1 +1 @@
-Subproject commit 835c45a31789305f4e26af58405124b8a5fd45f7
+Subproject commit e7e2ee2b546c4d8122014838cb98a0e26dd91208
diff --git a/LoopOnboarding b/LoopOnboarding
index 6fbc8c7ae2..64f978e143 160000
--- a/LoopOnboarding
+++ b/LoopOnboarding
@@ -1 +1 @@
-Subproject commit 6fbc8c7ae2594cd0931b5ea9a36b015fafcd2b13
+Subproject commit 64f978e143723765452957cef06a99db380b128c
diff --git a/LoopSupport b/LoopSupport
index e470d203d3..0c296289ed 160000
--- a/LoopSupport
+++ b/LoopSupport
@@ -1 +1 @@
-Subproject commit e470d203d386895515a058f36ddfd741da185108
+Subproject commit 0c296289ed8698cbc3acd4c1ea1b39a600c0dbc3
diff --git a/LoopWorkspace.xcworkspace/contents.xcworkspacedata b/LoopWorkspace.xcworkspace/contents.xcworkspacedata
index a870f8b7c9..fed13e7d24 100644
--- a/LoopWorkspace.xcworkspace/contents.xcworkspacedata
+++ b/LoopWorkspace.xcworkspace/contents.xcworkspacedata
@@ -109,16 +109,19 @@
location = "group:TrueTime.swift/TrueTime.xcodeproj">
+ location = "group:RileyLinkKit/RileyLinkKit.xcodeproj">
+ location = "group:MinimedKit/MinimedKit.xcodeproj">
+ location = "group:OmnipodKit/OmnipodKit.xcodeproj">
+ location = "group:MedtrumKit/MedtrumKit.xcodeproj">
+
+
diff --git a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme
index e09bc55654..19f95ce326 100644
--- a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme
+++ b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme
@@ -140,10 +140,10 @@
buildForAnalyzing = "YES">
+ BlueprintIdentifier = "3E767D422D67B790004B1971"
+ BuildableName = "MedtrumKitPlugin.loopplugin"
+ BlueprintName = "MedtrumKitPlugin"
+ ReferencedContainer = "container:MedtrumKit/MedtrumKit.xcodeproj">
+ BlueprintIdentifier = "C1E34B5A29C7AD01009A50A5"
+ BuildableName = "MinimedKitPlugin.loopplugin"
+ BlueprintName = "MinimedKitPlugin"
+ ReferencedContainer = "container:MinimedKit/MinimedKit.xcodeproj">
+ BlueprintIdentifier = "D889B2382D2B4BFE00C8E64C"
+ BuildableName = "OmnipodKitPlugin.loopplugin"
+ BlueprintName = "OmnipodKitPlugin"
+ ReferencedContainer = "container:OmnipodKit/OmnipodKit.xcodeproj">
+
+
+
+
-
-
-
-
-
-
-
-
+ BlueprintIdentifier = "431CE7761F98564200255374"
+ BuildableName = "RileyLinkBLEKitTests.xctest"
+ BlueprintName = "RileyLinkBLEKitTests"
+ ReferencedContainer = "container:RileyLinkKit/RileyLinkKit.xcodeproj">
+
+
+
+
+ BlueprintIdentifier = "B7D3A8D92C148CC4002EE003"
+ BuildableName = "MedtrumKitTests.xctest"
+ BlueprintName = "MedtrumKitTests"
+ ReferencedContainer = "container:MedtrumKit/MedtrumKit.xcodeproj">
diff --git a/MedtrumKit b/MedtrumKit
new file mode 160000
index 0000000000..60607476f2
--- /dev/null
+++ b/MedtrumKit
@@ -0,0 +1 @@
+Subproject commit 60607476f2e27ad02b9fe25af4d93fe713eccacf
diff --git a/MinimedKit b/MinimedKit
index ba80a8f46a..106467e8f8 160000
--- a/MinimedKit
+++ b/MinimedKit
@@ -1 +1 @@
-Subproject commit ba80a8f46aa6582818289e7457574017281351e6
+Subproject commit 106467e8f8effeae5a2872d121a33b548350f25c
diff --git a/NightscoutRemoteCGM b/NightscoutRemoteCGM
index d442e9f24f..383d3c1e6b 160000
--- a/NightscoutRemoteCGM
+++ b/NightscoutRemoteCGM
@@ -1 +1 @@
-Subproject commit d442e9f24f5f42cf2d5d8725809ad64084be10cf
+Subproject commit 383d3c1e6b7c0c79def98a1633e4a5856bf221a4
diff --git a/NightscoutService b/NightscoutService
index d6785fdcaa..7721a8da0d 160000
--- a/NightscoutService
+++ b/NightscoutService
@@ -1 +1 @@
-Subproject commit d6785fdcaa47fcd9efa3da19dd4be97efaedb806
+Subproject commit 7721a8da0de4f69fbc6994bdaa5c860ba9a99ede
diff --git a/OmniBLE b/OmniBLE
deleted file mode 160000
index b0b78e66a6..0000000000
--- a/OmniBLE
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b0b78e66a6962677970a00e5d37ae4157e548b8a
diff --git a/OmniKit b/OmniKit
deleted file mode 160000
index 38af22b3d3..0000000000
--- a/OmniKit
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 38af22b3d36e05a4cdffb242a1a47b347a4031fc
diff --git a/OmnipodKit b/OmnipodKit
new file mode 160000
index 0000000000..d68699c8cb
--- /dev/null
+++ b/OmnipodKit
@@ -0,0 +1 @@
+Subproject commit d68699c8cbaa2623375d4ae8576634101c6850b9
diff --git a/RileyLinkKit b/RileyLinkKit
index 8dad76d152..d953e1c79b 160000
--- a/RileyLinkKit
+++ b/RileyLinkKit
@@ -1 +1 @@
-Subproject commit 8dad76d15295e13e091be74f6f47dbca5f0eb022
+Subproject commit d953e1c79b36f06d68b7255bb8f4331d906cc30d
diff --git a/Scripts/LocalizationInstructions.md b/Scripts/LocalizationInstructions.md
index 17e0f450d5..d3ec622e94 100644
--- a/Scripts/LocalizationInstructions.md
+++ b/Scripts/LocalizationInstructions.md
@@ -19,10 +19,21 @@ Table of Contents:
* [Prepare xliff_out folder](#prepare-xliff_out-folder)
* [Update lokalise strings](#update-lokalise-strings)
* [Utility Scripts](#utility-scripts)
+ * [Additional Utility Scripts](#additional-utility-scripts)
* [Questions and notes](#questions-and-notes)
## Overview
+> The translations for these repositories are added to lokalise
+> * DanaKit
+> * EversenseKit
+> * MedtrumKit
+> * OmnipodKit
+
+> In order to manage those localization strings, the translation work will be done in the feat/all-managers branch, which includes all repositories.
+
+> The Scripts needed to handle these new repositories are found on in this branch (for now).
+
Translations for Loop are performed by volunteers at [lokalise](https://app.lokalise.com/projects).
Several scripts were added to assist in bringing those translations into the repositories and updating keys when strings are added or modified.
@@ -305,6 +316,42 @@ The define_common.sh is used by other scripts to provide a single source for the
If you need to start over but don't want to lose prior work, use archive_translations.sh. However, this is probably no longer necessary with the optional arguments available with the manual scripts.
+### Additional Utility Scripts
+
+These scripts, currently found in feat/all-managers, are used for several purposes but are not part of the Localization process.
+
+They are documented here for convenience. The alphabetic list is provided here.
+
+* open_selected_url.sh
+* reconfigure_remotes.sh
+* update_loopandlearn_forks.sh
+* update_submodule_refs.sh
+
+#### update_submodules_refs
+
+This is used to checkout the most recent branch for each submodule in the workspace. It is used as a final step after the translation is completed but also is used to bring in other updates from the submodules into the workspace.
+
+After running this script, use `git status` to determine which submodules were updated so the modifications can be tested and committed.
+
+#### reconfigure_remotes
+
+This is a helper script for a LoopWorkspace clone for use when the .gitmodules path name changes for any reason, and the local clone needs to be updated.
+
+This change was made because (2026 April 30) the translation work for feature branches and the submodule update work were using different paths and it was just too confusing and error prone. By using the upstream fork in .gitmodules and in the translations scripts, life is simpler.
+
+* The path for DanaKit, EversenseKit and MedtrumKit was changed from loopandlearn to the respective upstream repositories
+* If a local clone has any submodules pointing to loopandlearn as the remote named `origin`, run this script to update it
+
+There is no harm running the script even if all submodules are properly configured.
+
+### Trio Utility Scripts
+
+These are Trio support utilities run within a LoopWorkspace clone to sync the loopandlearn forks for use with Trio. They require appropriate permissions.
+
+We support Trio with some of the submodules. To enable Trio to use a slightly modified version of the repositories, Trio uses loopandlearn, not the upstream repos in their `.gitmodule` list. In order to keep the loopandlearn forks up to date, the `update_loopandlearn_forks.sh` automatically updates all the submodules used by Trio so that loopandlearn forks match the upstream forks for the appropriate branches.
+
+When there are submodules where Trio uses a slightly different version of code, a `trio` branch is created. In that case, the update is done manually. To assist in the process, the script `open_selected_url.sh` is called from within the `update_loopandlearn_forks.sh` script.
+
## Questions and notes
Most of the questions were worked through while developing the new scripts.
diff --git a/Scripts/define_common.sh b/Scripts/define_common.sh
index 0c75a998e0..a1a8aa197a 100755
--- a/Scripts/define_common.sh
+++ b/Scripts/define_common.sh
@@ -34,7 +34,6 @@ MESSAGE_FILE="xlate_message_file.txt"
# matches lokalise order, en plus alphabetical order by language name in English
LANGUAGES=(en \
ar \
- ce \
zh-Hans \
cs \
da \
@@ -43,10 +42,10 @@ LANGUAGES=(en \
fr \
de \
he \
- hi \
hu \
it \
ja \
+ ko \
nb \
pl \
pt-BR \
@@ -75,10 +74,11 @@ PROJECTS=( \
LoopKit:MinimedKit:main \
LoopKit:NightscoutRemoteCGM:dev \
LoopKit:NightscoutService:dev \
- LoopKit:OmniBLE:dev \
- LoopKit:OmniKit:main \
LoopKit:RileyLinkKit:dev \
LoopKit:TidepoolService:dev \
+ loopandlearn:OmnipodKit:main \
+ bastiaanv:EversenseKit:dev \
+ jbr7rr:MedtrumKit:dev \
)
function section_divider() {
diff --git a/Scripts/update_submodule_refs.sh b/Scripts/update_submodule_refs.sh
index b9edba347a..3fb71658a0 100755
--- a/Scripts/update_submodule_refs.sh
+++ b/Scripts/update_submodule_refs.sh
@@ -2,13 +2,24 @@
source Scripts/define_common.sh
+section_divider
+echo "You are running ${0}"
+echo
+echo " This modifies your local clone, in whatever branch is currently selected,"
+echo " so that every submodule is at the tip of the appropriate branch."
+echo
+current_branch=$(git branch --show-current 2>/dev/null)
+echo " The current LoopWorkspace branch is $current_branch"
+
+continue_or_quit ${0}
+
for project in ${PROJECTS}; do
+ echo
echo "Updating to $project"
IFS=":" read user dir branch <<< "$project"
echo "Updating to $branch on $user/$project"
cd $dir
git checkout $branch
- #git branch -D tidepool-sync
git pull
cd -
done
diff --git a/TidepoolService b/TidepoolService
index 5f4927dcac..4ef78bf8b5 160000
--- a/TidepoolService
+++ b/TidepoolService
@@ -1 +1 @@
-Subproject commit 5f4927dcac2b17276776b83016896997001b1a67
+Subproject commit 4ef78bf8b58e2cee3e7f00fe7670fc2a7b166874
diff --git a/VersionOverride.xcconfig b/VersionOverride.xcconfig
index c2a8a4bf6f..5253477701 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.12.1
+LOOP_MARKETING_VERSION = 3.14.2
CURRENT_PROJECT_VERSION = 57
diff --git a/dexcom-share-client-swift b/dexcom-share-client-swift
index 875faf232b..04804892ea 160000
--- a/dexcom-share-client-swift
+++ b/dexcom-share-client-swift
@@ -1 +1 @@
-Subproject commit 875faf232bb3f13d619512f9e8b47a2d5acac433
+Subproject commit 04804892ea58778472e19c738ae39a87f41c0070