Skip to content

Lower minimum macOS from 15 to 14 (Sonoma) - #26

Merged
didriksg merged 1 commit into
1.3.3-devfrom
investigate-issue-22
Aug 6, 2026
Merged

Lower minimum macOS from 15 to 14 (Sonoma)#26
didriksg merged 1 commit into
1.3.3-devfrom
investigate-issue-22

Conversation

@didriksg

@didriksg didriksg commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Part of #22.

What

  • Lower the deployment target from 15.0 to 14.0 (project.yml; release.sh -target and LSMinimumSystemVersion)
  • Add macOS 14 fallbacks for the two 15-only API sites:
    • defaultScrollAnchor(_:for:) x2 (MenuBarView): falls back to the all-roles defaultScrollAnchor(_:)
    • Color.mix (boost tint): falls back to NSColor.blended(withFraction:)

Verified

  • Typecheck at -target arm64-apple-macos14.0: clean
  • ./scripts/release.sh dry run: universal (arm64 + x86_64) build, DMG packaged, LSMinimumSystemVersion 14.0
  • CI's release dry run compiles at target 14.0, so any new 15-only API use fails CI

Gate the two macOS 15-only API sites and drop the deployment target:

- defaultScrollAnchor(_:for:) x2 in MenuBarView: on 14, fall back to the
  all-roles defaultScrollAnchor(_:), which covers the same panel-resize
  re-anchoring glitch
- Color.mix in the boost tint: on 14, blend via NSColor.blended(withFraction:)
- project.yml deployment targets and release.sh target/LSMinimumSystemVersion
  to 14.0

CI's release dry run now compiles at target 14.0, so the floor is enforced
on every PR instead of drifting (the issue's original sweep undercounted
because swiftc stops after the first failing file without
-continue-building-after-errors).

README/site requirements stay at 15 until a run-test on a Sonoma machine
confirms the private display APIs behave (compile floor is not runtime floor).
@didriksg
didriksg changed the base branch from main to 1.3.3-dev August 6, 2026 14:29
@didriksg
didriksg merged commit 3c043d6 into 1.3.3-dev Aug 6, 2026
1 check passed
@didriksg
didriksg deleted the investigate-issue-22 branch August 6, 2026 15:49
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.

1 participant