github novuhq/novu v2.1.1

one day ago

This release contains performance improvements and bug fixes.

What's Changed

  • fix(api): make access internal to self-managed bridge by @tatarco in #7145
  • fix(dashboard): In app step form fixes by @desiprisg in #7144
  • feat(dashboard): Sign up Questionnaire by @scopsy in #7114
  • feat(application-generic): add SUBSCRIBER_WIDGET_JWT_EXPIRATION_TIME env variable by @jainpawan21 in #7105
  • chore(api, worker): Instrument workflow v2 controller and bridge use-cases by @rifont in #7150
  • chore(root): Release 2024-11-28 08:06 by @github-actions in #7152
  • fix(api): Resolve circular import issue for workflow update validation by @tatarco in #7151
  • fix(dashboard): Sibling form structure and autosave by @desiprisg in #7149
  • feat(dashboard): saving modal on navigating outside editor by @ChmaraX in #7148
  • feat(dashboard): add feature flags provider and hook by @ChmaraX in #7133
  • perf(api): Lookup subscriber preferences with a single database query by @rifont in #7119
  • chore(root): Release 2024-11-28 20:40 by @github-actions in #7158
  • style(dashboard): Fix all modal and toast text overflow by @rifont in #7155
  • fix(dashboard): Copy current tab snippet code when clicking copy button by @rifont in #7157
  • chore(root): Release 2024-11-29 08:06 by @github-actions in #7162
  • chore(api, worker, dal): remove SubscriberPreferenceRepository by @rifont in #7165
  • fix(api,dashboard): Invalid url error and in-app tabs spacing by @desiprisg in #7167
  • feat(dashboard): Nv 4800 implement arrays and nested forms in custom step controls by @BiswaViraj in #7127
  • chore(shared): Eliminate circular dependencies by @SokratisVidros in #6743
  • fix(dashboard): Truncate workflow name on breadcrumbs by @desiprisg in #7169
  • chore(root): Remove logs by @SokratisVidros in #7168
  • fix(node): add includeInactiveChannels option in sdk method by @jainpawan21 in #7115
  • Revert "fix(node): add includeInactiveChannels option in sdk method" by @SokratisVidros in #7171
  • Fix/get subscriber preference channel update by @SokratisVidros in #7172
  • fix(dashboard): polish autosave experience by @LetItRock in #7164
  • feat(api): fix framework workflow payload preview by @djabarovgeorge in #7137
  • chore(root): Release 2024-12-02 08:06 by @github-actions in #7179
  • fix(dashboard): Update predefined avatars by @desiprisg in #7181
  • fix(api): regression bug by @djabarovgeorge in #7182
  • fix(dashboard): Show failed toast on triggering inactive workflows by @desiprisg in #7183
  • fix(dashboard): Fix custom step controls padding by @desiprisg in #7185
  • fix(api): invalid schema by @djabarovgeorge in #7184
  • chore(root): Release 2024-12-02 15:06 by @github-actions in #7188
  • feat(application-generic): core mixpanel events for the workflow and step creation by @LetItRock in #7189
  • feat(api): wip fix framework workflow issues by @djabarovgeorge in #7147
  • feat(api): converted bulk trigger to use SDK by @tatarco in #7166
  • feat(dashboard): add button loading state prop by @scopsy in #7191
  • chore(root): Release 2024-12-03 08:06 by @github-actions in #7195
  • fix(dashboard): don't use defaultValues for async content by @ChmaraX in #7187
  • fix(dashboard): in-app editor preview only call when tab is opened by @LetItRock in #7186
  • feat(dashboard): signout from v2 should navigatefor new login page by @scopsy in #7196
  • refactor(dashboard): use the update motion library instead of framer-motion by @scopsy in #7193
  • feat(api): gracefully preview by @djabarovgeorge in #7190
  • chore(dashboard): beta label by @LetItRock in #7197
  • chore(root): Release 2024-12-03 10:32 by @github-actions in #7198
  • fix(dashboard): step form values were not updated when switching between steps by @LetItRock in #7201
  • chore(api): Enable preview deployments by @SokratisVidros in #7200
  • fix(js): Remove @novu/shared dependency by @SokratisVidros in #6906
  • feat(dashboard): Getting started page by @scopsy in #7132
  • Revert "fix(js): Remove @novu/shared dependency" by @scopsy in #7206
  • feat(dashboard): Inbox starter onboarding page by @scopsy in #7154
  • fix(api): step naming by @djabarovgeorge in #7140
  • fix(api): next build by @djabarovgeorge in #7217
  • fix(dashboard): minor onboarding updates by @scopsy in #7210
  • feat(api): Nv 4939 e2e testing happy path events by @tatarco in #7208
  • feat(dashboard): Clerk based settings page by @scopsy in #7202
  • feat(dashboard): api keys page by @scopsy in #7204
  • feat(dashboard): Implement email step editor & small preview by @desiprisg in #7129
  • chore(root): Release 2024-12-05 12:46 by @github-actions in #7221
  • feat(dashboard): Add workflow page action menu by @scopsy in #7222
  • feat(dashboard): add plain chat buttons by @jainpawan21 in #7209
  • feat(novu): Add --studio-host option on dev server by @4rthem in #7211
  • feat(dashboard): NV-4969 export to code preview banner by @scopsy in #7224
  • fix(dashboard): dropdown freeze by @scopsy in #7229
  • fix(dashboard): editor fields lagging by @LetItRock in #7213
  • feat(dashboard): add delay step by @ChmaraX in #7131
  • fix(dashboard): Ensure URL Input gets the available width by @SokratisVidros in #7226
  • feat(dashboard): Nv 4525 workflow editor channel preferences by @BiswaViraj in #7212
  • feat(api): add exception log by @djabarovgeorge in #7225
  • fix(dashboard): configurable code-first workflows by @ChmaraX in #7231
  • refactor(api): generate payload in runtime by @djabarovgeorge in #7192
  • chore(root): Release 2024-12-06 15:53 by @github-actions in #7233
  • feat(dashboard): Email step preview by @desiprisg in #7228
  • fix(dashboard): Always trust the URL for the environment selection by @SokratisVidros in #7223
  • fix(dashboard): fixed the missing in-app editor body message by @LetItRock in #7215
  • feat(dashboard): delay amount input field polish by @ChmaraX in #7230
  • style(dashboard): improve keys page design and look and feel by @scopsy in #7236
  • feat(api): 'Missing' issue missing when the control value has empty string by @tatarco in #7244
  • fix(api): allow empty email preview by @djabarovgeorge in #7239
  • chore(root): Release 2024-12-09 08:06 by @github-actions in #7241
  • feat(dashboard): Billing settings page in dashboard v2 by @scopsy in #7203
  • fix(dashboard): run queue invocations safely by @ChmaraX in #7243
  • fix(dashboard): autosave do not block request on validation errors by @LetItRock in #7246
  • fix(dashboard): Fix double separator on step template sheet by @desiprisg in #7247
  • feat(dashboard): Delay step custom controls by @desiprisg in #7242
  • chore(dashboard): Update maily dep by @desiprisg in #7261
  • feat(api): add full step data to workflow dto; refactor by @ChmaraX in #7235
  • fix(dashboard): Fix stale data on test workflow page by @desiprisg in #7245
  • chore(root): specify mongodb version to 8.0.3 by @merrcury in #7258
  • feat(api): revert preview tests that was deleted by @djabarovgeorge in #7237
  • feat(api): add sms control schema by @djabarovgeorge in #7250
  • feat(web): opt-in widget view tracking by @ChmaraX in #7262
  • feat(application-generic): Integrate New Relic instrumentation for Re… by @merrcury in #7160
  • chore(root): Release 2024-12-10 08:06 by @github-actions in #7260
  • fix(dashboard): Make Trigger node clickable by @SokratisVidros in #7232
  • fix(dashboard): nested payload gen by @djabarovgeorge in #7240
  • feat(api): add chat control schema by @djabarovgeorge in #7251
  • feat(dashboard): Preferences enhancements by @BiswaViraj in #7259
  • chore(root): Release 2024-12-10 14:49 by @github-actions in #7266
  • refactor(dashboard): use workflow as a single resource by @ChmaraX in #7264
  • feat(dashboard): identify provider centralization by @scopsy in #7265
  • fix(api): dashboard workflow override by @djabarovgeorge in #7253
  • feat(api): add push control schema by @djabarovgeorge in #7252
  • fix(api): remove duplicate New Relic import in bootstrap file by @merrcury in #7161
  • feat(api): add external id api to onesignal Based on #6976 by @scopsy in #7270
  • fix(root): update newrelic and @types/newrelic to latest versions by @merrcury in #7269
  • feat(api): Nv 4966 e2e testing happy path - messages by @tatarco in #7248
  • fix(api, worker, ws): reintroduce New Relic import in instrument files by @merrcury in #7275
  • feat(dashboard): digest fixed duration by @LetItRock in #7234
  • fix(dashboard): unselect steps on canvas click by @ChmaraX in #7276
  • fix(dashboard): Apply UI fixes to email and in-app editor by @SokratisVidros in #7278
  • fix(novu): Respect .env values for API URL and SECRET_KEY by @SokratisVidros in #7279
  • fix(api): centralize upsert validation + improve nested error handling by @tatarco in #7173
  • fix(dashboard): Opt-in new orgs created from org switcher in v2 by @scopsy in #7277
  • test(api): update workflow e2e tests by @ChmaraX in #7274
  • feat(dashboard): Activity Feed Page - Stacked PR by @scopsy in #7249
  • fix(dashboard): Email step editor/preview UI fixes by @desiprisg in #7286
  • chore(api): Update maily dep by @desiprisg in #7290
  • fix(dashboard): Make maily clickable everywhere by @desiprisg in #7289
  • chore(providers): remove unused package pepipost-sdk-nodejs by @danikp in #7257
  • fix(dashboard): Remove redundant maily blocks by @desiprisg in #7295
  • fix(dal): Set authMechanism as per our environment config by @merrcury in #7285
  • feat(api): Nv 5033 additional removal cycle found unneeded elements by @tatarco in #7283
  • chore(root): update service images to version 2.1.0 and use dynamic… by @merrcury in #7297
  • fix(api): Crate of fixes part 2 by @SokratisVidros in #7292
  • fix(web): remove isV2Enabled condition for opt in option by @jainpawan21 in #7298
  • feat(web,dashboard): set member limit for business tier to 50 by @ChmaraX in #7301
  • chore(root): Release 2024-12-16 08:06 by @github-actions in #7305
  • feat(web): add org tier info in sentry and ld by @jainpawan21 in #7308
  • feat(api): add query parser by @djabarovgeorge in #7267
  • fix(dashboard): wait for save when switching preview tab by @ChmaraX in #7299
  • feat(dashboard,web): set member limit to unlimited by @ChmaraX in #7311
  • fix(web): change new dashboard widget ff condition by @jainpawan21 in #7309
  • fix(dal): adds & removes indicies across repository to make it consistent across environments by @merrcury in #7296
  • feat(dashboard): Nv 4866 Enable override custom controls and implement custom controls for Delay & Digest by @BiswaViraj in #7288
  • feat(api): Nv 5045 update the api to have same behavior as preference by @BiswaViraj in #7302
  • fix(dashboard): implement redirect to legacy studio auth page by @BiswaViraj in #7313
  • feat(dashboard): Nv 4885 push step editor by @BiswaViraj in #7306
  • refactor(api): refactor none-email control value preview usecase by @djabarovgeorge in #7303
  • fix(web): add show bridge menu for all orgs by @jainpawan21 in #7307
  • feat(dashboard): sms step by @ChmaraX in #7316
  • feat(dashboard): Nv 4884 push mini preview by @BiswaViraj in #7318
  • chore(root): Release 2024-12-18 08:06 by @github-actions in #7319
  • feat(dashboard): update node styles by @BiswaViraj in #7321
  • feat(dashboard): Nv 5066 dashboard add inline tips primitive component by @BiswaViraj in #7326
  • fix(dashboard): tags client side validation by @ChmaraX in #7325
  • feat(dashboard): design system tokens by @scopsy in #7300
  • fix(api,dashboard): Correct variable generation and parsing by @desiprisg in #7324
  • fix(dashboard): show more click triggers another trigger by @scopsy in #7327
  • feat(api): preview usecase by @djabarovgeorge in #7330
  • chore(root): Release 2024-12-19 08:06 by @github-actions in #7331
  • feat(dashboard,api): New maily variables function usage & update maily by @desiprisg in #7329
  • feat(dashboard): scheduled digest by @LetItRock in #7314
  • feat(dashboard): chat step editor and preview by @LetItRock in #7332
  • feat(dashboard): digest aggregated by key field editor with autosuggestions by @LetItRock in #7322
  • feat(dashboard): Add maily variable when closing with }} by @desiprisg in #7336
  • chore(root): Release 2024-12-20 08:05 by @github-actions in #7338
  • feat(dashboard): new integrations page view by @scopsy in #7310
  • feat(dashboard): integrations update and create flow by @scopsy in #7281
  • feat(dashboard): digest window preserve regular/scheduled tab form changes by @LetItRock in #7340
  • chore(dashboard): sms, push, chat editors show empty preview on validation error by @LetItRock in #7341
  • fix(js): add missing on click event for dropdown tabs by @AdrianPasalega in #7342
  • fix(api): fix onesignal ios_badgeCount and ios_badgeType typos by @L-U-C-K-Y in #7273
  • fix(framework): Remove @novu/shared dependency temporarily by @SokratisVidros in #7337
  • fix(api): @novu/api -> @novu/api-service by @tatarco in #7348
  • refactor(api-service): issues management by @djabarovgeorge in #7344
  • fix(dashboard): navigate root page post sync to env by @scopsy in #7350
  • fix(dashboard): Tweak arbitrary variable handling by @SokratisVidros in #7351
  • fix(dashboard): clicking outside dropdown closes the whole edit sidebar by @scopsy in #7352
  • chore(dashboard): Add for block and show behind a ff by @desiprisg in #7312
  • fix(api-service): skip sanitization for non-novu cloud based workflows by @scopsy in #7354
  • chore(root): Release 2024-12-23 08:06 by @github-actions in #7349
  • fix(api-service): digest amount saving on workflow by @scopsy in #7355
  • refactor(dashboard): unify preview accordion component and preserve changes on tab switch by @scopsy in #7353
  • style(dashboard): remove icons for consistency by @scopsy in #7356
  • feat(api-service): remove skip ref by @djabarovgeorge in #7357
  • fix(api-service): Add marks to tiptap zod schema by @desiprisg in #7339
  • fix(api-service): digest schema - remove the schema defaults as it doesn't work with the framework ajv validation by @LetItRock in #7334
  • fix(dashboard): fixed view execution logs button triggering the workflow by @LetItRock in #7335
  • chore(dashboard): scheduled digest descope the yearly option by @LetItRock in #7343
  • feat: upgrade maily by @scopsy in #7361
  • fix(api-service,dashboard): Crate of fixes for variable suggestions by @SokratisVidros in #7360
  • feat(api-service): plain cards fetch user organizations by @jainpawan21 in #7268
  • chore(root): Release 2024-12-23 21:21 by @github-actions in #7363
  • fix(api-service): Polish keysToObject by @SokratisVidros in #7362
  • chore(root): Release 2024-12-24 08:05 by @github-actions in #7364
  • fix(dashboard): Crate with fixes by @SokratisVidros in #7367
  • fix(api-service): workflow creation api flow didn't generate payload schema by @scopsy in #7366
  • refactor(api-service): variable extraction by @djabarovgeorge in #7369
  • chore(root): Release 2024-12-24 15:22 by @github-actions in #7372
  • fix(dashboard): build by @djabarovgeorge in #7373
  • chore(root): Release 2024-12-24 15:32 by @github-actions in #7374
  • feat(dashboard): changelog news widget by @scopsy in #7345
  • chore(root): Release 2024-12-25 12:08 by @github-actions in #7377
  • chore(root): Release 2024-12-25 12:48 by @github-actions in #7378
  • chore(root): Release 2024-12-25 13:32 by @github-actions in #7380
  • chore(root): Release 2024-12-25 14:11 by @github-actions in #7381
  • feat(api-service): refactor issue error messages by @djabarovgeorge in #7359
  • fix(api-service): empty email preview by @djabarovgeorge in #7382
  • fix(dashboard): minor fixes by @scopsy in #7383
  • fix(api-service): stripe event fix by @scopsy in #7386
  • feat(api-service): polish action steps by @djabarovgeorge in #7389
  • fix(api-service): in app avatar sanitize by @djabarovgeorge in #7392
  • fix(api-service): sort by parentid when created at is duplicated by @scopsy in #7394
  • chore(root): Release 2024-12-27 08:05 by @github-actions in #7393
  • chore(deps-dev): bump pnpm from 9.11.0 to 9.15.0 by @dependabot in #7272
  • chore(root): Release 2024-12-27 11:08 by @github-actions in #7395
  • chore(dashboard,web): Clean up feature flags by @SokratisVidros in #7365
  • fix(js): Inbox DX fixes by @SokratisVidros in #7396
  • fix(api-service): Remove team member invitation nudge logic by @SokratisVidros in #7397
  • chore(root): Release 2024-12-30 08:06 by @github-actions in #7405
  • feat(dashboard): Make the whole workflow row clickable by @desiprisg in #7408
  • chore(root): Release 2024-12-31 08:05 by @github-actions in #7410
  • feat(dashboard): Add indentWithTab prop to Editor by @desiprisg in #7411
  • fix(api-service): when step is deleted remove all associated variables by @LetItRock in #7407
  • feat(dashboard): Aligned button component with design system by @scopsy in #7413
  • chore(dashboard): maily patch update by @LetItRock in #7419
  • feat(dashboard): show delay value on workflow node by @ChmaraX in #7415
  • feat(dashboard): align sms and push phones by @ChmaraX in #7425
  • feat(dashboard): switch tlggle aligned with design system by @scopsy in #7427
  • feat(dashboard): separator component aligned with design system by @scopsy in #7426
  • fix(novu): automatically create indexes on startup by @L-U-C-K-Y in #7431
  • feat(api-service): fix additional properties issue by @djabarovgeorge in #7434
  • feat(dashboard): add textarea component aligned with figma designs by @scopsy in #7423
  • chore(root): Release 2025-01-07 08:06 by @github-actions in #7443
  • fix(api-service): on global preferences update reset workflow preferences per env by @LetItRock in #7428
  • refactor(api-service): simplify variable validation by @djabarovgeorge in #7442
  • feat(dashboard): remove beta tags from ui by @scopsy in #7438
  • fix(client): Save step template form on unmount to handle esc key by @desiprisg in #7444
  • chore(root): Release 2025-01-07 12:57 by @github-actions in #7449
  • feat(api-service): add marks liquid parse by @djabarovgeorge in #7440
  • fix(api-service): translation groups causing long response time in v2 create/update workflow by @LetItRock in #7450
  • chore(api-service): Instrument get subscriber preferences by @SokratisVidros in #7451
  • chore(root): Release 2025-01-07 16:48 by @github-actions in #7452
  • feat(dashboard): copy button and arrow right micro interaction NV-4997 by @scopsy in #7445
  • feat(root, api-service, worker, ws, webhook): migrate from aws ssm to aws secret manager by @merrcury in #7409
  • Revert "feat(root, api-service, worker, ws, webhook): migrate from aws ssm to aws secret manager" by @merrcury in #7466
  • feat(dashboard): add useBeforeUnload hook to prevent accidental tab closure during updates by @BiswaViraj in #7471
  • fix(application-generic): potential get preferences performance improvement by @LetItRock in #7467
  • fix(web,api-service): redirect edit action of v1 workflows to old web app when opt-in by @LetItRock in #7460
  • feat(dashboard): edit step conditions drawer by @LetItRock in #7417
  • feat(api-service): restore email show support by @djabarovgeorge in #7453
  • fix(api-service): bug report skipped in-app step will cause fail by @djabarovgeorge in #7468
  • refactor(dashboard): input field by @scopsy in #7418
  • chore(root): polish after review by @djabarovgeorge in #7401
  • fix(dashboard): adjust sidebar to allow overflow and maintain layout by @BiswaViraj in #7472
  • feat(dashboard): ✨ Polish add resize handle for activity feed panel to improve long errors view by @scopsy in #7465
  • feat(root, api-service, worker, ws, webhook): migrate from aws ssm to aws secret manager by @merrcury in #7473
  • chore(root): Release 2025-01-09 15:30 by @github-actions in #7476
  • fix(dashboard): remove focus ring from amount input select trigger by @BiswaViraj in #7479
  • fix(dashboard): adjust layout and overflow handling in Trigger page by @BiswaViraj in #7480
  • fix(dashboard): timezone offset for utc in time widget by @scopsy in #7463
  • chore(root): Release 2025-01-10 08:05 by @github-actions in #7481
  • fix(dashboard): update custom step icon to code block by @BiswaViraj in #7482
  • feat(dashboard): Open step template drawer on Add Step by @desiprisg in #7406
  • chore(web,dashboard): remove legacy bundle from dashboard by @LetItRock in #7474
  • fix(api-service): E2E improvements by @SokratisVidros in #7461
  • feat(api-service): polish attrs process by @djabarovgeorge in #7477
  • feat(dashboard): badge component by @scopsy in #7447
  • feat(api-service): SDK test updates by @tatarco in #7315
  • chore(api-service): Remove forgotten console.log by @SokratisVidros in #7490
  • fix(dashboard): fix clickable actions button by @scopsy in #7492
  • fix(api-service): new workflow e2e by @djabarovgeorge in #7485
  • fix(api-service): test trigger page crash by @djabarovgeorge in #7495
  • feat(dashboard): Add a disableOutputSanitization option for in app steps by @desiprisg in #7456
  • feat(dal): new Indicies to reduce CPU load on common queries by @merrcury in #7497
  • fix(api-service): preview by @djabarovgeorge in #7498
  • feat(dashboard): variable management for all editor fields by @scopsy in #7379
  • feat(api-service): update sync use new issue creation by @djabarovgeorge in #7484
  • chore(api-service): remove redundant variable wrap by @djabarovgeorge in #7500
  • feat(dashboard): restore email editor 'for' block by @ChmaraX in #7483
  • fix(api-service): Enhance Feed DTO by @tatarco in #7501
  • fix(api-service): set check field as false by default by @jainpawan21 in #7469
  • chore(root): Release 2025-01-15 12:43 by @github-actions in #7511
  • fix(dashboard): Move bypass sanitization code by @desiprisg in #7513
  • chore(root): Release 2025-01-15 13:41 by @github-actions in #7514
  • chore(root): Release 2025-01-15 13:48 by @github-actions in #7516
  • fix(dashboard): new line for single inputs by @scopsy in #7518
  • fix(api-service): fix & simplify email liquid parsing by @ChmaraX in #7519
  • fix(dashboard): restore tailwind animations by @LetItRock in #7520
  • fix(api-service): api response for notification feed endpoint by @scopsy in #7521
  • feat(api-service): Create subscriber and workflow event by @scopsy in #7508
  • chore(root): Release 2025-01-16 08:05 by @github-actions in #7523
  • fix(dashboard): scroll by @BiswaViraj in #7529
  • fix(api-service,dal): activity feed item can have deleted workflow or subscriber data by @LetItRock in #7528
  • fix(dashboard): editor multiline property by @ChmaraX in #7524
  • fix(api-service): keep only editor vars in preview payload by @ChmaraX in #7527
  • fix(dashboard): allow only parsable json in preview editor by @ChmaraX in #7530
  • chore(root): Release 2025-01-16 14:35 by @github-actions in #7531
  • chore(root): Release 2025-01-16 18:31 by @github-actions in #7535
  • feat(dashboard): Nv 4985 dashboard error state if get workflows fail we have not by @BiswaViraj in #7494
  • fix(dashboard): adjust layout and improve scrolling on test trigger page by @BiswaViraj in #7532
  • fix(api-service): Nv 4862 e2e tests retry by @tatarco in #7504
  • fix(web): activity feed item empty modal by @jainpawan21 in #7538
  • feat(dashboard): Template store modal by @scopsy in #7436
  • feat(dashboard): add sentry custom tags by @jainpawan21 in #7539
  • fix(dashboard): trigger autosave after applying the filters by @BiswaViraj in #7542
  • feat(dashboard): step conditions editor ui by @LetItRock in #7502
  • feat(dashboard): step conditions form and save logic by @LetItRock in #7526
  • chore(root): Release 2025-01-20 08:06 by @github-actions in #7541
  • feat(api): Nv 5101 email sent from new dashbord has message clipped block in by @BiswaViraj in #7545
  • chore(root): Release 2025-01-21 08:05 by @github-actions in #7549
  • refactor(api-service): simplify email render flow by @ChmaraX in #7544
  • feat(dashboard): Multi environments management by @scopsy in #7522
  • feat(api-service): fetch user sessions for plain cards by @jainpawan21 in #7404
  • feat(api-service): build variable showIdKey as true by @djabarovgeorge in #7487
  • chore(root): Release 2025-01-22 08:05 by @github-actions in #7555
  • chore(root): bump version to 2.1.1 for multiple packages by @merrcury in #7557
  • feat(dashboard): workflow template store cta on list page by @scopsy in #7540
  • feat(api-service,dashboard): step conditions validation logic and conditions editor perf improvements by @LetItRock in #7543
  • fix(api-service): add missing environment variable by @AminulBD in #7553
  • refactor(worker, application-generic): remove cloudwatch metrics serv… by @merrcury in #7558
  • fix(dashboard): fix issues on environment management NV-5232 by @scopsy in #7559
  • fix(dashboard): custom controls UI design by @BiswaViraj in #7560
  • fix(worker): delay duration by @djabarovgeorge in #7496
  • refactor(web): remove sample workflow sync by @scopsy in #7563
  • feat(dashboard): remove digest key by @djabarovgeorge in #7564
  • feat(dashboard): Workflows search and sort functionality - NV-4462 & NV-4461 by @scopsy in #7550
  • chore(api-service,dashboard): step condition rules compile the liquid template by @LetItRock in #7547
  • blacksmith.sh: Migrate workflows to Blacksmith by @blacksmith-sh in #7568
  • chore(root): Release 2025-01-23 12:04 by @github-actions in #7567
  • chore(root): Release 2025-01-23 12:55 by @github-actions in #7570
  • fix(worker): digest by key by @djabarovgeorge in #7569
  • feat(dashboard): improve telemetry for env by @scopsy in #7571
  • chore(root): Release 2025-01-23 15:11 by @github-actions in #7573
  • feat(api-service): step skip conditions handle boolean and dates by @LetItRock in #7565
  • fix(dashboard): Crate with UI fixes by @SokratisVidros in #7536
  • chore(root): Remove unused queue by @SokratisVidros in #7576
  • feat(api-service): Add NOVU_SECRET_KEY to example environment configu… by @merrcury in #7577
  • fix(api-service): email 'if' condition truthy values by @ChmaraX in #7551
  • fix(dashboard): Another create with UI fixes by @SokratisVidros in #7583
  • chore(root): Release 2025-01-24 12:52 by @github-actions in #7584
  • fix(api-service): return null if user does not exist by @jainpawan21 in #7586
  • feat(dashboard): environments empty state MRK-320 by @scopsy in #7580
  • feat(dashboard): Liquidjs Filters tooltip NV-5235 by @scopsy in #7561
  • fix(dashboard): free trial card visiblity for paid accounts by @scopsy in #7588
  • chore(root): Release 2025-01-27 08:06 by @github-actions in #7589
  • feat(dashboard): email 'for' block visual cues by @ChmaraX in #7581
  • fix(api-service,dashboard): step conditions begins with operator plus ui fixes for cut inputs by @LetItRock in #7582
  • feat(api-service,dashboard): New subscribers page and api by @desiprisg in #7525
  • feat(api-service): get subscriber by @BiswaViraj in #7591
  • fix(worker): sendErrorStatus to not include unnecessary data by @merrcury in #7578
  • fix(dashboard): email for loop without variables by @ChmaraX in #7585
  • fix(dashboard): allow removing all step conditions by @LetItRock in #7595
  • fix(application-generic): Check for environment at the very top by @SokratisVidros in #7597
  • feat(api-service): Add patch subscriber functionality with tests by @BiswaViraj in #7596
  • fix(dashboard): skip conditions ui schema check by @ChmaraX in #7592
  • feat(dashboard): Workflow onboarding checklist. by @scopsy in #7593
  • chore(root): Release 2025-01-29 08:05 by @github-actions in #7608
  • chore(root): Release 2025-01-28 08:05 by @github-actions in #7598
  • fix(web): remove digest check and add failed state by @djabarovgeorge in #7605
  • chore(root): Release 2025-01-29 10:20 by @github-actions in #7610
  • chore(api-service,dashboard): Replace create_at sorting with _id for subscribers by @desiprisg in #7603
  • feat(api-service,dashboard): Delete subscriber functionality by @desiprisg in #7607
  • chore(api-service,dashboard): step conditions - execute if conditions match by @LetItRock in #7594
  • fix(dashboard): step conditions allow duplicating max 10 rules or groups by @LetItRock in #7602
  • feat(api-service,dashboard): add step events.length variable by @LetItRock in #7601
  • feat(api-service): add internal sdk by @tatarco in #7599
  • fix(api-service): Exclude customers from duration restrictions by @SokratisVidros in #7615
  • chore(root): Release 2025-01-30 08:51 by @github-actions in #7618
  • fix(api-service): Nv 5293 sdk cleanup pre release by @tatarco in #7616
  • fix(dashboard): Subscriber page UI fixes by @desiprisg in #7619
  • feat(api-service): Add clerk analytical hooks for memberships by @scopsy in #7614
  • chore(root): Release 2025-01-30 12:26 by @github-actions in #7621
  • feat(dashboard): Reshape draggable filters behaviour by @desiprisg in #7622
  • fix(worker): add weeks and months support by @djabarovgeorge in #7626
  • chore(root): Release 2025-01-30 16:59 by @github-actions in #7627
  • chore(root): Release 2025-01-30 15:18 by @github-actions in #7623
  • chore(root): Release 2025-01-31 08:05 by @github-actions in #7631
  • fix(api-service): security wrapping on public sdk by @tatarco in #7630
  • feat(api-service): get subscriber preferences v2 endpoint by @ChmaraX in #7613
  • feat(api-service): patch subscriber preferences v2 endpoint by @ChmaraX in #7629
  • fix(dashboard): Add Remove Novu Branding to Inbox by @SokratisVidros in #7636
  • feat(dashboard): more precise calculation of step conditions by @LetItRock in #7628
  • chore(root): Release 2025-02-03 08:06 by @github-actions in #7644
  • chore(root): Release 2025-02-03 09:25 by @github-actions in #7645
  • fix(dashboard): Fix inbox playground subject input crop by @desiprisg in #7648
  • feat(dashboard): add dropdown support by @scopsy in #7647
  • feat(dashboard): Digest liquid helper and popover handler by @scopsy in #7439
  • refactor(api-service): centralize auth into @novu/api and reduce DI complexity by @ChmaraX in #7640
  • chore(api-service): remove unused global SubscriberRouteGuard by @ChmaraX in #7641
  • refactor(api-service): move subs prefs usecases to API subs module by @ChmaraX in #7642
  • fix(api): duplicated subscribers created due to race condition by @tatarco in #7646
  • fix(js): Await read action in Inbox by @SokratisVidros in #7653
  • fix(web): local studio add workflow broken link by @jainpawan21 in #7633
  • feat(dashboard): fix on hover regression by @djabarovgeorge in #7604
  • fix(worker): remove payload email override by @djabarovgeorge in #7649
  • feat(dashboard): email editor variable suggestions dropdown, pill, editing by @LetItRock in #7625
  • fix(root): update Docker command in release preparation script by @merrcury in #7657
  • chore(root): Release 2025-02-05 10:17 by @github-actions in #7660
  • fix(dashboard,api-service): step conditions - disallow arbitrary fields and namespaces by @LetItRock in #7638
  • fix(api-service): extend TTL on lock by @tatarco in #7662
  • chore(root): Release 2025-02-05 14:22 by @github-actions in #7665
  • feat(api-service): add rate limit category flag to the new subscribers route by @djabarovgeorge in #7664
  • feat(dashboard): fix code defined delay copy by @djabarovgeorge in #7661
  • feat(dashboard): workflow trigger integration instructions MRK-317 by @scopsy in #7612
  • fix(worker): reduce and refactor number of logs by @merrcury in #7554
  • feat(dashboard): Nv 5276 Subscriber UI overview tab by @BiswaViraj in #7632
  • fix(dashboard,api-service): rename maily for loop to repeat by @LetItRock in #7663
  • fix(api-service): Fix api e2e deadlock by @SokratisVidros in #7575
  • chore(root): Release 2025-02-06 08:06 by @github-actions in #7671
  • chore(root): Release 2025-02-06 11:01 by @github-actions in #7673

New Contributors

Full Changelog: v2.1.0...v2.1.1

Don't miss a new novu release

NewReleases is sending notifications on new releases.