What's new in Novu 0.17.0?

Prosper Otemuyiwa - Aug 14 '23 - - Dev Community

TL;DR: All you need to know about the latest Novu 0.17.0 release. Multi-provider Integration support, Multi-tenancy support, cookbook, notification center updates and more!

0.17.0 Release Updates

We're excited to unveil the freshest developments in our latest release. Let's plunge right in and uncover what awaits you!

Image description

Multi-provider Integration Support (BETA)

Now you can connect multiple providers per channel and make them active. This feature is currently in beta.

We also redesigned the Integrations store page to make it more intuitive in selecting & enabling channel providers.

Integration Store

With this feature, you can now do the following:

Specify the provider you want when triggering notifications. Add the integrationIdentifier to the overrides object for the specific channel.

await novu.trigger("name", {
to: {...},
payload: {...},
overrides: { 
              email: { integrationIdentifier: 'the identifier'} ,
                sms: { integrationIdentifier: 'the identifier'} 
}
Enter fullscreen mode Exit fullscreen mode

If you're self-hosting Novu, you'll need to pass the env flag, IS_MULTI_PROVIDER_CONFIGURATION_ENABLED to all services.

Note: In the nearest future, you will be allowed to select a provider based on a tenant and other execution conditions.

Multi-tenancy Support (BETA)

We've been hard at work building processes to support multi-tenancy. Now you can create and manage tenants via the REST API. This feature is currently in beta so you won't be able to access it now until the next major release.

In the next version, we will support managing tenants via the UI, and using tenant data inside the workflows and channel providers.

Update on Workers

Workers will now wait for health check to pass before accepting jobs to process, and will perform a graceful shutdown on a shutdown signal received by the service manager.

Delete Provider Credentials API

We have added support to delete a provider credentials via an API endpoint.

PR here for reference

Remove All Messages In Notification Center Widget & Headless Service

The Notification Center widget allows users to see all notification messages. Before now, you can only delete messages one after the other.

There are a few notable updates:

  • We have added a useRemoveAllNotification hook in the React Notification Center widget. You can remove all notifications from a feed or entirely!
  • We have also added a removeAllNotifications method to the headless service.

Additional Handlebar helpers

We have added a unique, groupBy and sortBy handlebar helpers.

  • unique: To remove duplicates in array iteration
{{#each (unique names "name")}}
--<b>{{this}}</b>--- 
{{/each}}
Enter fullscreen mode Exit fullscreen mode
  • groupBy: To group array values by property
{{#each (groupBy names "name")}}
 <h1>{{key}}<h1>
 {{#each items}}
   {{age}}-
 {{/each}}
{{/each}}
Enter fullscreen mode Exit fullscreen mode
  • sortBy: To sort array values by property
{{#each (sortBy people 'updated_at')}}{{name}} - {{id}}{{/each}}
Enter fullscreen mode Exit fullscreen mode

Notification Feed Page Size Changes (BREAKING CHANGE)

By default, the notification feed page will return 100 notifications and return a hasMore field if more than 100 notifications exist.

Activity Feed & Subscriber API Changes (BREAKING CHANGE)

The Activity Feed & Subscriber API will no longer return totalCount. Due to performance optimizations, they will return a hasMore boolean flag in cases where there are more results to fetch.

listenNotificationReceive in Headless Service.

We have added a new function, listenNotificationRecieve, to listen to when a new notification comes in!

It can be used to retrieve a new notification in real-time and trigger UI changes.

headlessService.listenNotificationReceive({
  listener: (message: IMessage) => {
    console.log(JSON.stringify(message));
  },
});
Enter fullscreen mode Exit fullscreen mode

Sendchamp SMS Provider Integration

Now, you can use the Sendchamp SMS provider on Novu.

Image description

Docs, Cookbook & Guides

We now have quickstart guides for all major languages and technologies. Feel free to check them & get started quickly in your favorite language.

We have added a Cookbook section to our docs to provide recipes on common tasks.

All Changes

You can find the full changelog on GitHub.

Conclusion

Sign up on Novu, try it out & let me know what you think about the new changes in the comments section.

If you want to contribute to OSS and make an impact, I believe it is a great place to start & build out amazing things.

Oh, remember to star the repo as well.🤩 See you in the next release! 🚀

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .