Releases: Countly/countly-sdk-android
24.7.7
24.7.6
-
Added support for localization of content blocks.
-
Mitigated an issue where visibility could have been wrongly assigned if a view was closed while going to background. (Experimental!)
-
Fixed a bug where passing the global content callback was not possible.
-
Mitigated an issue related to content actions navigation.
-
Mitigated an issue with parsing internal content event segmentation.
24.7.5
-
! Minor breaking change ! All active views will now automatically stop when consent for "views" is revoked.
-
The Android SDK now supports Android 15 (API level 35)
-
The views will be stopped and restarted now while going to the background or foreground instead of resuming and pausing.
-
Added further intent redirection vulnerability checks.
-
Added new functions to ease the presenting the feedback widgets. Functions present the first matching feedback widget from the list.
- presentNPS(Context)
- presentNPS(Context, String)
- presentNPS(Context, String, FeedbackCallback)
- presentSurvey(Context)
- presentSurvey(Context, String)
- presentSurvey(Context, String, FeedbackCallback)
- presentRating(Context)
- presentRating(Context, String)
- presentRating(Context, String, FeedbackCallback)
-
Mitigated an issue where content communication was done twice.
-
Mitigated an issue where a segmentation key was removed if it included a list with an unsupported value instead of sanitizing.
-
Mitigated a concurrency issue while restarting stopped views.
-
Fixed an issue where SDK was not able to set experimental visibility flag correctly by adding additional foreground state capture.
24.7.4
-
Disabled caching for webviews.
-
Expanded the flag (enablePreviousNameRecording) to add current view name as segmentation to custom events. (Experimental!)
-
Fixed an issue where the validation of the parameters during content retrieval was improper.
-
Mitigated an issue where a session could have started while the app was in the background when the device ID was changed (non-merge).
-
Mitigated an issue that density calculation was missing while resizing content.
-
Mitigated an issue where content fetching was enabled after initialization of the SDK.
24.7.3
- Automatic view pause/resumes are changed with stop/start for better data consistency.
- Added the config interface 'experimental' to group experimental features.
- Added a flag (enablePreviousNameRecording) to add previous event and view names as segmentation. (Experimental!)
- Added a flag (enableVisibilityTracking) to add app visibility info to views and events. (Experimental!)
- Added Content feature methods:
- enterContentZone, to start Content checks (Experimental!)
- exitContentZone, to stop Content checks (Experimental!)
24.7.2
- Mitigated an issue in the upload plugin that prevented the upload of a symbol file
24.7.1
-
! Minor breaking change ! Unsupported types for user properties will now be omitted, they won't be converted to strings.
-
Added support for mixed type of immutable lists, arrays to client given segmentations and user properties.
-
Added array, list and JSONArray support to the user properties.
-
Mitigated issues where:
- session was ending with device ID change without merge, when consent was not required and manual session control was enabled.
- session was not starting after device ID change without merge, when consent was not required and automatic sessions were enabled.
24.7.0
-
! Minor breaking change ! User properties will now be automatically saved under the following conditions:
- When an event is recorded
- During an internal timer tick
- Upon flushing the event queue
-
Added array, List, and JSONArray support to all user-given segmentations. They will support only mutable and immutable versions of the primitive types. Which are:
- String, Integer, int, Boolean, bool, Float, float, Double, double, Long, long
- Keep in mind that the float array will be converted to a double array by the JSONArray
-
Mitigated an issue where remote config values caching was changing due to a device ID change, but it is not anymore. It is linked to the configuration "enableRemoteConfigValueCaching" now.
-
Mitigated an issue related to the device ID by creating an internal migration.
-
Resolved a problem where revoked consents were sent after changes without merging.
-
Fixed a bug that caused the device ID to be incorrectly set after changes with merging.
-
Mitigated an issue where, on consent revoke, remote configuration values were cleared, but they are not anymore.
-
Change device id with merge not reporting session duration anymore.
24.4.1
-
! Minor breaking change ! Mitigated an issue where internal SDK limits did not apply
-
Added support for Feedback Widget terms and conditions
-
Added a new function "setID(newDeviceId)" which internally handles merge/non-merge selection while changing the device ID
-
Mitigated an issue where the session duration could have been calculated wrongly after a device ID change without merge
-
Mitigated an issue where a session could have continued after a device ID change without merge
24.4.0
-
! Minor breaking change ! If a manual session is already started, it will not be possible to call "BeginSession" without stopping the previous one
-
! Minor breaking change ! If a manual session has not been started, it will not be possible to call "UpdateSession"
-
! Minor breaking change ! If a manual session has not been started, it will not be possible to call "EndSession"
-
! Minor breaking change ! Setting for enabling/disabling for native crash dumps will be always enabled
-
Added an extended way of crash filtering
-
Added SDK internal limits configuration interface
-
Deprecated the following calls from "CountlyConfig":
- "setMaxSegmentationValues(maxSegmentationValues)" instead use "sdkInternalLimits.setMaxSegmentationValues(maxSegmentationValues)"
- "setMaxBreadcrumbCount(maxBreadcrumbCount)" instead use "sdkInternalLimits.setMaxBreadcrumbCount(maxBreadcrumbCount)"
- "setCrashFilterCallback(crashFilterCallback)" instead use "crashes.setGlobalCrashFilterCallback(globalCrashFilterCallback)"
- "enableCrashReporting()" instead use "crashes.enableCrashReporting()"
- "setCustomCrashSegment(crashSegmentation)" instead use "crashes.setCustomCrashSegmentation(crashSegmentation)"
- "setRecordAllThreadsWithCrash()" instead use "crashes.enableRecordAllThreadsWithCrash()"
- "checkForNativeCrashDumps(checkForDumps)", it will be removed in the future, there is no replacement