github n8n-io/n8n n8n@2.39.0

latest releases: stable, beta
pre-release3 hours ago

2.39.0 (2026-09-08)

Bug Fixes

  • ai-builder: UI tweak to prevent overflowing text on err callout when on Agent Preview (#37615) (c2e8d02)
  • AMQP Trigger Node: Reattach the receiver link when the broker detaches it (#37431) (ddf6534)
  • Anthropic Chat Model Node, AI Agent Node: Send disabled thinking to the provider and parse content-block output (#37954) (309fa8d)
  • API: Check publish permission when a workflow save republishes (#37264) (485e370)
  • Chat Trigger Node: Fix singular copy on the connect bar (#37945) (369c9e2)
  • Chat Trigger Node: Re-authenticate hosted chat on session change (#37868) (64ba49d)
  • Check constructor-assigned and type-asserted node descriptions (#37523) (e23ee05)
  • Code Node: Keep identity and reporting fields when wrapping task runner errors (#37490) (b0550cb)
  • core: Allow HashiCorp Vault external secrets to read a KV v2 sub-path (#37748) (fed5d70)
  • core: Allow webhook nodes to set Set-Cookie response headers (#37883) (6828320)
  • core: Always redact OTel header values in settings responses (#37283) (4b0de25)
  • core: Cap task runner task timeouts to the graceful shutdown window (#37651) (9a64820)
  • core: Complete a scheduled occurrence as not dispatched when its workflow is unpublished (#37721) (29c7d9f)
  • core: Ensure running job cleanup when a workflow run rejects (#37621) (51ac147)
  • core: Execute multi-input nodes re-fired through a loop-back edge in legacy order (#37561) (903fe57)
  • core: Fix Azure OpenAI classic and Foundry credential setup and execution for agents (#37251) (731ea42)
  • core: Forward all output branches when a waiting webhook node resumes (#31714) (7c21f4b)
  • core: Give every simulated node at least one plausible item (#37557) (918067a)
  • core: Harden agent workflow tools against unpublished, missing, or incompatible workflows (#37772) (1994332)
  • core: Hide instance MCP OAuth discovery when MCP access is disabled (#36726) (9768c1b)
  • core: Keep a serving external secrets provider active when its replacement fails (#37781) (217c7b3)
  • core: Keep Instance AI data-table queries targeted while diagnosing (#37489) (df4d30b)
  • core: Keep reporting the original job error when the job key is gone (#37993) (7ce17be)
  • core: List the valid techniques when get_workflow_best_practices rejects input (#37580) (53b1ad7)
  • core: Make pending agent creation and thread binding idempotent (#37074) (085a7a9)
  • core: Make scoped workspace path errors actionable for agents (#37887) (03e1793)
  • core: Mark retired node types as deprecated in their workflow-sdk type definitions (#37628) (cf0ef47)
  • core: Prefer service-specific credentials for HTTP requests (#37844) (500ea39)
  • core: Prevent Anthropic agent threads from breaking permanently and keep run errors visible (#37640) (dc5f420)
  • core: Redirect failed OIDC logins to the sign-in page (#37428) (3e09299)
  • core: Report the provider response when a chat model returns no choices (#37959) (49e7821)
  • core: Return 503 when the AI assistant service is unreachable (#37957) (36426a8)
  • core: Stop npm audit from stalling Instance AI sandbox setup (#37864) (7ac335d)
  • core: Stop task broker before task runner processes on shutdown (#37833) (2ad8d01)
  • core: Stop the AI Assistant from pulling the whole workflow through the model for small edits (#37644) (8ef5ba6)
  • core: Take archived workflows into account during package import (#37668) (98dfb30)
  • core: Update Qdrant client and remove undici v6 dependencies so AI requests work on Node 26 (#37758) (325feb3)
  • core: Wait for detached sub-workflows before the worker stops its task runner (#37737) (afc4a54)
  • core: Workflow tools should wait and not throw if parent WF is suspended (#37087) (10ea0c8)
  • editor: Align credit balance copy to "left" across views (#37423) (9c131d6)
  • editor: Expand AI question text input automatically (#37627) (5e3774a)
  • editor: Hide Gateway credits for HTTP Request and GraphQL nodes (#37810) (c292476)
  • editor: Preserve n8n credits when copying workflows (#37253) (8946168)
  • editor: Refresh workflow checksum after publishing from an embedded editor (#37949) (8119ea3)
  • editor: Restore Instance AI draft when thread creation fails (#37874) (0820083)
  • editor: Scope end-user credential trigger warning to reachable nodes (#37081) (8399317)
  • editor: Show restart notice after license activation (#37841) (f56d87d)
  • editor: Show skill size limits as a character count (#37847) (a9d5fb7)
  • editor: Update Agent builder assistant placeholder (#37529) (20cf19f)
  • Fix attribution footer link on the Form Ending page (#37288) (e08a4fd)
  • Freshservice Node: Send change filters as dedicated query params (#34380) (5ae1861)
  • Google Gemini Node: Validate domain before downloading (#37459) (a1c1f6f)
  • Guarantee package.json restore after the FE trim step (#37446) (fd6db75)
  • Jira Node: Strip trailing slashes from domain URL (#32163) (a69155a)
  • Jira Software Node: Send expand as comma-separated string for Jira Cloud searches (#37527) (9f2ebe5)
  • Ldap Node: Escape expression output in the Custom Filter field (#37301) (91f8794)
  • Microsoft SQL Node: Fix TLS error when the IP is used to connect to the server (#37870) (5ddfb60)
  • Microsoft Teams Node: Send Online Meeting times in UTC and share the Graph helpers (#37723) (d5e05b2)
  • Mistral Cloud Chat Model Node: Handle Request objects in undici-backed proxyFetch (#37946) (7533aaa)
  • Read/Write Files from Disk Node: Allow glob character classes in File(s) Selector (#36901) (3c48b53)
  • Sign Microsoft Dynamics OAuth2 requests with the access token (#37855) (6fa5b3d)
  • Update MCP server status in AI Assistant when tool call failed or credentials updated (#37197) (b639fe5)
  • Use consistent personal space icon in the Instance AI artifacts (#38011) (cbaa0be)
  • Wordpress Node: Send OAuth2 client credentials in request body (#36082) (5aeb96c)

Features

  • ai-builder: Make AI Assistant capability-aware for agent changes (#37479) (d657bfe)
  • Airtop Node: Support running an agent with a specific browser profile (#34933) (c945633)
  • API: Add a workflow version endpoint and deprecate the old two-variable path (#37114) (0b3ab52)
  • API: Add push endpoint to the public API for source control (#37873) (21755d2)
  • API: Add source control status endpoint to the public API (#37001) (daab195)
  • API: Name exported package entities by slug and id (#37656) (285b730)
  • API: Push and pull projects to a Git connection (#36998) (614cfe2)
  • API: Return data table size on data table read endpoints (#37078) (e6d8edd)
  • Confluence Node: Add Atlassian Service Account (2LO) authentication (#37536) (e07e717)
  • core: Add folder exploration to Instance AI (#37865) (9769dac)
  • core: Add Instance reporting module (#36796) (82d3480)
  • core: Add opt-in concurrency limits for Instance AI runs (#37435) (ed541bc)
  • core: Add OTLP gRPC protocol support for OpenTelemetry tracing (#37491) (f748613)
  • core: Allow Instance AI to search past conversations (#37478) (9a80b14)
  • core: Always load the encryption module and seed keys safely on startup (#37416) (430bbe5)
  • core: Cache the encryption keys in memory (#37753) (003fcf3)
  • core: Deprovision a workflow's schedules when it stops owning them (#37135) (2a24001)
  • core: Guide Instance AI credential selection (#37447) (be678fc)
  • core: Index agent workflow tool dependencies and invalidate dependent runtimes (#37857) (19eba43)
  • core: Let chat channels start a new agent session (#37174) (47ece30)
  • core: Let Instance AI read node-type usage from the dependency index (#37539) (47c9644)
  • core: Make chat trigger OAuth2 identity pipeline unconditional (#37942) (188e285)
  • core: Make the encryption write path pluggable and move the rotation decision into the module (#37603) (9b10838)
  • core: Reject the agent publish with the names of unpublished workflow tools (#37889) (60db997)
  • core: Resolve node output schemas into generated type definitions (#37246) (1490129)
  • core: Share the parent workspace sandbox with background sub-agents (#38025) (80577ac)
  • core: Store signing deployment keys in the same wrapped form as data-encryption keys (#37953) (e12dc06)
  • core: Support existing credentials in MCP registry (#37235) (5583ba4)
  • core: Track waiting workflow tools as background jobs (#37284) (cc203b1)
  • Databricks Node: Add hidden Databricks Chat Model sub-node (#37299) (233f1ca)
  • Databricks Node: Add partner User-Agent to chat model requests (#37774) (e0daef0)
  • Databricks Node: Send a partner User-Agent on every API call (#37279) (5a88f06)
  • Databricks Node: Support templated MCP registry server URLs (#37250) (44ddbbd)
  • Edit Image Node: Add horizontal and vertical text alignment options (#34505) (feb8c57)
  • editor: Add agent card chat preview action (#37812) (185bf3e)
  • editor: Add progress feedback to the artifact panel while the AI Assistant builds (#37562) (c2637da)
  • editor: Add UI to select workflow changes to promote (no-change… (#37530) (90d176b)
  • editor: Allow users to resize the review inbox sidebar (#37196) (ad4b899)
  • editor: Deprecate and hide the Ask AI tab in the Code node (#37641) (b436bfa)
  • editor: Remove preview tag for reviews in nav bar (#37816) (c5f06cf)
  • editor: Update node creator empty state and add a link to suggest an MCP service (#37339) (bc8e5ea)
  • G Suite Admin Node: Add "orgUnitPath" option to User create and update operations (#20108) (e9f366d)
  • Gmail Trigger Node: Finish each poll within its time budget (#37319) (5a03db4)
  • GraphQL Node: Add support for predefined credential types (#37671) (b6b2a7d)
  • Jira Node: Add Atlassian Service Account (2LO) authentication (#37513) (f069c84)
  • Microsoft Teams Node: Add get and reply operations for channel messages (#37542) (1c22d84)
  • Microsoft Teams Node: Add Online Meeting Get operation (#37501) (40a957e)
  • Microsoft Teams Node: Add Online Meeting resource with Create operation (#37500) (336fda8)
  • Microsoft Teams Node: Add the chat member get many operation (#37745) (42dcc70)

Performance Improvements

  • core: Bound peak memory during source control push (#37862) (1ab9382)
  • Supabase Node: Fetch the API schema once for all column dropdowns (#37756) (5d355a6)

Review in cubic

Don't miss a new n8n release

NewReleases is sending notifications on new releases.