diff --git a/.github/workflows/add_identifiers.yml b/.github/workflows/add_identifiers.yml
index 6661ba30c9..3f9e6b7638 100644
--- a/.github/workflows/add_identifiers.yml
+++ b/.github/workflows/add_identifiers.yml
@@ -12,11 +12,11 @@ jobs:
identifiers:
name: Add Identifiers
needs: validate
- runs-on: macos-15
+ runs-on: macos-26
steps:
# Checks-out the repo
- name: Checkout Repo
- uses: actions/checkout@v4
+ uses: actions/checkout@v5
# Patch Fastlane Match to not print tables
- name: Patch Match Tables
diff --git a/.github/workflows/build_loop.yml b/.github/workflows/build_loop.yml
index db33b8991b..fab987e7b3 100644
--- a/.github/workflows/build_loop.yml
+++ b/.github/workflows/build_loop.yml
@@ -90,7 +90,7 @@ jobs:
if: |
steps.workflow-permission.outputs.has_permission == 'true' &&
(vars.SCHEDULED_BUILD != 'false' || vars.SCHEDULED_SYNC != 'false')
- uses: actions/checkout@v4
+ uses: actions/checkout@v5
with:
token: ${{ secrets.GH_PAT }}
@@ -100,7 +100,7 @@ jobs:
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.1
+ uses: aormsby/Fork-Sync-With-Upstream-action@v3.4.2
with:
target_sync_branch: ${{ env.TARGET_BRANCH }}
shallow_since: 6 months ago
@@ -165,7 +165,7 @@ jobs:
build:
name: Build
needs: [check_certs, check_status]
- runs-on: macos-15
+ runs-on: macos-26
permissions:
contents: write
if:
@@ -175,10 +175,10 @@ jobs:
(vars.SCHEDULED_SYNC != 'false' && needs.check_status.outputs.NEW_COMMITS == 'true' )
steps:
- name: Select Xcode version
- run: "sudo xcode-select --switch /Applications/Xcode_16.4.app/Contents/Developer"
+ run: "sudo xcode-select --switch /Applications/Xcode_26.2.app/Contents/Developer"
- name: Checkout Repo for building
- uses: actions/checkout@v4
+ uses: actions/checkout@v5
with:
token: ${{ secrets.GH_PAT }}
submodules: recursive
@@ -255,7 +255,7 @@ jobs:
# Upload Build artifacts
- name: Upload build log, IPA and Symbol artifacts
if: always()
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v6
with:
name: build-artifacts
path: |
diff --git a/.github/workflows/create_certs.yml b/.github/workflows/create_certs.yml
index d20001b2ca..a3cc89e077 100644
--- a/.github/workflows/create_certs.yml
+++ b/.github/workflows/create_certs.yml
@@ -22,14 +22,14 @@ jobs:
create_certs:
name: Certificates
needs: validate
- runs-on: macos-15
+ runs-on: macos-26
outputs:
new_certificate_needed: ${{ steps.set_output.outputs.new_certificate_needed }}
steps:
# Checks-out the repo
- name: Checkout Repo
- uses: actions/checkout@v4
+ uses: actions/checkout@v5
# Patch Fastlane Match to not print tables
- name: Patch Match Tables
@@ -63,7 +63,8 @@ jobs:
id: set_output
run: |
CERT_STATUS_FILE="${{ github.workspace }}/fastlane/new_certificate_needed.txt"
- ENABLE_NUKE_CERTS=${{ vars.ENABLE_NUKE_CERTS }}
+ ENABLE_NUKE_CERTS=$(echo "${{ vars.ENABLE_NUKE_CERTS }}" | tr '[:upper:]' '[:lower:]')
+ FORCE_NUKE_CERTS=$(echo "${{ vars.FORCE_NUKE_CERTS }}" | tr '[:upper:]' '[:lower:]')
if [ -f "$CERT_STATUS_FILE" ]; then
CERT_STATUS=$(cat "$CERT_STATUS_FILE" | tr -d '\n' | tr -d '\r') # Read file content and strip newlines
@@ -82,22 +83,22 @@ jobs:
echo "::error::❌ No valid distribution certificate found. Automated renewal of certificates was skipped because the repository variable ENABLE_NUKE_CERTS is not set to 'true'."
exit 1
fi
- # Check if vars.FORCE_NUKE_CERTS is not set to true
- if [ vars.FORCE_NUKE_CERTS = "true" ]; then
+ # Check if FORCE_NUKE_CERTS is set to true
+ if [ "$FORCE_NUKE_CERTS" = "true" ]; then
echo "::warning::‼️ Nuking of certificates was forced because the repository variable FORCE_NUKE_CERTS is set to 'true'."
fi
# Nuke Certs if needed, and if the repository variable ENABLE_NUKE_CERTS is set to 'true', or if FORCE_NUKE_CERTS is set to 'true', which will always force certs to be nuked
nuke_certs:
name: Nuke certificates
needs: [validate, create_certs]
- runs-on: macos-15
+ runs-on: macos-26
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'
run: echo "new_certificate_needed=${{ needs.create_certs.outputs.new_certificate_needed }}"
- name: Checkout repository
- uses: actions/checkout@v4
+ uses: actions/checkout@v5
- name: Install dependencies
run: bundle install
diff --git a/.github/workflows/validate_secrets.yml b/.github/workflows/validate_secrets.yml
index f8d97c4f48..ea150c0c53 100644
--- a/.github/workflows/validate_secrets.yml
+++ b/.github/workflows/validate_secrets.yml
@@ -105,7 +105,7 @@ jobs:
validate-fastlane-secrets:
name: Fastlane
needs: [validate-access-token]
- runs-on: macos-15
+ runs-on: macos-26
env:
GH_PAT: ${{ secrets.GH_PAT }}
GH_TOKEN: ${{ secrets.GH_PAT }}
@@ -116,7 +116,7 @@ jobs:
TEAMID: ${{ secrets.TEAMID }}
steps:
- name: Checkout Repo
- uses: actions/checkout@v4
+ uses: actions/checkout@v5
- name: Install Project Dependencies
run: bundle install
diff --git a/.gitmodules b/.gitmodules
index 1308e60c03..488052f03c 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -58,3 +58,9 @@
[submodule "LibreTransmitter"]
path = LibreTransmitter
url = https://github.com/LoopKit/LibreTransmitter.git
+[submodule "MedtrumKit"]
+ path = MedtrumKit
+ url = https://github.com/loopandlearn/MedtrumKit.git
+[submodule "DanaKit"]
+ path = DanaKit
+ url = https://github.com/loopandlearn/DanaKit
diff --git a/DanaKit b/DanaKit
new file mode 160000
index 0000000000..5c676ada44
--- /dev/null
+++ b/DanaKit
@@ -0,0 +1 @@
+Subproject commit 5c676ada44a9c7a0bff54706d3242ceaa3986a10
diff --git a/LoopWorkspace.xcworkspace/contents.xcworkspacedata b/LoopWorkspace.xcworkspace/contents.xcworkspacedata
index a870f8b7c9..49dd551423 100644
--- a/LoopWorkspace.xcworkspace/contents.xcworkspacedata
+++ b/LoopWorkspace.xcworkspace/contents.xcworkspacedata
@@ -108,12 +108,18 @@
+
+
+
+
diff --git a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme
index e09bc55654..bb99e50468 100644
--- a/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme
+++ b/LoopWorkspace.xcworkspace/xcshareddata/xcschemes/LoopWorkspace.xcscheme
@@ -146,6 +146,20 @@
ReferencedContainer = "container:MinimedKit/MinimedKit.xcodeproj">
+
+
+
+
+
+
+
+