Impact Score: 5/10
Twenty v1.18.0 โ Release Notes & Engineering Impact
Source available โ automated, not human-reviewed
Component: twenty ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
โก Executive Summary (TL;DR)
Twenty v1.18.0. Source highlight: Lowercase email
Who Does This Impact? (Role-Based Analysis)
๐ป Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
๐ Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
โ๏ธ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
โจ New Features & Capabilities (6)
- Add wildcard documentation for like/ilike/containsIlike filters
- Feat: Navbar customization
- Introducing view field group syncable entity
- feat: emit metadata events for schema changes with actor context for webhooks
- Feat 17408 : Add remove option for object permissions rule
- Add mentions feature to objects in notes
โก Performance & Enhancements (6)
- perf: cache ServerBlockNoteEditor instance in transformRichTextV2Value
- Improve AI agent chat, tool display, and workflow agent management
- Improve building of twenty-sdk
- Enhance stories for front component in sdk
- Improve AI chat UX
- Navbar customization improvements
๐ง Bug Fixes & Patches (6)
- Fix phone validation performance by using Set/Map instead of Array lookups
- fix: show user-friendly error message when duplicate invite is sent
- Fix merge records page accumulating duplicate morph items
- Fix spurious logouts by deduplicating concurrent token renewals
- Fix code step and logic function step in workflows
- Fix page layout seeding for record page layouts
๐ View Raw Release Notes (Original Developer Log)
## What's Changed
* Lowercase email by @BOHEUS in https://github.com/twentyhq/twenty/pull/17775
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17842
* Fix phone validation performance by using Set/Map instead of Array lookups by @FelixMalfait in https://github.com/twentyhq/twenty/pull/17843
* fix: show user-friendly error message when duplicate invite is sent by @FelixMalfait in https://github.com/twentyhq/twenty/pull/17827
* perf: cache ServerBlockNoteEditor instance in transformRichTextV2Value by @FelixMalfait in https://github.com/twentyhq/twenty/pull/17844
* Runner metadata events by @prastoin in https://github.com/twentyhq/twenty/pull/17841
* Fix merge records page accumulating duplicate morph items by @rdelassus in https://github.com/twentyhq/twenty/pull/17705
* Prevent leak between /metadata and /graphql GQL schemas by @charlesBochet in https://github.com/twentyhq/twenty/pull/17845
* Fix spurious logouts by deduplicating concurrent token renewals by @FelixMalfait in https://github.com/twentyhq/twenty/pull/17858
* Do not throw on corrupted labelFieldMetadataIdentifier by @prastoin in https://github.com/twentyhq/twenty/pull/17859
* Remove guard from find logic functions by @thomtrp in https://github.com/twentyhq/twenty/pull/17862
* File - Migrate avatarUrl > avatarFile on person (data migration + logic) + Attachment data migration by @etiennejouan in https://github.com/twentyhq/twenty/pull/17752
* Fix code step and logic function step in workflows by @thomtrp in https://github.com/twentyhq/twenty/pull/17856
* Add wildcard documentation for like/ilike/containsIlike filters by @bugisthegod in https://github.com/twentyhq/twenty/pull/17825
* Feat: Navbar customization by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/17728
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17869
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17872
* Solo transaction application synchronization service refactor by @prastoin in https://github.com/twentyhq/twenty/pull/17864
* Fix page layout seeding for record page layouts by @Weiko in https://github.com/twentyhq/twenty/pull/17871
* Handle 413 with user friendly message by @etiennejouan in https://github.com/twentyhq/twenty/pull/17870
* Fix hardcoded colors in 2FA verification screen for dark mode by @FelixMalfait in https://github.com/twentyhq/twenty/pull/17868
* Fix redirect to deleted workspace subdomain after workspace deletion by @FelixMalfait in https://github.com/twentyhq/twenty/pull/17865
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17874
* Remove redundant self-build from Nx targets that compile on the fly by @FelixMalfait in https://github.com/twentyhq/twenty/pull/17851
* Generate GQL schema based on applicationId by @charlesBochet in https://github.com/twentyhq/twenty/pull/17860
* Fix event stream does not exists error by @thomtrp in https://github.com/twentyhq/twenty/pull/17873
* Introducing view field group syncable entity by @Weiko in https://github.com/twentyhq/twenty/pull/17867
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17877
* Navbar customization followup by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/17848
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17881
* Reduce leak between gql schema by @charlesBochet in https://github.com/twentyhq/twenty/pull/17878
* Logic function refactorization by @martmull in https://github.com/twentyhq/twenty/pull/17861
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17887
* File v2 - Backfill mimeType and size - command by @etiennejouan in https://github.com/twentyhq/twenty/pull/17875
* Fix widget and front component queries hitting wrong GraphQL endpoint by @ehconitin in https://github.com/twentyhq/twenty/pull/17889
* [FRONT COMPONENTS] Twenty UI elements generation by @bosiraphael in https://github.com/twentyhq/twenty/pull/17866
* Bump @types/bytes from 3.1.4 to 3.1.5 by @dependabot[bot] in https://github.com/twentyhq/twenty/pull/17882
* Bump react-loading-skeleton from 3.4.0 to 3.5.0 by @dependabot[bot] in https://github.com/twentyhq/twenty/pull/17883
* Workflow bug fixes by @thomtrp in https://github.com/twentyhq/twenty/pull/17886
* Bump @vitest/browser-playwright from 4.0.17 to 4.0.18 by @dependabot[bot] in https://github.com/twentyhq/twenty/pull/17884
* Start Jotai Migration by @charlesBochet in https://github.com/twentyhq/twenty/pull/17893
* Fix index field comparison by @prastoin in https://github.com/twentyhq/twenty/pull/17896
* Migrate twenty ui to jotai by @charlesBochet in https://github.com/twentyhq/twenty/pull/17900
* Fix EMFILE: too many open files, watch on macOS by @FelixMalfait in https://github.com/twentyhq/twenty/pull/17901
* Prefil fields widgets to standard app by @Weiko in https://github.com/twentyhq/twenty/pull/17897
* Migrate more to Jotai by @charlesBochet in https://github.com/twentyhq/twenty/pull/17903
* Scalar and universal flat entity transpilers by @prastoin in https://github.com/twentyhq/twenty/pull/17891
* Fix twenty sdk build by @martmull in https://github.com/twentyhq/twenty/pull/17902
* feat: emit metadata events for schema changes with actor context for webhooks by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/17622
* [Apps] Content + permission tabs for marketplace and installed apps by @ijreilly in https://github.com/twentyhq/twenty/pull/17888
* Files - Migrate attachments in activities by @etiennejouan in https://github.com/twentyhq/twenty/pull/17808
* Feat 17408 : Add remove option for object permissions rule by @LTan-101104 in https://github.com/twentyhq/twenty/pull/17601
* Some fixes by @ijreilly in https://github.com/twentyhq/twenty/pull/17904
* Improve AI agent chat, tool display, and workflow agent management by @FelixMalfait in https://github.com/twentyhq/twenty/pull/17876
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17905
* Refactor metadata events to contain `scalarEntity` by @prastoin in https://github.com/twentyhq/twenty/pull/17908
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17911
* Speed up twenty-emails build by replacing vite-plugin-dts with tsgo by @FelixMalfait in https://github.com/twentyhq/twenty/pull/17857
* Migrate create syncable entity cursor rule to skills by @prastoin in https://github.com/twentyhq/twenty/pull/17912
* Hide delete button for record page layout widgets by @Copilot in https://github.com/twentyhq/twenty/pull/17892
* Drag and drop fields of Fields widgets by @Devessier in https://github.com/twentyhq/twenty/pull/17910
* fix: prevent tab synchronization between different records by @Eruis2579 in https://github.com/twentyhq/twenty/pull/17559
* chore(nx): remove leftover Nx wrapper artifacts by @ehconitin in https://github.com/twentyhq/twenty/pull/17916
* Add mentions feature to objects in notes by @acee3 in https://github.com/twentyhq/twenty/pull/16373
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17915
* [FRONT COMPONENT] Add Front component token generation by @ehconitin in https://github.com/twentyhq/twenty/pull/17855
* Improve building of twenty-sdk by @charlesBochet in https://github.com/twentyhq/twenty/pull/17913
* Fix event stream infinite loops by @thomtrp in https://github.com/twentyhq/twenty/pull/17919
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17920
* Add scripts to publish cli tools by @martmull in https://github.com/twentyhq/twenty/pull/17914
* Enhance stories for front component in sdk by @charlesBochet in https://github.com/twentyhq/twenty/pull/17925
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17930
* fix: replace react-tooltip with AppTooltip and refactor MenuItemAvatar by @kiannidev in https://github.com/twentyhq/twenty/pull/17846
* Create record page layout after custom object creation by @Weiko in https://github.com/twentyhq/twenty/pull/17923
* Revert export twenty UI by @charlesBochet in https://github.com/twentyhq/twenty/pull/17929
* Update cli tool versions by @martmull in https://github.com/twentyhq/twenty/pull/17933
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17932
* feat: add draft email workflow action by @neo773 in https://github.com/twentyhq/twenty/pull/17793
* Respect Gmail retry-after in messaging throttle by @neo773 in https://github.com/twentyhq/twenty/pull/17850
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17939
* fix: add explicit error hint for coverage threshold failures in frontend test step by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/17937
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17935
* Add @mention support in AI Chat input by @FelixMalfait in https://github.com/twentyhq/twenty/pull/17943
* fix: markdown-it is has a regular expression denial of service by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/17946
* fix: qs arrayLimit bypass in comma parsing allows denial of service by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/17947
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17945
* [FRONT COMPONENTS] Allow style librairies in remote dom by @bosiraphael in https://github.com/twentyhq/twenty/pull/17936
* fix: restore customDomain field in getCurrentUser query fragment by @FelixMalfait in https://github.com/twentyhq/twenty/pull/17949
* Support define is tool logic function by @martmull in https://github.com/twentyhq/twenty/pull/17926
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17966
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17967
* feat: configure standard views and migrate attachment seeds to FILES field by @FelixMalfait in https://github.com/twentyhq/twenty/pull/17958
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17972
* `[OBJECT_MANIFEST_BREAKING_CHANGE]` Sync returns workspace migration by @prastoin in https://github.com/twentyhq/twenty/pull/17918
* Add default fields on object manifest by @martmull in https://github.com/twentyhq/twenty/pull/17977
* [DASHBOARDS] Add split multi-value fields setting for charts by @ehconitin in https://github.com/twentyhq/twenty/pull/17907
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17981
* Change condition for multi-workspace check by @manstfu in https://github.com/twentyhq/twenty/pull/17938
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17983
* Fix and refactor all metadata relation by @prastoin in https://github.com/twentyhq/twenty/pull/17978
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17986
* Improve AI chat UX by @Bonapara in https://github.com/twentyhq/twenty/pull/17974
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17987
* fix: use pickMorphGroupSurvivor in relation loader to match field metadata deduplication by @FelixMalfait in https://github.com/twentyhq/twenty/pull/17988
* File - Disable file upload in standalone rich text widget by @etiennejouan in https://github.com/twentyhq/twenty/pull/17934
* Navigation Menu Item - Migration in v1.18 by @etiennejouan in https://github.com/twentyhq/twenty/pull/17991
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17993
* fix: on charts newly added multi split values toggle wasnt being saved by @ehconitin in https://github.com/twentyhq/twenty/pull/17990
* feat: show auto-generated conversation title for AI chat. by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/17922
* fix: improve clipboard copy for non-HTTPS self-hosted deployments by @FelixMalfait in https://github.com/twentyhq/twenty/pull/17989
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17995
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/17997
* Fix dashboard new tab creation by @Devessier in https://github.com/twentyhq/twenty/pull/17971
* Page layout various fixes by @Weiko in https://github.com/twentyhq/twenty/pull/17996
* Added relations to SSE events by @lucasbordeau in https://github.com/twentyhq/twenty/pull/17683
* Emitting the correct event based on whether the record is being soft deleted or restored. by @Lakshayyy-m in https://github.com/twentyhq/twenty/pull/17953
* Sync views and navigation items by @thomtrp in https://github.com/twentyhq/twenty/pull/18003
* Fix initial code step functionInput by @martmull in https://github.com/twentyhq/twenty/pull/18002
* File - Migrate core pictures (workspace and member logo) + workflow attachments by @etiennejouan in https://github.com/twentyhq/twenty/pull/17924
* Translate page layout tab title by @Devessier in https://github.com/twentyhq/twenty/pull/17975
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/18007
* Fixed group by query order by inside group by @lucasbordeau in https://github.com/twentyhq/twenty/pull/18005
* Move secure HTTP client IP validation to connection level by @FelixMalfait in https://github.com/twentyhq/twenty/pull/18006
* Replace country code by calling code in workflows by @thomtrp in https://github.com/twentyhq/twenty/pull/18008
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/18012
* Add Client Api generation by @charlesBochet in https://github.com/twentyhq/twenty/pull/17961
* Load view field groups by @Devessier in https://github.com/twentyhq/twenty/pull/18010
* New onboarding plan by @BOHEUS in https://github.com/twentyhq/twenty/pull/17776
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/18013
* Migrate more to Jotai by @charlesBochet in https://github.com/twentyhq/twenty/pull/17968
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/18014
* Navbar customization improvements by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/17863
* Fix connected account permissions by @BOHEUS in https://github.com/twentyhq/twenty/pull/17598
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/18017
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/18020
* Files command - fixes by @etiennejouan in https://github.com/twentyhq/twenty/pull/18016
* Date & DateTime validation fixes / improvements by @etiennejouan in https://github.com/twentyhq/twenty/pull/18009
* fixes: loosen up front validation, add resolveEntityRelationUniversalIdentifiers to update and restore by @ehconitin in https://github.com/twentyhq/twenty/pull/18015
* New field creates fields widget field by @Weiko in https://github.com/twentyhq/twenty/pull/18022
* App feedbacks by @martmull in https://github.com/twentyhq/twenty/pull/18028
* Add SSE for metadata and plug front components by @bosiraphael in https://github.com/twentyhq/twenty/pull/17998
* Improve API Client usage and add Typescript check by @charlesBochet in https://github.com/twentyhq/twenty/pull/18023
* i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/18029
* v1.18 - Fix command by @etiennejouan in https://github.com/twentyhq/twenty/pull/18032
* Fix Gmail thread awareness for custom labels by @neo773 in https://github.com/twentyhq/twenty/pull/18031
* Allow DATE_TIME IS operand to filter on a whole day by @carbonFibreCode in https://github.com/twentyhq/twenty/pull/17529
* Replace generic "Unknown error" messages with descriptive error details by @FelixMalfait in https://github.com/twentyhq/twenty/pull/18019
* Use proper PostgreSQL identifier/literal escaping in workspace DDL by @FelixMalfait in https://github.com/twentyhq/twenty/pull/18024
* Fixes - Workspace logo migration by @etiennejouan in https://github.com/twentyhq/twenty/pull/18035
* [Chore] : Generate migration for DATE_TIME to DATE for DATE_TIME + IS operand filters by @carbonFibreCode in https://github.com/twentyhq/twenty/pull/17564
* 2094 extensibility define postinstall orand preinstall function to run in application by @martmull in https://github.com/twentyhq/twenty/pull/18037
* Nav Menu Item Migration command fix by @etiennejouan in https://github.com/twentyhq/twenty/pull/18041
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/18040
* Sync page Layout by @charlesBochet in https://github.com/twentyhq/twenty/pull/18034
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/18048
* Add missing objects to rich app integration tests by @thomtrp in https://github.com/twentyhq/twenty/pull/18039
* Add example in create-twenty-app by @martmull in https://github.com/twentyhq/twenty/pull/18043
* Refactor page layout types by @charlesBochet in https://github.com/twentyhq/twenty/pull/18042
* refactor workflow action messaging with callout by @Bonapara in https://github.com/twentyhq/twenty/pull/18038
* Add currency hover tooltip in CurrencyDisplay by @Bonapara in https://github.com/twentyhq/twenty/pull/18045
* fix: show "Not shared" for junction relation fields when target or intermediate object is not readable by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/18025
* i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/18050
* Restore old favorite design by @etiennejouan in https://github.com/twentyhq/twenty/pull/18049
## New Contributors
* @LTan-101104 made their first contribution in https://github.com/twentyhq/twenty/pull/17601
* @Eruis2579 made their first contribution in https://github.com/twentyhq/twenty/pull/17559
* @acee3 made their first contribution in https://github.com/twentyhq/twenty/pull/16373
* @kiannidev made their first contribution in https://github.com/twentyhq/twenty/pull/17846
* @manstfu made their first contribution in https://github.com/twentyhq/twenty/pull/17938
**Full Changelog**: https://github.com/twentyhq/twenty/compare/v1.17.0...v1.18.0