We have added a new Analytics Setup guide to our product documentation detailing how to track Confirmed Deliveries and set up Custom Outcomes with support from your development team.
We recommend updating to the versions listed below or higher if available.
iOS SDK 5.1.3
⚠️ Behavior Changes
- When you call the
jsonRepresentation
method ofOSPushSubscriptionState
, if a property is null, the value will now be""
instead of the string literal"nil"
in #1373
🐛 Bug Fixes & Misc Improvements
- Rename internal method that was called
setSharedInstance
to workaround false App Store flagging in #1375 - Improve Swift concurrency safety to address crash reports in production #1376
- For our server: Add
OneSignal-Subscription-Id
to Create User request which improves last_active data in #1372
Android (Google) SDK 5.1.6
🐛 Bug Fixes
- Make ServiceBuilder.getService thread safe (#2012)
- 4.x.x migration: Missing onesignalId during initWithContext (#2009)
🔧 Maintenance
- [Internal only] Upgraded
compileSdkVersion
to34
(#1994)- Apps can still use Android compile SDK 33, target SDK version unaffected
- [Internal only] Added nested
JSONObject
support toJSONObject.toMap()
(#2004) - [Internal only] Upgrade tests to JUnit5 and Kotest to 5.8.0 (#2006)
Android (Huawei) SDK 4.8.8
✨ Enhancements
- Add setting to prefer HMS over FCM #1984
- Add under your tag if you like to use this setting.
- See OneSignal's Prefer HMS over FCM documentation page for more details.
🐛 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
Unity SDK 5.1.1
- Changed
- Updated included Android SDK to 5.1.6
- Updated included iOS SDK to 5.1.3
React Native/Expo SDK 5.1.0
🎉 New Methods 🎉
- Add getter for
onesignalId
andexternalId
and a UserState Observer to be notified of changes in [#1627]- See the User Namespace API Reference in the Migration Guide for usage
- Add asynchronous getter methods for Notifications
permission
and Push Subscriptiontoken
,id
,optedIn
in [#1649]- 🛑 Deprecated methods 🛑
Notifications.hasPermission
,User.pushSubscription.id
,User.pushSubscription.token
, andUser.pushSubscription.optedIn
are now deprecated but non-breaking.
- 🛑 Deprecated methods 🛑
- See the Push Subscription Namespace API Reference and Notifications Namespace API Reference in the Migration Guide for usage of new methods
getPermissionAsync
,getIdAsync
,getTokenAsync
, andgetOptedInAsync
.
⚠️ Minor Breaking Change ⚠️
- API update for PushSubscriptionState: the Push Subscription observer will now be passed nullable properties. Please account for the possibility of the push subscription token and id being null.
Native Changes
- Bump Android Native Version to 5.1.6
- Bump iOS Native Version to 5.1.3
Flutter SDK 5.1.2
🔧 Native SDK Dependency Updates Only
- Update Android SDK from 5.1.2 to 5.1.6
- Update iOS SDK from 5.1.0 to 5.1.3
- Includes fix to improve Swift concurrency safety to address crash reports in production: link
Cordova/Ionic SDK 5.1.0
🎉 New Methods 🎉
- Add getter for
onesignalId
andexternalId
and a UserState Observer to be notified of changes in [#959]- See the User Namespace API Reference in the Migration Guide for usage
- Add asynchronous getter methods for Notifications
permission
and Push Subscriptiontoken
,id
,optedIn
in [#977]- ⚠️ Previous methods
Notifications.hasPermission
,User.pushSubscription.id
,User.pushSubscription.token
, andUser.pushSubscription.optedIn
are now deprecated but non-breaking. ⚠️ - See the Push Subscription Namespace API Reference and Notifications Namespace API Reference in the Migration Guide for usage of new methods
getPermissionAsync
,getIdAsync
,getTokenAsync
, andgetOptedInAsync
.
- ⚠️ Previous methods
Native Changes
- Bump Android Native Version to 5.1.6
- Bump iOS Native Version to 5.1.3
.NET MAUI SDK 5.1.1
This release includes new native SDK versions that resolve multiple crashes and issues.
Native SDK Updates
- Bump iOS Native Version to 5.1.3
- Bump Android Native Version to 5.1.6
Growth plans now have access to our powerful sequence automation tool. The Growth plan includes 3 Journeys. See here for more pricing information.
Create a Journey to:
- Onboard new users
- Promote sales and events
- Re-engage lapsed users
- And more!
Prevent emails going to Spam by Auto Warming your sending domain. Learn more at Email Auto Warm Up
Send emails to your audience at a specific time in their own timezone with the new "Custom time per user timezone" option, located in the Email Delivery settings of the editor.
Learn more about Timezone Scheduling for Email
We've added support for Segments with time-based rules (e.g., first session, last session, etc.) and also simplified targeting inactive users. Now you can target your inactive users by including a segment based on last session behavior.
Inbox Service Providers (ISP) like Gmail, Outlook, iOS Mail, and Yahoo! Mail, AOL, and Verison Mail require senders to provide a One Click Unsubscribe option. The unsubscribe button is rendered at the discretion of the ISP based on sending criteria, which may include a daily sending volume greater than 5,000 emails.
Introducing Labels to group and organize dashboard content. Learn more at Labels
Messages now support Dynamic Content, a new way to send personalized multi-language messages.
Learn more about Dynamic Content or Multi-Language Messaging
CSV Importer for email now enables updates to user properties language
, country
, and timezone_id
.
Learn more at Import User Tags