v0.54.4

twentyhq/twentyv0.54.4May 22, 2025by prastoin

AI Summary

This is a substantial patch release (v0.54.4) for Twenty CRM focusing on bug fixes, performance improvements, and UI/UX refinements. Key improvements include multiple infinite loop fixes, REST API bug corrections, enhanced email/messaging functionality, and various table and kanban view optimizations.

Key Highlights

  • Multiple critical bug fixes including infinite loops in record data updates and command menu
  • REST API improvements - fixed pagination (startingAfter/endingBefore), batch create, and filtering on grouped table views
  • Enhanced email/messaging system - fixed message channel processing, email verification exceptions, and Microsoft account handling
  • UI/UX refinements - modal API refactoring, table click-outside fixes, kanban loading improvements, and keyboard navigation
  • Performance optimizations - removed use-context-selector, reduced table re-renders, improved Sentry grouping

New Features

  • LINKS and EMAILS sub-field filtering support
  • Support Full Name as Record Text Identifier
  • Workflow custom fields now editable
  • Focus stack implementation for improved hotkey handling
  • Added relation exceptions for better access control

Full Release Notes

## What's Changed
* Implemented LINKS and EMAILS sub-field fitering by @lucasbordeau in https://github.com/twentyhq/twenty/pull/11984
* Twenty config integration tests + conversion refactor by @ehconitin in https://github.com/twentyhq/twenty/pull/11972
* Remove old relations by @charlesBochet in https://github.com/twentyhq/twenty/pull/11993
* Deleted view disable delete btn by @AjayAdsule in https://github.com/twentyhq/twenty/pull/11990
* Remove clickhouse check requiring elevated permissions by @FelixMalfait in https://github.com/twentyhq/twenty/pull/12006
* adapt billing banners according to user's permissions by @etiennejouan in https://github.com/twentyhq/twenty/pull/12005
* Fix relation deletion by @charlesBochet in https://github.com/twentyhq/twenty/pull/12008
* i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12009
* Fix clickhouse connection 2 by @FelixMalfait in https://github.com/twentyhq/twenty/pull/12010
* Fix side panel click outside by @bosiraphael in https://github.com/twentyhq/twenty/pull/12011
* Remove duplicated position for task's status field by @Devessier in https://github.com/twentyhq/twenty/pull/11998
* [DOCS] Upgrade guide 0.53 by @prastoin in https://github.com/twentyhq/twenty/pull/12015
* docs(website): fix typos by @prastoin in https://github.com/twentyhq/twenty/pull/12016
* delete attachment when file is removed from activity body by @etiennejouan in https://github.com/twentyhq/twenty/pull/11952
* Fix message channel processing by @charlesBochet in https://github.com/twentyhq/twenty/pull/12021
* [DRAFT]: Add full Dev Workspace seeding to Preview Env Keep-Alive workflow by @ehconitin in https://github.com/twentyhq/twenty/pull/12020
* docs: update admin panel access property name in upgrade guide by @ehconitin in https://github.com/twentyhq/twenty/pull/12019
* Fix UI not being refreshed after grouping by None in the table by @bosiraphael in https://github.com/twentyhq/twenty/pull/12013
* 959 api rest startingafter and endingbefore not working properly with orderby by @martmull in https://github.com/twentyhq/twenty/pull/12012
* Make the default view names consistent (#12022) by @jordan-chalupka in https://github.com/twentyhq/twenty/pull/12023
* Improve sentry grouping by @ijreilly in https://github.com/twentyhq/twenty/pull/12007
* fix 11997 by @ehconitin in https://github.com/twentyhq/twenty/pull/12018
* Fix filtering on grouped table view by @bosiraphael in https://github.com/twentyhq/twenty/pull/12029
* 960 api rest batch create not working by @martmull in https://github.com/twentyhq/twenty/pull/12028
* Fix table click outside by @bosiraphael in https://github.com/twentyhq/twenty/pull/12038
* [DOCS] New troubleshoot `password authentication failed for user "postgres"` by @prastoin in https://github.com/twentyhq/twenty/pull/12031
* Fix cacheData not found after recomputes by @ijreilly in https://github.com/twentyhq/twenty/pull/12032
* fix calendar events and messages post hooks by @etiennejouan in https://github.com/twentyhq/twenty/pull/12034
* Fix infinite loop critical bug by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12046
* Messaging issues by @guillim in https://github.com/twentyhq/twenty/pull/12041
* [Rest Api] Fix find duplicates endpoint by @martmull in https://github.com/twentyhq/twenty/pull/12044
* Correct default fallback logo path in Logo component by @ehconitin in https://github.com/twentyhq/twenty/pull/12053
* Fix kanban loading bug by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12042
* Validate existing fields on creation by @thomtrp in https://github.com/twentyhq/twenty/pull/12057
* Exclude workflows from relation field object dropdown when inactive by @ehconitin in https://github.com/twentyhq/twenty/pull/12033
* Fixed error with previous filters on ACTOR with new sub-field filtering by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12050
* [reconnect account] Reseting calendar status and stage on reconnect by @guillim in https://github.com/twentyhq/twenty/pull/12061
* Make workflow custom fields editable by @thomtrp in https://github.com/twentyhq/twenty/pull/12063
* Fix CSV import upsert by @ijreilly in https://github.com/twentyhq/twenty/pull/12048
* Gmail temporary error by @guillim in https://github.com/twentyhq/twenty/pull/12058
* [QRQC_2] No explicit any in `twenty-server` by @prastoin in https://github.com/twentyhq/twenty/pull/12068
* Fix missing exception catch by @martmull in https://github.com/twentyhq/twenty/pull/12069
* [QRQC_2] No implicitAny in `twenty-server` by @prastoin in https://github.com/twentyhq/twenty/pull/12075
* Fixes infinite loop on record data update in command menu by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12072
* fix(domain-manager): correct domain URL reference and filter logic by @AMoreaux in https://github.com/twentyhq/twenty/pull/12074
* Change idle connection time by @FelixMalfait in https://github.com/twentyhq/twenty/pull/12073
* Improve sentry filtering and grouping by @ijreilly in https://github.com/twentyhq/twenty/pull/12071
* QRQC #2 - Fix by @etiennejouan in https://github.com/twentyhq/twenty/pull/12054
* Update SettingsFieldCurrencyCodes.ts  — XOF Currency by @PrinceMuichkine in https://github.com/twentyhq/twenty/pull/12047
* Add placeholder to signinup modal's secondary logo by @ehconitin in https://github.com/twentyhq/twenty/pull/12079
* Modal API Refactoring by @bosiraphael in https://github.com/twentyhq/twenty/pull/12062
* Fix drag selection on table make rows bigger by @bosiraphael in https://github.com/twentyhq/twenty/pull/12096
* [DOCS] A Note about audit log removal in 0.53 upgrade by @prastoin in https://github.com/twentyhq/twenty/pull/12097
* Fix yoga scalar validations being captured by @Weiko in https://github.com/twentyhq/twenty/pull/12085
* Fix hidden copy button on production build for text fields by @bosiraphael in https://github.com/twentyhq/twenty/pull/12099
* Fix composite field edition by @thomtrp in https://github.com/twentyhq/twenty/pull/12095
* Patch pg pool by @FelixMalfait in https://github.com/twentyhq/twenty/pull/12081
* Refactoring the reconnect service by @guillim in https://github.com/twentyhq/twenty/pull/12089
* Fix pg pool implementation by @FelixMalfait in https://github.com/twentyhq/twenty/pull/12106
* Removed value setter effect completely by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12101
* 971 rest api bug sentry on filter parameters by @martmull in https://github.com/twentyhq/twenty/pull/12088
* fix billingCustomer stripeId fetching by @etiennejouan in https://github.com/twentyhq/twenty/pull/12116
* Fix aggregate operation update on dates on kanban views by @ijreilly in https://github.com/twentyhq/twenty/pull/12115
* add command to clean not found files by @etiennejouan in https://github.com/twentyhq/twenty/pull/12094
* Fix modal click outside by @bosiraphael in https://github.com/twentyhq/twenty/pull/12120
* Fix Identifier chips in Timeline Activities are broken by @Weiko in https://github.com/twentyhq/twenty/pull/12122
* Fix dropdown by @charlesBochet in https://github.com/twentyhq/twenty/pull/12126
* fix: prevent unwanted newlines in note editor when typing by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/12128
* Fix table re-renders on update or keyboard navigation by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12127
* fix: Ensure attachment modal appears above Command Menu button using createPortal by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/12112
* Fix/record board keyboard navigation empty columns by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/12103
* close dropdown when model opens by @Sahil-Gupta584 in https://github.com/twentyhq/twenty/pull/12060
* Support Full Name as Record Text Identifier by @b9aurav in https://github.com/twentyhq/twenty/pull/11610
* fix(docker-compose): increase retry for server service by @tuladhar in https://github.com/twentyhq/twenty/pull/11883
* Refactor: Improve Docker volume permission handling and remove run-once service by @FabianHertwig in https://github.com/twentyhq/twenty/pull/11405
* i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12135
* Fix #10941: Make sure content adjusts itself when resizing cell by @tomassc6 in https://github.com/twentyhq/twenty/pull/11392
* Fix: Deleting an opportunity from the relation detail section deletes a person by @Weiko in https://github.com/twentyhq/twenty/pull/12137
* Fix: Editing a task assignee relation from the list opens both the command menu and the multi item picker by @Weiko in https://github.com/twentyhq/twenty/pull/12138
* Removed use-context-selector completely by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12139
* better logging errors in messages by @guillim in https://github.com/twentyhq/twenty/pull/12136
* Fixes RelationFromManyFieldDisplay story by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12141
* Prevent webhook trigger from enabling keys with spaces by @thomtrp in https://github.com/twentyhq/twenty/pull/12146
* i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12148
* Fix send email connected account by @thomtrp in https://github.com/twentyhq/twenty/pull/12149
* Catching "no licence" microsoft account by @guillim in https://github.com/twentyhq/twenty/pull/12143
* fixing a microsoft graph api error by @guillim in https://github.com/twentyhq/twenty/pull/12154
* lowercase user and invitation emails by @etiennejouan in https://github.com/twentyhq/twenty/pull/12130
* Consider `null` values as empty values for link fields by @Devessier in https://github.com/twentyhq/twenty/pull/12113
* followup #12033 by @ehconitin in https://github.com/twentyhq/twenty/pull/12150
* Emit proper event on createOrUpdate csv import operation by @martmull in https://github.com/twentyhq/twenty/pull/12163
* Move defaultAvatarUrl on userWorkspace + migration command by @etiennejouan in https://github.com/twentyhq/twenty/pull/12100
* fix mail thread design by @etiennejouan in https://github.com/twentyhq/twenty/pull/12167
* Fix email verification exception are not caught by @ijreilly in https://github.com/twentyhq/twenty/pull/12174
* Use `null` as the default value for link fields when persisting by @Devessier in https://github.com/twentyhq/twenty/pull/12173
* Add Approved access domain exception filter by @ijreilly in https://github.com/twentyhq/twenty/pull/12180
* Fix workflow sub objects updates validation by @thomtrp in https://github.com/twentyhq/twenty/pull/12169
* Fix Scalar preload by @FelixMalfait in https://github.com/twentyhq/twenty/pull/12184
* Continue migration schema from metadata to core by @FelixMalfait in https://github.com/twentyhq/twenty/pull/12168
* Introduce focus stack to handle hotkeys by @bosiraphael in https://github.com/twentyhq/twenty/pull/12166
* Add relation exceptions by @ijreilly in https://github.com/twentyhq/twenty/pull/12185
* Set findOneServerlessFunction result nullable by @martmull in https://github.com/twentyhq/twenty/pull/12179
* Do not upgrade if no migrate by @prastoin in https://github.com/twentyhq/twenty/pull/12187
* 922 remove todos from 11809 after release by @martmull in https://github.com/twentyhq/twenty/pull/12183
* i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12189
* Add forgotten 054 commands by @prastoin in https://github.com/twentyhq/twenty/pull/12193

## New Contributors
* @PrinceMuichkine made their first contribution in https://github.com/twentyhq/twenty/pull/12047
* @Sahil-Gupta584 made their first contribution in https://github.com/twentyhq/twenty/pull/12060
* @tuladhar made their first contribution in https://github.com/twentyhq/twenty/pull/11883
* @FabianHertwig made their first contribution in https://github.com/twentyhq/twenty/pull/11405
* @tomassc6 made their first contribution in https://github.com/twentyhq/twenty/pull/11392

**Full Changelog**: https://github.com/twentyhq/twenty/compare/v0.53.0...v0.54.4