Twenty v2.2.0stable Released May 04, 2026
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.

Compatibility not verified โ€” check source notes
๐Ÿ“„ .MD
โšก 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