NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #728 most downloaded on pub.dev
Flutter implementation of PostHog client for iOS, Android and Web
Last release today
17 Sep 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
137 releases · first in 2020
One column per quarter.
6d13370: Breaking: Minimum Dart SDK version is now 3.6.0 and minimum Flutter version is now 3.27.0. Migrate to pub workspace structure.
e703672: feat: add sampleRate support
541b280: fix: textfield masking and element transform positioning in session replay
c7dcd9c: test new release process, again
f7801dc: test new release process
fix: add explicit package:meta/meta.dart import for @internal annotation
package:meta/meta.dart import for @internal annotation (#286)setPersonProperties method to set person properties without requiring identify (#284)filled: false to survey open-text questions to prevent app theme from overriding survey customization values (#285)feat: add manual session recording control APIs
startSessionRecording({bool resumeCurrent = true}) Start session recording, optionally starting a new sessionstopSessionRecording() Stop the current session recordingisSessionReplayActive() Check if session replay is currently activegetFeatureFlagResult API (#279)chore: add support for thumbs up/down surveys
chore: add support for thumbs up/down surveys (#257)
perf: Optimize Screenshot diff check (#271)
chore: improve survey color handling (#233)
feat: add beforeSend callback to PostHogConfig for dropping or modifying events before they are sent to PostHog (#255)
$snapshot) when config.sessionReplay is enabledApplication Opened, etc.) when config.captureApplicationLifecycleEvents is enabled$feature_flag_called) when config.sendFeatureFlagEvents is enabled$set) when identify is calledsurvey shown, etc.) when config.surveys is enabled$device_type, $session_id) are added by the native SDK at a later stage.perf: Optimize mask widget rect collection to O(N) (#269)
feat: flutter error tracking support for web
fix: RichText, SelectableText, TextField labels and hints not being masked in session replay
chore: update languageVersion and apiVersion from 1.8 to 2.0 on Android to be compatible with Kotlin 2.3
feat: Add onFeatureFlags callback to PostHogConfig to get notified when feature flags are loaded. Use Posthog().getFeatureFlag() or Posthog().isFeatur
onFeatureFlags callback to PostHogConfig to get notified when feature flags are loaded. Use Posthog().getFeatureFlag() or Posthog().isFeatureEnabled() within the callback to access fresh flag values. (#224)fix: TextFormField widgets were not being masked
feat: add autocapture exceptions
> Note: Surveys are now enabled by default.
Note: Surveys are now enabled by default.
Note: The following features are not yet supported:
stack_trace dependency compatibility)feat: surveys use the new response question id format
chore: Android plugin sets compileSdkVersion to flutter.compileSdkVersion instead of hardcoded
fix: Android back button wasn't cleaning up the Survey resources
fix: mask TextField widgets automatically if obscureText is enabled
chore: update posthog-ios dependency to min. 3.31.0
See how to setup in Surveys docs
- fix: don't render HTML content
chore: update languageVersion and apiVersion from 1.6 to 1.8 on Android to be compatible with Kotlin 2.2
feat: add isOptOut method to check if the current user is opted out of data capture.
isOptOut method to check if the current user is opted out of data capture. (#190)See how to setup in Surveys docs
chore: support flutter web wasm builds
- chore: Session Replay - GA
chore: pin the iOS SDK to 3.22.x
fix: import dart io only on non-web platforms
fix: check if image size is valid before sending snapshot
chore: linux and windows NoOp support
fix: dispose recorder if masking is disabled
chore: pin the iOS SDK to 3.x.x
chore: pin the iOS SDK to 3.19.x
fix: isSessionReplayActive returns false by default for flutter web
chore: add support for session replay manual masking with the PostHogMaskWidget widget
fix: solve masks out of sync when moving too fast
chore: pin the iOS SDK to 3.18.0
chore: improve error logging when capturing snapshots
fix: blank screen when viewing session replay recordings
feat: add getter for current session identifier
Added throttleDelay config and deprecated debouncerDelay config.
throttleDelay config and deprecated debouncerDelay config.chore: do not send repeated snapshots
chore: flutter session replay (Android and iOS)
chore: change host to new address
- add PrivacyInfo for macOS
fix: const defaultHost was renamed to DEFAULT_HOST and broke the Android build
defaultHost was renamed to DEFAULT_HOST and broke the Android build (#98)chore: Allow overriding the route filtering using a ctor param routeFilter
routeFilter (#95)bool myRouteFilter(Route<dynamic>? route) =>
route is PageRoute || route is OverlayRoute;
final observer = PosthogObserver(routeFilter: myRouteFilter);
- add PrivacyInfo
- add flush method
- add unregister method
Fix passing optional values to the JS SDK
Upgraded PostHog Android SDK to v3
- Flutter macOS support #76
Record the root view as root ('/') instead of not recording at all #74
root ('/') instead of not recording at all #74CAPTURE_APPLICATION_LIFECYCLE_EVENTS typo for iOS #74DEBUG config #74Application Opened events #74- Internal changes only
Migrate to the new SDKs and latest tooling #70
Thanks @nehemiekoffi for the initial PR!
- Upgrade iOS SDK to 3.1.0 #79
- Upgrade iOS SDK to 3.0.0 #78
Your coding agent can read these notes before it upgrades. Set up the MCP server →