Repository navigation
docs: add a 3.x to 4.0 migration guide - #978
Merged
turnipdabeets merged 6 commits intoOct 27, 2026
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 of 15 tasks
Contributor
There was a problem hiding this comment.
PostHog Review · Standard · reviewed f2b1ef9: 1 Should fix.
See this review and its findings in PostHog Review. Comment @posthog review --deep for a Deep review. A Deep review takes longer and looks deeper than a Standard review.
dustinbyrne
approved these changes
Oct 27, 2026
dustinbyrne
left a comment
Contributor
There was a problem hiding this comment.
The consolidated guide covers the v4 migration clearly. I have four non-blocking documentation clarifications below. Keep the conditional sections aligned with the final integrated 4.0 release.
AI-assisted review.
…on guide Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 of 5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
💡 Motivation and Context
Addresses ioannisj's review on #873 (#873): the 4.0 upgrade notes were spread across the changeset and several follow-up PRs. This adds a root
MIGRATION.mdfor app developers upgrading from 3.x, which SPM checkouts also ship to coding agents. As suggested, the changes the compiler won't flag come before the compile errors.Sections:
version/build, 2.x queue files, reachability, and a short capture v1 checklist.propertiesSanitizer→setBeforeSend,didReceiveFeatureFlags→onFeatureFlags(_:), and@Sendablecallbacks.SessionReplay,CrashReportingandSurveys, and which public API goes away with each.Also: a one-line pointer in
README.md, and a link to the guide in the changeset's intro line (no new changeset file). The changeset link points atmain, so it 404s until 4.0 merges tomain.Sections that depend on open PRs
The guide is written as if all of these land in 4.0. If one doesn't, adjust the listed part:
MIGRATION.mdscreenshotModeremoved)screenshotModerow in the Session replay compile-error table. Without it, the property is a deprecated no-op instead.setBeforeSend)@Sendable". Without it, users must retype arrays as[BeforeSendBlock]..postHogMask()note in "Package traits"didReceiveFeatureFlagsremoved)didReceiveFeatureFlagsrow and snippet under Feature flagsmaxRetries→pushNotificationSubscriptionMaxRetriesrow#938 and
docs/migration-3.x-to-4.0.md: #938 adds its own detailed guide atdocs/migration-3.x-to-4.0.md, and its changeset links there. This PR only summarizes what users must check. Whichever of the two merges second should move #938's detailed content intoMIGRATION.md(or link to it from the "Capture v1" section) and repoint #938's changeset link atMIGRATION.md, so there's one guide.💚 How did you test it?
Markdown only, so no SDK validation (per CLAUDE.md).
git diff --check: clean.MIGRATION.mdmatches a heading;CHANGELOG.mdandMIGRATION.mdrelative links resolve.main's snapshot for removed 3.x names and Objective-C selectors (apiKey:,getFeatureFlagPayload:,PostHogLogLevelInfo,PostHogDataModeCellular), and the open PRs' diffs and descriptions for what they add or remove.BoxedBeforeSendBlock's Objective-C initializer isblock:(from@objc(block:)), notinitWithBlock:.$screenevents).📝 Checklist
If releasing new changes
pnpm changesetto generate a changeset fileNo new changeset: the existing
.changeset/v4-major-release.mdintro now links to the guide.🤖 Agent context
Autonomy: Human-driven (agent-assisted)
🤖 Generated with Claude Code