## n8n-io/n8n — release/1.37.2…stable

_10000+ commits._

### Features
- **feat(editor): Show Gateway credits promotions on community nodes (backport to release-candidate/2.42.x) (#40108)** (1ea168e)
- **feat(editor): Show n8n logo on canvas in canvas-only mode (backport to release-candidate/2.42.x) (#39914)** (10140d1)
- **feat(core): Backfill historic daily data when instance-reporting is first enabled (no-changelog) (backport to release-candidate/2.42.x) (#39843)** (9d6c2ad)
- **feat(editor): Announce credentials while the n8n assistant builds workflows (no-changelog) (backport to release-candidate/2.42.x) (#39837)** (b5a28aa)
- **Activity pruning now runs durably** — The activity pruning task that cleans up old activity logs is now configured to run as a durable system task, meaning it will persist across restarts and immediately process any backlog when a new leader takes over in a clustered setup. (5fe92a5)
- **Suggest Gateway credit services in node discovery** — Updated node discovery tools to recommend n8n Connect services that run on Gateway credits (no API key needed) alongside regular nodes. When users search for nodes or get curated recommendations, they'll now be prompted to consider Gateway-backed services for tasks like web search, scraping, and document parsing. (2b0719d)
- **Add migration finding tables** — Created two new database tables to track breaking-change findings in workflows: migration_finding stores individual findings with status tracking and user notes, while migration_finding_sync tracks when scans last completed for each n8n version. This infrastructure supports the breaking-changes detection system. (310635e)
- **Secure credential imports with policy checks** — Added policy enforcement for importing credentials, requiring security clearance before credentials can be imported—similar to existing workflow import protections. This ensures that credential imports through CLI, source control, packages, or git connections are subject to the same policy validation as other sensitive operations. (0b92e12)
- **feat(editor): Make Instance AI LLM step debug data readable (no-changelog) (#39575)** (c1d6663)
- **feat(core): Render Microsoft Teams agent replies progressively (no-changelog) (#39514)** (80a1596)
- **feat(core): Update the n8n Assistant onboarding copy (no-changelog) (#39777)** (37572b6)
- **feat(core): Check credentials against the person running the workflow (#39685)** (4a01756)
- **feat(core): Add a concise reply style prompt profile (no-changelog) (#39408)** (106f982)
- **feat: Add an n8n Assistant onboarding thread for new Cloud signups (#39730)** (d765bbd)
- **feat(core): Add empty group telemetry (no-changelog) (#39519)** (b3ce351)
- **feat(editor): Gate empty canvas groups behind a feature flag (no-changelog) (#39389)** (8336da3)
- **feat(editor): Improve empty-group style & behavior (no-changelog) (#38705)** (a392f4e)
- **feat(editor): Manage the empty-group placeholder lifecycle (no-changelog) (#38704)** (acaa281)
- **feat(editor): Connect empty groups to the node graph (no-changelog) (#38703)** (37c160e)
- **feat(editor): Add manual empty-group entry points (no-changelog) (#38702)** (ad68bfe)
- **feat(core): Define empty-group contract (no-changelog) (#38701)** (8ff280e)
- **feat(core): Add storage for AI Assistant thread tabs (no-changelog) (#39657)** (356eb8f)
- **feat(core): Add production n8n Chat channel infrastructure (no-changelog) (#39476)** (68f856f)
- **feat(core): Run the MCP registry refresh as a durable system task (no-changelog) (#39520)** (e3b4ecb)
- **feat(engine): Answer lastNode and responseNode webhooks with a remote engine v2 data plane (#39636)** (ce3d50b)
- **feat(editor): Restyle AI Assistant tab bar and add a tab hover card (#39625)** (88d8390)
- **feat(editor): Add dev server reverse proxy for backend routes (no-changelog) (#39562)** (ad2c982)
- **feat(editor): Add queued message controls to agent Preview chat (#39487)** (8a4fd13)
- **feat(editor): Show each policy violation with its scope when a save, publish or execution is refused (#39263)** (2ec6ac7)
- **feat(editor): Group the node credential picker by where each credential comes from (#39646)** (9af0f02)
- **feat(core): Set OS process titles for n8n processes (#39362)** (53dc251)
- **feat(Azure OpenAI Chat Model Node): Rename to Azure AI Foundry Chat Model (#39603)** (ee9dfd1)
- **feat(core): Redact execution data from users who cannot use a referenced credential (no-changelog) (#39614)** (c5825bc)
- **feat(editor): Group canvas toolbar buttons in a single container (#39587)** (a96980b)
- **feat(editor): Add telemetry for agent channel setup (no-changelog) (#39604)** (a7f8f99)
- **feat(editor): Revamp the Agent skills modal (#39545)** (4263117)
- **feat(core): Attach the publishing user to triggered executions (#39466)** (6c4135d)
- **feat(core): Add shared Agent context access (#38930)** (8a0ca48)
- **feat(Anthropic Node): Add prompt caching to the Message operation (#35804)** (6b9c48f)
- **feat: Add package import-selection command (no-changelog) (#39566)** (f459f3c)
- **feat(editor): Roll out Assistant mentions (no-changelog) (#39370)** (ebbf129)
- **feat(engine): Store the execution's waiting status (no-changelog) (#39093)** (c53a5e4)
- **feat: Add pinned Apply and Apply Continue to the promotion CLI commands (#39597)** (6c57533)
- **feat(editor): Add adaptive comment input to the review activity feed (#39583)** (dda1166)
- **feat(editor): Connect mentions to thread artifacts (no-changelog) (#39356)** (94b501b)
- **feat(editor): Integrate Assistant mentions with composer (no-changelog) (#39314)** (95aa27a)
- **feat(API): Add partial import of a selected workflow subset (no-changelog) (#39535)** (893e97c)

### Fixes
- **fix(core): Send instance group facts to PostHog with the owner ID (no-changelog) (backport to release-candidate/2.42.x) (#40207)** (f6bf84f)
- **fix(core): Keep the task runner running on an unhandled promise rejection (backport to release-candidate/2.42.x) (#40091)** (50f2e96)
- **fix(API): Let global members grant variable scopes to API keys (backport to release-candidate/2.42.x) (#40150)** (d09b8a1)
- **fix(core): Ask before building a picked onboarding suggestion (no-changelog) (backport to release-candidate/2.42.x) (#39955)** (2a4aa50)
- **fix(core): Stop waiting on Bull job.finished() for queued executions (backport to release-candidate/2.42.x) (#39945)** (c7841e5)
- **fix(API): Emit valid schemas for untyped values in the Public API spec (backport to release-candidate/2.42.x) (#39917)** (ed56d85)
- **fix(editor): Show remaining credits on Assistant banner for Cloud UBB (backport to release-candidate/2.42.x) (#39911)** (14b6bfd)
- **fix(editor): Correct the n8n Assistant onboarding greeting animations and actions (no-changelog) (backport to release-candidate/2.42.x) (#39867)** (8e47a4f)
- **fix(API): Return an execution when its stored trace context is incomplete (backport to release-candidate/2.42.x) (#39836)** (e710744)
- **Fix email template builds on Windows** — Corrected the build script for email templates to work properly on Windows by removing an extra path separator that was causing build failures. (918bcdd)
- **Require full ADR ID references** — ADR (Architecture Decision Record) references in documentation must now use the complete ID including the descriptive suffix (e.g., ADR-20260904-store-the-workflow instead of just ADR-20260904). The system detects date-only references and suggests the full ID automatically. (1630d4c)
- **Hide AI preference scopes from non-experiment u…** — Users outside the AI preferences experiment arm will no longer see the `aiPreference:read` and `aiPreference:write` permission scopes during OAuth consent. This prevents the control group from discovering a feature they're not meant to test, while maintaining the feature in the backend for experiment participants. (8cd8cf0)
- **Link workflow settings in MCP errors** — When a workflow isn't available for MCP access, error messages now include a direct link to the workflow's settings page where users can enable MCP access. This makes it easier for users to find and fix the problem. (9f5c752)
- **Improve instance startup monitoring** — Updated the benchmark tool to check the readiness endpoint instead of the basic health endpoint and increased the timeout from 60 to 180 seconds to allow more time for the instance to fully initialize before running owner setup. (a1360f4)
- **Improved agent layout and guidance** — Enhanced the Agent builder's layout for better responsiveness on narrow panels and improved the sub-agent guidance by moving hint text into a tooltip icon. Added responsive design for the session list to display details on separate lines when space is limited, and clarified the label text for when sub-agents should be used. (3daa34d)
- **fix: Update stale docs.n8n.io links in product code (no-changelog) (#39638)** (a41c8c4)
- **fix(API): Accept workflow descriptions on creation (#39705)** (6c1edac)
- **fix(core): Scope the Agent Builder credential list to the eval thread allowlist (no-changelog) (#39092)** (5676882)
- **fix(ai-builder): Keep scenario tables for Agent builds and reuse same-named seed tables (no-changelog) (#39767)** (918512f)
- **fix(core): Point post-build guidance at the active skill (no-changelog) (#39203)** (d0255c7)
- **perf(core): Move instance URLs out of the Instance AI system prompt (no-changelog) (#39555)** (d3e846e)
- **fix(core): Include the project id in the AI Assistant project context (no-changelog) (#39770)** (ae2b853)
- **fix(core): Enforce one instance report per day with a unique index (#39536)** (20807d2)
- **fix(editor): Address Assistant mentions feedback (no-changelog) (#39596)** (41021e5)
- **fix(googleFirebaseCloudFirestore Node): Preserve field types for numeric strings and falsy values (#27399)** (b3d4cfe)
- **fix(editor): Empty Group Last Refinements (no-changelog) (#39632)** (06c61d9)
- **fix(API): Validate OpenAPI path parameter names (#39067)** (a2a2638)
- **fix(API): Allow extendsCredential in workflow create/update (#39243)** (9e7bc66)
- **fix(core): Count a database ping as successful when its reply arrives during event-loop lag (#39645)** (bda9453)
- **fix(editor): Sorting data table rows by unknown column returns raw database error (#39733)** (b8cda55)
- **perf(core): Avoid terminal outbox scans during publication reconciliation (#39267)** (6272d46)
- **perf(editor): Load the editor with fewer startup requests (no-changelog) (#39616)** (7439d56)
- **fix(core): Store queue job results only for executions this process enqueued (#39712)** (5d508ec)
- **fix(editor): Show project icons in Agent breadcrumbs (#39649)** (1fe19db)
- **fix(core): Keep one failed binary-data dir from aborting the delete batch (#39194)** (34f77c0)
- **fix(core): Retry each file removal in the byte store's delete (#39193)** (7bebbe4)
- **fix(core): Retry the recursive removal of an execution's binary-data directory (#39185)** (3a31c38)
- **fix(editor): Keep quick-connect OAuth credentials out of lists until the user authorizes (#39297)** (4c2f220)
- **fix(engine): Handle Redis failure modes in engine v2 execution responses (#39486)** (7cc0450)
- **fix(core): Repair invalid tool call IDs in agent history (no-changelog) (#39640)** (2f5f267)
- **fix(API): Validate Public API path parameters before the scope middlewares (no-changelog) (#39512)** (8ad818d)
- **fix(Google Cloud Storage Node): Preserve request headers on object create (#35218)** (bc9faf2)
- **fix(editor): Fetch publication status when a new workflow becomes saved (#38382)** (d658d18)
- **fix(editor): Show when update available for community packages if only verified packages are enabled (#39424)** (070d9fe)
- **fix(Microsoft Teams Node): Correct the v2 resource-locator copy (#39443)** (a924724)
- **fix(core): Accept nested folders when applying a promotion (no-changelog) (#39630)** (7edf74b)
- **fix(Zoho CRM Node): Update logo to current Zoho branding (#39305)** (be12181)
- **fix: Scope CLI mutation diffs to changed tests (no-changelog) (#39285)** (1333a2c)

### Backend
- **:rocket: Release 2.42.3 (#40259)** (b8b9712)
- **:rocket: Release 2.42.2 (#40039)** (eb8d7c2)
- **:rocket: Release 2.42.1 (#39939)** (e1d1780)
- **:rocket: Release 2.42.0 (#39826)** (86c2332)

### Tests
- **test(engine): Run responseNode webhook E2E tests on engine v2 (#39761)** (697e0bb)
- **test(engine): Run lastNode webhook E2E tests on engine 2.0 (no-changelog) (#39694)** (1a29582)
- **test: Stabilize the form submit gate client spec (no-changelog) (#39750)** (1852295)
- **test(engine): Run onReceived webhook E2E tests on engine 2.0 (#39181)** (a51434f)
- **test: Add E2E tests for credential type policy flows (no-changelog) (#39584)** (2157b35)
- **test: Add E2E tests for node type policy flows (no-changelog) (#39579)** (e13178a)
- **test: Remove redundant E2E page loads and the fixed reset delay (no-changelog) (#39681)** (de4fb8d)
- **test(core): Cover Microsoft Teams channel and group chat conversations (no-changelog) (#38801)** (4f64f8c)
- **test(engine): Run parity in a separate engine container (no-changelog) (#39441)** (da1e907)

### Chore
- **chore: Bundle/2.x (backport to release-candidate/2.42.x) (#40032)** (d80d403)
- **chore: Bundle/2.x (backport to release-candidate/2.42.x) (#39937)** (92ae665)
- **Trusted team can bypass review requirements** — Members of the `large-scale-changes` GitHub team can now skip required code owner approvals by applying the `large-scale-change` label to their pull requests. The system verifies the label applicant's current team membership, so the exemption automatically expires if they leave the team. (8f29a36)
- **Updated end-to-end test impact mapping** — Internal testing infrastructure was updated to reflect changes in how end-to-end tests map to code impacts, ensuring test coverage remains accurate. (cdbb60e)
- **refactor(core): Separate agent messages from execution state (#39742)** (af36326)
- **refactor(API): Migrate PUT /settings/sso/oidc to the decorator pattern (no-changelog) (#39729)** (3a91c09)
- **refactor(API): Migrate GET data-tables columns endpoint to PublicApiController (no-changelog) (#39772)** (bd2d361)
- **refactor(core): Separate webhook no-response callback (#39684)** (c594413)
- **refactor(API): Migrate GET /settings/sso/oidc to the decorator pattern (no-changelog) (#39728)** (63ae22b)
- **ci: Speed up the PR build job and move the E2E matrix off its path (no-changelog) (#39736)** (41dbfd9)
- **chore: Instruct create pr skill to not include no-changelog when not needed (#39693)** (98a1fc1)
- **chore: Schema-First migration — audit (#39207)** (9bda021)
- **refactor(editor): Cut the MCP settings dependency on experiments and shell modals (no-changelog) (#39491)** (63ee800)
- **refactor(core): Move UrlService to backend services (no-changelog) (#39751)** (256e581)
- **refactor: Move first occurrence seeding into the scheduler's provision (no-changelog) (#39605)** (194f13d)
- **refactor(core): Simplify agent runtime structure (no-changelog) (#39507)** (3584d15)
- **chore(core): Implements `Principal` and `SecurityContext` types (no-chagelog) (#39496)** (6437496)
- **ci: Measure PR coverage only for changed source files (no-changelog) (#39675)** (6752f1b)
- **refactor(API): Migrate community package POST, PATCH, and DELETE routes (no-changelog) (#39346)** (5236578)
- **chore: Improve settings modal responsiveness (#39651)** (d899e8b)
- **build: Upgrade Vitest to v5 (no-changelog) (#39674)** (3f0c7d5)
- **chore: Update create pr skill instructions for engine scope (#39692)** (eb684d2)
- **refactor(core): Extract webhook additional data setup (#39673)** (3ec310d)
- **chore: Replace repeated response-mode child scans with one predicate (#39076)** (7ed93ea)
- **ci: Add nightly workflow that lowers the boundaries baseline (no-changelog) (#39690)** (2dbe4c2)
- **build(editor): Reduce per-file module cost in the vitest suite (#38370)** (5c6c581)
- **ci: Align GitHub Actions versions across workflows (no-changelog) (#39634)** (c32827c)
- **chore: Update e2e impact map (#39688)** (62f08a8)
- **chore: Update node popularity data (#39687)** (c408bac)
- **chore: Update e2e impact map (#39676)** (2f2bac4)
- **refactor(core): Encapsulate webhook response state in WebhookResponder (#39626)** (f21d644)
- **refactor(editor): Decouple MCP access store from shell workflow stores (no-changelog) (#39398)** (c1463d0)
- **chore: Update e2e impact map (#39665)** (80d5be2)
- **refactor(API): Migrate POST /workflows/{workflowId}/test-runs/{runId}/cancel to the decorator pattern (no-changelog) (#39259)** (2742c23)
- **chore: Migrate data-tables table-level endpoints to PublicApiController (#38639)** (88c3962)
- **chore: Add compact agent check commands (no-changelog) (#39624)** (3f4d63c)
- **ci: Remove unused toolchain pilot infrastructure (no-changelog) (#39633)** (212f275)
- **chore: Extract the repeated CodeMirror match-before-cursor guard in the code editor completions (#39600)** (8ccb6cd)
- **chore: Remove the duplicate credential check from activity expansion (#39547)** (4d6ce95)
- **chore: Centralize conversation-history message ordering (#39599)** (ea66d19)
- **chore: Use one credential-scope check for activity categories (#39598)** (29b9421)
- **chore: Reuse the version-name detail helper for activity events (#39595)** (2a205c2)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/n8n-io/n8n?utm_source=github-action)._