Twenty
The open alternative to Salesforce, designed for AI
Alternative to: salesforce, hubspot, pipedrive, zoho crm
About
Versions (86)
v2.4.0
2026-05-14What’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