Twenty
The open alternative to Salesforce, designed for AI
Alternative to: salesforce, hubspot, pipedrive, zoho crm
About
Versions (86)
v2.2.0
2026-05-04What’s Changed
- chore: remove accidentally committed .claude-pr/ directory by @turantekin in https://github.com/twentyhq/twenty/pull/20036
- Bump twenty-sdk, twenty-client-sdk, create-twenty-app to 2.1.0-canary.1 by @charlesBochet in https://github.com/twentyhq/twenty/pull/20038
- chore(server): bump current version to 2.2.0 by @charlesBochet in https://github.com/twentyhq/twenty/pull/20040
- Bump twenty-sdk, twenty-client-sdk, create-twenty-app to 2.1.0 by @charlesBochet in https://github.com/twentyhq/twenty/pull/20041
- chore: sync AI model catalog from models.dev by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20045
- feat(front-component-renderer): forward offset/movement coordinates on serialised events by @charlesBochet in https://github.com/twentyhq/twenty/pull/20046
- feat(github-connector): exclude self-reviews from review counts by @charlesBochet in https://github.com/twentyhq/twenty/pull/20050
- Make
twenty-frontbuild env agnostic by @prastoin in https://github.com/twentyhq/twenty/pull/20055 - [AI] Drop ‘serialization’ from tool output naming by @ehconitin in https://github.com/twentyhq/twenty/pull/20052
- [AI] ai usage line chart date gap filling by @ehconitin in https://github.com/twentyhq/twenty/pull/20048
- fix(logic-function): serialize LocalDriver layer builds with cache lock by @charlesBochet in https://github.com/twentyhq/twenty/pull/20054
- Add admin avatars and app logos by @Bonapara in https://github.com/twentyhq/twenty/pull/20001
- chore: sync AI model catalog from models.dev by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20073
[CI]Prevent previous version upgrade sequence mutation by @prastoin in https://github.com/twentyhq/twenty/pull/20075- fix(logic-function): forward raw request body for HMAC signature verification by @charlesBochet in https://github.com/twentyhq/twenty/pull/20061
- Documentation update by @BOHEUS in https://github.com/twentyhq/twenty/pull/20059
- gmail extract body from deeply nested MIME parts by @neo773 in https://github.com/twentyhq/twenty/pull/19989
- fix(messaging): refactor SentMessagePersistenceService by @neo773 in https://github.com/twentyhq/twenty/pull/20077
- fix(server): match IMAP \Noselect attribute case-insensitively by @rrrodzilla in https://github.com/twentyhq/twenty/pull/20043
- docs: document rawBody on RoutePayload by @charlesBochet in https://github.com/twentyhq/twenty/pull/20080
- [Website] locale-segment routing and shared Lingui factory by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/20079
- Filtered upgrade logs when stopping before starting next instance segment by @prastoin in https://github.com/twentyhq/twenty/pull/20078
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20081
- i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20083
- [AI] Collapse NativeToolBinder to a single bind() entry by @ehconitin in https://github.com/twentyhq/twenty/pull/20051
- i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20087
- Gate AI chat navigation entries by AI_SETTINGS permission by @FelixMalfait in https://github.com/twentyhq/twenty/pull/20089
- chore: export the enum view calendar layout to avoid typing errors on apps by @abusarah-tech in https://github.com/twentyhq/twenty/pull/20090
- i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20093
- i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20095
- feat(sentry): propagate workspace context to all spans by @FelixMalfait in https://github.com/twentyhq/twenty/pull/20064
- fix(ai-billing): bill thread title generation and tool-call repair by @FelixMalfait in https://github.com/twentyhq/twenty/pull/20067
- fix(ai-billing): bill POST /rest/ai/generate-text usage to ClickHouse by @FelixMalfait in https://github.com/twentyhq/twenty/pull/20066
- i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20097
- i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20100
- chore: use navigation menu item type into the generated navigation menu layout by @abusarah-tech in https://github.com/twentyhq/twenty/pull/20099
- chore: sync AI model catalog from models.dev by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20106
- fix(ai-billing): bill executeAgent in a finally block so failed runs don’t leak by @FelixMalfait in https://github.com/twentyhq/twenty/pull/20065
- refactor: standardize JsonStringified casing by @saisathwikpeddireddy in https://github.com/twentyhq/twenty/pull/20101
- Fix orphan views by deferring record table widget view creation to dashboard save by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/20006
- Stop reseting isListed and is featured after each sync by @martmull in https://github.com/twentyhq/twenty/pull/20111
- Redesign application content tab + logic function settings; add Layout detail pages by @FelixMalfait in https://github.com/twentyhq/twenty/pull/20056
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20114
- Billing - optimize usageEvent CH table by @etiennejouan in https://github.com/twentyhq/twenty/pull/20019
- fix(rest-api): prevent silent pagination failures and include valid options in enum validation errors by @ratishjain12 in https://github.com/twentyhq/twenty/pull/20092
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20115
- refactor: harden website runtime, routing, and hero visual by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/20113
- Fix upgrade —start-from-workspace-id by @prastoin in https://github.com/twentyhq/twenty/pull/20116
- chore: sync AI model catalog from models.dev by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20122
- Copy twenty-shared in twenty-website deploy by @prastoin in https://github.com/twentyhq/twenty/pull/20124
- add UpsertViewWidget resolver by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/20053
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20125
- Fix click house migration by @prastoin in https://github.com/twentyhq/twenty/pull/20127
- Fix stale UI state after stop-impersonation by @FelixMalfait in https://github.com/twentyhq/twenty/pull/20088
- fix(ai): render record links inside markdown headings in AI chat by @ehconitin in https://github.com/twentyhq/twenty/pull/20074
- ssrf hardening by @neo773 in https://github.com/twentyhq/twenty/pull/19963
- refactor: optimize website visual runtime by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/20120
- [Command Menu] Fix record-selection command filtering in edit mode by @ehconitin in https://github.com/twentyhq/twenty/pull/20034
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20138
- add recurring calendar events for google cal by @neo773 in https://github.com/twentyhq/twenty/pull/19748
- Ai Chat - Caching optim by @etiennejouan in https://github.com/twentyhq/twenty/pull/20126
- CalDAV: support Digest auth by @neo773 in https://github.com/twentyhq/twenty/pull/20135
- fix(billing): gate AI credit-cap at entry points instead of workflow executor by @FelixMalfait in https://github.com/twentyhq/twenty/pull/20096
- Fix application icons by @martmull in https://github.com/twentyhq/twenty/pull/20142
- chore(deps-dev): bump @babel/preset-typescript from 7.24.7 to 7.28.5 by @dependabot[bot] in https://github.com/twentyhq/twenty/pull/20151
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20155
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20156
- i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20157
- chore(deps): bump postal-mime from 2.6.1 to 2.7.4 by @dependabot[bot] in https://github.com/twentyhq/twenty/pull/20150
- chore(deps): bump @sentry/profiling-node from 10.27.0 to 10.51.0 by @dependabot[bot] in https://github.com/twentyhq/twenty/pull/20149
- Add twenty sdk server upgrade command by @martmull in https://github.com/twentyhq/twenty/pull/20158
- i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20161
- fix(security): reject ?token= URL query parameter for authentication by @FelixMalfait in https://github.com/twentyhq/twenty/pull/20154
- Update doc screenshots by @martmull in https://github.com/twentyhq/twenty/pull/20160
- Select application excluding logo by @Weiko in https://github.com/twentyhq/twenty/pull/20159
New Contributors
- @turantekin made their first contribution in https://github.com/twentyhq/twenty/pull/20036
- @rrrodzilla made their first contribution in https://github.com/twentyhq/twenty/pull/20043
- @saisathwikpeddireddy made their first contribution in https://github.com/twentyhq/twenty/pull/20101
- @ratishjain12 made their first contribution in https://github.com/twentyhq/twenty/pull/20092
Full Changelog: https://github.com/twentyhq/twenty/compare/v2.1.0…v2.2.0