Repository navigation
chore!: Flutter Major Release v6 - #637
Open
turnipdabeets wants to merge 7 commits into
Open
turnipdabeets wants to merge 7 commits into
turnipdabeets wants to merge 7 commits into
Conversation
5 tasks done
|
[High risk] Upgrades PostHog iOS SDK and removes deprecated APIs. The reviewed changes appear safe to merge, with one non-blocking release-note correction. Reviews (1) · Last reviewed commit: "chore!: adopt posthog-ios 4.0 and remove..." |
Contributor
posthog-flutter Compliance ReportDate: 2026-10-08 15:50:01 UTC ✅ All Tests Passed!45/45 tests passed Capture Tests✅ 29/29 tests passed View Details
Feature_Flags Tests✅ 16/16 tests passed View Details
|
This was referenced Oct 5, 2026
turnipdabeets
force-pushed
the
chore/v6-posthog-ios-4
branch
3 times, most recently
from
October 5, 2026 17:19
b996dea to
047d564
Compare
This was referenced Oct 5, 2026
turnipdabeets
marked this pull request as ready for review
October 6, 2026 22:09
turnipdabeets
force-pushed
the
chore/v6-posthog-ios-4
branch
from
October 7, 2026 00:31
0ae4f04 to
9279d41
Compare
This was referenced Oct 7, 2026
turnipdabeets
force-pushed
the
chore/v6-posthog-ios-4
branch
from
October 7, 2026 20:01
5fced53 to
5022778
Compare
This was referenced Oct 7, 2026
- Remove PostHogConfig.apiKey and the API_KEY manifest/Info.plist fallback. - Remove getFeatureFlagPayload() across Dart, web and native handlers. - Remove the debouncerDelay setter and PostHogDataMode.cellular. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
posthog-android has required minSdk 23 since 3.39.0, and the plugin's dependency range [3.71.0, 4.0.0) only resolves to versions that need it. Apps below 23 already fail the manifest merge, so this only corrects the declared value. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Removes the names deprecated in 5.x in favor of optIn/optOut and sendFeatureFlagEvent. Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…#647) Matches PostHogConfig.sendFeatureFlagEvent and the iOS/Android getFeatureFlagResult parameter. The method-channel key stays 'sendEvent'. Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
* chore!: rename platform enable/disable to optIn/optOut PosthogFlutterPlatformInterface.enable()/disable() become optIn()/optOut() to match the public Posthog API renamed in #636/#638. The method-channel names sent to native stay 'enable'/'disable'. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * docs(changeset): cover direct platform callers in the opt-in/out rename Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
toMap() on the config classes and PostHogFeatureFlagResult.fromMap() are the platform-channel wire format, not a user-facing data shape. Move them to extensions and a top-level function in an unexported src/utils/channel_serialization.dart so they drop out of the public API. Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Raises the deployment targets to the posthog-ios 4.0 minimums ahead of the SDK bump, so the bump itself only changes the dependency range. Drops the availability checks that are now always true and moves the CodeQL Swift job to Xcode 26. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
turnipdabeets
force-pushed
the
chore/v6-posthog-ios-4
branch
from
October 8, 2026 15:45
e1927f4 to
a700edb
Compare
This branch has not been deployed
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
This is the base PR for posthog_flutter 6.0.0. It raises the iOS and macOS minimums to match posthog-ios 4.0 and removes the APIs we had already marked for removal in the next major.
It still depends on posthog-ios 3.x (
>= 3.84.0, < 4.0.0), so CI can pass before 4.0 is published. Adopting posthog-ios 4.0 (PostHog/posthog-ios#873), with its 4.x range, Xcode 26 requirement and iOS behavior changes, is in the stacked #649.Merge order: merge #649 into this branch once posthog-ios 4.0 is published, then merge this PR into
main. Merging this PR first would line up a 6.0.0 release that still uses posthog-ios 3.x, becausepublish.ymlruns on every changeset push tomain.iOS and macOS minimums
#available(iOS 14.0, macOS 11.0, *)check around the push-open prewarm, which the new minimums make always truecodeql.ymlmoved from Xcode 16.4 to 26.4.cellularfrom the iOS dataMode mapping, and dropped the#available(iOS 15.0, *)check around surveys, which the new minimum makes always trueRemoved deprecated APIs
PostHogConfig.apiKey, theapiKeysetup alias, and thecom.posthog.posthog.API_KEYmanifest/Info.plist fallback (Android and iOS)Posthog().getFeatureFlagPayload(): removed from Dart, the platform interface, web and both native handlersPostHogConfig.debouncerDelaysetterPostHogDataMode.cellularAndroid minSdk
minSdkVersiongoes from 21 to 23. The plugin depends onposthog-android[3.71.0, 4.0.0), andposthog-androidhas required minSdk 23 since 3.39.0 (chore: upgrade to Kotlin 2.1.10, AGP 8.9.1, compileSdk 36, minSdk 23 posthog-android#460). An app on minSdk 21 or 22 already fails Gradle's manifest merge on that dependency, so the old 21 was stale. This doesn't change who can build, so it isn't listed as breaking. It only makes the plugin declare the floor it already has. 23 also matches Datadog's and Firebase's Flutter plugins.Merged into this branch
enable()/disable()andsendFeatureFlagEventsenable()/disable()tooptIn()/optOut()toMap()/fromMap()from the public APIgetFeatureFlagResult(sendEvent:)tosendFeatureFlagEvent:Deliberately excluded
💚 How did you test it?
flutter analyze,flutter test(781 pass),dart format --set-exit-if-changed,scripts/check-api-dart.shflutter build apk(re-run after the minSdk 23 change),./gradlew :posthog_flutter:testDebugUnitTest📝 Checklist
If releasing new changes
pnpm changesetto generate a changeset file🤖 Agent context
Autonomy: Human-driven (agent-assisted)
🤖 Generated with Claude Code