v1.4.0

twentyhq/twentyv1.4.0Aug 21, 2025by guillim

AI Summary

Permissions and workflow release with field-level permissions, workflow branches, and 2FA rollout. Included morph backend API and unique fields.

Key Highlights

  • Field permissions feature
  • Workflow branches
  • 2FA rollout
  • Unique fields with unicity toggle
  • Morph backend CORE API
  • Core views seeding

New Features

  • Field-level permissions
  • Workflow branches
  • 2FA authentication
  • Unique field creation/deletion
  • Morph relation backend API
  • Core views seeding at workspace creation
  • Manual trigger pinning in navbar

Full Release Notes

## What's Changed
* Change type import rule by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13751
* Fix assert unreachable, remove unused variables by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13753
* [permissions] Fix update of relation field permissions  by @ijreilly in https://github.com/twentyhq/twenty/pull/13755
* Upgrade NX by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13758
* Display id field input as record picker by @thomtrp in https://github.com/twentyhq/twenty/pull/13759
* feat(nx-cloud): set up nx workspace by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13768
* `FieldMetadataServiceV2.deleteOneField` by @prastoin in https://github.com/twentyhq/twenty/pull/13744
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13771
* [permissions] Add field permissions feature flag in lab by @ijreilly in https://github.com/twentyhq/twenty/pull/13767
* Add workflow filters to the lab by @thomtrp in https://github.com/twentyhq/twenty/pull/13770
* Import - Unique value check optimization by @etiennejouan in https://github.com/twentyhq/twenty/pull/13761
* Eslint migration 4 by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13773
* fix messaging by @charlesBochet in https://github.com/twentyhq/twenty/pull/13772
* Multiple errors on field input transpilation improvement by @prastoin in https://github.com/twentyhq/twenty/pull/13774
* Docs and improve trigger icon handling by @Pavan-Nambi in https://github.com/twentyhq/twenty/pull/13769
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13777
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13778
* Fix qa issues with branches by @martmull in https://github.com/twentyhq/twenty/pull/13776
* Unique field - add unique property creation/deletion on field by @etiennejouan in https://github.com/twentyhq/twenty/pull/13539
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13782
* Unique fields - add unicity toggle on data model settings by @etiennejouan in https://github.com/twentyhq/twenty/pull/13592
* Add workflow branches to lab by @martmull in https://github.com/twentyhq/twenty/pull/13780
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13788
* fix(ui): remove line break in all IMAP section subtitles  by @FurquanAnwer in https://github.com/twentyhq/twenty/pull/13785
* user Guide - updating the csv export article  by @StephanieJoly4 in https://github.com/twentyhq/twenty/pull/13762
* fix(webhook): clarify endpoint expects application/json payloads by @Ireshudayanga in https://github.com/twentyhq/twenty/pull/13786
* Add destroy for core view resolvers by @bosiraphael in https://github.com/twentyhq/twenty/pull/13745
* Seed core views at workspace creation by @bosiraphael in https://github.com/twentyhq/twenty/pull/13741
* Few fixes before release 1.3.0 by @charlesBochet in https://github.com/twentyhq/twenty/pull/13791
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13792
* Continue ESLINT9 Migration by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13795
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13798
* Sort object destinations in relation field by @BKM14 in https://github.com/twentyhq/twenty/pull/13802
* Upgrade SWC Core and Storybook to v8 by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13799
* fixed changelog date parsing issue by @Bonapara in https://github.com/twentyhq/twenty/pull/13806
* Remove eslint-config-next from twenty-front by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13809
* Code first roles sync by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/13667
* Fix core views enum names by @bosiraphael in https://github.com/twentyhq/twenty/pull/13805
* Fix start twenty-front not working with flat file config by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13816
* Re-add prettier by @charlesBochet in https://github.com/twentyhq/twenty/pull/13812
* Remove hoisting on server by @charlesBochet in https://github.com/twentyhq/twenty/pull/13821
* Add missing images to lab by @thomtrp in https://github.com/twentyhq/twenty/pull/13824
* lint config backend by @guillim in https://github.com/twentyhq/twenty/pull/13827
* Type fixes and website fix by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13825
* Add Delete branch buttons by @Devessier in https://github.com/twentyhq/twenty/pull/13826
* Adding Merge and IMAP Features to 1.3 Changelog by @vickywxng in https://github.com/twentyhq/twenty/pull/13823
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13828
* Text update by @guillim in https://github.com/twentyhq/twenty/pull/13832
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13833
* Prevent edges selection and deletion by @Devessier in https://github.com/twentyhq/twenty/pull/13830
* chore: scope package.json deps to packages by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13835
* Refactor usePersistField by @lucasbordeau in https://github.com/twentyhq/twenty/pull/13775
* Removed useRecordTable by @lucasbordeau in https://github.com/twentyhq/twenty/pull/13837
* morph backend CORE api by @guillim in https://github.com/twentyhq/twenty/pull/13517
* Add positions on company and person seeds by @ehconitin in https://github.com/twentyhq/twenty/pull/13831
* Improve Stripe checkout to avoid redirecting to page by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13690
* `FieldMetadataServiceV2.updateOne` by @prastoin in https://github.com/twentyhq/twenty/pull/13784
* Delete filter on branch deletion by @thomtrp in https://github.com/twentyhq/twenty/pull/13834
* Remove preconstruct, update wyw by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13844
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13851
* Migrate eslint to mjs by @charlesBochet in https://github.com/twentyhq/twenty/pull/13850
* fix: [Mailbox sync lost banner] Banner overlapping the filters by @neo773 in https://github.com/twentyhq/twenty/pull/13808
* fix IMAP breadcrumb by @ehconitin in https://github.com/twentyhq/twenty/pull/13847
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13852
* [Morph] frontend basic initialisation by @guillim in https://github.com/twentyhq/twenty/pull/13822
* Run yarn dedupe and upgrade TS by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13853
* Improve workflow queue cron reliability by @thomtrp in https://github.com/twentyhq/twenty/pull/13818
* Fix destroy many resolver broken on custom objects by @charlesBochet in https://github.com/twentyhq/twenty/pull/13858
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13859
* `ObjectMetadataServiceV2.createOne` by @prastoin in https://github.com/twentyhq/twenty/pull/13849
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13870
* Bring back edge selection & deletion by @Devessier in https://github.com/twentyhq/twenty/pull/13863
* fix: sync color scheme on loading state by @neo773 in https://github.com/twentyhq/twenty/pull/13878
* Remove X icon for fields that cannot be removed by @BKM14 in https://github.com/twentyhq/twenty/pull/13876
* Unique fields - fixes by @etiennejouan in https://github.com/twentyhq/twenty/pull/13848
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13883
* Rename permissions and fix add rule button by @BKM14 in https://github.com/twentyhq/twenty/pull/13874
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13885
* Permission table fixes by @BKM14 in https://github.com/twentyhq/twenty/pull/13882
* followup #13878 by @neo773 in https://github.com/twentyhq/twenty/pull/13886
* Only allow deleting branches when branches are enabled by @Devessier in https://github.com/twentyhq/twenty/pull/13889
* `ObjectMetadataServiceV2.deleteOne` by @prastoin in https://github.com/twentyhq/twenty/pull/13871
* Refactor record-field into ui sub-folder by @lucasbordeau in https://github.com/twentyhq/twenty/pull/13888
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13890
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13892
* Make source handle blue when node is selected and on hover by @Devessier in https://github.com/twentyhq/twenty/pull/13887
* Allow deleting any branch via keyboard by @Devessier in https://github.com/twentyhq/twenty/pull/13897
* Missing the joincolumnname parsing  by @guillim in https://github.com/twentyhq/twenty/pull/13898
* Disable nx ui terminal by @bosiraphael in https://github.com/twentyhq/twenty/pull/13910
* Refactor inline-cell-input hover on field-list by @charlesBochet in https://github.com/twentyhq/twenty/pull/13906
* UpdateMany - Process connect queries in batch by @etiennejouan in https://github.com/twentyhq/twenty/pull/13907
* Stop propagating full workflow in components by @thomtrp in https://github.com/twentyhq/twenty/pull/13900
* Implement proper arrows between nodes for workflows and workflow versions by @Devessier in https://github.com/twentyhq/twenty/pull/13909
* feat: ability to pin a manual trigger in the navbar by @ahmedobaid23 in https://github.com/twentyhq/twenty/pull/13904
* Refactor inline-cell inputs by @charlesBochet in https://github.com/twentyhq/twenty/pull/13914
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13920
* `ObjectMetadataServiceV2.updateOne` by @prastoin in https://github.com/twentyhq/twenty/pull/13891
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13922
* Remove workflow context + clean action config by @thomtrp in https://github.com/twentyhq/twenty/pull/13919
* [fast follows] - improve rest api documentation, fix add new button being considered in drag, fix grip color by @ehconitin in https://github.com/twentyhq/twenty/pull/13709
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13924
* Refactor inline-cell inputs on board by @charlesBochet in https://github.com/twentyhq/twenty/pull/13921
* Add RecordField abstraction by @lucasbordeau in https://github.com/twentyhq/twenty/pull/13923
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13925
* Workspace schema migration runner v2 by @Weiko in https://github.com/twentyhq/twenty/pull/13899
* Refactor board inline-cell input by @charlesBochet in https://github.com/twentyhq/twenty/pull/13928
* Move duplicate key error handling in ORM by @etiennejouan in https://github.com/twentyhq/twenty/pull/13893
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13933
* Improve REST API Docs by @FelixMalfait in https://github.com/twentyhq/twenty/pull/13931
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13939
* Updating user guide index by @StephanieJoly4 in https://github.com/twentyhq/twenty/pull/13942
* fix: merge records settings select by @neo773 in https://github.com/twentyhq/twenty/pull/13944
* fix: suggestion menu item font color by @arikchakma in https://github.com/twentyhq/twenty/pull/13947
* Prepare field option dropdown for RecordField usage by @lucasbordeau in https://github.com/twentyhq/twenty/pull/13935
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13956
* Refactor builder to embed `Object` validation `create/delete/update` by @prastoin in https://github.com/twentyhq/twenty/pull/13934
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13959
* Fix not available workflow version id in runs by @thomtrp in https://github.com/twentyhq/twenty/pull/13958
* fix(filters): unify combinedFilter for queries and bulk delete by @Puranjay-del-Mishra in https://github.com/twentyhq/twenty/pull/13952
* Handle relative date step filter by @thomtrp in https://github.com/twentyhq/twenty/pull/13930
* Workspace migration v2 builder embed field metadata validation by @prastoin in https://github.com/twentyhq/twenty/pull/13960
* Workspace schema migration runner v2 - Fix Enums and Create TsVector by @Weiko in https://github.com/twentyhq/twenty/pull/13955
* fix: Filter Selection Icon Missing #13901 by @Kailash8799 in https://github.com/twentyhq/twenty/pull/13950
* Fix run input tab for filters by @thomtrp in https://github.com/twentyhq/twenty/pull/13961
* Implement new workflow node design by @Devessier in https://github.com/twentyhq/twenty/pull/13929
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13964
* fix(server): field metadata creation service v2 by @prastoin in https://github.com/twentyhq/twenty/pull/13963
* Fix build field order delete object refactor by @prastoin in https://github.com/twentyhq/twenty/pull/13965
* Put back transparent background for code editor by @thomtrp in https://github.com/twentyhq/twenty/pull/13966
* Fix relations creation with metadata v2 by @Weiko in https://github.com/twentyhq/twenty/pull/13967
* minor changes - fixed text color by @AbhinavTalmale in https://github.com/twentyhq/twenty/pull/13970
* fix: scroll to selected element without animation when dropdown opens by @ahmedobaid23 in https://github.com/twentyhq/twenty/pull/13969
* Fix website navigation by @charlesBochet in https://github.com/twentyhq/twenty/pull/13972
* fix(design-system): fix menu item selection & focus state (#13807) by @Kailash8799 in https://github.com/twentyhq/twenty/pull/13948
* Standard relation field for custom objects by @prastoin in https://github.com/twentyhq/twenty/pull/13968
* fix: remove unnecessary spacing in search node's conditional operator field by @aayushprime in https://github.com/twentyhq/twenty/pull/13946
* add view related schema definitions to computeMetadataSchemaComponents by @ehconitin in https://github.com/twentyhq/twenty/pull/13971
* Fix default relation standard field deletion by @prastoin in https://github.com/twentyhq/twenty/pull/13975
* Morph-front-settings by @guillim in https://github.com/twentyhq/twenty/pull/13872
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13976
* Refactor read only object and fields by @neo773 in https://github.com/twentyhq/twenty/pull/13936
* morphfix by @guillim in https://github.com/twentyhq/twenty/pull/13978
* IMAP FIxes by @neo773 in https://github.com/twentyhq/twenty/pull/13973
* Add translations on core views by @ehconitin in https://github.com/twentyhq/twenty/pull/13895
* fix: sort search results by TSRank by @neo773 in https://github.com/twentyhq/twenty/pull/13875
* Fix enum deletion during migration v2 by @Weiko in https://github.com/twentyhq/twenty/pull/13977
* fix `extract-message-util` preserve line break for multi line HTML text by @neo773 in https://github.com/twentyhq/twenty/pull/13983
* [Dashboards] Graph number chart component  by @ehconitin in https://github.com/twentyhq/twenty/pull/13984
* fix: workflow node classification by @Harshith-2208 in https://github.com/twentyhq/twenty/pull/13945
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13993
* Refactor field definition and column definition manipulation with record field by @lucasbordeau in https://github.com/twentyhq/twenty/pull/13992
* get rid of singleton usage in view resolver by @ehconitin in https://github.com/twentyhq/twenty/pull/13990
* fix(ai): improve mcp metadata logic by @AMoreaux in https://github.com/twentyhq/twenty/pull/13991
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13996
* Animate between IconX and IconReload by @BKM14 in https://github.com/twentyhq/twenty/pull/13949
* fix: set `content-type` header for isMethodWithBody by @neo773 in https://github.com/twentyhq/twenty/pull/13839
* Add community Railway template in self-hosted cloud provider docs by @thomasmol in https://github.com/twentyhq/twenty/pull/13986
* Multi drag on tables + Refactor  by @ehconitin in https://github.com/twentyhq/twenty/pull/13570
* Fix table aligment issue by @BKM14 in https://github.com/twentyhq/twenty/pull/13896
* Fix filters + add behaviour for select by @thomtrp in https://github.com/twentyhq/twenty/pull/13997
* Perform renaming fixes and implement full access card by @BKM14 in https://github.com/twentyhq/twenty/pull/13912
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/13998
* fix: fix position of checkbox and icon by @Kailash8799 in https://github.com/twentyhq/twenty/pull/13999
* [feature]:Improved Options Menu for Default View by @prynsh in https://github.com/twentyhq/twenty/pull/13427
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14000
* Refactor schema migration runner service discovery by @Weiko in https://github.com/twentyhq/twenty/pull/13988
* Core views frontend by @bosiraphael in https://github.com/twentyhq/twenty/pull/13932
* Removed Redundant Filter Option in Filter Menu by @Nishant891 in https://github.com/twentyhq/twenty/pull/14003
* Fail slow + structured validator error response scoped by object and fields by @prastoin in https://github.com/twentyhq/twenty/pull/13980
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14004
* feat(ai): enhance metadata handling and add support for tools, prompt… by @AMoreaux in https://github.com/twentyhq/twenty/pull/14002
* fix ui as per figma file by @Kailash8799 in https://github.com/twentyhq/twenty/pull/14008
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/14015
* fix: prevent selection clicking outside the table by @Kailash8799 in https://github.com/twentyhq/twenty/pull/14007
* Fix hover on inline cell by @charlesBochet in https://github.com/twentyhq/twenty/pull/14022
* Remove workflow filters from lab by @thomtrp in https://github.com/twentyhq/twenty/pull/14017
* Rollout 2FA by @Weiko in https://github.com/twentyhq/twenty/pull/14023
* Filters: Fix readonly on record picker + select label by @thomtrp in https://github.com/twentyhq/twenty/pull/14026
* Fix title cell by @charlesBochet in https://github.com/twentyhq/twenty/pull/14025
* Rollout field permissions by @Weiko in https://github.com/twentyhq/twenty/pull/14024
* morph fix for release 1.4 by @guillim in https://github.com/twentyhq/twenty/pull/14029
* non edit by @guillim in https://github.com/twentyhq/twenty/pull/14031
* adding upgrade version command by @guillim in https://github.com/twentyhq/twenty/pull/14032

## New Contributors
* @Pavan-Nambi made their first contribution in https://github.com/twentyhq/twenty/pull/13769
* @FurquanAnwer made their first contribution in https://github.com/twentyhq/twenty/pull/13785
* @Ireshudayanga made their first contribution in https://github.com/twentyhq/twenty/pull/13786
* @ahmedobaid23 made their first contribution in https://github.com/twentyhq/twenty/pull/13904
* @arikchakma made their first contribution in https://github.com/twentyhq/twenty/pull/13947
* @Puranjay-del-Mishra made their first contribution in https://github.com/twentyhq/twenty/pull/13952
* @Kailash8799 made their first contribution in https://github.com/twentyhq/twenty/pull/13950
* @AbhinavTalmale made their first contribution in https://github.com/twentyhq/twenty/pull/13970
* @aayushprime made their first contribution in https://github.com/twentyhq/twenty/pull/13946
* @Harshith-2208 made their first contribution in https://github.com/twentyhq/twenty/pull/13945
* @Nishant891 made their first contribution in https://github.com/twentyhq/twenty/pull/14003

**Full Changelog**: https://github.com/twentyhq/twenty/compare/v1.3.0...v1.4.0