Releases: BatchLabs/Batch-iOS-SDK
1.19.1
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
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
Compiles with Xcode 13.3
Batch requires Xcode 13 and iOS 10.0 or higher
Event Dispatchers
- Added
nameandversionon theBatchEventDispatcherDelegateprotocol. 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
BatchInboxFetcherusing thefilterSilentNotificationsproperty. - To support this feature, we deprecated the
titleandbodyproperties onBatchInboxNotificationContentand moved them under themessageproperty, which is nil for silent notifications.
For compatiblity, whenfilterSilentNotificationsis set to false thebodynotification content property will be set to the empty string. - Added the
isSilentproperty onBatchInboxNotificationContentto identify silent notifications.
1.18.1
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
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
BatchEventTrackerFinishedNotificationNSNotification when the event tracker has finished sending events. This notification might be triggered multiple times in a row.
ReadBatchTrackingEventsDidFinishWithSuccessKeyin 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
isDeletedfrom 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
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 ifBatchOptOutNetworkErrorPolicyIgnorewas returned.
1.17.2
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
markAsReadwould mark future notifications as read as soon as they arrived. - Fix an issue where
fetchNewNotificationswould behave likefecthNextPageif notifications were already loaded.
1.17.1
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
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-BatchSDKEnableInternalLogsprocess 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:toBatchMessagingDelegate, called when a message could not be loaded due to an error when loading the message's content. - Added
batchWebViewMessageDidTriggerAction:messageIdentifier:analyticsIdentifier:toBatchMessagingDelegate, 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
BatchEventDispatcherTypeMessagingCloseErrorandBatchEventDispatcherTypeMessagingWebViewClick.
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
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:].