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