Releases: Countly/countly-sdk-flutter-bridge
26.1.0-np
-
Added server-side listing filters support for controlling what data gets recorded:
- Event filters (blacklist/whitelist) to control which events are recorded
- User property filters (blacklist/whitelist) to control which user properties are recorded
- Custom event segmentation filters to control which segmentation keys are recorded across all events
- Custom event-specific segmentation filters to control segmentation keys per custom event
- User property cache limit to limit the number of user properties recorded per request (Android and iOS)
-
Added journey trigger events that automatically refresh content zones when journey trigger events are recorded.
-
Added Content feature method
previewContent(String contentId)(Experimental!). -
Added a new config option disableViewRestartForManualRecording to disable auto close/restart behavior of manual views on app background/foreground actions.
-
Added a new config option "setWebviewDisplayOption: WebViewDisplayOption" to control how Content and Feedback Widgets are presented.
- IMMERSIVE mode (default): Full-screen display (except cutouts).
- SAFE_AREA mode: Omits status bar, navigation bar and cutouts when displaying WebView.
-
Added "setRequestTimeoutDuration(requestTimeoutDuration)" init config method to change request timeout duration in seconds.
-
Added setting custom network request headers support for web platform.
-
Improved content display and refresh mechanics, including robust resource loading checks before displaying content.
-
Improved feedbacks response validation and added POST method support for contents in iOS.
-
Improved consent requirements and location info management when updated from server configuration in iOS.
-
Added support for Feedback Widget resizing logic (will need server update to benefit) in Web.
-
Added filtering capability to content interface through enterContentZone(contentFilterCallback) in Web.
-
Improved user property recording order with respect to sessions and events in Web.
-
Improved device metric detection capabilities and testing consistency of queuing system in Web.
-
Mitigated an issue where closing surveys presented via journeys was triggering an exception in Android.
-
Mitigated an issue where opening a new activity while content was loading could hide it in Android.
-
Mitigated an issue about early health check requests in temporary ID mode in iOS.
-
Mitigated issues in iOS where multiple contents could be displayed in parallel and when returning from external content links.
-
Mitigated an issue where an unintended URL was opened when closing a feedback widget after a content block was closed in Web.
-
Updated underlying Android SDK version to 26.1.2
-
Updated underlying iOS SDK version is 26.1.1
-
Updated underlying Web SDK version is 26.1.1
26.1.0
-
Added server-side listing filters support for controlling what data gets recorded:
- Event filters (blacklist/whitelist) to control which events are recorded
- User property filters (blacklist/whitelist) to control which user properties are recorded
- Custom event segmentation filters to control which segmentation keys are recorded across all events
- Custom event-specific segmentation filters to control segmentation keys per custom event
- User property cache limit to limit the number of user properties recorded per request (Android and iOS)
-
Added journey trigger events that automatically refresh content zones when journey trigger events are recorded.
-
Added Content feature method
previewContent(String contentId)(Experimental!). -
Added a new config option disableViewRestartForManualRecording to disable auto close/restart behavior of manual views on app background/foreground actions.
-
Added a new config option "setWebviewDisplayOption: WebViewDisplayOption" to control how Content and Feedback Widgets are presented.
- IMMERSIVE mode (default): Full-screen display (except cutouts).
- SAFE_AREA mode: Omits status bar, navigation bar and cutouts when displaying WebView.
-
Added "setRequestTimeoutDuration(requestTimeoutDuration)" init config method to change request timeout duration in seconds.
-
Added setting custom network request headers support for web platform.
-
Improved content display and refresh mechanics, including robust resource loading checks before displaying content.
-
Improved feedbacks response validation and added POST method support for contents in iOS.
-
Improved consent requirements and location info management when updated from server configuration in iOS.
-
Added support for Feedback Widget resizing logic (will need server update to benefit) in Web.
-
Added filtering capability to content interface through enterContentZone(contentFilterCallback) in Web.
-
Improved user property recording order with respect to sessions and events in Web.
-
Improved device metric detection capabilities and testing consistency of queuing system in Web.
-
Mitigated an issue where closing surveys presented via journeys was triggering an exception in Android.
-
Mitigated an issue where opening a new activity while content was loading could hide it in Android.
-
Mitigated an issue about early health check requests in temporary ID mode in iOS.
-
Mitigated issues in iOS where multiple contents could be displayed in parallel and when returning from external content links.
-
Mitigated an issue where an unintended URL was opened when closing a feedback widget after a content block was closed in Web.
-
Updated underlying Android SDK version to 26.1.2
-
Updated underlying iOS SDK version is 26.1.1
-
Updated underlying Web SDK version is 26.1.1
26.1.0-lite
-
Initial SDK release with the following functionalities:
-
Initialization:
Countly.init(config)- Initialize the SDK with configurationCountly.defaultInstance- Access the default SDK instanceCountly.instance(key)- Access a specific SDK instance by keyCountly.disposeInstance(key)- Dispose a specific SDK instanceCountly.disposeAll()- Dispose all SDK instances- Multi-instance support with unique instance keys
-
Configuration Options (CountlyConfig)
appKey(required) - Application keyserverUrl(required) - Server URL (http:// or https://)deviceId- Custom device ID (auto-generated if not provided)userProperties- Initial user properties to setstorageMode- Storage mode (persistent or memory)storageMethods- Custom storage implementationstartWithUnknownConsent- Start in unknown consent modegiveConsent- Grant consent at initializationlogLevel- Logging verbosity level (error, warning, info, debug, verbose)logger- Custom logger implementation (SdkLogger interface)enableSDKLogs- Enable SDK internal loggingenableVisualWarnings- Show visual warnings (toasts) for SDK errors/warningscustomRequestHeaders- Custom HTTP headers for requestsdeviceMetricOverrides- Override collected device metricssbs- Initial SDK Behavior SettingsdisableOldDataMigration- Disable migration from legacy native SDKs
-
Events Module (sdk.events)
record(key, count, sum, dur, segmentation)- Record custom events with optional parametersrecordMetrics(metricOverride)- Record device metrics with optional overrides- Segmentation support for strings, numbers, booleans, and lists
-
Views Module (sdk.views)
startAutoStoppedView(viewName, {segmentation})- Start an auto-stopped viewendActiveView({segmentation})- End the currently active view- Automatic view duration tracking with heartbeat mechanism
- View state recovery after app restart
-
Users Module (sdk.users)
setProperties(props)- Set user properties (named and custom)pushToArray(key, values)- Add values to array property (allows duplicates)addToSet(key, values)- Add unique values to array propertypullFromArray(key, values)- Remove values from array property- Named properties: name, username, email, organization, phone, picture, gender, byear
-
Consents Module (sdk.consents)
giveConsent()- Grant consent for data collectionrevokeConsent()- Revoke consent and clear data- Unknown consent state support
-
Device ID Module (sdk.id)
changeWithMerge(newDeviceId)- Change device ID with server-side mergechangeWithoutMerge(newDeviceId)- Change device ID without merge (new user)deviceId- Read-only access to current device IDdeviceIdType- Read-only access to device ID type (provided/generated)
-
SDK Behavior Settings (SBS)
- Server-side configuration support
- Automatic SBS fetching and caching
- Queue size limits (event/request queues)
- Key/value length limits
- Tracking control (global, events, views)
- Event blacklist/whitelist filtering
- User properties blacklist/whitelist filtering
- Segmentation blacklist/whitelist filtering
- Event-specific segmentation filtering
-
Storage
- Persistent storage support (SharedPreferences)
- Memory-only storage mode
- Custom storage methods override
- Legacy native SDK data migration (Android/iOS)
-
Networking
- Automatic request queuing and retry
- Request backoff mechanism
- Custom HTTP headers support
- Health check reporting
-
Logging
- Configurable log levels
- Custom logger implementation support
- Visual warnings (toasts) on Flutter
25.4.4
-
Mitigated an issue in iOS class paths.
-
Underlying Android SDK version is 25.4.8
-
Underlying iOS SDK version is 25.4.8
-
Underlying Web SDK version is 25.4.2
25.4.3-np
-
Mitigated an issue in iOS class paths.
-
Updated underlying Android SDK version to 25.4.8
-
Underlying iOS SDK version is 25.4.8
-
Underlying Web SDK version is 25.4.2
25.4.3
-
Mitigated an issue where push notifications were not shown when consent was not required and app was killed in Android.
-
Updated underlying Android SDK version to 25.4.8
-
Underlying iOS SDK version is 25.4.8
-
Underlying Web SDK version is 25.4.2
25.4.2-np
-
Added a new function "addCustomNetworkRequestHeaders: customHeaderValues" for providing or overriding custom headers after init.
-
Default request method is now set to "POST"
-
Updated user properties caching mechanism according to sessions.
-
Added a new function "recordMetrics: metricsOverride" to send a device metrics request.
-
Added a new Consent option "metrics" for controlling "recordMetrics" method. (This has no effect on Session metrics.)
-
Improved content error handling and display mechanics.
-
Improved Health Check metric information.
-
Improved disk size calculation in crash reports in Android.
-
Non window contexts also now uses POST requests by default in Web.
-
Improved CPU architecture detection capabilities in iOS.
-
Mitigated an issue where latest fetched behavior settings were replacing the current settings instead of merging.
-
Mitigated a possible Health Check network log recording issue.
-
Mitigated a potential issue where Remote Config calls could have blocked the main UI thread processes in Android.
-
Mitigated an issue that could have happened when navigating back from a Content in Android.
-
Mitigated a persistency issue with configuration provided SBS and its initial state in Android.
-
Mitigated an issue where SBS could have been fetched twice in Android.
-
Mitigated an SBS issue while in temporary ID mode in iOS.
-
Mitigated a race condition that could happen when recording previous event name in iOS.
-
Mitigated a possible issue with request timeouts in IE11 in Web
-
Mitigated an issue where manual feedback reporting could have failed in Web.
-
Updated underlying Android SDK version to 25.4.7
-
Updated underlying iOS SDK version to 25.4.8
-
Updated underlying Web SDK version to 25.4.2
25.4.2
-
Added a new function "addCustomNetworkRequestHeaders: customHeaderValues" for providing or overriding custom headers after init.
-
Default request method is now set to "POST"
-
Updated user properties caching mechanism according to sessions.
-
Added a new function "recordMetrics: metricsOverride" to send a device metrics request.
-
Added a new Consent option "metrics" for controlling "recordMetrics" method. (This has no effect on Session metrics.)
-
Improved content error handling and display mechanics.
-
Improved Health Check metric information.
-
Improved disk size calculation in crash reports in Android.
-
Non window contexts also now uses POST requests by default in Web.
-
Improved CPU architecture detection capabilities in iOS.
-
Mitigated an issue where latest fetched behavior settings were replacing the current settings instead of merging.
-
Mitigated a possible Health Check network log recording issue.
-
Mitigated a potential issue where Remote Config calls could have blocked the main UI thread processes in Android.
-
Mitigated an issue that could have happened when navigating back from a Content in Android.
-
Mitigated a persistency issue with configuration provided SBS and its initial state in Android.
-
Mitigated an issue where SBS could have been fetched twice in Android.
-
Mitigated an SBS issue while in temporary ID mode in iOS.
-
Mitigated a race condition that could happen when recording previous event name in iOS.
-
Mitigated a possible issue with request timeouts in IE11 in Web
-
Mitigated an issue where manual feedback reporting could have failed in Web.
-
Updated underlying Android SDK version to 25.4.7
-
Updated underlying iOS SDK version to 25.4.8
-
Updated underlying Web SDK version to 25.4.2
25.4.1-np
-
Added fullscreen support for feedback widgets.
-
Added "disableSDKBehaviorSettingsUpdates()" init config method to disable server config updates.
-
Improved request queue handling with a built-in backoff mechanism which is enabled by default.
-
Added "disableBackoffMechanism()" init config method to disable backoff behavior.
-
Added "attemptToSendStoredRequests()" method for events that needs quick sending.
-
Added support for SDK health checks after initialization for iOS.
-
Added timezone support for Web.
-
Mitigated an issue when an install referrer triggered.
-
Updated underlying Android SDK version to 25.4.1
-
Updated underlying iOS SDK version to 25.4.2
-
Updated underlying Web SDK version to 25.4.1
25.4.1
-
Added fullscreen support for feedback widgets.
-
Added "disableSDKBehaviorSettingsUpdates()" init config method to disable server config updates.
-
Improved request queue handling with a built-in backoff mechanism which is enabled by default.
-
Added "disableBackoffMechanism()" init config method to disable backoff behavior.
-
Added "attemptToSendStoredRequests()" method for events that needs quick sending.
-
Added support for SDK health checks after initialization for iOS.
-
Added timezone support for Web.
-
Mitigated an issue when an install referrer triggered.
-
Updated underlying Android SDK version to 25.4.1
-
Updated underlying iOS SDK version to 25.4.2
-
Updated underlying Web SDK version to 25.4.1