github n8n-io/n8n n8n@2.21.0

latest releases: stable, beta
pre-release2 hours ago

2.21.0 (2026-05-12)

Bug Fixes

  • Add warning to Computer Use install modal (#30094) (ecf96ad)
  • ai-builder: Allow restoring archived workflows from Instance AI (#29813) (a33a89a)
  • ai-builder: Preserve collected planning context (#29916) (5e3aa1a)
  • ai-builder: Resolve HitlTool variants to base node in get_node_types (#29731) (ed9471a)
  • Airtable Node: Fix typecast option dropping attachment field updates (#29556) (0cafc71)
  • Align undici override across major versions (#30028) (6b893b4)
  • Calendly Trigger Node: Use API v2 for webhook subscriptions (#29771) (0edcdcf)
  • core: Activate agent chat integrations on every main (#30029) (6f4f0a0)
  • core: Add configurable retries and error details to S3 (#28309) (e2576ca)
  • core: Add ESLint rule to prevent error instances in toThrow assertions (#29889) (75ed71c)
  • core: Add liveness timeouts for Instance AI (#30145) (52a4bcb)
  • core: Add support for context establishment hooks in webhook mode (#29893) (04e9b25)
  • core: Add workflow structure validation (#29699) (bec74ae)
  • core: Advance Postgres IDENTITY sequences after entity import (#29762) (ca33060)
  • core: Agent sessions correctly quoting columns in queries for Postgres (#29999) (9f92005)
  • core: Agents called from workflows use the workflows owner/user ID for calling further workflows through the agent (#30242) (9072ee3)
  • core: Allow GIT_SSH_COMMAND in simple-git after 3.36.0 upgrade (#29894) (f42be90)
  • core: Allow profile edits when SSO is no longer active (#29765) (2714f00)
  • core: Allow same-domain redirects in instance-ai web research (TRUST-73) (#30107) (3123f25)
  • core: Always create instance-ai sandbox workspace dirs (TRUST-79) (#30106) (5e88748)
  • core: Avoid MCP get_execution hang on circular references (#30051) (60e23e1)
  • core: Check npm provenance in community package scanner (#29667) (804f51c)
  • core: Clarify 0-based indexing in workflow SDK prompts and JSDoc (#29734) (fba873c)
  • core: Clarify agent builder prompt guidance (#30127) (75646c4)
  • core: Defer credential setup during workflow builds (#30181) (bb73952)
  • core: Emit missing auth audit events for OIDC and SSO-restricted login (#29856) (dd812c5)
  • core: Export boolean CSV values as true/false for Data Tables (#30007) (94d91e1)
  • core: Filter WaitTracker to only poll waiting executions (#29898) (5c7921f)
  • core: Fix duplicate task request on runner defer (#28315) (80c8a6c)
  • core: Harden axios error handling against non-string error stack (#29100) (2dbf02e)
  • core: Improve AI chat file upload handling and error states (#29701) (afe119b)
  • core: Improve documentation usage in mcp tools (#30210) (e8827cd)
  • core: Initialise encryption key proxy on worker and webhook instances (#29912) (ae57e60)
  • core: Inline AI_NODE_SDK_VERSION to save memory by not loading @n8n/ai-utilities on boot (#30113) (f709e53)
  • core: Persist agent chat draft across modes and hide unfinished tool-approval toggle (#30123) (7094b48)
  • core: Preserve node positions on AI workflow updates (#29850) (f2764f0)
  • core: Prevent proxy layer accumulation in ObservableObject (#30129) (0a76135)
  • core: Propagate waitTill from worker to main in scaling mode (#30099) (3702ff8)
  • core: Scope credential resolution (#30156) (174f0f8)
  • core: Simple-git update broke https connection (#29998) (01300e9)
  • core: Simplify Slack redirect URL verification process for agents (#30033) (8201281)
  • core: Skip disabled tool nodes when mapping AI Agent tool sources (#29460) (bd7eeb7)
  • core: Skip unknown fixedCollection keys instead of throwing (#29689) (a30772c)
  • core: Stop applying node-defined sensitive output fields to runtime data (#30198) (f4e8088)
  • core: Stop logging password reset token values (#29405) (bc8d196)
  • core: Support type filters on global credential lookups (#30002) (8e0f37d)
  • core: Throw on bare OutputSelector passed to .add()/.to() (#29736) (60a5122)
  • core: Validate AI builder credential IDs before save (#30070) (ceaebc6)
  • Correct connect.html path in browser extension (#29714) (9b3b29b)
  • EditImage Node: Fix composite operation failing with stream empty buffer (#30088) (0cc163b)
  • editor: Add expand/collapse to chat panel in Agents (#30069) (f87094c)
  • editor: Disable chat during interactive agent choices (#30111) (8171cf0)
  • editor: Fix Agents styling issues from merge regression (#30032) (478d499)
  • editor: Fix collapse/expand for Chat sidebar (#29378) (ee847d1)
  • editor: Improve sidebar new resource menu UX (#29597) (d5af542)
  • editor: Make sure trimmed placeholder never reaches backend (#29842) (f7c7acc)
  • editor: Match input height with mode selector in resource locator (#30075) (277431b)
  • editor: Polish encryption keys settings page (#30008) (5cbd2dd)
  • editor: Preserve decimal suffix when duplicating a node (#29541) (08a36d7)
  • editor: Refresh node icon when diff sidebar selection changes (#29816) (ff41613)
  • editor: Rename canvas header dropdown action to Description (#29719) (49e7b05)
  • editor: Rename encryption keys "Type" column to "Status" (#29966) (e71afed)
  • editor: Render tooltips above popovers (#29997) (ba5b3d1)
  • editor: Resolve expressions in 'Go to Sub-workflow' navigation (#29843) (d6bae35)
  • Fix 15 security issues in fast-xml-builder, basic-ftp, fast-uri and 5 more (#30169) (267fe49)
  • Git Node: Restore Clone and other operations on simple-git 3.36+ (#30223) (a8aa955)
  • Google Chat Node: Clarify message resource name field (#29964) (55df7cb)
  • Google Sheets Node: Reduce duplicate API calls in append operation to avoid quota limits (#29444) (d63e1ae)
  • Handle IMAP fetch errors to prevent instance crash and stuck workflows (#29469) (46d52ff)
  • HTTP Request Node: Validate URL type in older node versions (#29886) (29a864c)
  • MongoDB Node: Resolve collection parameter per item in write operations (#29956) (582b6ae)
  • Notion Node: Paginate Get Many operations beyond 100-item API cap (#29690) (d318bc1)
  • Notion Node: Serialize staticData as ISO string in NotionTrigger (#29688) (d2e1eb3)
  • Notion Node: Update UI URLs from notion.so to notion.com ahead of domain migration (#29861) (3593131)
  • Oracle DB Node: Handle the test failures (#28341) (0697562)
  • Restore broken stdlib calls in Python Code node (#29776) (a786476)
  • RSS Feed Read Node: Respect proxy settings (#30059) (2e046d5)
  • Salesforce Node: Fix trigger not firing on repeated record updates (#29107) (f871d44)
  • Schedule Node: Fix hourly intervals that don't divide evenly into 24h (#29778) (1a22c76)
  • Snowflake Node: Fix issue with Insert and Update operations not working (#29339) (4c369e8)
  • Supabase Node: Don't display RPCs in an RLC for the table (#28146) (78aa0e7)
  • Wait Node: Resolve expressions inside Custom HTML form fields (#30060) (7c1a771)
  • YouTube Node: Fix misspelled "unlisted" privacy status value in Video Update operation (#30203) (96b018d)

Features

  • Acuity Scheduling Trigger Node: Add webhook request verification (#29261) (da41470)
  • Add fully dynamic disclaimer to Quick Connect offer (#29852) (b6127d8)
  • ai-builder: Add per-PR eval regression detection vs LangSmith baseline (#29456) (bbe3e2d)
  • ai-builder: Guarantee user-visible output on terminal states (#29636) (4d9e624)
  • Asana Trigger Node: Add webhook request verification (#29258) (94e4033)
  • Cal Trigger Node: Add webhook request verification (#29484) (3276edc)
  • Calendly Trigger Node: Add webhook request verification (#29482) (e929f9f)
  • core: Accept merge.input(n) inside ifElse/switch branch targets in workflow-sdk (#29716) (34f2107)
  • core: Add flag to import workflow cli to activate workflow on import (#29770) (283071e)
  • core: Add IP rate limiting to dynamic credential authentication endpoints (#30199) (515ae7c)
  • core: Add MCP tool to list credentials (#29438) (d6cc3be)
  • core: Add multi-config evaluations backend (#29784) (8116e0a)
  • core: Add n8n-object-validation ESLint rule for community nodes (#29698) (701f9a4)
  • core: Add no-template-placeholders ESLint rule for community nodes (#29796) (c4056b2)
  • core: Add observational memory storage foundation (#29814) (be4ef22)
  • core: Define community packages with environment variables (#29961) (730c3e1)
  • core: Generate service-specific OAuth2 credentials for dedicated MCP tools (#29884) (8617067)
  • core: Server-side pagination, sorting, and filtering for encryption keys (#29708) (9afbe13)
  • core: Transform MCP server configs into dedicated MCP tools (#29493) (4dce41f)
  • core: Use McpManagerClient and enforce whether MCP server connections are allowed (#29694) (8235474)
  • Customer.io Trigger Node: Add webhook request verification (#29480) (a772016)
  • editor: Add envFeatureFlag and copyButton property options (#29733) (75053fe)
  • editor: Cap eval concurrency slider at admin-set limit (#29807) (6232de4)
  • editor: Eval run detail loading + error states (TRUST-70 follow-up) (#29817) (6f9b99a)
  • editor: Redesign evaluation run detail page (#29592) (9014bae)
  • editor: Show locked state and permission notice on data redaction workflow settings (#30022) (7635131)
  • Figma Trigger Node: Add OAuth2 authentication support (#30079) (e3e70d6)
  • Figma Trigger Node: Add webhook request verification (#29262) (910822f)
  • Formstack Trigger Node: Add webhook request verification (#29495) (4e28652)
  • GitLab Trigger Node: Add webhook request verification (#29260) (fbf89bd)
  • Jira Node: Add OAuth2 (3LO) support (#29414) (4d5bafc)
  • MailerLite Trigger Node: Add webhook request verification (#29491) (12b7cc6)
  • Mautic Trigger Node: Add webhook request verification (#29658) (eaadf19)
  • Microsoft Outlook Node: Add location and attendees fields to calendar events (#29844) (2e21c5f)
  • Microsoft Outlook Node: Add support for recurring event instances (#29802) (dab3653)
  • Onfleet Trigger Node: Add webhook request verification (#29485) (133a5aa)
  • Strava Node: Allow custom OAuth2 scopes (#29972) (5abcae6)
  • Taiga Trigger Node: Add webhook request verification (#29487) (3c97c49)
  • Trello Trigger Node: Add webhook request verification (#29252) (8f1f42d)
  • Twilio Trigger Node: Add webhook request verification (#29259) (acc9643)

Don't miss a new n8n release

NewReleases is sending notifications on new releases.