Releases: BatchLabs/Batch-iOS-SDK
3.1.0
Compiles with Xcode 16.4
Batch requires Xcode 16.4 and iOS 15.0 or higher
Core
- Fixed an issue where some GIF files would play too fast
- Fixed an issue where
didRegisterForRemoteNotificationsWithDeviceToken/didFailToRegisterForRemoteNotificationsWithErrorUIApplicationDelegate methods broke when swizzling was enabled on a SwiftUI lifecycle application.
Messaging
- Introduced In-App Automations within the Customer Engagement Platform.
- Introduced
Spacercomponent for creating flexible empty space within In-App messages. - Added support for In-App WebView format within the Customer Engagement Platform.
- Added
filloption for In-App component height. - Fixed incorrect internal analytics events
2.1.2
Compiles with Xcode 16.0
Batch requires Xcode 16.0 and iOS 13.0 or higher
Core
- Added support for Xcode 26.
- Removed arm64e slice.
- Fixed an issue where
didRegisterForRemoteNotificationsWithDeviceToken/didFailToRegisterForRemoteNotificationsWithErrorUIApplicationDelegate methods broke when swizzling was enabled on a SwiftUI lifecycle application.
3.0.3
Compiles with Xcode 16.3
Batch requires Xcode 16.3 and iOS 15.0 or higher
Core
- Re-release of 3.0.2 due to a build script issue.
3.0.2
Compiles with Xcode 16.3
Batch requires Xcode 16.3 and iOS 15.0 or higher
Core
- Important Xcode 26 warning: We have had reports of the SDK failing to pass App Store/Testflight validation due to the presence of an arm64e slice compiled with the iOS 18 SDK. Therefore, we removed the arm64e slice for the time being, planning to reintroduce it at a later date when we can compile with a stable iOS 26 SDK. Please contact our support team if this is a problem for you.
Messaging
- Fixed an issue where In-App messages might not display during NEW SESSION events.
1.21.3
1.21.2
Compiles with Xcode 15.1
Batch requires Xcode 15.1 and iOS 12.0 or higher
Core
- Re-release of 1.21.1 due to a build script issue.
2.1.1
Compiles with Xcode 16.0
Batch requires Xcode 16.0 and iOS 13.0 or higher
Core
- Re-release of 2.1.0 with a valid codesignature.
3.0.1
Compiles with Xcode 16.3
Batch requires Xcode 16.3 and iOS 15.0 or higher
Core
- Re-release of 3.0.0 due to a misalignment of deployment targets across package managers
3.0.0
This is a major release, please see our migration guide for more info on how update your current Batch implementation.
Compiles with Xcode 16.3
Batch requires Xcode 16.3 and iOS 13.0 or higher
Core
- Added
NS_SWIFT_UI_ACTORannotations on a couple of methods to prevent threading related bugs. While this is a breaking change, most implementations won't notice anything.
Messaging
- Added Mobile Landings with Push v2 which can be created from the CEP composer in the Batch Dashboard.
- Added new
BatchInAppDelegateprotocol andinAppDelegateproperty onBatchMessaging, in order to handler In-App messages manually. - Removed individual close callback methods (
batchMessageWasCancelledByAutoclose,batchMessageWasCancelledByUser,batchMessageWasCancelledByUserAction,batchMessageWasCancelledByError). Use the new unifiedbatchMessageDidDisappear:(NSString *_Nullable)messageIdentifier reason:(BatchMessagingCloseReason)reasonmethod. - The
batchMessageDidTriggerActiondelegate method now provides actaIdentifier(NSString) instead of the previousactionIndex(NSInteger).BatchMessageGlobalActionIndex's type has been changed accordingly. This method is still called on MEP (Mobile Engagement Platform) messages, but you will now receive an identifier built from the old cta index : “mepCtaIndex:” + index. - Renamed property
contentfrom classBatchInAppMessagetomepContent. This method will return nil andcontentTypeproperty will returnBatchMessagingContentTypeUnknownfor messages coming from the CEP (Customer Engagement Platform). - Fixed an issue where dismiss action didn't trigger
batchMessageDidTriggerAction - Fixed a rare issue where Batch could presents a message on a UIAlertController
2.1.0
Compiles with Xcode 16.0
Batch requires Xcode 16.0 and iOS 13.0 or higher
Profile
- Added
setPhoneNumberAPI to theBatchProfileEditorclass. This requires to have a user identifier registered or to call theidentifymethod beforehand. - Added
setSMSMarketingSubscriptionStateAPI to theBatchProfileEditorclass. - Strengthened custom user identifier validation on
identifyAPI to avoid unintended values.