Impact Score: 5/10
Twenty v2.4.0 โ Release Notes & Engineering Impact
Source available โ automated, not human-reviewed
Component: twenty ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
โก Executive Summary (TL;DR)
Twenty v2.4.0. Source highlight: chore(front): move mocked-metadata helpers under src/testing
Who Does This Impact? (Role-Based Analysis)
๐ป Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
๐ Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
โ๏ธ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
โจ New Features & Capabilities (6)
- Add description to oAuth_only app created
- Billing - remove default feature flag
- Add defineApplicationRole method
- feat(sdk): warn when local server image is behind latest
- feat: add email forwarding message channel
- feat(public-domain): bind public domains to apps + reorganize settings
โก Performance & Enhancements (2)
- Improved create-twenty-app documentation for AI coding agents
- [Website] Codebase cleanup and SEO improvements.
๐ง Bug Fixes & Patches (6)
- Fix plan-required modal issue
- fix: workspace member "me" filters now work in dashboard widgets
- External contributor auto-draft and dispatch pr-review event type
- Fix auto draft workflow
- Fix docs apps navigation
- fix: Use settings table rows and detail page for app connections
๐ View Raw Release Notes (Original Developer Log)
## What's Changed
* chore(front): move mocked-metadata helpers under src/testing by @charlesBochet in https://github.com/twentyhq/twenty/pull/20341
* Add description to oAuth_only app created by @martmull in https://github.com/twentyhq/twenty/pull/20336
* Fix plan-required modal issue by @etiennejouan in https://github.com/twentyhq/twenty/pull/20346
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20347
* chore: bump version to 2.4.0 by @twenty-pr[bot] in https://github.com/twentyhq/twenty/pull/20345
* Oxlint ignore twenty-version constant by @prastoin in https://github.com/twentyhq/twenty/pull/20350
* Improved create-twenty-app documentation for AI coding agents by @Bredo in https://github.com/twentyhq/twenty/pull/20325
* fix: workspace member "me" filters now work in dashboard widgets by @QuantumByteMaster in https://github.com/twentyhq/twenty/pull/20266
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20353
* External contributor auto-draft and dispatch pr-review event type by @prastoin in https://github.com/twentyhq/twenty/pull/20329
* Fix auto draft workflow by @prastoin in https://github.com/twentyhq/twenty/pull/20357
* Billing - Migrate from Stripe metering by @etiennejouan in https://github.com/twentyhq/twenty/pull/20298
* Fix docs apps navigation by @dev111-actor in https://github.com/twentyhq/twenty/pull/20359
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20362
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20366
* Billing - remove default feature flag by @etiennejouan in https://github.com/twentyhq/twenty/pull/20365
* fix: Use settings table rows and detail page for app connections by @bitloi in https://github.com/twentyhq/twenty/pull/20257
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20372
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20373
* Add defineApplicationRole method by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/20314
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20375
* Detail steps during create twenty app by @martmull in https://github.com/twentyhq/twenty/pull/20374
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20378
* [Website] Reintroduce the product page. by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/20349
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20385
* chore: sync AI model catalog from models.dev by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20392
* i18n - website translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20384
* fix: handle widgets with missing universalConfiguration in 2.3 delete-gauge-widgets command by @charlesBochet in https://github.com/twentyhq/twenty/pull/20393
* fix: validate enum values before opening transaction in alterEnumValues by @Weiko in https://github.com/twentyhq/twenty/pull/20376
* fix: basic-ftp has FTP Command injection via CRLF by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/20396
* Protect sendEmail endpoint and thread user context through logic function executor by @martmull in https://github.com/twentyhq/twenty/pull/20369
* Simplify dispatch pr review by @prastoin in https://github.com/twentyhq/twenty/pull/20397
* feat(sdk): warn when local server image is behind latest by @FelixMalfait in https://github.com/twentyhq/twenty/pull/20352
* Isolate twenty apps from nx project by @martmull in https://github.com/twentyhq/twenty/pull/20406
* refactor: scope ApplicationRegistrationService findOneById to tenant rows by @FelixMalfait in https://github.com/twentyhq/twenty/pull/20408
* feat: add email forwarding message channel by @FelixMalfait in https://github.com/twentyhq/twenty/pull/19535
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20411
* Prevent non-admin users from impersonating admin users by @FelixMalfait in https://github.com/twentyhq/twenty/pull/20412
* [Website] Codebase cleanup and SEO improvements. by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/20415
* fix: scroll AI chat to bottom on side panel reopen by @FelixMalfait in https://github.com/twentyhq/twenty/pull/20413
* Reserve inbound subdomain for SES by @neo773 in https://github.com/twentyhq/twenty/pull/20414
* i18n - website translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20418
* fix(messaging): reset sync state when IMAP/SMTP/CalDAV credentials are updated by @fucx in https://github.com/twentyhq/twenty/pull/20405
* feat(public-domain): bind public domains to apps + reorganize settings by @FelixMalfait in https://github.com/twentyhq/twenty/pull/20360
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20428
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20429
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20431
* [Website] Extract HomeVisual into shared AppPreview section. by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/20432
* i18n - website translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/20434
## New Contributors
* @Bredo made their first contribution in https://github.com/twentyhq/twenty/pull/20325
* @dev111-actor made their first contribution in https://github.com/twentyhq/twenty/pull/20359
* @fucx made their first contribution in https://github.com/twentyhq/twenty/pull/20405
**Full Changelog**: https://github.com/twentyhq/twenty/compare/v2.3.0...v2.4.0