v0.30.0

twentyhq/twentyv0.30.0Sep 27, 2024by charlesBochet

AI Summary

This is a major release (v0.30.0) of Twenty, a CRM platform, featuring significant workflow enhancements including workflow editor steps, status management, visualizer, and activation/deactivation. The release also introduces ARRAY field type, new date filtering capabilities, multi-value phone fields, and a redesigned Settings layout, along with numerous UI fixes and performance optimizations.

Key Highlights

  • Major workflow system overhaul with editor steps, status management, visualizer, and activate/deactivate functionality
  • Introduced ARRAY field type for flexible data storage
  • New date field filtering capabilities with relative date formatting options
  • Support for multiple values in Phone fields with migration from Phone to Phones
  • New Settings Layout redesign with improved navigation and UI
  • Performance optimizations for sync, reset, seed commands and nested relations queries
  • Added workspace favorites feature behind a feature flag
  • Enhanced email/calendar functionality with timeline fixes and improved search

Breaking Changes

  • Email field migration from Email to Emails fields (requires migration command)
  • Phone field migration from Phone to Phones fields (requires migration command)
  • Removed @chakra-ui dependencies - may affect custom theming

New Features

  • Workflow editor with create new steps and status management
  • Workflow visualizer displayed on show page
  • Activate/Deactivate workflow and Discard Draft functionality
  • ARRAY field type support
  • Date field filtering with 'Display as relative date' option
  • Multi-value Phone field support
  • New Settings Layout redesign
  • Workspace favorites (behind feature flag)
  • Keyboard navigation for ObjectFilterDropDownFilterSelect
  • One-to-many relations multiselect support
  • Improved self-hosting documentation with tsx replacement for ts-node
  • Add relations to notes/tasks list view
  • Soft delete improvements for standard objects
  • Integration tests added

Full Release Notes

## What's Changed
* Created a breadcrumb for left nav menu sub items by @lucasbordeau in https://github.com/twentyhq/twenty/pull/6762
* Create new steps in workflow editor by @Devessier in https://github.com/twentyhq/twenty/pull/6764
* Set statuses on workflows by @thomtrp in https://github.com/twentyhq/twenty/pull/6792
* fix: EmailThreads and Calendar making one extra graphql requests even total records are fetched by @Nabhag8848 in https://github.com/twentyhq/twenty/pull/6814
* fix: Updated Button states for pages and minor UI fix by @harshit078 in https://github.com/twentyhq/twenty/pull/6812
* 6657 Refactor and fix blocklist by @bosiraphael in https://github.com/twentyhq/twenty/pull/6803
* fix: Deactivate & Activate icons should be swapped UI improvements by @harshit078 in https://github.com/twentyhq/twenty/pull/6796
* Add set custom object is soft deletable command by @Weiko in https://github.com/twentyhq/twenty/pull/6788
* fix: Fixed API typo and webhook checkerror by @harshit078 in https://github.com/twentyhq/twenty/pull/6779
* Serverless function improvements by @martmull in https://github.com/twentyhq/twenty/pull/6769
* Prevent workflow version from bad update by @thomtrp in https://github.com/twentyhq/twenty/pull/6848
* chore: improve the softdelete style by @pacyL2K19 in https://github.com/twentyhq/twenty/pull/6846
* Updated MultiItemFieldInput to display current value properly by @ehconitin in https://github.com/twentyhq/twenty/pull/6857
* fix: securing tasks and notes all view by @Nabhag8848 in https://github.com/twentyhq/twenty/pull/6869
* Ability to filter on DATE fields (#6299) by @ad-elias in https://github.com/twentyhq/twenty/pull/6824
* Field name is oddly displayed when long by @gitstart-app in https://github.com/twentyhq/twenty/pull/6755
* update refresh token expires in by @Weiko in https://github.com/twentyhq/twenty/pull/6879
* Add workflow query hooks by @thomtrp in https://github.com/twentyhq/twenty/pull/6876
* Enable payload without status update by @thomtrp in https://github.com/twentyhq/twenty/pull/6881
* fix: Updated Menu item font size by @harshit078 in https://github.com/twentyhq/twenty/pull/6884
* Fix bug bypassing verification in confirmation modal when pressing Enter by @bachtly in https://github.com/twentyhq/twenty/pull/6889
* fix(6423): add username and password for redis connection by @borel in https://github.com/twentyhq/twenty/pull/6745
* Check if user wants to run make postgres-on-linux by @BOHEUS in https://github.com/twentyhq/twenty/pull/6819
* Fix unauthorized error handling by @martmull in https://github.com/twentyhq/twenty/pull/6835
* Update workflow nodes configuration by @Devessier in https://github.com/twentyhq/twenty/pull/6861
* Fixed view reset on view change by @lucasbordeau in https://github.com/twentyhq/twenty/pull/6897
* Fix restore event sent to webhooks by @FelixMalfait in https://github.com/twentyhq/twenty/pull/6905
* Add workspace favorites behind feature flag by @thomtrp in https://github.com/twentyhq/twenty/pull/6904
* Display workflow visualizer on show page by @Devessier in https://github.com/twentyhq/twenty/pull/6894
* fix: Api text typo in ApiKeyInput.tsx (#6916) by @naineel1209 in https://github.com/twentyhq/twenty/pull/6918
* fix: Minor UI fixes in Settings page  by @harshit078 in https://github.com/twentyhq/twenty/pull/6915
* Fixed open table cell triggering by @lucasbordeau in https://github.com/twentyhq/twenty/pull/6910
* added scroll wrapper for ShowPageActivityContainer by @ehconitin in https://github.com/twentyhq/twenty/pull/6903
* Enables creating an opportunityCard instantly if company field is disabled (#6316) by @Faisal-imtiyaz123 in https://github.com/twentyhq/twenty/pull/6911
* Fix lint by @martmull in https://github.com/twentyhq/twenty/pull/6922
* multiselect for onetomany relations by @ehconitin in https://github.com/twentyhq/twenty/pull/6892
* fix: settings search field bottom padding by @Nabhag8848 in https://github.com/twentyhq/twenty/pull/6920
* Adds KeyBoard Navigation to ObjectFilterDropDownFilterSelect ( #4365 ) by @Faisal-imtiyaz123 in https://github.com/twentyhq/twenty/pull/6613
* Added new view to select types for objects by @ehconitin in https://github.com/twentyhq/twenty/pull/6700
* Adds secondary color and styles to code snippets in block note editor ( #6029 ) by @Faisal-imtiyaz123 in https://github.com/twentyhq/twenty/pull/6928
* added timeout to avoid appending of blocks by @ehconitin in https://github.com/twentyhq/twenty/pull/6725
* fix: Minor bugs in notes pages by @harshit078 in https://github.com/twentyhq/twenty/pull/6914
* Fixed page inputs style layout bugs by @harshit078 in https://github.com/twentyhq/twenty/pull/6899
* Update SettingsDevelopersApiKeyDetail.tsx typo by @Virajjai in https://github.com/twentyhq/twenty/pull/6937
* fix: Notes not visible in Timeline activities by @harshit078 in https://github.com/twentyhq/twenty/pull/6936
* Prevent fullWidth from being passed to Link ie <a> by @ehconitin in https://github.com/twentyhq/twenty/pull/6893
* sort task groups reverse alphabetically by their status by @kbavi in https://github.com/twentyhq/twenty/pull/6886
* fix: ability to create empty kanban by @Nabhag8848 in https://github.com/twentyhq/twenty/pull/6951
* minor fix - removed scrollwrapper stylings for SettingsPageContainer by @ehconitin in https://github.com/twentyhq/twenty/pull/6949
* Bump version to 0.24.2 by @Weiko in https://github.com/twentyhq/twenty/pull/6955
* Fix/object detail recordcell tooltip by @Sandheep-OSC in https://github.com/twentyhq/twenty/pull/6908
* Fixes multi-select search not working ( #6800 ) by @Faisal-imtiyaz123 in https://github.com/twentyhq/twenty/pull/6964
* Fixed the overflow height of the Developers page's table by @ffshreyansh in https://github.com/twentyhq/twenty/pull/6963
* added button in nav bar for kanban view by @ehconitin in https://github.com/twentyhq/twenty/pull/6829
* Adds secondary color and styling to code blocks using theme varibales ( #6029 ) by @Faisal-imtiyaz123 in https://github.com/twentyhq/twenty/pull/6931
* Fix note linked text in timeline view (in dark mode) by @gvkhna in https://github.com/twentyhq/twenty/pull/6944
* Support for multiple values in the Phone field by @gitstart-app in https://github.com/twentyhq/twenty/pull/6882
* Fix not possible to edit options by @charlesBochet in https://github.com/twentyhq/twenty/pull/6979
* [Flexible-schema] Add findOne and fix findMany pagination + soft-delete for graphql-query-runner by @Weiko in https://github.com/twentyhq/twenty/pull/6978
* Fixed CI by @lucasbordeau in https://github.com/twentyhq/twenty/pull/6982
* Refactor graphql query runner + fix nested or by @Weiko in https://github.com/twentyhq/twenty/pull/6986
* Add relations to notes/tasks list view by @FelixMalfait in https://github.com/twentyhq/twenty/pull/6971
* 6658 workflows add a first twenty piece email sender by @martmull in https://github.com/twentyhq/twenty/pull/6965
* add contibuting_example.md  by @Mulyawan-spec in https://github.com/twentyhq/twenty/pull/6998
* Set all standard objects soft deletable by @Weiko in https://github.com/twentyhq/twenty/pull/7006
* Scaffold empty workflow by @Devessier in https://github.com/twentyhq/twenty/pull/6926
* Handle migration of Email to Emails fields by @gitstart-app in https://github.com/twentyhq/twenty/pull/6885
* Display tag for workflow version status by @Devessier in https://github.com/twentyhq/twenty/pull/6972
* [metadata] fix soft delete for standard objects missing deletedAt fieldMetadata by @Weiko in https://github.com/twentyhq/twenty/pull/7017
* add field config new icons by @anamarn in https://github.com/twentyhq/twenty/pull/6996
* feat: improve self hosting documentation by @Freebios in https://github.com/twentyhq/twenty/pull/7024
* feat: replace ts-node with tsx and pre-install it globaly in docker by @Freebios in https://github.com/twentyhq/twenty/pull/7027
* fix(one-liner): update SERVER_URL when not using default port by @Freebios in https://github.com/twentyhq/twenty/pull/7026
* Add data-testid to MultiWorkspaceDropdownButton container by @BOHEUS in https://github.com/twentyhq/twenty/pull/7028
* removed @chakra-ui dependencies by @ehconitin in https://github.com/twentyhq/twenty/pull/7004
* Optimize sync, reset, seed commands to flush cache and to use less memory by @charlesBochet in https://github.com/twentyhq/twenty/pull/7034
* Optimize migrate-email-fields-command by @charlesBochet in https://github.com/twentyhq/twenty/pull/7035
* Fix contributor script by @FelixMalfait in https://github.com/twentyhq/twenty/pull/7040
* [flexible-schema] Add createOne/createMany with upsert to graphql query runner by @Weiko in https://github.com/twentyhq/twenty/pull/7041
* 0-30-set-custom-object-is-soft-deletable.command by @Weiko in https://github.com/twentyhq/twenty/pull/7045
* Introduce ARRAY field type by @gitstart-app in https://github.com/twentyhq/twenty/pull/6862
* Create command to set stale message sync back to pending by @bosiraphael in https://github.com/twentyhq/twenty/pull/7048
* Fix: Set sync stage started at when starting sync by @bosiraphael in https://github.com/twentyhq/twenty/pull/7046
* Re-enable displaying one-to-many in table and kanban by @charlesBochet in https://github.com/twentyhq/twenty/pull/7053
* fix: Company picker opening when it shouldn't by @pateldivyesh1323 in https://github.com/twentyhq/twenty/pull/7023
* fix: page header accessible when deleting webhook by @harshit078 in https://github.com/twentyhq/twenty/pull/6985
* [Emails migration] Fix email field migration by @ijreilly in https://github.com/twentyhq/twenty/pull/7065
* relations header button to appear at all times for mobile devices by @ehconitin in https://github.com/twentyhq/twenty/pull/7044
* Fix search on email by @ijreilly in https://github.com/twentyhq/twenty/pull/7094
* New Settings Layout by @gitstart-app in https://github.com/twentyhq/twenty/pull/6867
* 7092 destroy connected account instead of soft deleting it by @bosiraphael in https://github.com/twentyhq/twenty/pull/7099
* Feat(frontend): improve the soft delete empty state  by @pacyL2K19 in https://github.com/twentyhq/twenty/pull/6877
* Fixes resetting of scroll position in RecordShowPage due to opening of some dropdowns (#6890) by @Faisal-imtiyaz123 in https://github.com/twentyhq/twenty/pull/6906
* Verification popup can be activated multiple times by @ffshreyansh in https://github.com/twentyhq/twenty/pull/6938
* Twnty-#6797 view/edit inactive feature by @HKS07 in https://github.com/twentyhq/twenty/pull/6953
* fix: Tasks page overflows with large title and body by @harshit078 in https://github.com/twentyhq/twenty/pull/6970
* Fix race condition with datasource creation by @Weiko in https://github.com/twentyhq/twenty/pull/7106
* 7059 Fix email loading in the timeline by @bosiraphael in https://github.com/twentyhq/twenty/pull/7116
* Modify messaging settings description by @bosiraphael in https://github.com/twentyhq/twenty/pull/7089
* enhance picture uploader, change justify content by @heber59 in https://github.com/twentyhq/twenty/pull/6974
* Add fail on metadata cache miss by @thomtrp in https://github.com/twentyhq/twenty/pull/7118
* Fixed scroll wrapper for settings page container by @lucasbordeau in https://github.com/twentyhq/twenty/pull/7124
* Improve demo seed by @charlesBochet in https://github.com/twentyhq/twenty/pull/7125
* Backfill workspace favorites by @thomtrp in https://github.com/twentyhq/twenty/pull/7122
* Add SettingsCard for Config Data Type and Accounts Settings by @anamarn in https://github.com/twentyhq/twenty/pull/7093
* 0.30 changelog by @Bonapara in https://github.com/twentyhq/twenty/pull/7126
* Fix sync statuses on the fe by @bosiraphael in https://github.com/twentyhq/twenty/pull/7117
* Fix nested relations with large dataset in find queries by @Weiko in https://github.com/twentyhq/twenty/pull/7127
* Fix performance by @Weiko in https://github.com/twentyhq/twenty/pull/7131
* Improve perf during repository creation in nested relations by @Weiko in https://github.com/twentyhq/twenty/pull/7132
* feat(invitation): Improve invitation flow - Milestone 2 by @AMoreaux in https://github.com/twentyhq/twenty/pull/6804
* Improved note cards design by @pateldivyesh1323 in https://github.com/twentyhq/twenty/pull/7129
* Add deletedAt to foreignKey indexes by @Weiko in https://github.com/twentyhq/twenty/pull/7133
* [Bug] Select options names can't start with a number by @gitstart-app in https://github.com/twentyhq/twenty/pull/7079
* Upgrade sentry by @FelixMalfait in https://github.com/twentyhq/twenty/pull/7145
* Clean views without object metadata by @thomtrp in https://github.com/twentyhq/twenty/pull/7153
* 7142 make messaging full message list fetch idempotent by @bosiraphael in https://github.com/twentyhq/twenty/pull/7148
* Fix nested relations by @Weiko in https://github.com/twentyhq/twenty/pull/7158
* Fix CSV export missing last page by @charlesBochet in https://github.com/twentyhq/twenty/pull/7167
* feat: add integration tests by @magrinj in https://github.com/twentyhq/twenty/pull/6923
* fix: Cropped company logos on the Companies Kanban by @harshit078 in https://github.com/twentyhq/twenty/pull/7166
* fix: Update theme card width by @harshit078 in https://github.com/twentyhq/twenty/pull/7147
* Update System Data Type Names to Display 'System' #7136 by @subhamengine in https://github.com/twentyhq/twenty/pull/7170
* Fixed bug with record without activity target by @lucasbordeau in https://github.com/twentyhq/twenty/pull/7175
* Change demo account email by @FelixMalfait in https://github.com/twentyhq/twenty/pull/7177
* Add indexes to custom relations by @Weiko in https://github.com/twentyhq/twenty/pull/7156
* View module refactor with atomic recoil component instance states by @lucasbordeau in https://github.com/twentyhq/twenty/pull/6810
* Safely parse phone numbers before display by @thomtrp in https://github.com/twentyhq/twenty/pull/7186
* fix: Input fields to have expected behaviour in case of empty / only whitespaces string by @Nabhag8848 in https://github.com/twentyhq/twenty/pull/6736
* 7182 person avatar is not the same color in emails and calendar by @bosiraphael in https://github.com/twentyhq/twenty/pull/7185
* Improve snackbar and fix sentry by @FelixMalfait in https://github.com/twentyhq/twenty/pull/7181
* Set a unique constraint on email table in users #7180 by @subhamengine in https://github.com/twentyhq/twenty/pull/7184
* Fix linter by @FelixMalfait in https://github.com/twentyhq/twenty/pull/7191
* minor fix - email thread reply button stylings/corrections by @ehconitin in https://github.com/twentyhq/twenty/pull/7168
* Fix paginated order by with composite fields by @Weiko in https://github.com/twentyhq/twenty/pull/7187
* Fix lambda creation by @thomtrp in https://github.com/twentyhq/twenty/pull/7201
* Fix IN filter with empty array by @Weiko in https://github.com/twentyhq/twenty/pull/7202
* Fix demo seeds by @ijreilly in https://github.com/twentyhq/twenty/pull/7204
* Introduced Specific Icons image identifier for Notes and Tasks by @ehconitin in https://github.com/twentyhq/twenty/pull/6997
* fix: Appearance Settings Cropped Card by @harshit078 in https://github.com/twentyhq/twenty/pull/7232
* fix: #7226 -  Improve photo uploader design by @kant-github in https://github.com/twentyhq/twenty/pull/7234
* Remove shouldUseEmailsField by @bosiraphael in https://github.com/twentyhq/twenty/pull/7208
* Add try catch around messaging monitoring cron and fix decorators by @bosiraphael in https://github.com/twentyhq/twenty/pull/7207
* Handle migration of Phone field to Phones field by @gitstart-app in https://github.com/twentyhq/twenty/pull/7128
* fix: onEnter creating new function page in settings by @harshit078 in https://github.com/twentyhq/twenty/pull/7236
* fix issue (#7152 : Improve relation empty states on record page)  by @falgunmpatel in https://github.com/twentyhq/twenty/pull/7157
* [fix][Phone field migration] Use "Phones" in new field label by @ijreilly in https://github.com/twentyhq/twenty/pull/7239
* fix: Phone dropdown field has extra width by @harshit078 in https://github.com/twentyhq/twenty/pull/6866
* [Phones migration][Fix] Remove field from view after creation by @ijreilly in https://github.com/twentyhq/twenty/pull/7243
* 'Display as relative date' field formatting option for dateTime and date fields #5398 by @ad-elias in https://github.com/twentyhq/twenty/pull/6945
* Add index key to tasks and notes views by @thomtrp in https://github.com/twentyhq/twenty/pull/7241
* [Phone field migration][fix] Update field label by @ijreilly in https://github.com/twentyhq/twenty/pull/7247
* [Phones migration](fix) update label of standard field by using raw query by @ijreilly in https://github.com/twentyhq/twenty/pull/7255
* Fix calendar page without account by @Weiko in https://github.com/twentyhq/twenty/pull/7256
* 7242 error when displaying message threads with a large number of participants by @bosiraphael in https://github.com/twentyhq/twenty/pull/7251
* fix: Values field card lacks width in mobile viewports  by @harshit078 in https://github.com/twentyhq/twenty/pull/7248
* Activate/Deactivate workflow and Discard Draft by @Devessier in https://github.com/twentyhq/twenty/pull/7022
* Fixing last column width in table-view by @sid0-0 in https://github.com/twentyhq/twenty/pull/7258
* Kanban card creation revamp by @ehconitin in https://github.com/twentyhq/twenty/pull/7169
* Fix LinkedIn URL special character formatting by @ad-elias in https://github.com/twentyhq/twenty/pull/7249
* Connect EventTracker to TB endpoint by @anamarn in https://github.com/twentyhq/twenty/pull/7240
* Fix: Remove 'Soon' integrations from Settings when disabled by @RaulErnesto08 in https://github.com/twentyhq/twenty/pull/7259
* Fix email migration script by @ijreilly in https://github.com/twentyhq/twenty/pull/7267
* Update clean view command + add dry run to favorite backfill by @thomtrp in https://github.com/twentyhq/twenty/pull/7268
* Add phone fields migration command to 0 30 by @bosiraphael in https://github.com/twentyhq/twenty/pull/7269
* Fix analytics by @FelixMalfait in https://github.com/twentyhq/twenty/pull/7271
* Change tinybird event format by @FelixMalfait in https://github.com/twentyhq/twenty/pull/7272
* fix: Cursor pointer on Settings cards by @harshit078 in https://github.com/twentyhq/twenty/pull/7291
* Add Header to Email & Calendar Tabs #7288 by @kant-github in https://github.com/twentyhq/twenty/pull/7293
* 5922 - UI Overlap and State Persistence in Filter Menus by @ehconitin in https://github.com/twentyhq/twenty/pull/7270
* 7154 deleted event is not emitted when calling destroyone by @bosiraphael in https://github.com/twentyhq/twenty/pull/7159
* Date filter improvements (#5917) by @ad-elias in https://github.com/twentyhq/twenty/pull/7196
* Fix use object metadata item by @bosiraphael in https://github.com/twentyhq/twenty/pull/7297
* Fix standardId issues with phones field migration by @ijreilly in https://github.com/twentyhq/twenty/pull/7294
* Fix email migration by @bosiraphael in https://github.com/twentyhq/twenty/pull/7298
* Fix viewFilter operand for dateTime fields by @Weiko in https://github.com/twentyhq/twenty/pull/7306
* Add 0.30 release notes by @charlesBochet in https://github.com/twentyhq/twenty/pull/7300

## New Contributors
* @harshit078 made their first contribution in https://github.com/twentyhq/twenty/pull/6812
* @bachtly made their first contribution in https://github.com/twentyhq/twenty/pull/6889
* @borel made their first contribution in https://github.com/twentyhq/twenty/pull/6745
* @Virajjai made their first contribution in https://github.com/twentyhq/twenty/pull/6937
* @kbavi made their first contribution in https://github.com/twentyhq/twenty/pull/6886
* @Sandheep-OSC made their first contribution in https://github.com/twentyhq/twenty/pull/6908
* @ffshreyansh made their first contribution in https://github.com/twentyhq/twenty/pull/6963
* @gvkhna made their first contribution in https://github.com/twentyhq/twenty/pull/6944
* @Mulyawan-spec made their first contribution in https://github.com/twentyhq/twenty/pull/6998
* @anamarn made their first contribution in https://github.com/twentyhq/twenty/pull/6996
* @pateldivyesh1323 made their first contribution in https://github.com/twentyhq/twenty/pull/7023
* @HKS07 made their first contribution in https://github.com/twentyhq/twenty/pull/6953
* @heber59 made their first contribution in https://github.com/twentyhq/twenty/pull/6974
* @subhamengine made their first contribution in https://github.com/twentyhq/twenty/pull/7170
* @falgunmpatel made their first contribution in https://github.com/twentyhq/twenty/pull/7157
* @sid0-0 made their first contribution in https://github.com/twentyhq/twenty/pull/7258
* @RaulErnesto08 made their first contribution in https://github.com/twentyhq/twenty/pull/7259

**Full Changelog**: https://github.com/twentyhq/twenty/compare/v0.24.0...v0.30.0