Releases: OneSignal/OneSignal-Android-SDK
Releases · OneSignal/OneSignal-Android-SDK
5.1.14
🔧 Maintenance
- Add the ability to immediately discard a notification by calling
preventDefault(discard: true)
(#2094) - Bump minimum FCM version to 21.0.0. (#2102)
- Immediately process pending operations when privacy consent goes from false to true. (#2109)
🐛 Bug Fixes
- Fix a bug causing
OneSignal.getNotifications().requestPermission
with the Java Continuation not firing when permission was already granted. (#2093) - Fix Operation Model Store adding duplicate operations when the same ones that were previously added to the store and persisted, are re-read from cache. (#2099)
- Fix a bug causing clicking an unexpanded group notification results in only registering the click result for the final notification in the group. (#2111)
5.1.13
🐛 Bug Fixes
- [Fix] grouping skipping opRepoPostCreateDelay, causing operations being applied out of order when multiple login operations are pending. (fixes issue since 5.1.10) (#2087)
- [Fix]: Cancelling permission request dialog does not fire continuation (#2085)
- [Fix] RecoverFromDroppedLoginBug not running in very rare cases (#2084)
5.1.12
🐛 Bug Fixes
- Fixes
IndexOutOfBounds
exception from the 5.1.11 release. It was thrown fromOperationRepo.loadSavedOperations
if app was opened offline, some operations done, and then the app is opened again. (#2081) - Addressed compatibility with AGP (Android Gradle Plugin) 7 and older.
- Reverted back to using JDK11 for release builds, the 5.1.11 release was built with JDK21 which caused this.
🐛 Bug Fixes and 🔧 Maintenance from 5.1.11 included in this release
Release 5.1.11 (⛔️ Do not use!)
⚠️ Do NOT use this version ⚠️
Contains a runtime bug and a build incompatibility:
- Unintentionally only build compatible with AGP 8 (Android Gradle Plugin) and newer.
- App may crash with
IndexOutOfBoundsException
on app startup if the device was offline in some cases.
Release Notes:
🔧 Maintenance
- Add HTTP header OneSignal-Install-Id that allows the OneSignal's backend know where traffic is coming from (#2072)
🐛 Bug Fixes
- Fix the ANR issue caused by prolonged loading of OperationRepo and potentially by extended holding of the model lock during disk I/O read operations. (#2068)
Release 5.1.10
🔧 Maintenance
Network call optimizations
- Handle HTTP header
Retry-After
from responses from OneSignal (#2064) - Avoid unnecessary user fetchs; on first app open and first login (#2061)
- Further improve batching by restarting OperationRepo's delay on every enqueue call (#2060)
- Same "let the dust settle" strategy used to combine changes into fewer network calls as 4.x.x
🐛 Bug Fixes
- Handle incorrect 404 responses; add a delay after creates and retries on 404 of new ids (#2059)
📖 Documentation
- Update Readme and Migration_Guide with migration advisory (#2054)
Release 4.8.9
🐛 Bug Fixes
- Rare Android 12 only crash - OSTaskController on LinkedBlockingQueue.poll()
- 5.x.x versions were never affected by this issue.
- Corrected DeadSystemException handling
- Note, DeadSystemException is not a root cause crash. These are a red herring so we are omitting them from crash reports.
- 4.8.8 introduced handling, but was not effective until this version
Release 5.1.9
✨ Enhancements
- AndroidManifest option to override In-App Messages gray overlay and dropshadow (#2051)
<meta-data android:name="com.onesignal.inAppMessageHideGrayOverlay" android:value="true"/>
<meta-data android:name="com.onesignal.inAppMessageHideDropShadow" android:value="true"/>
🐛 Bug Fixes
- Fix for WorkManager not initialized crash (#2052)
- Fix don't re-create user on failed remove alias (#2049)
🔧 Maintenance
Network call optimizations
Release 5.1.8
🐛 Bug Fixes
- external_id skipped and updates stop if something updates the User (such as addTag) shortly before login is called (#2046)
- Fixes [Bug]: Using OneSignal.login() does not set externalId in Subscription Records #2043
- Possibly fixes [Bug]: some of the user device is not in the subscription list #2041
- Possibly fixes [Bug]: In v5, the Subscription Status does not change to 'Subscribed'
- Bug existed since 5.0.0 but triggered more often in 5.1.7, due to batching improvements in PR #2033
Release 5.1.7
🐛 Bug Fixes
- Fix network call batching not waiting the full 5 seconds in most cases to reduce the total number of REST API calls to OneSignal. (#2033)
optIn()
not prompting if called before push subscription is created on backend (#2037)- Fix crash with EventProducer's fire events (#2034)
- Fixes issue #2007
- Fix for context not being set on all entry points (#2018)
- Fixes issue #1282
🔧 Maintenance
- Battery improvements
- Duplicate GET /user call on cold start when calling login with the same external_id (#2015)
- [Docs] Update supported android versions in readme to include Android 14 (#2024)
- This was already the case, just the docs didn't reflect this.
- [Internal Only] Switch to kotest-extensions-android (#2023)
Release 4.8.8
✨ Enhancements
- Add setting to prefer HMS over FCM #1984
- Add
<meta-data android:name="com.onesignal.preferHMS" android:value="true"/>
under your<application>
tag if you like to use this setting. - See OneSignal's Prefer HMS over FCM documentation page for more details.
- Only applies if you app has both FCM and HMS libraries AND the device has both "HMS Core" AND "Google Play services" installed.
- Only 2020 and older Global variants of Huawei devices would have both installed by default.
- Add
🐛 Bug Fixes
- Attempt retrying OutOfMemoryError errors when starting threads. #2027
- Make sure your app doesn't have any memory leaks and is handling onTrimMemory so the SDK can move on once memory is free
- Fix rare null crash with
taskQueueWaitingForInit.poll()
#2026- Addresses issue #1761
- Fix rare null crash with
timeFocusedAtMs
#2025