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