Change log and release notes for the Batch SDK. Any variances between Android, iOS, AIR, and Unity will be noted.
v1.12.1 - 24/05/2018
- FCM registration errors are now more explicitly logged
- Fix an error when a "null" registration ID could be logged
- Add support for server-side Sender ID detection. The Sender ID has also been included in the registration broadcast introduced in 1.12.0
v1.12.0 - 26/04/2018
Batch now fully supports Firebase Cloud Messaging. Note that existing Batch integrations will NOT automatically be migrated to FCM. You should follow the migration steps before April 2019.
Added methods to handle opting-out from Batch, and wiping user data.
You can control whether Batch is opted out from by default using a manifest meta-data entry:
<meta-data android:name="batch_opted_out_by_default" android:value="false" />
For compatibility reasons, Batch will be enabled by default.
More info in our documentation.
When a push registration identifier has successfully been fetched, Batch will now broadcast it as the action definied by
Batch.ACTION_REGISTRATION_IDENTIFIER_OBTAINED. More info in the documentation.
Banners now correctly track their display, and trigger a
onBatchMessageShown() call on your
LifecycleListener if one is set.
Displaying a banner will dismiss any currently displayed banner
Deprecated Config.setCanUseAndroidID: Android id is never collected anymore.
Deprecated Config.setCanUseInstanceID: users should migrate to FCM.
android.permission.VIBRATE in Batch's manifest, meaning that your app will automatically require them with no additional manifest changes. This should not impact you as they're required by many libraries, including Google's, and have always been required for Batch to work. If you didn't have them already, this might trigger a permission request on pre Marshmallow devices: please look at the manifest merger output to see if this impacts you.
Fixed some rare crashes that could happen on some Android emulators that broadcast malformed Google Play Services intents.
Various javadoc fixes
Note: This version is the last one supporting Android Studio 2.x. Batch 1.13 will ONLY support Android Studio 3.x and later.
v1.11.0 - 23/02/2018
Added support for Banners in In-App Messaging
If your app uses the Mobile Landing/In-App Messaging manual mode, you need to update your implementation to support banners. Please check the updated manual mode documentation for more information.
Fix an issue where an exception could be thrown if an invalid deeplink was supplied when setting up an In-App Message's buttons.
The SDK will now log the current Installation ID on start
v1.10.2 - 05/01/2018
- Unobfuscated InAppMessageUserActionSource, which is implemented by BatchInAppMessage
- Fixed an exception that could be thrown when using the Inbox APIs in the background.
While it will not throw an exception anymore, the fetcher will still not work in these conditions if used in 'user identifier' mode: In order to fix this, please use
Batch.Inbox.getFetcher(Context, String, String) rather than
- Fix a bug where the image of an In-App message could be distorted after a double rotation.
- Added a method
getNotificationIdentifier() on BatchInboxNotificationContent, which allows you to retrieve a unique identifier for this specific notification.
- Added a variant of
Batch.Push.appendBatchData() compatible with
Batch.Push.makePendingIntent(Intent), to generate a valid PendingIntent from an Intent, suitable for a Notification's builder. Please note that it will override the intent's action. If you rely on a custom action, you will have to make your own PendingIntent.
Batch.Push.makePendingIntentForDeeplink(String), to generate a valid PendingIntent for a deeplink string, suitable for a Notification's builder, using Batch's action activity.
- Improve builtin proguard rules. The number of library classes kept because of Batch is now much lower.
- Added detection for invalid sender IDs, and overall better error reporting when FCM/GCM registration fails.
v1.10.1 - 15/09/2017
- Improved handling of new Android O backgrounding limitations
- Fixed Do Not Disturb mode not working properly
- Fixed a bug where activities opened by a push using a deeplink did not contain the Batch.Push.PAYLOAD_KEY extra
- Fixed an issue with Android Oreo channels
- Added APIs to copy Batch's data from an intent to another. See Batch.copyBatchExtras
- Added a method on BatchInAppMessage, allowing you to fetch the visual content of the message. See BatchInAppMessage.getContent for more info
- Added proguard rules to exclude support-v4 NotificationCompat related classes
v1.10.0 - 03/08/2017
- Introduced In-App Campaigns
- Added a Do Not Disturb mode on Batch.Messaging, allowing easier control of when landings will be shown
v1.9.2 - 12/07/2017
- Batch is now available on Maven Central!
- Unofbuscated classes that have been wrongly obfuscated before. BatchNotificationAction is now available.
- Introducing BatchNotificationInterceptor, which allows you to change the generated notificationId or change the NotificationCompat.Builder instance that Batch uses
to display notifications. This allows you to add features such as a Wear extender, etc.
v1.9.1 - 16/06/2017
- Batch SDK is now built with and targets API 26
- Added support for Android 8.0 Notification Channels
See Batch.Push.getChannelsManager() and our channels documentation to tweak how Batch handles them.
- Batch requires support-v4 26.0.0, for notifications to work with Android 8.0. (As of writing, only 26.0.0-beta2 is available)
- Eclipse support had been dropped
v1.9.0 - 08/06/2017
- Added the Inbox module, allowing you to fetch previously received notifications from your code. More info: Inbox documentation
v1.8.0 - 26/04/2017
- BREAKING CHANGE: Removed Batch.Ads and Batch.Unlock methods and related classes.
- Added Batch.User.trackLocation, allowing you to natively track user position updates
- Added global notification sound override using Batch.Push.setSound(Uri)
- Un-obfuscated the exception returned by some of BatchPushPayload's methods
- Deprecated Batch.isRunningInDevMode. It is useless, as DEV API Keys always start with "DEV"
v1.7.4 - 24/03/2017
- Fix a bug where the delegate set on BatchMessaging was never called.
v1.7.3 - 16/12/2016
- Fixed a bug that could cause notifications to open the wrong deeplink if multiple notifications were present in the notification shade
v1.7.2 - 14/11/2016
- Fixed a bug where events would stop working after rotation in some cases
- Fixed a bug where Batch wouldn't work properly with translucent/floating activities
v1.7.1 - 07/11/2016
- Fixed a bug where mobile landings buttons could be misplaced
v1.7.0 - 27/10/2016
v1.6.0 - 12/10/2016
- Batch now requires Android 4.0.3 (API Level 15)
- Batch now targets Android 7 (API Level 24), and should only be used in apps that compile with that SDK version. You should also use a v24 support-v4 library with it.
- Updated notification behaviour to be more adapted to changes introduced in Nougat
setCanUseAdvancedDeviceInformation() has been introduced on the
Config object to reduce the quantity of device information Batch will use. Note that disabling this will limit several dashboard features.
BatchPushData has been deprecated in favour of
BatchPushPayload, which is easier to use and will allow you to read anything used by Batch's standard push receiver. It's also easier to instanciate from an intent/bundle, and easier to serialize.
- InstanceID support has been merged into the main SDK. If migrating from an older SDK, you'll need to add a new service in your manifest, as described in the push setup.
- The overall method count has been reduced.
v1.5.4 - 26/08/2016
- Fix a rare memory leak for the last activity
- Internal bugfixes
v1.5.3 - 21/04/2016
- Added Batch.Push.getNotificationsType()
- Threads used by Batch are now named
- Batch.User.getEditor() has been renamed: Please use Batch.User.editor(). The old method will still work, but has been deprecated
- Additional intent flags can now be set for the activity started when opening a Push using Batch.Push.setAdditionalIntentFlags(int)
- Added "BatchActivityLifecycleHelper", an implementation of the "Application.ActivityLifecycleCallbacks" interface to use with "registerActivityLifecycleCallbacks()"
v1.5.2 - 03/02/2016
- Fix JSON issues on Android 4.3 and below
v1.5.1 - 02/02/2016
- Fix a bug where clearTagCollection incorrectly cleared all attributes
v1.5 - 25/01/2016
- Custom user data (attributes, tags and events)
- Added an API to retrieve Batch's unique installation identifier
- Deprecated BatchUserProfile
- Added ability to start Batch in a service
v1.4 - 10/09/2015
Batch Ads has been discontinued
Added a method to get the last known push token
Minor push bugfixes
v1.3.2 - 01/07/2015
New Manual Push helper.
v1.3.1 - 17/06/2015
Introduced Manual Push mode.
Other Push improvements and minor bug fixes
1.3 - 02/06/2015
Introduced Native Ads.
Deprecated legacy Ads methods in order to prevent confusion between Native and Interstitial Ads. More info in the 1.2 to 1.3 migration guide
v1.2.6 - 07/05/2015
Fixed a bug that prevented a push notification from showing up in rare scenarios
v1.2.5 - 16/04/2015
Fixed bug that caused conflicts if an ad was accidentally reused a second time.
v1.2.4 - 26/03/2015
We reduced the SDK method count by 25%, decreasing the SDK size to 664kb.
v1.2.3 - 06/03/2015
Fixed error that affected use of Unlock daily capping.
v1.2.2 - 24/02/2015
Batch Ads (interstitials) released.
v1.1.1 - 16/12/2014
Added big text to push notifications.
v1.1 - 09/10/2014
Batch Push released.
v1.0 - 08/07/2014
Batch out of beta testing and 1.0 published.
v0.x - 21/02/2014
Bastion, the predecessor to Batch, is released with Unlock functionality.