github n8n-io/n8n n8n@2.38.0

latest releases: stable, beta, n8n@2.39.0...
pre-release3 hours ago

2.38.0 (2026-09-08)

Bug Fixes

  • Add parameter binding for mongodb sort and projection (#37335) (292f442)
  • ai-builder: Add case for agent artifacts in AIA preview tab bar (#37141) (ede265d)
  • ai-builder: Add several tools of the same provider via UI (#37212) (fd3a51c)
  • ai-builder: Emit tool call events for Workflow, HTTP Request and Code tools (#37044) (7e81610)
  • ai-builder: Fix session timeline/trace not showing on preview dock when full screen (#36930) (80ff0f3)
  • ai-builder: Preserve managed n8n credits when building workflows (#37198) (0fbc526)
  • ai-builder: UI tweak to prevent overflowing text on err callout when on Agent Preview (#37615) (c2e8d02)
  • Alibaba Cloud Node: Use async image-generation for Wan 2.6 (#37060) (69991a5)
  • 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: Adapt binary data endpoint (#36974) (c339069)
  • API: Check publish permission when a workflow save republishes (#37264) (485e370)
  • API: Improve config handling on instance-settings endpoints (#36680) (a53a75d)
  • API: Resolve discover scopes from the request token grant (#37225) (8342a46)
  • API: Skip projectRelations eager-load in GET /credentials (#37138) (b3a77b0)
  • Chat Trigger Node: Apply authentication to test webhook requests (#37296) (122ee6d)
  • Chat Trigger Node: Fix singular copy on the connect bar (#37945) (369c9e2)
  • Chat Trigger Node: Re-authenticate hosted chat on session change (#37868) (64ba49d)
  • Chat Trigger Node: Respect private chat setting in tests (#37406) (0e1901f)
  • Check constructor-assigned and type-asserted node descriptions (#37523) (e23ee05)
  • Code Node: Keep identity and reporting fields when wrapping task runner errors (#37490) (b0550cb)
  • Copy glibc into distroless runners image as a matched pair (#37149) (b54c9b6)
  • core: Add a timeout to the S3 startup connection check (#37245) (2586e21)
  • core: Allow a domain-restricted credential to work in its own node (#37200) (720f397)
  • 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: Apply proxy environment variables consistently across packages and processes (#37124) (4b9dc5a)
  • core: Bind OAuth token grants to their approved resource (#37122) (380788f)
  • 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: Detect invalid Slack Block Kit payloads in AI Assistant builds (#37217) (b9342a5)
  • 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: Fix evaluation runs failing when the Evaluation Trigger feeds the entry node (#36975) (72283bd)
  • core: Fix scripts/generate-types export path (#32071) (106166a)
  • core: Forward all output branches when a waiting webhook node resumes (#31714) (7c21f4b)
  • core: Gate browser credential creation on its own permission (#36931) (532911c)
  • core: Give every simulated node at least one plausible item (#37557) (918067a)
  • core: Grant connect access for globally shared end-user credentials (#36992) (aaf0a7e)
  • 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 abandoned tool-call suspensions visible in AI Assistant thread history (#36737) (052c30e)
  • core: Keep AI Assistant workflow builds honest about their project (#37177) (7fe438e)
  • core: Keep an existing community package directory when a fresh install fails (#36964) (ad15ba4)
  • core: Keep Instance AI data-table queries targeted while diagnosing (#37489) (df4d30b)
  • core: Keep the API version in the Gemini base URL for agent models (#37239) (c2f636b)
  • 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: Only record sub-node error metadata for nodes that get a run (#37256) (8fcabd6)
  • core: Prefer service-specific credentials for HTTP requests (#37844) (500ea39)
  • core: Preserve binary content in agent tool results (#37206) (b54500d)
  • core: Prevent Anthropic agent threads from breaking permanently and keep run errors visible (#37640) (dc5f420)
  • core: Prevent OpenTelemetry disable from failing when OTLP collector is unreachable (#37203) (5dd2454)
  • core: Prevent Supabase vector store node auth client timer leaks (#37054) (ad24a48)
  • core: Re-check user tool access on agent runtime cache hits (#37401) (6e9c3e2)
  • core: Redirect failed OIDC logins to the sign-in page (#37428) (3e09299)
  • core: Report and reconcile agent channel startup failures (#36578) (6b0de0d)
  • core: Report the provider response when a chat model returns no choices (#37959) (49e7821)
  • core: Report what credential setup actually selected (#37019) (ef13ad0)
  • core: Respond with an error when a webhook execution ends before the Respond to Webhook node runs (#37006) (f9814b7)
  • core: Restore mutating array methods on $json data in expressions (#37172) (dcb5736)
  • core: Return 503 when the AI assistant service is unreachable (#37957) (36426a8)
  • core: Return a single not-found message when disconnecting a credential (#37292) (bde05e0)
  • core: Reuse native Agent channel capabilities (#36849) (e4edf89)
  • core: Route OAuth2 token requests through environment proxies in every process (#36996) (5266ce3)
  • core: Route secrets pasted in AI chat to real credential forms (#37277) (6cc8c59)
  • core: Scope active workflow IDs to the requesting user's projects (#37326) (b557e90)
  • core: Share one time budget across nested expression evaluations (#37330) (99c9e79)
  • core: Split Instance Settings permissions into granular custom-role options (#36802) (1f390cd)
  • core: Stage libatomic into the distroless runners image (#37106) (ca600ad)
  • 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: Stop the workflow builder writing Python Code nodes that cannot run (#37083) (16a1a78)
  • core: Stop webhook routing locally before best-effort external teardown (#37241) (cae0c8b)
  • core: Support writes on VM expression lazy proxies via evaluation-scoped copy-on-write (#37262) (f77e270)
  • core: Surface AI node failure with useful message and original cause (#37113) (6826730)
  • core: Surface the original error instead of replaying single-use bodies on OAuth2 401 retry (#37000) (86c2a2b)
  • core: Take archived workflows into account during package import (#37668) (98dfb30)
  • core: Teach the AI Assistant to mark polled items handled after create actions (#37436) (78151b2)
  • core: Thread execution id through dynamic-credential storage (#37233) (42a782d)
  • core: Unload a community package when a fresh install fails after loading it (#37034) (78130a1)
  • core: Update Qdrant client and remove undici v6 dependencies so AI requests work on Node 26 (#37758) (325feb3)
  • core: Validate the expression engine timeout and memory limit settings (#37333) (90a84ab)
  • core: Verify a resolved agent model against the credential's live list (#37240) (19582fb)
  • 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: Attribute credential telemetry to workflow and thread (#37027) (5fc0b75)
  • editor: Close add-channel modal on outside click (#37171) (c7f3ceb)
  • editor: Correct community node docs link interpolation key (#37236) (7e6cfed)
  • editor: Distinguish session timeline errors (#36816) (b8bc67a)
  • editor: Expand AI question text input automatically (#37627) (5e3774a)
  • editor: Gate autosave on document hydration (#36966) (c0bc17d)
  • editor: Hide Gateway credits for HTTP Request and GraphQL nodes (#37810) (c292476)
  • editor: Improve screen reader support for scope selector tool pills (#37159) (e644562)
  • editor: Keep workflows moved out of a folder visible in the source control push modal (#37128) (49e28b5)
  • editor: Preserve n8n credits when copying workflows (#37253) (8946168)
  • editor: Refresh workflow checksum after publishing from an embedded editor (#37949) (8119ea3)
  • editor: Render the credit banner as its own card above detached chat inputs (#37082) (2ac3655)
  • editor: Restore Instance AI draft when thread creation fails (#37874) (0820083)
  • editor: Restore parameter expression toggle layout (#37295) (b335236)
  • editor: Scope end-user credential trigger warning to reachable nodes (#37081) (8399317)
  • editor: Set max resize height for decision input (#37061) (2d227dd)
  • editor: Show an activity indicator while the AI Assistant is still working (#37046) (5b4c65b)
  • editor: Show error when eligible reviewers fail to load (#37089) (45a104a)
  • editor: Show restart notice after license activation (#37841) (f56d87d)
  • editor: Show skill size limits as a character count (#37847) (a9d5fb7)
  • editor: Start AI Assistant conversations in the current project (#37051) (e5f2efc)
  • editor: Stop a new node from showing a deleted node's execution data (#36915) (8bf95ac)
  • editor: Stop autosave retries on permanent errors (#36967) (588317e)
  • editor: Stop the instance AI model dropdown opening when the wizard opens (#37215) (293e63e)
  • editor: Update Agent builder assistant placeholder (#37529) (20cf19f)
  • editor: Update AI credential and model selection (#36738) (0871ad7)
  • Evaluation Trigger Node: Respect the row limit when reading from a data table (#36948) (ced302a)
  • Fix attribution footer link on the Form Ending page (#37288) (e08a4fd)
  • Flag resolutions field in community node package.json vetting (#36768) (d85c0b2)
  • Form Node: Improve error messages for invalid form definition JSON (#37291) (d8ce73c)
  • Freshservice Node: Send change filters as dedicated query params (#34380) (5ae1861)
  • Gmail Trigger Node: Do not lose queued messages when a fetch fails mid-poll (#37263) (fe61e57)
  • Gmail Trigger Node: Do not miss emails when more than 100 arrive between polls (#37261) (addc7f9)
  • Google Gemini Node: Validate domain before downloading (#37459) (a1c1f6f)
  • Guarantee package.json restore after the FE trim step (#37446) (fd6db75)
  • HTTP Request Node: Keep SSL passphrases with whitespace intact (#37020) (bcd240f)
  • HTTP Request Node: Show the API response when a file upload fails (#36924) (8430516)
  • 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)
  • Nextcloud Node: Validate webDavUrl to prevent cryptic "Invalid URL" error (#34031) (209cbfb)
  • Preserve AWS request parameter values (#37303) (267d98b)
  • Quote and validate Postgres table and column identifiers in AI nodes (#31370) (1fd2918)
  • Read/Write Files from Disk Node: Allow glob character classes in File(s) Selector (#36901) (3c48b53)
  • Require a configured model before the AI Assistant accepts a prompt (#37226) (38e33a4)
  • Restore legacy PEM headers when reformatting single-line keys (#37088) (044a90d)
  • Sign Microsoft Dynamics OAuth2 requests with the access token (#37855) (6fa5b3d)
  • Stop replacing error messages with "Unknown error" (#36820) (5df7a17)
  • Update MCP server status in AI Assistant when tool call failed or credentials updated (#37197) (b639fe5)
  • Use sentence case for settings menu labels (#36651) (7bfdc99)
  • Wordpress Node: Send OAuth2 client credentials in request body (#36082) (5aeb96c)

Features

  • Add in-widget credential status strip to @n8n/chat (#37399) (f7f1ba3)
  • ai-builder: Add an n8n credits section to the agent tools modal (#36183) (54ac6cc)
  • ai-builder: Consolidate node credential resolution in agent builder to use same service as AIA (#36903) (f41f864)
  • 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)
  • Confluence Node: Add page add and remove label operations (#37002) (ea24aa9)
  • Confluence Node: Add Page Get Comments operation (#37073) (843a4a8)
  • Confluence Node: Add Page Get Many by Label operation (#36785) (9fbd9fb)
  • Confluence Node: Add Space resource with Get and Get Many operations (#36898) (58d9d39)
  • Confluence Node: Page — get labels (#36900) (9b910a1)
  • core: Add background execution mode for sub-agent delegation (#37209) (4285d20)
  • core: Add chat-specific branding to the shared OAuth consent screen (#37430) (e774ed2)
  • core: Add folder exploration to Instance AI (#37865) (9769dac)
  • core: Add Instance reporting module (#36796) (82d3480)
  • core: Add Moonshot, MiniMax and Qwen Cloud as model providers in Agent Builder (#36751) (ebbdc1a)
  • 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: Chat trigger publish validation & workflow:execute access control (#37231) (1f062f9)
  • core: Deprovision a workflow's schedules when it stops owning them (#37135) (2a24001)
  • core: Establish chat session identity for credential resolution (#37041) (c96f329)
  • 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: Let workflow verification target a specific trigger (#37091) (6420048)
  • core: Limit Git connections to one instance connection (#37302) (1e4edb2)
  • 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: Resolve sub-agents and workflow tools by run type (#37117) (fa43bc8)
  • core: Serve a nonce-based Content-Security-Policy on n8n's HTML pages (#36749) (54b2b94)
  • core: Skip live tests when n8n credits are depleted (#36641) (a328674)
  • core: Split the hosted chat page into a trusted shell and a sandboxed frame (#36947) (662a401)
  • 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: Support workflows with Wait nodes as agent tools (#36692) (23a5f46)
  • 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: Add user-delegated OAuth2 credential (authorization code + PKCE) (#37007) (e60c431)
  • 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 adaptive layout to ChatInput (#36939) (435ed5f)
  • editor: Add agent card chat preview action (#37812) (185bf3e)
  • editor: Add Contact Support link to Help menu for Cloud instances (#37414) (e3008bd)
  • editor: Add floating Markdown editor toolbar (#37293) (5c7e006)
  • 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: Align workflow and agent header menus (#37315) (848265e)
  • editor: Allow users to resize the review inbox sidebar (#37196) (ad4b899)
  • editor: Complete N8nInputNumber2 adoption and remove the legacy InputNumber (#36598) (73ac8e4)
  • 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: Rename n8n credits and n8n Connect copy to Gateway credits in the UI (#37267) (6718392)
  • editor: Update node creator empty state and add a link to suggest an MCP service (#37339) (bc8e5ea)
  • editor: Update the order of providers in the agent builder model picker (#37143) (da6da00)
  • 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)
  • Gotify Node: Add Gotify extra notification settings (#23915) (0aa9aa8)
  • 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)
  • MongoDB Node: Batch update and find-and-update writes with bulkWrite (#37035) (5b9b332)
  • Offer to send an anonymous failure report in the install script (#37016) (269de76)
  • Trigger observational memory mid-run on a token budget (#37234) (39f49b9)

Performance Improvements

  • core: Acquire agent workspace sandboxes lazily, make them persistent, and share them with delegated sub-agents (#37242) (a1b1f2e)
  • core: Bound peak memory during source control push (#37862) (1ab9382)
  • core: Chunk package ID lookups (#36923) (98e5104)
  • core: Read the poller state row once per durable poll tick (#36973) (be01422)
  • core: Reduce workflow import queries (#36949) (bcf693e)
  • editor: Reduce AI gateway wallet requests by caching the credits balance (#36725) (d62dc26)
  • 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.