v2.3.0 (2025-06-23)
API
🚀 Features
- worker,api-service,dashboard: chat custom webhook provider (#8561)
- dashboard: Add relative step operators in step conditions fixes NV-6002 (#8541)
- dashboard: New test workflow drawer fixes NV-6091 (#8521)
- dashboard,api-service: html editor format code (#8525)
- api-service: Introduce workflows API fixes NV-5946 (#8275)
- dashboard: implement V2 template editor with enhanced preview system (#8445)
- api-service: full liquid parser and variables validation (#8478)
- api: expose environments CRUD endpoints to external API (#8469)
- api-service,dashboard: handle editor type change (#8457)
- api-service,dashboard,application-generic: custom html editor (#8456)
- api: improve preview context with better error handling and V2 template editor support (#8472)
- react,js,nextjs,react-native: create new inbox session on subscriber change (#8417)
- api: add mixpanel tracking for remove branding setting (#8451)
- api-service: create keyless env creation ff switch (#8448)
- dashboard: Novu branding fixes & improvements (#8421)
- dashboard: payload schema management UI (#8315)
- dashboard,api: email Novu branding (#8413)
- api,dashboard,web: add 'remove branding' toggle to org settings (#8405)
- dashboard: add tags, status, and steps filters to workflows page (#8396)
- add build scripts for pnpm (4c0093dc67)
- api-service: adjust locale testing groups to v2 (#8388)
- root: create keyless environment (#8276)
- api-service: allow email html body control values (#8350)
- root: upgrade nx to v21.0.4 and update nx.json configuration (#8361)
- api-service: add data attribute filtering for inbox notifications (#8338)
- root: feat centralize source of truth of template parser (#8324)
- api,dashboard: simplify permissions (#8345)
🩹 Fixes
- dashboard: update LEGACY_DASHBOARD_URL handling and add documentation in .env.example (#8569)
- api,application-generic: remove workflow and activity feed limits for self-hosted instances (#8564)
- dashboard: update chat and push provider docs link (#8559)
- api, worker, webhook, ws, dashboard: switch PM2 mode to single node for open source builds (#8551)
- api: add missing properties in feed for SDK (#8454)
- api-service: Make all fields nullable in subscriber response fixes NV-6136 (#8538)
- api-service: update environment and workflow api summary and description (#8536)
- root: eslint errors when compiling (#8529)
- api-service: payload schema defaults apply (#8527)
- api-service: switching to html editor when preview fails (#8517)
- shared: allow dots in subscriber IDs for consistent validation (#8514)
- api: prevent duplicate Novu branding when switching from block to HTML editor (#8497)
- root: bring back eslint and web app build (#8505)
- root: upgrade nx to optimum version and this publishes to npm (#8490)
- root: resurrecting eslint (#8483)
- api: improve preview error handling and data merging (#8475)
- novui: broken link on CONTRIBUTION.md (#8466)
- api: subscription idempotency (#8464)
- api: add subscription when creating customer (atomicity) (#8458)
- api: credentials perm check (#8432)
- root: update nx packages and override path-to-regexp to fix CVE-2024-45296 (#8438)
- root: update systeminformation to fix vulnerability (#8436)
- root: upgrade @nestjs/platform-express to resolve multer DoS vulnerability (#8434)
- root: update tar-fs to resolve security vulnerabilities (#8431)
- api: branding - multiple body tags (#8423)
- api-service: optional message tempate id Fixes NV-5983 (#8426)
- dashboard: Schema review fixes (#8425)
- shared: remove uneeded AWS s3 env validators (#8039)
- api-service: modify topic subscriptions api description (#8415)
- api-service: quota calc (#8395)
- api: exception filter runtime error (#8408)
- api-service: data dto for subscriber entity NV-5998 (#8407)
- react-native: update widget_jwt_expiration_time default value to fix session initialized (#8401)
- pnpm approved builds (80df2481f6)
- remove swc core (bdfe1df68e)
- pnpm 10 repo (65109279ef)
- api-service: modify client ip retrieval and launch darkly fallback (#8380)
- api: Update mocha configuration to use SWC instead of ts-node (#8363)
- api-service: don't require keyless users (1c17b02fa1)
- bad enum typing (39fd888c14)
- api-service: modify api summary and add description (#8326)
❤️ Thank You
- Adam Chmara @ChmaraX
- Dima Grossman @scopsy
- George Djabarov @djabarovgeorge
- Graphmaxer
- Himanshu Garg @merrcury
- Natnael Yilma @TaduJR
- Pawan Jain
- Paweł Tymczuk @LetItRock
- Trần Thăng Long @longtranthang
Dashboard
🚀 Features
- worker,api-service,dashboard: chat custom webhook provider (#8561)
- dashboard: removed channel selection screen from the onboarding (#8540)
- dashboard: Add button for API key regeneration fixes NV-6142 (#8548)
- dashboard: Add relative step operators in step conditions fixes NV-6002 (#8541)
- dashboard: layouts page (#8547)
- dashboard: add schema aware step conditions operators fixes NV-6088 (#8482)
- dashboard: email editor translation variables (#8524)
- dashboard: Workflows Page Activity Feed fixes NV-6090 (#8522)
- dashboard: New test workflow drawer fixes NV-6091 (#8521)
- dashboard,api-service: html editor format code (#8525)
- api-service: Introduce workflows API fixes NV-5946 (#8275)
- dashboard: implement V2 template editor with enhanced preview system (#8445)
- dashboard: local and scoped variables autocomplete (#8510)
- dashboard: variable pill understands local variables (#8499)
- dashboard: fixed eu region by defult issue (#8489)
- api-service: full liquid parser and variables validation (#8478)
- dashboard: added cli command to the product onboarding (#8418)
- api-service,dashboard: handle editor type change (#8457)
- framework: add showCount parameter to pluralize filter (#8470)
- api-service,dashboard,application-generic: custom html editor (#8456)
- dashboard: Workflow Step action bar (#8433)
- dashboard: Novu branding fixes & improvements (#8421)
- dashboard: Payload schema generation from recent payload (#8419)
- dashboard: payload schema management UI (#8315)
- dashboard,api: email Novu branding (#8413)
- api,dashboard,web: add 'remove branding' toggle to org settings (#8405)
- dashboard: add tags, status, and steps filters to workflows page (#8396)
- add build scripts for pnpm (4c0093dc67)
- api-service: adjust locale testing groups to v2 (#8388)
- root: upgrade nx to v21.0.4 and update nx.json configuration (#8361)
- dashboard: members page upgrade CTA (#8357)
- root: feat centralize source of truth of template parser (#8324)
- api,dashboard: simplify permissions (#8345)
🩹 Fixes
- dashboard: add VITE_LEGACY_DASHBOARD_URL to environment script (#8572)
- dashboard: update LEGACY_DASHBOARD_URL handling and add documentation in .env.example (#8569)
- dashboard: single job status reporting (e675417817)
- dashboard: Trigger click, is not closing sidebar fixes NV-6148 (#8563)
- dashboard: update chat and push provider docs link (#8559)
- api, worker, webhook, ws, dashboard: switch PM2 mode to single node for open source builds (#8551)
- dashboard: update button text to Manage Plan (#8542)
- root: eslint errors when compiling (#8529)
- dashboard: schema array of objects json schema export left extra field fixes nv-6123 (#8526)
- shared: allow dots in subscriber IDs for consistent validation (#8514)
- dashboard: improve workflow execution status display for skipped/canceled jobs fixes NV-6113 (#8513)
- dashboard: author role event trigger error for insufficient - Fixes NV-6111 (#8509)
- dashboard: variable interaction inside button (#8508)
- dashboard: correct copy in trial card tooltip (#8507)
- root: bring back eslint and web app build (#8505)
- dashboard: alias propagation in Maily components (#8502)
- dashboard: conditionally apply text wrapping styles based on multiline flag (#8494)
- dashboard: tabs component size (#8487)
- root: upgrade nx to optimum version and this publishes to npm (#8490)
- root: resurrecting eslint (#8483)
- dashboard: prevent rendering when opt-in status is null (#8460)
- dashboard: use more idiomatic react-querybuilder code (#8059)
- novui: broken link on CONTRIBUTION.md (#8466)
- api: error on npm run setup:project (#8468)
- root: update dset package to resolve prototype pollution vulnerability (#8443)
- dashboard: update http-proxy-middleware to fix DoS vulnerability (#8440)
- root: update nx packages and override path-to-regexp to fix CVE-2024-45296 (#8438)
- root: update systeminformation to fix vulnerability (#8436)
- root: upgrade @nestjs/platform-express to resolve multer DoS vulnerability (#8434)
- root: update tar-fs to resolve security vulnerabilities (#8431)
- dashboard: upgrade pm2 to remove systeminformation vulnerability (#8429)
- dashboard: control input variable popover position (#8424)
- dashboard: Schema review fixes (#8425)
- dashboard: framework based workflows payload schema button (7719467597)
- dashboard: current addition (bb4d193f90)
- dashboard: new variable recognized immediately (6d4194872b)
- dashboard: variable view ff pass (cdeb2333aa)
- dashboard: schema enable boolean when ff is off (c8791d515e)
- dashboard: added alias validation for variables (64098c0915)
- dashboard: show loading skeleton when workflow filters change (#8409)
- dashboard: replace crypto.randomUUID with browser-compatible fallback (#8404)
- react-native: update widget_jwt_expiration_time default value to fix session initialized (#8401)
- dashboard: immediate subscriber table update after deletion from drawer (#8391)
- pnpm approved builds (80df2481f6)
- pnpm 10 repo (65109279ef)
- api-service: modify client ip retrieval and launch darkly fallback (#8380)
- dashboard: python code snippet corrections (#8378)
- api: Update mocha configuration to use SWC instead of ts-node (#8363)
- dashboard: Fixes push preview widget (#8370)
- dashboard: center topics empty state and remove redundant create button (#8362)
❤️ Thank You
- Adam Chmara @ChmaraX
- Dima Grossman @scopsy
- Emil Pearce @iampearceman
- George Djabarov @djabarovgeorge
- Himanshu Garg @merrcury
- Ivan Suslov @iSuslov
- Jake Boone
- Natnael Yilma @TaduJR
- Pawan Jain
- Paweł Tymczuk @LetItRock
- Trần Thăng Long @longtranthang
Webhook
🚀 Features
- worker,api-service,dashboard: chat custom webhook provider (#8561)
- api-service: Introduce workflows API fixes NV-5946 (#8275)
- dashboard: payload schema management UI (#8315)
- add build scripts for pnpm (4c0093dc67)
- api-service: adjust locale testing groups to v2 (#8388)
- root: upgrade nx to v21.0.4 and update nx.json configuration (#8361)
🩹 Fixes
- dashboard: update LEGACY_DASHBOARD_URL handling and add documentation in .env.example (#8569)
- api, worker, webhook, ws, dashboard: switch PM2 mode to single node for open source builds (#8551)
- root: eslint errors when compiling (#8529)
- root: bring back eslint and web app build (#8505)
- root: upgrade nx to optimum version and this publishes to npm (#8490)
- root: resurrecting eslint (#8483)
- novui: broken link on CONTRIBUTION.md (#8466)
- root: update nx packages and override path-to-regexp to fix CVE-2024-45296 (#8438)
- root: update systeminformation to fix vulnerability (#8436)
- root: upgrade @nestjs/platform-express to resolve multer DoS vulnerability (#8434)
- root: update tar-fs to resolve security vulnerabilities (#8431)
- react-native: update widget_jwt_expiration_time default value to fix session initialized (#8401)
- pnpm approved builds (80df2481f6)
- pnpm 10 repo (65109279ef)
- api: Update mocha configuration to use SWC instead of ts-node (#8363)
❤️ Thank You
- Dima Grossman @scopsy
- Himanshu Garg @merrcury
- Natnael Yilma @TaduJR
- Paweł Tymczuk @LetItRock
- Trần Thăng Long @longtranthang
Worker
🚀 Features
- worker,api-service,dashboard: chat custom webhook provider (#8561)
- api-service: Introduce workflows API fixes NV-5946 (#8275)
- dashboard: payload schema management UI (#8315)
- add build scripts for pnpm (4c0093dc67)
- api-service: adjust locale testing groups to v2 (#8388)
- root: create keyless environment (#8276)
- api-service: allow email html body control values (#8350)
- root: upgrade nx to v21.0.4 and update nx.json configuration (#8361)
🩹 Fixes
- dashboard: update LEGACY_DASHBOARD_URL handling and add documentation in .env.example (#8569)
- api, worker, webhook, ws, dashboard: switch PM2 mode to single node for open source builds (#8551)
- root: eslint errors when compiling (#8529)
- root: bring back eslint and web app build (#8505)
- root: upgrade nx to optimum version and this publishes to npm (#8490)
- root: resurrecting eslint (#8483)
- novui: broken link on CONTRIBUTION.md (#8466)
- root: update nx packages and override path-to-regexp to fix CVE-2024-45296 (#8438)
- root: update systeminformation to fix vulnerability (#8436)
- root: upgrade @nestjs/platform-express to resolve multer DoS vulnerability (#8434)
- root: update tar-fs to resolve security vulnerabilities (#8431)
- shared: remove uneeded AWS s3 env validators (#8039)
- react-native: update widget_jwt_expiration_time default value to fix session initialized (#8401)
- pnpm approved builds (80df2481f6)
- pnpm 10 repo (65109279ef)
- api: Update mocha configuration to use SWC instead of ts-node (#8363)
❤️ Thank You
- Dima Grossman @scopsy
- George Djabarov @djabarovgeorge
- Graphmaxer
- Himanshu Garg @merrcury
- Natnael Yilma @TaduJR
- Paweł Tymczuk @LetItRock
- Trần Thăng Long @longtranthang
WS
🚀 Features
- worker,api-service,dashboard: chat custom webhook provider (#8561)
- api-service: Introduce workflows API fixes NV-5946 (#8275)
- dashboard: payload schema management UI (#8315)
- add build scripts for pnpm (4c0093dc67)
- api-service: adjust locale testing groups to v2 (#8388)
- root: upgrade nx to v21.0.4 and update nx.json configuration (#8361)
🩹 Fixes
- dashboard: update LEGACY_DASHBOARD_URL handling and add documentation in .env.example (#8569)
- api, worker, webhook, ws, dashboard: switch PM2 mode to single node for open source builds (#8551)
- root: eslint errors when compiling (#8529)
- root: bring back eslint and web app build (#8505)
- root: upgrade nx to optimum version and this publishes to npm (#8490)
- root: resurrecting eslint (#8483)
- novui: broken link on CONTRIBUTION.md (#8466)
- root: update nx packages and override path-to-regexp to fix CVE-2024-45296 (#8438)
- root: update systeminformation to fix vulnerability (#8436)
- root: upgrade @nestjs/platform-express to resolve multer DoS vulnerability (#8434)
- root: update tar-fs to resolve security vulnerabilities (#8431)
- react-native: update widget_jwt_expiration_time default value to fix session initialized (#8401)
- pnpm approved builds (80df2481f6)
- pnpm 10 repo (65109279ef)
- api: Update mocha configuration to use SWC instead of ts-node (#8363)
❤️ Thank You
- Dima Grossman @scopsy
- Himanshu Garg @merrcury
- Natnael Yilma @TaduJR
- Paweł Tymczuk @LetItRock
- Trần Thăng Long @longtranthang