2.29.0 (2026-06-30)
Bug Fixes
- Cap changed-files list to avoid oversized CI process environment (#32949) (1632ad1)
- core: Align markdown task list items (#33020) (a2735a6)
- core: Align pdfjs-dist versions for PDF document loading (#31732) (c2f2edb)
- core: Block deleting a custom role referenced by an SSO mapping rule (#33004) (a013b0f)
- core: Bump file-type to 21.3.2 and migrate to its ESM API (#33096) (8a413bc)
- core: Correct Extract from File output key in document processing best-practices (#32992) (fb5b358)
- core: Ensure project variables override same-key global variables (#33137) (2a32dc7)
- core: Guard runData access in execution retry against missing node run data (#31765) (a91ba62)
- core: Improve backend route handling (#31350) (22167a9)
- core: Improve external secrets provider replacement (#33072) (1e68729)
- core: Include IPv6 loopback [::1] in MCP redirect URI DTO validation (#32801) (26d925f)
- core: Keep task runner serving during graceful shutdown so in-flight executions finish (#32385) (b9cfa25)
- core: Make AI Assistant workflow verification and setup repeatable (#33085) (a00ac27)
- core: OpenAI and Anthropic custom header credentials causing inconsistent behaviours (#33131) (9977e77)
- core: Parse OAuth2 token responses with non-standard content types (#33018) (a3a0a50)
- core: Persist Instance AI assistant output when a turn suspends (#32958) (ffb32b7)
- core: Persist Instance AI user input on receipt (#32917) (4a97d05)
- core: Preserve binary data metadata on S3 copy and rename (#33089) (4cff812)
- core: Prevent partial execution crash when the start node is disabled (#32654) (f1b1ee6)
- core: Prevent startup failure from partially-installed community packages (#32909) (a99862d)
- core: Propagate graceful-shutdown timeout to internal task runner (#32944) (4364046)
- core: Release database ping connection when the health check times out (#32838) (22b67a3)
- core: Remove duplicated sub-agent list (#33015) (8acefa2)
- core: Report IAI agent background failures to Sentry (#32972) (abed4a3)
- core: Resolve expression-mode $self values in credential templates (#32970) (2f35448)
- core: Route clarifying questions through ask-user (#32871) (5f4d196)
- core: Route split in batches chains through loop output (#32968) (7830cec)
- core: Run node-type-gated validators in MCP workflow build tools (#31247) (fb6e1b1)
- core: Serialize OAuth2 credential refresh to prevent rotating refresh-token invalidation (#33092) (b14a98d)
- core: Serialize source control work folder operations (#32857) (65660a4)
- core: Track builder workflow telemetry when execution fails to launch (#33003) (85fc9a4)
- core: Trim whitespace from webhook path on registration (#33022) (00e8224)
- core: Use regional AWS STS endpoints in China and GovCloud (#32825) (3dee0ff)
- core: Verify Instance AI workflows before setup (#32872) (274339f)
- Databricks Node: Allow configuring the token-expired status code on OAuth2 credential (#32824) (3987803)
- Disabling community module does not crash the instance (#33087) (638d828)
- editor: Align Referenced resources chip tooltip placement (#30692) (8e193e4)
- editor: Disable data table creation on read-only instances (#32863) (30eaf30)
- editor: Fix abbreviateNumber rollover and large-number handling (#32689) (2c0e2c9)
- editor: Fix InputTriple responsive behaviour in NDV parameters (#31633) (7772769)
- editor: Instance AI thread, navigation, and UX fixes (#32870) (0c92df7)
- editor: Redirect to project home after archiving or deleting a workflow (#32971) (2a613a0)
- editor: Replace radio buttons with checkmark in instance role dropdown (#33242) (1a00b07)
- editor: Show execution link on failed evaluation test cases (#32873) (30fd834)
- editor: Show filters as required conditions (#26541) (29e8163)
- editor: Show logs panel actions menu (#33034) (9fda7b3)
- editor: Sort move workflow project dropdown alphabetically (#33150) (3ee1b22)
- editor: Surface Human review node in add-node search (#32327) (247efd4)
- editor: Transfer ownership or delete data tables when user deleted (#33037) (0a97fe8)
- Email Read Imap Node: Default to 7BIT when a message part has no encoding (#32914) (6a3ad57)
- ExecuteCommand Node respects abort signal (#32865) (21d979a)
- Facebook Graph API Node: Route error responses to error output branch (#23832) (c5233d2)
- Facebook Graph API Node: Route failed items to the error output (#32027) (7b4a10f)
- Google Vertex Chat Model Node: Support newer Gemini models and EU/US data residency (#33135) (3955bca)
- Include cwd in shell_execute affected resources (#32165) (1a7b48d)
- MCP Client Tool Node: Reuse the MCP session across tool calls in an execution (#32477) (8565107)
- MCP Server Trigger Node: Propagate tool errors with isError flag in MCP responses (#28510) (486173a)
- Microsoft Teams Node: Downgrade OAuth2 scope from Group.ReadWrite.All to Group.Read.All (#28141) (d307cae)
- MySQL Node: Route query parameter validation errors to error output (#31888) (1fa6566)
- Notion Trigger Node: Handle empty results when polling for updates (#31739) (7e3d181)
- OpenAI Node: Convert binary stream to buffer before FormData append (#26530) (cd480af)
- OpenAI Node: Use output_text for assistant messages in Message a Model (#32822) (7f0d22b)
- Populate mutation-health ledger churn/fix_density from setup (#32903) (0ef6044)
- Postgres Node: Prevent execution context retention (#32730) (06ceccb)
- Prefer placeholders over pre-build setup questions (#32969) (02df832)
- Preserve AI Assistant Anthropic reasoning through proxy (#33193) (8854452)
- Reload symlinked community node changes without restart (#32774) (f727ff2)
- Restore sticky note paragraph spacing without breaking code (#32704) (750f336)
- Salesforce Node: Use server-side search for owner selectors (#32815) (8027463)
- Schedule Node: Fix schedules that permanently stop firing (#32877) (ec82d3a)
- WooCommerce Node: Validate resource ID and isolate query params per item (#32987) (957e7b5)
Features
- Add configurable blocked hostnames for outbound requests (#32977) (b4c4c16)
- Add Microsoft Entra Service Principal credential (#32759) (a5d4cfd)
- Add no-duplicate-param-options community node lint rule (#32930) (191c454)
- Add require-mit-license rule for community nodes (#32859) (e22a99b)
- API: List members of a global instance role (#32836) (cb8dd25)
- Browser use can be enabled/disabled separately from computer use (#33026) (26ca75e)
- Browser Use connects directly to n8n instance without Computer Use (#32680) (78e3d3d)
- core: Add Azure storage mode for binary data (#32837) (4226c01)
- core: Add credential:connect scope for private credentials (#33070) (bd751d1)
- core: Add database connection pool metrics (#32670) (673b19f)
- core: Add MCP tools to access and restore workflow history (#32337) (f7776e2)
- core: Add RFC 9207 iss parameter to MCP OAuth authorization responses (#32806) (5331dab)
- core: Add trigger-node-conventions ESLint rule for community nodes (#32929) (09f070b)
- core: Allow mcp to set workflow settings (#32809) (beacac4)
- core: Display canvas groups in execution view (#32864) (9d95a54)
- core: Expose $evaluation.runId expression global in eval executions (#32843) (52e7df6)
- core: Fix building incorrect chained nodes (#32844) (291fd20)
- core: Ground Instance AI credential setup help in n8n docs (#32817) (9736113)
- core: Remove user's instance AI data on user deletion (#33217) (799b789)
- core: Show alert when selected time range for insights lacks data (#33180) (f4e7016)
- core: Split obersvation memory into its own system prompt block to hold cache (#32923) (d3f1164)
- core: Support skill references and allowed tools (#33159) (77b54e6)
- core: Synthesize type definitions for custom and community nodes in MCP (#32885) (c5689d4)
- core: Turn Chat Hub off by default for instances not using it (#33136) (c108dbf)
- editor: Add AI disclaimer to Instance AI chat (#33101) (10df853)
- editor: Add instance role create/edit/view page behind env flag (#32942) (c54ed48)
- editor: Add instance role permission grouping config and selector (#32907) (9308fd9)
- editor: Add reusable PrivateCredentialIcon component (#32866) (0d00912)
- editor: Add users assignments tab to the instance role editor (#32956) (1d46876)
- editor: Allow assigning custom instance roles and restyle the Users page role dropdown (#33029) (1439e10)
- editor: Show AI Assistant disclaimer only after the AI responds (#33234) (43a13b7)
- Emit churn and fix_density on mutation-health ledger rows (#32858) (a6708b5)
- GitHub Node: Add GitHub App API credential (#31235) (9dce298)
- Introduce reusable blob storage layer (#33116) (105195e)
- Microsoft OneDrive Node: Add Service Principal (app-only) authentication (#32911) (563693e)
- Microsoft Outlook Node: Add Service Principal (app-only) authentication (#33098) (00519e1)
- N8n browser extension supports connecting directly to n8n instance (#32783) (93c4e7e)
- Slack Node: Add schedule message and look up user by email operations (#31243) (e82804a)
- Snowflake Node: Add optional origin hostname support (#29653) (a1b8873)
- Update AI Assistant input disclaimer copy (#33213) (0e51d9d)
- xAI Grok Chat Model Node: Add reasoning effort and priority options (#32931) (e58bc8a)