Twenty logo

Twenty

The open alternative to Salesforce, designed for AI

Alternative to: salesforce, hubspot, pipedrive, zoho crm

Twenty screenshot

About Versions (125)

sdk/v2.41.0

2026-09-23

⚠️ Breaking changes

  • Let every application admin manage a workspace-shared connection (#25773) by @abdulrahmancodes

✨ New features

  • feat(view): seed a user-owned initial view per object alongside the INDEX view (#25416) by @thomtrp
  • feat(usage-limit): expose usage limits over the metadata API (#25740) by @etiennejouan
  • feat(workflow): point core workflows and command menu items at core version ids (#25757) by @thomtrp
  • feat(skills): split agent-only skills from user skills, rewrite the catalog (#25798) by @FelixMalfait
  • feat(messaging): let apps own message channels (#25903) by @FelixMalfait
  • feat(messaging): let apps ingest messages into their channels (#25905) by @FelixMalfait
  • feat(messaging): resolve identity for non-email participants (#25906) by @FelixMalfait

💅 Improvements & UX

  • Record sharing: inherited objects follow their parent (#25439) by @martmull
  • Support explicit widget height behavior (#25512) by @Bonapara
  • Simplify page layout manifest authoring (#25513) by @Bonapara
  • [1/4] Desktop Recorder: support existing UI controls (#25632) by @Bonapara
  • Replace frontend snackbars with twenty-ui toasts (#25664) by @bosiraphael
  • Stop pull overwriting a source file that defines no entity (#25739) by @Weiko
  • Write pulled standalone page layout widgets as define files (#25743) by @Weiko
  • Stop calling a local file unknown to the workspace when the export reported it (#25746) by @Weiko
  • Tell pull users their project cannot build what pull just wrote (#25747) by @Weiko
  • Refuse to pull an application into a project that already defines another (#25750) by @Weiko
  • Restrict AI and Settings access during layout editing (#25760) by @Bonapara
  • Validate select option colors (#25805) by @bosiraphael
  • Point pull users at the apply flag that protects what it could not write (#25808) by @Weiko
  • Polish AI model settings (#25810) by @Bonapara
  • Let runAgent messages carry file attachments (#25835) by @abdulrahmancodes
  • Lay the app out right to left for Arabic and Hebrew (#25854) by @FelixMalfait
  • Migrate buttons to Base UI (#25888) by @bosiraphael
  • Add live previews to Twenty UI documentation (#25889) by @bosiraphael
  • Remove the email group flag and gate campaigns behind their own flag (#25916) by @neo773
  • Show AI chat context and credit usage (#25923) by @Bonapara
  • Organize Twenty UI into primitive families (#25948) by @bosiraphael
  • Split the admin application registration update input (#25963) by @prastoin
  • Derive permission universal identifiers from their role and target (#25966) by @Weiko
  • Redesign the marketplace app detail page (#25969) by @martmull
  • [1/2 Sidebar] New layout (#25974) by @Bonapara
  • Use Twenty UI components in presentation stories (#25976) by @bosiraphael
  • Desktop Recorder: align merged integration and UI naming conventions (#25977) by @Bonapara
  • Document data display primitives (#25980) by @bosiraphael
  • Write roles and permission flags on pull (#25994) by @Weiko
  • Use Twenty UI buttons in Menu and Popover stories (#26001) by @bosiraphael
  • Clip the toast progress overlay to the toast corners (#26012) by @neo773
  • Clarify twenty-ui setup in the README (#26044) by @bosiraphael
  • Document controlled and uncontrolled UI state (#26062) by @bosiraphael
  • Document Twenty UI anatomy and composition (#26066) by @bosiraphael
  • Disable play functions in UI documentation examples (#26069) by @bosiraphael
  • Make record sharing an enterprise feature (#26070) by @martmull
  • Cache billing entitlements in the workspace cache (#26078) by @Weiko

🐛 Bug fixes

  • fix(storybook): prevent oversized Argos screenshots (#25779) by @bosiraphael
  • fix(create-twenty-app): ship a lockfile so generated apps install under an age gate (#25879) by @FelixMalfait

🔧 Developer & API

  • Align twenty-ui with SDK package versions (#25758) by @bosiraphael
  • Migrate Status to the new twenty-ui API (#25785) by @bosiraphael
  • Migrate Tag to the new twenty-ui API (#25786) by @bosiraphael
  • Migrate Avatar to the new twenty-ui API (#25787) by @bosiraphael
  • Migrate Chip to the new twenty-ui API (#25788) by @bosiraphael
  • Add Twenty UI documentation and generated API references (#25791) by @bosiraphael
🏗️ Internal changes (1)
  • refactor(server): bind resolved application packages to their registration (#26077) by @prastoin

🎉 New contributors

Full changelog (55 PRs)
  • feat(view): seed a user-owned initial view per object alongside the INDEX view (#25416) by @thomtrp
  • Record sharing: inherited objects follow their parent (#25439) by @martmull
  • Support explicit widget height behavior (#25512) by @Bonapara
  • Simplify page layout manifest authoring (#25513) by @Bonapara
  • [1/4] Desktop Recorder: support existing UI controls (#25632) by @Bonapara
  • Replace frontend snackbars with twenty-ui toasts (#25664) by @bosiraphael
  • Stop pull overwriting a source file that defines no entity (#25739) by @Weiko
  • feat(usage-limit): expose usage limits over the metadata API (#25740) by @etiennejouan
  • Write pulled standalone page layout widgets as define files (#25743) by @Weiko
  • Stop calling a local file unknown to the workspace when the export reported it (#25746) by @Weiko
  • Tell pull users their project cannot build what pull just wrote (#25747) by @Weiko
  • Refuse to pull an application into a project that already defines another (#25750) by @Weiko
  • feat(workflow): point core workflows and command menu items at core version ids (#25757) by @thomtrp
  • Align twenty-ui with SDK package versions (#25758) by @bosiraphael
  • Restrict AI and Settings access during layout editing (#25760) by @Bonapara
  • Let every application admin manage a workspace-shared connection (#25773) by @abdulrahmancodes
  • fix(storybook): prevent oversized Argos screenshots (#25779) by @bosiraphael
  • Migrate Status to the new twenty-ui API (#25785) by @bosiraphael
  • Migrate Tag to the new twenty-ui API (#25786) by @bosiraphael
  • Migrate Avatar to the new twenty-ui API (#25787) by @bosiraphael
  • Migrate Chip to the new twenty-ui API (#25788) by @bosiraphael
  • Add Twenty UI documentation and generated API references (#25791) by @bosiraphael
  • feat(skills): split agent-only skills from user skills, rewrite the catalog (#25798) by @FelixMalfait
  • Validate select option colors (#25805) by @bosiraphael
  • Point pull users at the apply flag that protects what it could not write (#25808) by @Weiko
  • Polish AI model settings (#25810) by @Bonapara
  • chore: bump version to 2.41.0 (#25813) by @twenty-pr
  • Let runAgent messages carry file attachments (#25835) by @abdulrahmancodes
  • Lay the app out right to left for Arabic and Hebrew (#25854) by @FelixMalfait
  • fix(create-twenty-app): ship a lockfile so generated apps install under an age gate (#25879) by @FelixMalfait
  • Migrate buttons to Base UI (#25888) by @bosiraphael
  • Add live previews to Twenty UI documentation (#25889) by @bosiraphael
  • feat(messaging): let apps own message channels (#25903) by @FelixMalfait
  • feat(messaging): let apps ingest messages into their channels (#25905) by @FelixMalfait
  • feat(messaging): resolve identity for non-email participants (#25906) by @FelixMalfait
  • Remove the email group flag and gate campaigns behind their own flag (#25916) by @neo773
  • Show AI chat context and credit usage (#25923) by @Bonapara
  • Organize Twenty UI into primitive families (#25948) by @bosiraphael
  • Split the admin application registration update input (#25963) by @prastoin
  • Derive permission universal identifiers from their role and target (#25966) by @Weiko
  • Redesign the marketplace app detail page (#25969) by @martmull
  • [1/2 Sidebar] New layout (#25974) by @Bonapara
  • Use Twenty UI components in presentation stories (#25976) by @bosiraphael
  • Desktop Recorder: align merged integration and UI naming conventions (#25977) by @Bonapara
  • Document data display primitives (#25980) by @bosiraphael
  • Write roles and permission flags on pull (#25994) by @Weiko
  • Use Twenty UI buttons in Menu and Popover stories (#26001) by @bosiraphael
  • Clip the toast progress overlay to the toast corners (#26012) by @neo773
  • Clarify twenty-ui setup in the README (#26044) by @bosiraphael
  • Document controlled and uncontrolled UI state (#26062) by @bosiraphael
  • Document Twenty UI anatomy and composition (#26066) by @bosiraphael
  • Disable play functions in UI documentation examples (#26069) by @bosiraphael
  • Make record sharing an enterprise feature (#26070) by @martmull
  • refactor(server): bind resolved application packages to their registration (#26077) by @prastoin
  • Cache billing entitlements in the workspace cache (#26078) by @Weiko

Full Changelog: https://github.com/twentyhq/twenty/compare/sdk/v2.40.0…sdk/v2.41.0