sdk/v2.38.1

twentyhq/twentysdk/v2.38.1Sep 6, 2026by FelixMalfait

AI Summary

This release focuses on enhancing OAuth flows to preserve query parameters, improving AI interactions with global pinning and full-page chat, and optimizing server-side performance for workflows and caching. It also introduces new partner features and UI refinements for record page layouts.

Key Highlights

  • Preserve hash and query in OAuth connect redirect locations
  • Pin Ask AI globally and open new chats in full page
  • perf(server): declarative shared fetch plan for workspace cache recomputation
  • feat(partners): add Super partner flag and directory view
  • feat(page-layout): declare the record form layout and form field widget

New Features

  • Preserve hash and query in OAuth connect redirect locations
  • Pin Ask AI globally and open new chats in full page
  • feat(partners): add Super partner flag and directory view
  • Make Edit Layout available across the app
  • feat(front): serve the core workflows index on the workflows object route

Full Release Notes

## What's Changed
* chore: bump version to 2.38.0 by @twenty-pr[bot] in https://github.com/twentyhq/twenty/pull/24948
* Preserve hash and query in OAuth connect redirect locations by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24959
* Fix double-composited translucency on tooltips by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24962
* perf(server): declarative shared fetch plan for workspace cache recomputation by @prastoin in https://github.com/twentyhq/twenty/pull/24750
* fix(server): stop rate-limit throttler exceptions from reaching Sentry by @charlesBochet in https://github.com/twentyhq/twenty/pull/24931
* Fix stack overflow when importing a large Gmail folder by @neo773 in https://github.com/twentyhq/twenty/pull/24883
* Align timeline event icons with their row text by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24957
* Make Edit Layout available across the app by @Bonapara in https://github.com/twentyhq/twenty/pull/24865
* Remove pre-2-32 uiScale and pre-2-27 openRecordIn fallbacks by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24966
* refactor(server): extract WorkflowMetadataReadService from the common god-service by @charlesBochet in https://github.com/twentyhq/twenty/pull/24963
* v1.7.1 — feat(partners): add a How to review playbook in Matching Admin by @rashad in https://github.com/twentyhq/twenty/pull/24904
* i18n - website translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/24972
* v1.7.2 — feat(partners): add opportunity process playbooks by @rashad in https://github.com/twentyhq/twenty/pull/24956
* chore(billing): drop the creditBalanceMicro and hasReachedCurrentPeriodCap columns by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24969
* Anchor email and calendar timeline activities at their semantic time by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24967
* Scope two-hop relation widgets through the right morph branch by @thomtrp in https://github.com/twentyhq/twenty/pull/24929
* i18n - website translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/24977
* Prerender record page tabs on hover by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24958
* Follow reschedules on linked timeline activities by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24968
* Bill logic function executions for duration like AWS Lambda by @martmull in https://github.com/twentyhq/twenty/pull/24938
* Show Stripe Link in the onboarding payment step by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24978
* Make the timeline happensAt mapping timeline activity type metadata by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24970
* perf(server): serve the field-metadata query path from the lean projection by @charlesBochet in https://github.com/twentyhq/twenty/pull/24973
* Unify record and side-panel header identifiers by @Bonapara in https://github.com/twentyhq/twenty/pull/24935
* fix(server): report a credential-less request to UserAuthGuard as UNAUTHENTICATED by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24981
* test(e2e): cookie-authenticate direct backend calls, and clear the token pair on switch by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24982
* v1.8.0 — Super partner flag and directory view by @rashad in https://github.com/twentyhq/twenty/pull/24951
* Add Super partner pinning and mark on the website marketplace by @rashad in https://github.com/twentyhq/twenty/pull/24952
* i18n - website translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/24991
* Tune squircle corners to K 2.2 and preserve round shapes by @Bonapara in https://github.com/twentyhq/twenty/pull/24974
* Replace record summary cards with an identifier bar by @Bonapara in https://github.com/twentyhq/twenty/pull/24936
* Add canonical product icon dictionary by @Bonapara in https://github.com/twentyhq/twenty/pull/23719
* perf(server): diff full-sync message deletes via a Set, not Array.includes by @charlesBochet in https://github.com/twentyhq/twenty/pull/24996
* feat(page-layout): declare the record form layout and form field widget by @thomtrp in https://github.com/twentyhq/twenty/pull/24961
* Stop flagging MCP execute_tool as destructive by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24995
* i18n - website translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/24998
* Allow record page layouts to unpin the first tab by @Bonapara in https://github.com/twentyhq/twenty/pull/24937
* Hide the group header when the fields widget has a single group by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24997
* Add sidebar command and tooltips by @Bonapara in https://github.com/twentyhq/twenty/pull/24985
* Add the blocklist scope field and make its owner optional by @neo773 in https://github.com/twentyhq/twenty/pull/24813
* Fix e2e on main: disabled sortable cells claim button semantics by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24979
* Add a domain subtype to LINKS fields and normalize domains on write by @neo773 in https://github.com/twentyhq/twenty/pull/24911
* feat(front): serve the core workflows index on the workflows object route by @thomtrp in https://github.com/twentyhq/twenty/pull/24939
* perf(server): reuse the html-to-text converter across imported messages by @charlesBochet in https://github.com/twentyhq/twenty/pull/25004
* Fix additionalEmails typing in generated client SDK by @martmull in https://github.com/twentyhq/twenty/pull/24869
* v1.8.1 — Fix partner case-study save rejected by RLS by @rashad in https://github.com/twentyhq/twenty/pull/25010
* Pin Ask AI globally and open new chats in full page by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25005
* Slide the mobile record table's frozen column instead of resizing it by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24993
* Upgrade public apps to twenty-sdk 2.37.0 and label their application variables by @martmull in https://github.com/twentyhq/twenty/pull/24990
* Center the full page AI chat and suggest prompts from the browsed page by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25016
* Fix the chat focus crash and give the preprompt effect the suggested prompts by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25017
* Account for every AI chat turn outcome exactly once by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25019
* Stop caching the partners API response by @neo773 in https://github.com/twentyhq/twenty/pull/25021
* fix(ai): refresh the default model lists for self-hosted instances by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25022
* Move AI provider admin operations to their own resolver by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25023
* Read the agent suites' model ids from the recommended list by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25026
* Switch between Home, AI and Settings from one segmented control by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25059
* Make QA Scout failures quiet on PRs and legible in CI by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25060
* Sync calendar webhooks without waiting for the import cron by @neo773 in https://github.com/twentyhq/twenty/pull/24987
* Grant credits to enrichment-qualified workspaces by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25063
* Hide Twenty-operated config variables from the admin panel by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25068
* Drop the tab list from the walkthrough modal when there is a single tab by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25069
* fix(ci): authenticate the app-dev test leg as the seeded admin user by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/25028
* Register transcription models alongside language models by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25064
* Fix the rich text editor crash on the full screen toggle by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25071
* Keep only the writes inside the calendar and messaging import transactions by @neo773 in https://github.com/twentyhq/twenty/pull/24681
* Make the list view GA and fix what QA found on it by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25072
* Remove the legacy token-pair credential from the front by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25070
* fix: preserve editor content when toggling fullscreen  by @saadassali in https://github.com/twentyhq/twenty/pull/24563
* Add dictation to the AI chat composer by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25073
* Swap Settings for a record-open switcher in the workspace dropdown by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25077
* Surface structured login verification errors by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25080
* Fix auth provider propagation in password sign-up flows by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25078
* Migrate react-grid-layout to v2 by @ehconitin in https://github.com/twentyhq/twenty/pull/24922
* Fix morph junction relation picker in field widgets by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25097
* Fail closed when issuing required user sessions by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25079
* Widget-level isUIEditable setting; kanban/table parity on read-only surfaces by @ehconitin in https://github.com/twentyhq/twenty/pull/24308
* fix(server): persist user locale on userWorkspace create by @cfngc4594 in https://github.com/twentyhq/twenty/pull/25098
* feat(slack): admin-set manual user links on app-locked records by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/24670
* fix(workflow): create a record when a relation variable resolves to null by @thomtrp in https://github.com/twentyhq/twenty/pull/25000
* fix(server): release S3 sockets held by abandoned response bodies by @thomtrp in https://github.com/twentyhq/twenty/pull/25107
* Cancel Recall bot when a call recording is deleted by @ehconitin in https://github.com/twentyhq/twenty/pull/25115
* Scaffold Fathom Twenty app by @ehconitin in https://github.com/twentyhq/twenty/pull/24900
* Load saved any-field filters in record widgets by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25118
* Make inferred workspace logo upload best effort by @Weiko in https://github.com/twentyhq/twenty/pull/25100
* Preserve record widget settings on data source change by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25117
* Move the object navigation command menu item into the metadata side-effect engine by @prastoin in https://github.com/twentyhq/twenty/pull/23795
* Distribute orphan Recall cleanup jobs across workspaces by @ehconitin in https://github.com/twentyhq/twenty/pull/25114
* Remove no-op universal flat entity casts in side effect handlers by @prastoin in https://github.com/twentyhq/twenty/pull/25121
* Await inferred workspace logo upload during sign-up by @Weiko in https://github.com/twentyhq/twenty/pull/25126
* Fix solo field widget header actions by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25102
* Validate junction relation target settings by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25108
* Add role and app reference chips to AI chat by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25129
* Add page link and theme commands to command menu by @Bonapara in https://github.com/twentyhq/twenty/pull/25002
* Add Note widgets to record page layouts by @Bonapara in https://github.com/twentyhq/twenty/pull/25086
* Resolve reverse junction relations directionally by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25113
* Fix chat reference chip Storybook assertion by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25145
* feat(slack): settings UI and consent flow for Slack user links by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/24887
* Improve record page layout editing experience by @Bonapara in https://github.com/twentyhq/twenty/pull/25087
* Scope calendar orphan cleanup to the events the sync just unlinked by @neo773 in https://github.com/twentyhq/twenty/pull/24988
* Treat Google policy_enforced as a permanent OAuth error by @neo773 in https://github.com/twentyhq/twenty/pull/25148
* fix(messaging): register blocklist delete listener on DELETED, not CREATED by @neo773 in https://github.com/twentyhq/twenty/pull/25149
* chore: sync AI model catalog from models.dev by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/25152
* Keep workflow nodes centered when renamed by @rafipopz98 in https://github.com/twentyhq/twenty/pull/24334
* Surface Relations on email thread and calendar event record pages by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24994
* Port genql 3.0.5 test suite and run twenty-client-sdk tests in CI by @prastoin in https://github.com/twentyhq/twenty/pull/25092
* Compute selected call recording on the server by @ehconitin in https://github.com/twentyhq/twenty/pull/24945
* Generalize upgrade:background into a background wrapper for any nest command by @prastoin in https://github.com/twentyhq/twenty/pull/25131
* Add copy and see-all actions to the call recording summary widget header by @ehconitin in https://github.com/twentyhq/twenty/pull/24924
* docs: clarify that the app key-value store is persistent (Postgres-backed) by @martmull in https://github.com/twentyhq/twenty/pull/25160
* feat(slack): auto-link the installer on connect and clear ghost links by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/25150
* Unify workspace routes across main and side panel by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25141
* fix: exclude CalDAV collection href from event sync by @MoonBrillante in https://github.com/twentyhq/twenty/pull/25094
* Fix workflow diagram jumping 200px left when a rename forks a draft by @thomtrp in https://github.com/twentyhq/twenty/pull/25162
* Fix IMAP messages without Date header by @Leotrancoz0 in https://github.com/twentyhq/twenty/pull/25120
* Resolve morph member IDs in grouped metadata by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25137
* Restore purpose-built side panel page state by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25167
* Email campaigns 1/4: give each delivery its own row by @neo773 in https://github.com/twentyhq/twenty/pull/25122
* feat(server): run newly installed packaged application logic functions in prebuilt mode by @martmull in https://github.com/twentyhq/twenty/pull/25119
* Email campaigns 2/4: claim each send exactly once by @neo773 in https://github.com/twentyhq/twenty/pull/25123
* Type composite raw JSON sub-fields in the workspace GraphQL schema by @martmull in https://github.com/twentyhq/twenty/pull/25116
* Add lifecycle state column to application by @martmull in https://github.com/twentyhq/twenty/pull/25163
* Show status-specific call recording placeholders by @ehconitin in https://github.com/twentyhq/twenty/pull/24947
* fix(exception-handler): guard Sentry driver against non-object exceptions by @etiennejouan in https://github.com/twentyhq/twenty/pull/25171
* Hide Ask AI command when in side panel by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25168
* Email campaigns 3/4: record delivery outcomes from webhooks by @neo773 in https://github.com/twentyhq/twenty/pull/25124
* Preserve typed characters when focusing the activity editor by @Weiko in https://github.com/twentyhq/twenty/pull/25172
* feat(workflow): filters on the core workflows index by @thomtrp in https://github.com/twentyhq/twenty/pull/25109
* Show the Stripe billing date in self-hosted enterprise settings by @ijreilly in https://github.com/twentyhq/twenty/pull/25170
* feat(usage) - collect + attribute every CommonAPI request by @etiennejouan in https://github.com/twentyhq/twenty/pull/24960
* fix(twenty-front): blank index field labels on settings page by @Amit91848 in https://github.com/twentyhq/twenty/pull/24503
* Add call recording animated placeholder by @ehconitin in https://github.com/twentyhq/twenty/pull/25142
* Fix admin panel app install counts and show suspended installs by @ehconitin in https://github.com/twentyhq/twenty/pull/25158
* Fix dashboard record table settings context by @Weiko in https://github.com/twentyhq/twenty/pull/25180
* Provision missing object system relations by @thomtrp in https://github.com/twentyhq/twenty/pull/25169
* Email campaigns 4/4: honour unsubscribes and meter sends by @neo773 in https://github.com/twentyhq/twenty/pull/25125
* fix(ai-chat) - fix AI chat questions stuck on 'already been answered' after interrupted streams by @etiennejouan in https://github.com/twentyhq/twenty/pull/25175
* Simplify settings-shell opening in `useNavigateSettings` and add routed side-panel test by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25187
* Remove the orphaned message deliveryStatus field by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25161
* chore: sync AI model catalog from models.dev by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/25194
* Support nested relation create with morph target selection by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25174
* Include Note/Task rich-text body in field lists and add unit test by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25195
* Add customizable call recorder chat notice by @ehconitin in https://github.com/twentyhq/twenty/pull/25146
* feat(workflow): dispatch workflow triggers on core ids by @thomtrp in https://github.com/twentyhq/twenty/pull/25104
* Harden unified workspace surfaces by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25164
* Drop objectMetadataItemId from navigation command menu item payloads by @prastoin in https://github.com/twentyhq/twenty/pull/25132
* Update Ask AI command icon and migrate legacy sparkle icon in 2.38 by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25201
* Simplify default Task and Note record pages and add workspace migration by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25177
* Insert actions on existing workflow branches by @Bonapara in https://github.com/twentyhq/twenty/pull/25133
* Reconnect workflow arrow targets without rebuilding actions by @Bonapara in https://github.com/twentyhq/twenty/pull/25134
* Search workflow fields across steps from the root picker by @Bonapara in https://github.com/twentyhq/twenty/pull/25135
* Add Fathom OAuth connection by @ehconitin in https://github.com/twentyhq/twenty/pull/25197
* Fix main's red typecheck: drop removed portal fields from the settings test wrapper by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25196
* fix(billing) - fix stale seat count billed on plan and interval subscription updates by @etiennejouan in https://github.com/twentyhq/twenty/pull/25202
* test(server): cover field read permission for group-by records selection by @prastoin in https://github.com/twentyhq/twenty/pull/25206
* feat(slack): match the Slack roster by email and list unlinked users by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/25151
* Broadcast application and applicationRegistration changes over SSE by @martmull in https://github.com/twentyhq/twenty/pull/25173
* v1.8.3 — Keep applied briefs visible after unlist by @rashad in https://github.com/twentyhq/twenty/pull/25001
* Run connection-provider disconnect hooks before deleting the token by @ehconitin in https://github.com/twentyhq/twenty/pull/25215
* feat(server): add command converting existing application logic functions to prebuilt by @martmull in https://github.com/twentyhq/twenty/pull/25178
* Remove the automatic snackbar when a front component copies to the clipboard by @martmull in https://github.com/twentyhq/twenty/pull/25220
* Update Legal FAQ by @BOHEUS in https://github.com/twentyhq/twenty/pull/25209
* fix(server): propagate stream destroy to the socket behind the SDK checksum wrapper by @thomtrp in https://github.com/twentyhq/twenty/pull/25207
* chore(server): add worker memory diagnostics logging by @etiennejouan in https://github.com/twentyhq/twenty/pull/25216
* Return job handles from enqueueJob(s) and add a getJobs query by @martmull in https://github.com/twentyhq/twenty/pull/25204
* fix(slack): let a declined link fall through to the member's own email match by @hktitof in https://github.com/twentyhq/twenty/pull/25229
* Host the main surface's route context store once, above the page transition by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25233
* Stop remounting every device-session row on each render of the devices section by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25232
* Scope component instance ids at the provider, not in the resolving primitive by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25225
* Add the missing im:write scope to the Slack app manifest by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/25234
* Align the Slack app docs and metadata with the vetted apps by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/25235
* Remove the "Answered in" duration footer from Slack assistant replies by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/25237
* Split usage by application and give apps a billing block: usage, recurring fees, and pricing by @FelixMalfait in https://github.com/twentyhq/twenty/pull/24541
* chore: sync AI model catalog from models.dev by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/25244
* feat(workflow): honor continueOnFailure in the executor by @thomtrp in https://github.com/twentyhq/twenty/pull/25222
* chore(slack): bump app version to 0.6.1 by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/25242
* Put the navbar tabs and the show page header on one 40px grid by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25236
* Drop the app-to-settings cross-fade by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25249
* Delete side-panel and navigation tests that only exercise their mocks by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25250
* Delete frontend files nothing imports by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25253
* Add --no-delete to apply, plan and dev for additive application sync by @Weiko in https://github.com/twentyhq/twenty/pull/25245
* Move settings detail tabs below headers by @Bonapara in https://github.com/twentyhq/twenty/pull/25255
* Move information banners above page headers by @Bonapara in https://github.com/twentyhq/twenty/pull/25261
* Share the empty state, containers and drag-drop provider between record list and table by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25258
* Collapse page-layout twin hooks, widget factories and relation cards by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25259
* Resolve AI chat references through one table instead of eight link components by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25260
* Restore the five SSO GraphQL documents and regenerate the metadata client by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25271
* feat(workflow): browse and restore core workflow versions from the side panel by @thomtrp in https://github.com/twentyhq/twenty/pull/25199
* Sync Fathom recordings from webhooks by @ehconitin in https://github.com/twentyhq/twenty/pull/25208
* fix(slack): mark user links from disconnected Slack workspaces by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/25269
* feat(slack): render Twenty record links as work object previews by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/24980
* Create and delete the enqueue-job spec's logic functions one at a time by @Weiko in https://github.com/twentyhq/twenty/pull/25273
* Keep the raw junction target id out of a relation field's universal settings by @Weiko in https://github.com/twentyhq/twenty/pull/25264
* Remove owner-workspace restriction on unlisted tarball app installs by @martmull in https://github.com/twentyhq/twenty/pull/25270
* Allow development application on top of owned application by @martmull in https://github.com/twentyhq/twenty/pull/25267
* Fix the flaky front-sb-test storybook shards by @bosiraphael in https://github.com/twentyhq/twenty/pull/24412
* refactor: standardize SSO, SAML, OIDC, API and URL acronyms to PascalCase in internal identifiers by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25281
* feat(slack): surface broken connections and failed auto-link sweeps in the settings tab by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/25240
* fix(workflow): let create_complete_workflow build iterator loop bodies by @thomtrp in https://github.com/twentyhq/twenty/pull/25283
* feat(workflow): show workspace workflow versions only while the core index flag is off by @thomtrp in https://github.com/twentyhq/twenty/pull/25280
* fix(slack): post the assistant failure reply on its own deadline by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/25285
* Fix person merge failing on shared message threads and over 200 related records by @neo773 in https://github.com/twentyhq/twenty/pull/25190
* fix(auth): preserve connected account scopes on SSO login by @ayush-singh-0601 in https://github.com/twentyhq/twenty/pull/25296
* Keep task and note junction relations consistent by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25200
* Fix upgrade resume after instance command segment by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25299
* Support legacy activity target columns during upgrade by @FelixMalfait in https://github.com/twentyhq/twenty/pull/25301
* fix(server): require ROLES permission to bind a role to an API key by @charlesBochet in https://github.com/twentyhq/twenty/pull/24806
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/25306
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/25308

## New Contributors
* @saadassali made their first contribution in https://github.com/twentyhq/twenty/pull/24563
* @cfngc4594 made their first contribution in https://github.com/twentyhq/twenty/pull/25098
* @rafipopz98 made their first contribution in https://github.com/twentyhq/twenty/pull/24334
* @MoonBrillante made their first contribution in https://github.com/twentyhq/twenty/pull/25094
* @Leotrancoz0 made their first contribution in https://github.com/twentyhq/twenty/pull/25120
* @Amit91848 made their first contribution in https://github.com/twentyhq/twenty/pull/24503
* @hktitof made their first contribution in https://github.com/twentyhq/twenty/pull/25229
* @ayush-singh-0601 made their first contribution in https://github.com/twentyhq/twenty/pull/25296

**Full Changelog**: https://github.com/twentyhq/twenty/compare/sdk/v2.37.0...sdk/v2.38.1