twenty/v2.14.0

twentyhq/twentytwenty/v2.14.0Jun 15, 2026by Weiko

AI Summary

A major update focusing on the migration to React 19, performance optimizations, and new features like the 'Postcard' app. It also includes fixes for the UI flag fallout from the previous version and introduces new hooks and caching mechanisms.

Key Highlights

  • Full migration to React 19.
  • Introduction of the 'Postcard' app for call recording and meeting bots.
  • Performance improvements using IndexedDB for metadata cache.
  • Record creation gating based on `isUICreatable`.

Breaking Changes

  • Migration to React 19 may require updates to UI components.
  • Fixes for v2.13 UI capability flag fallout.

New Features

  • Postcard app with call recording schema.
  • New `useColorScheme` hook in twenty-sdk.
  • Morph relations support in workflow record nodes.
  • Persist metadata store cache in IndexedDB.

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