twenty/v2.11.0
Dokploy/dokploytwenty/v2.11.0Jun 9, 2026by Weiko
AI Summary
Improves app development workflows with metadata diff visibility and unifies event ingestion, alongside various security updates.
Key Highlights
- Surface metadata differences in dev sync and name failing migration actions
- Unify workspace-event ingestion behind a single EventSink pipeline
- Security updates for vulnerable transitive dependencies like axios and next
New Features
- Metadata diff in dev sync
- Unified event ingestion pipeline
- Security dependency updates
- UI package renaming (twenty-ui to twenty-new-ui)
- Optimized metadata CRUD tools
Full Release Notes
## What's Changed * feat(app-dev): surface metadata diff in dev sync and name failing migration actions by @martmull in https://github.com/twentyhq/twenty/pull/21249 * chore: bump version to 2.11.0 by @twenty-pr[bot] in https://github.com/twentyhq/twenty/pull/21259 * fix: guard against undefined logicFunctionId when destroying workflow CODE steps by @thomtrp in https://github.com/twentyhq/twenty/pull/21256 * fix(server): guard role-permission cache against stripped permissionFlag relation during upgrade by @charlesBochet in https://github.com/twentyhq/twenty/pull/21257 * fix(app-dev): serialize dev sync per workspace with a cache lock by @martmull in https://github.com/twentyhq/twenty/pull/21250 * fixes - remove billing cancellation at trial end + disable ai chat if suspended by @etiennejouan in https://github.com/twentyhq/twenty/pull/21261 * Add job queue latency histogram metric by @thomtrp in https://github.com/twentyhq/twenty/pull/21260 * fix(server): gate viewFilter.relationTargetFieldMetadataId behind its 2.6 upgrade command by @charlesBochet in https://github.com/twentyhq/twenty/pull/21267 * fix(metadata): resolve junction targets order-independently during mgration by @neo773 in https://github.com/twentyhq/twenty/pull/21193 * feat(app-dev): add dry-run preview to dev sync by @martmull in https://github.com/twentyhq/twenty/pull/21251 * feat(server): unify workspace-event ingestion behind one EventSink pipeline by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21197 * fix: add missing space in README heading by @summykumari567 in https://github.com/twentyhq/twenty/pull/21271 * fix(settings): ship borderless hero cover images by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21277 * fix(server): finalize dangling tool calls when persisting agent chat messages by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21276 * chore(twenty-front): remove dead SettingsAiMCP component and covers by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21281 * Allow kanban cross-column drag when sorting is enabled by @Val4evr in https://github.com/twentyhq/twenty/pull/21025 * revert #21177 by @neo773 in https://github.com/twentyhq/twenty/pull/21284 * chore(server): rename TypeORM migrations dir to legacy-typeorm-migrations-do-not-add by @claude[bot] in https://github.com/twentyhq/twenty/pull/21295 * fix(settings): gate APIs & Webhooks page on API_KEYS_AND_WEBHOOKS, not WORKSPACE by @EthanPany in https://github.com/twentyhq/twenty/pull/21302 * fix: use correct userWorkspaceId for navigation menu comparisons by @Manibharadwaj in https://github.com/twentyhq/twenty/pull/21299 * feat: add Argos visual regression for twenty-new-ui by @charlesBochet in https://github.com/twentyhq/twenty/pull/21262 * fix: firefox blank import validation screen and center toggles by @parshipcy in https://github.com/twentyhq/twenty/pull/21266 * chore(deps): bump @babel/plugin-transform-modules-systemjs to 7.29.7 (CVE-2026-44728) by @charlesBochet in https://github.com/twentyhq/twenty/pull/21306 * fix(ai) - optimize metadata CRUD tools by @etiennejouan in https://github.com/twentyhq/twenty/pull/21235 * [Website] Product hero rework into a single, scroll-driven story. by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/21105 * i18n - website translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/21312 * [Website] Add trust center link to the footer by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/21307 * Remove twenty-sdk from package.json before build by @martmull in https://github.com/twentyhq/twenty/pull/21305 * i18n - website translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/21314 * feat(emailing-domain): add LOG driver for local development by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21286 * security: bump vulnerable direct dependencies (axios, next, vitest, qs, dompurify, …) by @charlesBochet in https://github.com/twentyhq/twenty/pull/21309 * security: bump vulnerable transitive dependencies (postcss, fast-xml-parser, react-router, brace-expansion, …) by @charlesBochet in https://github.com/twentyhq/twenty/pull/21310 * fix: dedupe root yarn.lock to satisfy hardened immutable install (unblocks danger-js) by @charlesBochet in https://github.com/twentyhq/twenty/pull/21320 * fix: wrong record count on deleted and normal records by @parshipcy in https://github.com/twentyhq/twenty/pull/21292 * security: bump vulnerable deps in logic-function runtime lockfiles by @charlesBochet in https://github.com/twentyhq/twenty/pull/21317 * security: refresh twenty-apps lockfiles for vulnerable transitive deps by @charlesBochet in https://github.com/twentyhq/twenty/pull/21316 * security: bump electron 36 → 39 in twenty-companion by @charlesBochet in https://github.com/twentyhq/twenty/pull/21327 * security: bump serialize-javascript 6 → 7 (RCE) by @charlesBochet in https://github.com/twentyhq/twenty/pull/21325 * Remove IS_WORKFLOW_RUN_STEP_LOGS_ENABLED feature flag by @ijreilly in https://github.com/twentyhq/twenty/pull/21323 * security: bump uuid 9 → 11 (server, shared, front) by @charlesBochet in https://github.com/twentyhq/twenty/pull/21326 * feat(app-dev): sync error hints, flatEntity labels, dev-mode summary UI, and docs by @martmull in https://github.com/twentyhq/twenty/pull/21252 * fix: add queue attribute to jobs waiting gauge metric by @thomtrp in https://github.com/twentyhq/twenty/pull/21324 * fix(docker): bump Node 24.16.0 (OpenSSL fix), strip unused cruft, dedupe node-forge by @charlesBochet in https://github.com/twentyhq/twenty/pull/21322 * Rename twenty-ui to twenty-ui-deprecated and twenty-new-ui to twenty-ui to prepare package release by @bosiraphael in https://github.com/twentyhq/twenty/pull/21315 * fix(twenty-front): match loading skeleton menu width to the nav drawer by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21278 * fix: prevent deletion of standard fields via API by @thomtrp in https://github.com/twentyhq/twenty/pull/21319 * messaging: Microsoft driver migrate p-limit to native batching by @neo773 in https://github.com/twentyhq/twenty/pull/21132 * 2474 add a utils to perform route trigger logic function requests in front components by @martmull in https://github.com/twentyhq/twenty/pull/21330 * chore: remove accidentally committed screenshots by @parshipcy in https://github.com/twentyhq/twenty/pull/21332 * chore(server): bump @nestjs to 11.1.24 + serve-static 5.0.5 to clear CVEs by @charlesBochet in https://github.com/twentyhq/twenty/pull/21333 * security: drop unused @genql/runtime dependency by @charlesBochet in https://github.com/twentyhq/twenty/pull/21334 * i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/21337 * chore(apps): bump vitest to 3.2.6 in twenty-apps projects (GHSA-5xrq-8626-4rwp) by @charlesBochet in https://github.com/twentyhq/twenty/pull/21336 * chore: force tmp >= 0.2.7 for root dev tooling (nx/zapier) by @charlesBochet in https://github.com/twentyhq/twenty/pull/21338 * feat(twenty-partners): notify Discord on new partner application by @rashad in https://github.com/twentyhq/twenty/pull/21313 * fix(sdk): bump inquirer ^10 -> ^14 to drop external-editor/tmp from apps by @charlesBochet in https://github.com/twentyhq/twenty/pull/21340 * security: vendor @genql/cli codegen to drop undici/native-fetch by @charlesBochet in https://github.com/twentyhq/twenty/pull/21339 * chore(deps): upgrade tar to v7, evict vulnerable tar@6.2.1 (CVE-2026-24842) by @charlesBochet in https://github.com/twentyhq/twenty/pull/21341 * i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/21342 * security(apps): bump twenty-sdk to 2.10.1 across twenty-apps (tmp, undici) by @charlesBochet in https://github.com/twentyhq/twenty/pull/21344 * feat(twenty-front): generalize the page primary/secondary bars (flat redesign) by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21308 * fix(ui): restore content-box sizing for components broken by the global border-box reset by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21349 * chore: sync AI model catalog from models.dev by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/21353 * Fix breaking change with dry run input by @martmull in https://github.com/twentyhq/twenty/pull/21356 * fix(twenty-client-sdk): make genql codegen formatter prettier-3 compatible (fixes app-sync server crash) by @charlesBochet in https://github.com/twentyhq/twenty/pull/21354 * perf(ai): lazy-load agent chat runtime so it doesn't fetch/diff threads until opened by @Weiko in https://github.com/twentyhq/twenty/pull/21331 * fix(auth): align workspace resolution across SSO and OTP sign-in flows by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21346 ## New Contributors * @summykumari567 made their first contribution in https://github.com/twentyhq/twenty/pull/21271 * @Val4evr made their first contribution in https://github.com/twentyhq/twenty/pull/21025 * @claude[bot] made their first contribution in https://github.com/twentyhq/twenty/pull/21295 * @EthanPany made their first contribution in https://github.com/twentyhq/twenty/pull/21302 * @Manibharadwaj made their first contribution in https://github.com/twentyhq/twenty/pull/21299 **Full Changelog**: https://github.com/twentyhq/twenty/compare/twenty/v2.10.0...twenty/v2.11.0