Improvement2.40.0
n8n 2.40.0
This release includes numerous bug fixes and improvements across core workflow execution, AI agents, API key management, node compatibility, and the editor UI. Notable fixes address agent thinking blocks preservation, MCP toolkit execution on workers, execution timeout enforcement, and data integrity for credentials and encrypted keys.
2.40.0 (2026-09-15)
Bug Fixes
- AI Agent Node: Preserve Anthropic thinking blocks with empty text across tool calls (#38302) (7ac975c)
- ai-builder: Enhance guidance UX for agents with no sessions on builder session tab (#38243) (1ed3a24)
- ai-builder: Guard against 429 errors on channel integrations (#38106) (93ca2d1)
- ai-builder: Show reusable credentials in the Instance AI agent credential card (#38276) (999b541)
- Allow one icon file for the light and dark icon slots (#37711) (9095e9a)
- API: Let global members grant folder scopes to API keys (#37654) (aa91e71)
- API: Return null variable values as empty string & fix newly imported source control variable values (#38488) (b9a7f03)
- Azure OpenAI Chat Model Node: Resolve the proxy against the Azure endpoint so NO_PROXY applies (#38026) (7383fd7)
- Bump task-runner-launcher to 1.5.0 (#38309) (9135888)
- Center the registration badge in the Usage and Plan heading (#38275) (cf6cb77)
- Close the variable modal on a backdrop click (#38286) (45a7f74)
- Confluence Node: Match hyphenated and multi-word titles in the page picker search (#38175) (fdb31d2)
- Confluence Node: Return the page sub-tree in tree order and skip drafts (#38403) (b0f47eb)
- core: Accept null headers from mcp registry api (#38614) (02ee221)
- core: Accept numeric pagination tokens from resource locator list methods (#38147) (7ab1582)
- core: Add model boundaries to external tool results (#37316) (d328bbf)
- core: Allow a fallback model alongside the primary on AI nodes (#38007) (2550501)
- core: Apply the SSO expression mapping env var in the provisioning loader (#37170) (b4fee56)
- core: Ask which MCP connector to set up before the AI Assistant gives a URL (#37992) (899d52d)
- core: Batch LangSmith agent session exports (#38030) (79d936f)
- core: Bound the wait for the workflow publication lock (#38019) (5212777)
- core: Check Gateway credits eligibility against the correct sub-node (#38193) (9823c2e)
- core: Consolidate secret redaction in @n8n/utils and redact more credential shapes (#38054) (c5653f6)
- core: Correct the expression prefix warnings on fields that cannot hold an expression (#37791) (c7c179b)
- core: Count executions that crash recovery marks as crashed (#37733) (3521e54)
- core: Do not persist an execution when preExecute throws (#37701) (53ecf6b)
- core: Enforce execution timeout for stuck jobs in queue mode (#36258) (92f702d)
- core: Execute MCP toolkit members on workers (#38069) (c0f6471)
- core: Forward the receiver in the lazy-proxy set trap (#37321) (b3306b2)
- core: Ground provider OAuth scope guidance in n8n docs (#38066) (2afb5b6)
- core: Keep a resumed execution in the trace of the parked execution (#38033) (5414403)
- core: Keep node settings, positions and error routes through an assistant workflow edit (#38254) (c95756d)
- core: Keep nodes clear of the agent card in SDK-generated workflow layouts (#38093) (4b4d670)
- core: Memoize pairedItem ancestry traversal (#38085) (f3db19d)
- core: Merge system messages for strict providers (#37908) (19651de)
- core: Prefer native nodes over Code nodes in n8n Assistant workflow builds (#38598) (4e1fcf6)
- core: Preserve link URLs in inbound agent chat messages (#38294) (2beccad)
- core: Prevent false agent model stream stalls and show run errors in chat history (#37558) (26afe95)
- core: Re-register the n8n Trigger on every publish through the publication service (#38153) (cbda01a)
- core: Read the Instance AI folder-exploration flag as a variant, not a boolean (#38479) (4579e78)
- core: Recognize always-loaded tools in agent tool discovery (#38204) (4a6e625)
- core: Reconnect the Email Trigger (IMAP) on every publish through the publication service (#38190) (db60f99)
- core: Reconnect the Postgres Trigger on every publish through the publication service (#38211) (0c3c9d7)
- core: Redact execution data on partial private-credential runs (#38364) (840aef6)
- core: Redact opaque field values in confirmed secret containers (#38067) (3bd0e69)
- core: Register redaction context hook on all instance types (#37298) (56383fc)
- core: Repair legacy-format data-encryption keys during bootstrap (#38100) (4b36c51)
- core: Require verification coverage for every workflow trigger (#37961) (429116f)
- core: Retry Instance AI model turns when the provider stream closes without output (#38080) (b6b5ecd)
- core: Return Instance AI node output grouped per output branch (#38414) (e44fbd3)
- core: Return luxon values from expressions as instances (#38034) (0c6c9e3)
- core: Reuse an existing consent grant after the visitor authenticates mid-flow (#38084) (3b6faa2)
- core: Route "trigger my workflow" to the existing workflow, not the builder (#38073) (219402c)
- core: Run tool nodes of an AI Agent upstream of the destination node (#38348) (40b6d84)
- core: Scope data table Overview access by project role, not a global gate (#37676) (a47f19b)
- core: Scope end-user credential checks to reachable nodes (#36970) (37e50b5)
- core: Select sandbox npm install flags by provider (#38358) (ab101d5)
- core: Send a JSON Accept header in the Brave Search credential test (#38594) (2f55165)
- core: Settle answered confirmation cards in the AI Assistant run-sync frame (#38328) (4890d04)
- core: Stop MCP workflow updates from dropping unknown operation fields (#38148) (a1f8405)
- core: Stop the workflow SDK collapsing inline branch chains to their branching node (#37717) (37efe11)
- core: Treat empty strings as empty in Data Table filters (#32887) (0c82743)
- core: Treat Instance AI model stream stalls as dropped provider connections (#38079) (b7a58c2)
- core: Trust the CA from GIT_SSL_CAINFO for source control HTTPS remotes (#38258) (e803d4b)
- core: Unpublish workflows before a source control pull deletes them (#37967) (ecc4ba3)
- editor: Align Instance AI input controls (#37162) (a234034)
- editor: Allow creating web search credentials from the agent builder settings (#38574) (5213246)
- editor: Allow switching a toggle parameter from expression to fixed (#32762) (a053578)
- editor: Center modal dialogs vertically in the viewport (#38081) (f3196f1)
- editor: Clear tag loading state after failed requests (#37901) (b4fbcc5)
- editor: Fixes issue that prevented some users from revoking their end-user credentials (#38311) (fc8a021)
- editor: Hide Custom API Call option in node tool configuration (#38365) (79f0e04)
- editor: Hide the AI Assistant settings page when it has nothing to show (#38063) (4f05c24)
- editor: Keep CSV imports tied to the selected file (#37906) (6a1ad26)
- editor: Keep header permissions after template insert (#38387) (d2af313)
- editor: Keep the artifact tab the user picks during an AI Assistant run (#38178) (80da0c8)
- editor: Keep the typed AI Assistant prompt when no project is selected (#37813) (b835bef)
- editor: Match workflow save and publish keyboard shortcuts in agent builder (#38572) (1175b1c)
- editor: Merge native agent tools into n8n nodes (#38057) (8ace538)
- editor: Open AIA built agent previews in the chat panel and remove fullscreen mode (#37994) (4d5d611)
- editor: Prevent group frames from overlapping during auto-layout (#37509) (d1e6d6f)
- editor: Prevent stale agent autosaves (#38087) (e6dea03)
- editor: Read the MCP nudge flag as a multivariate experiment (#38586) (36f82a3)
- editor: Refresh evaluations side panel when a run finishes (#38075) (852c765)
- editor: Remove legacy AI Workflow Builder references from AI usage settings (#38056) (229405b)
- editor: Rename the first agent builder tab to Build (#38184) (06fc433)
- editor: Reserve space for list and table scrollbars (#38603) (f81cbcd)
- editor: Restore legacy sticky note markdown spacing (#38333) (064e909)
- editor: Restore tag text hidden by zero line-height (#38107) (7e152a4)
- editor: Show friendly labels for the activity and conversation-history tools in the n8n Assistant chat (#38447) (fe5de38)
- editor: Show loading skeletons in the AI Assistant artifacts sidebar (#38180) (b3e1b7f)
- editor: Show renamed credentials in the AI Assistant setup picker (#38295) (39dfe59)
- editor: Stop rendering task and sub-agent labels with no text (#38059) (8cb5159)
- editor: Stop the Publish modal from hanging after a workflow is published (#38151) (d0f94da)
- editor: Strip Evaluation Trigger metadata fields from test case inputs (#37572) (c410581)
- editor: Truncate long AIA context chips (#37878) (af2bd80)
- editor: Use the push scope for the source control owner filter (#38682) (8671d83)
- Email Trigger (IMAP) Node: Restore the connection after the server drops it (#36801) (1776a51)
- Enforce protected instance execution restrictions (#37947) (793136b)
- Guard the getWebhookInfo response shape (#38680) (d057d86)
- Guardrails Node: Align threshold hint with behavior (#29018) (0396ef8)
- Hide the deprecated node and show a deprecation notice (#38571) (c220447)
- Hint the Microsoft OAuth2 scope format and link the Service Principal credential docs (#38451) (404ab49)
- Keep GitHub Actions expressions intact in scaffolded workflow files (#37973) (8c8bd23)
- Microsoft Excel Node: Accept personal OneDrive workbook IDs in the By ID field (#38471) (d04d3a4)
- Microsoft Excel Node: Show only workbook files in the Workbook picker (#38244) (763e0cf)
- Microsoft Outlook Trigger Node: Fetch the latest message when executing manually (#34486) (ef16421)
- Microsoft SharePoint Node: Keep the resource dropdowns working when the API omits a label (#38411) (d6fe24d)
- Postgres Node: Stop reporting parameter-loading errors to Sentry (#28865) (663bb3e)
- Refresh the Confluence/Jira OAuth2 token automatically when it has expired (#37776) (3d293b5)
- Resolve node source path before the translation lookup (#38281) (092e53b)
- Scope deployment key lookups by type (#38410) (11cc120)
- Scope workflow sharing candidates to personal projects (#38222) (dcb1d17)
- Serve binary data stored in the temp execution dir (#38270) (7bac547)
- Show credentials shared with all users and projects in the (#38287) (30d44a5)
- Show custom role scope tooltips next to the hovered scope (#38284) (78ea57d)
- Stop requiring Organization.Read.All for the Microsoft Entra Service Principal credential test (#38568) (59715e8)
Features
- Add Microsoft Dataverse core node (#34286) (da910f5)
- AI Agent Node: Add option to force a tool call on the first iteration (#38342) (bea96e5)
- ai-builder: Add ability to duplicate agents (#38214) (8800c77)
- ai-builder: Better validation errors tooltips for agent preview and publish (#38246) (eb4eeba)
- ai-builder: Wrap vecto store settings in advanced section (#38437) (5c42568)
- API: Add billable to Insights table (#36856) (cb12be7)
- API: Let @Body require a body independently of DTO field optionality (#38237) (cbfc257)
- Azure Storage Node: Add Azure cloud selection and custom endpoints to the Shared Key credential (#38181) (59c7d15)
- Confluence Node: Unhide the node and enable AI tool usage (#38416) (6424ca6)
- core: Add a v3 migration report rule for preExecute execution creation (#38681) (89fe108)
- core: Add agent-directed episodic memory capture (#38134) (5de6a40)
- core: Add ai_preference table for AI preferences (#38131) (cf8df4f)
- core: Add log streaming events for instance reports (#38442) (3fc7803)
- core: Add observability for the decryption path (#38236) (82229f3)
- core: Add promotion schema entities and DTOs (#37939) (e77b7bb)
- core: Add selective promote for Git-based promotions (#38105) (7ec481c)
- core: Add structured output parser validator to workflow SDK (#37983) (d4f7672)
- core: Add v3 breaking change rule for the storage directory rename (#38423) (1cc5708)
- core: Add workflow selection to project package export (#37611) (c3f1981)
- core: Append the MCP registry attribution to standalone agent replies (#38584) (7db4dcf)
- core: Enable the workflow publication service by default (#37835) (0a6709f)
- core: Improve Agent Builder evaluation and intent routing (#38329) (684b930)
- core: Move promotions services and API to the new model (#37965) (179dbb3)
- core: Notify parent agents when background jobs settle (#37617) (99e9730)
- core: Push to a timestamped branch on promote for promotions (#37573) (98f4feb)
- core: Share integration threads across participants (#38461) (072f496)
- core: Stop Instance AI reporting a simulated run as fully verified (#38060) (efb5547)
- core: Store parent identity on background jobs (#37752) (588543c)
- core: Support ephemeral sandboxes for the n8n sandbox service (#38185) (41a5575)
- core: Tell Instance AI when a verified draft is not the live workflow (#38289) (7b10a16)
- core: Warn in the migration report that chat hub goes away (#38613) (3392e3d)
- core: Warn on deprecated N8N_DB_PING_TIMEOUT env var (#38555) (f031805)
- Databricks Node: Append a per-row MCP registry attribution to the agent reply (#38306) (13b8f22)
- Databricks Node: Refresh user-login tokens in the chat model during long executions (#37854) (0b8fd1e)
- Databricks Node: Send partner User-Agent on Genie MCP traffic (#38068) (4baf766)
- editor: Add manual agent creation entry point on the agents pages (#37702) (68d5deb)
- editor: Add MCP nudge modal on JSON export/import and copy/paste (#38144) (8a463da)
- editor: Add N8nChatActions to @n8n/design-system (#36588) (9ca3664)
- editor: Add paginated AI Assistant chat history (#38467) (c979296)
- editor: Add preview chat utilities to the more options menu (#38210) (39a7bae)
- editor: Add provider and connection settings for Environments v2 (#38402) (c11f031)
- editor: Add workflow dependencies submenu to the workflow menu (#37981) (763aeaa)
- editor: Cleanup Select component (#35523) (bbb7624)
- editor: Hand agent change requests in the preview chat to the AI Assistant (#38283) (56d18bd)
- editor: Mark required agent fields (#38624) (d282dec)
- editor: Show background tasks in the agent preview (#38360) (7efefc7)
- editor: Split workflows into a separate capability row (#38588) (8123c2c)
- Export structured agent artifacts in eval results (#38394) (70e5a2b)
- Grist Node: Add OAuth2 as an authentication option (#34798) (137c64f)
- HTTP Request Node: Add support for PROPFIND, MKCOL, MOVE, COPY and REPORT methods (#24151) (6f5269a)
- Implements AIA inspiration from taxonomy experiment (#38609) (c6ab379)
- Microsoft Teams Node: Add Online Meeting Create or Get operation (#37708) (dfbe574)
- Microsoft Teams Node: Add Online Meeting Delete operation (#37502) (ea73209)
- Microsoft Teams Node: Add Online Meeting Update operation (#37707) (ab38a17)
- Microsoft Teams Node: Add the channel message delete operation (#38428) (ba935fc)
- Microsoft Teams Node: Add the channel message undo delete operation (#38429) (e4ca242)
- Microsoft Teams Node: Add the chat member add operation (#37746) (8c62326)
- Microsoft Teams Node: Add the chat member remove operation (#37747) (8f9faa7)
- Microsoft Teams Node: Add the chat message delete operation (#38426) (fa7553f)
- Microsoft Teams Node: Add the chat message undo delete operation (#38427) (7c7a130)
- Microsoft Teams Node: Add the Service Principal path for Online Meeting Create (#38320) (1abdc92)
- Microsoft Teams Node: Add the Service Principal path for Online Meeting Create or Get (#38322) (05f3527)
- Microsoft Teams Node: Add the Service Principal path for Online Meeting Delete (#38323) (aa84837)
- Microsoft Teams Node: Add the Service Principal path for Online Meeting Get (#38321) (65cd935)
- Microsoft Teams Node: Add the Service Principal path for Online Meeting Update (#38324) (100983e)
- Rename AI Assistant to n8n Assistant (#38065) (5807183)
- Replace Git connection CLI commands with Promotions (#38027) (a8933ce)
Performance Improvements
coreagentsapistabilityimprovements
Source: original entry ↗