v1.7.0

twentyhq/twentyv1.7.0Oct 2, 2025by Weiko

AI Summary

Workflow-centric release with iterator support, calendar view, and AI model additions. Included billing refactoring and security improvements.

Key Highlights

  • Workflow iterators for running actions over lists
  • Calendar view with drag-and-drop
  • xAI models support added
  • Unaccent extension for accent-insensitive search
  • Rich text email body support
  • Workspace-level impersonation

New Features

  • Workflow iterators
  • Calendar view with compact view option
  • xAI (Grok) models support
  • Accent-insensitive search
  • Rich text email composition
  • Workspace impersonation module
  • Billing refactoring

Full Release Notes

## What's Changed
* Added disabled trash button in http in workflows by @SaurabhJain708 in https://github.com/twentyhq/twenty/pull/14439
* Disable hover and active styles when button is disabled in primary/default variant by @Devessier in https://github.com/twentyhq/twenty/pull/14524
* Add compact view to calendar by @Weiko in https://github.com/twentyhq/twenty/pull/14527
* Implement creating node before initial step + deleting loop edge by @Devessier in https://github.com/twentyhq/twenty/pull/14525
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14534
* Fix table mobile display issues by @lucasbordeau in https://github.com/twentyhq/twenty/pull/14528
* Flat entity maps cache generic service + runner dynamically retrieving invalidating update cache + view service v2 refactor by @prastoin in https://github.com/twentyhq/twenty/pull/14508
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14536
* Add form select field by @thomtrp in https://github.com/twentyhq/twenty/pull/14538
* Add icon to duplicate + split step service in two by @thomtrp in https://github.com/twentyhq/twenty/pull/14521
* Add dnd to calendar view by @Weiko in https://github.com/twentyhq/twenty/pull/14539
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14540
* Put back previous empty option by @thomtrp in https://github.com/twentyhq/twenty/pull/14542
* Page layout refactoring by @bosiraphael in https://github.com/twentyhq/twenty/pull/14535
* [Dashboards] - refactor - pie chart by @ehconitin in https://github.com/twentyhq/twenty/pull/14526
* feat: Add xAI models support by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/14523
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14544
* Fix variables coming from DB events by @thomtrp in https://github.com/twentyhq/twenty/pull/14545
* feat: add changelog & image for 1.5 by @Bonapara in https://github.com/twentyhq/twenty/pull/14412
* feat(search): Add unaccent support for accent-insensitive search. by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/14464
* Fixed last column width bug on table with groups by @lucasbordeau in https://github.com/twentyhq/twenty/pull/14541
* create groupBy resolver + mock groupBy service by @etiennejouan in https://github.com/twentyhq/twenty/pull/14530
* Add default limit when fetching records by @etiennejouan in https://github.com/twentyhq/twenty/pull/14532
* Fix table footer cell resize issue by @lucasbordeau in https://github.com/twentyhq/twenty/pull/14552
* Add settings section for public domains by @martmull in https://github.com/twentyhq/twenty/pull/14543
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14553
* Feat: Add reasoning summary and tool details display for AI responses by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/14414
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14555
* various UI fixes in calendar view by @Weiko in https://github.com/twentyhq/twenty/pull/14551
* Group By - Add feature flag by @etiennejouan in https://github.com/twentyhq/twenty/pull/14558
* Fix column resize handle by @lucasbordeau in https://github.com/twentyhq/twenty/pull/14559
* Index v2 runner by @prastoin in https://github.com/twentyhq/twenty/pull/14537
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14560
* [Dashboards] - Add scroll wrapper by @ehconitin in https://github.com/twentyhq/twenty/pull/14561
* [Dashboards] - refactor - gauge and number chart by @ehconitin in https://github.com/twentyhq/twenty/pull/14550
* [fix] Handle null icon for field metadata by @ijreilly in https://github.com/twentyhq/twenty/pull/14565
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14571
* Add missing migration for unaccent by @FelixMalfait in https://github.com/twentyhq/twenty/pull/14566
* Fixes z-index with groups by @lucasbordeau in https://github.com/twentyhq/twenty/pull/14563
* Change workflow node type by @thomtrp in https://github.com/twentyhq/twenty/pull/14570
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14575
* Create edit dashboard action by @bosiraphael in https://github.com/twentyhq/twenty/pull/14564
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14578
* Fix one to many relation and multi select fields on table by @charlesBochet in https://github.com/twentyhq/twenty/pull/14576
* Fix focused row group section border bottom by @lucasbordeau in https://github.com/twentyhq/twenty/pull/14577
* remove singleton usage of i18n  by @ehconitin in https://github.com/twentyhq/twenty/pull/14422
* fixing Numbers formatting  by @ketanMehtaa in https://github.com/twentyhq/twenty/pull/14403
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14583
* Fixes hover + focus on same cell by @lucasbordeau in https://github.com/twentyhq/twenty/pull/14580
* fix: Added isReadonly logic to css by @SaurabhJain708 in https://github.com/twentyhq/twenty/pull/14584
* Table small fixes by @lucasbordeau in https://github.com/twentyhq/twenty/pull/14588
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14590
* Improve builder return type by @prastoin in https://github.com/twentyhq/twenty/pull/14592
* Make filters a regular step by @thomtrp in https://github.com/twentyhq/twenty/pull/14586
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14595
* [Iterator] Add position offset to empty node by @thomtrp in https://github.com/twentyhq/twenty/pull/14597
* Improve edge path algorithm by @Devessier in https://github.com/twentyhq/twenty/pull/14600
* Fix sort bug issue by @charlesBochet in https://github.com/twentyhq/twenty/pull/14607
* Use variables within Iterators by @thomtrp in https://github.com/twentyhq/twenty/pull/14604
* Add back shadow on frozen columns and header in table by @lucasbordeau in https://github.com/twentyhq/twenty/pull/14593
* feat(billing): refacto billing by @AMoreaux in https://github.com/twentyhq/twenty/pull/14243
* Fix - Record text should always be visible and in first position in views by @ijreilly in https://github.com/twentyhq/twenty/pull/14598
* Add scripts to relaunch message and calendar channels by @charlesBochet in https://github.com/twentyhq/twenty/pull/14579
* Setup 1.6 commands by @prastoin in https://github.com/twentyhq/twenty/pull/14614
* Support loops in workflow versions by @Devessier in https://github.com/twentyhq/twenty/pull/14603
* fix(billing): reenable trial  by @AMoreaux in https://github.com/twentyhq/twenty/pull/14616
* Added a util helper to remove accent and case to improve search logic by @SaurabhJain708 in https://github.com/twentyhq/twenty/pull/14533
* Refactored table width and height constants by @lucasbordeau in https://github.com/twentyhq/twenty/pull/14613
* Fix messaging crons by @charlesBochet in https://github.com/twentyhq/twenty/pull/14619
* feat (search): add dynamic search field metadata foundation for database-driven search configuration by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/14469
* Optimize CI runner cost by @charlesBochet in https://github.com/twentyhq/twenty/pull/14628
* 1.6 changelog by @Bonapara in https://github.com/twentyhq/twenty/pull/14620
* Update integration test to include cases for bi-directional accent-insensitive search. by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/14631
* feat(database): activate unaccent extension with immutable function by @AMoreaux in https://github.com/twentyhq/twenty/pull/14621
* feat: rich text email body by @arikchakma in https://github.com/twentyhq/twenty/pull/14482
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14634
* Fix table column width on mobile by @lucasbordeau in https://github.com/twentyhq/twenty/pull/14623
* Remove verbose option by @martmull in https://github.com/twentyhq/twenty/pull/14646
* Add view viewField favorite creation after object creation in migration v2 by @Weiko in https://github.com/twentyhq/twenty/pull/14644
* Merge commands by @martmull in https://github.com/twentyhq/twenty/pull/14647
* Remove twenty-apps irrelevant stuff by @martmull in https://github.com/twentyhq/twenty/pull/14649
* AI SDK v5 migration by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/14549
* Imap perf improvement by @neo773 in https://github.com/twentyhq/twenty/pull/14629
* Fix/preserve channels on credential update by @neo773 in https://github.com/twentyhq/twenty/pull/14633
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14656
* Create a cancel action to leave the dashboard edit mode without saving by @bosiraphael in https://github.com/twentyhq/twenty/pull/14650
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14658
* Index v2 side effects by @prastoin in https://github.com/twentyhq/twenty/pull/14567
* Add a new graphql mutation in the pageLayout resolver to handle page layout update with tabs and widgets by @bosiraphael in https://github.com/twentyhq/twenty/pull/14612
* Allow nodes connection to loop edge by @Devessier in https://github.com/twentyhq/twenty/pull/14661
* Remove twenty-app.jsonc by @martmull in https://github.com/twentyhq/twenty/pull/14662
* [Dashboards] - Fix seeding not working for YC workspace because of duplicate IDs by @ehconitin in https://github.com/twentyhq/twenty/pull/14591
* feat: Added workspace-level impersonation module and functionality by @harshit078 in https://github.com/twentyhq/twenty/pull/14360
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14667
* Migrate update step changes to diff by @thomtrp in https://github.com/twentyhq/twenty/pull/14663
* Outbound message domains by @neo773 in https://github.com/twentyhq/twenty/pull/14557
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14677
* Create save dashboard record action by @bosiraphael in https://github.com/twentyhq/twenty/pull/14665
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14683
* Create MenuPicker by @bosiraphael in https://github.com/twentyhq/twenty/pull/14681
* Add FK creation in migration v2 by @Weiko in https://github.com/twentyhq/twenty/pull/14685
* update cleaning job to progressively delete metadata by @etiennejouan in https://github.com/twentyhq/twenty/pull/14596
* Store history when iterator reset the step info by @thomtrp in https://github.com/twentyhq/twenty/pull/14684
* Debug webhook job by @charlesBochet in https://github.com/twentyhq/twenty/pull/14675
* Add basic support for iterators in workflow runs by @Devessier in https://github.com/twentyhq/twenty/pull/14680
* Implement groupBy resolver (with orderBy, without viewId) by @ijreilly in https://github.com/twentyhq/twenty/pull/14690
* Migrate from Zod v3 to v4 by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/14639
* Import - Fix erase on update on Number, Boolean and Multi Select fields by @etiennejouan in https://github.com/twentyhq/twenty/pull/14686
* Fix flaky test on page layout widget by @bosiraphael in https://github.com/twentyhq/twenty/pull/14703
* Add UTC timezone label to CRON trigger form by @omareltomy in https://github.com/twentyhq/twenty/pull/14674
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14704
* batched updates/insert and delete invalid folders by @neo773 in https://github.com/twentyhq/twenty/pull/14702
* Fix calendar booking step in onboarding when env var is not configured by @ehconitin in https://github.com/twentyhq/twenty/pull/14707
* docs: update PostgreSQL installation instructions for macOS by @ireoluwacodes in https://github.com/twentyhq/twenty/pull/14710
* Add logs to debug worker performance on production by @charlesBochet in https://github.com/twentyhq/twenty/pull/14712
* 1541 extensibility twenty cli use workspace migration v2 to synchronize application objects fields views by @martmull in https://github.com/twentyhq/twenty/pull/14706
* Add ServerlessFunction to migration v2 by @Weiko in https://github.com/twentyhq/twenty/pull/14698
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14718
* 1571 extensibility twenty cli add command to create base entities like object agent or serverless by @martmull in https://github.com/twentyhq/twenty/pull/14722
* Update menu items across the app by @bosiraphael in https://github.com/twentyhq/twenty/pull/14724
* Enables phone number search in the global search (Command Menu) for person records. by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/14636
* add code checksum to flat serverless function by @Weiko in https://github.com/twentyhq/twenty/pull/14721
* Allow bulk records for manual trigger by @thomtrp in https://github.com/twentyhq/twenty/pull/14725
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14739
* Fix variable search for iterators by @thomtrp in https://github.com/twentyhq/twenty/pull/14742
* Activate v2 default seed by @prastoin in https://github.com/twentyhq/twenty/pull/14660
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14744
* Restructure agent chat messages with parts-based architecture by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/14749
* Add configuration types for widgets  by @ehconitin in https://github.com/twentyhq/twenty/pull/14717
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14765
* Fix workflow menu icons by @thomtrp in https://github.com/twentyhq/twenty/pull/14767
* Visualize iterator sub step's output by iteration index by @Devessier in https://github.com/twentyhq/twenty/pull/14747
* feat: Add ability to drag arrow tip to another node by @harshit078 in https://github.com/twentyhq/twenty/pull/14657
* Workflow run over a list of records + backfill availability on manual triggers by @thomtrp in https://github.com/twentyhq/twenty/pull/14761
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14768
* Add impersonate banner by @etiennejouan in https://github.com/twentyhq/twenty/pull/14734
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14770
* [GroupBy] Add views filters to groupBy query by @ijreilly in https://github.com/twentyhq/twenty/pull/14762
* chore(billing): add tests + fix meter name for trial by @AMoreaux in https://github.com/twentyhq/twenty/pull/14701
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14778
* Store history for iterator by @thomtrp in https://github.com/twentyhq/twenty/pull/14771
* Add db event trigger and cron trigger to migration v2 by @Weiko in https://github.com/twentyhq/twenty/pull/14772
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14782
* [Dashboards]- Addition of tabs by @ehconitin in https://github.com/twentyhq/twenty/pull/14756
* Search record action - allow to search more than 1 record by @thomtrp in https://github.com/twentyhq/twenty/pull/14769
* Intercept all abortErrors by @ijreilly in https://github.com/twentyhq/twenty/pull/14780
* Store last iterator execution in history by @thomtrp in https://github.com/twentyhq/twenty/pull/14786
* Field level permission checks on widgets by @ehconitin in https://github.com/twentyhq/twenty/pull/14774
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14788
* 1573 extensibility twenty cli handle custom layers for serverless functions of applications by @martmull in https://github.com/twentyhq/twenty/pull/14779
* Visualize workflow run step input by @Devessier in https://github.com/twentyhq/twenty/pull/14784
* [View migration] Clean ViewFilterOperand by @ijreilly in https://github.com/twentyhq/twenty/pull/14785
* [GroupBy] Add views filters to groupBy query 2/2: handle anyFieldFilter by @ijreilly in https://github.com/twentyhq/twenty/pull/14791
* Added all the initial selection logic by @SaurabhJain708 in https://github.com/twentyhq/twenty/pull/14789
* fix view update in migration v2 by @Weiko in https://github.com/twentyhq/twenty/pull/14794
* Display actions on calendar item selection by @thomtrp in https://github.com/twentyhq/twenty/pull/14795
* Feat/add add icon to calendar view by @SaurabhJain708 in https://github.com/twentyhq/twenty/pull/14696
* fix(billing): refactor and update subscription phase handling logic by @AMoreaux in https://github.com/twentyhq/twenty/pull/14783
* fix - lint main by @ehconitin in https://github.com/twentyhq/twenty/pull/14802
* Fix AI Chat permission error for users with restricted field access by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/14799
* Structured agent chat messages follow up by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/14797
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14808
* Remove deprecated check by @martmull in https://github.com/twentyhq/twenty/pull/14809
* Fix step output for iterators by @Devessier in https://github.com/twentyhq/twenty/pull/14796
* Put checkbox and tag into left content by @thomtrp in https://github.com/twentyhq/twenty/pull/14811
* Hide iteration switcher for steps following iterators by @Devessier in https://github.com/twentyhq/twenty/pull/14810
* Message Folders Redesign and Import Policy by @neo773 in https://github.com/twentyhq/twenty/pull/14714
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14812
* refactor(captcha): add path-based captcha check and cleanup unused to… by @AMoreaux in https://github.com/twentyhq/twenty/pull/14803
* feat: add create or update workflow trigger by @harshit078 in https://github.com/twentyhq/twenty/pull/14708
* Add workflow iterator to lab by @thomtrp in https://github.com/twentyhq/twenty/pull/14814
* Fix calendar padding and set calendar top bar fixed   by @Weiko in https://github.com/twentyhq/twenty/pull/14815
* add the contextual text for multiselectavatar and selectavatar by @guillim in https://github.com/twentyhq/twenty/pull/14807
* Fix path retrieval for twenty apps in twenty-cli by @Weiko in https://github.com/twentyhq/twenty/pull/14818
* Feat: native model capabilities by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/14787
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14822

## New Contributors
* @omareltomy made their first contribution in https://github.com/twentyhq/twenty/pull/14674
* @ireoluwacodes made their first contribution in https://github.com/twentyhq/twenty/pull/14710

**Full Changelog**: https://github.com/twentyhq/twenty/compare/v1.6.0...v1.7.0