# Product Updates Source: https://docs.suprsend.com/changelog/overview Logs of all the feature releases, improvements, and bug fixes in SuprSend.
Repository: suprsend-py-sdk
Latest Release: v0.15.0
Changes:
Changes:
Features:
Changes:
Features:
Features:
Features:
Features:
Features:
Changes:
Features:
Features:
Features:
Features:
Features:
Features:
Features:
Features:
Features:
Changes:
Changes:
Features:
Features:
Changes:
Features:
Initial Release
Initial Release
Pre-release
Initial Release
Repository: suprsend-node-sdk
Latest Release: v1.13.1
Bugfix:
Changes:
Features:
Bugfix:
Changes:
Features:
Changes:
Features:
Fixes:
Changes:
Features:
Fixes:
Fixes:
Features:
Changes:
Features:
Features:
Features:
Features:
Features:
Changes:
Features:
Features:
Changes:
Features:
Features:
Repository: suprsend-java-sdk
Latest Release: v0.12.0
Features:
Features:
Changes:
Features:
Features:
Changes:
Changes:
Features:
Features:
Features:
Features:
Changes:
Repository: suprsend-go
Latest Release: v0.8.0
Features:
Features:
Changes:
Fixes:
Features:
Features:
Features:
Security:
Features:
Features:
Features:
Repository: suprsend-web-sdk
Latest Release: v4.0.3
Bugfix:
Changes:
Features:
Bugfix:
Changes:
Changes:
Bugfix:
Changes:
Features:
Changes:
Repository: suprsend-react-sdk
Latest Release: v0.3.2
Bugfix:
Changes:
Features:
Features:
Bugfix:
Changes:
Bugfix:
Changes:
Features:
Features:
Bugfix:
Bugfix:
Bugfix:
Bugfix:
Changes:
Repository: suprsend-android-sdk
Latest Release: 0.1.8
Repository: SuprSend-iOS-SDK
Latest Release: 1.0.7
Changes:
Changes:
Changes:
Features:
Changes:
Repository: suprsend-rn-sdk
Latest Release: v2.5.0
Changes:
Changes:
Fixes:
Fixes:
Changes:
Features:
Features:
Bugfix:
Features:
Changes:
Fixes:
Changes:
Changes:
Features:
Features:
Repository: suprsend-flutter-sdk
Latest Release: v2.5.0
Changes:
Changes:
Bugfix:
Changes:
Changes:
Changes:
Features:
Changes:
Features:
Changes:
markAllSeen()}>{unSeenCount}
; } ```{markAllRead()}}>Mark all read
{notifications.map((notification) => { return ({message.header}
{!notification.seen_on &&*
}{message.text}
{created}
Home
; } ```Loading Data
; if (feedData.apiStatus === "SUCCESS" && !feedData?.notifications?.length) { returnNo Notifications
; } if (feedData.notifications) { return (Loading More
) : ({section.name}
{section.description}
{subcategory.name}
{subcategory.description}
{channel.channel}
{channel.is_restricted ? "Allow required notifications only" : "Allow all notifications"}
{channel.channel} Preferences
Allow All Notifications, except the ones that I have turned off
Allow only important notifications related to account and security settings
What notifications to allow for channel?
No Data
)}Loading...
; return ({title}
{section.name}
{section.description}
{subcategory.name}
{subcategory.description}
{channel.channel}
{channel.is_restricted ? "Allow required notifications only" : "Allow all notifications"}
{channel.channel} Preferences
Allow All Notifications, except the ones that I have turned off
Allow only important notifications related to account and security settings
What notifications to allow for channel?
No Data
)}Loading...
; return ({title}
Loading...
{{ section.name }}
{{ section.description }}
{{ subcategory.name }}
{{ subcategory.description }}
What notifications to allow for channel?
{{ channel.channel }}
Allow required notifications only
Allow all notifications
{{ channel.channel }} Preferences
Allow All Notifications, except the ones that I have turned off
Allow only important notifications related to account and security settings
MyBell
} /> ```{count}
} /> ```Custom Mark All as Read
} /> ``` ```Custom Mark All as Read
} /> ```config.markAsRead(config.notificationData.n_id)}> My Notification card
)} /> ``` ```config.markAsRead(config.notificationData.n_id)}> My Notification card
)} /> ``` ``` interface CustomNotificationCardProps { notificationData: IRemoteNotification; markAsRead: (e?: Event) => PromiseMy Notification card
Loading...
)} /> ``` ```Loading...
)} /> ```No Notifications Yet
)} /> ``` ```javascript NotificationFeed theme={"system"}No Notifications Yet.
)} /> ```Home
; } ``` # Popover feed Source: https://docs.suprsend.com/docs/react-in-app-feed Guide to add In-App Popover feed in react-based websites using drop-in components. For react applications you can implement InApp feed using our Drop-In components (popover, full screen and side sheet notifications) or Build your own UI using headless react hooks. ### Pre-Requisite Integrate [SuprSendProvider](https://docs.suprsend.com/docs/react-1#suprsendprovider) as it is needed for creating SuprSend Client and authenticating user. ## Inbox (Popover Feed) The Inbox component comes with Bell, Badge and Popover that contains notifications and it should be child of [SuprSendProvider](https://docs.suprsend.com/docs/react-1#suprsendprovider). This component is already wrapped in [SuprSendFeedProvider](https://docs.suprsend.com/docs/headless-feed#suprsendfeedprovider) internally, so you don't have to wrap it again.{ // suprSendClient.track('testing'); // suprSendClient.user.setEmail('johndoe@gmail.com') // suprSendClient.webpush.registerPush() // suprSendClient.user.preferences.getPreferences() }} > Click Me
); } ```Hello world
; } ```{ feedClient.markAsSeen(notificationId); }} > Click Me
); } ```{notification.n_id}
}Loading Data
; if (feedData.apiStatus === "SUCCESS" && !feedData?.notifications?.length) { returnNo Notifications
; } if (feedData.notifications) { return (Loading More
) : ({{t "welcome_message" name=user.first_name}}
Note: Changes will only be pushed if `"validation_result":{"is_valid":true}` in the response. General reasons for validation failure are: * There are multiple categories with the same slug * Some subcategories have been deleted in this version, on which active workflows are configured * You've not passed all three categories in the request body - system, transactional, promotional