v0.5.0
版本发布时间: 2022-06-26 18:48:33
novuhq/novu最新发布版本:v0.24.0(2024-03-18 17:44:43)
Extremly excited to anounce our latest release which includes an entire redesign of our trigger engine, a brand new and shining workflow editor on the web management platform, notification center theme customization, and a lot more goodies! Let's check it out:
Redesigned backend trigger engine
To support a more complex Novu usecase with custom flows and events we had to reimagine how our trigger engine works, instead of processing just the hardcoded configuration of delivery a user can now specify a tree-like flow with a custom order of nodes. This infra change will help us to support the upcoming: Digest, Delay, Decision trees, and more.
In this change, we also introduced BullMQ to manage or step execution Queue to support better persistency and scalability as it will allow us to scale trigger processing across multiple machines in the next upcoming releases.
Redesigned Notification Template Editor
One of the biggest steps to support our future plans is the redesigned Workflow Editor when editing a notification template. Previously, you could only decide on a channel but couldn't control more than one message of this particular channel, and couldn't control the order of execution.
Introducing the new workflow editor powered by React-Flow:
This new workflow will be the basis of more exciting features we are about to release in the upcoming weeks!
Attachment support on email providers
Thank to our amazing contributor @devblin, it is possible to send attachments with your emails. You can easily add attachments using the following API:
import { Novu } from '@novu/node';
const novu = new Novu(process.env.NOVU_API_KEY);
novu.trigger('event-name', {
to: {
subscriberId: '...'
},
payload: {
attachments: [{
file: fs.readFileSync(__dirname + '/data/test.jpeg'),
name: 'test.jpeg',
mime: 'image/jpg'
}]
}
})
Notification center theme customization
Based on a lot of your requests, it is possible now to customize the notification center component visuals for in our React component. Here is how you can do that:
const theme = {
dark: {
// Dark Theme Props
},
light: {
// Light Theme Props
},
common: {
// Common
}
};
return (
<PopoverNotificationCenter theme={theme}>
</PopoverNotificationCenter>
);
For more information about the different parts of the theme configuration:
export interface INovuTheme {
layout?: IThemeLayout;
header?: IThemeHeader;
popover?: IThemePopover;
notificationItem?: IThemeNotificationListItem;
footer?: IThemeFooter;
loaderColor?: string;
unseenBadge?: IThemeUnseenBadge;
}
export interface IThemeLayout {
background?: string;
boxShadow?: string;
borderRadius?: string;
wrapper?: {
secondaryFontColor?: string;
};
}
export interface IThemeHeader {
badgeColor?: string;
badgeTextColor?: string;
fontColor?: string;
}
export interface IThemePopover {
arrowColor?: string;
}
export interface IThemeNotificationListItem {
seen?: {
fontColor?: string;
background?: string;
timeMarkFontColor?: string;
};
unseen?: {
fontColor?: string;
background?: string;
boxShadow?: string;
notificationItemBeforeBrandColor?: string;
timeMarkFontColor?: string;
};
}
export interface IThemeFooter {
logoTextColor?: string;
logoPrefixFontColor?: string;
}
export interface IThemeUnseenBadge {
color?: {
fillColor?: string | ISvgStopColor;
borderColor?: string;
};
}
More changes and improvements
- fixed grammatical error in notification form by @tusharsrivastav in https://github.com/novuhq/novu/pull/613
- Made changes in the CONTIBUTING.md file for ports information by @AakashRaj20 in https://github.com/novuhq/novu/pull/637
- update readme by @souravjain540 in https://github.com/novuhq/novu/pull/638
- fix: added support for attachments passing within Novu API by @devblin in https://github.com/novuhq/novu/pull/608
- Proper Error Message when used without NovuProvider by @BiswaViraj in https://github.com/novuhq/novu/pull/639
- Added env flag for github oauth option by @BiswaViraj in https://github.com/novuhq/novu/pull/644
- Upgrade Widget cypress to v10 by @kymppi in https://github.com/novuhq/novu/pull/658
- Docker-compose for local development by @kymppi in https://github.com/novuhq/novu/pull/659
- style changed integration to integrations by @AlexVCS in https://github.com/novuhq/novu/pull/669
- changed api to API by @Tosin-webdev in https://github.com/novuhq/novu/pull/670
- Fixed typo on line 36 by @AlexVCS in https://github.com/novuhq/novu/pull/673
- fix: updated the docker env to string by @BiswaViraj in https://github.com/novuhq/novu/pull/688
- fix: updated scripts to use cross-env by @BiswaViraj in https://github.com/novuhq/novu/pull/685
- fix: team invite not working when already logged in by @samsoft00 in https://github.com/novuhq/novu/pull/678
- feat: #686 add termii sms provider by @samsoft00 in https://github.com/novuhq/novu/pull/690
- import IMessage + Dark mode (colorScheme update) Documentation by @Lorakus in https://github.com/novuhq/novu/pull/698
- Added unseenCount in popover notification component by @Lorakus in https://github.com/novuhq/novu/pull/699
- Update Types to support nested payload properties by @dcbartlett-fadv in https://github.com/novuhq/novu/pull/701
- Upgraded apps/web cypress to v10 by @devblin in https://github.com/novuhq/novu/pull/689
- Fix/update provider hygen template by @samsoft00 in https://github.com/novuhq/novu/pull/710
New Contributors
- @tusharsrivastav made their first contribution in https://github.com/novuhq/novu/pull/613
- @AakashRaj20 made their first contribution in https://github.com/novuhq/novu/pull/637
- @souravjain540 made their first contribution in https://github.com/novuhq/novu/pull/638
- @kymppi made their first contribution in https://github.com/novuhq/novu/pull/658
- @Tosin-webdev made their first contribution in https://github.com/novuhq/novu/pull/670
- @samsoft00 made their first contribution in https://github.com/novuhq/novu/pull/678
- @Lorakus made their first contribution in https://github.com/novuhq/novu/pull/698
- @vannyle made their first contribution in https://github.com/novuhq/novu/pull/558
- @dcbartlett-fadv made their first contribution in https://github.com/novuhq/novu/pull/701
Full Changelog: https://github.com/novuhq/novu/compare/v0.4.2...v0.5.0