twenty/v2.21.0
resend/react-emailtwenty/v2.21.0Jul 16, 2026by prastoin
AI Summary
Focuses on record management UX, app installation stability, and workflow ID handling.
Key Highlights
- Record board column drag and drop functionality
- Fixes for app install version-gate and workflow IDs
- Pagination for admin panel app registrations
New Features
- Drag and drop for record boards
- App install onboarding improvements
- Workflow ID uniqueness per workspace
Full Release Notes
## What's Changed * chore: bump version to 2.21.0 by @twenty-pr[bot] in https://github.com/twentyhq/twenty/pull/22820 * [Twenty-Front]: Record board column drag and drop functionality by @git-init-priyanshu in https://github.com/twentyhq/twenty/pull/22323 * i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22817 * fix(workflow): make prefilled workflow ids unique per workspace by @thomtrp in https://github.com/twentyhq/twenty/pull/22800 * i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22824 * Disable install button in app install onboarding when no app is selected by @bosiraphael in https://github.com/twentyhq/twenty/pull/22822 * fix(server): stabilize app install version-gate integration test by @prastoin in https://github.com/twentyhq/twenty/pull/22826 * ci: test twenty-apps install against latest dockerhub and local server + new trigger by @prastoin in https://github.com/twentyhq/twenty/pull/22636 * Throw proper error on duplicate emailing domain by @neo773 in https://github.com/twentyhq/twenty/pull/22790 * i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22833 * chore: sync AI model catalog from models.dev by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22842 * fix(server): stabilize flaky app-install workspace-version gate test by @prastoin in https://github.com/twentyhq/twenty/pull/22851 * fix(server): backfill `isSystemSideEffect` on system fields provisioned before 2.15 by @prastoin in https://github.com/twentyhq/twenty/pull/22850 * Bypass corrupted cached front-component responses with a cache-bust query parameter by @martmull in https://github.com/twentyhq/twenty/pull/22854 * chore: upgrade call-recorder, last-contact, people-data-labs to twenty-sdk 2.20 by @prastoin in https://github.com/twentyhq/twenty/pull/22852 * fix(website): query isVetted so the apps marketplace renders again by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/22859 * Paginate admin panel app registrations list by @martmull in https://github.com/twentyhq/twenty/pull/22734 * i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22861 * fix(server): gate workspaceDiscoverability behind upgrade decorator by @prastoin in https://github.com/twentyhq/twenty/pull/22818 * Add receipt metrics and logs to connected account sync webhooks by @neo773 in https://github.com/twentyhq/twenty/pull/22853 * Preload Stripe.js before the onboarding payment step by @FelixMalfait in https://github.com/twentyhq/twenty/pull/22858 * Sdk exports `getFieldUniversalIdentifier` + docs by @prastoin in https://github.com/twentyhq/twenty/pull/22856 * Fix stale relation table in field widget when switching records in side panel by @Weiko in https://github.com/twentyhq/twenty/pull/22829 * harden(server): backfill and enforce workspace.databaseSchema invariant with a check constraint by @prastoin in https://github.com/twentyhq/twenty/pull/22855 **Full Changelog**: https://github.com/twentyhq/twenty/compare/twenty/v2.20.0...twenty/v2.21.0