Twenty twenty/v2.55.0stable Released Nov 03, 2026
โš ๏ธ Breaking Change Impact Score: 7/10

Twenty twenty/v2.55.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-03.

Breaking-change evidence from the source

  • AI chat can now build, preview, and publish frontend components in your workspace. Describe what you need, and the agent writes and renders it with sample data before asking for your approval. Five breaking changes ship with this release; API consumers and self-hosters should check that section before upgrading.
  • โš ๏ธ Breaking changes - Every webhook now requires a role. Pass a `roleId` when calling `createWebhook`, and provide the `ROLES` permission alongside `API_KEYS_AND_WEBHOOKS` to create or edit webhooks. ([#29273](https://github.com/twentyhq/twenty/pull/29273)) by @charlesBochet
Read the original context โ†—
Source flags breaking changes โ€” review applicability
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Twenty twenty/v2.55.0. Source highlight: AI chat can now build, preview, and publish frontend components in your workspace. Describe what you need, and the agent writes and renders it with sample data before asking for your approval. Five breaking changes ship with this release; API consumers and self-hosters should check that section befo

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.

โš ๏ธ Breaking Changes & Deprecations (2)

  • AI chat can now build, preview, and publish frontend components in your workspace. Describe what you need, and the agent writes and renders it with sample data before asking for your approval. Five breaking changes ship with this release; API consumers and self-hosters should check that section before upgrading.
  • โš ๏ธ Breaking changes - Every webhook now requires a role. Pass a `roleId` when calling `createWebhook`, and provide the `ROLES` permission alongside `API_KEYS_AND_WEBHOOKS` to create or edit webhooks. ([#29273](https://github.com/twentyhq/twenty/pull/29273)) by @charlesBochet

โœจ New Features & Capabilities (6)

  • The AI setup assistant shows its first question immediately instead of loading before it speaks. (#27935)
  • AI chat renders a live component preview with sample data before asking whether to save it. (#28727)
  • AI chat can write a frontend component, show it with your actual records, and publish it to the workspace widget picker. (#28730)
  • Slack workflows can now set `unfurlLinks` and `unfurlMedia` to control whether link previews appear in posted messages. (#29168)
  • Replying to a message or answering a question now resolves your pending mention from that thread. (#29214)
  • Admins can approve exact HTTPS origins for embedded websites and grant microphone or camera access separately in Security settings. (#29218)

โšก Performance & Enhancements (6)

  • AI chat no longer freezes during tool calls, and the step list stays stable while the agent is running. (#29211)
  • Credits charged by app logic functions now appear under their own App Operation category instead of mixing with Code Execution. (#29241)
  • App and account settings tables now share a consistent Name | Status | details | action layout. (#29296)
  • Built-in apps (Gmail, Outlook, IMAP) now show a Not connected chip when no account is linked. (#29329)
  • The Installed apps table shows each app's type in the middle column instead of leaving it empty. (#29334)
  • Enterprise license refresh is now staggered per server so it no longer spikes Stripe load at 04:00 UTC. (#29358)

๐Ÿ”ง Bug Fixes & Patches (6)

  • Bar and line charts now include the Not Set group for select and date fields when Omit zero values is off. (#28825)
  • Hover buttons on record table rows no longer have extra right padding. (#29287)
  • Floating record table cell action buttons are back to their compact 26px height. (#29312)
  • The CLI no longer rejects a valid pulled config when the workspace app's default role exists in the workspace but not in the local manifest. (#29318)
  • Email and calendar workflow steps no longer inject a default `files` key that caused `twenty app pull` to report unchanged workflows as modified. (#29360)
  • fix(website): drop the secret from the affiliate application webhook (#29311)
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
<!-- generated-release-notes v1 --> AI chat can now build, preview, and publish frontend components in your workspace. Describe what you need, and the agent writes and renders it with sample data before asking for your approval. Five breaking changes ship with this release; API consumers and self-hosters should check that section before upgrading. Records can now be made private. A private record is visible only to its creator and the people it is shared with directly. Roles do not reach it, including admin. The LinkedIn app gained a Sync tab. It can import your conversation history and create or match People from contacts. Image, video, and audio attachments come along. ## โš ๏ธ Breaking changes - Every webhook now requires a role. Pass a `roleId` when calling `createWebhook`, and provide the `ROLES` permission alongside `API_KEYS_AND_WEBHOOKS` to create or edit webhooks. ([#29273](https://github.com/twentyhq/twenty/pull/29273)) by @charlesBochet - App settings tabs now support a URL slug. `Connect` and `Reconnect` now land on the app's first settings tab; any bookmarked routes to tab fragments may need updating. ([#29355](https://github.com/twentyhq/twenty/pull/29355)) by @martmull - `setRecordGeneralAccess` is removed. Use `setRecordPrivate(true)` to restrict a record to its creator and explicit shares, or `setRecordPrivate(false)` to let roles govern access. ([#29383](https://github.com/twentyhq/twenty/pull/29383)) by @charlesBochet - `IconsProvider` has moved out of `twenty-ui/icon`. Update any imports that reference it from that path. This also removes roughly 2 MB of icon code from shared bundles. ([#29386](https://github.com/twentyhq/twenty/pull/29386)) by @FelixMalfait - `readability`, `writability`, `sharingReach`, `readabilityParentFieldUniversalIdentifiers`, and `fieldMetadata.writability` are removed from the metadata GraphQL and REST APIs. ([#29390](https://github.com/twentyhq/twenty/pull/29390)) by @charlesBochet ## ๐ŸŒŸ Highlights - AI chat can write a frontend component, show it with your actual records, and publish it to the workspace widget picker. ([#28730](https://github.com/twentyhq/twenty/pull/28730)) - The LinkedIn app now imports conversation history, creates and matches People from contacts, and pulls in media attachments. ([#29285](https://github.com/twentyhq/twenty/pull/29285)) - Records can be marked private, making them visible only to their creator and the people they are directly shared with. ([#29378](https://github.com/twentyhq/twenty/pull/29378)) - Iframe widgets from an approved origin now show an Enable button that grants microphone or camera access for that tab. ([#29219](https://github.com/twentyhq/twenty/pull/29219)) - AI chat no longer freezes during tool calls or scrambles the step list while the agent is running. ([#29211](https://github.com/twentyhq/twenty/pull/29211)) - A TOTP code that has already been accepted is now rejected, closing the replay window. ([#29404](https://github.com/twentyhq/twenty/pull/29404)) ## โœจ New features - The AI setup assistant shows its first question immediately instead of loading before it speaks. ([#27935](https://github.com/twentyhq/twenty/pull/27935)) by @etiennejouan - AI chat renders a live component preview with sample data before asking whether to save it. ([#28727](https://github.com/twentyhq/twenty/pull/28727)) by @Weiko - AI chat can write a frontend component, show it with your actual records, and publish it to the workspace widget picker. ([#28730](https://github.com/twentyhq/twenty/pull/28730)) by @Weiko - Slack workflows can now set `unfurlLinks` and `unfurlMedia` to control whether link previews appear in posted messages. ([#29168](https://github.com/twentyhq/twenty/pull/29168)) by @ghazy2001 - Replying to a message or answering a question now resolves your pending mention from that thread. ([#29214](https://github.com/twentyhq/twenty/pull/29214)) by @bosiraphael - Admins can approve exact HTTPS origins for embedded websites and grant microphone or camera access separately in Security settings. ([#29218](https://github.com/twentyhq/twenty/pull/29218)) by @bosiraphael - Iframe widgets pointing to an approved origin show an Enable button that loads media access for that tab. ([#29219](https://github.com/twentyhq/twenty/pull/29219)) by @bosiraphael - App developers can now declare a health check as workspace-wide or per-member. ([#29249](https://github.com/twentyhq/twenty/pull/29249)) by @ehconitin - Health checks run in their declared mode: one call for the workspace, or once per member when the member mode is enabled. ([#29250](https://github.com/twentyhq/twenty/pull/29250)) by @ehconitin - The LinkedIn app can now import your conversation history, create People from contacts, and match them to existing records. ([#29285](https://github.com/twentyhq/twenty/pull/29285)) by @martmull - New workspaces receive a Getting Started profile and step tracker that guides setup. ([#29290](https://github.com/twentyhq/twenty/pull/29290)) by @etiennejouan - New workspaces get a Getting Started page and sidebar card that walk through each setup step. ([#29291](https://github.com/twentyhq/twenty/pull/29291)) by @etiennejouan - `twenty local start`, `stop`, `status`, and `logs` are restored, giving app developers a fully managed local development environment. ([#29301](https://github.com/twentyhq/twenty/pull/29301)) by @Weiko - `twenty local upgrade` and `twenty local reset` handle version changes and data deletion without rebuilding from scratch. ([#29302](https://github.com/twentyhq/twenty/pull/29302)) by @Weiko - The LinkedIn app now downloads image, video, and audio attachments when importing messages. ([#29357](https://github.com/twentyhq/twenty/pull/29357)) by @martmull - The CLI can now pull and apply workflows that include Send to Inbox steps. ([#29363](https://github.com/twentyhq/twenty/pull/29363)) by @FelixMalfait - The CLI now preserves conversation key, member, and human-input fields on AI agent steps during `pull` and `apply`. ([#29365](https://github.com/twentyhq/twenty/pull/29365)) by @FelixMalfait - Records can be made private. A private record is readable only by its creator and the people it has been directly shared with. ([#29378](https://github.com/twentyhq/twenty/pull/29378)) by @charlesBochet - A TOTP code is now rejected if it has already been accepted in the same time window, closing a replay window. ([#29404](https://github.com/twentyhq/twenty/pull/29404)) by @AyeshaWaseemAhmad ## ๐Ÿ’… Improvements & UX - AI chat no longer freezes during tool calls, and the step list stays stable while the agent is running. ([#29211](https://github.com/twentyhq/twenty/pull/29211)) by @etiennejouan - Credits charged by app logic functions now appear under their own App Operation category instead of mixing with Code Execution. ([#29241](https://github.com/twentyhq/twenty/pull/29241)) by @martmull - App and account settings tables now share a consistent Name | Status | details | action layout. ([#29296](https://github.com/twentyhq/twenty/pull/29296)) by @ehconitin - Built-in apps (Gmail, Outlook, IMAP) now show a Not connected chip when no account is linked. ([#29329](https://github.com/twentyhq/twenty/pull/29329)) by @ehconitin - The Installed apps table shows each app's type in the middle column instead of leaving it empty. ([#29334](https://github.com/twentyhq/twenty/pull/29334)) by @ehconitin - Enterprise license refresh is now staggered per server so it no longer spikes Stripe load at 04:00 UTC. ([#29358](https://github.com/twentyhq/twenty/pull/29358)) by @FelixMalfait - AI chat publication approvals now show an interactive component preview instead of a raw JSON payload. ([#29407](https://github.com/twentyhq/twenty/pull/29407)) by @Weiko - AI chat consults Twenty UI component documentation before writing a component, reducing mistakes like using the wrong API. ([#29411](https://github.com/twentyhq/twenty/pull/29411)) by @Weiko - All 13 AI view tools now enforce the unlisted-view access rule, not only the three that previously checked it. ([#29428](https://github.com/twentyhq/twenty/pull/29428)) by @etiennejouan - AI-generated components follow the workspace color theme, and the agent requests save approval immediately after a successful preview. ([#29431](https://github.com/twentyhq/twenty/pull/29431)) by @Weiko - App settings tables show a loading skeleton while status data arrives instead of chips that pop in after the rows render. ([#29447](https://github.com/twentyhq/twenty/pull/29447)) by @ehconitin - A member's connected apps now show their user settings as tabs on the account page in App preferences. ([#29468](https://github.com/twentyhq/twenty/pull/29468)) by @ehconitin ## ๐Ÿ› Bug fixes - Bar and line charts now include the Not Set group for select and date fields when Omit zero values is off. ([#28825](https://github.com/twentyhq/twenty/pull/28825)) by @arnavsingh0418 - Hover buttons on record table rows no longer have extra right padding. ([#29287](https://github.com/twentyhq/twenty/pull/29287)) by @Weiko - Floating record table cell action buttons are back to their compact 26px height. ([#29312](https://github.com/twentyhq/twenty/pull/29312)) by @bosiraphael - The CLI no longer rejects a valid pulled config when the workspace app's default role exists in the workspace but not in the local manifest. ([#29318](https://github.com/twentyhq/twenty/pull/29318)) by @Weiko - Email and calendar workflow steps no longer inject a default `files` key that caused `twenty app pull` to report unchanged workflows as modified. ([#29360](https://github.com/twentyhq/twenty/pull/29360)) by @FelixMalfait ## ๐Ÿ”ง Developer & API - The server now stores approved HTTPS origins per workspace with separate microphone and camera grants, and sends a workspace-specific `Permissions-Policy` header. Adds `updateWorkspaceIframeMediaPermissions`; renames `allowedIframeOrigins` on workspace. ([#29217](https://github.com/twentyhq/twenty/pull/29217)) by @bosiraphael - The server reads and writes the session cookie only on requests carrying `x-twenty-session-cookie` or `Sec-Fetch-Mode: navigate`. All other requests are denied. The legacy fallback branch and its metric are removed. ([#29281](https://github.com/twentyhq/twenty/pull/29281)) by @prastoin - The standard application now declares inherent related record paths in its manifest. A path marked `isInherent` applies whenever its source record is readable by any means. ([#29292](https://github.com/twentyhq/twenty/pull/29292)) by @charlesBochet - Workflow runs are now bound to the application that triggered them. Applications without a role fail closed; standard application special cases are removed. ([#29317](https://github.com/twentyhq/twenty/pull/29317)) by @prastoin - Ada inbox mode (never / only when mentioned / auto) is now readable and writable via GraphQL under the `AI_SETTINGS` permission. ([#29320](https://github.com/twentyhq/twenty/pull/29320)) by @bosiraphael - Row-level permission predicates can now store a relation hop, laying the groundwork for predicates that traverse relations (for example, people whose company is in a given city). ([#29323](https://github.com/twentyhq/twenty/pull/29323)) by @charlesBochet - App manifests can now declare related record paths using `defineRelatedRecordPath` in the SDK. ([#29328](https://github.com/twentyhq/twenty/pull/29328)) by @charlesBochet - Session cookie writes are blocked on requests that lack the opt-in header, so front-component fetches cannot sign users out or swap sessions. ([#29361](https://github.com/twentyhq/twenty/pull/29361)) by @prastoin - GraphQL relation filters and field selections can now traverse objects that are reachable only through record shares, not just through role grants. ([#29418](https://github.com/twentyhq/twenty/pull/29418)) by @charlesBochet <details> <summary>๐Ÿ—๏ธ Internal changes (47)</summary> - Retain frontend dependency export maps in app builds ([#28469](https://github.com/twentyhq/twenty/pull/28469)) by @Weiko - Create temporary AI chat drafts with mocked previews ([#28470](https://github.com/twentyhq/twenty/pull/28470)) by @Weiko - Declare application reach per operation ([#28710](https://github.com/twentyhq/twenty/pull/28710)) by @prastoin - Publish approved Workspace component revisions ([#28726](https://github.com/twentyhq/twenty/pull/28726)) by @Weiko - Preserve validation codes and friendly messages in CLI failures ([#28816](https://github.com/twentyhq/twenty/pull/28816)) by @prastoin - Update billing docs for the new Pro and Organization plans ([#28844](https://github.com/twentyhq/twenty/pull/28844)) by @Bonapara - i18n - docs translations ([#29166](https://github.com/twentyhq/twenty/pull/29166)) by @twenty-pr - Render supplied frontend component source and data ([#29263](https://github.com/twentyhq/twenty/pull/29263)) by @Weiko - feat(website): add the affiliate partners page ([#29278](https://github.com/twentyhq/twenty/pull/29278)) by @StephanieJoly4 - chore(getting-started): prepare enrichment, marketplace and AI chat pieces ([#29289](https://github.com/twentyhq/twenty/pull/29289)) by @etiennejouan - i18n - translations ([#29295](https://github.com/twentyhq/twenty/pull/29295)) by @twenty-pr - Add DM sidebar and member picker presentation ([#29300](https://github.com/twentyhq/twenty/pull/29300)) by @bosiraphael - Add AI overview presentation ([#29303](https://github.com/twentyhq/twenty/pull/29303)) by @bosiraphael - Add Ada behavior settings presentation ([#29304](https://github.com/twentyhq/twenty/pull/29304)) by @bosiraphael - i18n - translations ([#29306](https://github.com/twentyhq/twenty/pull/29306)) by @twenty-pr - i18n - website translations ([#29308](https://github.com/twentyhq/twenty/pull/29308)) by @twenty-pr - i18n - website translations ([#29309](https://github.com/twentyhq/twenty/pull/29309)) by @twenty-pr - fix(website): drop the secret from the affiliate application webhook ([#29311](https://github.com/twentyhq/twenty/pull/29311)) by @etiennejouan - i18n - translations ([#29313](https://github.com/twentyhq/twenty/pull/29313)) by @twenty-pr - Reuse current app dependencies for AI component compilation ([#29330](https://github.com/twentyhq/twenty/pull/29330)) by @Weiko - Add the accessGroup hidden standard object ([#29331](https://github.com/twentyhq/twenty/pull/29331)) by @charlesBochet - i18n - docs translations ([#29332](https://github.com/twentyhq/twenty/pull/29332)) by @twenty-pr - Configure related record paths in object settings ([#29335](https://github.com/twentyhq/twenty/pull/29335)) by @charlesBochet - i18n - translations ([#29339](https://github.com/twentyhq/twenty/pull/29339)) by @twenty-pr - Add per-record access group columns to object tables ([#29341](https://github.com/twentyhq/twenty/pull/29341)) by @charlesBochet - i18n - translations ([#29344](https://github.com/twentyhq/twenty/pull/29344)) by @twenty-pr - Publish npm packages with npm's provenance signer ([#29345](https://github.com/twentyhq/twenty/pull/29345)) by @charlesBochet - Enrich access group storage per object and skip permission objects ([#29348](https://github.com/twentyhq/twenty/pull/29348)) by @charlesBochet - Document default roles an app does not define ([#29350](https://github.com/twentyhq/twenty/pull/29350)) by @charlesBochet - i18n - docs translations ([#29351](https://github.com/twentyhq/twenty/pull/29351)) by @twenty-pr - Add the private record column to every object table ([#29374](https://github.com/twentyhq/twenty/pull/29374)) by @charlesBochet - Move permission code into engine/permissions ([#29375](https://github.com/twentyhq/twenty/pull/29375)) by @charlesBochet - Move permission code out of metadata-modules into engine/permissions ([#29376](https://github.com/twentyhq/twenty/pull/29376)) by @charlesBochet - Make chat threads private records and stop reading object readability ([#29379](https://github.com/twentyhq/twenty/pull/29379)) by @charlesBochet - Fix default record sharing Storybook expectations ([#29382](https://github.com/twentyhq/twenty/pull/29382)) by @Weiko - i18n - docs translations ([#29388](https://github.com/twentyhq/twenty/pull/29388)) by @twenty-pr - Compute row access through one condition builder per grant path ([#29392](https://github.com/twentyhq/twenty/pull/29392)) by @charlesBochet - i18n - translations ([#29401](https://github.com/twentyhq/twenty/pull/29401)) by @twenty-pr - Replace the row access subject with a data-only PermissionsPrincipal ([#29406](https://github.com/twentyhq/twenty/pull/29406)) by @charlesBochet - i18n - translations ([#29413](https://github.com/twentyhq/twenty/pull/29413)) by @twenty-pr - Add hasAccessToAllRecords, hasAccessToSomeRecords and hasAccessToRecords ([#29414](https://github.com/twentyhq/twenty/pull/29414)) by @charlesBochet - i18n - docs translations ([#29419](https://github.com/twentyhq/twenty/pull/29419)) by @twenty-pr - i18n - translations ([#29429](https://github.com/twentyhq/twenty/pull/29429)) by @twenty-pr - i18n - docs translations ([#29432](https://github.com/twentyhq/twenty/pull/29432)) by @twenty-pr - Make the permissions principal role ids, member id and acting application ([#29434](https://github.com/twentyhq/twenty/pull/29434)) by @charlesBochet - i18n - docs translations ([#29448](https://github.com/twentyhq/twenty/pull/29448)) by @twenty-pr - Keep chats share-only until private records are enabled ([#29464](https://github.com/twentyhq/twenty/pull/29464)) by @charlesBochet </details> <details> <summary>Full changelog (98 PRs)</summary> - feat(ai-chat): data-first setup prompt asks first and offers a structure-first path ([#27935](https://github.com/twentyhq/twenty/pull/27935)) by @etiennejouan - Retain frontend dependency export maps in app builds ([#28469](https://github.com/twentyhq/twenty/pull/28469)) by @Weiko - Create temporary AI chat drafts with mocked previews ([#28470](https://github.com/twentyhq/twenty/pull/28470)) by @Weiko - Declare application reach per operation ([#28710](https://github.com/twentyhq/twenty/pull/28710)) by @prastoin - Publish approved Workspace component revisions ([#28726](https://github.com/twentyhq/twenty/pull/28726)) by @Weiko - Render mocked frontend component previews in AI chat ([#28727](https://github.com/twentyhq/twenty/pull/28727)) by @Weiko - Create and save Workspace components from AI chat ([#28730](https://github.com/twentyhq/twenty/pull/28730)) by @Weiko - Preserve validation codes and friendly messages in CLI failures ([#28816](https://github.com/twentyhq/twenty/pull/28816)) by @prastoin - fix(dashboard): keep the Not Set group when gap-filling select and daโ€ฆ ([#28825](https://github.com/twentyhq/twenty/pull/28825)) by @arnavsingh0418 - Update billing docs for the new Pro and Organization plans ([#28844](https://github.com/twentyhq/twenty/pull/28844)) by @Bonapara - i18n - docs translations ([#29166](https://github.com/twentyhq/twenty/pull/29166)) by @twenty-pr - feat(slack): expose unfurlLinks and unfurlMedia in slack-post-message input schema (#29165) ([#29168](https://github.com/twentyhq/twenty/pull/29168)) by @ghazy2001 - perf(ai): smooth out chat streaming ([#29211](https://github.com/twentyhq/twenty/pull/29211)) by @etiennejouan - Resolve mentions when members reply or answer ([#29214](https://github.com/twentyhq/twenty/pull/29214)) by @bosiraphael - Store approved iframe media origins and send them in Permissions-Policy ([#29217](https://github.com/twentyhq/twenty/pull/29217)) by @bosiraphael - Add Security settings for embedded website media access ([#29218](https://github.com/twentyhq/twenty/pull/29218)) by @bosiraphael - Enable microphone and camera in custom iframe widgets ([#29219](https://github.com/twentyhq/twenty/pull/29219)) by @bosiraphael - Land app chargeCredits in a dedicated APP_OPERATION category ([#29241](https://github.com/twentyhq/twenty/pull/29241)) by @martmull - Choose where app health checks run ([#29249](https://github.com/twentyhq/twenty/pull/29249)) by @ehconitin - Run app health checks in their configured execution mode ([#29250](https://github.com/twentyhq/twenty/pull/29250)) by @ehconitin - Render supplied frontend component source and data ([#29263](https://github.com/twentyhq/twenty/pull/29263)) by @Weiko - [BREAKING_CHANGE] Attach a role to webhooks ([#29273](https://github.com/twentyhq/twenty/pull/29273)) by @charlesBochet - feat(website): add the affiliate partners page ([#29278](https://github.com/twentyhq/twenty/pull/29278)) by @StephanieJoly4 - Enforce the session cookie opt-in and drop the host fetch marker ([#29281](https://github.com/twentyhq/twenty/pull/29281)) by @prastoin - LinkedIn app: import history, create and match People ([#29285](https://github.com/twentyhq/twenty/pull/29285)) by @martmull - Fix extra right padding on record table cell buttons ([#29287](https://github.com/twentyhq/twenty/pull/29287)) by @Weiko - chore(getting-started): prepare enrichment, marketplace and AI chat pieces ([#29289](https://github.com/twentyhq/twenty/pull/29289)) by @etiennejouan - feat(getting-started): add the server module behind IS_GETTING_STARTED_ENABLED ([#29290](https://github.com/twentyhq/twenty/pull/29290)) by @etiennejouan - feat(getting-started): add the Getting Started page and sidebar card ([#29291](https://github.com/twentyhq/twenty/pull/29291)) by @etiennejouan - Add inherent related record paths and declare the standard ones ([#29292](https://github.com/twentyhq/twenty/pull/29292)) by @charlesBochet - chore: bump version to 2.55.0 ([#29293](https://github.com/twentyhq/twenty/pull/29293)) by @twenty-pr - i18n - translations ([#29295](https://github.com/twentyhq/twenty/pull/29295)) by @twenty-pr - Unify app and account settings tables and standardize status chips ([#29296](https://github.com/twentyhq/twenty/pull/29296)) by @ehconitin - Add DM sidebar and member picker presentation ([#29300](https://github.com/twentyhq/twenty/pull/29300)) by @bosiraphael - feat(cli): restore local development environment commands ([#29301](https://github.com/twentyhq/twenty/pull/29301)) by @Weiko - feat(cli): add local environment upgrade and reset ([#29302](https://github.com/twentyhq/twenty/pull/29302)) by @Weiko - Add AI overview presentation ([#29303](https://github.com/twentyhq/twenty/pull/29303)) by @bosiraphael - Add Ada behavior settings presentation ([#29304](https://github.com/twentyhq/twenty/pull/29304)) by @bosiraphael - i18n - translations ([#29306](https://github.com/twentyhq/twenty/pull/29306)) by @twenty-pr - i18n - website translations ([#29308](https://github.com/twentyhq/twenty/pull/29308)) by @twenty-pr - i18n - website translations ([#29309](https://github.com/twentyhq/twenty/pull/29309)) by @twenty-pr - fix(website): drop the secret from the affiliate application webhook ([#29311](https://github.com/twentyhq/twenty/pull/29311)) by @etiennejouan - Restore compact table cell buttons ([#29312](https://github.com/twentyhq/twenty/pull/29312)) by @bosiraphael - i18n - translations ([#29313](https://github.com/twentyhq/twenty/pull/29313)) by @twenty-pr - Bind workflow runs to their application and drop standard application exceptions ([#29317](https://github.com/twentyhq/twenty/pull/29317)) by @prastoin - fix(cli): accept default role references without local definitions ([#29318](https://github.com/twentyhq/twenty/pull/29318)) by @Weiko - Expose protected Ada behavior settings ([#29320](https://github.com/twentyhq/twenty/pull/29320)) by @bosiraphael - Store a relation hop on row level permission predicates ([#29323](https://github.com/twentyhq/twenty/pull/29323)) by @charlesBochet - Let app manifests declare related record paths ([#29328](https://github.com/twentyhq/twenty/pull/29328)) by @charlesBochet - Show Not connected for built-in apps without an account ([#29329](https://github.com/twentyhq/twenty/pull/29329)) by @ehconitin - Reuse current app dependencies for AI component compilation ([#29330](https://github.com/twentyhq/twenty/pull/29330)) by @Weiko - Add the accessGroup hidden standard object ([#29331](https://github.com/twentyhq/twenty/pull/29331)) by @charlesBochet - i18n - docs translations ([#29332](https://github.com/twentyhq/twenty/pull/29332)) by @twenty-pr - Show app type on the Installed apps table, with status chips in its place ([#29334](https://github.com/twentyhq/twenty/pull/29334)) by @ehconitin - Configure related record paths in object settings ([#29335](https://github.com/twentyhq/twenty/pull/29335)) by @charlesBochet - i18n - translations ([#29339](https://github.com/twentyhq/twenty/pull/29339)) by @twenty-pr - Add per-record access group columns to object tables ([#29341](https://github.com/twentyhq/twenty/pull/29341)) by @charlesBochet - i18n - translations ([#29344](https://github.com/twentyhq/twenty/pull/29344)) by @twenty-pr - Publish npm packages with npm's provenance signer ([#29345](https://github.com/twentyhq/twenty/pull/29345)) by @charlesBochet - Enrich access group storage per object and skip permission objects ([#29348](https://github.com/twentyhq/twenty/pull/29348)) by @charlesBochet - Document default roles an app does not define ([#29350](https://github.com/twentyhq/twenty/pull/29350)) by @charlesBochet - i18n - docs translations ([#29351](https://github.com/twentyhq/twenty/pull/29351)) by @twenty-pr - Add a slug to app settings tabs and land Connect and Reconnect on the app's first tab ([#29355](https://github.com/twentyhq/twenty/pull/29355)) by @martmull - LinkedIn app: import image, video and audio attachments ([#29357](https://github.com/twentyhq/twenty/pull/29357)) by @martmull - Stagger daily enterprise license refresh by server ID ([#29358](https://github.com/twentyhq/twenty/pull/29358)) by @FelixMalfait - Stop the workflow step schemas from filling in email and calendar defaults ([#29360](https://github.com/twentyhq/twenty/pull/29360)) by @FelixMalfait - Cover session cookie writes without the opt-in header ([#29361](https://github.com/twentyhq/twenty/pull/29361)) by @prastoin - Pull and apply workflow SEND_CHAT_MESSAGE steps ([#29363](https://github.com/twentyhq/twenty/pull/29363)) by @FelixMalfait - Pull and apply the builder's AI agent step settings ([#29365](https://github.com/twentyhq/twenty/pull/29365)) by @FelixMalfait - Add the private record column to every object table ([#29374](https://github.com/twentyhq/twenty/pull/29374)) by @charlesBochet - Move permission code into engine/permissions ([#29375](https://github.com/twentyhq/twenty/pull/29375)) by @charlesBochet - Move permission code out of metadata-modules into engine/permissions ([#29376](https://github.com/twentyhq/twenty/pull/29376)) by @charlesBochet - Enforce private records ([#29378](https://github.com/twentyhq/twenty/pull/29378)) by @charlesBochet - Make chat threads private records and stop reading object readability ([#29379](https://github.com/twentyhq/twenty/pull/29379)) by @charlesBochet - Fix default record sharing Storybook expectations ([#29382](https://github.com/twentyhq/twenty/pull/29382)) by @Weiko - [BREAKING_CHANGE] Replace setRecordGeneralAccess with setRecordPrivate ([#29383](https://github.com/twentyhq/twenty/pull/29383)) by @charlesBochet - Move IconsProvider out of twenty-ui/icon so icon imports don't ship every icon ([#29386](https://github.com/twentyhq/twenty/pull/29386)) by @FelixMalfait - i18n - docs translations ([#29388](https://github.com/twentyhq/twenty/pull/29388)) by @twenty-pr - [BREAKING_CHANGE] Drop object readability, writability and sharing reach usage ([#29390](https://github.com/twentyhq/twenty/pull/29390)) by @charlesBochet - Compute row access through one condition builder per grant path ([#29392](https://github.com/twentyhq/twenty/pull/29392)) by @charlesBochet - i18n - translations ([#29401](https://github.com/twentyhq/twenty/pull/29401)) by @twenty-pr - Refuse a two-factor code that was already accepted ([#29404](https://github.com/twentyhq/twenty/pull/29404)) by @AyeshaWaseemAhmad - Replace the row access subject with a data-only PermissionsPrincipal ([#29406](https://github.com/twentyhq/twenty/pull/29406)) by @charlesBochet - Show component preview in AI publication approvals ([#29407](https://github.com/twentyhq/twenty/pull/29407)) by @Weiko - Use existing UI docs when AI chat builds components ([#29411](https://github.com/twentyhq/twenty/pull/29411)) by @Weiko - i18n - translations ([#29413](https://github.com/twentyhq/twenty/pull/29413)) by @twenty-pr - Add hasAccessToAllRecords, hasAccessToSomeRecords and hasAccessToRecords ([#29414](https://github.com/twentyhq/twenty/pull/29414)) by @charlesBochet - Let relation filters and selections reach objects shared beyond the role ([#29418](https://github.com/twentyhq/twenty/pull/29418)) by @charlesBochet - i18n - docs translations ([#29419](https://github.com/twentyhq/twenty/pull/29419)) by @twenty-pr - Apply the unlisted-view rule to the AI view field, filter and sort tools ([#29428](https://github.com/twentyhq/twenty/pull/29428)) by @etiennejouan - i18n - translations ([#29429](https://github.com/twentyhq/twenty/pull/29429)) by @twenty-pr - Follow the host theme in AI components and propose saves right after preview ([#29431](https://github.com/twentyhq/twenty/pull/29431)) by @Weiko - i18n - docs translations ([#29432](https://github.com/twentyhq/twenty/pull/29432)) by @twenty-pr - Make the permissions principal role ids, member id and acting application ([#29434](https://github.com/twentyhq/twenty/pull/29434)) by @charlesBochet - Show a skeleton in the apps table status column while statuses load ([#29447](https://github.com/twentyhq/twenty/pull/29447)) by @ehconitin - i18n - docs translations ([#29448](https://github.com/twentyhq/twenty/pull/29448)) by @twenty-pr - Keep chats share-only until private records are enabled ([#29464](https://github.com/twentyhq/twenty/pull/29464)) by @charlesBochet - Show connected apps' settings as tabs on the account page ([#29468](https://github.com/twentyhq/twenty/pull/29468)) by @ehconitin </details> **Full Changelog**: https://github.com/twentyhq/twenty/compare/twenty/v2.54.0...twenty/v2.55.0
โ† Older Version Twenty sdk/v2.55.0