Skip to content

chore!: raise minimum iOS deployment target to 15 - #89

Merged
turnipdabeets merged 2 commits into
mainfrom
chore/min-ios-15
Oct 3, 2026
Merged

turnipdabeets merged 2 commits into
mainfrom
chore/min-ios-15

Conversation

@turnipdabeets

@turnipdabeets turnipdabeets commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator

💡 Motivation and Context

posthog-ios 4.0 raises its minimum iOS to 15 (PostHog/posthog-ios#876). KMP can't adopt it while its own floor is 13, so this raises the floor first. The 4.0 upgrade later is then just a pin change in libs.versions.toml.

This is breaking for apps that target iOS 13 or 14: their builds will fail until they raise their deployment target. KMP is pre-1.0, so it ships as 0.7.0 (minor) and is marked breaking in the changelog.

Device impact is effectively zero. In a one-day sample of posthog-kmp iOS events, the lowest iOS version was 17.

💚 How did you test it?

  • ./gradlew :posthog-kmp:iosSimulatorArm64Test passes.
  • The generated SwiftPM linkage package now declares .iOS("15.0").

📝 Checklist

  • I reviewed the submitted code.
  • I added tests to verify the changes.
  • I updated the docs if needed.
  • No breaking change or entry added to the changelog.

If releasing new changes

  • Ran pnpm change to generate a change intent file

🤖 Agent context

Autonomy: Human-driven (agent-assisted)

  • Written with Claude Code (Opus 5.5).
  • Checked for cleanup the new floor allows: the KMP iOS sources have no OS-version checks, so there's nothing to remove.
  • Kotlin 2.4's default iosMinimumDeploymentTarget is already 15.0, but the explicit setting stays so that a future Kotlin upgrade can't silently raise the SDK's floor.
  • Kept at 15 instead of higher, to match posthog-ios.
  • Docs follow-up on posthog.com: drop the "If your app supports iOS 13 or 14" paragraph in contents/docs/libraries/kmp/index.mdx when this ships.

🤖 Generated with Claude Code

posthog-ios 4.0 requires iOS 15. Raise the SDK's SwiftPM deployment
target (and the sample's) so the posthog-ios 4.0 upgrade is a
version-pin change only.
@turnipdabeets turnipdabeets self-assigned this Oct 2, 2026
@sampo-s-bot

sampo-s-bot Bot commented Oct 2, 2026

Copy link
Copy Markdown

⚠️ No changeset detected

No new .sampo/changesets/*.md files were detected in this PR. To add one:

  • run sampo add
  • follow the prompts to pick the affected packages and describe the change
  • commit the generated file to this pull request, and it will be detected automatically

If this PR isn't supposed to introduce any changes (e.g., documentation updates), you can ignore this message.

@turnipdabeets
turnipdabeets marked this pull request as ready for review October 2, 2026 14:40
@turnipdabeets
turnipdabeets requested a review from a team as a code owner October 2, 2026 14:40
# Conflicts:
#	posthog-kmp/build.gradle.kts

@dustinbyrne dustinbyrne left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review recommendation: approve. Producer configuration and generated linkage manifests consistently declare iOS 15, and Kotlin 2.4.20 serializes this setting into publication metadata. The breaking minor release fits the documented pre-1.0 policy. Coordinate the planned installation-docs update with publication; the future native 4.0 upgrade still needs its own compatibility review. No findings.

Static source review, official version-pinned Kotlin source, and existing CI only; no tests run locally. Human-driven, agent-assisted review.

@dustinbyrne dustinbyrne left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved following the completed source review.

Human-driven, agent-assisted review.

@turnipdabeets
turnipdabeets merged commit d04bfa3 into main Oct 3, 2026
21 of 23 checks passed
@turnipdabeets
turnipdabeets deleted the chore/min-ios-15 branch October 3, 2026 00:45
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.

2 participants