Skip to content

Release Loop v3.14.12; merge dev to main - #584

Merged
marionbarker merged 15 commits into
mainfrom
dev
Nov 11, 2026
Merged

marionbarker merged 15 commits into
mainfrom
dev

Conversation

@marionbarker

Copy link
Copy Markdown
Contributor

Purpose: Update the released code to v3.14.12

Release code from the dev branch into main.

  • Version is incremented to v3.14.12
  • Otherwise, identical to dev commit a31d16c

Updates of Note

App and device updates

  • Loop: status screen layout adjusted for the iPhone Duo's inner display
  • LoopKit:
    • Glucose rate formatting refreshes when display units change
    • Settings saved by next-dev builds that use presets can now be read, so testers returning from next-dev to main keep their settings
  • G7: reconnects with a start delay so readings no longer stop for hours while Loop is in the background
  • Eversense:
    • Glucose is read right after connecting
    • sensorStart is sent for each new sensor
  • Omnipod (DASH and Omnipod 5):
    • Fix for a crash caused by a replaced or forgotten pod connection
    • A bolus cut short by a pod fault is now recorded
    • Added logging for connection setup and failed exchanges
  • Medtrum:
    • Reconnects after a Bluetooth reset
    • Unsaved patch settings are kept on sync
    • Improved base reset detection and delivery state during patch change
    • New instruction screens
  • Updated translations from Lokalise, including some updated Czech strings

Browser Build updates

  • GitHub Actions now build with Xcode 27.1
  • The weekly schedule moved back to build_loop.yml, with a job name of 4. Build Loop because the new build_loop_auto.yml action was disabled by GitHub. There is no fix to this issue so expect that manual builds will continue to be requred.
    • 4. Build Loop is designed to check for updates every Sunday and builds if there are new commits or if it is the 2nd Sunday of the month, but it likely to be disabled by GitHub
    • If a scheduled build is actually run with nothing to build; it now ends as "cancelled" instead of "success", so a green check always means a new build was made
    • The interim build_loop_auto.yml workflow job name was renamed to zzz Phasing Out and no longer runs on a schedule; it is only kept so people can move customization lines if they have any in that file
  • Create Certificates: the run now fails with a clear error when Fastlane Match cannot use the Distribution certificate in Match-Secrets and no automatic renewal will run. The error points to the LoopDocs instructions for deleting Match-Secrets
  • Fastlane update checks are skipped in all workflows to remove a confusing message from the logs

More details

ps2 and others added 15 commits October 24, 2026 12:31
Apps built with the iOS 27.0 SDK are letterboxed on iPhone Duo's inner
display; the 27.1 SDK runs them full screen. Xcode 27.1 is the default on
the xcode-27 runner image. CircleCI stays on 27.0 so it keeps checking
that the workspace still builds with 27.0.
Align dev branch commit history to release/v3.14.11
The certs step ignored the fastlane certs exit status so that the renewal
check could nuke and recreate an expired certificate. When the check finds
only other, valid Distribution certificates in the team, no renewal runs,
the job still succeeded, and the build later failed at signing with the
same Match error.

Record the certs result and fail the job in that case, pointing to Match's
error about the certificate stored in Match-Secrets.

Reported in LoopKit/Loop#2661.
Build with Xcode 27.1 in GitHub Actions
Wording from marionbarker's review of #573, tested on
her fork, with "is not valid" softened to "could not use": Match can also
fail on a wrong MATCH_PASSWORD or a profile problem.
Fail certificate setup when Match fails and no renewal will run
* EversenseKit: read glucose right after connecting; send sensorStart for each new sensor
* G7SensorKit: reconnect with a start delay so readings don't stop for hours while Loop is in the background
* Loop: status screen layout for iPhone Duo's inner display
* LoopKit: refresh glucose rate formatting when display units change; read settings saved by next-dev builds with presets
* MedtrumKit: reconnect after a Bluetooth reset, keep unsaved patch settings on sync, base reset detection, patch change delivery state, new instruction screens
* OmnipodKit: fix a crash from a replaced or forgotten pod connection; log connect setup and failed exchanges; record a bolus cut short by a pod fault
Update submodules: EversenseKit, G7SensorKit, Loop, LoopKit, MedtrumKit and OmnipodKit
Restore the weekly schedule to Build Loop and phase out Build Loop Auto
* Updated translations from lokalise on Tue Nov 10 16:15:24 PST 2026;
* Updated some Czech strings
update submodule translations, 20261110
@marionbarker
marionbarker requested a review from a team November 11, 2026 21:35

@ps2 ps2 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@marionbarker
marionbarker merged commit 913a825 into main Nov 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants