sdk/v2.41.0
BasedHardware/omisdk/v2.41.0Sep 23, 2026by twenty-pr[bot]
Upgrading?
AI Summary
The SDK release introduces workspace-shared connections and message channel ownership. It also exposes usage limits via the metadata API and improves the user interface with several UX enhancements.
Key Highlights
- Workspace-shared connections management
- Message channel ownership by applications
- Usage limits exposed via metadata API
- Migration to Twenty UI components
- Record sharing improvements
Breaking Changes
- Let every application admin manage a workspace-shared connection
New Features
- User-owned initial view per object
- Core workflows and command menu versioning
- Agent-only skills split from user skills
- Message ingestion into channels
- Identity resolution for non-email participants
- Desktop recorder support
- RTL layout support (Arabic/Hebrew)
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
public-apis/public-apis★ 491,181
A collective list of free APIs
NousResearch/hermes-agent★ 256,034
The agent that grows with you
yt-dlp/yt-dlp★ 200,204
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,527
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,700
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.