- Fixed total incompatibility with the web platform – calling unsupported methods will now throw a readable
UnavailabilityError
. (#8853 by @sjchmiela)
- Fixed compatibility with
expo-permissions
below9.0.0
(the duplicate symbols problem). (#8753 by @sjchmiela)
- Added support for including foreign (non-
expo-notifications
-created) notifications ingetPresentedNotificationsAsync
on Android. (#8614 by @sjchmiela)
- Fixed
getExpoPushTokenAsync
rejecting whengetDevicePushTokenAsync
'sPromise
hasn't fulfilled yet (and vice versa). Probably also added support for calling these methods reliably with Fast Refresh enabled. (#8608 by @sjchmiela)
- Added native permission requester that will let developers call
Permissions.getAsync(Permissions.NOTIFICATIONS)
(oraskAsync
) when this module is installed. (#8486 by @sjchmiela)
Note that the effect of this method is the same as if you called
Notifications.getPermissionsAsync()
(orrequestPermissionsAsync
) and thenNotifications.getDevicePushTokenAsync()
—it tries to both ask the user for user-facing notifications permissions and then tries to register the device for remote notifications. We are planning to deprecate the.NOTIFICATIONS
permission soon.
-
Note that this may or may not be a breaking change for you — if you'd expect the notification to be automatically dismissed when tapped on this is a bug fix and a new feature (fixes inconsistency between platforms as on iOS this is the only supported behavior; adds the ability to customize the behavior on Android). If you'd expect the notification to only be dismissed at your will this is a breaking change and you'll need to add
autoDismiss: false
to your notification content inputs. Changed the default notification behavior on Android to be automatically dismissed when clicked. This is customizable with theautoDismiss
parameter ofNotificationContentInput
. (#8241 by @thorbenprimke)
- Added the ability to configure whether the notification should be automatically dismissed when tapped on or not (on Android) with the
autoDismiss
parameter ofNotificationContentInput
. (#8241 by @thorbenprimke) - Added
DailyTriggerInput
that allows scheduling a daily recurring notification for a specific hour and minute. It is supported on both iOS and Android. (#8199 by @thorbenprimke)
- Added a macro check for
UNLocationNotificationTrigger
to make this module compatible with Mac Catalyst (#8171 by @robertying) - Fixed notification content text being truncated without the ability to expand the notification by adding
BigTextStyle
to all Android notifications, which allows them to be expanded and their content text fully viewed (#8140 by @thorbenprimke) - Added a check for trigger input that throws an error if user misuses the
seconds
property (#8261 by @sjchmiela)
- Fixed obsolete and invalid dependency on
>= @unimodules/core@5.1.1
, bringing backwards compatibility with older versions of@unimodules/core
(#8162 by @sjchmiela)
- Fixed crash when serializing a notification containing a
null
value (#8153 by @sjchmiela) - Fixed a typo in
AndroidImportance
enum (DEEFAULT
is now deprecated in favor ofDEFAULT
) (#8161 by @trevorah)
- Fixed the ability to override the
FirebaseListenerService
without having to add a custom priority. (#8175 by @lukmccall) - Fixed
SoundResolver
causing crash if thesound
property is not defined or doesn't contain a.
(#8150 by @sjchmiela)
- Added a native setting allowing you to use a custom notification icon for Android notifications (#8035 by @sjchmiela)
- Added a native setting and a runtime option allowing you to use a custom notification color for Android notifications (#8035 by @sjchmiela)
- Fixed initial notification not being emitted to
NotificationResponse
listener on iOS (#7958 by @sjchmiela)
- Fixed custom notification sounds not being applied properly to notifications and channels (#8036 by @sjchmiela)
- Fixed iOS rejecting the Promise to schedule a notification if
sound
is not empty or a boolean (#8036 by @sjchmiela)
- Fixed interpretation of
Date
andnumber
triggers when callingscheduleNotificationAsync
on iOS (#7942 by @sjchmiela)