Countly v17.05 Release Notes

    • ➕ 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