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