v0.10.0

twentyhq/twentyv0.10.0Apr 18, 2024by github-actions[bot]

AI Summary

This is a substantial v0.10.0 release of Twenty, a CRM platform built on Next.js. The release introduces new field types (JSON, DATE, DateTime, Multi-select), significant performance improvements (RecordTableCell 5x speedup), and enhanced calendar/messaging features including Google Calendar incremental sync and calendar settings. It also includes infrastructure improvements like SWC compilation and sourcemap generation.

Key Highlights

  • New field types: JSON, DATE, DateTime, and Multi-select for enhanced data modeling
  • Performance optimization: RecordTableCell component sped up by 5x with query field optimization
  • Google Calendar integration: Incremental sync, calendar settings dropdown, and improved auth handling
  • Infrastructure: SWC compilation for twenty-server, sourcemap generation, and release workflow automation
  • UI refinements: Date/datetime pickers, masked currency input, and component refactoring to twenty-ui package

New Features

  • New field type: JSON for storing JSON data
  • New field type: DATE for date values
  • New Datetime field picker with date selection UI
  • Multi-select field implementation for front-end
  • Google Calendar incremental sync
  • Calendar settings option in settings account dropdown
  • Remove menu option for database connections
  • Fetch database connection tables from Settings/Integrations
  • Sync table from frontend
  • Remote table entity implementation
  • Masked currency input component
  • Connection failed status indicator
  • Syncing status display (GH-4362)
  • Release workflow automation
  • Sourcemap generation for front-end
  • Sentry release tracking (SENTRY_RELEASE env)
  • Sync command with ability to rename standard objects
  • Job auto-removal in message queue
  • Block invite link when workspace subscription is inactive

Full Release Notes

## What's Changed
* refactor(chore):3896-replace-lodash-debounce-to-useDebounce by @voytovichdm in https://github.com/twentyhq/twenty/pull/4814
* Used query fields for record table and record board by @lucasbordeau in https://github.com/twentyhq/twenty/pull/4857
* Remove repetitive query of ClientConfig and CurrentWorkspace member by @charlesBochet in https://github.com/twentyhq/twenty/pull/4859
* Typo in docker compose up hint by @darekdesu in https://github.com/twentyhq/twenty/pull/4866
* #4852 - Remove margin left on Record Board (Kanban) by @karthikkashyap98 in https://github.com/twentyhq/twenty/pull/4862
* Fix get available tables by @thomtrp in https://github.com/twentyhq/twenty/pull/4873
* feat: add Remove menu option to Settings/Integrations/Database/Connec… by @thaisguigon in https://github.com/twentyhq/twenty/pull/4874
* Basic github ci workflow for twenty website by @anoopw3bdev in https://github.com/twentyhq/twenty/pull/4869
* [messaging]Add temporary capture to gmail refresh token exceptions by @Weiko in https://github.com/twentyhq/twenty/pull/4875
* 4743 use auth google apis callback url instead of messaging provider gmail callback url by @bosiraphael in https://github.com/twentyhq/twenty/pull/4838
* Implement context specific icon in breadcrumb navigation by @anoopw3bdev in https://github.com/twentyhq/twenty/pull/4839
* feat: drop target column map by @magrinj in https://github.com/twentyhq/twenty/pull/4670
* 4738 add listeners on person creation and workspacemember creation to update participants by @bosiraphael in https://github.com/twentyhq/twenty/pull/4854
* Fixed hotkey bug with Select component and added debug logs for hotkeys by @lucasbordeau in https://github.com/twentyhq/twenty/pull/4879
* Delete connection from frontend by @thomtrp in https://github.com/twentyhq/twenty/pull/4880
* Use migrations for remote tables by @thomtrp in https://github.com/twentyhq/twenty/pull/4877
* 4087 refactor object metadata item hooks and utils by @lucasbordeau in https://github.com/twentyhq/twenty/pull/4861
* feat: sync command missing ability to rename standard object by @magrinj in https://github.com/twentyhq/twenty/pull/4819
* [calendar] change api scope by @Weiko in https://github.com/twentyhq/twenty/pull/4888
* feat: fetch database connection tables in Settings/Integrations/Datab… by @thaisguigon in https://github.com/twentyhq/twenty/pull/4882
* Fix graphql API accepting malformed UUIDs by @charlesBochet in https://github.com/twentyhq/twenty/pull/4895
* Implemented dataloader for relation metadata by @lucasbordeau in https://github.com/twentyhq/twenty/pull/4891
* uuid codegen update by @Weiko in https://github.com/twentyhq/twenty/pull/4897
* Fix ID type being used in place of UUID in graphql and metadata queries by @charlesBochet in https://github.com/twentyhq/twenty/pull/4905
* 4710 implement google calendar incremental sync by @bosiraphael in https://github.com/twentyhq/twenty/pull/4822
* feat: add release workflow by @Freebios in https://github.com/twentyhq/twenty/pull/4904
* 4902 bug fix fix api filter for enum by @martmull in https://github.com/twentyhq/twenty/pull/4909
* [feat][FE] Stop persisting new empty records by @ijreilly in https://github.com/twentyhq/twenty/pull/4853
* Create new field type JSON by @gitstart-app in https://github.com/twentyhq/twenty/pull/4729
* Fix postgres 15 & 16 conflict by @omjeem in https://github.com/twentyhq/twenty/pull/4860
* Sync table from frontend by @thomtrp in https://github.com/twentyhq/twenty/pull/4894
* 4778 multi select field front implement multi select type by @martmull in https://github.com/twentyhq/twenty/pull/4887
* Fix phone cell display by @martmull in https://github.com/twentyhq/twenty/pull/4924
* chore: remove old deployments by @Freebios in https://github.com/twentyhq/twenty/pull/4922
* Use defaultValue in currency input by @lucasbordeau in https://github.com/twentyhq/twenty/pull/4911
* feat: add SENTRY_RELEASE env by @Freebios in https://github.com/twentyhq/twenty/pull/4912
* 4809 - disable double signup with mouse click / enter by @qnsi in https://github.com/twentyhq/twenty/pull/4878
* Storybook fix dark mode by @brendanlaschke in https://github.com/twentyhq/twenty/pull/4865
* New field type: DATE by @gitstart-app in https://github.com/twentyhq/twenty/pull/4876
* 4736 add listener on calendarchannel isautocontactcreationenabled by @bosiraphael in https://github.com/twentyhq/twenty/pull/4913
* [calendar/messaging] fix connected account auth failed should skip sync by @Weiko in https://github.com/twentyhq/twenty/pull/4920
* Fix remote object read-only + remove relations by @thomtrp in https://github.com/twentyhq/twenty/pull/4921
* Fix calendar preview avatar display by @bosiraphael in https://github.com/twentyhq/twenty/pull/4930
* Provide initialSnapshot to logout recoil state update snapshot by @martmull in https://github.com/twentyhq/twenty/pull/4929
* fix default value for message channel enums by @Weiko in https://github.com/twentyhq/twenty/pull/4934
* User-guide broken images fix by @Bonapara in https://github.com/twentyhq/twenty/pull/4932
* modified UI and activity log in website by @ady-beraud in https://github.com/twentyhq/twenty/pull/4935
* Make <Background /> component responsive  by @ady-beraud in https://github.com/twentyhq/twenty/pull/4767
* fixed react-error with mdx on mobile by @ady-beraud in https://github.com/twentyhq/twenty/pull/4919
* Added loader and counter animations by @ady-beraud in https://github.com/twentyhq/twenty/pull/4931
* 4810 display participants in the right drawer of the calendar event by @bosiraphael in https://github.com/twentyhq/twenty/pull/4896
* Fix last broken image in User-guide "Tips" by @Bonapara in https://github.com/twentyhq/twenty/pull/4941
* fix: sentry init is using the wrong environment by @Freebios in https://github.com/twentyhq/twenty/pull/4940
* Fix cron module structure by @Weiko in https://github.com/twentyhq/twenty/pull/4933
* Added isAuditLogged column to object-metadata-entity by @Jeetch8 in https://github.com/twentyhq/twenty/pull/4898
* refactor: move @/ui/display/icon to twenty-ui by @thaisguigon in https://github.com/twentyhq/twenty/pull/4820
* Fix Google Login Invitation link by @martmull in https://github.com/twentyhq/twenty/pull/4942
* add 0.10 Changelog Updates by @Bonapara in https://github.com/twentyhq/twenty/pull/4945
* New Datetime field picker by @gitstart-app in https://github.com/twentyhq/twenty/pull/4907
* Fix duplicate imports by VSCode by @FelixMalfait in https://github.com/twentyhq/twenty/pull/4959
* Compile with swc on twenty-server by @FelixMalfait in https://github.com/twentyhq/twenty/pull/4863
* Disable audit logs on WorkspaceMember by @FelixMalfait in https://github.com/twentyhq/twenty/pull/4960
* refactor: move Checkmark, Avatar, Chip and Tooltip to twenty-ui by @thaisguigon in https://github.com/twentyhq/twenty/pull/4946
* feat: add sourcemap generation for front by @Freebios in https://github.com/twentyhq/twenty/pull/4949
* chore: add incremental typecheck to twenty-ui by @thaisguigon in https://github.com/twentyhq/twenty/pull/4947
* bug: update revokedAt on PKCE flow by @AdityaPimpalkar in https://github.com/twentyhq/twenty/pull/4918
* Add connection failed status by @thomtrp in https://github.com/twentyhq/twenty/pull/4939
* feat: Improved Page and History names by @zvolcsey in https://github.com/twentyhq/twenty/pull/4908
* Improve phone input display by @FelixMalfait in https://github.com/twentyhq/twenty/pull/4968
* fix: record object chip background color when idle (not hovered) by @emadbaqeri in https://github.com/twentyhq/twenty/pull/4662
* 4501 improve filters for emails imports by @bosiraphael in https://github.com/twentyhq/twenty/pull/4966
* Seed calendar events by @bosiraphael in https://github.com/twentyhq/twenty/pull/4967
* [message-queue] Add job auto-removal by @Weiko in https://github.com/twentyhq/twenty/pull/4973
* Fix ParticipantChip and stories imports by @bosiraphael in https://github.com/twentyhq/twenty/pull/4974
* 4745 move common logic between messaging and calendar in packagestwenty serversrcmodulesconnected account by @bosiraphael in https://github.com/twentyhq/twenty/pull/4962
* Fix Never api key expiration dates by @martmull in https://github.com/twentyhq/twenty/pull/4965
* Fix google account login by @martmull in https://github.com/twentyhq/twenty/pull/4969
* feat(ci): add release drafter by @Freebios in https://github.com/twentyhq/twenty/pull/4970
* Removed Remote Objects from 0.10 changelog by @Bonapara in https://github.com/twentyhq/twenty/pull/4983
* [calendar] enabled calendar scope if feature flag enabled by @Weiko in https://github.com/twentyhq/twenty/pull/4984
* fix google oauth guard by @Weiko in https://github.com/twentyhq/twenty/pull/4987
* [calendar/messaging] fix google refresh token transaction by @Weiko in https://github.com/twentyhq/twenty/pull/4989
* 4988 dont import emails with ics attachments by @bosiraphael in https://github.com/twentyhq/twenty/pull/4990
* Date picker for Date and DateTime field input by @lucasbordeau in https://github.com/twentyhq/twenty/pull/4981
* [messaging] Add message deletion during partial sync by @Weiko in https://github.com/twentyhq/twenty/pull/4972
* Modify UI website and fix navbar issue on small devices by @ady-beraud in https://github.com/twentyhq/twenty/pull/4961
* fix: I should be able to use "enter" key to create profile by @ijreilly in https://github.com/twentyhq/twenty/pull/4978
* Introduce remote table entity by @thomtrp in https://github.com/twentyhq/twenty/pull/4994
* block invite link if workspace subscription is not active by @Weiko in https://github.com/twentyhq/twenty/pull/4991
* fix: Auto Reset Opportunity Creation Search Field by @agupta0001 in https://github.com/twentyhq/twenty/pull/4951
* Proposal Date picker overflow by @charlesBochet in https://github.com/twentyhq/twenty/pull/4996
* 4971 add issyncenabled toggle in messaging settings by @bosiraphael in https://github.com/twentyhq/twenty/pull/4995
* fix: Display hidden columns and separator conditionally by @zvolcsey in https://github.com/twentyhq/twenty/pull/4982
* Fix relation field type by @martmull in https://github.com/twentyhq/twenty/pull/4992
* Fix invite link sign-up with workspace without subcription and billing not enabled by @Weiko in https://github.com/twentyhq/twenty/pull/5006
* Increase storybook pages coverage by @charlesBochet in https://github.com/twentyhq/twenty/pull/4885
* [fix] Fix dark mode by @ijreilly in https://github.com/twentyhq/twenty/pull/5008
* Fix chromatic tests by @charlesBochet in https://github.com/twentyhq/twenty/pull/5012
* UpdateSubscriptionJob should not be enqueued if billing is not enabled by @Weiko in https://github.com/twentyhq/twenty/pull/5007
* Make id available in remote table output by @thomtrp in https://github.com/twentyhq/twenty/pull/5003
* Fix explicit boolean predicates rule not working with boolean constants by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/5009
* 4798-feat(front): Add calendar settings option in settings account dropdown by @Anchit1909 in https://github.com/twentyhq/twenty/pull/4997
* Disable audit log on system objects by @charlesBochet in https://github.com/twentyhq/twenty/pull/5018
* Update `twenty-front` commands by @pacyL2K19 in https://github.com/twentyhq/twenty/pull/4667
* Fix Storybook stories (Datamodel edition / preview / signOut) by @charlesBochet in https://github.com/twentyhq/twenty/pull/5019
* GH-4362 Add syncing status by @i-am-chitti in https://github.com/twentyhq/twenty/pull/4950
* Fix storybook tests 2 by @charlesBochet in https://github.com/twentyhq/twenty/pull/5026
* [fix] Fix white screen when error handled by AppErrorBoundary by @ijreilly in https://github.com/twentyhq/twenty/pull/5017
* Speed up RecordTableCell by 5x by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5023
* fix: attempt to fix Dockerfile front build by @thaisguigon in https://github.com/twentyhq/twenty/pull/5020
* Fixed default currency code in currency field by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5028
* Move id column check before foreign table creation by @thomtrp in https://github.com/twentyhq/twenty/pull/5029
* Implement a masked currency input by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/5010
* fix: Added isDisplayModeContentEmpty to the showEditButton's check by @zvolcsey in https://github.com/twentyhq/twenty/pull/5025
* 4746 create created listener on blocklist by @bosiraphael in https://github.com/twentyhq/twenty/pull/5031
* Fix component id to scope id by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5035
* Fixed position in query fields by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5036
* [messaging/calendar] fix missing authFailedAt reset once refreshToken is updated by @Weiko in https://github.com/twentyhq/twenty/pull/5037
* Fix Record Inline Cell position on Edit mode by @lucasbordeau in https://github.com/twentyhq/twenty/pull/5038
* Improve multi word filtering by @martmull in https://github.com/twentyhq/twenty/pull/5034
* Fix activity Target picker not being displayed by @charlesBochet in https://github.com/twentyhq/twenty/pull/5040
* Fixes #5024: Update local recoil state when workspace name changes by @palerdot in https://github.com/twentyhq/twenty/pull/5033
* Check password in signinup only when email/password signInUp by @martmull in https://github.com/twentyhq/twenty/pull/5042

## New Contributors
* @voytovichdm made their first contribution in https://github.com/twentyhq/twenty/pull/4814
* @karthikkashyap98 made their first contribution in https://github.com/twentyhq/twenty/pull/4862
* @omjeem made their first contribution in https://github.com/twentyhq/twenty/pull/4860
* @qnsi made their first contribution in https://github.com/twentyhq/twenty/pull/4878
* @Jeetch8 made their first contribution in https://github.com/twentyhq/twenty/pull/4898
* @emadbaqeri made their first contribution in https://github.com/twentyhq/twenty/pull/4662
* @agupta0001 made their first contribution in https://github.com/twentyhq/twenty/pull/4951
* @pacyL2K19 made their first contribution in https://github.com/twentyhq/twenty/pull/4667
* @palerdot made their first contribution in https://github.com/twentyhq/twenty/pull/5033

**Full Changelog**: https://github.com/twentyhq/twenty/compare/v0.4.0...v0.10.0