# Twenty sdk/v2.55.0 — Release & Upgrade Intelligence
- **Product:** Twenty (https://twenty.com)
- **Version:** sdk/v2.55.0
- **Released:** Nov 03, 2026
- **Impact Score:** 7/10
- **Breaking Changes:** Source flagged
- **Canonical Analysis:** https://changelogs.us/twenty/updates/sdk-v2.55.0/

## Executive Summary (TL;DR)
Twenty sdk/v2.55.0. Source highlight: Five breaking changes ship in this release. `createWebhook` requires a `roleId`. `objectMetadata.readability`, `writability`, and `sharingReach` are removed from GraphQL. `setRecordGeneralAccess` is replaced by `setRecordPrivate`. `IconsProvider` moves out of `twenty-ui/icon`, cutting ~2 MB from aff

## Breaking Changes & Deprecations
- Five breaking changes ship in this release. `createWebhook` requires a `roleId`. `objectMetadata.readability`, `writability`, and `sharingReach` are removed from GraphQL. `setRecordGeneralAccess` is replaced by `setRecordPrivate`. `IconsProvider` moves out of `twenty-ui/icon`, cutting ~2 MB from affected bundles. The workspace field `allowedIframeOrigins` is renamed.
- ⚠️ Breaking changes - allowedIframeOrigins on the workspace object is renamed — update any queries or mutations that reference it; the new updateWorkspaceIframeMediaPermissions mutation adds per-origin microphone and camera grants. ([#29217](https://github.com/twentyhq/twenty/pull/29217)) by @bosiraphael

## New Features
- allowedIframeOrigins on the workspace object is renamed — update any queries or mutations that reference it; the new updateWorkspaceIframeMediaPermissions mutation adds per-origin microphone and camera grants. (#29217)
- defineHealthCheck now accepts runOnUserPreferences: true to declare a member-only check; the handler receives { userWorkspaceId: string } and the check does not run in workspace settings. (#29249)
- runMyApplicationHealthCheck(applicationId) is now available as a GraphQL mutation to trigger a member health check; it requires a user session and CONNECTED_ACCOUNTS. (#29250)
- The SDK/CLI frontend component render wrapper now accepts compiled source and record props directly and returns a promise that resolves after the initial React commit. (#29263)
- Related record paths now carry an isInherent flag; an inherent path applies whenever the source record is readable by any means, not only when access starts on that object. (#29292)
- defineRelatedRecordPath is now available in app manifests; it takes universalIdentifier, objectUniversalIdentifier, firstFieldMetadataUniversalIdentifier, optional second/third field identifiers, and optional isInherent. (#29328)

## Improvements
- CLI validation failures now include the server's error code and friendly message; --json output exposes them under error.details.validationErrors. (#28816)
- chargeCredits calls from app logic now appear under APP_OPERATION in the monitoring page instead of being mixed into CODE_EXECUTION. (#29241)

## Bug Fixes
- The CLI no longer rejects app build, plan, or apply when a valid pulled manifest references the workspace default role without a local role definition. (#29318)
- fix(cli): accept default role references without local definitions (#29318)
