Release Notes

2.27.0 (2026-06-16)

This release includes a database migration that adds an index to the execution_entity table. On large instances the migration may take several minutes to complete — this is expected and the database remains available during the process.

Bug Fixes

  • API: Make conditional credential fields optional instead of forbidden (#32010) (0ab043c)
  • Bump task-runner-launcher to 1.4.7 to clear stdlib CVEs (#32095) (4d974e3)
  • Computer use disconnect status on client stop (#32059) (5c61d0e)
  • core: Add RFC 8707 resource parameter to client-side OAuth flow (#30924) (04b4a79)
  • core: Allow publishing workflows that use private credentials (#32306) (27d8426)
  • core: Enforce API key scope/endpoint parity in public API (#32231) (58999f0)
  • core: Ensure workflows that fail to activate are removed from active, preventing unintended executions (#31767) (79d1695)
  • core: Fix workers processing queued jobs before module initialization completes (#32145) (506461f)
  • core: Hide resource URL for synthetic OAuth2 credentials for MCP registry tools (#32351) (51fe9ff)
  • core: Include indexes and TOAST in Postgres data table size (#31606) (c9f4aa8)
  • core: Preserve trailing letter-less text in toSentenceCase() exp… (#32242) (7a77898)
  • core: Prevent nodes from throwing context.getNodeParameter is not a function when n8n is installed via npm (#32123) (a254a89)
  • core: Prevent pollers from starting executions for old workflow versions when registered while in-flight (#32006) (21c786c)
  • core: Prevent post-execution writes against closed pool on worker shutdown (#31915) (3059088)
  • core: Prevent queue recovery from marking waiting executions as crashed (#32316) (c4c0e91)
  • core: Propagate sub-workflow errors to parent after wait resume (#31927) (6afba57)
  • core: Remove user:enforceMfa from public API key scopes (#32223) (3c39a0e)
  • core: Retry role mapping create order conflicts (#30687) (448c114)
  • core: Surface a final response when a builder follow-up completes silently (#31986) (29abe78)
  • core: Throw a clear error for $evaluateExpression in the Code node under secure mode (#31721) (fbad049)
  • core: Upgrade nodemailer to 8.0.10 (DEVP-401) (#31998) (c339095)
  • core: Use npm's bundled node-gyp for isolated-vm Docker rebuild (#32158) (67cdf44)
  • Correct Form URL Encoded label in HTTP Request node (#31852) (ff7f35e)
  • editor: Agent builder progress log lines visual glitches (#32077) (f9496c2)
  • editor: Auto-reload editor on stale Vite chunk preload error (#31747) (2f3ebb6)
  • editor: Close credential modal after successful setup (#31925) (7b2c722)
  • editor: Harden credential modal against async hangs (#31292) (037bdb2)
  • editor: Hide template setup button once setup is complete (#31912) (af9caff)
  • editor: Insert instance ai prompt suggestions instead of submit (#32008) (3386aa8)
  • editor: Make workflow settings and actions menu work in the AI artifact view (#32082) (5a28683)
  • editor: Mute Never expiration in API keys table (#32224) (115d9c7)
  • editor: Open sticky note color picker from context menu (#31917) (0685db8)
  • editor: Preserve loaded options value when navigating between nodes (#31946) (f6e5705)
  • editor: Refresh Instance AI workflow preview on update and restore-version (#31904) (f2c764a)
  • editor: Remove 'Building your agent' loading state and go straight to full-page builder (#32120) (d553602)
  • editor: Restore cross-origin notification after OAuth popup completes (#32087) (090fa9e)
  • editor: Scope publish history scrollbar to timeline sidebar (#31661) (497226e)
  • editor: Send only credential id when authorizing OAuth credentials (#31926) (4f10853)
  • editor: Show AI assistant error when stream ends with unparseable content (#32068) (a7b910f)
  • editor: Show an error when imported JSON is not a valid workflow (#31782) (0731871)
  • editor: Show correct project in workflow breadcrumb for projectId links (#32103) (fd23d4d)
  • editor: Show run data of stopped executions in scaling mode (#32142) (889769a)
  • editor: Skip external-secrets fetch on Community Edition (#31906) (f6518a5)
  • editor: Stop showing deleted resources in dependency pill (#32106) (4e10568)
  • editor: Truncate long API key labels in settings table (#32232) (607634a)
  • editor: Use workflow-scoped credential fetch in node credential picker (#31938) (8cd67d3)
  • Fix 4 security issues in @grpc/grpc-js, hono (#32281) (e292779)
  • Fix security issue in shell-quote via minor version upgrade from 1.8.3 to 1.8.4 (SEC-809) (#32107) (131e4ea)
  • Http Request Node: Preserve multipart filenames for binary uploads (#29022) (f412820)
  • Kafka Node: Distinguish the Schema Registry credential from the Kafka credential (#32335) (41ee940)
  • Move unstable PURL-pinned overrides to version-agnostic byName (#31985) (e77dd74)
  • Oracle Database Node: Support OUT bind parameters (#30083) (d3406dd)
  • Require justified mutants in mutation-health gate (#32340) (b3a34fc)
  • Set task status to 'cancelled' in BackgroundTaskManager.cancelAll() (#31764) (5733fb7)
  • Store messages even if stream is undrained (#32119) (f2da1d1)

Features

  • Calendly Trigger Node: Deprecate API key auth and default to OAuth2 (#28367) (3f88c6e)
  • Computer use supports reading local pdf and image files (#30704) (b810bfd)
  • core: Add cred-filename-against-convention community node lint rule (#32356) (e436e1a)
  • core: Add explore_node_resources MCP tool (#31018) (9373433)
  • core: Add Instance AI builder planning guardrails (#31984) (63cdd9f)
  • core: Add instance settings env telemetry (#31949) (3753c34)
  • core: Add OpenTelemetry test trace endpoint and settings button (#32333) (4fde44b)
  • core: Add output redactor guardrail for instance AI use (#31929) (06df815)
  • core: Add S3 storage mode for execution data (#32226) (2a6acf3)
  • core: Add tags support to MCP server (#31446) (1640a69)
  • core: Add telemetry for import/export on server CLI (#32297) (2ac0660)
  • core: Add valid-author community node lint rule (#32357) (029cf72)
  • core: Add validation and size limits to package archive reading (#31812) (e0cb99e)
  • core: Add workflowPublishingPolicy to package import (#31961) (140a319)
  • core: Configure OpenTelemetry settings via UI (#31781) (e2dd95d)
  • core: Email public API key owners when their key is revoked by an admin (#32086) (ac19787)
  • core: Expose DNS cache metrics via PrometheusMetricsService (#32013) (5ab381c)
  • core: Expose SSRF protection check outcomes as Prometheus metrics (#32004) (58c4cd1)
  • core: Introduce credentialBindings for package import (#32228) (f161bf0)
  • core: Make data redaction enforcement generally available (#31966) (2afc32a)
  • core: Remove n8n packages license check (#32317) (93e2f86)
  • core: Workflow import workflowIdPolicy (#32075) (24c264c)
  • editor: Add docs links for data redaction (#32220) (bc90a4b)
  • editor: Allow creating variables and data tables from the universal add menu (#32079) (3cff611)
  • editor: Open API key modal in read-only mode for non-owners (#32254) (9496996)
  • editor: Redesign API key created modal (#32256) (e6bc501)
  • editor: Reposition nodes on group collapse/expand (#32128) (053126f)
  • editor: Rewrite icon picker with search, full Lucide set, emoji sections, and color/skin tone pickers (#25649) (12ba0d0)
  • editor: Use an action menu for API key row actions (#32339) (f80fca2)
  • Force Microsoft account selection on OAuth for all Microsoft credentials (#32015) (939307a)
  • GitHub Node: Introduce get members operation on organization resource (#23822) (05d44e4)
  • JWT Node: Support custom header claims for the Sign operation (#31918) (160cb09)
  • Kafka Node: Add Schema Registry credential type (#32026) (93d9387)
  • LmChatAnthropic Node: Add streaming option (#30991) (cf223af)
  • MCP Server Trigger Node: Add n8n OAuth2 authentication option (#32326) (e7b1c1c)
  • Microsoft OneDrive Node: Support the generic Microsoft OAuth2 credential (#32295) (30b5451)
  • Pipedrive Trigger Node: Allow lead entities to be triggered upon (#23977) (da8b7c7)
  • Reduces delay in displaying AI Assistant workflow preview examples (#32194) (2e9946c)
  • Show the workflow name on the OAuth consent screen (#32362) (7a5c208)

Performance Improvements

  • core: Add partial index on execution_entity to fix executions list CPU spike (#32116) (3b53949)
  • core: Optimize workflow lookups (#24690) (c3b35c1)
  • core: Ungate minimize execution data fetching (#30969) (4b4a76a)

Open in Stage

Review in cubic