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
- @4rthem made their first contribution in #7211
- @danikp made their first contribution in #7257
- @AdrianPasalega made their first contribution in #7342
- @AminulBD made their first contribution in #7553
Full Changelog: v2.1.0...v2.1.1