Skip to content

Releases: OneSignal/OneSignal-Android-SDK

5.1.14

07 Jun 22:14
50acb5a
Compare
Choose a tag to compare

🔧 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

16 May 18:31
1bda4eb
Compare
Choose a tag to compare

🐛 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

08 May 19:17
a8eb891
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Fixes IndexOutOfBounds exception from the 5.1.11 release. It was thrown from OperationRepo.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

  • 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)
  • Add HTTP header OneSignal-Install-Id that allows the OneSignal's backend know where traffic is coming from (#2072)

Release 5.1.11 (⛔️ Do not use!)

07 May 19:54
05a00a2
Compare
Choose a tag to compare

⚠️ 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

01 May 18:27
a3575c9
Compare
Choose a tag to compare

🔧 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

25 Apr 17:35
8a36a32
Compare
Choose a tag to compare

🐛 Bug Fixes

Release 5.1.9

15 Apr 21:19
bc61498
Compare
Choose a tag to compare

✨ 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

  • Never set OperationRepo.enqueue's flush to true (#2055)
  • Prevent operations added to queue while it's processing from being executed without delay (#2053)

Release 5.1.8

10 Apr 02:06
1c9bf66
Compare
Choose a tag to compare

🐛 Bug Fixes

Release 5.1.7

29 Mar 18:15
55c5443
Compare
Choose a tag to compare

🐛 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)
  • Fix for context not being set on all entry points (#2018)

🔧 Maintenance

  • Battery improvements
    • Possibly resolves issue #1880 "Egregious levels of battery drain"
    • Prevent OperationRepo from continuously pulling when empty (#2033)
    • Add backoff to OperationRepo when retrying network calls (#2017)
    • Limit refresh User and GET IAMs to foreground (#2036)
  • 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

09 Mar 01:37
74c0d20
Compare
Choose a tag to compare

✨ 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.

🐛 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
  • Fix rare null crash with timeFocusedAtMs #2025