sdk/v2.41.0
diffusionstudio/coresdk/v2.41.0Sep 23, 2026by twenty-pr[bot]
Upgrading?
AI Summary
A major SDK update introducing workspace-shared connection management, message channel ownership for apps, and a migration of UI components to Twenty UI.
Key Highlights
- Every application admin can now manage workspace-shared connections
- Apps can own message channels
- UI components migrated to Twenty UI
- Record sharing is now an enterprise feature
Breaking Changes
- Let every application admin manage a workspace-shared connection
- Reaction API removes contentId
New Features
- Workspace-shared connection management
- Message channel ownership for apps
- Twenty UI component migration
- Usage limit metadata API exposure
- Desktop Recorder UI controls
Full Release Notes
<!-- generated-release-notes v1 --> ## ⚠️ Breaking changes - Let every application admin manage a workspace-shared connection ([#25773](https://github.com/twentyhq/twenty/pull/25773)) by @abdulrahmancodes ## ✨ New features - feat(view): seed a user-owned initial view per object alongside the INDEX view ([#25416](https://github.com/twentyhq/twenty/pull/25416)) by @thomtrp - feat(usage-limit): expose usage limits over the metadata API ([#25740](https://github.com/twentyhq/twenty/pull/25740)) by @etiennejouan - feat(workflow): point core workflows and command menu items at core version ids ([#25757](https://github.com/twentyhq/twenty/pull/25757)) by @thomtrp - feat(skills): split agent-only skills from user skills, rewrite the catalog ([#25798](https://github.com/twentyhq/twenty/pull/25798)) by @FelixMalfait - feat(messaging): let apps own message channels ([#25903](https://github.com/twentyhq/twenty/pull/25903)) by @FelixMalfait - feat(messaging): let apps ingest messages into their channels ([#25905](https://github.com/twentyhq/twenty/pull/25905)) by @FelixMalfait - feat(messaging): resolve identity for non-email participants ([#25906](https://github.com/twentyhq/twenty/pull/25906)) by @FelixMalfait ## 💅 Improvements & UX - Record sharing: inherited objects follow their parent ([#25439](https://github.com/twentyhq/twenty/pull/25439)) by @martmull - Support explicit widget height behavior ([#25512](https://github.com/twentyhq/twenty/pull/25512)) by @Bonapara - Simplify page layout manifest authoring ([#25513](https://github.com/twentyhq/twenty/pull/25513)) by @Bonapara - [1/4] Desktop Recorder: support existing UI controls ([#25632](https://github.com/twentyhq/twenty/pull/25632)) by @Bonapara - Replace frontend snackbars with twenty-ui toasts ([#25664](https://github.com/twentyhq/twenty/pull/25664)) by @bosiraphael - Stop pull overwriting a source file that defines no entity ([#25739](https://github.com/twentyhq/twenty/pull/25739)) by @Weiko - Write pulled standalone page layout widgets as define files ([#25743](https://github.com/twentyhq/twenty/pull/25743)) by @Weiko - Stop calling a local file unknown to the workspace when the export reported it ([#25746](https://github.com/twentyhq/twenty/pull/25746)) by @Weiko - Tell pull users their project cannot build what pull just wrote ([#25747](https://github.com/twentyhq/twenty/pull/25747)) by @Weiko - Refuse to pull an application into a project that already defines another ([#25750](https://github.com/twentyhq/twenty/pull/25750)) by @Weiko - Restrict AI and Settings access during layout editing ([#25760](https://github.com/twentyhq/twenty/pull/25760)) by @Bonapara - Validate select option colors ([#25805](https://github.com/twentyhq/twenty/pull/25805)) by @bosiraphael - Point pull users at the apply flag that protects what it could not write ([#25808](https://github.com/twentyhq/twenty/pull/25808)) by @Weiko - Polish AI model settings ([#25810](https://github.com/twentyhq/twenty/pull/25810)) by @Bonapara - Let runAgent messages carry file attachments ([#25835](https://github.com/twentyhq/twenty/pull/25835)) by @abdulrahmancodes - Lay the app out right to left for Arabic and Hebrew ([#25854](https://github.com/twentyhq/twenty/pull/25854)) by @FelixMalfait - Migrate buttons to Base UI ([#25888](https://github.com/twentyhq/twenty/pull/25888)) by @bosiraphael - Add live previews to Twenty UI documentation ([#25889](https://github.com/twentyhq/twenty/pull/25889)) by @bosiraphael - Remove the email group flag and gate campaigns behind their own flag ([#25916](https://github.com/twentyhq/twenty/pull/25916)) by @neo773 - Show AI chat context and credit usage ([#25923](https://github.com/twentyhq/twenty/pull/25923)) by @Bonapara - Organize Twenty UI into primitive families ([#25948](https://github.com/twentyhq/twenty/pull/25948)) by @bosiraphael - Split the admin application registration update input ([#25963](https://github.com/twentyhq/twenty/pull/25963)) by @prastoin - Derive permission universal identifiers from their role and target ([#25966](https://github.com/twentyhq/twenty/pull/25966)) by @Weiko - Redesign the marketplace app detail page ([#25969](https://github.com/twentyhq/twenty/pull/25969)) by @martmull - [1/2 Sidebar] New layout ([#25974](https://github.com/twentyhq/twenty/pull/25974)) by @Bonapara - Use Twenty UI components in presentation stories ([#25976](https://github.com/twentyhq/twenty/pull/25976)) by @bosiraphael - Desktop Recorder: align merged integration and UI naming conventions ([#25977](https://github.com/twentyhq/twenty/pull/25977)) by @Bonapara - Document data display primitives ([#25980](https://github.com/twentyhq/twenty/pull/25980)) by @bosiraphael - Write roles and permission flags on pull ([#25994](https://github.com/twentyhq/twenty/pull/25994)) by @Weiko - Use Twenty UI buttons in Menu and Popover stories ([#26001](https://github.com/twentyhq/twenty/pull/26001)) by @bosiraphael - Clip the toast progress overlay to the toast corners ([#26012](https://github.com/twentyhq/twenty/pull/26012)) by @neo773 - Clarify twenty-ui setup in the README ([#26044](https://github.com/twentyhq/twenty/pull/26044)) by @bosiraphael - Document controlled and uncontrolled UI state ([#26062](https://github.com/twentyhq/twenty/pull/26062)) by @bosiraphael - Document Twenty UI anatomy and composition ([#26066](https://github.com/twentyhq/twenty/pull/26066)) by @bosiraphael - Disable play functions in UI documentation examples ([#26069](https://github.com/twentyhq/twenty/pull/26069)) by @bosiraphael - Make record sharing an enterprise feature ([#26070](https://github.com/twentyhq/twenty/pull/26070)) by @martmull - Cache billing entitlements in the workspace cache ([#26078](https://github.com/twentyhq/twenty/pull/26078)) by @Weiko ## 🐛 Bug fixes - fix(storybook): prevent oversized Argos screenshots ([#25779](https://github.com/twentyhq/twenty/pull/25779)) by @bosiraphael - fix(create-twenty-app): ship a lockfile so generated apps install under an age gate ([#25879](https://github.com/twentyhq/twenty/pull/25879)) by @FelixMalfait ## 🔧 Developer & API - Align twenty-ui with SDK package versions ([#25758](https://github.com/twentyhq/twenty/pull/25758)) by @bosiraphael - Migrate Status to the new twenty-ui API ([#25785](https://github.com/twentyhq/twenty/pull/25785)) by @bosiraphael - Migrate Tag to the new twenty-ui API ([#25786](https://github.com/twentyhq/twenty/pull/25786)) by @bosiraphael - Migrate Avatar to the new twenty-ui API ([#25787](https://github.com/twentyhq/twenty/pull/25787)) by @bosiraphael - Migrate Chip to the new twenty-ui API ([#25788](https://github.com/twentyhq/twenty/pull/25788)) by @bosiraphael - Add Twenty UI documentation and generated API references ([#25791](https://github.com/twentyhq/twenty/pull/25791)) by @bosiraphael <details> <summary>🏗️ Internal changes (1)</summary> - refactor(server): bind resolved application packages to their registration ([#26077](https://github.com/twentyhq/twenty/pull/26077)) by @prastoin </details> ## 🎉 New contributors - @mydd7 made their first contribution in https://github.com/twentyhq/twenty/pull/25674 - @mcr-ksh made their first contribution in https://github.com/twentyhq/twenty/pull/25782 - @amannn made their first contribution in https://github.com/twentyhq/twenty/pull/25754 - @tomjtobinn made their first contribution in https://github.com/twentyhq/twenty/pull/25822 - @yosh1 made their first contribution in https://github.com/twentyhq/twenty/pull/25868 - @Dewin made their first contribution in https://github.com/twentyhq/twenty/pull/26017 <details> <summary>Full changelog (55 PRs)</summary> - feat(view): seed a user-owned initial view per object alongside the INDEX view ([#25416](https://github.com/twentyhq/twenty/pull/25416)) by @thomtrp - Record sharing: inherited objects follow their parent ([#25439](https://github.com/twentyhq/twenty/pull/25439)) by @martmull - Support explicit widget height behavior ([#25512](https://github.com/twentyhq/twenty/pull/25512)) by @Bonapara - Simplify page layout manifest authoring ([#25513](https://github.com/twentyhq/twenty/pull/25513)) by @Bonapara - [1/4] Desktop Recorder: support existing UI controls ([#25632](https://github.com/twentyhq/twenty/pull/25632)) by @Bonapara - Replace frontend snackbars with twenty-ui toasts ([#25664](https://github.com/twentyhq/twenty/pull/25664)) by @bosiraphael - Stop pull overwriting a source file that defines no entity ([#25739](https://github.com/twentyhq/twenty/pull/25739)) by @Weiko - feat(usage-limit): expose usage limits over the metadata API ([#25740](https://github.com/twentyhq/twenty/pull/25740)) by @etiennejouan - Write pulled standalone page layout widgets as define files ([#25743](https://github.com/twentyhq/twenty/pull/25743)) by @Weiko - Stop calling a local file unknown to the workspace when the export reported it ([#25746](https://github.com/twentyhq/twenty/pull/25746)) by @Weiko - Tell pull users their project cannot build what pull just wrote ([#25747](https://github.com/twentyhq/twenty/pull/25747)) by @Weiko - Refuse to pull an application into a project that already defines another ([#25750](https://github.com/twentyhq/twenty/pull/25750)) by @Weiko - feat(workflow): point core workflows and command menu items at core version ids ([#25757](https://github.com/twentyhq/twenty/pull/25757)) by @thomtrp - Align twenty-ui with SDK package versions ([#25758](https://github.com/twentyhq/twenty/pull/25758)) by @bosiraphael - Restrict AI and Settings access during layout editing ([#25760](https://github.com/twentyhq/twenty/pull/25760)) by @Bonapara - Let every application admin manage a workspace-shared connection ([#25773](https://github.com/twentyhq/twenty/pull/25773)) by @abdulrahmancodes - fix(storybook): prevent oversized Argos screenshots ([#25779](https://github.com/twentyhq/twenty/pull/25779)) by @bosiraphael - Migrate Status to the new twenty-ui API ([#25785](https://github.com/twentyhq/twenty/pull/25785)) by @bosiraphael - Migrate Tag to the new twenty-ui API ([#25786](https://github.com/twentyhq/twenty/pull/25786)) by @bosiraphael - Migrate Avatar to the new twenty-ui API ([#25787](https://github.com/twentyhq/twenty/pull/25787)) by @bosiraphael - Migrate Chip to the new twenty-ui API ([#25788](https://github.com/twentyhq/twenty/pull/25788)) by @bosiraphael - Add Twenty UI documentation and generated API references ([#25791](https://github.com/twentyhq/twenty/pull/25791)) by @bosiraphael - feat(skills): split agent-only skills from user skills, rewrite the catalog ([#25798](https://github.com/twentyhq/twenty/pull/25798)) by @FelixMalfait - Validate select option colors ([#25805](https://github.com/twentyhq/twenty/pull/25805)) by @bosiraphael - Point pull users at the apply flag that protects what it could not write ([#25808](https://github.com/twentyhq/twenty/pull/25808)) by @Weiko - Polish AI model settings ([#25810](https://github.com/twentyhq/twenty/pull/25810)) by @Bonapara - chore: bump version to 2.41.0 ([#25813](https://github.com/twentyhq/twenty/pull/25813)) by @twenty-pr - Let runAgent messages carry file attachments ([#25835](https://github.com/twentyhq/twenty/pull/25835)) by @abdulrahmancodes - Lay the app out right to left for Arabic and Hebrew ([#25854](https://github.com/twentyhq/twenty/pull/25854)) by @FelixMalfait - fix(create-twenty-app): ship a lockfile so generated apps install under an age gate ([#25879](https://github.com/twentyhq/twenty/pull/25879)) by @FelixMalfait - Migrate buttons to Base UI ([#25888](https://github.com/twentyhq/twenty/pull/25888)) by @bosiraphael - Add live previews to Twenty UI documentation ([#25889](https://github.com/twentyhq/twenty/pull/25889)) by @bosiraphael - feat(messaging): let apps own message channels ([#25903](https://github.com/twentyhq/twenty/pull/25903)) by @FelixMalfait - feat(messaging): let apps ingest messages into their channels ([#25905](https://github.com/twentyhq/twenty/pull/25905)) by @FelixMalfait - feat(messaging): resolve identity for non-email participants ([#25906](https://github.com/twentyhq/twenty/pull/25906)) by @FelixMalfait - Remove the email group flag and gate campaigns behind their own flag ([#25916](https://github.com/twentyhq/twenty/pull/25916)) by @neo773 - Show AI chat context and credit usage ([#25923](https://github.com/twentyhq/twenty/pull/25923)) by @Bonapara - Organize Twenty UI into primitive families ([#25948](https://github.com/twentyhq/twenty/pull/25948)) by @bosiraphael - Split the admin application registration update input ([#25963](https://github.com/twentyhq/twenty/pull/25963)) by @prastoin - Derive permission universal identifiers from their role and target ([#25966](https://github.com/twentyhq/twenty/pull/25966)) by @Weiko - Redesign the marketplace app detail page ([#25969](https://github.com/twentyhq/twenty/pull/25969)) by @martmull - [1/2 Sidebar] New layout ([#25974](https://github.com/twentyhq/twenty/pull/25974)) by @Bonapara - Use Twenty UI components in presentation stories ([#25976](https://github.com/twentyhq/twenty/pull/25976)) by @bosiraphael - Desktop Recorder: align merged integration and UI naming conventions ([#25977](https://github.com/twentyhq/twenty/pull/25977)) by @Bonapara - Document data display primitives ([#25980](https://github.com/twentyhq/twenty/pull/25980)) by @bosiraphael - Write roles and permission flags on pull ([#25994](https://github.com/twentyhq/twenty/pull/25994)) by @Weiko - Use Twenty UI buttons in Menu and Popover stories ([#26001](https://github.com/twentyhq/twenty/pull/26001)) by @bosiraphael - Clip the toast progress overlay to the toast corners ([#26012](https://github.com/twentyhq/twenty/pull/26012)) by @neo773 - Clarify twenty-ui setup in the README ([#26044](https://github.com/twentyhq/twenty/pull/26044)) by @bosiraphael - Document controlled and uncontrolled UI state ([#26062](https://github.com/twentyhq/twenty/pull/26062)) by @bosiraphael - Document Twenty UI anatomy and composition ([#26066](https://github.com/twentyhq/twenty/pull/26066)) by @bosiraphael - Disable play functions in UI documentation examples ([#26069](https://github.com/twentyhq/twenty/pull/26069)) by @bosiraphael - Make record sharing an enterprise feature ([#26070](https://github.com/twentyhq/twenty/pull/26070)) by @martmull - refactor(server): bind resolved application packages to their registration ([#26077](https://github.com/twentyhq/twenty/pull/26077)) by @prastoin - Cache billing entitlements in the workspace cache ([#26078](https://github.com/twentyhq/twenty/pull/26078)) by @Weiko </details> **Full Changelog**: https://github.com/twentyhq/twenty/compare/sdk/v2.40.0...sdk/v2.41.0
Related Repositories
openclaw/openclaw★ 392,689
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
nilbuild/developer-roadmap★ 370,064
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
morluto/rea★ 357,472
Reverse engineer anything with agents, from app behavior down to native binaries.
anomalyco/opencode★ 219,654
The open source coding agent.
n8n-io/n8n★ 208,248
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.