2.38.1 (2026-09-01)
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)
- Alibaba Cloud Node: Use async image-generation for Wan 2.6 (#37060) (69991a5)
- API: Adapt binary data endpoint (#36974) (c339069)
- 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: Respect private chat setting in tests (#37406) (0e1901f)
- 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: Apply proxy environment variables consistently across packages and processes (#37124) (4b9dc5a)
- core: Bind OAuth token grants to their approved resource (#37122) (380788f)
- core: Detect invalid Slack Block Kit payloads in AI Assistant builds (#37217) (b9342a5)
- 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: Gate browser credential creation on its own permission (#36931) (532911c)
- core: Grant connect access for globally shared end-user credentials (#36992) (aaf0a7e)
- 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 the API version in the Gemini base URL for agent models (#37239) (c2f636b)
- core: Only record sub-node error metadata for nodes that get a run (#37256) (8fcabd6)
- core: Preserve binary content in agent tool results (#37206) (b54500d)
- 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: Report and reconcile agent channel startup failures (#36578) (6b0de0d)
- 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 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 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: 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: 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)
- 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: Gate autosave on document hydration (#36966) (c0bc17d)
- 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: Render the credit banner as its own card above detached chat inputs (#37082) (2ac3655)
- editor: Restore parameter expression toggle layout (#37295) (b335236)
- 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: 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 AI credential and model selection (#36738) (0871ad7)
- Evaluation Trigger Node: Respect the row limit when reading from a data table (#36948) (ced302a)
- Flag resolutions field in community node package.json vetting (#36768) (d85c0b2)
- Form Node: Improve error messages for invalid form definition JSON (#37291) (d8ce73c)
- 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)
- 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)
- Nextcloud Node: Validate
webDavUrlto 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)
- Require a configured model before the AI Assistant accepts a prompt (#37226) (38e33a4)
- Restore legacy PEM headers when reformatting single-line keys (#37088) (044a90d)
- Stop replacing error messages with "Unknown error" (#36820) (5df7a17)
- Use sentence case for settings menu labels (#36651) (7bfdc99)
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)
- 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 Moonshot, MiniMax and Qwen Cloud as model providers in Agent Builder (#36751) (ebbdc1a)
- core: Chat trigger publish validation & workflow:execute access control (#37231) (1f062f9)
- core: Establish chat session identity for credential resolution (#37041) (c96f329)
- core: Let workflow verification target a specific trigger (#37091) (6420048)
- core: Limit Git connections to one instance connection (#37302) (1e4edb2)
- 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: Support workflows with Wait nodes as agent tools (#36692) (23a5f46)
- Databricks Node: Add user-delegated OAuth2 credential (authorization code + PKCE) (#37007) (e60c431)
- editor: Add adaptive layout to ChatInput (#36939) (435ed5f)
- editor: Add Contact Support link to Help menu for Cloud instances (#37414) (e3008bd)
- editor: Add floating Markdown editor toolbar (#37293) (5c7e006)
- editor: Align workflow and agent header menus (#37315) (848265e)
- editor: Complete N8nInputNumber2 adoption and remove the legacy InputNumber (#36598) (73ac8e4)
- editor: Rename n8n credits and n8n Connect copy to Gateway credits in the UI (#37267) (6718392)
- editor: Update the order of providers in the agent builder model picker (#37143) (da6da00)
- Gotify Node: Add Gotify extra notification settings (#23915) (0aa9aa8)
- 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: 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)