Skip to content
News

n8n 2.47: what's new and should you upgrade

What's new in n8n 2.47: an on/off switch for n8n Assistant, Agent version history, Postgres SSL certificates, fairer queue mode, and which version to run.

By then8nblog Editors5 min read
Tested on n8n 2.47.0
Illustration of the n8n 2.47 release roundup: an on/off switch for n8n Assistant (N8N_INSTANCE_AI_ENABLED), Agent version history, Postgres SSL certificates, and an upgrade tested from 2.46.4 to 2.47.0

n8n 2.47.0 was released on November 3, 2026 on the beta track. The changes most people will notice: admins can now turn n8n Assistant on or off (with a new N8N_INSTANCE_AI_ENABLED variable), Agents get version history and a publication timeline, and the Postgres credential accepts your own SSL certificates. For production, the current stable release is 2.46.4.

The short version

  • Which version to run: on November 4, 2026, npm's stable and latest tags point to 2.46.4, and beta, next and rc to 2.47.0.
  • n8n Assistant switch: a setting and an env var to turn the Assistant on or off. If you set neither, it's off on the Enterprise plan and on for all other plans.
  • Agents: version history, a publication timeline, and saved versions you can publish independently of the draft.
  • Postgres: the credential gains CA Certificate, Client Private Key and Client Certificate fields.
  • Queue mode: new jobs go to idle workers in turn, and a stop request now stops the job on the worker.
  • 3.0 Migration Report: shows each workflow's project, adds resolution guidance, and re-syncs its findings after an upgrade.
  • Our upgrade test: a 2.46.4 instance upgraded to 2.47.0 without issues, and JavaScript and Python Code nodes kept working.

Should you upgrade?

  • Production instances: stay on 2.46.4, the stable release. Our n8n 2.46 roundup covers what changed from 2.45.
  • Test or staging instances: try 2.47.0 if you use queue mode, connect to Postgres over SSL with your own certificates, build Agents, or are preparing for 3.0 with the Migration Report.

Pin the exact version in Docker Compose, and give the task runner the same tag:

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n:2.47.0
  task-runners:
    image: n8nio/runners:2.47.0

Take a backup before you upgrade. Our guide on how to update self-hosted n8n safely has the steps.

Turn n8n Assistant on or off

2.47.0 adds "an on/off switch and env var for the n8n Assistant", per the changelog. n8n Assistant is the chat helper that builds and edits workflows from a prompt. The variable is N8N_INSTANCE_AI_ENABLED, which isn't in 2.46.4. According to its description in n8n's source:

  • It sets whether the Assistant is on when no admin has turned it on or off in Settings > Assistant.
  • When it's unset, the Assistant is off on the Enterprise plan and on for all other plans.
  • A choice saved in Settings > Assistant overrides the variable.

So if you want the Assistant off on a self-hosted instance from the first start, set it in your Compose file:

services:
  n8n:
    environment:
      - N8N_INSTANCE_AI_ENABLED=false

Other Assistant changes in 2.47.0: it can read unsaved manual executions, its requests and model fallback go through your environment's proxy settings, and skills it creates or edits show up as artifacts. The Assistant and MCP clients can also update credential descriptions. We didn't test the Assistant itself, because self-hosted instances need their own AI provider account for it.

Agents: version history and independent publishing

Agents (the standalone agents in a project, not the AI Agent node; see our Agents explainer) get:

  • Version history and a publication timeline.
  • Saved versions you can publish independently of drafts, so you can keep editing a draft while an earlier version stays live.
  • A 25 MB upload limit for agent knowledge files.
  • Better memory: improved episodic recall, recalled and flagged memories in session traces, and a redesigned session trace.
  • MCP tools to read Agent session logs.

The upgrade ran several Agent database migrations, including AddAgentVersionMetadata, CreateAgentPublishHistory and BackfillAgentDraftVersions.

Postgres SSL certificates

The Postgres credential has three new fields in 2.47.0: CA Certificate, Client Private Key and Client Certificate. The credential source shows them only when SSL is set to Allow or Require.

Queue mode fixes

If you run queue mode, 2.47.0 changes how work is spread and stopped. From the changelog:

  • Each new queue job goes to one idle worker in turn.
  • A stop request now stops a job on the worker even when it comes from a different process.
  • Waiting executions are removed from memory on queue workers.
  • Resume attempts for waiting and queued executions are limited.
  • Jobs are included in the claiming list when n8n reads waiting queue jobs.
  • Dynamic time saved is recorded for executions in queue mode.

Migration Report for 3.0

The Migration Report keeps getting ready for n8n 3.0. In 2.47.0:

  • Each workflow's project shows under its name.
  • Rule detail pages add resolution guidance and load their table one page at a time.
  • Findings re-sync after an upgrade, so the report reflects the version you're on.
  • A new $evaluateExpression rule, and the report's wording now matches the docs.
  • Better entries for removed nodes and the Edit Image node, and a recommendation to move alerting into the preExecute hook.
  • Faster scans, with keyset paging and fewer repeated reads.

For every breaking change and when 3.0 is due, see n8n 3.0 breaking changes and how to prepare.

Also new in 2.47.0

  • Webhook signature verification for the Mailchimp Trigger and Venafi TLS Protect Cloud Trigger nodes.
  • Zendesk node: new nodes default to OAuth2 authentication.
  • n8n node: a user get operation.
  • OpenWeatherMap node: uses the credential's base URL and authentication.
  • Outbound MCP OAuth: support for CIMD.
  • Observability: an otel.configure external hook, W3C baggage passed from webhooks to outbound requests, and an upgrade to Sentry v11.
  • Promotions module now loads by default.
  • Apps: the changelog lists early work on Apps (a list page, an app view, and app building in n8n Assistant). The apps module isn't in n8n's default module list in 2.47.0, so a standard instance doesn't load it.

Fixes worth knowing about

The 2.47.0 changelog lists over 100 bug fixes. A few that change behavior or touch security:

  • Workflow-scoped routes need execution:read to read execution data.
  • Internal-only error metadata stays out of REST error responses, and execution redaction now applies to MCP workflow run errors.
  • Runs that fail before their first node no longer count as billable.
  • Self-referencing parameter expressions no longer crash n8n on startup.
  • Expressions: named array keys, Error objects in item data and fields named like Object.prototype methods now read correctly, and template literals that contain new lines keep their text.
  • The Postgres connection pool is rebuilt only when a fresh connection shows the database is reachable.
  • Data Table rows are read without taking the SQLite write lock.
  • Error items go to the error output when the paired item lookup fails.
  • Email Trigger (IMAP) node resolves expressions after activation.
  • Microsoft Teams Trigger node keeps one subscription per resource and removes orphans.
  • The runners base images are pinned, with updated launcher, urllib3 and moment packages.

What we saw when we upgraded

On November 4 we ran n8n 2.46.4 in Docker with the default SQLite database and an external task runner, published a JavaScript Code node workflow and a Python Code node workflow behind webhooks, then switched both images to 2.47.0:

  • 21 database migrations ran on startup, and the log recorded Recorded version change: 2.46.4 -> 2.47.0.
  • JavaScript and Python Code nodes returned the same results through their webhooks as on 2.46.4.
  • The startup deprecation list was unchanged. Both versions warn about the same five variables, such as the N8N_RUNNERS_TASK_TIMEOUT default dropping from 300 to 60 seconds in a future version.

This was a small test instance, so it says nothing about migration time on a large Postgres database.

For all release coverage, see the releases tag.

Sources

  1. n8n 2.47.0 release (n8n on GitHub)
  2. n8n changelog at n8n@2.47.0 (n8n on GitHub)
  3. n8n Assistant configuration (n8n source, instance-ai.config.ts)
  4. Postgres credentials (n8n source, Postgres.credentials.ts)
  5. n8n default modules (n8n source, module-registry.ts)
  6. n8n package versions and dist-tags (npm)

then8nblog Editors

Editorial team

The then8nblog editorial team researches every article from n8n's release notes, documentation and source code, states the n8n version each guide was tested on, and has every post reviewed by a human editor before it goes live.