twenty/v2.38.1
twentyhq/twentytwenty/v2.38.1Sep 6, 2026by FelixMalfait
AI Summary
This update brings several UI improvements including fixes for tooltip translucency and the ability to unpin the first tab in record page layouts. Backend changes include dropping legacy billing columns and optimizing AI provider operations.
Key Highlights
- Fix double-composited translucency on tooltips
- Allow record page layouts to unpin the first tab
- chore(billing): drop the creditBalanceMicro and hasReachedCurrentPeriodCap columns
- Move AI provider admin operations to their own resolver
- Stop caching the partners API response
New Features
- Fix double-composited translucency on tooltips
- Allow record page layouts to unpin the first tab
- chore(billing): drop the creditBalanceMicro and hasReachedCurrentPeriodCap columns
- Move AI provider admin operations to their own resolver
- Hide the group header when the fields widget has a single group
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/twenty/v2.37.0...twenty/v2.38.1