Twenty
The open alternative to Salesforce, designed for AI
Alternative to: salesforce, hubspot, pipedrive, zoho crm
About
Versions (102)
twenty/v2.22.0
2026-07-17What’s Changed
- chore: bump version to 2.22.0 by @twenty-pr[bot] in https://github.com/twentyhq/twenty/pull/22867
- fix: validation link for access-domains deeplinks to Invite tab by @brahmlower in https://github.com/twentyhq/twenty/pull/22845
- Resolve application registration logo and gallery image urls at query time by @martmull in https://github.com/twentyhq/twenty/pull/22827
- Fix(Twenty-front): Junction field unable to display as table by @git-init-priyanshu in https://github.com/twentyhq/twenty/pull/22844
- fix(front): allow dismissing [Credits limit reached] banner by @dankgarlic1 in https://github.com/twentyhq/twenty/pull/22843
- feat(workflow-tools): add get_logic_function_source tool by @phelix001 in https://github.com/twentyhq/twenty/pull/22835
- chore(twenty-partners): upgrade to twenty-sdk 2.21 by @prastoin in https://github.com/twentyhq/twenty/pull/22869
- i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22865
- Align call recorder vocabulary with core dialect by @ehconitin in https://github.com/twentyhq/twenty/pull/22831
- fix(front): constrain 2FA sign-in screens and dedupe their shared shell by @charlesBochet in https://github.com/twentyhq/twenty/pull/22886
- drop nestjs-query IDField from standalone DTOs/entities by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/22881
- Harden call recorder Recall API boundary by @ehconitin in https://github.com/twentyhq/twenty/pull/22832
[Slow db query]Resolve applicationId from cache in FileStorageService by @prastoin in https://github.com/twentyhq/twenty/pull/22870- Add tab param to open a record side panel page on a specific tab by @martmull in https://github.com/twentyhq/twenty/pull/22905
- fix(front): read fresh metadata in SSE update path to avoid false unknown-field warnings by @thomtrp in https://github.com/twentyhq/twenty/pull/22897
- Route pre-2.19 upgrade commands through a legacy validate-build path by @prastoin in https://github.com/twentyhq/twenty/pull/22884
- i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22912
- feat: make record avatar/icon resolution data-driven via a configurable image identifier field by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/22644
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22913
- Address #22827 review comments and converge application file endpoints by @martmull in https://github.com/twentyhq/twenty/pull/22868
- Add weekly layout to record calendar by @Weiko in https://github.com/twentyhq/twenty/pull/22819
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22916
- Migrate call-recorder tests off own-code vi.mock by @ehconitin in https://github.com/twentyhq/twenty/pull/22902
- Add CREATED workspace activation status (read path + enum migration) by @charlesBochet in https://github.com/twentyhq/twenty/pull/22904
- i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22919
- feat(workflow): soft-ref core workflow/version (backfill + dual-write) by @thomtrp in https://github.com/twentyhq/twenty/pull/22821
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22923
- fix(server): finalize workflow runs stuck in STOPPING by @thomtrp in https://github.com/twentyhq/twenty/pull/22900
- Allow workflow run control mutations to be called with API key auth by @thomtrp in https://github.com/twentyhq/twenty/pull/22924
- fix(front): keep kanban header columns full-width when board overflows viewport by @thomtrp in https://github.com/twentyhq/twenty/pull/22926
- Add day view support to record calendar by @Weiko in https://github.com/twentyhq/twenty/pull/22922
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22927
- Unify manifest apply pipeline between application install and dev sync by @martmull in https://github.com/twentyhq/twenty/pull/22921
- Add callAppRoute to RestApiClient by @ehconitin in https://github.com/twentyhq/twenty/pull/22863
- Fix role lookup query by @Weiko in https://github.com/twentyhq/twenty/pull/22928
- i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22933
- chore: sync AI model catalog from models.dev by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22939
- perf(server): lower workspace local cache cap to 6,000 entries by @charlesBochet in https://github.com/twentyhq/twenty/pull/22946
- Fix infinite redirect loop when logging out of a suspended workspace by @charlesBochet in https://github.com/twentyhq/twenty/pull/22949
- Decide workspace destiny from live data and all sub by @prastoin in https://github.com/twentyhq/twenty/pull/22943
- Remove calendar week view feature flag from public flags by @Weiko in https://github.com/twentyhq/twenty/pull/22950
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22951
- fix(metadata): invalidate metadata store on SSE reconnect (#22504) by @Akash5908 in https://github.com/twentyhq/twenty/pull/22562
- fix(workflow): skip core version id write-back when the field is missing by @thomtrp in https://github.com/twentyhq/twenty/pull/22940
- Handle scalar select filter values when recomputing view filters by @Weiko in https://github.com/twentyhq/twenty/pull/22930
- feat(workflow): provision coreWorkflowVersionId on existing workspaces and link them by @thomtrp in https://github.com/twentyhq/twenty/pull/22944
- Block filters on restricted fields by @Weiko in https://github.com/twentyhq/twenty/pull/22873
- feat(server): app lifecycle metrics (install/uninstall/upgrade + marketplace publish) by @prastoin in https://github.com/twentyhq/twenty/pull/22656
- Allow non-compact all-day calendar cards to show full content by @Weiko in https://github.com/twentyhq/twenty/pull/22953
- Fix delete/destroy/restore record commands on pages without a record index by @charlesBochet in https://github.com/twentyhq/twenty/pull/22952
- Propagate record card background to inline hover content by @Weiko in https://github.com/twentyhq/twenty/pull/22957
- fix(billing): guard workspace suspend against concurrent soft-delete by @prastoin in https://github.com/twentyhq/twenty/pull/22955
- fix(metadata): resync metadata store via collection hashes on SSE reconnect by @thomtrp in https://github.com/twentyhq/twenty/pull/22956
[Front-comp-renderer]HostcomponentSourcecaching by @prastoin in https://github.com/twentyhq/twenty/pull/22958- fix(workflow): rebuild core workflowVersion rows in the 2-22 backfill by @thomtrp in https://github.com/twentyhq/twenty/pull/22961
- Fix signup visual regression in workspace selection layout by @Weiko in https://github.com/twentyhq/twenty/pull/22965
- fix(server): key connected-account lookup on handle and provider by @neo773 in https://github.com/twentyhq/twenty/pull/22964
- Reuse onboarding container width for workspace selection by @Weiko in https://github.com/twentyhq/twenty/pull/22974
New Contributors
- @phelix001 made their first contribution in https://github.com/twentyhq/twenty/pull/22835
Full Changelog: https://github.com/twentyhq/twenty/compare/twenty/v2.21.0…twenty/v2.22.0