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