v0.3.1
twentyhq/twentyv0.3.1Feb 16, 2024by charlesBochet
AI Summary
Twenty v0.3.1 is a substantial release focused on improving email messaging integration (auto-creation of companies and contacts from emails, blocklist functionality), workspace health and data management, and UI/UX enhancements including dark mode empty states and skeleton loaders. The release also adds PostgreSQL/ORM support, rate limiting, and various infrastructure improvements.
Key Highlights
- Email messaging integration: Auto-creation of companies and contacts when importing emails, blocklist functionality, and message participant matching
- Workspace health improvements: Multiple fixes for health checks, sync metadata deletion support, and cleanup cronjobs
- UI/UX enhancements: Dark mode empty states, skeleton loaders on page load, and improved activity editor
- Infrastructure: Added rate limiting via Nest.js, proper ORM and PostgreSQL support, and custom swagger endpoint
- New features: Forgot password page, webhook creation/editing UI, and Chrome extension for data storage
Breaking Changes
- Renamed 'recordPosition' to 'position' in the API - may require updates for existing integrations
- Separated user creation from workspace creation - may affect existing onboarding workflows
New Features
- Auto-creation of companies and contacts when importing emails
- Blocklist data model with frontend integration
- Forgot password functionality on sign-in page
- Webhook creation and editing UI page
- Chrome extension for storing person/company data
- Dark mode version of empty states
- Skeleton loader on page load
- Activity cache injection for improved performance
- Rate limiting on server using Nest.js built-in capability
- Custom swagger endpoint for API documentation
- Command menu filtering by last name, email, and phone
- Opportunity stage now editable
- Display record identifier field as first column in table
- Board cards ordered by record position
Full Release Notes
## What's Changed * Release 0.3.0 by @charlesBochet in https://github.com/twentyhq/twenty/pull/3793 * Change calendar transparency by @bosiraphael in https://github.com/twentyhq/twenty/pull/3732 * Refactored dependencies from App component by @lucasbordeau in https://github.com/twentyhq/twenty/pull/3763 * GH 3365 Add contributors page on twenty-website by @i-am-chitti in https://github.com/twentyhq/twenty/pull/3745 * Added loader in sign-in-up button by @jeet1desai in https://github.com/twentyhq/twenty/pull/3801 * Improve Documentation by @FelixMalfait in https://github.com/twentyhq/twenty/pull/3795 * blocknote update 0.11.2 by @brendanlaschke in https://github.com/twentyhq/twenty/pull/3766 * Member card fix email display by @brendanlaschke in https://github.com/twentyhq/twenty/pull/3555 * Hide default selected icon from search by @jeet1desai in https://github.com/twentyhq/twenty/pull/3752 * Added placeholder in task list by @jeet1desai in https://github.com/twentyhq/twenty/pull/3785 * fix: options value can't contain special characters by @magrinj in https://github.com/twentyhq/twenty/pull/3738 * [messaging] add cronjob for workspaces messages partial sync by @Weiko in https://github.com/twentyhq/twenty/pull/3800 * Custom object import csv by @brendanlaschke in https://github.com/twentyhq/twenty/pull/3756 * Fix bug and remove useless stuff by @martmull in https://github.com/twentyhq/twenty/pull/3861 * Rename recordPosition into position by @thomtrp in https://github.com/twentyhq/twenty/pull/3864 * Added sanitize funtion to normalize the link input by @SujithThirumalaisamy in https://github.com/twentyhq/twenty/pull/3543 * feat: add deletion support on sync metadata command by @magrinj in https://github.com/twentyhq/twenty/pull/3826 * 3803 use email visibility to display only the shared information backend by @bosiraphael in https://github.com/twentyhq/twenty/pull/3871 * Add rate limiting in the server using built in Nest.js capability by @jss475 in https://github.com/twentyhq/twenty/pull/3566 * Feat/workspace health core fix by @magrinj in https://github.com/twentyhq/twenty/pull/3863 * 3491 launch cleaning cron by @martmull in https://github.com/twentyhq/twenty/pull/3872 * Added skeleton loader on page load by @jeet1desai in https://github.com/twentyhq/twenty/pull/3740 * 3272 add a page to create and edit webhook by @martmull in https://github.com/twentyhq/twenty/pull/3859 * Fixed drawer not closing on task creation on Show Page by @lucasbordeau in https://github.com/twentyhq/twenty/pull/3867 * Add defaultAvatarUrl to core user by @martmull in https://github.com/twentyhq/twenty/pull/3883 * Fix IconPicker broken storybook tests by @charlesBochet in https://github.com/twentyhq/twenty/pull/3884 * Add one to many relation between opportunity and attachment by @thomtrp in https://github.com/twentyhq/twenty/pull/3866 * Store compact view status by @thomtrp in https://github.com/twentyhq/twenty/pull/3850 * Custom swagger endpoint for docs by @brendanlaschke in https://github.com/twentyhq/twenty/pull/3869 * [messaging] Add messageParticipant matching once people emails are updated by @Weiko in https://github.com/twentyhq/twenty/pull/3887 * 3804 use email visibility to display only the shared information frontend by @bosiraphael in https://github.com/twentyhq/twenty/pull/3875 * feat: workspace:health nullable fix by @magrinj in https://github.com/twentyhq/twenty/pull/3882 * feat: change RecordShowPage Relation Card field display for TO_ONE_OB… by @thaisguigon in https://github.com/twentyhq/twenty/pull/3596 * feat: workspace health type fix by @magrinj in https://github.com/twentyhq/twenty/pull/3890 * 3628 timebox separate user creation from workspace creation by @martmull in https://github.com/twentyhq/twenty/pull/3737 * Fix delete incomplete workspaces by @martmull in https://github.com/twentyhq/twenty/pull/3893 * feat: display record identifier field as first column in table by @thaisguigon in https://github.com/twentyhq/twenty/pull/3788 * feat: workspace health default-value fix by @magrinj in https://github.com/twentyhq/twenty/pull/3894 * Fix logger behavior by @charlesBochet in https://github.com/twentyhq/twenty/pull/3897 * Set opportunity stage as editable by @thomtrp in https://github.com/twentyhq/twenty/pull/3838 * Activity cache injection by @lucasbordeau in https://github.com/twentyhq/twenty/pull/3791 * Update trouble shooting section by @brendanlaschke in https://github.com/twentyhq/twenty/pull/3868 * Press enter to add to blocklist by @bosiraphael in https://github.com/twentyhq/twenty/pull/3847 * 3808 auto creation of company when importing emails by @bosiraphael in https://github.com/twentyhq/twenty/pull/3881 * 3811 add accounts loader by @bosiraphael in https://github.com/twentyhq/twenty/pull/3829 * GH-3652 Add forgot password on sign-in page by @i-am-chitti in https://github.com/twentyhq/twenty/pull/3789 * Added create an activity from open activity by @jeet1desai in https://github.com/twentyhq/twenty/pull/3903 * feat: order board cards by record position by @thaisguigon in https://github.com/twentyhq/twenty/pull/3902 * Closes #2413 - Building a chrome extension for twenty to store person/company data into a workspace. by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/3430 * Fix bull-mq retry option and exceptions not being captured for jobs by @Weiko in https://github.com/twentyhq/twenty/pull/3905 * fix: workspace health by @magrinj in https://github.com/twentyhq/twenty/pull/3916 * feat: health check enum by @magrinj in https://github.com/twentyhq/twenty/pull/3913 * BUG FIX: Create workspace member if inviteHash exists by @martmull in https://github.com/twentyhq/twenty/pull/3917 * Added Single Command for Frontend + Backend by @Kanav-Arora in https://github.com/twentyhq/twenty/pull/3909 * Added the dark mode version of empty states by @jeet1desai in https://github.com/twentyhq/twenty/pull/3906 * 3807 auto creation of contact when importing emails by @bosiraphael in https://github.com/twentyhq/twenty/pull/3888 * 3921 delete messagethreads after deleting connectedaccount by @bosiraphael in https://github.com/twentyhq/twenty/pull/3925 * Disable buffered logs by @brody192 in https://github.com/twentyhq/twenty/pull/3892 * [messaging] Fix import message participant uppercase by @Weiko in https://github.com/twentyhq/twenty/pull/3934 * [messaging] Remove ids from enqueued jobs by @Weiko in https://github.com/twentyhq/twenty/pull/3936 * [messaging] Fix messaging import with no person skipped email by @Weiko in https://github.com/twentyhq/twenty/pull/3941 * Add workspacePreQueryHook module by @Weiko in https://github.com/twentyhq/twenty/pull/3879 * [messaging] Removing TO requirement for email import by @Weiko in https://github.com/twentyhq/twenty/pull/3949 * feat: sync metadata can alter and update a field by @magrinj in https://github.com/twentyhq/twenty/pull/3944 * Fix missing feature flag on messaging listeners by @Weiko in https://github.com/twentyhq/twenty/pull/3952 * Activity Editor hot key scope management by @Muralidhar22 in https://github.com/twentyhq/twenty/pull/3568 * POC: generate twenty-server package.json with Nx by @thaisguigon in https://github.com/twentyhq/twenty/pull/3654 * Zapier add description to labels by @martmull in https://github.com/twentyhq/twenty/pull/3787 * 3865-Add-Integrations by @Kanav-Arora in https://github.com/twentyhq/twenty/pull/3870 * Update loading image by @jeet1desai in https://github.com/twentyhq/twenty/pull/3929 * docs: add a section for troubleshooting the local setup by @AbuHafsa in https://github.com/twentyhq/twenty/pull/3948 * docs: change the slug for local setup link by @AbuHafsa in https://github.com/twentyhq/twenty/pull/3947 * Update custom object placeholder by @jeet1desai in https://github.com/twentyhq/twenty/pull/3876 * 3814 create blocklist data model by @bosiraphael in https://github.com/twentyhq/twenty/pull/3927 * add rimraf to server dependencies by @Weiko in https://github.com/twentyhq/twenty/pull/3977 * 3889 activate settingsaccountsemailsinboxsettings by @bosiraphael in https://github.com/twentyhq/twenty/pull/3962 * Add proper ORM and postgres support by @charlesBochet in https://github.com/twentyhq/twenty/pull/3978 * fix CreateCompaniesAndContactsAfterSyncJobData import by @Weiko in https://github.com/twentyhq/twenty/pull/3979 * [messaging] fix add messageParticipant not in a transaction by @Weiko in https://github.com/twentyhq/twenty/pull/3981 * [worker] add more logs to queue-worker by @Weiko in https://github.com/twentyhq/twenty/pull/3982 * Fix website build by @charlesBochet in https://github.com/twentyhq/twenty/pull/3983 * Fix website build by @charlesBochet in https://github.com/twentyhq/twenty/pull/3986 * 3129 show page relation field add delete menu item by @martmull in https://github.com/twentyhq/twenty/pull/3975 * [messaging] add defaultValue to isContactAutoCreationEnabled by @Weiko in https://github.com/twentyhq/twenty/pull/3992 * 3815 blocklist connect frontend by @bosiraphael in https://github.com/twentyhq/twenty/pull/3930 * feat: workspace health target column map fix by @magrinj in https://github.com/twentyhq/twenty/pull/3932 * 3970-label fix by @Kanav-Arora in https://github.com/twentyhq/twenty/pull/3974 * Fixed label transform issues by @swayamvasavada in https://github.com/twentyhq/twenty/pull/3985 * feat: filter people in CommandMenu via last name, email and phone by @rostaklein in https://github.com/twentyhq/twenty/pull/3997 * feat: add default value for some type of fields by @magrinj in https://github.com/twentyhq/twenty/pull/3991 * fix: invalidate cache when no record inside workspace cache version by @magrinj in https://github.com/twentyhq/twenty/pull/3994 * fix: workspace cache version by @magrinj in https://github.com/twentyhq/twenty/pull/3999 * fix: impact too many records by @magrinj in https://github.com/twentyhq/twenty/pull/3993 * Fix update on delete record by @Weiko in https://github.com/twentyhq/twenty/pull/3996 * Integrations: design fixes and remove feature flag by @charlesBochet in https://github.com/twentyhq/twenty/pull/4003 * 3757 update frontend to show correct view count by @martmull in https://github.com/twentyhq/twenty/pull/3967 * Uploading img assets in view of read-me visual update by @Bonapara in https://github.com/twentyhq/twenty/pull/4000 * Docs include field description by @brendanlaschke in https://github.com/twentyhq/twenty/pull/3973 * Webhook Docs by @brendanlaschke in https://github.com/twentyhq/twenty/pull/3966 * Resolve bugs tied to record creations on table by @charlesBochet in https://github.com/twentyhq/twenty/pull/4011 * Updated the docs typo by @ducksblock in https://github.com/twentyhq/twenty/pull/3987 * 3959 create a activationstatus in coreworkspace and use it in front to redirect properly by @martmull in https://github.com/twentyhq/twenty/pull/3989 * Fix onboarding status by @martmull in https://github.com/twentyhq/twenty/pull/4019 * Small fix website: contributors by @brendanlaschke in https://github.com/twentyhq/twenty/pull/4027 * Fix storybook by @martmull in https://github.com/twentyhq/twenty/pull/4028 ## New Contributors * @mabdullahabaid made their first contribution in https://github.com/twentyhq/twenty/pull/3430 * @brody192 made their first contribution in https://github.com/twentyhq/twenty/pull/3892 * @AbuHafsa made their first contribution in https://github.com/twentyhq/twenty/pull/3948 * @swayamvasavada made their first contribution in https://github.com/twentyhq/twenty/pull/3985 * @rostaklein made their first contribution in https://github.com/twentyhq/twenty/pull/3997 **Full Changelog**: https://github.com/twentyhq/twenty/compare/v0.3.0...v0.3.1