twenty/v2.18.0

parruda/swarmtwenty/v2.18.0Jul 2, 2026by prastoin

AI Summary

A comprehensive release focused on internationalization (i18n), AI tooling enhancements, and V2 onboarding flow improvements. It introduces multi-locale support, bulk data import via code interpreter, and various UI/UX fixes.

Key Highlights

  • Shipped all documentation locales for a multi-locale site
  • Added reliable bulk data import via code-interpreter
  • Updated V2 onboarding flow with a dedicated verify step
  • Enabled editing of draft emails in the thread composer

New Features

  • Multi-locale documentation site
  • AI bulk data import via code-interpreter
  • V2 onboarding dedicated verify step
  • Messaging sync for draft emails
  • Marketplace catalog synchronization

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