Repository navigation
fix(v3/darwin): update minimum macOS version from 10.15 to 12.0 - #5233
Conversation
Go 1.25+ embeds LC_BUILD_VERSION with minos 12.0 in the Mach-O binary, meaning the app physically cannot run on macOS < 12. The old templates declared LSMinimumSystemVersion as 10.15, which caused macOS to allow launch but then reject the binary silently with no error dialog. Updating to 12.0 ensures macOS shows a clear 'requires macOS 12 or later' dialog instead of the app flashing and disappearing. Updates Info.plist.tmpl, Info.dev.plist.tmpl, and darwin Taskfile.yml. Fixes #5161
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
WalkthroughThe pull request updates the macOS minimum deployment version from 10.15 to 12.0 across build templates and configuration files, and introduces a new test suite to validate the version consistency across generated artifacts and source templates. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 golangci-lint (2.11.4)level=error msg="[linters_context] typechecking error: pattern ./...: directory prefix . does not contain main module or its selected dependencies" Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Review rate limit: 7/8 reviews remaining, refill in 7 minutes and 30 seconds.Comment |
There was a problem hiding this comment.
Pull request overview
Updates the macOS minimum deployment/version declarations in the v3 Darwin build templates to match Go 1.25+ Mach-O LC_BUILD_VERSION behavior, avoiding “app flashes then disappears” on macOS < 12 by triggering the proper OS requirement dialog.
Changes:
- Bump
LSMinimumSystemVersionin the macOSInfo.plisttemplates from10.15.0to12.0.0. - Update the Darwin
Taskfile.ymltemplate to build with-mmacosx-version-min=12.0andMACOSX_DEPLOYMENT_TARGET="12.0". - Add tests to validate the updated minimum version values across templates.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| v3/internal/commands/updatable_build_assets/darwin/Info.plist.tmpl | Updates LSMinimumSystemVersion to 12.0.0 in the generated macOS Info.plist. |
| v3/internal/commands/updatable_build_assets/darwin/Info.dev.plist.tmpl | Updates LSMinimumSystemVersion to 12.0.0 in the dev plist template. |
| v3/internal/commands/build_assets/darwin/Taskfile.yml | Raises the macOS deployment target / min version flags to 12.0 for native builds. |
| v3/internal/commands/darwin_version_test.go | Adds regression tests to ensure templates/Taskfile reflect the new minimum macOS version. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| templateDir := "updatable_build_assets/darwin" | ||
| devPlistPath := filepath.Join(templateDir, "Info.dev.plist.tmpl") | ||
|
|
||
| content, err := os.ReadFile(devPlistPath) | ||
| if err != nil { | ||
| t.Skipf("Template file not found: %v", err) | ||
| } |
|
|
||
| content, err := os.ReadFile(taskfilePath) | ||
| if err != nil { | ||
| t.Skipf("Taskfile not found: %v", err) |
Follow-up to #5233, which updated the build-asset templates and darwin Taskfile but not the per-example build/darwin/ files. Updates LSMinimumSystemVersion in Info.plist and Info.dev.plist, and mmacosx-version-min / MACOSX_DEPLOYMENT_TARGET in each example's darwin Taskfile.yml across 22 example projects so they match the new project default. Refs #5161
fix(v3): update macOS minimum to 12.0 in example projects Follow-up to #5233, which updated the build-asset templates and darwin Taskfile but not the per-example build/darwin/ files. Updates LSMinimumSystemVersion in Info.plist and Info.dev.plist, and mmacosx-version-min / MACOSX_DEPLOYMENT_TARGET in each example's darwin Taskfile.yml across 22 example projects so they match the new project default. Refs #5161 Co-authored-by: Wails Documentation Agent <agent@wails.local>
Description
Fixes #5161
Go 1.25+ embeds
LC_BUILD_VERSIONwithminos 12.0in the Mach-O binary, meaning apps physically cannot run on macOS < 12. The old templates declaredLSMinimumSystemVersionas 10.15, causing macOS to allow the launch but then reject the binary silently (app flashes and disappears with no error dialog).Updating to 12.0 ensures macOS shows a clear "requires macOS 12 or later" dialog instead.
Files changed:
v3/internal/commands/updatable_build_assets/darwin/Info.plist.tmpl- 10.15.0 → 12.0.0v3/internal/commands/updatable_build_assets/darwin/Info.dev.plist.tmpl- 10.15.0 → 12.0.0v3/internal/commands/build_assets/darwin/Taskfile.yml- CGO/deployment target 10.15 → 12.0Type of change
How Has This Been Tested?
Test file
v3/internal/commands/darwin_version_test.goverifies:Note: This is a template change. Runtime testing on macOS with Go 1.25+ is recommended.
Checklist:
Summary by CodeRabbit
Chores
Tests