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