v1.0.0
twentyhq/twentyv1.0.0Jun 25, 2025by charlesBochet
AI Summary
This is the v1.0.0 release of Twenty - the first stable release of this CRM platform. It includes major improvements to the permissions system (V2), workflow enhancements with a new AI Agent workflow action node, infrastructure additions like OpenTelemetry and Grafana monitoring, and numerous bug fixes including GraphQL error handling improvements.
Key Highlights
- First stable v1.0.0 release of Twenty CRM platform
- Permissions V2 system fully released - feature flag removed with improved role management and object-level permissions
- New AI Agent workflow action node added for automation
- Added OpenTelemetry and Grafana for infrastructure monitoring
- Multiple bug fixes including GraphQL errors, calendar events, and record picker issues
Breaking Changes
- BREAKING CHANGE: Fix graphql errors - improves error handling but may change API response format
- Record filter `greaterThan` now behaves inclusively like `lowerThan` - behavior change for filters
- Remove ID field + fix relations + remove runs - schema change that may affect existing integrations
- Remove number from label identifier list - changes which fields can be used as identifiers
New Features
- Add AI Agent workflow action node for workflow automation
- Ability to switch currency format in settings
- Loading state added to save buttons in settings
- OpenTelemetry and Grafana added for infrastructure monitoring
- Improved captcha telemetry for error tracking
- Add object-level form to role creation for permissions management
- Add metrics to workflows for monitoring
- Import duplicate check feature added
Full Release Notes
## What's Changed * Remove workflow feature flag by @thomtrp in https://github.com/twentyhq/twenty/pull/12732 * Fixed record pickers create new by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12705 * fix(): add loader on signup by @AMoreaux in https://github.com/twentyhq/twenty/pull/12714 * 0.60.0 upgrade commands by @prastoin in https://github.com/twentyhq/twenty/pull/12735 * Transform record phone field metadata by @prastoin in https://github.com/twentyhq/twenty/pull/12706 * 12690-error-unknown-error-importing-calendar-events-reafcto-required by @guillim in https://github.com/twentyhq/twenty/pull/12711 * Protect serverless migration metadata operations interacting with metadata by @prastoin in https://github.com/twentyhq/twenty/pull/12739 * Prevent workflows to be opened in side panel by @thomtrp in https://github.com/twentyhq/twenty/pull/12738 * Remove url checking in workflow run by @martmull in https://github.com/twentyhq/twenty/pull/12743 * Revert "fix(signinup): several issues (#12698)" by @ijreilly in https://github.com/twentyhq/twenty/pull/12745 * Add icon select to manual trigger by @martmull in https://github.com/twentyhq/twenty/pull/12724 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12747 * Set viewport when nodes dimensions are ready by @Devessier in https://github.com/twentyhq/twenty/pull/12730 * Improve seeds 3 by @FelixMalfait in https://github.com/twentyhq/twenty/pull/12740 * OTLP Metrics - update to delta aggregation by @etiennejouan in https://github.com/twentyhq/twenty/pull/12752 * UpdateServerless migration fix 2 by @prastoin in https://github.com/twentyhq/twenty/pull/12755 * fix(auth): add captcha auto-refresh via ApolloLink by @AMoreaux in https://github.com/twentyhq/twenty/pull/12758 * fix(auth): handle availableWorkspacesCount correctly when listing wor… by @AMoreaux in https://github.com/twentyhq/twenty/pull/12746 * fix(auth): social login by @AMoreaux in https://github.com/twentyhq/twenty/pull/12759 * [permissions][FE] followup design fixes 4 by @Weiko in https://github.com/twentyhq/twenty/pull/12737 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12764 * Refactor sync metadata to handle index creation if already exists by @guillim in https://github.com/twentyhq/twenty/pull/12757 * Fix webhook size too big by @charlesBochet in https://github.com/twentyhq/twenty/pull/12749 * Upgrade guide cache flush for 0.55 user permissions not found by @prastoin in https://github.com/twentyhq/twenty/pull/12765 * fix confirm close dialog + add restart confirm dialog by @etiennejouan in https://github.com/twentyhq/twenty/pull/12761 * Fix flaky calendar test by @FelixMalfait in https://github.com/twentyhq/twenty/pull/12760 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12767 * Gap fixes on search record by @thomtrp in https://github.com/twentyhq/twenty/pull/12766 * Fix attachment body not being loaded by @charlesBochet in https://github.com/twentyhq/twenty/pull/12770 * `getLabelIdentifierFieldValue` should always return string by @prastoin in https://github.com/twentyhq/twenty/pull/12772 * Onboarding - delete PENDING_CREATION workspace if billing is deactivated by @etiennejouan in https://github.com/twentyhq/twenty/pull/12704 * Hide tab system for pending form nodes by @Devessier in https://github.com/twentyhq/twenty/pull/12769 * Allow json in workflow run's error field by @Devessier in https://github.com/twentyhq/twenty/pull/12762 * feat: Add AI Agent workflow action node by @abdulrahmancodes in https://github.com/twentyhq/twenty/pull/12650 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12777 * BREAKING CHANGE: Fix graphql errors by @charlesBochet in https://github.com/twentyhq/twenty/pull/12775 * add firstname and lastname on current user state and sync it while cr… by @ehconitin in https://github.com/twentyhq/twenty/pull/12781 * Fix e2e tests by @Devessier in https://github.com/twentyhq/twenty/pull/12783 * [permissions - seeds] Give tim@apple.dev restricted rights by @ijreilly in https://github.com/twentyhq/twenty/pull/12768 * Fix export to pdf by @FelixMalfait in https://github.com/twentyhq/twenty/pull/12782 * Fix rating field default value by @prastoin in https://github.com/twentyhq/twenty/pull/12792 * Import - fix import with multiple unique constraints by @etiennejouan in https://github.com/twentyhq/twenty/pull/12784 * Record filter `greaterThan` becomes inclusive as `lowerThan` by @prastoin in https://github.com/twentyhq/twenty/pull/12786 * [permissions V2] Remove feature flag by @ijreilly in https://github.com/twentyhq/twenty/pull/12790 * Fix styling inconsistency for FormSingleRecordFieldChip placeholder by @Devessier in https://github.com/twentyhq/twenty/pull/12795 * Remove ID field + fix relations + remove runs by @thomtrp in https://github.com/twentyhq/twenty/pull/12796 * 12660 bugapi create one person post api request example is returning 400 in playground by @martmull in https://github.com/twentyhq/twenty/pull/12787 * Generate id for standard multi select field options by @thomtrp in https://github.com/twentyhq/twenty/pull/12799 * [Messaging logs] Better logging AggregateError by @guillim in https://github.com/twentyhq/twenty/pull/12801 * Add position / positions to reserved keywords by @ijreilly in https://github.com/twentyhq/twenty/pull/12800 * Set error message not absolute by @thomtrp in https://github.com/twentyhq/twenty/pull/12802 * [Permissions][FE] Design followup 5 by @Weiko in https://github.com/twentyhq/twenty/pull/12793 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12804 * [permissions V2] Fix - filter objects to search by @ijreilly in https://github.com/twentyhq/twenty/pull/12803 * register all cron jobs in entrypoint by @ehconitin in https://github.com/twentyhq/twenty/pull/12791 * Improve performance on metadata computation by @charlesBochet in https://github.com/twentyhq/twenty/pull/12785 * Fix CombinedFindManyRecords with permissions by @Weiko in https://github.com/twentyhq/twenty/pull/12805 * feat(settings): add loading state to save buttons by @AMoreaux in https://github.com/twentyhq/twenty/pull/11639 * Add loader on workspace creation by @charlesBochet in https://github.com/twentyhq/twenty/pull/12806 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12807 * feat: ability to switch currency format by @MohitAgrawal16 in https://github.com/twentyhq/twenty/pull/12542 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12809 * Fixes date filter chip bugs by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12788 * feat(infra-dev): add opentelemetry and grafana by @AMoreaux in https://github.com/twentyhq/twenty/pull/12808 * Fixed record picker loading flickering by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12736 * in connected account, refresh-token can fail with network error by @guillim in https://github.com/twentyhq/twenty/pull/12815 * Fixed relative date filter initalization by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12811 * Fixed ACTOR advanced filter recent regressions by @lucasbordeau in https://github.com/twentyhq/twenty/pull/12813 * Query dynamic cache key computation by @charlesBochet in https://github.com/twentyhq/twenty/pull/12814 * [Permissions] Force open title input for role label when empty by @Weiko in https://github.com/twentyhq/twenty/pull/12710 * Revert "[Permissions] Force open title input for role label when empty" by @Weiko in https://github.com/twentyhq/twenty/pull/12817 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12818 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12820 * additionaldata-message-exception by @guillim in https://github.com/twentyhq/twenty/pull/12819 * Improve breaking change CI by @FelixMalfait in https://github.com/twentyhq/twenty/pull/12816 * Improve onboarding experience by @charlesBochet in https://github.com/twentyhq/twenty/pull/12824 * Fix phone deletion by @ijreilly in https://github.com/twentyhq/twenty/pull/12821 * Add object level form to role creation by @Weiko in https://github.com/twentyhq/twenty/pull/12826 * i18n - translations by @github-actions in https://github.com/twentyhq/twenty/pull/12828 * Use main dataSource to query CRON jobs by @martmull in https://github.com/twentyhq/twenty/pull/12830 * Add metrics to workflows by @thomtrp in https://github.com/twentyhq/twenty/pull/12829 * switch datasourcing by @guillim in https://github.com/twentyhq/twenty/pull/12825 * fix type by @etiennejouan in https://github.com/twentyhq/twenty/pull/12832 * Import - add duplicate check on import by @etiennejouan in https://github.com/twentyhq/twenty/pull/12810 * Add logging for recaptcha token by @charlesBochet in https://github.com/twentyhq/twenty/pull/12834 * Add graphql queries error codes metrics by @Weiko in https://github.com/twentyhq/twenty/pull/12833 * fix phones in prefill by @etiennejouan in https://github.com/twentyhq/twenty/pull/12838 * Fix bug on sso providers by @AMoreaux in https://github.com/twentyhq/twenty/pull/12841 * Use default color in Loader component for CSS variable by @Devessier in https://github.com/twentyhq/twenty/pull/12844 * Fix recordTableCells being displayed several time on record group tables by @charlesBochet in https://github.com/twentyhq/twenty/pull/12843 * fix confirmation modal on subdomain settings by @ehconitin in https://github.com/twentyhq/twenty/pull/12845 * Force readonly for deletedAt field by @Weiko in https://github.com/twentyhq/twenty/pull/12840 * feat(captcha): improve telemetry on captcha error by @AMoreaux in https://github.com/twentyhq/twenty/pull/12836 * Fix resolver-validation validation snake trap by @prastoin in https://github.com/twentyhq/twenty/pull/12850 * Remove number from label identifier list by @prastoin in https://github.com/twentyhq/twenty/pull/12831 * 1.0.0 commands by @prastoin in https://github.com/twentyhq/twenty/pull/12853 * check on label metadata by @guillim in https://github.com/twentyhq/twenty/pull/12852 * Prevent index updates during sync metadata by @charlesBochet in https://github.com/twentyhq/twenty/pull/12856 ## New Contributors * @MohitAgrawal16 made their first contribution in https://github.com/twentyhq/twenty/pull/12542 **Full Changelog**: https://github.com/twentyhq/twenty/compare/v0.60.0...v1.0.0