Skip to content

Releases: Countly/countly-sdk-ios

20.11.0

03 Nov 12:26
aeabe0e
Compare
Choose a tag to compare
  • 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

20.04.3

30 Aug 14:59
d5c79ff
Compare
Choose a tag to compare

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

20.04.2

23 Jul 16:25
a982db6
Compare
Choose a tag to compare
  • 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

20.04.1

28 Jun 14:28
228cdd2
Compare
Choose a tag to compare
  • 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

20.04

30 Apr 18:44
ae42d43
Compare
Choose a tag to compare
  • 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

19.08

21 Aug 14:54
efa41a3
Compare
Choose a tag to compare
  • 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

19.02

13 Feb 12:40
d108cf5
Compare
Choose a tag to compare

19.02

  • 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

18.08

30 Aug 19:18
d265a53
Compare
Choose a tag to compare
  • 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

18.04

26 Apr 14:01
569ec5d
Compare
Choose a tag to compare
  • Added consent management for GDPR compliance

  • Exposed device ID to be used for data export and/or removal requests

  • Added precautions for SDK start state to prevent re-starting and early method calls

  • Added mutability protection for core functions, configuration properties, events and user details

  • Added COUNTLY_EXCLUDE_IDFA pre-processor flag to exclude IDFA references

  • Added API availability checks and warnings for Apple Watch and Push Notifications

  • Renamed reportView: method as recordView:

  • Fixed early ending of UIBackgroundTask

  • Fixed getting file path form local storage URL (thanks @dsmo)

  • Fixed not respecting doNotShowAlertForNotifications flag on iOS10+ devices

  • Fixed not starting requests queue when manualSessionHandling is enabled

  • Fixed block implicitly retains self warning in Star Rating

  • Fixed local variable shadowing warnings

  • Fixed Japanese language code for Star Rating dialog

  • Other various improvements

    • Refactored all location info into Location Manager
    • Refactored checkForAutoAsk in Star Rating
    • Refactored event recording for consents compatibility
    • Refactored Apple Watch matching
    • Refactored auto view tracking
    • Added top view controller finding method
    • Replaced asserts with exceptions
    • Deleted unneccessary method declarations in Push Notifications
    • Deleted unnecessary reference for WCSession.defaultSession.delegate
    • Deleted unnecessary TARGET_OS_OSX definition
    • Standardized nil checks
    • Renamed and reordered some query string constants
    • Updated HeaderDocs, inline notes, pragma marks
    • Performed whitespace cleaning

18.01

18 Jan 14:40
93504d2
Compare
Choose a tag to compare
  • Added attribution config

  • Added recording city and country for GeoLocation

  • Added recording explicit IP address for GeoLocation

  • Added disabling GeoLocation

  • Updated recordLocation method to override initial location config

  • Fixed reserved key for IP address query string

  • Fixed a CoreTelephony related crash due to an iOS bug

  • Replaced NSUserDefaults with NSCachesDirectory on tvOS for persistency

  • Improved auto dSYM uploader script

  • Improved performance on stored request limit execution

  • Other various improvements

    • Fixed a placeholder type specifier for NSNumber
    • Deleted unnecessary CLYMessaging definition
    • Deleted unnecessary strong ownership qualifiers
    • Added Hindu translation for star rating dialog
    • Added change log file
    • Updated user details and star rating reserved keys as constants
    • Updated OpenGLESVersion method return type as NSString
    • Updated time related types as NSTimeInterval
    • Updated HeaderDocs