github twentyhq/twenty twenty/v2.54.0

latest release: sdk/v2.54.0
2 hours ago

⚠️ Breaking changes

  • Remove the IS_MESSAGE_CAMPAIGN_ENABLED feature flag (#28929) by @neo773
  • Round-trip workflows built in the workflow builder through the manifest (#29053) by @FelixMalfait
  • [BREAKING_CHANGE] Replace vetted apps with marketplace listing (#29187) by @martmull

✨ New features

  • feat(view): let workspaces declare per-locale view name translations (#29095) by @ijreilly
  • feat(ai): collapse long user messages in the chat thread (#29191) by @etiennejouan
  • feat(cli): pull application dependency files (#29197) by @Weiko
  • feat(billing): show what each seat includes and where workspace credits come from (#29202) by @etiennejouan
  • feat(cli): pull existing apps or initialize the workspace custom app (#29207) by @Weiko

💅 Improvements & UX

🐛 Bug fixes

⚡ Performance

  • perf(server): scope workspace migration cache invalidation to mutated maps (#29167) by @etiennejouan

🔧 Developer & API

  • Self-host Extra Smart: xAI fallback grok-4.6@high → grok-4.7 (#29181) by @twenty-pr-author
  • Name the User Apps and Workspace Apps permission flags USER_APPS and WORKSPACE_APPS in the SDK (#29194) by @ehconitin
  • Add the related record path metadata API (#29243) by @charlesBochet
  • Regenerate the SDK metadata client (#29264) by @ehconitin
🏗️ Internal changes (1)
  • chore(ci): stop publishing retired create-twenty-app (#29245) by @Weiko

🎉 New contributors

Full changelog (97 PRs)
  • Compile AI component previews with Workspace app dependencies (#28468) by @Weiko
  • Track unresolved mentions per member (#28719) by @bosiraphael
  • fix(rich-text): keep nested task item content out of markdown code blocks (#28821) by @UditSinghChauhan
  • Show app READMEs on marketplace app pages (#28842) by @abdulrahmancodes
  • Add ordering scenarios for the fair worker queue (#28848) by @martmull
  • Cover the queue mechanics the fair worker ordering must respect (#28851) by @martmull
  • Remove the IS_MESSAGE_CAMPAIGN_ENABLED feature flag (#28929) by @neo773
  • Add a Campaigns folder with Campaigns and Lists to the navigation menu (#28931) by @neo773
  • Fix front component dropdown dismissal and reopening (#28982) by @bosiraphael
  • Order worker jobs by tenant virtual clocks behind IS_WORKER_FAIRNESS_ENABLED (#28990) by @martmull
  • Keep priority 1 ahead of the fair tickets for the platform's time-critical jobs (#28991) by @martmull
  • Advance the queue's virtual time when a fair job is dispatched (#28992) by @martmull
  • Rebase the fair tickets in bounded chunks once the virtual time passes 2^20 (#28994) by @martmull
  • Build frontend shared dependencies from app lockfiles (#29018) by @Weiko
  • Use existing drivers for AI component preview builds (#29019) by @Weiko
  • Type every queued job as a workspace job or a system job (#29025) by @martmull
  • Round-trip workflows built in the workflow builder through the manifest (#29053) by @FelixMalfait
  • Show the Teams assistant progress while it answers (#29059) by @abdulrahmancodes
  • Name dependency layers per application and move functions onto them on their next run (#29085) by @prastoin
  • Let apps attach records to inbox conversations (#29090) by @bosiraphael
  • feat(view): let workspaces declare per-locale view name translations (#29095) by @ijreilly
  • Add LinkedIn app (read-only, via Unipile v2) (#29116) by @martmull
  • Pin the current workspace in admin and unify avatars (#29117) by @Bonapara
  • Stop using the dead deletedAt column on agent (#29121) by @FelixMalfait
  • Open record creation forms from relation pickers (#29129) by @Bonapara
  • fix(front): let the task and note rich text body scroll to the bottom (#29134) by @etiennejouan
  • Reject server route triggers on ad-hoc logic functions (#29145) by @charlesBochet
  • Declare the connected account shape for workflow step resolution once (#29148) by @FelixMalfait
  • Add a Merge with command to record pages (#29155) by @FelixMalfait
  • Show inbox conversations in record panels (#29156) by @bosiraphael
  • Teach the crm-hygiene skill to merge duplicates (#29157) by @FelixMalfait
  • Let applications declare MCP servers in their manifest (#29158) by @martmull
  • i18n - translations (#29159) by @twenty-pr
  • i18n - translations (#29161) by @twenty-pr
  • Scope the upgrade command down rule to instance commands (#29162) by @prastoin
  • fix(accounts): trim whitespace in IMAP/SMTP/CalDAV server and username fields (#29091) (#29163) by @ghazy2001
  • perf(server): scope workspace migration cache invalidation to mutated maps (#29167) by @etiennejouan
  • Ignore isSystemSideEffect divergences when syncing manifests (#29169) by @prastoin
  • Add a Salesfarce parody theme to appearance settings (#29171) by @Bonapara
  • fix(server): refresh app connection access tokens using provider expires_in (#28446) (#29173) by @apoorv-xs
  • Show app logo on function options in log console filter (#29178) by @martmull
  • Make log console table columns resizable (#29179) by @martmull
  • Make the session cookie opt-in so front components can pass auth proxies (#29180) by @FelixMalfait
  • Self-host Extra Smart: xAI fallback grok-4.6@high → grok-4.7 (#29181) by @twenty-pr-author
  • Reuse downloadFile for the SAML metadata download (#29182) by @FelixMalfait
  • fix(merge): reject non-UUID ids and a missing conflict priority index (#29183) by @etiennejouan
  • fix(permissions): validate row-level predicate operands against the field type (#29185) by @etiennejouan
  • chore: bump version to 2.54.0 (#29186) by @twenty-pr
  • [BREAKING_CHANGE] Replace vetted apps with marketplace listing (#29187) by @martmull
  • i18n - translations (#29188) by @twenty-pr
  • Hide isCustom from entities once the 2.54 drop command has run (#29189) by @charlesBochet
  • Show app icon on every function in log console filter (#29190) by @martmull
  • feat(ai): collapse long user messages in the chat thread (#29191) by @etiennejouan
  • Move inbox filters into the list header (#29192) by @bosiraphael
  • Name the User Apps and Workspace Apps permission flags USER_APPS and WORKSPACE_APPS in the SDK (#29194) by @ehconitin
  • Show conversation status in thread details (#29195) by @bosiraphael
  • Store Cloudflare country, region and city on user sessions (#29196) by @FelixMalfait
  • feat(cli): pull application dependency files (#29197) by @Weiko
  • i18n - translations (#29199) by @twenty-pr
  • feat(billing): show what each seat includes and where workspace credits come from (#29202) by @etiennejouan
  • Fix avatars overlapping selected chat cards (#29203) by @bosiraphael
  • Route server webhooks by application registration and function universalIdentifier (#29204) by @charlesBochet
  • Store workspace Ada modes and conversation types (#29206) by @bosiraphael
  • feat(cli): pull existing apps or initialize the workspace custom app (#29207) by @Weiko
  • i18n - website translations (#29208) by @twenty-pr
  • Reserve the TWENTY_ prefix for app variable names (#29210) by @prastoin
  • Order chat participant writes (#29212) by @bosiraphael
  • Deliver app inbox messages without a mention (#29213) by @bosiraphael
  • i18n - translations (#29222) by @twenty-pr
  • Extend Salesfarce to workflows, settings, chat and icons (#29223) by @Bonapara
  • i18n - website translations (#29224) by @twenty-pr
  • Show app banner and logo on built-in account app preferences (#29225) by @ehconitin
  • Show a connect card for installed apps without connections (#29227) by @ehconitin
  • Show app status instead of type on the workspace installed apps table (#29228) by @ehconitin
  • Add the related record path metadata entity (#29229) by @charlesBochet
  • Leave reserved variable names out of the app runtime env (#29230) by @prastoin
  • Cover shared chat boundaries with integration tests (#29231) by @bosiraphael
  • Forward enterprise licensing routes to twenty-connect (#29237) by @FelixMalfait
  • Validate updateTimelineActivityType input (#29238) by @ijreilly
  • Restore light description color on menu items (#29239) by @Bonapara
  • Retry npm publish when the provenance entry conflicts in Rekor (#29240) by @charlesBochet
  • Add the related record path metadata API (#29243) by @charlesBochet
  • fix(server): rebuild ORM table shapes after a field rename (#29244) by @etiennejouan
  • chore(ci): stop publishing retired create-twenty-app (#29245) by @Weiko
  • Put the workspace app detail page on the shared app detail layout (#29253) by @ehconitin
  • Move app preferences to /settings/app-preferences behind the flag (#29255) by @ehconitin
  • Regenerate the SDK metadata client (#29264) by @ehconitin
  • Restore an isolated enterprise signing key for development (#29266) by @FelixMalfait
  • Cap HTML nesting depth before converting email bodies to text (#29269) by @Tanguy-Magnaudet
  • i18n - translations (#29270) by @twenty-pr
  • Use disabled object permission actions in the Fathom, Slack and Teams apps (#29271) by @charlesBochet
  • i18n - translations (#29272) by @twenty-pr
  • Bound code interpreter output streamed to chat and read from the sandbox (#29274) by @charlesBochet
  • Restore light join word in keyboard shortcuts (#29275) by @Bonapara
  • Search the apps table by the name and description each row shows (#29277) by @ehconitin
  • i18n - translations (#29282) by @twenty-pr
  • i18n - translations (#29284) by @twenty-pr

Full Changelog: twenty/v2.53.1...twenty/v2.54.0

Don't miss a new twenty release

NewReleases is sending notifications on new releases.