twenty/v2.18.0

twentyhq/twentytwenty/v2.18.0Jul 2, 2026by prastoin

AI Summary

This release introduces multi-locale documentation support and significant AI tooling improvements for bulk data import. It also refines the v2 onboarding flow with dedicated verification steps and enhances the messaging experience by allowing draft email editing.

Key Highlights

  • Multi-locale documentation site support
  • AI: Reliable bulk data import via code-interpreter
  • Onboarding: Dedicated verify step and upgrade-free-trial as the last step
  • Messaging: Sync draft emails and edit them in the thread composer
  • Server: Configurable HTTP timeouts to prevent proxy errors

New Features

  • Multi-locale documentation site
  • Bulk data import via code-interpreter
  • Dedicated verify step in onboarding
  • Marketplace catalog synchronization to admin panel
  • Edit draft emails in thread composer

Full Release Notes

## What's Changed
* feat(website): ship all documentation locales (multi-locale site) by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/22257
* fix(website): config-only Crowdin pull to match short-code catalogs by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/22262
* chore: bump version to 2.18.0 by @twenty-pr[bot] in https://github.com/twentyhq/twenty/pull/22256
* i18n - website translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22263
* i18n - website translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22264
* fix(website): bump @opennextjs/cloudflare to 1.20.0 (R2 deploy on Node 24) by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/22266
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22271
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22273
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22276
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22279
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22280
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22281
* fix: ignore IME composition Enter in chat-thread and attachment rename inputs by @greymoth-jp in https://github.com/twentyhq/twenty/pull/22270
* fix(server): dedupe in-flight application translation catalog loads by @FelixMalfait in https://github.com/twentyhq/twenty/pull/22285
* fix(ai-tools): make navigate_app tool schema a valid object root for direct model binding by @etiennejouan in https://github.com/twentyhq/twenty/pull/22284
* feat(ai): reliable bulk data import via code-interpreter by @etiennejouan in https://github.com/twentyhq/twenty/pull/22209
* fix: Vite 8/Rolldown build warnings in library packages by @parshipcy in https://github.com/twentyhq/twenty/pull/22205
* feat(helm): add nodeSelector, tolerations and DNS overrides to server and worker by @mhorcajada in https://github.com/twentyhq/twenty/pull/22233
* Add v2 onboarding invite team page by @bosiraphael in https://github.com/twentyhq/twenty/pull/22229
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22296
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22297
* fix: prevent crash when leaving dashboard edit mode with side panel open by @Weiko in https://github.com/twentyhq/twenty/pull/22292
* microsoft webhook ttl fix by @neo773 in https://github.com/twentyhq/twenty/pull/22300
* Add marketplace catalog synchronization to admin panel by @martmull in https://github.com/twentyhq/twenty/pull/22260
* chore(docs): exclude code blocks and icon frontmatter from Crowdin translation by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/22304
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22307
* fix(server): normalize legacy index names (command) by @ijreilly in https://github.com/twentyhq/twenty/pull/22053
* Move filter group destruction after filter operations by @Souheyl7Gouadria in https://github.com/twentyhq/twenty/pull/22248
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22317
* Add call recorder oom diagnosis logs  by @ehconitin in https://github.com/twentyhq/twenty/pull/22315
* fix: evict js-yaml 3.x via front-matter patch + scoped resolutions by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/22312
* fix(server): add workspaceMember jobTitle field without view-field side effects by @FelixMalfait in https://github.com/twentyhq/twenty/pull/22306
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22319
* Polish settings page titles and admin tables by @Bonapara in https://github.com/twentyhq/twenty/pull/22305
* v2 onboarding: dedicated verify step and upgrade-free-trial as the last step by @bosiraphael in https://github.com/twentyhq/twenty/pull/22303
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22329
* fix: improve native print output for dashboards and record tables by @vittolago in https://github.com/twentyhq/twenty/pull/22272
* feat(server): resolve app translations across remaining metadata resolvers by @FelixMalfait in https://github.com/twentyhq/twenty/pull/22237
* chore(docs): self-clean orphans and surface failed languages in i18n … by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/22278
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22335
* fix(front): mark stale AnimatePresence exit page inert so it can't intercept clicks by @Weiko in https://github.com/twentyhq/twenty/pull/22328
* bump call recorder by @ehconitin in https://github.com/twentyhq/twenty/pull/22318
* fix: reconcile metadata store after object creation so activity targets on new custom objects link correctly by @etiennejouan in https://github.com/twentyhq/twenty/pull/22331
* ci(twenty-front): show only failing unit tests in CI by @prastoin in https://github.com/twentyhq/twenty/pull/22345
* feat(call-recorder): use workspace logo for Recall bot image by @ehconitin in https://github.com/twentyhq/twenty/pull/22302
* feat(server): configurable HTTP keep-alive/headers timeouts to prevent proxy 502s by @charlesBochet in https://github.com/twentyhq/twenty/pull/22327
* Deprecate `asExpression` from field metadata search_vector by @prastoin in https://github.com/twentyhq/twenty/pull/22287
* Remove twenty-ui reexport from the SDK and use twenty-ui directly by @bosiraphael in https://github.com/twentyhq/twenty/pull/22326
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22350
* chore: sync DPA sub-processors from trust center by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22282
* fix(navigation-menu-item): reject PAGE_LAYOUT items that don't reference a STANDALONE_PAGE layout by @etiennejouan in https://github.com/twentyhq/twenty/pull/22343
* feat(messaging): sync draft emails and edit them in the thread composer by @neo773 in https://github.com/twentyhq/twenty/pull/22178
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/22352
* Fix v2 onboarding dropping to v1 after connecting email by @bosiraphael in https://github.com/twentyhq/twenty/pull/22351
* fix(server): recreate searchVector GIN index on rebuild by @prastoin in https://github.com/twentyhq/twenty/pull/22349
* Clear orphan search field metadata backfill tsVectorFieldMetadataId by @prastoin in https://github.com/twentyhq/twenty/pull/22353
* v1.2.0 — Client brief intake (marketplace B2) by @rashad in https://github.com/twentyhq/twenty/pull/22290
* Track total onboarding free credits in an atom by @bosiraphael in https://github.com/twentyhq/twenty/pull/22348
* Credit the import-contacts onboarding reward on account connection by @bosiraphael in https://github.com/twentyhq/twenty/pull/22354
* feat(server): add 2.18 recompute-search-vectors upgrade command by @prastoin in https://github.com/twentyhq/twenty/pull/22355
* Credit workspaces for onboarding invite-team signups by @bosiraphael in https://github.com/twentyhq/twenty/pull/22309
* improve dry run logs: show entity names and changed fields by @ijreilly in https://github.com/twentyhq/twenty/pull/22299
* Update workflows documentation by @ijreilly in https://github.com/twentyhq/twenty/pull/22356

## New Contributors
* @greymoth-jp made their first contribution in https://github.com/twentyhq/twenty/pull/22270
* @mhorcajada made their first contribution in https://github.com/twentyhq/twenty/pull/22233
* @vittolago made their first contribution in https://github.com/twentyhq/twenty/pull/22272

**Full Changelog**: https://github.com/twentyhq/twenty/compare/twenty/v2.17.0...twenty/v2.18.0