github braze-inc/braze-swift-sdk 19.0.0

3 hours ago

19.0.0

Breaking
  • Raises the minimum platform OS versions to allow SDK compatibility with Xcode 27, which enforces the following new minimum versions:
    • iOS 12.0 -> iOS 15.0
    • tvOS 12.0 -> tvOS 15.0
  • Removes deprecated BrazeInAppMessageUI.DisplayChoice.later in favor of BrazeInAppMessageUI.DisplayChoice.reenqueue.
Added
  • requestBannersRefresh now merges into the existing banner cache instead of replacing it entirely. Only the requested placement IDs are affected; other cached banners are untouched, and a requested placement with no banner in the response is removed from the cache.
  • Adds featureDisabled and cacheEvicted to Braze.Banner.RemovalReason.
    • featureDisabled is passed to removeBannerContent(reason:) when the server configuration disables Banners and clears the local cache. Previously this teardown reported no reason.
    • cacheEvicted is passed when a banner is discarded to stay within the on-device cache size budget.
  • Adds subscribeToEvents(_:) and eventsStream on Braze.Banners, Braze.ContentCards, and Braze.FeatureFlags for cache replays, data updates, errors, and flushed analytics.
  • Adds support for immediate triggers, which display an In-App Message as soon as it's received.
Changed
  • Content Cards, Banners, and Feature Flags no longer automatically retry a non-429 4xx response, an invalid API key, or a sync response the SDK cannot decode.
  • subscribeToEvents reports one clientError with doNotRetry for those failures. HTTP 429, server errors, network failures, and SDK authentication errors still retry up to 15 times.
Deprecated
  • Deprecates subscribeToUpdates(_:) and the dictionary-based bannersStream / cardsStream / featureFlagsStream properties in favor of subscribeToEvents(_:) and eventsStream.

Don't miss a new braze-swift-sdk release

NewReleases is sending notifications on new releases.