v0.3.0

twentyhq/twentyv0.3.0Feb 3, 2024by charlesBochet

AI Summary

This release (v0.3.0) introduces significant improvements including a new Record Board feature with a dedicated feature flag, enhanced email/messaging functionality with Gmail full-sync and thread improvements, and various performance optimizations using Apollo cache modifications. The release also adds the Rating Field, workspace sync capabilities, and multiple new components while deprecating the old board implementation.

Key Highlights

  • New Record Board feature introduced with dedicated feature flag, replacing the deprecated old board
  • Major email/messaging improvements including Gmail full-sync pagination, thread management, and message organization
  • Performance optimizations with Apollo cache modifications for record optimistic effects
  • Rating Field now enabled with various fixes
  • Workspace sync feature added with dry-run option for metadata command

Breaking Changes

  • 'relation select' feature flag removed - users relying on this flag will need to update
  • Messaging API: 'body' field renamed to 'text' - requires updates for API consumers
  • Old board implementation tagged as deprecated in favor of new Record Board

New Features

  • New Record Board with display columns, action bar, and context menu
  • Rating Field enabled for use
  • ThreadBottomBar component for messaging UI
  • Webhook list section in settings with updated API key section
  • Drag and drop functionality for files tab
  • Password change functionality from settings page
  • Workspace sync feature
  • Execute pending migrations command
  • Add dry-run option to sync-metadata command
  • Add user to Sentry for error tracking
  • Create record position field for ordering

Full Release Notes

## What's Changed
* UI Fixes for Dark Mode by @Kanav-Arora in https://github.com/twentyhq/twenty/pull/3337
* Bump version to 0.2.3 by @charlesBochet in https://github.com/twentyhq/twenty/pull/3506
* Center InternalDatePicker Clear button by @leojalfred in https://github.com/twentyhq/twenty/pull/3265
* feat: set field as custom object label identifier in Object Detail by @thaisguigon in https://github.com/twentyhq/twenty/pull/3360
* fixed issue Display field name on Kanbans & Shows by @abdul-irfan-k in https://github.com/twentyhq/twenty/pull/3427
* Add select type to field metadata decorator by @Weiko in https://github.com/twentyhq/twenty/pull/3471
* fixed issue Refine Settings Layout by @abdul-irfan-k in https://github.com/twentyhq/twenty/pull/3429
* Add tests for `modules/object-metadata/hooks` by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/3485
* Add tests for `modules/analytics` by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/3462
* Fixed selection reset on loading more by @lucasbordeau in https://github.com/twentyhq/twenty/pull/3500
* Add tests for `modules/navigation` and `modules/keyboard-shortcut-menu` by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/3461
* Implemented useListenClickOutside V2 by @lucasbordeau in https://github.com/twentyhq/twenty/pull/3507
* #3476 round sum total amount in board by @jeet1desai in https://github.com/twentyhq/twenty/pull/3484
* Fix: Increase Fields column width by @jeet1desai in https://github.com/twentyhq/twenty/pull/3519
* Add performance logs to object metadata query by @Weiko in https://github.com/twentyhq/twenty/pull/3463
* feat: workspace health relation by @magrinj in https://github.com/twentyhq/twenty/pull/3466
* feat: display label identifier table cell as chip with link to Record… by @thaisguigon in https://github.com/twentyhq/twenty/pull/3503
* TWNTY-3379 - Add tests for `modules/favorites` and `modules/companies` by @gitstart-app in https://github.com/twentyhq/twenty/pull/3528
* Update blocknote by @brendanlaschke in https://github.com/twentyhq/twenty/pull/3517
* feat: Create a ThreadBottomBar component by @abdul-irfan-k in https://github.com/twentyhq/twenty/pull/3474
* replace text input by texterarea by @jeet1desai in https://github.com/twentyhq/twenty/pull/3473
* TWNTY-3381 - Add tests for `modules/apollo` by @gitstart-app in https://github.com/twentyhq/twenty/pull/3530
* Show page - disable click for workspace member relation by @thomtrp in https://github.com/twentyhq/twenty/pull/3464
* Add tests for `modules/auth` and `modules/command-menu` by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/3548
* TWNTY-3480 - Add tests for `modules/object-record/relation-picker/hooks` by @gitstart-app in https://github.com/twentyhq/twenty/pull/3547
* Add tests for `modules/ui/layout/tab` by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/3535
* Updated CreateProfile default to System Color Scheme by @SujithThirumalaisamy in https://github.com/twentyhq/twenty/pull/3544
* Improve health check command by @charlesBochet in https://github.com/twentyhq/twenty/pull/3553
* Update company board card link to opportunity show page by @thomtrp in https://github.com/twentyhq/twenty/pull/3557
* Standard Object prefill updates by @charlesBochet in https://github.com/twentyhq/twenty/pull/3570
* Deactivated vite-plugin-checker overlay by @lucasbordeau in https://github.com/twentyhq/twenty/pull/3574
* Load views on user load and read in cache by @thomtrp in https://github.com/twentyhq/twenty/pull/3552
* Update logging for smtp emails by @martmull in https://github.com/twentyhq/twenty/pull/3536
* Move emails to dedicated package by @martmull in https://github.com/twentyhq/twenty/pull/3542
* drag and drop on files tab by @jeet1desai in https://github.com/twentyhq/twenty/pull/3432
* 3434 connect settingsaccountsemails to the backend by @bosiraphael in https://github.com/twentyhq/twenty/pull/3584
* Remove flag relation select by @charlesBochet in https://github.com/twentyhq/twenty/pull/3588
* Add tests for `modules/ui/utilities/pointer-event` by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/3586
* Build message thread empty right drawer by @thomtrp in https://github.com/twentyhq/twenty/pull/3585
* header component added by @suman-somu in https://github.com/twentyhq/twenty/pull/3539
* Fix Continuous Deployment script after adding twenty-emails package by @charlesBochet in https://github.com/twentyhq/twenty/pull/3589
* TWNTY-3482 - Add tests for `modules/ui/utilities/recoil-scope/scopes-internal/hooks` by @gitstart-app in https://github.com/twentyhq/twenty/pull/3582
* Add missing tests in `modules/ui/utilities/recoil-scope` by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/3581
* TWNTY-3549 - Add tests for `modules/object-record/field` by @gitstart-app in https://github.com/twentyhq/twenty/pull/3572
* Fixed filter dropdown on task page by @lucasbordeau in https://github.com/twentyhq/twenty/pull/3469
* Merge messages and threads #1 by @Weiko in https://github.com/twentyhq/twenty/pull/3583
* Update contributing guidelines with PR precendence by @charlesBochet in https://github.com/twentyhq/twenty/pull/3590
* Leave table focus on show page click by @lucasbordeau in https://github.com/twentyhq/twenty/pull/3521
* perf: apply record optimistic effects with cache.modify on mutation by @thaisguigon in https://github.com/twentyhq/twenty/pull/3540
* Fix FloatingButton to behave like FloatingIconButton in a group. by @jss475 in https://github.com/twentyhq/twenty/pull/3524
* fixed  overflowing text for select on card #3494 by @abdul-irfan-k in https://github.com/twentyhq/twenty/pull/3504
* Broken calendar component by @jeet1desai in https://github.com/twentyhq/twenty/pull/3525
* Store HTML message by @Weiko in https://github.com/twentyhq/twenty/pull/3594
* Tooltip on icons by @seAfnan in https://github.com/twentyhq/twenty/pull/3529
* Fixed Max lenght in Label , #3515 by @dev-kraken in https://github.com/twentyhq/twenty/pull/3558
* [messaging] Rename body to text by @Weiko in https://github.com/twentyhq/twenty/pull/3595
* Use scroll left instead of intersection observer by @lucasbordeau in https://github.com/twentyhq/twenty/pull/3522
* Tag current board as deprecated to make room for the new record board implementation by @charlesBochet in https://github.com/twentyhq/twenty/pull/3601
* Update clean inactive workspaces by @martmull in https://github.com/twentyhq/twenty/pull/3600
* Introduce new board feature flag by @charlesBochet in https://github.com/twentyhq/twenty/pull/3602
* Build message threads by @thomtrp in https://github.com/twentyhq/twenty/pull/3593
* Fix message table plural name by @Weiko in https://github.com/twentyhq/twenty/pull/3604
* Load empty board if view type is kanban by @charlesBochet in https://github.com/twentyhq/twenty/pull/3605
* Allow underscores in PG_DATABASE_URL by @serban-alexandru in https://github.com/twentyhq/twenty/pull/3599
* Fix twenty-emails build by @martmull in https://github.com/twentyhq/twenty/pull/3608
* Add new Record board shell by @charlesBochet in https://github.com/twentyhq/twenty/pull/3609
* Scroll tab list on record show by @jeet1desai in https://github.com/twentyhq/twenty/pull/3561
* GH-3245 Change password from settings page by @i-am-chitti in https://github.com/twentyhq/twenty/pull/3538
* Fetch messages with hard coded thread id by @thomtrp in https://github.com/twentyhq/twenty/pull/3613
* [Messaging] Fix duplicate messageChannelMessage by @Weiko in https://github.com/twentyhq/twenty/pull/3616
* Add fetch more loader for email messages by @thomtrp in https://github.com/twentyhq/twenty/pull/3618
* Fix/nested filter by @magrinj in https://github.com/twentyhq/twenty/pull/3624
* 3263 modify timeline messagingservice to allow the frontend to get multiple participants in a thread by @bosiraphael in https://github.com/twentyhq/twenty/pull/3611
* feat: added webhook list section and updated api key section by @lakshay-saini-au8 in https://github.com/twentyhq/twenty/pull/3567
* Reset workspaces to delete between executions by @martmull in https://github.com/twentyhq/twenty/pull/3625
* Display columns on Record Board by @charlesBochet in https://github.com/twentyhq/twenty/pull/3626
* 3571 remove reply quotations from emails by @bosiraphael in https://github.com/twentyhq/twenty/pull/3630
* Add record chip for sender and add receivers by @thomtrp in https://github.com/twentyhq/twenty/pull/3629
* Fix missing package in twenty-emails by @martmull in https://github.com/twentyhq/twenty/pull/3631
* Updating the readme cover & title by @Bonapara in https://github.com/twentyhq/twenty/pull/3632
* Catch graphql errors by @bosiraphael in https://github.com/twentyhq/twenty/pull/3634
* Remove error when new_psw==old_psw by @martmull in https://github.com/twentyhq/twenty/pull/3637
* fix email thread message by @bosiraphael in https://github.com/twentyhq/twenty/pull/3636
* fix-threads-pagination by @bosiraphael in https://github.com/twentyhq/twenty/pull/3639
* Remap items in board by @charlesBochet in https://github.com/twentyhq/twenty/pull/3643
* [Messaging] Fix gmail connected account creation redirect url by @Weiko in https://github.com/twentyhq/twenty/pull/3653
* Display RecordBoardCards on new board by @charlesBochet in https://github.com/twentyhq/twenty/pull/3657
* Refactor Field Inputs by @charlesBochet in https://github.com/twentyhq/twenty/pull/3658
* Improve RecordTableCellperformances by @charlesBochet in https://github.com/twentyhq/twenty/pull/3659
* Fix Opportunities page by @charlesBochet in https://github.com/twentyhq/twenty/pull/3660
* Allow Card field update and card drag on new record board by @charlesBochet in https://github.com/twentyhq/twenty/pull/3661
* chore: set up twenty-emails config so build isn't needed in development by @thaisguigon in https://github.com/twentyhq/twenty/pull/3619
* [Messaging] Gmail Full sync pagination by @Weiko in https://github.com/twentyhq/twenty/pull/3664
* refactor: apply relation optimistic effects on record update by @thaisguigon in https://github.com/twentyhq/twenty/pull/3556
* Build infinite scroll for email threads by @thomtrp in https://github.com/twentyhq/twenty/pull/3666
* Put back timeline thread page size const by @thomtrp in https://github.com/twentyhq/twenty/pull/3676
* Activity injection into Apollo cache by @lucasbordeau in https://github.com/twentyhq/twenty/pull/3665
* 3669 disable radio buttons in settingsaccountsinboxsettingsvisibilitysection by @bosiraphael in https://github.com/twentyhq/twenty/pull/3678
* 3675 inbox count is wrong in emailthreads by @bosiraphael in https://github.com/twentyhq/twenty/pull/3677
* Add board Action bar and context menu by @charlesBochet in https://github.com/twentyhq/twenty/pull/3680
* fix: fix record deletion optimistic effect by @thaisguigon in https://github.com/twentyhq/twenty/pull/3683
* Add deleteOneObject mutation by @Weiko in https://github.com/twentyhq/twenty/pull/3682
* Add tests for `modules/object-record/record-table/record-table-cell/hooks` by @gitstart-app in https://github.com/twentyhq/twenty/pull/3685
* Document feature flags by @brendanlaschke in https://github.com/twentyhq/twenty/pull/3655
* fix: rating type issues by @magrinj in https://github.com/twentyhq/twenty/pull/3638
* Removed border bottom on task list by @jeet1desai in https://github.com/twentyhq/twenty/pull/3641
* Add participant avatars + remove tbody from fetchMore loader by @thomtrp in https://github.com/twentyhq/twenty/pull/3679
* New Empty States by @Kanav-Arora in https://github.com/twentyhq/twenty/pull/3465
* Fix right drawer first bounce by @bosiraphael in https://github.com/twentyhq/twenty/pull/3689
* Fix message opening by @bosiraphael in https://github.com/twentyhq/twenty/pull/3687
* fix: fix delete records optimistic effect not re-rendering queries af… by @thaisguigon in https://github.com/twentyhq/twenty/pull/3690
* fix-right-drawer-bounces-when-opening-a-different-thread by @bosiraphael in https://github.com/twentyhq/twenty/pull/3691
* feat: workspace sync by @magrinj in https://github.com/twentyhq/twenty/pull/3505
* Split back fetch more loader for record table and emails by @thomtrp in https://github.com/twentyhq/twenty/pull/3693
* Fix count avatar color + align thread preview items by @thomtrp in https://github.com/twentyhq/twenty/pull/3695
* Board improvements by @charlesBochet in https://github.com/twentyhq/twenty/pull/3694
* Fix empty state flashing on SettingsAccountsEmailsSyncSection by @bosiraphael in https://github.com/twentyhq/twenty/pull/3698
* Use scoped recoil state for email thread page by @thomtrp in https://github.com/twentyhq/twenty/pull/3699
* 3681 avatars are not appearing in the messages and people name should be bold by @bosiraphael in https://github.com/twentyhq/twenty/pull/3692
* Delete message when no more association by @Weiko in https://github.com/twentyhq/twenty/pull/3701
* Refactor board and table options by @charlesBochet in https://github.com/twentyhq/twenty/pull/3700
* [messaging] fix message-channel-message-association field name as dependencies by @Weiko in https://github.com/twentyhq/twenty/pull/3712
* chore: create security.txt by @daallgeier in https://github.com/twentyhq/twenty/pull/3684
* Avoid fetching more emails when first query loading by @thomtrp in https://github.com/twentyhq/twenty/pull/3709
* fix: detach relation records in cache on record deletion by @thaisguigon in https://github.com/twentyhq/twenty/pull/3707
* Board compact view and Company Picker for opportunity special case by @charlesBochet in https://github.com/twentyhq/twenty/pull/3713
* Resolved dropdown style issue by @jeet1desai in https://github.com/twentyhq/twenty/pull/3620
* fix: columns overlapping with checkbox column when horizantally scrolling by @anoopw3bdev in https://github.com/twentyhq/twenty/pull/3705
* Added empty card for show relations by @jeet1desai in https://github.com/twentyhq/twenty/pull/3612
* Minor fixes empty state by @lucasbordeau in https://github.com/twentyhq/twenty/pull/3703
* 3696 add emails tab empty state on shows by @bosiraphael in https://github.com/twentyhq/twenty/pull/3702
* Fixed storybook tests by @lucasbordeau in https://github.com/twentyhq/twenty/pull/3719
* Fix workspace-sync when alter with relation by @Weiko in https://github.com/twentyhq/twenty/pull/3721
* Design fixes + hide email tab if not a company or a person by @thomtrp in https://github.com/twentyhq/twenty/pull/3720
* [messaging] add more logs to gmail full-sync by @Weiko in https://github.com/twentyhq/twenty/pull/3728
* Fix new board bugs by @charlesBochet in https://github.com/twentyhq/twenty/pull/3730
* fix: grapQL errors are not detailed enough by @magrinj in https://github.com/twentyhq/twenty/pull/3622
* 3706 add email loader by @bosiraphael in https://github.com/twentyhq/twenty/pull/3731
* fix: sync metadata shouldn't remove non custom fields by @magrinj in https://github.com/twentyhq/twenty/pull/3750
* Fix zapier by @martmull in https://github.com/twentyhq/twenty/pull/3688
* [messaging] reorder messages desc to asc by @Weiko in https://github.com/twentyhq/twenty/pull/3755
* feat: delete favorite in cache on related record deletion by @thaisguigon in https://github.com/twentyhq/twenty/pull/3751
* feat: add user to sentry by @magrinj in https://github.com/twentyhq/twenty/pull/3467
* feat: add dry-run option to sync-metadata command by @magrinj in https://github.com/twentyhq/twenty/pull/3758
* fix: logs folder doesn't exist by @magrinj in https://github.com/twentyhq/twenty/pull/3759
* Create record position field by @thomtrp in https://github.com/twentyhq/twenty/pull/3739
* Changed upload button border to medium by @jeet1desai in https://github.com/twentyhq/twenty/pull/3744
* Place cursor at end when entering cell by @jeet1desai in https://github.com/twentyhq/twenty/pull/3743
* Fix storybook tests on Field Preview (Settings) by @charlesBochet in https://github.com/twentyhq/twenty/pull/3761
* fix: exception handler by @magrinj in https://github.com/twentyhq/twenty/pull/3768
* feat: execute pending migrations command by @magrinj in https://github.com/twentyhq/twenty/pull/3767
* GH-3734 Display password reset in auth modal for signed in user as well by @i-am-chitti in https://github.com/twentyhq/twenty/pull/3764
* Add animation during email message opening by @thomtrp in https://github.com/twentyhq/twenty/pull/3774
* Updating pull request prioritization policy by @Bonapara in https://github.com/twentyhq/twenty/pull/3775
* Fetch viewable thread from apollo cache by @thomtrp in https://github.com/twentyhq/twenty/pull/3783
* [messaging] add fallback if lastHistoryId has been invalidated by @Weiko in https://github.com/twentyhq/twenty/pull/3782
* Update sandpack-react to latest version by @anoopw3bdev in https://github.com/twentyhq/twenty/pull/3770
* [Messaging] Delete empty threads after message deletion import by @Weiko in https://github.com/twentyhq/twenty/pull/3716
* Disabled debug hotkey scope by @lucasbordeau in https://github.com/twentyhq/twenty/pull/3762
* Enable Rating Field by @charlesBochet in https://github.com/twentyhq/twenty/pull/3792

## New Contributors
* @leojalfred made their first contribution in https://github.com/twentyhq/twenty/pull/3265
* @gitstart-app made their first contribution in https://github.com/twentyhq/twenty/pull/3528
* @SujithThirumalaisamy made their first contribution in https://github.com/twentyhq/twenty/pull/3544
* @jss475 made their first contribution in https://github.com/twentyhq/twenty/pull/3524
* @dev-kraken made their first contribution in https://github.com/twentyhq/twenty/pull/3558
* @serban-alexandru made their first contribution in https://github.com/twentyhq/twenty/pull/3599
* @daallgeier made their first contribution in https://github.com/twentyhq/twenty/pull/3684
* @anoopw3bdev made their first contribution in https://github.com/twentyhq/twenty/pull/3705

**Full Changelog**: https://github.com/twentyhq/twenty/compare/v0.2.3...v0.3.0