Releases: Iterable/iterable-android-sdk
3.5.13
3.5.12
Added
EmbeddedSessionManager
methods are now public (previously library-scoped)
Fixed
- Added timeout for crypto operations to prevent ANRs.
Disabling Keychain Encryption
The Iterable SDK provides an option to disable encryption for keychain storage. By default, encryption is enabled to securely store sensitive user data.
To disable keychain encryption, set the keychainEncryption
parameter to false
when initializing the SDK:
IterableConfig config = new IterableConfig.Builder()
.setKeychainEncryption(false) // Disable encryption for keychain storage
.build();
IterableApi.initialize(context, apiKey, config);
Changed
- Thanks to @MGaetan89 for modernizing the test infrastructure by replacing deprecated Robolectric APIs with AndroidX Test alternatives and removing unnecessary dependencies.
3.5.11
Fixed
- Fixed issue where text container shrinks when buttons are not present for the embedded OOTB views.
- Fixed issue where crashes are occurring due to conflicts in deep link handling
- Fixed data storage failures by adding plain text fallback when encryption fails.
Added
- Added support for providing a list of placement ids to sync only certain placement ids.
- support for pre-release automation
3.6.0-beta2
- This release includes fixes for the Anonymous user activation private beta:
- Criteria is now fetched on foregrounding the app by default. This feature can be turned off setting enableForegroundCriteriaFetch flag to false.
- anonymous user ids are only generated once when multiple track calls are made.
- Anonymous user activation is currently in private beta. If you'd like to learn more about it or discuss using it, talk to your Iterable customer success manager (who can also provide detailed documentation).
3.5.10
Added
- Added
mobileFrameworkInfo
configuration option toIterableConfig
to identify the mobile framework (Flutter, React Native, or Native) being used with the SDK. - Support for push notifications with text input. Pending intent is now mutable when buttons are of text input type.
3.5.9
3.5.8 (Deprecated)
Deprecation notice
This version of the SDK is deprecated. Do not use it.
This version of Iterable's Android SDK includes changes to help keep a user's Iterable profile in sync with their physical device's push settings for your app (by keeping the device's notificationsEnabled
flag up-to-date in Iterable).
However, it also includes a bug that can prevent the SDK from receiving silent push notifications, which in turn can prevent end users from receiving expected in-app and embedded messages.
If you've started building on this version of the SDK, please roll back to a previous version while we work on a fix.
Fixed
- Fixed issue where notifications were being disabled even when auto push registration was turned off.
3.5.7 (Deprecated)
Deprecation notice
This version of the SDK is deprecated. Do not use it.
This version of Iterable's Android SDK includes changes to help keep a user's Iterable profile in sync with their physical device's push settings for your app (by keeping the device's notificationsEnabled
flag up-to-date in Iterable).
However, it also includes a bug that can prevent the SDK from receiving silent push notifications, which in turn can prevent end users from receiving expected in-app and embedded messages.
If you've started building on this version of the SDK, please roll back to a previous version while we work on a fix.
Added
- Support for JSON-only in-app messages. JSON-only messages are now handled by the
onNewInApp
handler and consumed after retrieval. - Enhanced notification state tracking, to align with system notification permissions changes.
3.5.6
3.5.5
Added
- Added
IterableDecryptionFailureHandler
interface to handle decryption failures of PII information.
Removed
- Removed
encryptionEnforced
parameter fromIterableConfig
as data is now always encoded for security
Changed
- Migrated from EncryptedSharedPreferences to regular SharedPreferences to prevent ANRs while EncryptedSharedPreferences was created on the main thread. We are now using our own encryption library to encrypt PII information before storing it in SharedPreferences.