twenty/v2.10.0

twentyhq/twentytwenty/v2.10.0Jun 9, 2026by charlesBochet

AI Summary

This release introduces significant improvements to visual testing with Argos CI integration, adds a new SDK runAgent() function for running app agents from logic functions, and includes groundwork for a data enrichment app with Company/Person field migrations. Multiple bug fixes address email handling, workflow persistence, and self-hosted email verification.

Key Highlights

  • Implemented Argos visual testing with CI baselines and local visual diff support, replacing Chromatic
  • Added SDK runAgent() function to run app agents from logic functions
  • Scaffolded people data labs enrichment app with Company/Person standard field migrations
  • Added Call Recording standard object
  • Fixed email reply-quotation stripping that was emptying email bodies

New Features

  • Add runAgent() to run app agents from logic functions
  • Allow apps to add view fields to existing views (defineViewField)
  • Add /partners/apply standalone page
  • Add Call Recording standard object
  • Scaffold people data labs enrichment app
  • Add more control on http trigger
  • Implement Argos visual testing with main baselines and local visual diff support
  • Use serialize-javascript for JSON-LD serialization on twenty-website
  • Support sdk/v* and twenty/v* namespaces

Full Release Notes

## What's Changed
* chore: bump version to 2.10.0 by @twenty-pr[bot] in https://github.com/twentyhq/twenty/pull/21218
* Twenty new ui README by @bosiraphael in https://github.com/twentyhq/twenty/pull/21186
* feat(website): add /partners/apply standalone page by @rashad in https://github.com/twentyhq/twenty/pull/21219
* fix(messaging): fix reply-quotation stripping that emptied email bodies by @neo773 in https://github.com/twentyhq/twenty/pull/21118
* i18n - website translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/21220
* feat(ci): Argos main baselines + local visual diff support by @charlesBochet in https://github.com/twentyhq/twenty/pull/21217
* fix(ci): ensure ui-sb-test runs on push to main by @charlesBochet in https://github.com/twentyhq/twenty/pull/21222
* chore: remove Chromatic dependencies and configuration by @charlesBochet in https://github.com/twentyhq/twenty/pull/21221
* fix(twenty-ui): prevent local visual diffs from polluting CI baselines by @charlesBochet in https://github.com/twentyhq/twenty/pull/21225
* Update Google Workspace and integration logo assets by @Bonapara in https://github.com/twentyhq/twenty/pull/21185
* Use serialize-javascript for JSON-LD serialization on twenty-website by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/21223
* Add more control on http trigger by @martmull in https://github.com/twentyhq/twenty/pull/21216
* Migrate Company and Person standard fields in preparation for the enrichment app by @bosiraphael in https://github.com/twentyhq/twenty/pull/21171
* Scaffold people data labs enrichment app by @bosiraphael in https://github.com/twentyhq/twenty/pull/21175
* feat(sdk): add runAgent() to run app agents from logic functions by @martmull in https://github.com/twentyhq/twenty/pull/21157
* fix: prevent workflow from disappearing after activation by @thomtrp in https://github.com/twentyhq/twenty/pull/21231
* Fix `getApplicationSubAllFlatEntityMaps` to prune unrelated appIds universal identifier aggregators by @prastoin in https://github.com/twentyhq/twenty/pull/21234
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/21237
* fix(ai) - optim by @etiennejouan in https://github.com/twentyhq/twenty/pull/21233
* fix: allow email change verification on self-hosted instances by @ratishjain12 in https://github.com/twentyhq/twenty/pull/20123
* chore: sync AI model catalog from models.dev by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/21242
* feat: allow apps to add view fields to existing views (defineViewField) by @martmull in https://github.com/twentyhq/twenty/pull/21160
* fix(settings): gate the AI settings page on AI_SETTINGS, not the chat flag by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21239
* fix: pass reference_commit to Argos to resolve orphan PR builds by @charlesBochet in https://github.com/twentyhq/twenty/pull/21245
* fix(website): render releases from local notes, drop GitHub gate by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/21238
* Scaffold twenty-new-ui by @bosiraphael in https://github.com/twentyhq/twenty/pull/21236
* fix: use canonical oxlint rule id in lint-disable directives by @FelixMalfait in https://github.com/twentyhq/twenty/pull/21253
* `sdk/v*` `twenty/v*` namespaces by @prastoin in https://github.com/twentyhq/twenty/pull/21247
* [Call Recording] Add standard object by @ehconitin in https://github.com/twentyhq/twenty/pull/21158
* upgrade command patch - warn instead of throw when no calendarEvent object found in the workspace by @ehconitin in https://github.com/twentyhq/twenty/pull/21258


**Full Changelog**: https://github.com/twentyhq/twenty/compare/v2.9.0...twenty/v2.10.0