github twentyhq/twenty twenty/v2.39.0

latest release: sdk/v2.39.0
3 hours ago

⚠️ Breaking changes

  • Generate the twenty-ui theme artifacts from a single design-tokens source (#24375) by @bosiraphael

✨ New features

  • feat(call-recorder): custom settings tab with grouped sections (#24913) by @ehconitin
  • feat(record-form): provision a RECORD_FORM page layout per object (#24999) by @thomtrp
  • feat(workflow): honor retryOnFailure in the executor (#25248) by @thomtrp
  • feat(usage-limit): gate intra-workspace limits behind the Organization entitlement (#25292) by @etiennejouan
  • feat(slack): render task links as Slack's typed task entity (#25303) by @abdulrahmancodes
  • feat(slack): log Slack event retry deliveries (#25304) by @abdulrahmancodes
  • feat(workflow): Node settings page for step error handling (#25314) by @thomtrp
  • feat(workflow): idempotency hint under the retry setting (#25334) by @thomtrp
  • feat(call-recorder): mark the Recording Bot preference On only when a bot is scheduled (#25412) by @ehconitin
  • feat(apps): support logo asset on ConnectionProviderManifest (#25419) by @martmull

💅 Improvements & UX

  • Mark the Slack app as vetted and release it as 1.0.0 (#25214) by @abdulrahmancodes
  • Add Fathom discovery and backfill (#25251) by @ehconitin
  • List views ready for prod (#25257) by @Bonapara
  • Add fidelity manifest fields for objects, fields and permission flags (#25265) by @Weiko
  • Stop dropping the call recording transcript during media upload (#25274) by @ehconitin
  • feat(usage-limit) - reshape the limit model for quota kinds (#25277) by @etiennejouan
  • feat(usage-limit) - quota engine (#25278) by @etiennejouan
  • feat(usage) - credit allowance as a quota counter and enforcement wiring (#25279) by @etiennejouan
  • Tidy the campaign composer, add cancel, and confirm before sending (#25293) by @neo773
  • Send campaigns in batches on a paced queue (#25294) by @neo773
  • fix(ai-chat) - fix AI chat drop zone flickering while dragging over its own content (#25307) by @etiennejouan
  • Add the exportApplication query for the data model of a local application (#25311) by @Weiko
  • add fathom app gallery illustrations (#25327) by @ehconitin
  • bump call recorder app version to 1.12.0 (#25329) by @ehconitin
  • Publish queue job events over SSE (#25333) by @martmull
  • Keep undeclared application references on additive apply (#25335) by @Weiko
  • Animate navigation mode label transitions (#25345) by @Bonapara
  • Fix phone input editor sizing (#25406) by @Bonapara
  • Shorten the Link content field description (#25409) by @neo773
  • Add yarn twenty pull to write an installed application back to source (#25410) by @Weiko
  • Capture the provider response when an account is revoked (#25413) by @neo773
  • Record sharing 1/14: add the readability level on object metadata (#25421) by @martmull
  • Deliver SSE events once instead of twice (#25423) by @martmull
  • Add in-product Update Payment Method modal and retry unpaid invoices after SetupIntent (#25430) by @FelixMalfait
  • Make the navigation tabs reachable when collapsed and on mobile (#25458) by @FelixMalfait
  • Chunk calendar participant updates back under the 200 row limit (#25465) by @neo773
  • Declare the messageListMember INDEX view and backfill both message list junction targets (#25468) by @FelixMalfait
  • Add a description to message lists and embed the members table on the list record page (#25469) by @FelixMalfait
  • Writability 1/3: expose writability on the object and field metadata DTOs (#25470) by @FelixMalfait
  • Writability 2/3: declare SYSTEM writability on platform-owned standard objects (#25471) by @FelixMalfait
  • Writability 3/3: derive record read-only state from writability instead of the system-object flag (#25472) by @FelixMalfait
  • Add a pinned Duplicate List action copying a message list and its members (#25473) by @FelixMalfait
  • Make relation table widgets follow junction relations (#25475) by @FelixMalfait
  • Fix Slack app doc inaccuracies found in review (#25481) by @abdulrahmancodes
  • Sync relation targets with their cached lists on attach and detach (#25500) by @FelixMalfait
  • Fix the duplicated list page and toast after Duplicate List (#25504) by @FelixMalfait
  • [codex] Ignore stale authentication errors after session changes (#25510) by @FelixMalfait
  • Make Slack app logic function executions free and simplify its README (#25523) by @abdulrahmancodes
  • Skip delayed workflow resume when the run no longer exists (#25528) by @thomtrp
  • Fix attachments missing from Outlook drafts created by the Draft Email action (#25529) by @neo773

🐛 Bug fixes

🔧 Developer & API

  • Create webhook subscriptions on the OAuth connect path (#25211) by @neo773
  • Remove legacy graphql-upload mutations superseded by direct upload (#25348) by @martmull
🏗️ Internal changes (4)
Full changelog (87 PRs)
  • Fix: Calendar drop issue & drop target resolution at list extremes (#24082) by @git-init-priyanshu
  • Generate the twenty-ui theme artifacts from a single design-tokens source (#24375) by @bosiraphael
  • feat(call-recorder): custom settings tab with grouped sections (#24913) by @ehconitin
  • feat(record-form): provision a RECORD_FORM page layout per object (#24999) by @thomtrp
  • Create webhook subscriptions on the OAuth connect path (#25211) by @neo773
  • Mark the Slack app as vetted and release it as 1.0.0 (#25214) by @abdulrahmancodes
  • feat(workflow): honor retryOnFailure in the executor (#25248) by @thomtrp
  • Add Fathom discovery and backfill (#25251) by @ehconitin
  • List views ready for prod (#25257) by @Bonapara
  • Add fidelity manifest fields for objects, fields and permission flags (#25265) by @Weiko
  • Stop dropping the call recording transcript during media upload (#25274) by @ehconitin
  • feat(usage-limit) - reshape the limit model for quota kinds (#25277) by @etiennejouan
  • feat(usage-limit) - quota engine (#25278) by @etiennejouan
  • feat(usage) - credit allowance as a quota counter and enforcement wiring (#25279) by @etiennejouan
  • feat(usage-limit): gate intra-workspace limits behind the Organization entitlement (#25292) by @etiennejouan
  • Tidy the campaign composer, add cancel, and confirm before sending (#25293) by @neo773
  • Send campaigns in batches on a paced queue (#25294) by @neo773
  • feat(slack): render task links as Slack's typed task entity (#25303) by @abdulrahmancodes
  • feat(slack): log Slack event retry deliveries (#25304) by @abdulrahmancodes
  • fix(ai-chat) - fix AI chat drop zone flickering while dragging over its own content (#25307) by @etiennejouan
  • chore: bump version to 2.39.0 (#25310) by @twenty-pr
  • Add the exportApplication query for the data model of a local application (#25311) by @Weiko
  • i18n - translations (#25312) by @github-actions
  • feat(workflow): Node settings page for step error handling (#25314) by @thomtrp
  • i18n - translations (#25316) by @github-actions
  • fix(workflow): blank step-editor tabs in the side panel (#25318) by @thomtrp
  • fix: keep completeFileUpload below the gateway timeout (#25320) by @martmull
  • i18n - translations (#25321) by @github-actions
  • chore(billing): centralize dollars to micro-credits conversion (#25326) by @etiennejouan
  • add fathom app gallery illustrations (#25327) by @ehconitin
  • i18n - translations (#25328) by @github-actions
  • bump call recorder app version to 1.12.0 (#25329) by @ehconitin
  • i18n - translations (#25331) by @github-actions
  • Publish queue job events over SSE (#25333) by @martmull
  • feat(workflow): idempotency hint under the retry setting (#25334) by @thomtrp
  • Keep undeclared application references on additive apply (#25335) by @Weiko
  • i18n - translations (#25336) by @github-actions
  • chore(workflow): remove graduated workflow-core feature flags (#25338) by @thomtrp
  • i18n - translations (#25339) by @github-actions
  • fix: cap the SVG size that file upload completion will sanitize (#25340) by @FelixMalfait
  • refactor: make each file folder state its MIME policy explicitly (#25341) by @FelixMalfait
  • fix: quarantine direct uploads until completion has validated them (#25342) by @FelixMalfait
  • Animate navigation mode label transitions (#25345) by @Bonapara
  • i18n - translations (#25347) by @github-actions
  • Remove legacy graphql-upload mutations superseded by direct upload (#25348) by @martmull
  • i18n - translations (#25350) by @github-actions
  • i18n - translations (#25351) by @github-actions
  • fix(workflow): stop corrupting run state when a loop resets a deleted step (#25352) by @thomtrp
  • i18n - translations (#25353) by @github-actions
  • chore(server): revert worker memory diagnostics logging (#25355) by @etiennejouan
  • fix(server): ship ClickHouse migrations in the server build (#25357) by @etiennejouan
  • Fix phone input editor sizing (#25406) by @Bonapara
  • Shorten the Link content field description (#25409) by @neo773
  • Add yarn twenty pull to write an installed application back to source (#25410) by @Weiko
  • i18n - translations (#25411) by @github-actions
  • feat(call-recorder): mark the Recording Bot preference On only when a bot is scheduled (#25412) by @ehconitin
  • Capture the provider response when an account is revoked (#25413) by @neo773
  • i18n - translations (#25414) by @github-actions
  • i18n - translations (#25417) by @github-actions
  • i18n - translations (#25418) by @github-actions
  • feat(apps): support logo asset on ConnectionProviderManifest (#25419) by @martmull
  • Record sharing 1/14: add the readability level on object metadata (#25421) by @martmull
  • Deliver SSE events once instead of twice (#25423) by @martmull
  • i18n - translations (#25424) by @github-actions
  • Add in-product Update Payment Method modal and retry unpaid invoices after SetupIntent (#25430) by @FelixMalfait
  • chore: sync AI model catalog from models.dev (#25451) by @github-actions
  • i18n - translations (#25455) by @github-actions
  • i18n - translations (#25456) by @github-actions
  • Make the navigation tabs reachable when collapsed and on mobile (#25458) by @FelixMalfait
  • i18n - translations (#25462) by @github-actions
  • Chunk calendar participant updates back under the 200 row limit (#25465) by @neo773
  • Declare the messageListMember INDEX view and backfill both message list junction targets (#25468) by @FelixMalfait
  • Add a description to message lists and embed the members table on the list record page (#25469) by @FelixMalfait
  • Writability 1/3: expose writability on the object and field metadata DTOs (#25470) by @FelixMalfait
  • Writability 2/3: declare SYSTEM writability on platform-owned standard objects (#25471) by @FelixMalfait
  • Writability 3/3: derive record read-only state from writability instead of the system-object flag (#25472) by @FelixMalfait
  • Add a pinned Duplicate List action copying a message list and its members (#25473) by @FelixMalfait
  • Make relation table widgets follow junction relations (#25475) by @FelixMalfait
  • Fix Slack app doc inaccuracies found in review (#25481) by @abdulrahmancodes
  • Sync relation targets with their cached lists on attach and detach (#25500) by @FelixMalfait
  • Fix the duplicated list page and toast after Duplicate List (#25504) by @FelixMalfait
  • [codex] Ignore stale authentication errors after session changes (#25510) by @FelixMalfait
  • i18n - translations (#25517) by @github-actions
  • Make Slack app logic function executions free and simplify its README (#25523) by @abdulrahmancodes
  • i18n - translations (#25525) by @github-actions
  • Skip delayed workflow resume when the run no longer exists (#25528) by @thomtrp
  • Fix attachments missing from Outlook drafts created by the Draft Email action (#25529) by @neo773

Full Changelog: twenty/v2.38.1...twenty/v2.39.0

Don't miss a new twenty release

NewReleases is sending notifications on new releases.