Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
• This update adds new methods (
removeExternalUserId) allowing you to target push notifications using your own custom user ID's instead of having to store OneSignal player ID's.
• Small update that includes a fix for an issue that would have caused rare crashes, due to invalid HTTP request bodies being serialized into JSON
• Fixes an issue with provisional notifications (no git issue) where a user would receive a provisional notification, tap 'Keep', and then tap 'Deliver Prominently', which should cause notifications to be delivered like normal: however in previous releases notifications would have no sound/alert/badge until the app was next restarted.
• Fixes some DSYMUtil warnings developers would see in regards to our framework including debugging information.
• This release fixes an iOS 12 issue where enabling "Deliver Quietly" and then opening the app would cause notifications to stop being delivered entirely.
Introduces support for new iOS 12 features. To learn more about how iOS 12 changes push notifications, please read our blog post on the subject.
Provisional/Direct To History Notifications
• Provisional notifications are a new way to message users without requesting their permission to send push notifications. Unlike traditional notifications, a provisional notification is sent directly to the Notification Center and does not alert/disturb the user directly.
• To use Provisional notifications, set
false in your initialization settings. Then, navigate to https://www.onesignal.com and in your iOS platform settings, enable Direct To History notifications. From now on, all users that open your app will be able to receive provisional notifications unless they explicitly disable notifications for your app
Manage App Notification Settings
• iOS 12 introduces support to let your app provide a deep link to manage settings from within your app.
• To enable this, please set our init setting
true. You also need to implement a
UNUserNotificationCenterDelegate method to present your custom Notification Settings UI.
• iOS 12 also introduces Notification Grouping which allows you to group related notifications together. To do this, set the
thread-id parameter in your push notifications. iOS will automatically group notifications with the same
Bug Fixes & Improvements
• Fixes an issue with Xcode 10 that caused crashes to the IBDesignables agent and made users unable to use IBDesignable views in storyboards/xibs
• Adds a new
reachable parameter to the
OSPermissionState. This new parameter indicates if the user is reachable and can receive notifications, and will be
true if they've (A) accepted notification permission or (B) are registered to receive provisional/direct-to-history notifications.
• This release fixes an issue where the SDK was not properly handling HTTP request re-attempts. This would have resulted in an issue where calling
sendTags() (for example) while a user had no network connection would, after 60 seconds, result in the
onSuccess callback being executed.
• Removes some unnecessary log statements and other minor cleanup of the SDK
• Includes a fix for a merge mistake in the previous release that reverted a few minor/rare bugs.
• This release fixes an issue (#410) where users that add buttons/functionality to a notification by directly using UNNotificationCategory instead of using our API would cause a crash
• Fixes a thread synchronization issue that would have deadlocked the main thread in very rare situations on initialization (#409)
• Fixes an issue where improperly formatted button JSON (from the create notification API) would cause the SDK to insert nil objects into an NSDictionary instance, causing an EXC_BAD_ACCESS (#409)
• Adds an additional dynamic framework/cocoapod for developers who previously encountered 'transitive dependency' errors using our SDK indirectly as a dependency of another cocoapod in Swift projects
• Fixes a bug that only effected wrapper SDK's, such Cordova and React-Native, where calling setLocationShared(false) could still result in location data being sent to OneSignal if the app had location permission in iOS (Cordova SDK issue #406
• Fixes a bug that caused devices to never register with OneSignal if APNS did not respond with a token or failure.
• Fixes an issue (#391) that would have caused rare crashes (
EXC_BAD_ACCESS) in our API client because it attempted to execute a completion block without ensuring it was non-nil, which it could be in rare circumstances.
• Fixes an issue that would occasionally cause the SDK to be unable to automatically retrieve the App Group name, which was used to enable communication between the Service Extension and the main app. The main side effect of this issue would have been inconsistent badge logic, where the SDK would not maintain a logically consistent badge count.
• Fixes other minor problems, such as a potential (but never reported) crash in
setEmail(), also fixed an issue where the method that downloads attachments such as images wasn't using a double pointer to set errors that may occur during the download (common pattern in ObjC).
• Fixes a rare concurrency issue with the SDK's HTTP client.
• This issue would have caused exceptions when GDPR consent was revoked, or in some wrapper SDK's, early in the app lifecycle before the app ID was provided.