twenty/v2.14.0

diffusionstudio/coretwenty/v2.14.0Jun 15, 2026by Weiko

AI Summary

A significant update migrating the frontend to React 19, adding new chart widgets, enhancing workflow capabilities, and improving performance through caching and optimization.

Key Highlights

  • Frontend migration to React 19
  • Number format option added to aggregate chart widgets
  • Enhanced workflow capabilities (offset to Find Records, idempotent stop/retry)
  • Improved performance (avoid O(n²) complexity, metadata store caching)
  • Support for morph relations in workflow record nodes

New Features

  • UseColorScheme hook in twenty-sdk
  • Call recording schema and meeting bot scaffold
  • Persist metadata store cache in IndexedDB
  • CLI options to cap screenshot size
  • Page title in list_pages output

Full Release Notes

## What's Changed
* feat(page-layout): add number format option to aggregate chart widget by @1alexandrer in https://github.com/twentyhq/twenty/pull/21521
* fix(server): repair 2.13 isUIReadOnly→isUIEditable rename fallout (#21504) by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21537
* fix(twenty-front): keep paging record board columns past the second page by @MarcBickel in https://github.com/twentyhq/twenty/pull/21348
* Fix settings UI polish pass 2 by @Bonapara in https://github.com/twentyhq/twenty/pull/21540
* fix(address): coerce addressLat/addressLng to numbers in ORM result formatting by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21542
* fix(server): write 2.13 UI capability flags directly, bypassing validation by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21543
* feat(deps): migrate frontend to React 19 by @charlesBochet in https://github.com/twentyhq/twenty/pull/21531
* [Fix] : fix: Allow label identifier system fields in view creation and fix resulting duplicate header columns by @carbonFibreCode in https://github.com/twentyhq/twenty/pull/19009
* Fix record index sync when view fields arrive via SSE by @channi23 in https://github.com/twentyhq/twenty/pull/19069
* ci: exclude all twenty-apps from dependabot by @charlesBochet in https://github.com/twentyhq/twenty/pull/21554
* feat(lint): forbid data mutations in fast instance command up() by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21547
* fix(twenty-front): prevent stale transition page from blocking scroll by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21551
* chore(apps): bump twenty-sdk & twenty-client-sdk to 2.13.0, vitest to 4 by @charlesBochet in https://github.com/twentyhq/twenty/pull/21553
* fix: #19173 correct labels and icons for custom object default relations by @meManish47 in https://github.com/twentyhq/twenty/pull/19224
* fix(front): mass update targets explicitly selected records by @charlesBochet in https://github.com/twentyhq/twenty/pull/21548
* chore(deps): bump fs-extra from 11.2.0 to 11.3.5 by @dependabot[bot] in https://github.com/twentyhq/twenty/pull/21556
* chore(deps): bump @ai-sdk/anthropic from 3.0.72 to 3.0.84 by @dependabot[bot] in https://github.com/twentyhq/twenty/pull/21557
* chore(deps): bump @quilted/threads from 4.0.1 to 4.0.3 by @dependabot[bot] in https://github.com/twentyhq/twenty/pull/21560
* fix(deps): upgrade esbuild to 0.28.1 (GHSA-gv7w-rqvm-qjhr) by @charlesBochet in https://github.com/twentyhq/twenty/pull/21559
* fix(setup-script): add database schema initialization to setup script by @ratishjain12 in https://github.com/twentyhq/twenty/pull/20063
* chore(deps): ignore chokidar in dependabot by @charlesBochet in https://github.com/twentyhq/twenty/pull/21564
* fix(server): load integration jest config transpile-only; drop tsx pin by @charlesBochet in https://github.com/twentyhq/twenty/pull/21563
* chore(deps): bump @xyflow/react from 12.10.0 to 12.11.0 by @dependabot[bot] in https://github.com/twentyhq/twenty/pull/21561
* chore(deps): bump @graphiql/plugin-explorer from 5.1.2 to 5.1.3 by @dependabot[bot] in https://github.com/twentyhq/twenty/pull/21565
* chore(deps): bump @ai-sdk/azure from 3.0.55 to 3.0.74 by @dependabot[bot] in https://github.com/twentyhq/twenty/pull/21566
* chore(deps): bump prettier from 3.8.3 to 3.8.4 by @dependabot[bot] in https://github.com/twentyhq/twenty/pull/21568
* fix(front): keep the filename when a file has no extension by @yashs33244 in https://github.com/twentyhq/twenty/pull/21576
* chore(deps): upgrade Tier-1 deps (googleapis 173, gaxios 7, express 5, jsdom 29, date-fns 4, stripe 20) by @charlesBochet in https://github.com/twentyhq/twenty/pull/21570
* chore(deps): bump @ai-sdk/amazon-bedrock from 4.0.97 to 4.0.117 by @dependabot[bot] in https://github.com/twentyhq/twenty/pull/21569
* Ignore generated Storybook/Argos screenshot output by @bosiraphael in https://github.com/twentyhq/twenty/pull/21589
* chore: bump version to 2.14.0 by @twenty-pr[bot] in https://github.com/twentyhq/twenty/pull/21593
* Fix default view widget visibility by @martmull in https://github.com/twentyhq/twenty/pull/21590
* Remove randomness from flaky twenty-front Storybook stories by @bosiraphael in https://github.com/twentyhq/twenty/pull/21594
* fix(front): dedupe morph relation fields in view field pickers by @charlesBochet in https://github.com/twentyhq/twenty/pull/21580
* perf(server): avoid O(n²) when building flat entity maps by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21585
* Add useColorScheme hook to twenty-sdk by @martmull in https://github.com/twentyhq/twenty/pull/21595
* Support morph relations in workflow record nodes by @ijreilly in https://github.com/twentyhq/twenty/pull/21403
* Postcard app e2e front component rendering test by @prastoin in https://github.com/twentyhq/twenty/pull/21600
* Add call recording schema and meeting bot scaffold by @ehconitin in https://github.com/twentyhq/twenty/pull/21584
* Hide logic functions that are not exposed as tools by @ijreilly in https://github.com/twentyhq/twenty/pull/21598
* chore(server): remove stray comment in flat-entity-maps spec by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21599
* feat(front): persist metadata store cache in IndexedDB instead of localStorage by @charlesBochet in https://github.com/twentyhq/twenty/pull/21586
* fix(server): mitigate integration-test OOM flakiness by @charlesBochet in https://github.com/twentyhq/twenty/pull/21588
* fix(twenty-front): stop unbounded default-view creation on record-index load by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21592
* Make flaky Storybook stories deterministic for Argos (animations + lazy-load) by @bosiraphael in https://github.com/twentyhq/twenty/pull/21609
* feat(partners): add twenty-partner-match skill by @rashad in https://github.com/twentyhq/twenty/pull/21601

## New Contributors
* @1alexandrer made their first contribution in https://github.com/twentyhq/twenty/pull/21521
* @MarcBickel made their first contribution in https://github.com/twentyhq/twenty/pull/21348
* @meManish47 made their first contribution in https://github.com/twentyhq/twenty/pull/19224
* @yashs33244 made their first contribution in https://github.com/twentyhq/twenty/pull/21576

**Full Changelog**: https://github.com/twentyhq/twenty/compare/twenty/v2.13.0...twenty/v2.14.0