v1.8.0

twentyhq/twentyv1.8.0Oct 20, 2025by etiennejouan

AI Summary

Performance-focused release with table virtualization, common API introduction, and message folder redesign. Also moved HTTP node to backend.

Key Highlights

  • Table virtualization for improved performance
  • ViewFilter migration to workspace migration v2
  • ViewGroup v2 implementation
  • Common API - createOne/findMany
  • Message folders redesign and import policy
  • HTTP node moved to backend

Breaking Changes

  • ViewFilter migration to workspace migration v2 (requires cache flush)
  • ViewGroup in v2 (requires cache flush)

New Features

  • Table virtualization
  • Common API foundation
  • Message folder redesign
  • Iterator support in workflows
  • Bar chart connected to group by resolver
  • Upsert action with unique fields

Full Release Notes

## What's Changed
* feat(auth): enhance error handling for sign-up and existing user checks by @AMoreaux in https://github.com/twentyhq/twenty/pull/14953
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14986
* `[WHEN_RELEASED_REQUIRES_CACHE_FLUSH]` Object related record logic in v2 by @prastoin in https://github.com/twentyhq/twenty/pull/14937
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14988
* Rest/Gql - Filter input - Integration tests by @etiennejouan in https://github.com/twentyhq/twenty/pull/14836
* Return data or raise error in serverless controller by @martmull in https://github.com/twentyhq/twenty/pull/14989
* [Fix] Command to migrate operand values for workflows by @ijreilly in https://github.com/twentyhq/twenty/pull/14849
* 1588 serverless follow ups 2 by @martmull in https://github.com/twentyhq/twenty/pull/14998
* Fix widget header shrink and make widget placeholder to change state on click by @ehconitin in https://github.com/twentyhq/twenty/pull/14999
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/15002
* Fix Weiko code review returns by @martmull in https://github.com/twentyhq/twenty/pull/15006
* Connect the bar chart to the group by resolver by @bosiraphael in https://github.com/twentyhq/twenty/pull/14885
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/15007
* Move `view` in `metadata-modules/` and create atomic folder + module for each view entity by @prastoin in https://github.com/twentyhq/twenty/pull/14990
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/15009
* Add middleware boundary padding as a prop in dropdown by @bosiraphael in https://github.com/twentyhq/twenty/pull/15011
* website(releases): fix MDX content list to match visible releases (fix offset) by @Bonapara in https://github.com/twentyhq/twenty/pull/14904
* Add timeoutMs to webhooks calls by @martmull in https://github.com/twentyhq/twenty/pull/15012
* Update user friendly errors for translations by @FelixMalfait in https://github.com/twentyhq/twenty/pull/15000
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/15016
* feat: mutualize CRUD tools between workflows and AI by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/14996
* Tidy up validation for configuration by @ehconitin in https://github.com/twentyhq/twenty/pull/14939
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/15019
* Enable filters in iterators by @thomtrp in https://github.com/twentyhq/twenty/pull/15017
* Improvements on group by option in graph editor by @bosiraphael in https://github.com/twentyhq/twenty/pull/15014
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/15020
* Reduce relation loading overload on FE graphql queries by @charlesBochet in https://github.com/twentyhq/twenty/pull/14991
* `[GQL_VIEW_FILTER_API_BREAKING_CHANGE][WHEN_RELEASED_REQUIRES_CACHE_FLUSH]` `ViewFilter` migration to workspace migration v2 by @prastoin in https://github.com/twentyhq/twenty/pull/15010
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/15025
* Refactor record layouts for backend-driven configuration by @FelixMalfait in https://github.com/twentyhq/twenty/pull/15021
* When workflow is completed, mark as failed steps still running by @thomtrp in https://github.com/twentyhq/twenty/pull/15030
* Improve and fix source selection in charts by @bosiraphael in https://github.com/twentyhq/twenty/pull/15033
* Remove edit widget button and add on click edition by @bosiraphael in https://github.com/twentyhq/twenty/pull/15034
* adding object name in morph Pickers by @guillim in https://github.com/twentyhq/twenty/pull/14977
* Optimistic rendering of morph relations by @guillim in https://github.com/twentyhq/twenty/pull/14997
* Billing - fix credit usage bar readibility by @etiennejouan in https://github.com/twentyhq/twenty/pull/15037
* Connect the graph title editor by @ehconitin in https://github.com/twentyhq/twenty/pull/15039
* 🦣🦣🦣 Table virtualization by @lucasbordeau in https://github.com/twentyhq/twenty/pull/14743
* 1658 post mortem 0710 send batch events in webhook by @martmull in https://github.com/twentyhq/twenty/pull/15022
* Update unique fields on standard field - include soft deleted records by @etiennejouan in https://github.com/twentyhq/twenty/pull/14562
* Message channel change 1 by @neo773 in https://github.com/twentyhq/twenty/pull/14942
* FIX(#15036): arrows in webhooks by @shantanugupta2004 in https://github.com/twentyhq/twenty/pull/15038
* Only fetch steps and trigger for the current workflow version by @thomtrp in https://github.com/twentyhq/twenty/pull/15003
* Move search vector command from 1-7 to 1-10 and make it less verbose. by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/14892
* Fix agent sync failing due to non-existent AgentEntity property by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/15051
* Simplify and enhance v2 type devxp by @prastoin in https://github.com/twentyhq/twenty/pull/15032
* Design adjustments on Bar chart by @bosiraphael in https://github.com/twentyhq/twenty/pull/15028
* Inter-groups orderBy on groupByDimension values by @ijreilly in https://github.com/twentyhq/twenty/pull/15024
* Common api - findMany query by @etiennejouan in https://github.com/twentyhq/twenty/pull/15004
* Fix workflow run not refreshed by @charlesBochet in https://github.com/twentyhq/twenty/pull/15063
* Table virtualization fix by @lucasbordeau in https://github.com/twentyhq/twenty/pull/15060
* Increment metadata version  only if schema changes v2 by @prastoin in https://github.com/twentyhq/twenty/pull/15064
* Fixed dropping into empty group by @lucasbordeau in https://github.com/twentyhq/twenty/pull/15066
* Fixed drop multiple by @lucasbordeau in https://github.com/twentyhq/twenty/pull/15069
* Prevent losing form data when workflow is not defined by @thomtrp in https://github.com/twentyhq/twenty/pull/15055
* Enqueue a new job every 20 step executions by @thomtrp in https://github.com/twentyhq/twenty/pull/15068
* Fix group by y axis "stacked" behaviour by @ehconitin in https://github.com/twentyhq/twenty/pull/15081
* `[REQUIRES_CACHE_FLUSH][GQL_VIEW_GROUP_API_BREAKING_CHANGE]` `ViewGroup` in v2 by @prastoin in https://github.com/twentyhq/twenty/pull/15052
* Extract DashboardCard from ShowPageSubContainer by @Devessier in https://github.com/twentyhq/twenty/pull/15073
* Simple design for empty node by @thomtrp in https://github.com/twentyhq/twenty/pull/15087
* Fix: Correct inverted logic in signUpWithoutWorkspace causing 'User already exists' error by @FelixMalfait in https://github.com/twentyhq/twenty/pull/15086
* Fix view group operation by not sending `__typename` by @prastoin in https://github.com/twentyhq/twenty/pull/15092
* Added 7 visuals for the new user guide by @StephanieJoly4 in https://github.com/twentyhq/twenty/pull/15094
* Automatically clean up soft-deleted records after X days. by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/14862
* New resize handle on layout grid by @ehconitin in https://github.com/twentyhq/twenty/pull/15040
* fix: email input auto complete by @neo773 in https://github.com/twentyhq/twenty/pull/15098
* Improvement AI chat error handling by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/15035
* Updated the visuals to match the format of the other ones by @StephanieJoly4 in https://github.com/twentyhq/twenty/pull/15106
* Split bar graph into two distinct horizontal and vertical bars by @ehconitin in https://github.com/twentyhq/twenty/pull/15061
* [GroupBy] Allow sorting in bar chart  by @ijreilly in https://github.com/twentyhq/twenty/pull/15097
* Common Api - createOne/Many by @etiennejouan in https://github.com/twentyhq/twenty/pull/15083
* Make page layouts less specific by @Devessier in https://github.com/twentyhq/twenty/pull/15102
* Fix objectRecord imports by @ijreilly in https://github.com/twentyhq/twenty/pull/15113
* Dashboards followups 2 by @ehconitin in https://github.com/twentyhq/twenty/pull/15107
* Added dashboard chart advanced filter components by @lucasbordeau in https://github.com/twentyhq/twenty/pull/15095
* Add is unique in migration v2 + refactor inferDeletionFromMissingEntities by @Weiko in https://github.com/twentyhq/twenty/pull/15070
* 1518 extensibility front add an application section in settings by @martmull in https://github.com/twentyhq/twenty/pull/15056
* Infer array current item schema by @thomtrp in https://github.com/twentyhq/twenty/pull/15115
* Morph-settings-relation-and-morph-merge by @guillim in https://github.com/twentyhq/twenty/pull/15062
* Fix infinite loop on new table by @charlesBochet in https://github.com/twentyhq/twenty/pull/15111
* [Dashboards] - Omit zero values by @ehconitin in https://github.com/twentyhq/twenty/pull/15112
* Morph-settings-relation-form-merge-follow-up by @guillim in https://github.com/twentyhq/twenty/pull/15122
* Release - switch 1.10 to 1.8 by @etiennejouan in https://github.com/twentyhq/twenty/pull/15124
* Release 1.8.0 - Workflow Enhancements by @Bonapara in https://github.com/twentyhq/twenty/pull/15125
* Optimistic follow up by @guillim in https://github.com/twentyhq/twenty/pull/15071
* Ensure one export per file for constants of trash-cleanup. by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/15110
* chore (security): bump up the axios version in server to resolve a couple dependabot alerts. by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/15128
* Fix: only display the objectname in contextual  dropdowns if there are multiple objectmetadatanamessingluar by @guillim in https://github.com/twentyhq/twenty/pull/15130
* e2e test environment for`twenty-cli` by @prastoin in https://github.com/twentyhq/twenty/pull/15123
* Release - add command in upgrade command by @etiennejouan in https://github.com/twentyhq/twenty/pull/15134
* Fix sync metadata by @prastoin in https://github.com/twentyhq/twenty/pull/15135
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/15138
* Fix translations by @charlesBochet in https://github.com/twentyhq/twenty/pull/15140
* Retrigger trans by @charlesBochet in https://github.com/twentyhq/twenty/pull/15142
* Release - Fix migration channel sync stage command by @etiennejouan in https://github.com/twentyhq/twenty/pull/15141

## New Contributors
* @shantanugupta2004 made their first contribution in https://github.com/twentyhq/twenty/pull/15038

**Full Changelog**: https://github.com/twentyhq/twenty/compare/v1.7.9...v1.8.0