- Add documentation to public methods
- Add flag to allow excluding beacons dependency
- Add managed approach for Expo to allow excluding beacons dependency
- Remove User Inbox messages from the notification center when appropriate
- Fix refresh badge calls error handling when auto badge is off
- Fix crash when sending photos using the camera notification action
- Fix camera notification action behaviour when no camera permission is granted, opening the photo library
- Remove User Inbox messages from the notification center when appropriate
- Cancel in-app message job immediately upon being suppressed
- Fix missing onMessageFinishedPresenting event when an in-app message action is executed
- Fix import headers when apps are built with static frameworks
- Migrate to Turbo Modules with support for both the old and new architectures
- Add methods to register callbacks in order to handle background location events on Android
- Device identifiers become long-lived
- Add support for customisable hosts
- Add
NotificarePush.onSubscriptionChanged
event for push token updates launch()
,unlaunch()
,enableRemoteNotifications()
anddisableRemoteNotifications()
functions now complete after all the work is done
- Drops support for the monetize module
- Drops support for Huawei Mobile Services
NotificareDevice.id
attribute no longer contains the push token. UseNotificarePush.getSubscription()
insteadNotificareDevice.transport
attribute no longer contains the transport. UseNotificarePush.getTransport()
instead- The
NotificareDevice
data model was reduced to only publicly relevant attributes onDeviceRegistered
only triggers once, when the device is created- Removed deprecated
NotificarePush.onNotificationReceived(notification)
event. UseNotificarePush.onNotificationInfoReceived(notification, deliveryMechanism)
instead
- Fix padding discrepancies in alert dialog with actions
- Changed the
subscriptionId
properties to a more robust data model - Add methods to register callbacks in order to handle background location events on Android
- Migrate to Turbo Modules with support for both the old and new architectures
- Device identifiers become long-lived
- Add
NotificarePush.onSubscriptionIdChanged
event for push token updates
- Drops support for the monetize module
- Drops support for Huawei Mobile Services
NotificareDevice.id
attribute no longer contains the push token. UseNotificarePush.getSubscriptionId()
insteadNotificareDevice.transport
attribute no longer contains the transport. UseNotificarePush.getTransport()
instead- The
NotificareDevice
data model was reduced to only publicly relevant attributes onDeviceRegistered
only triggers once, when the device is created- Removed deprecated
NotificarePush.onNotificationReceived(notification)
event. UseNotificarePush.onNotificationInfoReceived(notification, deliveryMechanism)
instead
- Fix padding discrepancies in alert dialog with actions
- Integrated Expo plugins
- Add support for the URLResolver notification type
- Fix anonymous device registration
- Add support for the URLResolver notification type
- Fix anonymous device registration
- Preload images before showing in-app messages
- Fix
NotificarePass.type
decoding
- Add support for deferred links
- Add privacy manifests
- Code sign XCFrameworks
- Add method to resolve Notificare Dynamic Links manually
- Prevent processing location updates too close to the last known location
- Fix race condition where geo triggers and region sessions were sent multiple times
- Limit the amount of location points and ranged beacons in geo sessions
- Prevent processing location updates too close to the last known location
- Fix race condition where geo triggers and region sessions were sent multiple times
- Limit the amount of location points and ranged beacons in geo sessions
- Improve polygon regions handling
- Improve notifications UI
- Fix serialization issue affecting map coordinates
- Remove explicit
jvmTarget
from modules
Important notice: Re-enabling remote notifications and location services is no longer required. You can safely remove the following piece of code as the SDK will automatically handle it for you during the launch flow.
Notificare.onReady(async (application) => {
// This check is no longer necessary.
if (await NotificarePush.hasRemoteNotificationsEnabled()) {
await NotificarePush.enableRemoteNotifications();
}
// This check is no longer necessary.
if (await NotificareGeo.hasLocationServicesEnabled()) {
await NotificareGeo.enableLocationUpdates();
}
});
- Fix map loading conditionals leading to no camera updates
- Adjusted zoom level when presenting a single map marker
- Fix Google Play Services Location minification issue
- Add manifest flag to disable the auto configuration
- Automatically enable remote notifications during launch when possible
- Automatically enable location updates during launch when possible
- Prevent the
device_registered
event from invoking before theready
event - Fix warning when notification intents are handled by the broadcast receiver
- Include proguard rule to work around the issue with Moshi in R8
- Fix crash when presenting an in-app browser when the phone has none installed
- Fix
getParcelableExtra
on API 33 in certain cases
- Prevent the
device_registered
event from invoking before theready
event - Automatically enable remote notifications during launch when possible
- Automatically enable location updates during launch when possible
- Drop support for iOS 12.0
- Fix custom action received event
- Fix race condition when synchronising monitored regions
- Fix race condition when setting the database merge policy eagerly loads the data stores
- Prevent fatal error when failing to open the databases
- Allow checking which regions are being monitored
- Allow checking which regions the device is inside of
- Allow setting the amount of regions to monitor
- Allow setting the amount of regions to monitor
- Fix race condition when processing the initial intent
- Prevent queued events without an associated device
- Prevent
logCustom
usage before Notificare becomes ready
- Prevent queued events without an associated device
- Prevent
logCustom
usage before Notificare becomes ready
- Explicit handling of Notificare Links in Deep Link notifications
- Improve supported deep links validation
- Stricter unlaunch flow
- Improve supported deep links validation
- Fix debug symbols search paths
- Stricter unlaunch flow
- Prevent multiple configurations from taking place
- Add broadcast receiver for geo events
- Start monitoring nearest regions immediately after upgrading to background location
- Correctly track device on initial application open event
- Emit the didChangeNotificationSettings event when disabling remote notifications
- Add opt-in flag to prevent file access restrictions for Core Data
- Prevent push registration race condition when enabling remote notifications
- Correctly track device on initial application open event
- Improved action categories parsing
- Prevent Glide from invoking the coroutine continuation several times
- Fix cached language when the network request fails
- Update cached device when the language changes
- Use YouTube privacy-enhanced mode
- Improved auto-config mechanism
- Improved action categories parsing
- Fix user validation request
- Fix cached language when the network request fails
- Include debug symbols in the distributed frameworks
- Fix store notification required view controller flag
- Fix main-thread warning on device registration
- Use YouTube privacy-enhanced mode
- Add user-level inbox module
- Allow a context evaluation upon un-suppressing in-app messages
- Include the delivery mechanism for notification received events
- Preserve deep link propagation
- Fix notification settings update race condition
- Prevent WebView notifications content from being dismissed while the view is presented
- Add
Identifiable
compliance to applicable data models - Optional CoreNFC framework linking to support older devices
- Refactor internal modules to keep track of their instances
- Improve pass-support availability checks
- Fix locale-sensitive time formatting on
NotificareTime
objects
- In-app messaging module
- Add option to preserve existing notification categories
- Drop support for iOS 10
- Add option to preserve existing notification categories
- Add in-app messaging module
- Ensure event names are globally unique
- Add monetise module
- Add opt-in intent when opening a beacon foreground service notification
- Fix GMS/HMS notification race condition for late configured apps
- Monetise module for Google Play
- Prevent unnecessary copies of
LiveData
from being created - Update HMS libraries, fixing Google Play compliance warnings
- Monitor and range non-triggering beacons
- Prevent internal main beacon region from triggering events
- Fix R8/ProGuard minification issues
- Add Java-friendly wrappers
- Monetise module
- Prevent internal main beacon region from triggering events
- Remove interruption level & relevance score from notification service extension
- Fix notification content when opening partial inbox items
- Use GMS/HMS
message.sentTime
when creating inbox items - Log events methods correctly throw when failures are not recoverable
- Improve session control mechanism
- Fix session length
- Fix GMS/HMS token refresh race condition for late configured apps
- Add
InAppBrowser
notification type - Aliased
WebView
action intoInAppBrowser
, aligning with the notification type - Ensure listeners are called on the main thread
- Allow non-ASCII header values
- Fix notification content when opening partial inbox items
- Fix marking partial items as read
- Improve ISO date parser
- Add safeguards and warnings for corrupted items in the inbox database
- Log events methods correctly throw when failures are not recoverable
- Improve session control mechanism
- Add
InAppBrowser
notification type - Aliased
WebView
action intoInAppBrowser
, aligning with the notification type - Ensure delegate methods are called on the main thread
- Include complete remote message information in unknown notification events
- Add
onUnknownNotificationOpened
andonUnknownNotificationActionOpened
events
- Include
Accept-Language
and customUser-Agent
headers - Allow notification push services to be subclassed
- Add notification attributes to unknown notifications
- Improve
allowedUI
to accurately reflect push capabilities - Prevent push tokens from being registered immediately after an install
- Include
Accept-Language
and customUser-Agent
headers - Improve
allowedUI
to accurately reflect push capabilities - Rename internal
AnyCodable
to prevent collisions - Expose unknown notification open events via
notificare(_:didOpenUnknownNotification:)
andnotificare(_:didOpenUnknownAction:for:responseText:)
- Launch each peer module sequentially to prevent race conditions
- Update Gradle build tools
- Use compile-time constant for the SDK version
- Remove unnecessary
BuildConfig
files - Update dependencies
- Prevent multiple push registration events
- Prevent Apple-processed builds from modifying the SDK version
Please check our migration guide before adopting the v3.x generation.