API
🚀 Features
- api-service, dal: Add Agents API and DAL support (#10679)
- dashboard: Add Agents page, early access endpoint, and update navigation (#10673)
- dashboard,api-service: novu copilot suggestions on the new chat fixes NV-7321 (#10542)
- api-service: subscribers v2 notifications support TagsFilter like inbox fixes NV-7090 (#10614)
- api-service: CNF inbox tag filters (AND of OR-groups) fixes NV-7090 (#10466)
- api-service: integrate system environment variables fixes NV-7312 (#10521)
- api-service,dashboard,novu,framework: extend step resolver support to delay, digest, and throttle step types fixes NV-7268 (#10507)
- api-service: add new plugins and check scripts for API property optionality (#10456)
- api-service: enhance v2 subscribers controller with notification management features fixes NV-7044 (#10053)
- dashboard,api-service: add mixpanel tracking for step resolver custom code (#10501)
- api-service: add http request step copilot support fixes NV-7301 (#10476)
- dashboard: add context and override handling in activity resent fixes NV-7111 (#10446)
- api-service: implement environment variables management fixes NV-7234 (#10328)
- api-service,dashboard,novu: add code step plan limits fixes NV-7271 (#10416)
- api-service: add activity feed link to trigger response (#9430)
- api-service: use new workflow run count table in usage page (#10074)
- api-service: http step polish (#10355)
- api-service: expose workflow step preview endpoint via external API fixes NV-7282 (#10389)
- api-service: create new dashboard url variable (#10343)
- api-service,dashboard,novu: extend step resolver to all steps fixes NV-7187 (#10271)
- api-service: implement HTTP destination step type fixes NV-7189 (#10183)
- application-generic: introduction of OTEL Integration as a standardised monitoring (#10209)
- dashboard, worker: Payload tags containsAny fixes NV-7178 (#10196)
- api-service: Subscriber tokens limit on credentials endpoint (#10190)
- root: agent setup (3734a8f64a)
- novu,dashboard: react email publishing & visual improvements fixes NV-7184 (#10156)
- api-service: make stepResolverHash non-nullable fixes NV-7116 (#10144)
- api-service,dashboard,framework: align step resolver scaffolding with framework fixes NV-7116 (#10136)
- api-service: Environments v2 publish API fixes NV-7108 (#10012)
- api-service: Api service trace attributes (#10112)
- api-service: ai workflow generation from the user prompt fixes NV-7047 (#9867)
- dashboard,api-service: React Email step editor (partial) fixes NV-7115 (#10080)
- api-service,worker: CF step resolver deployment & resolution fixes NV-7100 (#10036)
- api,worker,application-generic: introduction of SQS as queue option in the system (#9895)
🩹 Fixes
- api-service: use NOVU_INTERNAL_SECRET_KEY for agents early access trigger (#10688)
- root: several fixes for next release (#10633)
- api-service: return 400 instead of 500 for conflicting cursor params (#10669)
- api-service: escape regex in contexts search and handle empty body in widgets (#10661)
- root: resolve high/moderate liquidjs and nodemailer vulnerabilities (#10625)
- shared: increase workflow name field length fixes NV-7336 (#10605)
- api-service: inbox, variables api summary and descriptions fixes NV-7333 (#10599)
- worker: update delivery lifecycle status to processing to prevent duplicate workflow status emissions (#10588)
- root: Bump lodash and lodash-es to ^4.18.0 for template injection CVE (#10558)
- shared: persist step type when updating bridge workflow steps fixes NV-7323 (#10548)
- api-service, worker: guard against null/undefined runtime crashes (#10511)
- api-service: persist inbox bulk preferences in context scope fixes NV-7304 (#10475)
- root: resolve high node-forge, happy-dom and moderate handlebars vulnerabilities (#10494)
- api-service: missing url issue generation fixes NV-7288 (#10472)
- api-service: SubscriberResponseDto optional online fields fixes NV-7298 (#10461)
- api-service: improve error handling in Vercel webhook and layout validation (#10448)
- api-service: sanitize diff entries with null paths before applying (#10437)
- dashboard: add environment variable support to preview payload (#10438)
- root: resolve fast-xml-parser and nanoid dependency security vulnerabilities (#10427)
- api-service, dashboard: exclude HTTP_REQUEST steps from step-resolver functionality fixes NOV-1340 (#10414)
- dashboard: clear stale step control errors when field has a value fixes NV-7264 (#10385)
- api: preserve environmentId from JWT when Novu-Environment-Id header is absent (#10178)
- api-service: update URLs to fallback to FRONT_BASE_URL if DASHBOARD_URL is not set (#10394)
- root: resolve micromatch, brace-expansion, and sentry vulnerabilities (#10381)
- api,dashboard: resolve multiple production Sentry errors (#10372)
- root: resolve moderate lodash, ajv, and express vulnerabilities (#10360)
- api-service,dashboard: resolve step id undefined crash and variable editor range error (#10344)
- api-service: strip rawData.payload.unknownSchema before persisting bridge sync (#10350)
- root: resolve high minimatch, playwright, and moderate body-parser vulnerabilities (#10322)
- worker: Bridge e2e tests adjustment (#10326)
- api-service: agent toolkit versioning and tool call (#10321)
- api-service: handle null notification after update and validate ObjectIds in markAs (#10318)
- api-service,dashboard: resolve Sentry errors in topic creation, workflow checklist, and subscriber preferences (#10284)
- api-service,dashboard: fix 4 production Sentry errors across API and dashboard (#10292)
- root: resolve high liquidjs vulnerability (#10263)
- api-service, dashboard: escape topic search regex and guard CodeMirror focus errors (#10197)
- root: type feature-flag env validators fixes NV-7233 (#10254)
- api-service,dashboard: resolve AJV strict mode and auth mapper Sentry errors (#10250)
- api-service,dashboard: resolve Sentry errors in message validation, boolean query params, and phone input (#10213)
- api-service,worker,application-generic: v0 translations regression (#10191)
- api-service: OpenSSL API vulnerability (#10180)
- api-service: Handle null control values during sync and schema build (#10150)
- worker: Notification channel skip fixes NV-7063 (#10093)
- dashboard: Translations page docs link fixes NV-7139 (#10103)
- api-service: Request log transaction ID fixes NV-7117 (#10043)
- api-service: default env var for step resolver (#10090)
🔥 Performance
- api-service: Optimize bridge sync endpoint timing fixes NV-7182 (#10145)
❤️ Thank You
- Abdul Rehman Talat
- Adam Chmara @ChmaraX
- Dima Grossman @scopsy
- George Djabarov @djabarovgeorge
- Himanshu Garg @merrcury
- Pawan Jain
- Paweł Tymczuk @LetItRock
Worker
🚀 Features
- api-service: integrate system environment variables fixes NV-7312 (#10521)
- worker: add support for environment variables compilation (#10440)
- api-service: implement environment variables management fixes NV-7234 (#10328)
- api-service: implement skip condition evaluation in HTTP request step (#10399)
- api-service: http step polish (#10355)
- api-service: implement HTTP destination step type fixes NV-7189 (#10183)
- application-generic: introduction of OTEL Integration as a standardised monitoring (#10209)
- worker: Queue concurrency override (#10236)
- root: agent setup (3734a8f64a)
- api-service,dashboard,framework: align step resolver scaffolding with framework fixes NV-7116 (#10136)
- api-service,worker: CF step resolver deployment & resolution fixes NV-7100 (#10036)
- api,worker,application-generic: introduction of SQS as queue option in the system (#9895)
🩹 Fixes
- root: several fixes for next release (#10633)
- worker: serialize push errors without circular JSON references (#10660)
- worker: avoid circular JSON errors when serializing provider failures (#10648)
- providers: set APNS apns-collapse-id from message id for retry dedupe (#10636)
- worker: update delivery lifecycle status to processing to prevent duplicate workflow status emissions (#10588)
- root, worker, dashboard: Update deps, remove vulnerable ip package (#10566)
- root: Bump lodash and lodash-es to ^4.18.0 for template injection CVE (#10558)
- api-service, worker: guard against null/undefined runtime crashes (#10511)
- worker: add HTTP_REQUEST to shouldSkipScheduleCheck fixes NV-7296 (#10463)
- shared: validate condition webhook URLs against SSRF (#10457)
- root: resolve fast-xml-parser and nanoid dependency security vulnerabilities (#10427)
- worker: skip control value sanitization for step resolver steps (#10419)
- root: resolve micromatch, brace-expansion, and sentry vulnerabilities (#10381)
- root: resolve moderate lodash, ajv, and express vulnerabilities (#10360)
- novu: use @babel/parser instead of typescript for email template discovery fixes NV-7252 (#10351)
- api-service,worker: downgrade subscriberId validation error log from error to debug (#10337)
- root: resolve high minimatch, playwright, and moderate body-parser vulnerabilities (#10322)
- worker: Channel step logic for bridge execution (#10323)
- root: type feature-flag env validators fixes NV-7233 (#10254)
- api-service,worker,application-generic: v0 translations regression (#10191)
- api-service: OpenSSL API vulnerability (#10180)
- worker: add error types (8e060cd198)
- worker: Fast-xml-parser entity bypass and logging adjustment (#10152)
- worker: Notification channel skip fixes NV-7063 (#10093)
- api-service: Debug log levels adjustment (#10105)
❤️ Thank You
- Adam Chmara @ChmaraX
- Dima Grossman @scopsy
- George Djabarov @djabarovgeorge
- Himanshu Garg @merrcury
- Paweł Tymczuk @LetItRock
WS
🚀 Features
- application-generic: introduction of OTEL Integration as a standardised monitoring (#10209)
- worker: Queue concurrency override (#10236)
- api,worker,application-generic: introduction of SQS as queue option in the system (#9895)
🩹 Fixes
- root: several fixes for next release (#10633)
- root: Bump lodash and lodash-es to ^4.18.0 for template injection CVE (#10558)
- root: resolve micromatch, brace-expansion, and sentry vulnerabilities (#10381)
- root: resolve moderate lodash, ajv, and express vulnerabilities (#10360)
- api-service: OpenSSL API vulnerability (#10180)
- ws: contextKeys undefined fixes NV-7172 (#10130)
- api-service: Debug log levels adjustment (#10105)
❤️ Thank You
Dashboard
🚀 Features
- dashboard: Add Agents page, early access endpoint, and update navigation (#10673)
- dashboard,api-service: novu copilot suggestions on the new chat fixes NV-7321 (#10542)
- api-service: CNF inbox tag filters (AND of OR-groups) fixes NV-7090 (#10466)
- providers: add CM.com SMS provider (#10531)
- api-service: integrate system environment variables fixes NV-7312 (#10521)
- api-service,dashboard,novu,framework: extend step resolver support to delay, digest, and throttle step types fixes NV-7268 (#10507)
- dashboard: add Environment Variables to pricing comparison (#10516)
- dashboard: novu copilot collapsible panel fixes NV-7307 (#10488)
- dashboard,api-service: add mixpanel tracking for step resolver custom code (#10501)
- dashboard: add note to response body schema and fix step variable syntax fixes NV-7293 (#10469)
- dashboard: add context and override handling in activity resent fixes NV-7111 (#10446)
- api,dashboard: novu copilot in the step editor fixes NV-7154 (#10439)
- dashboard: Fix URL formatting in support drawer constants (#10435)
- api-service: implement environment variables management fixes NV-7234 (#10328)
- api-service,dashboard,novu: add code step plan limits fixes NV-7271 (#10416)
- api-service: add activity feed link to trigger response (#9430)
- dashboard: add analytics and telemetry for Novu Copilot fixes NV-7054 (#10388)
- dashboard: improve meta tags for signup, login, and all dashboard pages (#10401)
- dashboard: add scrolling logo marquee to landing-1 signup page (#10398)
- api-service: use new workflow run count table in usage page (#10074)
- dashboard: add /landing-1/signup page for A/B testing fixes NV-7267 (#10349)
- api-service: http step polish (#10355)
- dashboard: step resolver 'beta' and 'new' badges fixes NV-7275 (#10363)
- dashboard: update step resolver UI fixes NV-7244 (#10327)
- dashboard: Editor step switcher fixes NV-6802 (#10308)
- dashboard: Table pages new tab support fixes NV-7238 (#10296)
- dashboard: Dashboard mobile responsiveness (#10285)
- api-service,dashboard,novu: extend step resolver to all steps fixes NV-7187 (#10271)
- dashboard: Customer.io identify integration (#10279)
- api-service: implement HTTP destination step type fixes NV-7189 (#10183)
- dashboard, worker: Payload tags containsAny fixes NV-7178 (#10196)
- dashboard: Account upgrade tag event (#10246)
- dashboard: Integration store validation errors fixes NV-7196 (#10200)
- dashboard: Onboarding sign up event (#10241)
- root: agent setup (3734a8f64a)
- novu,dashboard: react email publishing & visual improvements fixes NV-7184 (#10156)
- novu,dashboard: streamline React Email onboarding DX fixes NV-7183 (#10153)
- api-service,dashboard,framework: align step resolver scaffolding with framework fixes NV-7116 (#10136)
- api-service: polish monthly usage email (#10114)
- dashboard: remove branding from step resolver preview fixes NV-7138 (#10102)
- api-service: refactor usage queries (#10097)
- api-service: ai workflow generation from the user prompt fixes NV-7047 (#9867)
- dashboard,api-service: React Email step editor (partial) fixes NV-7115 (#10080)
- api-service,worker: CF step resolver deployment & resolution fixes NV-7100 (#10036)
🩹 Fixes
- dashboard: email editor loses focus on variable list item click fixes NV-7342 (#10684)
- root: several fixes for next release (#10633)
- root: resolve moderate vite vulnerability (GHSA-4w7w-66w2-5vf9) (#10610)
- dashboard: preview sandbox payload validation race condition (#10630)
- dashboard: inflight autosave fixes NV-7294 (#10544)
- root: resolve high/moderate liquidjs and nodemailer vulnerabilities (#10625)
- dashboard: workflow canvas translation section ui regression (#10615)
- dashboard: hide step drag handle for code-first workflows fixes NV-7328 (#10589)
- root, worker, dashboard: Update deps, remove vulnerable ip package (#10566)
- dashboard: inbox view (6fb26de563)
- root, api-service: Upgrade better-auth deps to 1.4.9 (#10559)
- dashboard: skip cloud layout limits UI when self-hosted (#10560)
- dashboard: catch unhandled promise rejections in layout mutation call sites (#10554)
- api-service,dashboard: handle non-string values in query validator and liquid variable formatter (#10543)
- dashboard: rename Novu Sidekick to Novu Copilot in chat UI (#10515)
- root: resolve happy-dom, vite-plugin-static-copy, and undici vulnerabilities (#10526)
- dashboard: skip position (8b55987550)
- dashboard: skip button removal on playground (f30b8cd042)
- dashboard: rename email step tab label Code editor to HTML (#10496)
- api-service: missing url issue generation fixes NV-7288 (#10472)
- dashboard: add ProtectedAuthRoute for organization signup and invitation acceptance (#10460)
- dashboard: update dead docs links for custom code (step resolver) feature fixes NV-7251 (#10468)
- dashboard: allow deleting schema properties with empty names fixes NV-7297 (#10464)
- application-generic,framework,dashboard: disable AJV strict mode for user schemas and remove noisy console.error (#10426)
- dashboard: workflow editor step animations fixes NV-7221 (#10451)
- dashboard: add environment variable support to preview payload (#10438)
- api-service, dashboard: exclude HTTP_REQUEST steps from step-resolver functionality fixes NOV-1340 (#10414)
- dashboard,api-service: resolve preview null safety and environment ID validation errors (#10402)
- dashboard: clear stale step control errors when field has a value fixes NV-7264 (#10385)
- dashboard: add white background layer to inline tip overlay fixes NV-7280 (#10379)
- dashboard: fix the logo outline (d2b82d21ed)
- api,dashboard: resolve multiple production Sentry errors (#10372)
- dashboard: banner novu logo text overlap fixes NV-7253 (#10362)
- dashboard: empty step resolver preview fixes NV-7249 (#10361)
- root: resolve moderate lodash, ajv, and express vulnerabilities (#10360)
- api-service,dashboard: resolve step id undefined crash and variable editor range error (#10344)
- novu: use @babel/parser instead of typescript for email template discovery fixes NV-7252 (#10351)
- dashboard: update production empty state copy to use publish terminology fixes PRD-590 (#10346)
- dashboard: remove duplicate close icon in publish success modal fixes PRD-589 (#10345)
- api-service,dashboard: fix step resolver preview for all channel types fixes NV-7237 (#10287)
- dashboard: hide add step button for code-first workflows fixes NV-7246 (#10340)
- api-service,shared,dashboard: harden error handling for FCM credentials, corrupt Message CTA data, and Select empty values (#10302)
- root: resolve high minimatch, playwright, and moderate body-parser vulnerabilities (#10322)
- novu,dashboard: step resolver generated defaults; stale preview fixes NV-7236 (#10319)
- dashboard: Translation JSON line breaks fixes NV-7160 (#10303)
- api-service,dashboard: resolve Sentry errors in topic creation, workflow checklist, and subscriber preferences (#10284)
- api-service,dashboard: fix 4 production Sentry errors across API and dashboard (#10292)
- dashboard: hide request body for HTTP methods without body support (#10282)
- dashboard: toast position (1bcc158768)
- dashboard: biome linting errors (#10269)
- root: resolve high liquidjs vulnerability (#10263)
- api-service, dashboard: escape topic search regex and guard CodeMirror focus errors (#10197)
- dashboard: make custom HTML code text visible while editing fixes NV-7232 (#10244)
- api-service,dashboard: resolve AJV strict mode and auth mapper Sentry errors (#10250)
- dashboard: In-app step redirect target fixes NV-7104 (#10198)
- api-service,dashboard: resolve Sentry errors in message validation, boolean query params, and phone input (#10213)
- dashboard: prevent first sidekick prompt disappearing fixes NV-7202 (#10218)
- dashboard: enforce workflow prompt text limit fixes NV-7201 (#10214)
- dashboard: add horizontal side padding in copilot chat pane fixes NV-7204 (#10215)
- dashboard: Integration store mandatory fields label fixes NV-7177 (#10193)
- dashboard: update organization routing and improve loading states in better-auth components (#10192)
- dashboard: Email validation template variables for send email fixes NV-7194 (#10186)
- api-service: OpenSSL API vulnerability (#10180)
- dashboard: Autosave no changes update fixes NV-7168 (#10129)
- dashboard: Dashboard workflow docs link fixes NV-7137 (#10104)
- dashboard: Translations page docs link fixes NV-7139 (#10103)
- dashboard: Dashboard team org tabs order (#10092)
- dashboard: Production translation toggle fixes NV-7098 (#10086)
❤️ Thank You
- Adam Chmara @ChmaraX
- Dima Grossman @scopsy
- George Djabarov @djabarovgeorge
- Guillaume Rigaux @Swarll
- Himanshu Garg @merrcury
- Naveen Madhan @twentyone24
- Pawan Jain
- Paweł Tymczuk @LetItRock
🐳 Community Docker Images
Community Docker images are now available for v3.15.0, making it easy to deploy in containerized environments.
📦 SDKs
Server-side SDKs (TypeScript, Golang, Python, PHP, Java, and C#) and Inbox SDKs (JS, React, Next.js, and React Native) for v3.15.0 are available to help you integrate with the platform using your preferred language. These SDKs are maintained alongside the core release and community images to ensure compatibility and a smooth upgrade experience.