TL;DR: All you need to know about the latest Novu 0.23.0 release. Translation management, Performance updates, and more!
0.23 Release Updates
We're excited to highlight the newest features introduced in our latest release. Join us as we explore what awaits you!
Translation Management
đź’ˇ Note: This feature is only available for Novu Cloud for Business and Enterprise Clients.
The translation management feature allows users to create, upload, and edit translation groups and files from the Novu dashboard.
It’s new and we’re excited for you to start using it in your apps!
With this feature comes a new handlebar helper for translations, {{ i18n ... }}
.
Novu users can now translate their notification templates to different languages using the i18n
handlebar helper and the translation keys in the editor.
Support for Non-Root User (UID 1000)
In our continued effort to enhance security and compatibility in enterprise environments, we are proud to announce a significant update aimed at supporting systems with restricted root access.
Key Features:
Non-Root User Support: Novu now officially supports deployment under a non-root user with a fixed UID of 1000. This update is crucial for enterprise deployments on systems that enforce strict no-root policies, ensuring compliance with security best practices.
Seamless Integration: This enhancement facilitates smoother integration of Novu into secure environments, reducing the need for workarounds or exceptions in security policies.
Enhanced Security: Running Novu under a non-root user reduces potential security risks and aligns with the principle of least privilege, further safeguarding our notification infrastructure.
Getting Started:
No action is required from your side to take advantage of this update. The changes have been seamlessly integrated into Novu, ensuring that your enterprise deployments comply with non-root user policies without any additional configuration needed.
ARM Image Support
We're thrilled to share that Novu has officially introduced support for ARM images, marking a significant step in our dedication to embracing innovation and responsibility within the tech landscape. This development ensures that Novu stays ahead in the realm of notification infrastructure by broadening our platform's accessibility, compatibility, and sustainability.
Key Highlights:
ARM Architecture Support: Users can now deploy Novu on systems powered by ARM processors, benefiting from the efficiency and performance improvements that ARM architectures offer.
Optimized Performance: ARM support brings optimized performance for ARM-based deployments, ensuring faster and more efficient notification processing.
Getting Started with ARM Images:
To use Novu on an ARM-based system, simply pull the ARM-compatible Docker image from our registry. If you are on a not a ARM based system you can use the following command in docker to pull the image.
docker pull --platform linux/arm64 ghcr.io/novuhq/novu:v0.23.0
đź’ˇNote: Emulating ARM hardware may be slower then running an ARM image on ARM hardware.
Deprecation of Original Notifire Packages
Novu has evolved so much from when it was originally created. On the release of v0.24.0, we will be deprecating the original Notifire packages hosted on GitHub and any package within the @notifire
namespace on NPM.
The following packages hosted on GitHub under the novuhq
organization are scheduled for deprecation:
Deprecated Packages
- Notifire WebSocket Package (
notifire/ws
) - Notifire Widget Package (
notifire/widget
) - Notifire SDK Package (
notifire/sdk
) - Notifire Web Package (
notifire/web
) - Notifire API Package (
notifire/api
)
NPM Namespace Deprecation
All packages within the @notifire namespace on NPM are also scheduled for deprecation. This includes any package prefixed with @notifire/
, ensuring a comprehensive and clear transition away from these older offerings.
Users currently relying on these deprecated packages should promptly transition to the official @novu
packages.
Field-level Encryption to API Keys
We're security conscious at Novu. The API keys are now encrypted at rest in the database and hashed at rest in the cache.
We added this security feature to prevent direct use of the API key in the event of a database breach or bad actor trying to use the key with bad intentions.
Note: All existing API keys become encrypted through a data migration script for self-hosted users. Running the script more than once does not re-encrypt the api keys.
Bulk Delete Notifications in Notification Center
Users can now remove multiple notifications using an array of message ids (limit of 100) via the Notification center hooks and Headless library.
Notification Center hooks
const onSuccess = (data: IMessage) => {};
const onError = (error: Error) => {};
const { removeNotifications, isLoading, isError, error } = useRemoveNotifications({
onSuccess,
onError,
});
Headless
headlessService.removeNotifications({
listener: (
result: UpdateResult<IMessage, unknown, { messageId: string }>
) => {
console.log(result);
},
onSuccess: (message: IMessage) => {
console.log(message);
},
onError: (error: unknown) => {
console.error(error);
},
messageIds: ["message_id_1", "message_id_2" ],
});
Rocket Chat Provider Integration
You can now send Chat messages via the Rocket Chat provider integration:
Brevo (SendInBlue) SMS Provider Integration
You can now send SMS messages via the Brevo SMS provider integration:
iSend SMS Provider Integration
You can now send SMS via the iSend sms provider integration:
CustomData Overrides for SMS
A customData
overrides provider for SMS now exists. This property allows us to support provider specific configurations in future for SMS providers.
For now, it only supports DLT (Distributed Ledger Technology) for the Gupshup SMS provider.
Trigger workflow with customData
novu.trigger("gupshup-workflow", {
to: {
subscriberId: "1234",
},
payload: {
user: "Viraj",
},
overrides: {
sms: {
customData: {
principalEntityId: "principal entity Id",
dltTemplateId: "dlt template Id",
},
},
},
});
Email Editor Variables Auto-suggestion Dropdown
We've made a little adjustment to the workflow email editor to enhance user experience by including auto-suggestions while adding variables.
This feature greatly minimizes the chance of selecting the wrong variable and having incorrect template content.
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! 🚀