Releases: BatchLabs/Batch-iOS-SDK
1.19.3
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 a SQLite crash caused by a race condition: triggering an In-app message with "Re-evaluate campaign eligibility" enabled right after calling
[BatchUserDataEditor save]
could make concurrent accesses to SQLite and crash.
Messaging
- Fixed a rare crash that could happen when re-evaluating multiple campaigns eligibility for a same trigger.
1.19.2
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 implementations of various internal objects implementing NSCopying, which could crash in some rare cases on pre iOS 13 devices.
- Fixed an issue the SDK would not send a notification permission status change to Batch's servers until a later SDK start.
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
name
andversion
on theBatchEventDispatcherDelegate
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 thefilterSilentNotifications
property. - To support this feature, we deprecated the
title
andbody
properties onBatchInboxNotificationContent
and moved them under themessage
property, which is nil for silent notifications.
For compatiblity, whenfilterSilentNotifications
is set to false thebody
notification content property will be set to the empty string. - Added the
isSilent
property onBatchInboxNotificationContent
to 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
BatchEventTrackerFinishedNotification
NSNotification when the event tracker has finished sending events. This notification might be triggered multiple times in a row.
ReadBatchTrackingEventsDidFinishWithSuccessKey
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
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 ifBatchOptOutNetworkErrorPolicyIgnore
was 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
markAsRead
would mark future notifications as read as soon as they arrived. - Fix an issue where
fetchNewNotifications
would behave likefecthNextPage
if 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:]
.