Impact Score: 5/10
Twenty v2.2.0 โ Release Notes & Engineering Impact
Source available โ automated, not human-reviewed
Component: twenty ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
โก Executive Summary (TL;DR)
Twenty v2.2.0. Source highlight: chore: remove accidentally committed .claude-pr/ directory
Who Does This Impact? (Role-Based Analysis)
๐ป Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
๐ Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
โ๏ธ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
โจ New Features & Capabilities (6)
- feat(front-component-renderer): forward offset/movement coordinates on serialised events
- feat(github-connector): exclude self-reviews from review counts
- Add admin avatars and app logos
- feat(sentry): propagate workspace context to all spans
- Redesign application content tab + logic function settings; add Layout detail pages
- add UpsertViewWidget resolver
๐ง Bug Fixes & Patches (6)
- fix(logic-function): serialize LocalDriver layer builds with cache lock
- fix(logic-function): forward raw request body for HMAC signature verification
- fix(messaging): refactor SentMessagePersistenceService
- fix(server): match IMAP \Noselect attribute case-insensitively
- fix(ai-billing): bill thread title generation and tool-call repair
- fix(ai-billing): bill POST /rest/ai/generate-text usage to ClickHouse
๐ View Raw Release Notes (Original Developer Log)
## What'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-front` build 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