⚠️ Breaking changes
- [BREAKING-CHANGE] Centralize system
ViewviewFieldside effect (#23081) by @prastoin - [breaking-change] fix(server): return runAgent execution failures as result errors (#23390) by @abdulrahmancodes
✨ New features
- feat: Slack conversational assistant (#22984) by @abdulrahmancodes
- feat(workflow): read workflow version content from core in the engine, behind a flag (#23403) by @thomtrp
- feat(front): preview highlighted record in the search command bar (#23413) by @FelixMalfait
- feat(workflow): pin concrete model on AI agent node creation and exclude interactive tools from workflow runs (#23447) by @etiennejouan
- feat(ai-agent): lazy tool loading for the open-ended runAgent path (#23454) by @abdulrahmancodes
- feat(ai-tool): resolve and default icons in AI metadata tools (#23480) by @etiennejouan
- feat(workflow): make the flow atom authoritative for version content, read core behind a flag (#23499) by @thomtrp
- feat(server): attach app attributes to application rate-limited metric (#23500) by @prastoin
- feat(dashboard): extend number format option to bar, line and pie charts (#23505) by @ehconitin
- feat(apps): add enqueueJob to run a logic function on the workers (#23527) by @martmull
💅 Improvements & UX
- Mirror host element geometry into front component workers (#23264) by @bosiraphael
- Restore soft-deleted junction record when re-adding a junction relation (#23371) by @thomtrp
- Show call recorders as calendar event participants (#23380) by @martmull
- Include root cause errors in workspace migration runner exception message (#23416) by @prastoin
- Take openRecordIn from the view in scope instead of a global atom (#23422) by @FelixMalfait
- Make record chips open records natively on touch devices (#23424) by @FelixMalfait
- Docs update (#23429) by @BOHEUS
- Auto-start the workspace setup chat with a data model proposal (#23437) by @bosiraphael
- Keep email participant avatar colors consistent (#23444) by @Weiko
- Add calendar date field submenu with grouped field options (#23445) by @Weiko
- Hide the command menu button while the mobile side panel is open (#23471) by @FelixMalfait
- PDF upload fix (#23473) by @BOHEUS
- Open records on a full page instead of a side panel on mobile (#23474) by @FelixMalfait
- Dashboard doc fix (#23475) by @BOHEUS
- Disable double-tap zoom while keeping pinch zoom (#23476) by @FelixMalfait
[Upgrade]Stop command gracefully on SIGINT/SIGTERM (#23481) by @prastoin- Resolve route-trigger workspace from bearer token on bare hosts (#23490) by @ehconitin
- Stop building the Campaigns navigation menu item (#23493) by @FelixMalfait
- Restore the Figma halftone shapes and calm the welcome animation (#23495) by @bosiraphael
- Align campaign view column positions with the standard layout (#23496) by @FelixMalfait
[Upgrade]Add a detached-run wrapper for theupgradecommand (#23497) by @prastoin- System view tooling explicit params key naming (#23506) by @prastoin
- Fix clipped New chat button label in localized navigation drawer (#23511) by @thomtrp
- Make onboarding cards contrast with the page background (#23516) by @bosiraphael
- Install pre-installed apps in a dedicated job after the workspace upgrade cursor is written (#23517) by @martmull
- Move settings tabs below page headers (#23519) by @Bonapara
- Pin last-contact to twenty >=2.26.0 (#23520) by @prastoin
- Prevent overlapping workspace cleanup executions (#23522) by @Weiko
- Switch call recorder post-call transcription to Gladia with code switching (#23532) by @ehconitin
- Refresh billing state after ending trial period (#23534) by @FelixMalfait
- Keep fullWidth buttons at full width while loading (#23536) by @FelixMalfait
- Document current front component limitations (#23549) by @bosiraphael
- Let the instance upgrade version reach releases without instance commands (#23552) by @prastoin
- Add licensing section to legal FAQ (#23560) by @BOHEUS
- Hide app record-selection commands when all records are selected (#23561) by @bosiraphael
- Clarify application licensing and add trademark policy (#23564) by @FelixMalfait
- Revert the external link confirmation popup for front components (#23567) by @bosiraphael
- Compute last contact on relationship changes in last-contact app (#23569) by @martmull
- Add application job enqueue limits guard on all message queue drivers (#23570) by @martmull
- Display object, field and view links as chips in the AI chat (#23573) by @bosiraphael
- Optimize upgrade status gauges with count-only queries (#23574) by @Weiko
- Delete DESIGN.md (#23576) by @FelixMalfait
- Delete PRODUCT.md (#23577) by @FelixMalfait
- Throttle local cache expiration sweeps (#23579) by @Weiko
- Add connected account handle/provider index (#23580) by @Weiko
- Create INDEX view fields visible on field creation (#23585) by @prastoin
- Add Enterprise plan and competitor pricing comparison pages (#23588) by @FelixMalfait
- Maintain INDEX view system side effects on deactivated views (#23590) by @prastoin
- Cache metadata lookups during ORM result formatting (#23593) by @Weiko
🐛 Bug fixes
- fix(page-layout): render standalone rich text widget on record pages (#23435) by @thomtrp
- fix(workflow): rename the trigger step through the dedicated mutation (#23450) by @thomtrp
- fix: Decrypt encrypted front component variables (#23494) by @remihuigen
- fix(server): stop the global catch-all filter from shadowing typed GraphQL exception filters (#23508) by @thomtrp
- fix(workflow): use as draft with an existing draft and cross-object record page filters (#23524) by @thomtrp
🔧 Developer & API
- Use client SDK /s dispatch for call-recorder own-route posts (#23558) by @ehconitin
🏗️ Internal changes (3)
🎉 New contributors
- @remihuigen made their first contribution in #23494
Full changelog (93 PRs)
- feat: Slack conversational assistant (#22984) by @abdulrahmancodes
- [BREAKING-CHANGE] Centralize system
ViewviewFieldside effect (#23081) by @prastoin - Mirror host element geometry into front component workers (#23264) by @bosiraphael
- Restore soft-deleted junction record when re-adding a junction relation (#23371) by @thomtrp
- Show call recorders as calendar event participants (#23380) by @martmull
- [breaking-change] fix(server): return runAgent execution failures as result errors (#23390) by @abdulrahmancodes
- feat(workflow): read workflow version content from core in the engine, behind a flag (#23403) by @thomtrp
- feat(front): preview highlighted record in the search command bar (#23413) by @FelixMalfait
- Include root cause errors in workspace migration runner exception message (#23416) by @prastoin
- Take openRecordIn from the view in scope instead of a global atom (#23422) by @FelixMalfait
- Make record chips open records natively on touch devices (#23424) by @FelixMalfait
- Docs update (#23429) by @BOHEUS
- test(workflow): cover the workflow core mirror end to end (#23434) by @thomtrp
- fix(page-layout): render standalone rich text widget on record pages (#23435) by @thomtrp
- Auto-start the workspace setup chat with a data model proposal (#23437) by @bosiraphael
- Keep email participant avatar colors consistent (#23444) by @Weiko
- Add calendar date field submenu with grouped field options (#23445) by @Weiko
- feat(workflow): pin concrete model on AI agent node creation and exclude interactive tools from workflow runs (#23447) by @etiennejouan
- ci(pr-review): label-only manual trigger, thin dispatcher (#23449) by @charlesBochet
- fix(workflow): rename the trigger step through the dedicated mutation (#23450) by @thomtrp
- chore: bump version to 2.26.0 (#23451) by @twenty-pr
- i18n - docs translations (#23452) by @github-actions
- feat(ai-agent): lazy tool loading for the open-ended runAgent path (#23454) by @abdulrahmancodes
- i18n - docs translations (#23455) by @github-actions
- i18n - translations (#23459) by @github-actions
- i18n - docs translations (#23460) by @github-actions
- i18n - translations (#23463) by @github-actions
- i18n - docs translations (#23466) by @github-actions
- Hide the command menu button while the mobile side panel is open (#23471) by @FelixMalfait
- PDF upload fix (#23473) by @BOHEUS
- Open records on a full page instead of a side panel on mobile (#23474) by @FelixMalfait
- Dashboard doc fix (#23475) by @BOHEUS
- Disable double-tap zoom while keeping pinch zoom (#23476) by @FelixMalfait
- [BREAKING-CHANGE] Add NOT_RECORDED call recording status (#23478) by @ehconitin
- feat(ai-tool): resolve and default icons in AI metadata tools (#23480) by @etiennejouan
[Upgrade]Stop command gracefully on SIGINT/SIGTERM (#23481) by @prastoin- i18n - docs translations (#23483) by @github-actions
- Resolve route-trigger workspace from bearer token on bare hosts (#23490) by @ehconitin
- Stop building the Campaigns navigation menu item (#23493) by @FelixMalfait
- fix: Decrypt encrypted front component variables (#23494) by @remihuigen
- Restore the Figma halftone shapes and calm the welcome animation (#23495) by @bosiraphael
- Align campaign view column positions with the standard layout (#23496) by @FelixMalfait
[Upgrade]Add a detached-run wrapper for theupgradecommand (#23497) by @prastoin- feat(workflow): make the flow atom authoritative for version content, read core behind a flag (#23499) by @thomtrp
- feat(server): attach app attributes to application rate-limited metric (#23500) by @prastoin
- feat(dashboard): extend number format option to bar, line and pie charts (#23505) by @ehconitin
- System view tooling explicit params key naming (#23506) by @prastoin
- i18n - translations (#23507) by @github-actions
- fix(server): stop the global catch-all filter from shadowing typed GraphQL exception filters (#23508) by @thomtrp
- i18n - translations (#23509) by @github-actions
- Fix clipped New chat button label in localized navigation drawer (#23511) by @thomtrp
- i18n - translations (#23513) by @github-actions
- i18n - docs translations (#23515) by @github-actions
- Make onboarding cards contrast with the page background (#23516) by @bosiraphael
- Install pre-installed apps in a dedicated job after the workspace upgrade cursor is written (#23517) by @martmull
- Move settings tabs below page headers (#23519) by @Bonapara
- Pin last-contact to twenty >=2.26.0 (#23520) by @prastoin
- Prevent overlapping workspace cleanup executions (#23522) by @Weiko
- i18n - docs translations (#23523) by @github-actions
- fix(workflow): use as draft with an existing draft and cross-object record page filters (#23524) by @thomtrp
- i18n - translations (#23525) by @github-actions
- feat(apps): add enqueueJob to run a logic function on the workers (#23527) by @martmull
- Switch call recorder post-call transcription to Gladia with code switching (#23532) by @ehconitin
- Refresh billing state after ending trial period (#23534) by @FelixMalfait
- Keep fullWidth buttons at full width while loading (#23536) by @FelixMalfait
- i18n - translations (#23547) by @github-actions
- Document current front component limitations (#23549) by @bosiraphael
- Let the instance upgrade version reach releases without instance commands (#23552) by @prastoin
- i18n - docs translations (#23555) by @github-actions
- Use client SDK /s dispatch for call-recorder own-route posts (#23558) by @ehconitin
- i18n - docs translations (#23559) by @github-actions
- Add licensing section to legal FAQ (#23560) by @BOHEUS
- Hide app record-selection commands when all records are selected (#23561) by @bosiraphael
- i18n - translations (#23563) by @github-actions
- Clarify application licensing and add trademark policy (#23564) by @FelixMalfait
- Revert the external link confirmation popup for front components (#23567) by @bosiraphael
- Compute last contact on relationship changes in last-contact app (#23569) by @martmull
- Add application job enqueue limits guard on all message queue drivers (#23570) by @martmull
- i18n - translations (#23572) by @github-actions
- Display object, field and view links as chips in the AI chat (#23573) by @bosiraphael
- Optimize upgrade status gauges with count-only queries (#23574) by @Weiko
- docs: state v1.23 as prerequisite for cross-version upgrades (#23575) by @prastoin
- Delete DESIGN.md (#23576) by @FelixMalfait
- Delete PRODUCT.md (#23577) by @FelixMalfait
- Throttle local cache expiration sweeps (#23579) by @Weiko
- Add connected account handle/provider index (#23580) by @Weiko
- Create INDEX view fields visible on field creation (#23585) by @prastoin
- i18n - translations (#23587) by @github-actions
- Add Enterprise plan and competitor pricing comparison pages (#23588) by @FelixMalfait
- i18n - docs translations (#23589) by @github-actions
- Maintain INDEX view system side effects on deactivated views (#23590) by @prastoin
- Cache metadata lookups during ORM result formatting (#23593) by @Weiko
- i18n - translations (#23598) by @github-actions
Full Changelog: twenty/v2.25.0...twenty/v2.26.0