Android SDK Release Notes
We are constantly working to improve our SDK. Here you’ll find the change log for the Android SDK and related details.
- Android SDK 2.11.0 Release
- Android SDK 2.10.2 Release
- Android SDK 2.10.1 Release
- Android SDK 2.10.0 Release
- Android SDK 2.9.6 Release
- Android SDK 2.9.5 Release
- Android SDK 2.9.4 Release
- Android SDK 2.9.3 Release
- Android SDK 2.9.2 Release
- Android SDK 2.9.1 Release
- Android SDK 2.9.0 Release
- Android SDK 2.8.9 Release
- Android SDK 2.8.8 Release
- Android SDK 2.8.7 Release
- Android SDK 2.8.6 Release
- Android SDK 2.8.5 Release
- Android SDK 2.8.4 Release
- Android SDK 2.8.3 Release
- Android SDK 2.8.2 Release
- Android SDK 2.8.1 Release
- Android SDK 2.8.0 Release
- Android SDK 2.7.4 Release
- Android SDK 2.7.3 Release
- Android SDK 2.7.2 Release
- Android SDK 2.6.6 Release
- Android SDK 2.6.5 Release
- Android SDK 2.6.4 Release
- Android SDK 2.6.3 Release
- Android SDK 2.6.2 Release
- Android SDK 2.6.1 Release
- Android SDK 2.6.0 Release
- Android SDK 2.5.1 Release
- Android SDK 2.5.0 Release
- Android SDK 3.0.0-beta01 Release
- Android SDK 3.0.0-alpha02 Release
- Android SDK 3.0.0-alpha01 Release
- Android SDK 2.0.20 Release
- Android SDK 2.0.19 Release
- Android SDK 2.0.18 Release
- Android SDK 2.0.17 Release
- Android SDK 2.0.16 Release
- Android SDK 2.0.15 Release
- Android SDK 2.0.14 Release
- Android SDK 2.0.13 Release
- Android SDK 2.0.12 Release
- Android SDK 2.0.11 Release
- Android SDK 2.0.10 Release
- Android SDK 2.0.9 Release
- Android SDK 2.0.8 Release
- Android SDK 2.0.7 Release
- Android SDK 2.0.6 Release
- Android SDK 2.0.5 Release
- Android SDK 2.0.4 Release
- Android SDK 2.0.3 Release
- Android SDK 2.0.2 Release
- Android SDK 2.0.1 Release
- Android SDK 1.7.2 Release
- Android SDK 1.7.1 Release
- Android SDK 1.7.0 Release
- Android SDK 1.6.9 Release
- Android SDK 1.6.8 Release
- Android SDK 1.6.7 Release
Android SDK 2.11.0 Release
Android SDK 2.11.0 Release
🔄 Changed
- Rebuilt the SDK internals on Kotlin coroutines. The documented public API and stored data format remain unchanged.
- Calls made before
Reteno.initWithConfig(...)are now held and executed in call order after initialization. - Consolidated synchronization into one ordered pipeline. Retryable network, 5xx, and 429 errors pause the pipeline until the next cycle without stalling, duplicating, or losing data.
- User attributes now reach the server correctly after rejected updates, user switches, and offline changes.
- Improved In-App message display, offline support, click tracking, swipe dismissal, and WebView security.
- Local database timestamps are handled as UTC, unreadable rows are skipped, and spurious upgrade errors are no longer reported.
- SDK logs no longer expose access keys, URLs, request bodies, or personal data. Stored log events are uploaded again.
- Test coverage now approaches 100%, measured with Kotlinx Kover.
✔️ Fixed
RetenoNotifications.requestNotificationPermission()no longer hangs and returnsfalsewhen the permission dialog cannot complete safely.- Fixed initialization hangs, validation crashes on the main thread, slide-up messages removed during a swipe, and R8-stripped recommendation models.
⚠️ Removed
- Removed implementation classes that had been public only for technical reasons, including
ServiceLocator,OperationQueue, internal controllers, repositories, workers, and utilities. Applications using these undocumented internals must migrate to the documented public API.
Android SDK 2.10.2 Release
Android SDK 2.10.2 Release
🚀 Added
- In-App message parameter substitution.
✔️ Fixed
- Fixed the
SessionStartedtrigger for In-App messages.
Android SDK 2.10.1 Release
Android SDK 2.10.1 Release
🚀 Added
- Click status report for push notification buttons
Android SDK 2.10.0 Release
Android SDK 2.10.0 Release
🚀 Added
- Grouping rule for notifications
Android SDK 2.9.6 Release
Android SDK 2.9.6 Release
🚀 Added
- New
DOES_NOT_EQUALIn-App rule support
Android SDK 2.9.5 Release
Android SDK 2.9.5 Release
🚀 Added
- MarketId support
✔️ Fixed
- NetworkOnMainThreadException while updating personal user attributes
Android SDK 2.9.4 Release
Android SDK 2.9.4 Release
✔️ Fixed
- In-App duplication
Android SDK 2.9.3 Release
Android SDK 2.9.3 Release
🚀 Added
-
Ability to change session duration
-
Ability to enable/disable
SessionStart,SessionEndevents separately -
ApplicationForgrounded,ApplicationBackgroundedevents are disabled by default
Android SDK 2.9.2 Release
Android SDK 2.9.2 Release
🔆 Improved
- Improved In-App appearance speed
- Fix for unnecessary disk load caused by SDK
Android SDK 2.9.1 Release
Android SDK 2.9.1 Release
🚀 Added
- Support for BigText notifications
Android SDK 2.9.0 Release
Android SDK 2.9.0 Release
🔆 Improved
- New listener approach to push notifications for clicks, swipe, receive, receive custom and In-App notifications
- New permission request function
- Documentation update for SDK initialization
- Documentation update for SDK push notifications
- Sample application update
Android SDK 2.8.9 Release
Android SDK 2.8.9 Release
✔️ Fixed
- In-App display rule on session reset
- User attribute (default and multi account) update data integrity
🔆 Improved
- User attribute update processed in sequential order
- Decrease startup request count
- Removed repetitive segment checks on sequential user attribute update
Android SDK 2.8.8 Release
Android SDK 2.8.8 Release
✔️ Fixed
- Migration crash on startup
- Operation queue
ArrayDequerace condition crash
Android SDK 2.8.7 Release
Android SDK 2.8.7 Release
✔️ Fixed
- In-App on event multithread crash
RetenoActivityHelperImplmemory leak
Android SDK 2.8.6 Release
Android SDK 2.8.6 Release
🔆 Improved
- Bumped Android SDK to 2.8.6
✔️ Fixed
- Background init process
Android SDK 2.8.5 Release
Android SDK 2.8.5 Release
✔️ Fixed
- Push statuses during delayed initialization
- Data sync issue during delayed initialization
- Exception during backwards compatibility driver init
Android SDK 2.8.4 Release
Android SDK 2.8.4 Release
✔️ Fixed
- background push app launch for legacy devices
Android SDK 2.8.3 Release
Android SDK 2.8.3 Release
🚀 Added
- Reteno initializer is an open class and can be extended
✔️ Fixed
- Background notification click for delayed initialization
Android SDK 2.8.2 Release
Android SDK 2.8.2 Release
✔️ Fixed
- Push notification delivery for apps with delayed initialization
- Interactions delivery for apps with delayed initialization
Android SDK 2.8.1 Release
Android SDK 2.8.1 Release
🚀 Added
- Ability to receive plain JSON for recommendations
Android SDK 2.8.0 Release
Android SDK 2.8.0 Release
🚀 Added
- Initialization migrated from content resolver to
androidxinitializer - Multi-account support
- In-App can be triggered by e-com event
✔️ Fixed
- Database downgrade crash
- Long startup
Android SDK 2.7.4 Release
Android SDK 2.7.4 Release
🚀 Added
- Push status utility method
Android SDK 2.7.3 Release
Android SDK 2.7.3 Release
🚀 Added
- Cordova helper methods
Android SDK 2.7.2 Release
Android SDK 2.7.2 Release
🔆 Improved
- New way to enable debug mode
- Removed requirement to set
POST_NOTIFICATIONpermissions - New way to request push runtime permissions
- Docs updated
Android SDK 2.6.6 Release
Android SDK 2.6.6 Release
🔆 Improved
- In-Apps updated only after device creation
Android SDK 2.6.5 Release
Android SDK 2.6.5 Release
🔆 Improved
- Moved heavy operation to background
PushNotificationSubsribed/Unsubscribedemitted only on state change
Android SDK 2.6.4 Release
Android SDK 2.6.4 Release
✔️ Fixed
WorkManagerinitialization- Logger
stackoverflowerror - Custom event parameter now can't have nullable value
Android SDK 2.6.3 Release
Android SDK 2.6.3 Release
✔️ Fixed
- cartUpdated push bug
🔆 Improved
- InApp optimization
Android SDK 2.6.2 Release
Android SDK 2.6.2 Release
✔️ Fixed
- Fix for app unnecessary wake ups
Android SDK 2.6.1 Release
Android SDK 2.6.1 Release
✔️ Fixed
- Fix in app schedule rule, when end time is less then start time
Android SDK 2.6.0 Release
Android SDK 2.6.0 Release
🚀 Added
- Default notification channel manipulation API
- Milliseconds support for event timestamps
Android SDK 2.5.1 Release
Android SDK 2.5.1 Release
✔️ Fixed
- Fix for unexpected
PushNotificationSubscribedevent
Android SDK 2.5.0 Release
Android SDK 2.5.0 Release
🚀 Added
- Backward compatibility for initialization process
- New In-App types: Slideup, Bottom bar, Popup
- In-App from push notification does not open new activity if app is in resumed state.
- Base HTML for In-Apps loads only when version change detected
- Landscape orientation support for In-Apps
- Startup speed optimization
Android SDK 3.0.0-beta01 Release
Android SDK 3.0.0-beta01 Release
🚀 Added
- New In-App types: SlideUp, Bottom bar, Pop Up
- InApp from push notification does not open new activity if app is in resumed state.
- Base HTML for InApps loads only when version change detected
- Landscape orientation support for InApps
- Startup speed optimization
Android SDK 3.0.0-alpha02 Release
Android SDK 3.0.0-alpha02 Release
🔆 Improved
- Java/Kotlin interoperability
Android SDK 3.0.0-alpha01 Release
Android SDK 3.0.0-alpha01 Release
🔆 Improved
- New initialization approach
Android SDK 2.0.20 Release
Android SDK 2.0.20 Release
✔️ Fixed
- Shared prefs thread locking
- Device email overwrite
Android SDK 2.0.19 Release
Android SDK 2.0.19 Release
✔️ Fixed
- Activity context usage inside In-App
Android SDK 2.0.18 Release
Android SDK 2.0.18 Release
🔆 Improved
- Startup process optimization
Android SDK 2.0.17 Release
Android SDK 2.0.17 Release
🔆 Improved
- In-App stability improvement
✔️ Fixed
- In-App error event delivery
🚀 Added
- New status field for App Inbox Message
Android SDK 2.0.16 Release
Android SDK 2.0.16 Release
🔆 Improved
- Sample app migrated to Kotlin
- New optional parameters for App Inbox
InApp error event delivery
Android SDK 2.0.15 Release
Android SDK 2.0.15 Release
✔️ Fixed
- Fixed event loss when multiple events of the same type are sent
- Fixed memory leak for InAppView
🔆 Improved
- Jetifier is no longer required
- Device can be registered without acquiring firebase push token
Android SDK 2.0.14 Release
Android SDK 2.0.14 Release
✔️ Fixed
- Fix data loss when calling
setUserAttributesorsetAnonymousUserAttributesmultiple times in a short time span
Android SDK 2.0.13 Release
Android SDK 2.0.13 Release
🔆 Improved
✔️ User update request is sent only after successful device update
Android SDK 2.0.12 Release
Android SDK 2.0.12 Release
🚀 Added
✔️ Email + Phone in v1/device API method
Android SDK 2.0.11 Release
Android SDK 2.0.11 Release
🔆 Improved
✔️ Replaced android.arch.lifecycle package with androidx alternative
Android SDK 2.0.10 Release
Android SDK 2.0.10 Release
🔆 Improved
✔️ Custom data support for App Inbox ✔️ Feature to temporarily disable InApps from push notification
Android SDK 2.0.9 Release
Android SDK 2.0.9 Release
✔️ Fixed
- Fixed logging memory consumption in release mode
- Fixed InApp display, when no content is available
🚀 Added
- Added InApp content request retry on fail
- Send PushNotificationsPermissionAsked when asking for push permission
- Push subscription status emitted every time on app launch
Android SDK 2.0.8 Release
Android SDK 2.0.8 Release
✔️ Fixed
- Fixed inApp transparent background
Android SDK 2.0.7 Release
Android SDK 2.0.7 Release
✔️ Fixed
- Fixed AppLifecycle event parameters
🔆 Improved
- Refetch user segment after user information has been updated
Android SDK 2.0.6 Release
Android SDK 2.0.6 Release
✔️ Fixed
- Fixed delayed initialization accessKey bug
Android SDK 2.0.5 Release
Android SDK 2.0.5 Release
🚀 Added
- New lifecycle events feature
- New way to initialize SDK (mainly for usage in the Unity platform)
✔️ Fixed
- Fix for recommendation filters
🔆 Improved
- HTML for In Apps is now loading on SDK init
Android SDK 2.0.4 Release
Android SDK 2.0.4 Release
🚀 Added
- New feature to set custom deviceId
✔️ Fixed
- Fixed ANR on database initialization
- Fixed In App behavior not working when app goes background
- Fixed In App bug, when In App was displayed every time instead of once per session
Android SDK 2.0.3 Release
Android SDK 2.0.3 Release
🚀 Added
- Introduced InApp pause behavior, which allows to control InApp display logic after unpausing them
- New “SessionStarted” event which is emitted when the new session is initialized
✔️ Fixed
- Fixed exception that occurred when multiple events were inserted into the database
- Fixed crash in logger on Reteno initialization
🔆 Improved
- All requests now include platform header “Android”
Android SDK 2.0.2 Release
Android SDK 2.0.2 Release
🚀 Added
- Added functionality of showing In-App messages while app is running depending on display rules set up in admin panel
🔆 Improved
- Removed stretching for square images in push notifications
- Disabled tracking ScreenView events by default
- Only last CartUpdated event will be sent now instead of batch of outdated events
Android SDK 2.0.1 Release
Android SDK 2.0.1 Release
🚀 Added
- Added functionality of showing In-App messages while app is running depending on display rules set up in admin panel
✔️ Fixed
- Fixed obfuscation errors
Android SDK 1.7.2 Release
Android SDK 1.7.2 Release
🚀 Added
- Added 'isRetenoMessage' function to RetenoFirebaseMessagingService class to distinguish whether push notification was sent from Reteno admin panel or not in more convenient way
✔️ Fixed
- Fixed issue of sending two same device requests on first app launch
🔆 Improved
- Device request will be fired once on each launch of the application
Android SDK 1.7.1 Release
Android SDK 1.7.1 Release
🚀 Added
- Added function for force updating push permission status on Android 13 and above
- Added custom data receiver for In-App messages
✔️ Fixed
- Fixed bug when device data was not sent to backend after connecting to internet
Android SDK 1.7.0 Release
Android SDK 1.7.0 Release
🔆 Improved
- Now developers can create custom BroadcastReceiver to listen to notification deleted events
✔️ Fixed
- Optimized user data and device data updating to get rid of duplicate API requests
Android SDK 1.6.9 Release
Android SDK 1.6.9 Release
🚀 Added
- Added image preview to collapsed push notification
🔆 Improved
- Sentry was removed from Reteno SDK
✔️ Fixed
- Fixed R8 Full Mode obfuscation issues
- Fixed app crash caused by WorkManager initialization
- Fixed some push delivery issues
Android SDK 1.6.8 Release
Android SDK 1.6.8 Release
✔️ Fixed
- Fixed issue with not sending push token
Android SDK 1.6.7 Release
Android SDK 1.6.7 Release
🚀 Added
- Added caching of the same user request
✔️ Fixed
- Fixed delay in sending events