All Versions
Latest Version
Avg Release Cycle
106 days
Latest Release

Changelog History
Page 1

  • v20.11.2 Changes

    • ➕ Added configurable internal log levels
    • ➕ Added internal logs for approximate received and sent data size for requests
    • ➕ Added numbers and boolean value types for custom user details methods
    • ➕ Added clearCrashLogs method for clearing custom crash logs (breadcrumbs)
    • ➕ Added navigationItem's title as a view title fallback for view tracking
    • ➕ Added Mac Catalyst support
    • ➕ Added selector precaution for CountlyLoggerDelegate method call
    • ➕ Added precautions for nil values in custom user details methods
    • ⚡️ Updated request successful check to consider response object
    • ⚡️ Updated default eventSendThreshold as 100
    • 🛠 Fixed UIApplicationState usage for crashes occured on non-main thread
    • 🛠 Fixed clearing custom crash logs
    • 🛠 Fixed missing frameworks for ns subspec in podspec file
    • 🛠 Fixed CountlyLoggerDelegate methods optionality
    • 🛠 Fixed view tracking exception view checking
    • 🛠 Fixed adding and removing view tracking exceptions on tvOS
    • 🛠 Fixed cast warnings for an APM method internal log

    • Other various improvements

      • Updated HeaderDocs, internal logs, inline notes and pragma marks
      • Updated Countly project settings for Xcode 12.4
  • v20.11.1 Changes

    December 05, 2020
    • ➕ Added loggerDelegate initial config property for receiving internal logs on production builds
    • 🛠 Fixed manual view tracking state clean up when view tracking consent is cancelled (thanks @felixmusmann)
    • ⚡️ Updated CountlyFeedbackWidget.h as public header file in Xcode project file for Carthage
    • ➕ Added nullability specifiers for block parameters
  • v20.11.0 Changes

    November 03, 2020

    ➕ Added Surveys and NPS feedback widgets

    ➕ Added Swift Package Manager support

    ➕ Added replaceAllAppKeysInQueueWithCurrentAppKey method to replace all app keys in queue with the current app key

    ➕ Added removeDifferentAppKeysFromQueue method to remove all different app keys from the queue

    ➕ Added deviceIDType method to be able to check device ID type

    ➕ Added precaution and warning for nil crash report case

    ➕ Added consents initial config property

    ➕ Added device type metric

    ⚡️ Updated dismiss button design

    🛠 Fixed web view autoresizing mask for legacy feedback widgets

    🛠 Fixed a missing CoreLocation framework import

    🛠 Fixed unnecessary recreation of NSURLSession instances

    🛠 Fixed dismiss button layout

    🔄 Changed interface orientation change event consent from Events to UserDetails

    🔄 Changed remote config consent from Any to RemoteConfig

    ✅ Marked pushTestMode initial config property as _Nullable

    Other various improvements

    • Refactored picture upload data extraction
    • Suppressed an internal log for interface orientation change
    • Updated some constant key declarations for common use
    • Updated HeaderDocs, internal logs, inline notes and pragma marks
  • v20.04.3 Changes

    August 30, 2020

    ⚠ Warning

    Although this is a minor release (due to current version numbering conventions in Countly), it has serious changes regarding Location and Attribution features. Please make sure you read HeaderDocs for deprecated methods and properties.

    🗄 Deprecated recordLocation:, recordCity:andISOCountryCode:, recordIP: methods

    ➕ Added new combined recordLocation:city:ISOCountryCode:IP: method for recording location related info

    🗄 Deprecated enableAttribution initial config flag

    ➕ Added attributionID initial config property

    ➕ Added recordAttributionID: method

    Discarded IDFA usage on optional attribution feature

    Discarded COUNTLY_EXCLUDE_IDFA preprocessor flag

    ⚡️ Updated PLCrashReporter subspec dependency version specifier as ~> 1

    Other various improvements

    • Updated HeaderDocs, internal logs, inline notes and pragma marks
    • Updated some initial config property modifiers as copy
    • Treated empty string city, ISOCountryCode and IP values as nil
    • Added warnings for the cases where city and ISOCountryCode code are not set as a pair
  • v20.04.2 Changes

    July 23, 2020

    0️⃣ Implemented overriding default metrics and adding custom ones

    🛠 Fixed advertising tracking enabled check

    Other various improvements

    • Improved internal logs for pinned certificate check
    • Refactored extra slash check using hasSuffix: method
    • Renamed some app life cycle observing methods for clarity
  • v20.04.1 Changes

    June 28, 2020

    ➕ Added Application Performance Monitoring (Phase 1)

    • Manual network traces
    • Manual custom traces
    • Semi-automatic app start time trace
    • Automatic app foreground time trace
    • Automatic app background time trace

    - Consent handling for Application Performance Monitoring

    Added COUNTLY_EXCLUDE_PUSHNOTIFICATIONS flag to disable push notifications altogether in order to avoid App Store Connect warnings (thanks @grundleborg)

    🛠 Fixed an incorrect internal logging on SDK start

    🛠 Fixed location consent order to avoid some legacy Countly Server issue with location info being unavailable even after giving consent

    👌 Improved UIApplicationWillTerminateNotification behaviour

    Prevented recording empty string as city, ISOCountryCode and IP for location info

    Applied alwaysUsePOST flag to feedback widget check requests

    Applied alwaysUsePOST flag to remote config requests

    Other various improvements

    • Deleted some unnecessary imports
    • Updated HeaderDocs, internal logs, inline notes and pragma marks
    • Added missing frameworks to CocoaPods podspec
    • Added ability to override SDK name and version for bridge SDKs
  • v20.04 Changes

    April 30, 2020

    ➕ Added crash reporting feature for tvOS

    ➕ Added crash reporting feature for macOS

    ➕ Added crash reporting feature for watchOS

    ➕ Added optional crash reporting dependency PLCrashReporter for iOS

    ➕ Added UI orientation tracking

    ➕ Added crash filtering with regex

    ⚡️ Updated dSYM uploader script for accepting custom dSYM paths

    ⚡️ Updated enableAppleWatch flag default value for independent watchOS apps

    🛠 Fixed push notification consent method for macOS targets

    🛠 Fixed not appearing rich push notification buttons for some cases

    Discarded OpenGL ES version info in crash reports

    Other various improvements

    • Deleted an unnecessary UIKit import
    • Added precaution for possible nil lines in backtrace
    • Added precaution for possible nil OS name value
    • Replaced scheduledTimerWithTimeInterval call with timerWithTimeInterval (thanks @mt-rpranata)
    • Updated architerture method for crash reports
    • Updated CocoaPods podspec for core subspec approach
    • Updated feature, consent and push test mode specifiers as NSString typedefs
    • Updated HeaderDocs, internal logs, inline notes and pragma marks
  • v19.08 Changes

    August 21, 2019

    ➕ Added temporary device ID mode

    ➕ Added support for Carthage

    ➕ Added custom URL session configuration support

    ➕ Added custom segmentation support on view tracking

    ➕ Added ability to change app key on the run

    ➕ Added ability to flush queues

    ➕ Added pushTestMode property and discarded isTestDevice property

    🛠 Fixed WCSessionDelegate interception

    🛠 Fixed title and message check in push notification payloads

    🛠 Fixed binary image name extraction for crash reports

    🛠 Fixed missing delegate forwarding for userNotificationCenter:openSettingsForNotification: method

    🛠 Fixed in-app alerts on iOS10+ devices when a silent notification with alert key arrives

    Discarded device ID persistency on Keychain

    Discarded OpenUDID device ID option

    Discarded IDFA device ID option

    Discarded zero IDFA fix

    ⚡️ Updated default device ID on tvOS as identifierForVendor

    Other various improvements

    • Renamed forceDeviceIDInitialization flag as resetStoredDeviceID
    • Added lightweight generics for segmentation parameters
    • Added dSYM upload script to preserved paths in Podspec
    • Updated dSYM upload script to support paths with spaces
    • Changed request cache policy to NSURLRequestReloadIgnoringLocalCacheData
    • Added battery level for watchOS 4.0+
    • Added JSON validity check before converting objects
    • Deleted unused kCountlyCRKeyLoadAddress constant
    • Improved internal logging in binary images processing for crash reports
    • Added persistency for generated NSUUID
    • Added precaution to prevent invalid requests from being added to queue
    • Discarded null check on request queue
    • Discarded all APM related files
    • Added length check for view tracking view name
    • Added length check for view tracking exceptions
    • Updated HeaderDocs, internal logs, inline notes and pragma marks
  • v19.02 Changes

    February 13, 2019


    ➕ Added push notification support for macOS

    ➕ Added provisional push notification permission support for iOS12

    ➕ Added remote config feature

    ➕ Added recordPushNotificationToken method to be used after device ID changes

    ➕ Added clearPushNotificationToken method to be used after device ID changes

    Discarded Push Open event and replaced it with Push Action event

    🛠 Fixed push notification token not being sent on some iOS12 devices

    🛠 Fixed device ID change request delaying issue by discarding delay altogether

    🛠 Fixed internal view controller presenting failure when root view controller is not ready yet

    🛠 Fixed openURL freeze caused by iOS

    🛠 Fixed wrong kCountlyQSKeyLocationIP key in location info requests

    🛠 Fixed missing app key in feedback widget requests

    🛠 Fixed feedback widget dismiss button position

    Other various improvements

    • Discarded separate UIWindow usage for presenting feedback widgets
    • Added checksum to feedback widget requests
    • Improved internal logging for request queue
  • v18.08 Changes

    August 30, 2018

    ➕ Added feedback widgets support

    ➕ Added limit for number of custom crash logs (100 logs)

    ➕ Added limit for each custom crash log length (1000 chars)

    ➕ Added support for cancelling timed events

    ➕ Added support for recording fatal exceptions manually

    ➕ Added userInfo to crash report custom property

    ➕ Added delay before sending change device ID request (server requirement)

    📇 Renamed isAutoViewTrackingEnabled as isAutoViewTrackingActive

    🛠 Fixed Xcode warnings for askForNotificationPermission method

    🛠 Fixed UIAlertController leak in push notification manager

    🛠 Fixed crashSegmentation availability for manually recorded crashes

    🛠 Fixed openURL: call thread as main thread

    ⚡️ Updated minimum supported macOS version as 10.10

    Other various improvements

    • Discarded separate UIWindow for presenting UIAlertControllers
    • Refactored buildUUID and executableName as properties
    • Refactored custom crash log array and date formatter
    • Updated HeaderDocs, inline notes, pragma marks