fix: align minimum OS deployment target to 15.6 across the monorepo#779
Conversation
All podspecs declare iOS/tvOS 15.6 as the minimum deployment target. This updates the 31 Package.swift files that used the .v15 SPM enum (which maps to 15.0) to use the string form "15.6" instead, and updates the example app and kit Xcode project files that still declared 15.0 or 15.1. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
PR SummaryLow Risk Overview Swift Package Manager: Kit manifests and the root Xcode: Example apps, kit framework projects, size-report test apps, and No runtime or API behavior changes—only build/deployment metadata alignment across the monorepo (with noted exclusions such as Reviewed by Cursor Bugbot for commit b28198c. Bugbot is set up for automated code reviews on this repo. Configure here. |
📦 SDK Size Impact ReportMeasures how much the SDK adds to an app's size (with-SDK minus without-SDK).
➡️ SDK size impact change is minimal. Raw measurementsTarget branch (main): {"baseline_app_size_kb":84,"baseline_executable_size_bytes":75464,"with_sdk_app_size_kb":1900,"with_sdk_executable_size_bytes":76312,"sdk_impact_kb":1816,"sdk_executable_impact_bytes":848,"xcframework_size_kb":6604}This PR: {"baseline_app_size_kb":84,"baseline_executable_size_bytes":75464,"with_sdk_app_size_kb":1900,"with_sdk_executable_size_bytes":76312,"sdk_impact_kb":1816,"sdk_executable_impact_bytes":848,"xcframework_size_kb":6604} |
Background
The SDK has always documented iOS 15.6 and tvOS 15.6 as its minimum supported OS versions — both in the official docs and in all three CocoaPods podspecs (
mParticle-Apple-SDK.podspec,mParticle-Apple-SDK-ObjC.podspec,mParticle-Apple-SDK-Swift.podspec). However, the SPMPackage.swiftmanifests across the monorepo used the.v15enum shorthand, which resolves to iOS/tvOS 15.0 — not 15.6. This meant SPM consumers were advertised a lower floor than CocoaPods consumers and our own documentation.What Has Changed
Package.swiftfiles — replaced.iOS(.v15)/.tvOS(.v15)with.iOS("15.6")/.tvOS("15.6")(SPM has no.v15_6enum case; the string overload is the correct form for patch versions)project.pbxprojfiles — updatedIPHONEOS_DEPLOYMENT_TARGETandTVOS_DEPLOYMENT_TARGETfrom15.0/15.1to15.6in kit example apps, size test apps, andRNExampleLeft untouched:
rokt-payment-extensionPackage.swift (out of scope);urbanairship-20Package.swift (already at.v16, a higher floor); main SDK xcodeproj andExample/app (already correctly set to 15.6).Checklist
grep -r '\.v15' --include='Package.swift' .returns only the excluded payment extensiongrep -rn 'IPHONEOS_DEPLOYMENT_TARGET = 15\.' --include='*.pbxproj' . | grep -v 15.6returns empty