Skip to content

Releases: Countly/countly-sdk-android

24.7.5

07 Nov 06:47
8683e36
Compare
Choose a tag to compare
  • ! 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

04 Oct 16:57
1910cfd
Compare
Choose a tag to compare
  • 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

07 Sep 12:20
46c3b6c
Compare
Choose a tag to compare
  • 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

14 Aug 13:17
9669272
Compare
Choose a tag to compare
  • Mitigated an issue in the upload plugin that prevented the upload of a symbol file

24.7.1

31 Jul 14:26
f4bbe2b
Compare
Choose a tag to compare
  • ! 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

01 Jul 11:35
ac2f14f
Compare
Choose a tag to compare
  • ! 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

21 May 12:55
0d3136e
Compare
Choose a tag to compare
  • ! 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

03 Apr 12:02
Compare
Choose a tag to compare
  • ! 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

24.1.1

19 Feb 20:07
Compare
Choose a tag to compare
  • Added a new metric for detecting whether or not a device has a hinge

24.1.0

26 Jan 07:13
Compare
Choose a tag to compare
  • ! Minor breaking change ! Tracking of foreground and background reporting for APM is now disabled by default

  • Added a way to enable tracking of foreground and background reporting for APM

  • Fixed a bug where sending a local picture with checksum was not possible

  • Deprecated the following calls from "Apm" interface:

    • "triggerBackground"
    • "triggerForeground"
  • Deprecated following functions from "CountlyConfig":

    • "setRecordAppStartTime(recordAppStartTime)" instead use "apm.enableAppStartTimeTracking()"
    • "setAppStartTimestampOverride(appStartTimestampOverride)" instead use "apm.setAppStartTimestampOverride(appStartTimestampOverride)"
    • "enableManualAppLoadedTrigger()" instead use "apm.enableManualAppLoadedTrigger()"
    • "enableManualForegroundBackgroundTriggerAPM()" will be deleted in the future