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