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