-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Unknown
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Use Case
As a maintainer, I want one macOS deployment target across the addon and the libmongocrypt build, so that our minimum supported macOS is stated once and matches what we actually ship.
User Experience
- n/a, no change to what users receive
Dependencies
- Raised by Copilot on PR #137 (
NODE-7704), where the macOS build was changed to produce a universal libmongocrypt
Risks/Unknowns
- This is a consistency fix, not a behaviour change. Measured on a universal build produced locally with the PR #137 changes:
- libmongocrypt x86-64 objects carry LC_VERSION_MIN_MACOSX version 10.12, 93 objects
- libmongocrypt arm64 objects carry LC_BUILD_VERSION minos 11.0, 93 objects, because clang cannot express 10.12 for arm64 and clamps it
- the shipped addon reports minos 11.0 in both slices, since binding.gyp sets MACOSX_DEPLOYMENT_TARGET to 11
- So the effective floor is already macOS 11 and the 10.12 value is dead intent. Confirm this holds on the CI runners before treating the change as a no-op
- We do not document a minimum macOS version anywhere. README only says "MacOS universal binary". Decide whether to state the floor explicitly, and whether it belongs in the compat table
- DCMAKE_OSX_DEPLOYMENT_TARGET: '10.12' has been in .github/scripts/libmongocrypt.mjs since the repo was created, commit 7681940, so check whether anything downstream depends on the older value before raising it
Acceptance Criteria
Implementation Requirements
- Set CMAKE_OSX_DEPLOYMENT_TARGET in .github/scripts/libmongocrypt.mjs to match MACOSX_DEPLOYMENT_TARGET in binding.gyp, currently 11
Testing Requirements
- Both slices of the built addon still report minos 11.0, unchanged from today
- libmongocrypt objects report 11.0 for both architectures
- macOS jobs pass, including the x64 prebuild verification job added in
NODE-7704
Documentation Requirements
- If we decide to state a minimum macOS version, add it to the README