What's Changed
- Fix dashboard duplication by @bosiraphael in #16505
- Deprecate workspace datasoure by @Weiko in #16507
- fix(server): Favortites, attachments, timeline... by @guillim in #16509
- feat(ai): refresh AI models with deprecation support and multi-provider defaults (BREAKING: deploy server before frontend please) by @FelixMalfait in #16503
- i18n - translations by @github-actions[bot] in #16514
- i18n - translations by @github-actions[bot] in #16515
- i18n - docs translations by @github-actions[bot] in #16516
- feat(ai): replace agent search with skills system by @FelixMalfait in #16513
- feat(ai): add dashboard tools for AI chat by @FelixMalfait in #16517
- fix: Display locked UI for restricted email thread messages by @abdulrahmancodes in #16512
- Filter BAD_USER_INPUT errors from Sentry by @abdulrahmancodes in #16511
- Add TTL eviction to local data cache by @Weiko in #16510
- Fix raw json field display in read only by @etiennejouan in #16502
- i18n - translations by @github-actions[bot] in #16522
- i18n - docs translations by @github-actions[bot] in #16524
- feat(ai): add context usage display to AI chat (BREAKING: deploy server first) by @FelixMalfait in #16518
- feat: add feature to customize onClick behaviour for phone, email and links data type by @abk404 in #16265
- Fix fetch more notes by @etiennejouan in #16442
- [DASHBOARDS] Fix date order by by @bosiraphael in #16521
- i18n - translations by @github-actions[bot] in #16527
- fix(server): non blocking CleanEmptyStringNullInTextFieldsCommand error by @prastoin in #16529
- i18n - docs translations by @github-actions[bot] in #16537
- Fix rest metadata version missing by @Weiko in #16536
- [RenameIndexCommand] Fix orphaned index edge case by @prastoin in #16539
- Fixed Apollo cache bug by @lucasbordeau in #16523
- Fix APIKey in search resolver for get role by @Weiko in #16540
- Prevent table columns to be too narrow by @charlesBochet in #16542
- [Dashboards] Rich text editor frontend by @ehconitin in #16437
- Investigate - Slow transformRichTextV2 function by @etiennejouan in #16535
- Facebook links: display profile instead of full url by @Bonapara in #16414
- i18n - translations by @github-actions[bot] in #16545
- Fix rename index command error code edge case by @prastoin in #16556
- fix(twenty-shared): preserve special characters in URLs by @asasin235 in #16312
- Bump @types/unzipper from 0.10.10 to 0.10.11 by @dependabot[bot] in #16554
- fix: ensure deactivated object records do not appear in search by @mabdullahabaid in #16532
- Fix rename index collides with existing v2 index by @prastoin in #16560
- feat(workflow): improve Add node discovery by @adityashirsatrao007 in #16547
- fix(workflow): line break not supported by Send Email Nodes by @abk404 in #16561
- fix messaging error parsing by @neo773 in #16448
- Update null command by @etiennejouan in #16567
- Increase bundle size to 6.9MB by @charlesBochet in #16568
- feat(ai): add code interpreter for AI data analysis by @FelixMalfait in #16559
- Compute output schema on frontend by @thomtrp in #16530
- lazy load rich text widget by @ehconitin in #16569
- [Dashboards] add hide empty category option for pie charts by @ehconitin in #16550
- Fix APIKey typing by @Weiko in #16541
- i18n - translations by @github-actions[bot] in #16574
- 1895 extensibility v1 application tokens 3 by @martmull in #16504
- prevent filtering out messages sent by user when their handle resembes group email by @neo773 in #16508
- Remove viewGroup.fieldMetadataId by @ijreilly in #16571
- revert bundle size increase by @ehconitin in #16575
- E2B var env fix by @etiennejouan in #16576
- fix: ensure unique GraphQL schema caching per API key by @abdulrahmancodes in #16411
- [Dashboards] add legend hover highlight for graph widgets by @ehconitin in #16551
- Fix action menu modals rendering inside dropdown containers by @abdulrahmancodes in #16478
- Added relative date filter to dashboards by @lucasbordeau in #16292
- Update hello-world twenty-sdk version by @martmull in #16579
- fix: incomplete URL substring sanitization in linkedin-browser-extension. by @mabdullahabaid in #16586
- Standard Agent, Role, Role target by @prastoin in #16499
- Display a CTA to view the existing duplicate when adding a duplicate email/domain. by @mabdullahabaid in #16483
- Update migration command by @martmull in #16578
- feat(server): enforce userFriendlyMessage on all exceptions by @FelixMalfait in #16589
- i18n - translations by @github-actions[bot] in #16596
- i18n - docs translations by @github-actions[bot] in #16600
- Vendor twenty-shared into twenty-sdk by @martmull in #16592
- Update dashboard Icons by @bosiraphael in #16605
- [DASHBOARDS] Rotate ticks on bar and line charts by @bosiraphael in #16528
- Fix bug on Links, Array, Emails, Phones Field inputs by @charlesBochet in #16603
- Function trigger updates 2 by @martmull in #16608
- e2e tests by @ijreilly in #16533
- Feature 15797 add secondary action button by @Lakshayyy-m in #16582
- i18n - translations by @github-actions[bot] in #16614
- feat: add full path label tooltip for workflow filter field by @LuckyGoyal039 in #16580
- i18n - docs translations by @github-actions[bot] in #16620
- handle localization and property parameters in CalDAV iCal parsing by @neo773 in #16519
- Second Action Button - fix by @etiennejouan in #16613
- Follow up on FieldInput fix by @charlesBochet in #16611
- Remove position input from zapier by @martmull in #16616
- Fix drag and drop in dropdown by @bosiraphael in #16622
- Async validators and additional cache maps in v2 Builder by @prastoin in #16618
- Common API - Add tests on position field validation at creation by @etiennejouan in #16630
- fix(workflows): align variable regex with validation and prevent ReDoS by @mabdullahabaid in #16607
- [DASHBOARDS] Hide tab menu items instead of disabling them by @bosiraphael in #16629
- feat: 🎸 added higher resoulution options in the dateTime Filter by @Bhoomaahamso in #16548
- Create typeguards for widget configurations by @bosiraphael in #16627
- fix: hide GraphQL stack traces and messages in production by @mabdullahabaid in #16593
- feat: add lingui/no-unlocalized-strings ESLint rule and fix translations by @FelixMalfait in #16610
- i18n - translations by @github-actions[bot] in #16644
- i18n - docs translations by @github-actions[bot] in #16646
- feat: soft disable LOCAL code interpreter driver in production by @FelixMalfait in #16647
- fix: ensure QueryRunner is released in workspace schema operations by @FelixMalfait in #16649
- Use parameterized query in getRemoteTableLocalName by @FelixMalfait in #16651
- fix: bill all events in BillingUsageService.billUsage() instead of only the first one by @FelixMalfait in #16650
- feat: add resizable navigation drawer and command menu panels by @FelixMalfait in #16612
- feat: move support links to workspace switcher by @FelixMalfait in #16653
- I18n Translations by @FelixMalfait in #16656
- i18n - translations by @github-actions[bot] in #16657
- i18n - docs translations by @github-actions[bot] in #16660
- fix: prevent text overflow in view picker and record table action row by @FelixMalfait in #16658
- Fix command menu input text color by @bosiraphael in #16661
- Metadata modules for
PageLayoutTabPageLayoutWidgetby @prastoin in #16662 - Always enable drag selection when side panel is opened by @bosiraphael in #16664
- Fixed command menu and main container layout by @lucasbordeau in #16665
- i18n - translations by @github-actions[bot] in #16666
- i18n - docs translations by @github-actions[bot] in #16667
- Fix subscription cross tenant issue by @martmull in #16670
- Fix/close filter by enter by @ManikanthMartha in #16643
- [DASHBOARDS] Add the ability to click to create a widget by @bosiraphael in #16673
- Billing - Fix subscription_schedule release by @etiennejouan in #16669
- i18n - translations by @github-actions[bot] in #16678
- Billing - fix duplicate key value violates unique constraint "IndexOnActiveSubscriptionPerWorkspace" by @etiennejouan in #16676
- i18n - translations by @github-actions[bot] in #16682
- Refactor seed to use twenty-standard application by @prastoin in #16598
- [DASHBOARDS] Fix settings color palette by @bosiraphael in #16681
- i18n - docs translations by @github-actions[bot] in #16685
- Add pattern for variable tag in tiptap by @thomtrp in #16652
- i18n - translations by @github-actions[bot] in #16687
- Fix ts error resolve rich text by @thomtrp in #16688
- Add field widget by @Devessier in #16609
- i18n - translations by @github-actions[bot] in #16690
- Fix standard agent and roles deletion command by @prastoin in #16686
- i18n - translations by @github-actions[bot] in #16692
- Make view bar filter dropdown field select scrollable by @lucasbordeau in #16684
- Read some endpoints on replica db (behind feature flag) by @ijreilly in #16677
- fix: mdast-util-to-hast has unsanitized class attribute by @mabdullahabaid in #16699
- changing location of lint rule by @guillim in #16703
- Refactor workspace creation by @prastoin in #16689
- fix: resolve react warning when updating state during render in SettingsPublicDomainsListCard by @abdulrahmancodes in #16700
- Implement new version of the side panel sub header by @bosiraphael in #16683
- fix: nodemailer is vulnerable to DoS through uncontrolled recursion. by @mabdullahabaid in #16698
- Refactor upsertRecordsInStore to accept an object with partialRecords by @charlesBochet in #16707
- Filter expected errors from sentry by @abdulrahmancodes in #16642
- fix: Next has a denial of service with server components by @mabdullahabaid in #16702
- feat: rename Releases settings page to Updates by @Bonapara in #16634
- i18n - translations by @github-actions[bot] in #16711
- fix: next has a denial of service with server components by @mabdullahabaid in #16710
- fix: auth0/node-jws improperly verifies HMAC signature by @mabdullahabaid in #16712
- Fix create twenty app template by @martmull in #16708
- Message folders optimization by @neo773 in #16479
- i18n - docs translations by @github-actions[bot] in #16717
- Add useUpdateManyRecords hook and message folders sync status mutation by @neo773 in #16694
- i18n - translations by @github-actions[bot] in #16720
- [POC] Real-Time by @thomtrp in #16633
- remove IMAP_SMTP_CALDAV feature flag by @neo773 in #16695
- Gmail error handling fixes by @neo773 in #16719
- Fix composite upsert by @thomtrp in #16718
- i18n - docs translations by @github-actions[bot] in #16721
- Field widget edit relations by @Devessier in #16714
- Fix Global workflows not pinned by @charlesBochet in #16728
- User guide structure update by @StephanieJoly4 in #16705
- Restore docs.json user guide structure from PR #16705 by @FelixMalfait in #16741
- fix(docs): only download translations for supported languages by @FelixMalfait in #16744
- Restore navigation structure from PR #16705 by @FelixMalfait in #16742
- I18n Docs by @FelixMalfait in #16746
- fix(docs): configure target languages in crowdin.yml by @FelixMalfait in #16745
- feat: validator is vulnerable to incomplete filtering of one or more instances of special elements by @mabdullahabaid in #16748
- Enable read on replica for all by @ijreilly in #16740
- 1774 extensibility v1 create an exhaustive documentation readme or dedicated section in twenty contributing doc by @martmull in #16751
- Edit simple values in Field widget by @Devessier in #16749
- fix: storybook manager bundle may expose environment variables during build by @mabdullahabaid in #16747
- feat(i18n): fix translation QA issues and add automation by @FelixMalfait in #16756
- Bump ts-loader from 9.5.1 to 9.5.4 by @dependabot[bot] in #16737
- Bump tsx from 4.20.5 to 4.21.0 by @dependabot[bot] in #16738
- docs: add IS_MULTIWORKSPACE_ENABLED documentation by @FelixMalfait in #16758
- Adding one How To article to the workflow section by @StephanieJoly4 in #16760
- i18n - docs translations by @github-actions[bot] in #16761
- Allow custom fields to be editable for system objects and prevent the error for timeline activity on system object pages. by @mabdullahabaid in #16268
- i18n - docs translations by @github-actions[bot] in #16767
- Allow creation date import by @BOHEUS in #16764
- fix: enable API key management of workspace views + fix permission bypass vulnerability by @eeeggg in #16768
- Fix: Record label identifier setting not saving on first attempt by @abdulrahmancodes in #16769
- fix: prevent API keys from creating UNLISTED views by @FelixMalfait in #16770
- fix: prevent workflow step title from transferring between steps. by @LuckyGoyal039 in #16762
New Contributors
- @asasin235 made their first contribution in #16312
- @adityashirsatrao007 made their first contribution in #16547
- @Lakshayyy-m made their first contribution in #16582
- @Bhoomaahamso made their first contribution in #16548
- @eeeggg made their first contribution in #16768
Full Changelog: v1.13.0...v1.14.0