Skip to content

Releases: Countly/countly-sdk-ios

17.09

22 Sep 08:39

Choose a tag to compare

  • Updated for Xcode 9 and iOS 11

  • Added symbolication support for crash reports

  • Added Automatic dSYM Uploading script

  • Added extension subspec for integrating Rich Push Notifications with CocoaPods

  • Added nullability specifiers for better Swift compatibility

  • Added 28 new system UIViewController subclass exception for Auto View Tracking

  • Added convenience method for recording action event for manually handled notifications

  • Added convenience method for recording handled exception with stack trace

  • Added precaution for invalid event keys

  • Added precaution for corrupt request strings

  • Made Zero-IDFA fix optional

  • Fixed a view tracking duration problem where duration being reported as timestamp

  • Replaced crashLog method with recordCrashLog and added deprecated warning

  • Changed dispatch queue type for opening external URLs

  • Other various improvements

    • Added Bengali translation for star rating dialog
    • Updated metric, event, view tracking and crash report reserved keys as constants
    • Deleted unnecessary gitattributes file
    • Deleted duplicate Zero-IDFA const
    • Rearranged file imports
    • Updated HeaderDocs
    • Cleaned whitespace

17.05

15 May 17:01

Choose a tag to compare

  • Added Rich Push Notifications support (attachments and custom action buttons)

  • Added manual session handling

  • Added URL escaping for custom device ID and other user defined properties

  • Added support for accidental extra slash in host

  • Added architecture, executable name and load address for crash reporting

  • Added IP optional parameter

  • Added SDK metadata to all request

  • Switched to SHA256 for parameter tampering protection

  • Discarded recordUserDetails method and combined it with save method

  • Improved AutoViewTracking active duration calculation

  • Improved Countly payload check in notification dictionary

  • Fixed inner event timestamp for 32 bit devices

  • Fixed token cleaning when user's permission changes

  • Fixed checksum calculation for zero-IDFA fix case

  • Fixed OS version metric for tvOS

  • Fixed double suspend method call when user kills the app using App Switcher

  • Fixed a compiler warning for macOS targets

  • Fixed AutoViewTracking for macOS targets

  • Fixed showing of multiple alerts in succession

  • Other various improvements

    • Refactored picture upload data preparation from request string using NSURLComponents
    • Refactored zero-IDFA check
    • Refactored additional info to be sent with begin session request
    • Refactored checksum appending
    • Refactored URLSession generation
    • Refactored opening external URLs on main thread
    • Refactored device model identifier method
    • Refactored sending crash report into connection manager
    • Replaced __OPTIMIZED__ flag with DEBUG flag for push notification test mode detection
    • Replaced boundary method with constant string
    • Replaced text based dismiss button with cross dismiss button for star-rating
    • Redefined request query string keys as constants
    • Redefined push notification reserved keys as constants
    • Redefined GET request max length as a constant
    • Redefined server input endpoint as a constant
    • Redefined push notification test mode values as enum
    • Standardized some integer types
    • Standardized target checking preprocessor macro usage
    • Deleted unnecessary init override in push manager
    • Deleted unnecessary updateSessionPeriod property in connection manager
    • Deleted unnecessary starRatingDismissButtonTitle config property
    • Deleted internal crash test methods
    • Added Czech and Latvian localization for star-rating dialog
    • Changed example host URL for rebranding compatibility
    • Updated handling of notification on iOS9 and older
    • Updated alert key handling in push notification payload
    • Updated HeaderDocs
    • Cleaned whitespace

! Warning for existing Countly iOS SDK users !
If you are already using a Countly iOS SDK version older than v16.12, please see before you update :

  • Push Notifications section in documentation as push notifications integration has changed and simplified.

If you are already using a Countly iOS SDK version older than v16.02, please see before you update :

  • Integration section in documentation as starting method of Countly has changed.
  • Notes section in documentation as device ID mechanism has changed.

16.12

28 Dec 19:45

Choose a tag to compare

  • Refactored push notifications
    • Made integration more easy
    • Added iOS10 push notifications handling
    • Added convenience method for asking push notifications permission covers all iOS versions
    • Renamed feature name from CLYMessaging to CLYPushNotifications
    • Added configuration option doNotShowAlertForNotifications to disable push triggered alerts
    • Discarded complicated UIUserNotificationCategory actions
    • Added configuration option sendPushTokenAlways to record push token always (for sending silent notification to users without notification permission)
    • Discarded App Store URL fetching with NSURLConnection
  • Discarded iOS7 support and deprecated method calls
  • Switched to runtime controlled internal logging instead of preprocessor flag
  • Added AutoViewTracking support for tvOS
  • Added view controller title and custom titleView support for AutoViewTracking
  • Improved AutoViewTracking performance and Swift compatibility
  • Refactored suspending for crash reporting
  • Switched to async file save for suspending
  • Added user login and logout convenience methods
  • Added configuration option to enable Apple Watch related features
  • Moved archiving of queued request into sync block to prevent a very rare occurring crash
  • Refactored unsent session duration
  • Added completion callback for automatically displayed star-rating dialog
  • Partially fixed but temporarily disabled APM feature until server completely supports it
  • Fixed too long exception name in crash reports on iOS10
  • Other various improvements
    • Refactored starting method
    • Switched to separate window based alert controller displaying for push notifications and star-rating dialogs
    • Renamed constant kCountlyStarRatingButtonSize to prevent compile time conflicts
    • Renamed server input endpoint variable for white label SDK renamer script compatibility
    • Updated star-rating reserved event key
    • Added internal log for successful initialization with SDK name and version
    • Fixed unused UIAlertViewAssociatedObjectKey warning for macOS
    • Removed old deviceID zero-IDFA fixer redundant request
    • Added internal logging for connection type retrieval exception
    • Added exception type info to crash reports
    • Fixed duplicate exception adding for AutoViewTracking
    • Prevented Countly internal view controllers from being tracked by AutoViewTracking
    • Prefixed all category methods to prevent possible conflicts
    • Changed timer's runloop mode
    • Updated timestamp type specifier (thanks to @scottlaw)
    • Changed SDK metadata sending to begin_session only
    • Replaced empty string checks with length checks
    • Cleared nullability specifiers
    • Updated HeaderDocs
    • Cleaned whitespace

! Warning for existing Countly iOS SDK users !
If you are already using a Countly iOS SDK version older than v16.12, please see before you update :

  • Push Notifications section in documentation as push notifications integration has changed and simplified.

If you are already using a Countly iOS SDK version older than v16.02, please see before you update :

  • Integration section in documentation as starting method of Countly has changed.
  • Notes section in documentation as device ID mechanism has changed.

16.06.4

14 Sep 12:47

Choose a tag to compare

  • Fixed iOS10 zero-IDFA problem
  • Fixed TARGET_OS_OSX warning for iOS10 SDK on Xcode 8.
  • Fixed ending of background tasks.
  • Added parameter tampering protection.
  • Added density metric.
  • Added alwaysUsePOST config property for using POST method for all requests regardless of the data size.
  • Added timezone.
  • Switched to millisecond timestamp.
  • Disabled server response dictionary check.
  • Other minor improvements like better internal logging, standardization, whitespacing, code cleaning, commenting, pragma marking and HeaderDocing

! Warning for existing Countly iOS SDK users !
If you are already using a Countly iOS SDK version older than v16.02, before you update :

  • Please see Integration section in documentation as starting method of Countly has been changed.
  • Please see Notes section in documentation as device ID mechanism has been changed.

16.06.3

08 Aug 15:01

Choose a tag to compare

  • Fixed a persistency related crash
  • Improved thread safety of request queue and events
  • Added Star-Rating, the simplest form of feedback from users, both automatically and manually.
  • Improved event recording performance and safety for APM and Auto View Tracking.
  • Added custom HTTP header field support for requests, both on initial configuration and later.
  • Standardized internal logging grammar and formatting for easier debugging
  • Improved headerdocs grammar and formatting for easier integration and usage
  • Fixed some static analyzer warnings

! Warning for existing Countly iOS SDK users !
If you are already using a Countly iOS SDK version older than v16.02, before you update :

  • Please see Integration section in documentation as starting method of Countly has been changed.
  • Please see Notes section in documentation as device ID mechanism has been changed.

16.06.2

04 Aug 04:47

Choose a tag to compare

  • Added Star-Rating, the simplest form of feedback from users, both automatically and manually.
  • Improved event recording performance and safety for APM and Auto View Tracking.
  • Added custom HTTP header field support for requests, both on initial configuration and later.
  • Standardized internal logging grammar and formatting for easier debugging
  • Improved headerdocs grammar and formatting for easier integration and usage
  • Fixed some static analyzer warnings

! Warning for existing Countly iOS SDK users !
If you are already using a Countly iOS SDK version older than v16.02, before you update :

  • Please see Integration section in documentation as starting method of Countly has changed.
  • Please see Notes section in documentation as device device ID mechanism has changed.

16.06.1

05 Jul 05:05

Choose a tag to compare

  • Added support for certificate pinning.
  • Added deleting of user details properties on server by setting them as NSNull.
  • Implemented switching between GET and POST depending on data size on requests.
  • Fixed a URL encoding issue which causes problems for Asian languages and some JSON payloads.
  • Fixed custom crash log formatter.

! Warning for existing Countly iOS SDK users !
If you are already using a Countly iOS SDK version older than v16.02, before you update :

  • Please see Integration section in documentation as starting method of Countly has changed.
  • Please see Notes section in documentation as device device ID mechanism has changed.

16.06

17 Jun 15:35

Choose a tag to compare

Important: Due to a bug introduced in this release, developers are encouraged to use latest SDK version.

  • Fixed a problem with changing device ID (for system generated device IDs)
  • Added isTestDevice flag to mark test devices for Push Notifications
  • Improved Auto View Tracking by ignoring non-visible foundation UIViewController subclasses
  • Implemented manually adding exception UIViewController subclasses for Auto View Tracking
  • Changed default device ID type for tvOS from IDFA to NSUUID
  • Added stored requests limit
  • Added optional parameters ISOCountryCode, city and location for advanced segmentation
  • Discarded timed events persistency
  • Added buildUUID and build number to Crash Reports
  • Added SDK name (language-origin-platform) to all requests
  • Changed default alert title for push messages
  • Other minor improvements like better internal logging, standardization, whitespacing, code cleaning, commenting, pragma marking and HeaderDocing

! Warning for existing Countly iOS SDK users !
If you are already using a Countly iOS SDK version older than v16.02, before you update :

  • Please see Integration section in documentation as starting method of Countly has changed.
  • Please see Notes section in documentation as device device ID mechanism has changed.

16.02.01

19 May 14:53

Choose a tag to compare

  • Swithed to POST method for all requests by default
  • Fixed some issues with Crash Reporting persistency
  • Fixed some issues with CocoaPods v1.0.0
  • Other minor fixes and improvements

! Warning for existing Countly iOS SDK users !
If you are already using a Countly iOS SDK version older than v16.02, before you update :

  • Please see Integration section in documentation as starting method of Countly has changed.
  • Please see Notes section in documentation as device device ID mechanism has changed.

16.02

20 Feb 05:48

Choose a tag to compare

Completely re-written iOS SDK with watchOS, tvOS & OSX support

  • APM
  • Manual/Auto ViewTracking
  • UserDetails modifiers
  • watchOS 2 support
  • tvOS support
  • Configurable starting
  • Custom or system provided (IDFA, IDFV, OpenUDID) device ID
  • Changing/merging device ID on runtime
  • Persistency without CoreData
  • Various performance improvements and minor bugfixes

! Warning for existing Countly iOS SDK users !
If you are already using a Countly iOS SDK version older than v16.02, before you update :

  • Please see Integration section in documentation as starting method of Countly has changed.
  • Please see Notes section in documentation as device device ID mechanism has changed.