Skip to content

Releases: BatchLabs/Batch-iOS-SDK

1.19.1

16 Jun 16:27

Choose a tag to compare

Compiles with Xcode 13.3.1
Batch requires Xcode 13.3.1 and iOS 10.0 or higher

Note: Due to Xcode 14 dropping support for Bitcode and 32-bit architectures, this is the last minor version to be bundled with these slices.

Core

  • Fixed an issue where some non-profile data (display receipts and In-App campaign view history) wasn't deleted after using [Batch optOutAndWipeData].
  • Updated BatchMessagingContentType's definition to use a modern NS_ENUM declaration. Fixes an issue where the header could not be parsed in an Objective-C++ context.

Messaging

  • Fixed a display issue on Modals with an image but no title.

1.18.2

16 Jun 16:26

Choose a tag to compare

Compiles with Xcode 13.1
Batch requires Xcode 13 and iOS 10.0 or higher

Core

  • Updated BatchMessagingContentType's definition to use a modern NS_ENUM declaration. Fixes an issue where the header could not be parsed in an Objective-C++ context.

Messaging

  • Fixed a display issue on Modals with an image but no title.

1.19.0

31 Mar 13:08

Choose a tag to compare

Compiles with Xcode 13.3
Batch requires Xcode 13 and iOS 10.0 or higher

Event Dispatchers

  • Added name and version on the BatchEventDispatcherDelegate protocol. There is no need to implement those in your implementations. If you are using a Batch dispatcher plugin, please update it.

Messaging

  • In-App campaigns are now synchronized on SDK start without delay and will fallback on local cache. This changes the way the "next session" trigger works, which is now equivalent to what used to be "as soon as possible".
  • Added just-in-time verification for In-App campaigns.

Inbox

  • Added the ability to disable the filtering of silent notifications on BatchInboxFetcher using the filterSilentNotifications property.
  • To support this feature, we deprecated the title and body properties on BatchInboxNotificationContent and moved them under the message property, which is nil for silent notifications.
    For compatiblity, when filterSilentNotifications is set to false the body notification content property will be set to the empty string.
  • Added the isSilent property on BatchInboxNotificationContent to identify silent notifications.

1.18.1

20 Dec 15:49

Choose a tag to compare

Compiles with Xcode 13.1
Batch requires Xcode 13 and iOS 10.0 or higher

Core

  • Batch's XCFramework distribution now has an empty "PrivateHeaders" folder in the Mac Catalyst distribution to satisfy a broken link created by xcodebuild.

Inbox

  • Fixed an issue where the inbox wouldn't return notifications if the installation was upgraded from an application version running Batch 1.17. Fresh app installs worked as expected.

1.18.0

25 Nov 17:06

Choose a tag to compare

Compiles with Xcode 13.1
Batch requires Xcode 13 and iOS 10.0 or higher

Starting with this release, Batch can be installed as a XCFramework when using Carthage 0.38 and higher

Core

  • Added Universal Links support. If your application handles them, please declare your associated domains with [Batch setAssociatedDomains:];. If your site uses multiple subdomains (such as example.com, www.example.com, or support.example.com), each requires its own entry like in the Associated Domains Entitlement.

Events

  • Added NSURL type for the events data.
  • Batch now emits the BatchEventTrackerFinishedNotification NSNotification when the event tracker has finished sending events. This notification might be triggered multiple times in a row.
    Read BatchTrackingEventsDidFinishWithSuccessKey in the userInfo to know whether the operation succeeded or failed.

Attributes

  • Added NSURL type for the custom attributes.

Inbox

  • Batch will now cache notifications marked as read or deleted to avoid any synchronization issues.
  • Property isDeleted from a BatchInboxNotificationContent is now deprecated: see BatchInbox.h for more info.

Debug

  • Batch will now copy the installation ID to the clipboard when the application is foregrounded multiple times in a short timespan. This is enabled by default, you can disable it at any moment by using [Batch setEnablesFindMyInstallation:false].

1.17.3

06 Jul 12:48

Choose a tag to compare

Compiled with Xcode 12.4
Batch requires Xcode 12 and iOS 10.0 or higher

Core

  • Resolved an issue introduced in 1.17.2 where [Batch optOutWithCompletionHandler:] ignored the developer callback and behaved as if BatchOptOutNetworkErrorPolicyIgnore was returned.

1.17.2

24 May 12:59

Choose a tag to compare

Compiled with Xcode 12.4
Batch requires Xcode 12 and iOS 10.0 or higher

Core

  • Resolved an issue where calling [Batch optOut] or [Batch optOutAndWipeData] could crash if Batch wasn't started.
  • Stopped requesting the Identifier for Vendors (IDFV) from iOS. It was unused since we discontinued Batch Unlock in 2017.
  • IDFA isn't displayed in the debug view anymore, even if IDFA collection is enabled.
  • On iOS 14.5 and higher, when IDFA collection is enabled, Batch will not query iOS for the advertising ID unless the AppTrackingTransparency request has been explicitly approved by the user.
    This is an optimization: The identifier had never been collected in this case due to iOS blocking it.

Inbox

  • Fixed an issue where using markAsRead would mark future notifications as read as soon as they arrived.
  • Fix an issue where fetchNewNotifications would behave like fecthNextPage if notifications were already loaded.

1.17.1

07 Apr 14:43

Choose a tag to compare

Compiled with Xcode 12.4
Batch requires Xcode 12 and iOS 10.0 or higher

Messaging

  • Fix a bug where a user could not interact with the application under a Banner format on iPadOS 14. iPhones were unaffected.
  • Fix a very rare race condition where the SDK could crash in -[BALocalCampaignsManager isEventWatched:].

1.17.0

04 Mar 15:57

Choose a tag to compare

Compiled with Xcode 12.4
Batch requires Xcode 12 and iOS 10.0 or higher

Core

  • Added the ability to enable Batch's internal logging using [Batch setInternalLogsEnabled:true]. They can also be enabled using the -BatchSDKEnableInternalLogs process argument.
    Internal logs should be disabled when submitting your app to the App Store.
  • Added nullability annotations to BatchLoggerDelegate. This might trigger a warning in your Swift code.

Actions

  • Add a "copy to clipboard" builtin action (batch.clipboard).
  • Add a "rate app" builtin action (batch.rating). Requires iOS 10.3 or higher.

Messaging

  • Added support for a new UI format: WebView. See documentation for more info.
  • Added batchMessageWasCancelledByError: to BatchMessagingDelegate, called when a message could not be loaded due to an error when loading the message's content.
  • Added batchWebViewMessageDidTriggerAction:messageIdentifier:analyticsIdentifier: to BatchMessagingDelegate, called when a message could not be loaded due to an error when loading the message's content.
  • Modal formats can now be closed with the escape key
  • Fix a bug where cached in-app campaigns might not be deleted when all campaigns were disabled
  • In-App campaign cache is now cleared on server errors
  • Fix an issue where the statusbar color would not be applied

Event Dispatchers

  • Added the new event types BatchEventDispatcherTypeMessagingCloseError and BatchEventDispatcherTypeMessagingWebViewClick.

Push

  • Notification opens, deeplinks and mobile landings are now working when notifications aren't displayed in the foreground (willShowSystemForegroundAlert: false).

Inbox

  • [BatchInbox fetcherForUserIdentifier:authenticationKey:] now returns a nil instance if "userIdentifier" is nil.

1.16.1

07 Apr 14:52

Choose a tag to compare

Compiled with Xcode 12.4
Batch requires Xcode 12 and iOS 10.0 or higher

This release backports changes from 1.17.1

Messaging

  • Fix a bug where a user could not interact with the application under a Banner format on iPadOS 14. iPhones were unaffected.
  • Fix a very rare race condition where the SDK could crash in -[BALocalCampaignsManager isEventWatched:].