v0.20.0

twentyhq/twentyv0.20.0Jun 13, 2024by ijreilly

AI Summary

This major release (v0.20.0) introduces significant new functionality including team member invitation, timeline activity features, and row reordering via drag-and-drop. The release also includes major Gmail sync improvements (v2, partial sync filters, throttle logic), performance optimizations using Linaria and context selectors, and various UI/UX enhancements across the application.

Key Highlights

  • Team member invitation feature with ability to accept invites even with inactive workspace
  • Gmail sync v2 with partial sync filters and throttle logic for message/calendar sync
  • Timeline activity POC and refactoring for tracking record changes
  • Performance optimizations including Linaria CSS-in-JS, context selectors, and FieldDisplay type refactoring
  • Right drawer UI for editing records and row reordering via drag-and-drop

Breaking Changes

  • Unicity constraint added between object nameSingular and namePlural - may require data migration for existing records

New Features

  • Team member invitation system with onboarding steps (email sync and invite team)
  • Gmail full sync v2 with partial sync filter support
  • Throttle logic for message and calendar sync with new fields (throttlePauseUntil, throttleFailureCount)
  • Timeline activity feature for tracking record changes
  • Row re-ordering via drag and drop in tables
  • Right drawer for editing records inline
  • Links field filtering support
  • Add endpoint to create postgres credentials
  • Search dialog fullscreen on mobile
  • Inverted button variants
  • CSV import UTF-8 emoji support
  • New onboarding steps for email sync and team invitations

Full Release Notes

## What's Changed
* Remove feature flag for Links field by @ijreilly in https://github.com/twentyhq/twenty/pull/5606
* Bump to version v0.12.1 by @ijreilly in https://github.com/twentyhq/twenty/pull/5608
* Fix search public api key by @FelixMalfait in https://github.com/twentyhq/twenty/pull/5609
* fix: Requests for new captcha token after a wrong password is entered. by @piyushyadav1617 in https://github.com/twentyhq/twenty/pull/5614
* Updated Past Events Font-Color to Primary for Visibility by @Shyesta in https://github.com/twentyhq/twenty/pull/5572
* Add missing stripe tables by @thomtrp in https://github.com/twentyhq/twenty/pull/5621
* Add label to remote server by @thomtrp in https://github.com/twentyhq/twenty/pull/5637
* Fix update remote field metadata by @ijreilly in https://github.com/twentyhq/twenty/pull/5638
* Improved hotkey scopes docs by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5647
* 4848 - Update Checkbox component by @R894 in https://github.com/twentyhq/twenty/pull/4883
* fix: twenty-chrome-extension:"graphql:generate" by @AdityaPimpalkar in https://github.com/twentyhq/twenty/pull/5649
* Fixed button icon bug by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5670
* 4699 update the onboarding app placeholder by @martmull in https://github.com/twentyhq/twenty/pull/5616
* Run queries within queryRunner transaction sequentially by @ijreilly in https://github.com/twentyhq/twenty/pull/5668
* fix: Poor contrast on SlashMenu by @its-id in https://github.com/twentyhq/twenty/pull/5342
* fix: user has to login every time chrome sidepanel is opened by @AdityaPimpalkar in https://github.com/twentyhq/twenty/pull/5544
* Fixed: In CSV import now users are able to come back to the previous step. by @shashankvish0010 in https://github.com/twentyhq/twenty/pull/5625
* After createOneDbConnection mutation, update cache manually instead of using refetchQuery by @ijreilly in https://github.com/twentyhq/twenty/pull/5684
* Catch query timeout exceptions by @thomtrp in https://github.com/twentyhq/twenty/pull/5680
* Build empty state for remote tables by @thomtrp in https://github.com/twentyhq/twenty/pull/5652
* 5531 update gmail full sync to v2 by @bosiraphael in https://github.com/twentyhq/twenty/pull/5674
* Make positions possibly negatives by @thomtrp in https://github.com/twentyhq/twenty/pull/5690
* Remove else if on position calculation by @thomtrp in https://github.com/twentyhq/twenty/pull/5691
* Add new enum options to messageChannel syncStatus by @charlesBochet in https://github.com/twentyhq/twenty/pull/5694
* updated user-guide images by @Bonapara in https://github.com/twentyhq/twenty/pull/5682
* Incorrect Icon Width on Menu Items #5678 by @Sudarsh1010 in https://github.com/twentyhq/twenty/pull/5688
* 5015 make gmail filters work for partial sync by @bosiraphael in https://github.com/twentyhq/twenty/pull/5695
* Rework messaging modules by @charlesBochet in https://github.com/twentyhq/twenty/pull/5710
* Updated Snackbar as shown in Figma Fixes #5666 by @sagarhedaoo in https://github.com/twentyhq/twenty/pull/5700
* feat (improvement): update the createOneObjectMetaItem by @pacyL2K19 in https://github.com/twentyhq/twenty/pull/5673
* 5613 add throttlepauseuntil and throttlefailurecount fields to messagechannel and calendarchannel by @bosiraphael in https://github.com/twentyhq/twenty/pull/5713
* Fix exception handler capturing graphql errors by @Weiko in https://github.com/twentyhq/twenty/pull/5714
* [Improvement] LeftPanel skeleton loader by @spiderman3000 in https://github.com/twentyhq/twenty/pull/5705
* accounts page loader as skeleton by @rostaklein in https://github.com/twentyhq/twenty/pull/5702
* Fixed: Fields Disappear on Drag and Drop by @shashankvish0010 in https://github.com/twentyhq/twenty/pull/5703
* Backfill position when not input by @thomtrp in https://github.com/twentyhq/twenty/pull/5696
* Fixed: Inconsistent Field Label Display on Task Side Panel by @shashankvish0010 in https://github.com/twentyhq/twenty/pull/5687
* fix remove favorite on opportunity delete by @JustGJ in https://github.com/twentyhq/twenty/pull/5686
* Right drawer to edit records by @FelixMalfait in https://github.com/twentyhq/twenty/pull/5551
* Use same overlay background for field inputs by @ijreilly in https://github.com/twentyhq/twenty/pull/5719
* Migrated Developer Docs by @ady-beraud in https://github.com/twentyhq/twenty/pull/5683
* spreadsheet import utf8 emoji support by @rostaklein in https://github.com/twentyhq/twenty/pull/5720
* Fix 4363 modify kanban menu by @kiridarivaki in https://github.com/twentyhq/twenty/pull/5337
* Change Navigation Font Weight by @its-id in https://github.com/twentyhq/twenty/pull/5704
* 5620 implement throttle logic for message and calendar sync by @bosiraphael in https://github.com/twentyhq/twenty/pull/5718
* Add storybook tests for User & Metadata loading by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/5650
* Fix field input offset by @FelixMalfait in https://github.com/twentyhq/twenty/pull/5726
* Improve design of fields menu by @FelixMalfait in https://github.com/twentyhq/twenty/pull/5729
* Fix boolean field in table view by @ijreilly in https://github.com/twentyhq/twenty/pull/5728
* Fix input position backfill by @thomtrp in https://github.com/twentyhq/twenty/pull/5731
* Add backfill position job by workspace by @thomtrp in https://github.com/twentyhq/twenty/pull/5725
* Remove checkbox padding by @thomtrp in https://github.com/twentyhq/twenty/pull/5733
* Fix 5598 - View field creation by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5732
* Fix: Reduce spacing gap between Task title and subtitle by @jeet1desai in https://github.com/twentyhq/twenty/pull/5711
* [ Fix ] [ Issue - 5701 ] Mouse down and drag is selecting records, while file import modal is open by @Anand-Krishnan-M-J in https://github.com/twentyhq/twenty/pull/5716
* Refactor sync sub status and throttle by @bosiraphael in https://github.com/twentyhq/twenty/pull/5734
* Create ESLint rule to discourage usage of navigate() and prefer Link by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/5642
* Add unicity constraint between object nameSingular and namePlural by @ijreilly in https://github.com/twentyhq/twenty/pull/5737
* Fix select field options update by @ijreilly in https://github.com/twentyhq/twenty/pull/5736
* Update icon and fix relation creation by @FelixMalfait in https://github.com/twentyhq/twenty/pull/5742
* Bump versions to 0.12.2 by @Weiko in https://github.com/twentyhq/twenty/pull/5751
* fix:person head photo by @wcgzorro in https://github.com/twentyhq/twenty/pull/5749
* 5078 ability to invite team members by @martmull in https://github.com/twentyhq/twenty/pull/5750
* Improve csv import by @FelixMalfait in https://github.com/twentyhq/twenty/pull/5753
* Fix edit button missing in activity editor by @Weiko in https://github.com/twentyhq/twenty/pull/5757
* 5622 add a syncemail onboarding step by @martmull in https://github.com/twentyhq/twenty/pull/5689
* Remove check unique position by @thomtrp in https://github.com/twentyhq/twenty/pull/5760
* [4725] Inverted Variants of buttons by @flatypus in https://github.com/twentyhq/twenty/pull/5671
* Switched current Sort Button with same used for filters and options ones by @RobertoSimonini1 in https://github.com/twentyhq/twenty/pull/5764
* Add endpoint to create postgres credentials by @thomtrp in https://github.com/twentyhq/twenty/pull/5767
* Datamodel overview improvements by @brendanlaschke in https://github.com/twentyhq/twenty/pull/5771
* Search dialog fullscreen on mobile by @RobertoSimonini1 in https://github.com/twentyhq/twenty/pull/5765
* Fix the "Delete" action on the Kaban view by @pacyL2K19 in https://github.com/twentyhq/twenty/pull/5646
* Fix performance issue mail by @charlesBochet in https://github.com/twentyhq/twenty/pull/5780
* Throw exception when an unknown error is caught on messaging sync by @charlesBochet in https://github.com/twentyhq/twenty/pull/5782
* Disable prefetching on contributors page (website) by @FelixMalfait in https://github.com/twentyhq/twenty/pull/5783
* Fix unclosable cell by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5776
* Remove messageId defined assertion as it could not be in messaging sync by @charlesBochet in https://github.com/twentyhq/twenty/pull/5784
* Handle Network errors in messaging sync by @charlesBochet in https://github.com/twentyhq/twenty/pull/5795
* Docs modifications by @ady-beraud in https://github.com/twentyhq/twenty/pull/5804
* Temporary fix README by @FelixMalfait in https://github.com/twentyhq/twenty/pull/5814
* Add authentication optional api url parameter by @martmull in https://github.com/twentyhq/twenty/pull/5803
* Added one request per column on board. by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5819
* Fixed soft focus stuck by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5639
* Fixed: Select fields now selects on pressing the enter key by @shashankvish0010 in https://github.com/twentyhq/twenty/pull/5576
* Inline link chips cropped by @TheUnspokenFifth in https://github.com/twentyhq/twenty/pull/5810
* 5805 typing issue in rest api by @martmull in https://github.com/twentyhq/twenty/pull/5818
* fix: calendar tile fonts underlined by @siiddhantt in https://github.com/twentyhq/twenty/pull/5820
* Added support for Links filtering by @kiridarivaki in https://github.com/twentyhq/twenty/pull/5785
* Api docs remove Relations from Post & Patch by @brendanlaschke in https://github.com/twentyhq/twenty/pull/5817
* Display and update fields from fromManyObjects relations in Show card by @ijreilly in https://github.com/twentyhq/twenty/pull/5801
* made sidebar always visible on settings page by @RobertoSimonini1 in https://github.com/twentyhq/twenty/pull/5823
* Align field values with fixed width for field key.  by @marteenaf in https://github.com/twentyhq/twenty/pull/5821
* Increased inline relation field hover surface by @RobertoSimonini1 in https://github.com/twentyhq/twenty/pull/5809
* Fix access token refresh by @bosiraphael in https://github.com/twentyhq/twenty/pull/5825
* POC timeline activity by @Weiko in https://github.com/twentyhq/twenty/pull/5697
* Fix docs build in CI by @charlesBochet in https://github.com/twentyhq/twenty/pull/5826
* Fix of board request fix PR by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5829
* Fix bugs and telemetry by @FelixMalfait in https://github.com/twentyhq/twenty/pull/5832
* Add 8px margin to the left of the Tasks' tab list by @Juojo in https://github.com/twentyhq/twenty/pull/5833
* Push event for user signup by @FelixMalfait in https://github.com/twentyhq/twenty/pull/5837
* Activity timeline refactoring followup by @Weiko in https://github.com/twentyhq/twenty/pull/5835
* Fix missing cursor on rest api by @martmull in https://github.com/twentyhq/twenty/pull/5841
* Added Linaria for performance optimization by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5693
* Fix event value elipsis by @thomtrp in https://github.com/twentyhq/twenty/pull/5840
* Refactored all FieldDisplay types for performance optimization by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5768
* Fix/release workflow by @Freebios in https://github.com/twentyhq/twenty/pull/5802
* 5623 add an inviteteam onboarding step by @martmull in https://github.com/twentyhq/twenty/pull/5769
* feat: add resolve absolute path util by @magrinj in https://github.com/twentyhq/twenty/pull/5836
* Refacto rest api, fix graphl playground, improve analytics by @FelixMalfait in https://github.com/twentyhq/twenty/pull/5844
* 5629 update blocklist for messaging v2 by @bosiraphael in https://github.com/twentyhq/twenty/pull/5756
* Removed unnecessary on mouse enter for soft focus by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5850
* #5761 Add "No XXX found" title to filtered empty state by @jovanmedford in https://github.com/twentyhq/twenty/pull/5838
* 5663 i should be able to accept an invite even if i have an inactive workspace by @martmull in https://github.com/twentyhq/twenty/pull/5839
* Added RecordValue use-context-selector to settings field's logic by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5851
* Fixed new date time formatting util by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5852
* Fix timeline activity missing updated fields by @Weiko in https://github.com/twentyhq/twenty/pull/5854
* feat: implement row re-ordering via drag and drop (#4846) by @kikoleitao in https://github.com/twentyhq/twenty/pull/5580
* Remove timelineActivity featureFlag by @Weiko in https://github.com/twentyhq/twenty/pull/5856
* Bump to version 0.20.0 by @ijreilly in https://github.com/twentyhq/twenty/pull/5857
* Added a fallback default record chip generator by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5860

## New Contributors
* @piyushyadav1617 made their first contribution in https://github.com/twentyhq/twenty/pull/5614
* @Shyesta made their first contribution in https://github.com/twentyhq/twenty/pull/5572
* @R894 made their first contribution in https://github.com/twentyhq/twenty/pull/4883
* @Sudarsh1010 made their first contribution in https://github.com/twentyhq/twenty/pull/5688
* @sagarhedaoo made their first contribution in https://github.com/twentyhq/twenty/pull/5700
* @spiderman3000 made their first contribution in https://github.com/twentyhq/twenty/pull/5705
* @JustGJ made their first contribution in https://github.com/twentyhq/twenty/pull/5686
* @kiridarivaki made their first contribution in https://github.com/twentyhq/twenty/pull/5337
* @Anand-Krishnan-M-J made their first contribution in https://github.com/twentyhq/twenty/pull/5716
* @wcgzorro made their first contribution in https://github.com/twentyhq/twenty/pull/5749
* @TheUnspokenFifth made their first contribution in https://github.com/twentyhq/twenty/pull/5810
* @siiddhantt made their first contribution in https://github.com/twentyhq/twenty/pull/5820
* @marteenaf made their first contribution in https://github.com/twentyhq/twenty/pull/5821
* @Juojo made their first contribution in https://github.com/twentyhq/twenty/pull/5833
* @jovanmedford made their first contribution in https://github.com/twentyhq/twenty/pull/5838

**Full Changelog**: https://github.com/twentyhq/twenty/compare/v0.12.0...v0.20.0