Online v0.2.13-build.30
Pre-release
Pre-release
Continuous build
- Version: 0.2.13 (build 30)
- Tag: v0.2.13-build.30
[Unreleased]
Added
- Continuous release workflow (
release-on-main.yml) — tagsvX.Y.Z-build.Nafter green CI onmainand publishes prerelease DMGs read-build-number.shandextract-changelog-unreleased.shrelease helper scripts- Signed DMG pipeline (
build-signed-dmg.sh) with optional notarization via App Store Connect API - TestFlight upload workflow (
release-store.yml) andupload-testflight.sh - Release helper scripts:
read-marketing-version.sh,changelog-has-unreleased-content.sh,finalize-changelog.sh,ci-setup-keychain.sh PrivacyInfo.xcprivacy(no tracking; UserDefaults + file timestamp API reasons)docs/privacy.htmlfor GitHub Pages hostingdocs/APP_REVIEW_NOTES.mdfor Mac App Store submissionOnlineUITestsXCUITest target with eight Settings/outage-log smoke testsUITestConfigurationlaunch-argument harness (-ui_testing, open Settings/outage log, mock notifications)- Accessibility identifiers on Settings and outage log empty state
docs/RELEASE.md,docs/PRE_RELEASE_CHECKLIST.md, anddocs/UI_TESTING.md- CI
ui-testjob onmacos-26runners - Shared
Online.xcschemeincluding unit and UI test targets
Changed
- CI/release workflows use repo-owned Xcode setup action (org allowlist compliance)
- Export compliance:
ITSAppUsesNonExemptEncryption= NO in generated Info.plist - Gateway probe now uses
SCDynamicStore+NWConnection(sandbox-compatible) instead of/sbin/routeand/sbin/ping - App Sandbox enabled in
Online.entitlements - Settings notification permission can be enabled explicitly from Settings (Enable alerts)
- Settings layout compacts to four sections without outer scroll; Help links on one line
- Notification permission is requested on first confirmed outage instead of at launch (alert-first UX)
- Healthy menu bar icon uses near-zero opacity (0.25) per Layered Sentinel spec
Fixed
- UI tests open Settings via explicit test window (fixes headless CI;
showSettingsWindow:was unreliable) - Menu bar Settings row in popover (
openSettingsinstead of brokenSettingsLink) - Renovate configuration invalid
:separateMajorMinorpreset - SwiftLint warnings in app sources and tests
Install
- Download
Online.dmgbelow - Open the DMG and drag Online to Applications
- Grant notification permission on first launch
Requirements: macOS 14 Sonoma or later
Unsigned build. Configure signing secrets for a notarized DMG.