v0.24.0
twentyhq/twentyv0.24.0Aug 29, 2024by thomtrp
AI Summary
Twenty v0.24.0 is a major release featuring significant workflow capabilities (workflow entities, visualization, manual triggers), a complete messaging module refactoring to remove raw queries and move provider-specific code to drivers, and substantial performance improvements including 5x cache performance gains. The release also adds E2E testing with Playwright, soft delete functionality, and various UI enhancements like kanban column header buttons and object/field search.
Key Highlights
- Workflows: Added workflow run entity, visualization, manual trigger, and workflow status tracking
- Major messaging module refactoring - removed all raw queries and moved provider-specific code to drivers
- 5x cache performance improvements and overall frontend performance optimizations
- E2E testing framework implemented using Playwright
- Complete migration from AWS SDK v2 to v3
Breaking Changes
- Replaced entityId with recordId in the frontend (affects custom integrations)
- Removed fileService getFileStream fallback after migration completion
- Removed message thread ID from mcma structure
- Removed field direction from message (now in mcma)
- Made workspaceMemberId optional in JWT for non-ACTIVE workspaces
New Features
- Webhook support (WIP)
- Calendar 'created by email' feature
- Preselect field type when creating new fields
- Soft delete functionality
- Workflow run entity and visualization
- Manual workflow trigger capability
- Add record button in kanban view column headers
- Reply in Gmail button integration
- Search functionality for objects and fields
- Composite Emails field with creation restrictions
- GraphQL query runner (POC)
- Sync status indicator on frontend
- Serverless functions with deploy button and hotkey scopes
- Improved data importer with select matching enhancements
Full Release Notes
## What's Changed * Webhook wip by @charlesBochet in https://github.com/twentyhq/twenty/pull/6371 * Release 0.23 by @charlesBochet in https://github.com/twentyhq/twenty/pull/6547 * Update upgrade-guide.mdx by @FelixMalfait in https://github.com/twentyhq/twenty/pull/6549 * Animate the Sidebar Objects Tree view opening by @AliElamir in https://github.com/twentyhq/twenty/pull/6521 * Make bool fields editable again by @thomtrp in https://github.com/twentyhq/twenty/pull/6551 * Fix permissions for serverless functions by @FelixMalfait in https://github.com/twentyhq/twenty/pull/6555 * Remove fileService getFileStream fallback after completed migration by @Weiko in https://github.com/twentyhq/twenty/pull/6558 * Remove message thread id from mcma and update scripts by @bosiraphael in https://github.com/twentyhq/twenty/pull/6500 * Force order in navigation panel for notes and tasks by @thomtrp in https://github.com/twentyhq/twenty/pull/6557 * New sidemenu for notes editor by @ehconitin in https://github.com/twentyhq/twenty/pull/6527 * Replace entityId by recordId in the front end. by @ehconitin in https://github.com/twentyhq/twenty/pull/6355 * some ts-error-fixes by @ehconitin in https://github.com/twentyhq/twenty/pull/6563 * fix: vite to allow serve fonts from blocknote and any files from root of workspace by @Nabhag8848 in https://github.com/twentyhq/twenty/pull/6552 * Build exceptions and handler by @thomtrp in https://github.com/twentyhq/twenty/pull/6459 * 6382 create a command to add a uservar in the key value pair table for every account which needs to reconnect by @bosiraphael in https://github.com/twentyhq/twenty/pull/6553 * Fix images in note rich text by @Weiko in https://github.com/twentyhq/twenty/pull/6550 * feat: created by email calendar by @magrinj in https://github.com/twentyhq/twenty/pull/6536 * bump lock file by @Weiko in https://github.com/twentyhq/twenty/pull/6568 * Fixed SignInUp Modal misalignment for devices smaller than 400px width by @ehconitin in https://github.com/twentyhq/twenty/pull/6386 * Fix createdBy and activity tests by @thomtrp in https://github.com/twentyhq/twenty/pull/6569 * feat: Set preselect field type on new field of object page by @Us3r-gitHub in https://github.com/twentyhq/twenty/pull/6314 * Added Side Panel compact header by @ehconitin in https://github.com/twentyhq/twenty/pull/6560 * Fix onboarding status refacto by @martmull in https://github.com/twentyhq/twenty/pull/6533 * Bump version to 0.23.1 by @thomtrp in https://github.com/twentyhq/twenty/pull/6567 * fix(wip): tasks navigate to /objects/tasks with viewId by @Nabhag8848 in https://github.com/twentyhq/twenty/pull/6528 * fix attachment upload by @Weiko in https://github.com/twentyhq/twenty/pull/6574 * Fix broken tests batch 2 by @thomtrp in https://github.com/twentyhq/twenty/pull/6573 * Lumosviridi v20 kubernetes updates by @LumosViridi in https://github.com/twentyhq/twenty/pull/6356 * removed @blocknote/core from dependencies by @ehconitin in https://github.com/twentyhq/twenty/pull/6580 * Fix last batch of jest tests by @thomtrp in https://github.com/twentyhq/twenty/pull/6582 * Fix prettier by @Weiko in https://github.com/twentyhq/twenty/pull/6583 * [Fix] URL inputs to not submit numeric hostnames and url without domain by @Nabhag8848 in https://github.com/twentyhq/twenty/pull/6482 * Fixes Empty Label Identifer Preview in Settings/DataModel/Object/Edit by @Faisal-imtiyaz123 in https://github.com/twentyhq/twenty/pull/6370 * Fix perf tests storybook by @thomtrp in https://github.com/twentyhq/twenty/pull/6584 * Fix frontend tests by @FelixMalfait in https://github.com/twentyhq/twenty/pull/6585 * When exporting a kanban we should export the kanban's main field by @gitstart-app in https://github.com/twentyhq/twenty/pull/6444 * Remove dead code linked to quick actions by @FelixMalfait in https://github.com/twentyhq/twenty/pull/6587 * Fix auth exceptions by @Weiko in https://github.com/twentyhq/twenty/pull/6590 * Fix query runner exceptions not being handled properly by @Weiko in https://github.com/twentyhq/twenty/pull/6593 * Improve QueryFailedError message in sync-metadata by @Weiko in https://github.com/twentyhq/twenty/pull/6591 * Fixed restrictive URL sanity check #6570 by @AnanteshG in https://github.com/twentyhq/twenty/pull/6575 * Fix storybook tests by @thomtrp in https://github.com/twentyhq/twenty/pull/6594 * Remove some dead code by @FelixMalfait in https://github.com/twentyhq/twenty/pull/6611 * fix: column overlay issue in record table header cells by @Nabhag8848 in https://github.com/twentyhq/twenty/pull/6609 * Issue6335: RecordInlineCell tree refactor with RecordInlineCellContext by @hansol-y in https://github.com/twentyhq/twenty/pull/6537 * Fixed: Drag and Drop Causes Flashing and Disappearing Cards by @rksingh2001 in https://github.com/twentyhq/twenty/pull/6065 * Fix for #6597 Created by field can't have null value by @BOHEUS in https://github.com/twentyhq/twenty/pull/6614 * 5x Fix cache performance issues by @bosiraphael in https://github.com/twentyhq/twenty/pull/6616 * 6430 Part 1: remove all raw queries from the messaging and calendar modules by @bosiraphael in https://github.com/twentyhq/twenty/pull/6572 * Create default view for workflows + fix task and note targets by @thomtrp in https://github.com/twentyhq/twenty/pull/6620 * [Issue-5772] Add sort feature on settings tables by @Anand-Krishnan-M-J in https://github.com/twentyhq/twenty/pull/5787 * feat(e2e): twenty-e2e-testing with playwright by @Nabhag8848 in https://github.com/twentyhq/twenty/pull/6539 * Fixed modal clickoutside by @lucasbordeau in https://github.com/twentyhq/twenty/pull/6624 * Add workflow run entity by @thomtrp in https://github.com/twentyhq/twenty/pull/6622 * Fix duplicate activities by @lucasbordeau in https://github.com/twentyhq/twenty/pull/6627 * Migrate to workspace services by @thomtrp in https://github.com/twentyhq/twenty/pull/6628 * Use twentyORM in Timeline messaging by @bosiraphael in https://github.com/twentyhq/twenty/pull/6595 * fixes #6499 alignment issue on workspace switcher by @NitinPSingh in https://github.com/twentyhq/twenty/pull/6589 * fix: exclude tabler/icons-react from optimizeDeps to avoid crashing performance CI by @Nabhag8848 in https://github.com/twentyhq/twenty/pull/6621 * feat: soft delete by @magrinj in https://github.com/twentyhq/twenty/pull/6576 * Patch messaging import crons not running by @charlesBochet in https://github.com/twentyhq/twenty/pull/6688 * added typechecking for all ts files by @Mihan786Chistie in https://github.com/twentyhq/twenty/pull/6466 * Fix post merge by @lucasbordeau in https://github.com/twentyhq/twenty/pull/6699 * Improve performance twenty orm by @charlesBochet in https://github.com/twentyhq/twenty/pull/6691 * 6619 modify event emitter to emit an array of events by @bosiraphael in https://github.com/twentyhq/twenty/pull/6625 * If an object is disabled, then the relationships to that object should be disabled by @gitstart-app in https://github.com/twentyhq/twenty/pull/6690 * Add logging on currentWorkspaceMember query by @charlesBochet in https://github.com/twentyhq/twenty/pull/6706 * [Fix] field does not appear directly after creation by @ijreilly in https://github.com/twentyhq/twenty/pull/6708 * Remove performance logs by @charlesBochet in https://github.com/twentyhq/twenty/pull/6709 * Fix webhook issue by @charlesBochet in https://github.com/twentyhq/twenty/pull/6711 * corrected targetableobject being undefined when clicked on create task in command menu by @ehconitin in https://github.com/twentyhq/twenty/pull/6635 * Trigger workflow run manually by @thomtrp in https://github.com/twentyhq/twenty/pull/6696 * Check workflow version is valid before publishing by @thomtrp in https://github.com/twentyhq/twenty/pull/6702 * Make workspaceMemberId optional in JWT for workspaces that are not ACTIVE by @charlesBochet in https://github.com/twentyhq/twenty/pull/6714 * TWNTY-6135 - Improve Data Importer Select Matching by @gitstart-app in https://github.com/twentyhq/twenty/pull/6338 * 6687 change messaging import cron job to run every minute by @bosiraphael in https://github.com/twentyhq/twenty/pull/6704 * Update workflow version struct by @thomtrp in https://github.com/twentyhq/twenty/pull/6716 * Created a specific scroll wrapper context per scroll wrapper and made ScrollTop and ScrollLeft componentStates by @ehconitin in https://github.com/twentyhq/twenty/pull/6645 * 6686 Add try catch on every cron job, and send exception to exceptionHandler by @bosiraphael in https://github.com/twentyhq/twenty/pull/6705 * Add isInactive to FieldMetadata decorator by @gitstart-app in https://github.com/twentyhq/twenty/pull/6623 * 6654 serverless functions add a deploy button disable deploy when autosave by @martmull in https://github.com/twentyhq/twenty/pull/6715 * chore: upgrade aws-sdk v2 to v3 (#6643) by @naineel1209 in https://github.com/twentyhq/twenty/pull/6693 * Fix addition of new option in select field if there are no existing options by @ijreilly in https://github.com/twentyhq/twenty/pull/6718 * [Fix] Prevent fields name conflicts with composite subfields names by @ijreilly in https://github.com/twentyhq/twenty/pull/6713 * Fix sentry issue by @martmull in https://github.com/twentyhq/twenty/pull/6719 * Added hotkeyScopes to serverless functions in settings by @ehconitin in https://github.com/twentyhq/twenty/pull/6710 * Fix serverless save when name empty by @martmull in https://github.com/twentyhq/twenty/pull/6720 * Visualize Workflows by @Devessier in https://github.com/twentyhq/twenty/pull/6697 * Fix table re-renders on update field by @lucasbordeau in https://github.com/twentyhq/twenty/pull/6722 * Fix currency field edition form by @gitstart-app in https://github.com/twentyhq/twenty/pull/6723 * Fix twenty-front performances by @charlesBochet in https://github.com/twentyhq/twenty/pull/6744 * [Fix] Move save button to top on field edit by @ijreilly in https://github.com/twentyhq/twenty/pull/6739 * E2E tests by @BOHEUS in https://github.com/twentyhq/twenty/pull/6717 * View becomes blank after deleting select by @gitstart-app in https://github.com/twentyhq/twenty/pull/6703 * Added sync status on the FE by @ehconitin in https://github.com/twentyhq/twenty/pull/6730 * Fix Website build CD by @charlesBochet in https://github.com/twentyhq/twenty/pull/6751 * [POC] add graphql query runner by @Weiko in https://github.com/twentyhq/twenty/pull/6747 * Fix twenty-front build by @Weiko in https://github.com/twentyhq/twenty/pull/6752 * 6256 refactor messaging module to remove all provider specific code and put it inside the drivers folders by @bosiraphael in https://github.com/twentyhq/twenty/pull/6721 * Add function execution throttler by @thomtrp in https://github.com/twentyhq/twenty/pull/6742 * Improve record table scroll look by @charlesBochet in https://github.com/twentyhq/twenty/pull/6753 * 6655 remove field direction in message and add it in mcma by @bosiraphael in https://github.com/twentyhq/twenty/pull/6743 * 5617 Create CalendarOngoingStaleCron Job by @bosiraphael in https://github.com/twentyhq/twenty/pull/6748 * Fix message direction seeds by @bosiraphael in https://github.com/twentyhq/twenty/pull/6760 * Add workflow statuses by @thomtrp in https://github.com/twentyhq/twenty/pull/6765 * Added "Add record" button in kanban view column headers dropdown by @ehconitin in https://github.com/twentyhq/twenty/pull/6649 * Fix participant listeners by @bosiraphael in https://github.com/twentyhq/twenty/pull/6767 * added "reply in gmail" button by @ehconitin in https://github.com/twentyhq/twenty/pull/6754 * fix: defaultHomePagePath to be last visited page or alphatically first active object with the name by @Nabhag8848 in https://github.com/twentyhq/twenty/pull/6629 * Removed drag grip and accent is now tertiary in hidden fields by @ehconitin in https://github.com/twentyhq/twenty/pull/6650 * Improve Data Importer Select Matching - Post Merge Updates by @gitstart-app in https://github.com/twentyhq/twenty/pull/6750 * refactor graphql query runner connection mapper by @Weiko in https://github.com/twentyhq/twenty/pull/6771 * Add composite Emails field and forbid creation of Email field type by @gitstart-app in https://github.com/twentyhq/twenty/pull/6689 * fix: relation and record chip height by @Nabhag8848 in https://github.com/twentyhq/twenty/pull/6758 * fix/6759: reduce icon size in note grip menu to 16px and adjust conta… by @kant-github in https://github.com/twentyhq/twenty/pull/6780 * Added ability to search objects and fields by @ehconitin in https://github.com/twentyhq/twenty/pull/6775 * chore(*): remove unused code by @AMoreaux in https://github.com/twentyhq/twenty/pull/6781 * Fixed record table fetch more scroll bug by @lucasbordeau in https://github.com/twentyhq/twenty/pull/6790 * 0.24 changelog by @Bonapara in https://github.com/twentyhq/twenty/pull/6787 * Bump version to 0.24 by @thomtrp in https://github.com/twentyhq/twenty/pull/6789 ## New Contributors * @AliElamir made their first contribution in https://github.com/twentyhq/twenty/pull/6521 * @AnanteshG made their first contribution in https://github.com/twentyhq/twenty/pull/6575 * @hansol-y made their first contribution in https://github.com/twentyhq/twenty/pull/6537 * @Mihan786Chistie made their first contribution in https://github.com/twentyhq/twenty/pull/6466 * @naineel1209 made their first contribution in https://github.com/twentyhq/twenty/pull/6693 * @Devessier made their first contribution in https://github.com/twentyhq/twenty/pull/6697 * @kant-github made their first contribution in https://github.com/twentyhq/twenty/pull/6780 * @AMoreaux made their first contribution in https://github.com/twentyhq/twenty/pull/6781 **Full Changelog**: https://github.com/twentyhq/twenty/compare/v0.23.0...v0.24.0