Changelog

Prev Next

Version 7.1.3

Released: 23 Sep 2026

Bug Fixes

  • Fixed an issue where setAlias() could send unnecessary requests when resendCustomAttributes was enabled but no custom attributes were cached.

  • Fixed an issue where a successful alias update could leave the previous alias in the cache. A successful setAlias() call now stores the requested alias and the returned DMC user ID directly, instead of reading the device record back from the backend, where a short read delay could still return the earlier value.

  • Fixed the persistence of the alias and the DMC user ID during registration. Identity information is now retained even if a subsequent device lookup fails.

  • Fixed serialization errors that could affect custom attribute requests, tag updates, and In-App tracking requests.

  • Fixed an issue where geofence region status events sent the device time zone in the timeStamp field instead of the event timestamp.

Improvements

  • Failed requests are now retried automatically when the response metadata marks the request as retryable. This also applies to error metadata returned in an HTTP 200 response. Retries are limited to three attempts, with delays of 1, 2, and 4 seconds.

  • Device requests now include the cached alias when one is available. This improves consistency between locally stored identity information and backend device records.

  • SDK logging can now be configured through AppoxeeOptions.logType. The default value LogLevel.DEBUG enables SDK logging only in debuggable applications. The value LogLevel.RELEASE also enables it in release builds. See Initialize the SDK.

  • Asynchronous request execution no longer occupies threads that are intended for CPU-bound tasks with blocking network operations.

  • Request logging now records the point at which a network request starts.

  • The SDK refreshes cached device information during initialization when the last successful refresh is at least one hour old. Existing cached data is preserved if the refresh fails.

  • Removed duplicate device lookups after push token updates. This reduces the number of network requests during registration.

Notes

  • This release improves SDK reliability, identity synchronization, network efficiency, and geofence event tracking.

  • No developer action is required.


Version 7.1.2

Released: 23 Jul 2026

Bug Fixes

  • Fixed sizing and rendering issues that could prevent web-based In-App messages from being displayed correctly.

Improvements

  • Improved integration with Mapp Intelligence by broadcasting the registered DMC user ID to installed Mapp Intelligence receivers after successful registration validation.

Notes

  • This release improves the reliability of web-based In-App message rendering and enhances interoperability between the Mapp Engage and Mapp Intelligence SDKs.


Version 7.1.1

Released: 8 Jul 2026

Bug Fixes

  • Fixed an R8/ProGuard packaging issue by adding explicit repackaging for obfuscated internal classes.

  • Preserved public API entry points to prevent root-package class collisions with other independently obfuscated AARs.

Notes

  • Improves compatibility with applications that bundle multiple obfuscated Android libraries.


Version 7.1.0

Released: 12 Jun 2026

Bug Fixes

  • Fixed triggerInApp returning no in-app messages on the first run after device registration. On first launch, the SDK now retries fetching in-app messages up to three times, with a two-second delay between attempts, and stops as soon as a non-empty response is received. This replaces the previous single fetch after a fixed six-second wait, which frequently returned no messages because the backend had not finished processing the new registration.

Improvements

  • Updated third-party dependencies to current stable versions as part of regular maintenance, incorporating upstream fixes and security patches: Kotlin 2.3.20, Firebase BOM 34.14.1, AndroidX Lifecycle 2.10.0, DataStore 1.2.1, and Media3 1.10.1.

Breaking Changes

  • Inbox public API types moved. InboxMessage, MessageStatus, and InboxMessagesResponse have moved from com.appoxee.internal.model.response.inbox to com.appoxee.shared. Update the corresponding imports in your integration.

  • Target SDK 37 is now required. Update your app's targetSdk to 37 to build against this release.


Version 7.0.2

Released: 14 Apr 2026

Bug Fixes

  • Fixed an issue in enablePush() where empty or blank Firebase tokens caused opt-in and opt-out updates to fail. The SDK now trims the provided token and falls back to fetching a valid token when needed.

  • Fixed persistence of notificationMode during SDK initialization. Apps can now update the notification mode after the first launch.

  • Restored missing NotificationMode.SILENT_ONLY and corrected its behavior to suppress notification UI while still processing push events.

Improvements

  • Switched foreground detection to lifecycle-based tracking (onStart / onStop) for more predictable notification display behavior.

  • Updated dependencies to align with current stable Android ecosystem versions: Kotlin 2.3.20, Firebase BOM 34.11.0, AndroidX Lifecycle 2.10.0, DataStore 1.2.1, Media3 1.10.0.


Version 7.0.1

Released: 25 Mar 2026

Bug Fixes

  • Fixed an issue during migration from SDK v6 to v7 where registration data (alias, push opt-in state, tags, and custom attributes) could be lost if the device was offline or the server was unreachable. Migration data is now preserved and retried on the next launch.

  • Fixed a potential application freeze caused by concurrent updates to tags or custom attributes in the storage layer.

  • Fixed incorrect URL encoding for query parameters, ensuring proper handling of special characters in API requests.

  • Improved push notification reliability by addressing edge cases related to missed or duplicate push events.

  • Corrected ProGuard / consumer rules to prevent SDK classes from being stripped in release builds.

Improvements

  • Improved thread safety during SDK initialization to prevent race conditions when initialized from multiple threads.

  • Reduced application startup overhead through lazy initialization of internal components.

Build Requirements

  • Gradle: 9.3.0 or higher

  • Android Gradle Plugin: 9.1.0 or higher

Notes

  • This release focuses on migration reliability, stability, and push delivery consistency.

  • Upgrade is strongly recommended, especially for customers migrating from SDK v6.


Version 7.0.0

Released: 25 Feb 2026


Initial Release

  • First official public release of the Mapp Engage Android SDK v7.

  • Establishes the new SDK generation under the artifact:

    com.mapp.sdk:engage-android

  • Introduces the asynchronous API model based on Call<T>.

  • Defines the technical baseline for v7:

    • Minimum SDK: 23

    • Target SDK: 36

    • Java 17

    • Kotlin 2.2.21+


Breaking Changes

  • Android SDK v7 is not backward compatible with SDK v6.

  • Public API structure differs from previous versions.

  • Migration from v6 requires code adjustments. Refer to the Migration Guide.