Releases: BatchLabs/Batch-iOS-SDK
3.2.0
Compiles with Xcode 26.1.1
Batch requires Xcode 26.1.1 and iOS 15.0 or higher (iOS 16.0 or higher for Mac Catalyst only)
Core
- Reintroduced the arm64e architecture slice since the previous removal was a temporary measure due to App Store/TestFlight validation issues observed with arm64e slices compiled using early iOS 18 SDKs
Profile
- Profile string attributes now support up to 300 characters for the Customer Engagement Platform (CEP). The limit for the Mobile Engagement Platform (MEP) remains 64 characters. Attributes set via
BatchProfileEditor.setStringAttribute()longer than 64 characters will only be applied to the CEP. - Event string attributes now support up to 300 characters for the Customer Engagement Platform (CEP). The limit for the Mobile Engagement Platform (MEP) remains 200 characters. Attributes set via
BatchEventAttributes.putString()longer than 200 characters will only be applied to the CEP.
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