3.0 upgrade prep: what breaks in the public templates (static scan of 13,429) and how to fix it

Hi all,

On your own instance, Settings > Migration Report is the source of truth for what 3.0 affects. This post is about the public templates, before you import them.

I’ve been getting ready for 3.0 and wanted a sense of how many of the public templates are affected by the breaking changes (v3.0 Breaking changes | Changelog | n8n Docs). So I pulled all 13,429 public templates and checked every node (type + typeVersion) against the removed/changed list.

Summary

  • 9,322: no removed nodes found
  • 2,284 (17%): use at least one node that 3.0 removes or changes
  • 1,823: use community nodes, so I marked them unknown

Most common breaks and their replacements

Node Templates Replace with
AI Agent v1 (typeVersion < 2) 1,493 Current AI Agent (Tools Agent). SQL Agent → recent AI Agent + Postgres/MySQL tool
Function 331 Code node, “Run Once for All Items”
Cron 245 Schedule Trigger
OpenAI (legacy) 113 OpenAI node (AI section)
HTTP Request Tool (legacy) 95 HTTP Request node on the agent’s Tool input

The AI Agent one is the big one: it’s about two-thirds of all the breaks, and it includes the official “AI agent chat” template (1.8M views), which also uses the SerpApi tool. That tool has no direct replacement, so you’d call the SerpApi API through an HTTP Request tool instead.

Limitations. This is a static analysis of the workflow JSON. Nothing gets executed, so a “ready” result only means no removed nodes were found. It isn’t a guarantee the workflow runs on 3.0. Behaviour changes (e.g. Gmail Trigger < 1.4, Slack Trigger signing secret, $getPairedItem) show up as warnings.

I published the results here, one page per template and per integration, plus a paste-your-JSON checker that runs entirely in the browser: https://n8nready.com

It’s a side project and not affiliated with n8n. Corrections are very welcome. If a verdict looks wrong, reply here and I’ll fix the rule. I’m planning to re-scan weekly as templates get updated.

2 個讚

Great scan. One addition: the 3.0 changes a static scan or the Migration Report can name but can’t judge, because they depend on your data:

  • Always Output Data on If and Switch: the empty item now appears only when every output is empty. A branch that used to run on an empty item stops, with no error.
  • The Code node task timeout drops from 300 to 60 seconds. Whether a task breaks depends on how much data it gets on a real day.
  • With SSRF protection on, 3.0 also blocks 100.64.0.0/10, which is Tailscale’s range.

Also, the v3-nightly image currently reports its version as 2.45.0, so n8n --version won’t tell you you’re on 3.0.

I wrote up a way to test your own workflows on 3.0 without touching production, with the traps I hit doing it: Test Your Workflows Before Upgrading to n8n 3.0 | Preflight
(I build Preflight, a replay-testing tool for n8n.)

1 個讚

Thanks Logan, great additions. Those three are exactly the blind spot of a static scan: the JSON looks fine and the behavior only changes with real data. The v3-nightly version string tip is a sneaky one too. I’ll add a “check at runtime” note for If/Switch, the Code node timeout and SSRF on the affected template pages so people know to test those on their own data.