What's Changed
- i18n - translations by @github-actions[bot] in #19510
- Fix AI chat threads query firing for users without AI permissions by @thomtrp in #19507
- Fix rolesPermissions cache query cartesian product (62k → 162 rows) by @charlesBochet in #19511
- Replace typeorm binary by
database:migrate:generateby @prastoin in #19515 - Build lambda error - catch user code compilation errors by @thomtrp in #19516
- i18n - translations by @github-actions[bot] in #19520
- Fix system objects not appearing in sidebar View picker due to filtering mismatch by @abdulrahmancodes in #19502
- Fix/align microsoft calendar error handling by @neo773 in #19519
- Add rich-text field widget by @Weiko in #19512
- i18n - translations by @github-actions[bot] in #19521
- Add standard skills backfill and improve skill availability messaging by @FelixMalfait in #19523
- add workspaceId to indirect entities by @neo773 in #19522
- Edit visibility restriction by @Devessier in #19499
- Flatten AI tool call output structure by @FelixMalfait in #19524
- i18n - translations by @github-actions[bot] in #19525
- Fix pre post logic function not executed by @martmull in #19462
- Add file attachment support to agent chat messaging by @FelixMalfait in #19517
- i18n - translations by @github-actions[bot] in #19527
- fix mcp streamable-http method handling by @channi23 in #19496
- i18n - docs translations by @github-actions[bot] in #19529
- chore: sync AI model catalog from models.dev by @github-actions[bot] in #19533
- Remove DataSourceService and clean up datasource migration logic by @charlesBochet in #19532
- Add SSE streaming support on POST /mcp (Phase 2) by @FelixMalfait in #19528
- feat: email attachments and open-in-app click action by @FelixMalfait in #19485
- i18n - translations by @github-actions[bot] in #19537
- Pre-sync only pre-install-logic-function by @martmull in #19534
- Upgrade cli tool version by @martmull in #19538
- [AI] Add
group_by_*database tools and centralize groupBy validation by @ehconitin in #19406 - Refactor command menu items deprecated code by @bosiraphael in #19508
- i18n - translations by @github-actions[bot] in #19548
- halftone generator v1 + new 3d shapes effect start by @Bonapara in #19539
- Skip email/calendar tab creation for custom object record page layouts by @Weiko in #19544
- Upgrade command internal doc by @prastoin in #19541
- Upgrade cli tool version in technical apps by @martmull in #19542
- Object icon visual parity by @abdulrahmancodes in #19374
- Remove Favorite and FavoriteFolder from workspace schema by @charlesBochet in #19536
- Workspace export command follow-up by @neo773 in #19549
- i18n - translations by @github-actions[bot] in #19551
- Support junction relations in Field widget by @Devessier in #19518
- Fix error handling in stream agent chat job by @FelixMalfait in #19550
- Optim - Increase connection idle timeout by @etiennejouan in #19553
- Workflow - Avoid billing skipped steps by @thomtrp in #19547
- fix: expand kanban column drop zone to full height by @JASSBR in #18897
- Lambda build update instead of delete existing logic function while building by @prastoin in #19116
database:init:prodtriggers instance slow command too by @prastoin in #19555database:resetdepends ondatabase:initthat runs slow instance commands by @prastoin in #19557- Fix server-validation ci pending instance command detection by @prastoin in #19558
- Fix merge command being available in exclusion mode by @bosiraphael in #19546
- Replace AGENT_CHAT_UNKNOWN_THREAD_ID with null for thread state by @FelixMalfait in #19552
- fix: side panel close animation cleanup not firing due to invalid CSS transition by @abdulrahmancodes in #19556
- Fix: Select next sidebar menu item after removing current item by @abdulrahmancodes in #19505
- i18n - translations by @github-actions[bot] in #19569
- Remove IS_USAGE_ANALYTICS_ENABLED feature flag by @FelixMalfait in #19566
- i18n - translations by @github-actions[bot] in #19570
- Use app's own OAuth credentials for CoreApiClient generation by @charlesBochet in #19563
- Bump twenty-sdk, twenty-client-sdk, create-twenty-app to 1.22.0-canary.1 by @charlesBochet in #19580
- halftone v2 by @Bonapara in #19573
- Exchange clientSecret for tokens after app registration + bump canary by @charlesBochet in #19582
- Improve NullCheckEnum filter descriptions with usage examples by @FelixMalfait in #19581
- Fix sdk-e2e-test: ensure DB is ready before server starts by @charlesBochet in #19583
- Bump twenty-sdk, twenty-client-sdk, create-twenty-app to 1.22.0-canary.3 by @charlesBochet in #19587
- Add app-path input to deploy and install composite actions by @charlesBochet in #19589
- Improve sensitive config variable masking and editing UX by @FelixMalfait in #19578
- i18n - translations by @github-actions[bot] in #19591
- Convert AI chat state atoms to component family states by @FelixMalfait in #19585
- Add APPLICATION_LOG_DRIVER=CONSOLE to twenty-app-dev container by @charlesBochet in #19600
- Fix syncApplication failing when navigation menu item child is listed before folder in manifest by @charlesBochet in #19599
- Inline twenty-shared types in SDK declarations by @charlesBochet in #19605
- Clear stale SDK config on uninstall and invalid client by @charlesBochet in #19608
- small fixes on pricing by @Bonapara in #19603
- Halftone studio v3 (glass effect) by @Bonapara in #19598
- Add isUnique support for application-defined fields by @charlesBochet in #19609
- Re-export missing types from SDK public API by @charlesBochet in #19610
- Export field settings types from SDK public API by @charlesBochet in #19611
- Fields widget draft view by @Weiko in #19562
- i18n - translations by @github-actions[bot] in #19612
- fix: prevent image upload panel from being clipped in side panel by @bugisthegod in #19572
- fix: prevent image upload panel from being clipped in side panel by @sanskar0627 in #19613
- Add admin panel workspace detail page with chat viewer by @FelixMalfait in #19579
- i18n - translations by @github-actions[bot] in #19621
- Fix command
FixMessageThreadViewAndLabelIdentifierCommandby @prastoin in #19622 - Implement cross version upgrade by @prastoin in #19559
- Fix e2e by @Devessier in #19639
- Switch app test infra to globalSetup with appDevOnce by @charlesBochet in #19623
- Fix design by @martmull in #19628
- Fix installed app setting tab by @martmull in #19629
- Rename standard and custom apps by @martmull in #19631
- Disable permission tab when empty by @martmull in #19630
- i18n - translations by @github-actions[bot] in #19643
- i18n - translations by @github-actions[bot] in #19645
- Implement full tab widget frontend by @Devessier in #19568
- Document isAuthRequired: true instead of false by @martmull in #19641
- Colliding
subjectfield fix onmessageThreadcommand by @prastoin in #19637 - Fix side panel close button title by @bosiraphael in #19638
- Fix permission flag deletion validator by @martmull in #19636
- i18n - translations by @github-actions[bot] in #19646
- i18n - translations by @github-actions[bot] in #19647
- Fixes on website by @Bonapara in #19625
- Add per-workspace error handling to CronTriggerCronJob by @neo773 in #19640
- More website updates. by @mabdullahabaid in #19624
- few fixes by @Bonapara in #19648
- Move view field label identifier deletion validation into the cross entity validation by @prastoin in #19642
- i18n - docs translations by @github-actions[bot] in #19651
- i18n - translations by @github-actions[bot] in #19652
- refactor messaging jobs by @neo773 in #19626
- Prevent cross version upgrade mismatch in
1.22by @prastoin in #19627 - Fix merge with null value + reset data virtualization before init load by @thomtrp in #19633
- Fix navbar folder not opening on page refresh when it has an active child item by @abdulrahmancodes in #19619
- Fix: Filter out deactivated objects from navigation sidebar by @abdulrahmancodes in #19620
- Fix VariablePicker and Fullscreen Icon overlap in FormAdvancedTextFieldInput by @neo773 in #19614
- Fix
AddPermissionFlagRoleIdIndexFastInstanceCommandby @prastoin in #19654 - Sync command menu with main context store by @bosiraphael in #19650
- i18n - translations by @github-actions[bot] in #19656
- Add banner for not vetted apps by @martmull in #19655
- i18n - translations by @github-actions[bot] in #19661
- Remove app record if first install fails by @martmull in #19659
- Remove orphaned workspaceId column from BillingSubscriptionItemEntity by @charlesBochet in #19660
- Add ClickHouse-backed metered credit cap enforcement by @FelixMalfait in #19586
- Deprecate IS_RECORD_TABLE_WIDGET_ENABLED feature flag by @FelixMalfait in #19662
- Fix testimonials background, faq clickability and some case-studies page edits. by @mabdullahabaid in #19657
- Clean event creation exception by @thomtrp in #19561
- fix: return 404 for deleted workspace webhook race by @hussainarslan in #19439
- few website updates by @Bonapara in #19663
- test: fix failing useColorScheme test and remove FIXME by @srijita2506 in #19593
- Remove 'twenty-app' keyword by default by @martmull in #19669
- Move backfill page layout to
1.23by @prastoin in #19670 - fix(api-key): batch role resolution with DataLoader to fix N+1 by @oniani1 in #19590
- i18n - docs translations by @github-actions[bot] in #19672
- fix: edit button not coming up on avatar right after image upload by @amlannandy in #19596
- Add gql operationName metadata in sentry by @etiennejouan in #19564
- Fix upgrade commands discovery outside of cli by @prastoin in #19671
- Fix Quick Lead command menu item not appearing by @bosiraphael in #19635
- Fix view filter/sort deletion by @etiennejouan in #19567
- Rpl various fixes by @Devessier in #19668
- Move is active to fe by @Weiko in #19649
- i18n - docs translations by @github-actions[bot] in #19677
New Contributors
- @JASSBR made their first contribution in #18897
- @sanskar0627 made their first contribution in #19613
- @hussainarslan made their first contribution in #19439
- @srijita2506 made their first contribution in #19593
- @amlannandy made their first contribution in #19596
Full Changelog: v1.21.0...v1.22.4