Skip to content

mindbox v2.15.3

Latest

Choose a tag to compare

@github-actions github-actions released this 26 Aug 11:24
c5c49be

Upgrade Android SDK dependency to v2.15.4 and iOS SDK dependency to v2.15.3

New Features

  • Added Swift Package Manager support for iOS (mindbox_ios). See the migration guide
  • Added WebView pre-warming and caching for in-app messages — faster first and repeat display, content survives app restart
  • Added support for a URL path prefix in operationsDomain (e.g. domain.com/api/v2)
  • Added a shouldIncludeVersionCode configuration flag to report the app version without the versionCode suffix
  • [Android] Added support for a named Firebase app to isolate the push token from other Firebase SDKs

Fixes

  • Fixed track-visit source being reported as direct instead of push/link when the app is opened from a push or deeplink
  • Fixed WebView in-apps failing to show after a cached tracker error
  • [iOS] Fixed promoActions being dropped from synchronous operation responses
  • [iOS] Fixed a host-app crash when the App Group container is unavailable or misconfigured
  • [iOS] Fixed executeSyncOperation not calling its completion handler on invalid operation name or JSON
  • [iOS] Fixed a freeze when a custom delegate shows its own UI over a modal in-app
  • [Android] Fixed in-app messages showing behind the app UI over dialog fragments
  • [Android] Fixed an initialization race that could stop in-apps and visit tracking from working
  • [Android] Fixed UrlInAppCallback not opening the URL on devices with a default browser
  • [Android] Fixed a crash on repeated Snackbar in-app display
  • Fixed various minor issues

Improvements

  • [iOS] Improved responsiveness — public SDK methods no longer block the calling thread
  • [Android] Optimized in-app image caching to limit app storage growth and added an image load timeout

Important

executeSyncOperation now always calls its completion handler on invalid input (previously it could return without calling it). If your retry logic keys off the completion result, do not retry on validationError — such input is permanently invalid.