๐Ÿš€ n8n 2.0 is coming

์ง€๋‚œ ์ฃผ๋ง n8n 2.0์ด ์†Œ๊ฐœ๋˜์–ด ์ฃผ์š” ๋‚ด์šฉ์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. AI ์ธ๊ธฐ์™€ ํ•จ๊ป˜ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ๋„๊ตฌ์ธ ๋งŒํผ, ํ•œ ๋ฒˆ ์‚ดํŽด๋ณด์…”๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. n8n v2.0 breaking changes | n8n Docs ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ง€๋‚œ ์ˆ˜๋…„๊ฐ„ Fair-code ๋ผ์ด์„ ์Šค ๋ชจ๋ธ๊ณผ ๊ฐ•๋ ฅํ•œ ํ™•์žฅ์„ฑ์„ ๋ฐ”ํƒ•์œผ๋กœ Zapier๋‚˜ Make์™€ ๊ฐ™์€ ํ์‡„ํ˜• SaaS ์†”๋ฃจ์…˜์˜ ๊ฐ•๋ ฅํ•œ ๋Œ€์•ˆ์œผ๋กœ ์„ฑ์žฅํ•ด์˜จ n8n์ด 2025๋…„ 12์›” 8์ผ 2.0(๋ฒ ํƒ€)๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋™์•ˆ n8n์ด โ€˜๊ฐœ์ธ์šฉ ํˆดโ€™์ด๋ผ๋Š” ์ด๋ฏธ์ง€๋ฅผ ๋ฒ—๊ณ  โ€˜์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ์šด์˜ OSโ€™ ๋กœ ๋„์•ฝํ•˜๊ฒ ๋‹ค๋Š” ์˜์ง€๊ฐ€ ๋‹ด๊ธด ๋ฆฌ๋นŒ๋”ฉ์œผ๋กœ ๋ณด์—ฌ์ง€๋Š”๋ฐ n8n 2.0 ์— ๋Œ€ํ•ด์„œ ๊ฐ€๋ณ๊ฒŒ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

2.0 ํ•ต์‹ฌ ํ…Œ๋งˆ

๋ฒ„์ „ 1.x ์—์„œ์˜ n8n์€ ๋น ๋ฅธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€์™€ ๊ฐœ๋ฐœ์ž ์นœํ™”์ ์ธ ์œ ์—ฐ์„ฑ์— ์ดˆ์ ์„ ๋งž์ถ˜ ๋‚˜๋จธ์ง€, ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ™˜๊ฒฝ์—์„œ ์š”๊ตฌ๋˜๋Š” ์—„๊ฒฉํ•œ ๋ณด์•ˆ ํ†ต์ œ์™€ ์šด์˜ ์•ˆ์ •์„ฑ ์ธก๋ฉด์—์„œ๋Š” ์ผ๋ถ€ ํƒ€ํ˜‘์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

n8n 2.0์€ ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ์  ๋ถ€์ฑ„๋ฅผ ์ฒญ์‚ฐํ•˜๊ณ , โ€œ๊ธฐ๋ณธ์ ์ธ ๋ณด์•ˆ(Secure-by-Default)โ€, โ€œ์šด์˜์˜ ์‹ ๋ขฐ์„ฑ(Reliability)โ€, ๊ทธ๋ฆฌ๊ณ  "์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์„ฑ๋Šฅ(Predictable Performance)"์ด๋ผ๋Š” ์„ธ ๊ฐ€์ง€ ํ•ต์‹ฌ ์ถ• ์œ„์— ํ”Œ๋žซํผ์„ ๋ฆฌ๋นŒ๋”ฉํ–ˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” n8n์ด ๋” ์ด์ƒ ๊ฐœ์ธ ๊ฐœ๋ฐœ์ž๋‚˜ ์†Œ๊ทœ๋ชจ ํŒ€์„ ์œ„ํ•œ ๋„๊ตฌ์— ๋จธ๋ฌด๋ฅด์ง€ ์•Š๊ณ , ๊ธˆ์œต, ์˜๋ฃŒ, ๋Œ€๊ทœ๋ชจ IT ์šด์˜ ์กฐ์ง(ITOps) ๋“ฑ ๋ฏธ์…˜ ํฌ๋ฆฌํ‹ฐ์ปฌํ•œ ์›Œํฌ๋กœ๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์กฐ์ง์˜ ํ•ต์‹ฌ ์ธํ”„๋ผ๋กœ ์ž๋ฆฌ๋งค๊น€ํ•˜๊ฒ ๋‹ค๋Š” ์˜์ง€๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

  • Secure-by-Default
  • Reliability
  • Predictable Performance

์ƒˆ๋กญ๊ฒŒ ๋ฐ”๋€ ๋ถ€๋ถ„

:pushpin:์ €์žฅ(Save)๊ณผ ๋ฐœํ–‰(Publish)์˜ ๋ถ„๋ฆฌ

์ง€๊ธˆ๊นŒ์ง€๋Š” ์ž‘์—… ์ค‘์— ๋ฌด์‹ฌ์ฝ” '์ €์žฅโ€™์„ ๋ˆ„๋ฅด๋ฉด ๋ฏธ์™„์„ฑ ๋กœ์ง์ด ์‹ค์‹œ๊ฐ„ ์„œ๋ฒ„์— ๋ฐ˜์˜๋˜์–ด ๋‚œ๊ฐํ–ˆ๋˜ ๊ธฐ์–ต์ด ์žˆ์œผ์‹ค ํ…๋ฐ์š”.

  • 1.x: โ€˜์ €์žฅโ€™์„ ๋ˆ„๋ฅด๋ฉด ๋ผ์ด๋ธŒ ์„œ๋ฒ„์— ๋ฐ”๋กœ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.

  • 2.0: '์ €์žฅโ€™์€ ์ดˆ์•ˆ์„ ์ €์žฅํ•˜๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. ์‹ค์ œ ๋ผ์ด๋ธŒ ์„œ๋ฒ„์—๋Š” โ€˜๋ฐœํ–‰(Publish)โ€™ ๋ฒ„ํŠผ์„ ๋ช…์‹œ์ ์œผ๋กœ ๋ˆŒ๋Ÿฌ์•ผ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. https://docs.n8n.io/workflows/publish/#saving-and-publishing-workflows

์šด์˜ ์ค‘์ธ ์„œ๋น„์Šค๋ฅผ ๋ฉˆ์ถ”์ง€ ์•Š๊ณ ๋„ ๋กœ์ง์„ ์ˆ˜์ •ํ•˜๊ณ  ์‹คํ—˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒŒ๋“œ๋ฐ•์Šค๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. (์ด ๊ตฌ์กฐ ๋•๋ถ„์— 2026๋…„ 1์›”์—๋Š” ์ž๋™ ์ €์žฅ(Autosave) ๊ธฐ๋Šฅ๋„ ๋“ค์–ด์˜จ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.)

:pushpin:ํƒœ์Šคํฌ ๋Ÿฌ๋„ˆ์˜ ๊ธฐ๋ณธ ํ™œ์„ฑํ™”์™€ ํ”„๋กœ์„ธ์Šค ๊ฒฉ๋ฆฌ

๋ณด์•ˆ ์•„ํ‚คํ…์ฒ˜์˜ ๋ณ€ํ™”๋กœ ํƒœ์Šคํฌ ๋Ÿฌ๋„ˆ(Task Runner)์˜ ๊ธฐ๋ณธ ํ™œ์„ฑํ™”์ž…๋‹ˆ๋‹ค.

  • 1.x: ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋‚˜ ํŒŒ์ด์ฌ ์ฝ”๋“œ๋Š” n8n์˜ ๋ฉ”์ธ ํ”„๋กœ์„ธ์Šค(Node.js ์ด๋ฒคํŠธ ๋ฃจํ”„) ๋‚ด์—์„œ ์‹คํ–‰๋˜๊ฑฐ๋‚˜, ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์ด ๋‚ฎ์€ ์ƒŒ๋“œ๋ฐ•์Šค์—์„œ ์‹คํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํŠน์ • ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ๊ณผ๋„ํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ์œ ํ•˜๊ฑฐ๋‚˜ ๋ฌดํ•œ ๋ฃจํ”„์— ๋น ์งˆ ๊ฒฝ์šฐ, n8n ์„œ๋ฒ„ ์ „์ฒด๊ฐ€ ๋ฉˆ์ถœ ์ˆ˜ ์žˆ๋Š” ์œ„ํ—˜์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

  • 2.0: n8n 2.0์—์„œ๋Š” ๋ชจ๋“  ์ฝ”๋“œ ๋…ธ๋“œ(Code Node)์˜ ์‹คํ–‰์ด ๋ณ„๋„์˜ ๊ฒฉ๋ฆฌ๋œ ํ”„๋กœ์„ธ์Šค์ธ 'ํƒœ์Šคํฌ ๋Ÿฌ๋„ˆโ€™์— ์œ„์ž„๋ฉ๋‹ˆ๋‹ค. ์ด์ œ ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋Š” n8n ์ฝ”์–ด ์—”์ง„๊ณผ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ถ„๋ฆฌ๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์‚ฌ์šฉ์ž ์ฝ”๋“œ๊ฐ€ ์ถฉ๋Œํ•˜๊ฑฐ๋‚˜ ํ—ˆ์šฉ๋œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด, ํƒœ์Šคํฌ ๋Ÿฌ๋„ˆ ํ”„๋กœ์„ธ์Šค๋งŒ ์ข…๋ฃŒ๋  ๋ฟ n8n ๋ฉ”์ธ ์„œ๋ฒ„๋Š” ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค. https://docs.n8n.io/hosting/configuration/task-runners/#task-runner-modes

๋‹จ์ˆœํžˆ ์•ˆ์ •์„ฑ์„ ๋†’์ด๋Š” ๊ฒƒ์„ ๋„˜์–ด ๋ณด์•ˆ ๊ฒฉ๋ฆฌ(Security Isolation)๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์›Œํฌํ”Œ๋กœ์šฐ ์‹คํ–‰ ํ™˜๊ฒฝ์ด ์ƒŒ๋“œ๋ฐ•์Šคํ™”๋จ์— ๋”ฐ๋ผ, ์›๊ฒฉ ์ฝ”๋“œ ์‹คํ–‰(RCE) ์ทจ์•ฝ์ ์ด ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ๊ณต๊ฒฉ์ž๊ฐ€ ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ์œผ๋กœ ๊ถŒํ•œ์„ ์ƒ์Šน์‹œํ‚ค๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์–ด๋ ค์›Œ์ง‘๋‹ˆ๋‹ค.

:pushpin:ํŒŒ์ด์˜ค๋‹ค์ด๋“œ(Pyodide) ์ œ๊ฑฐ์™€ ๋„ค์ดํ‹ฐ๋ธŒ ํŒŒ์ด์ฌ ํ†ตํ•ฉ

1.x ๋ฒ„์ „์—์„œ Python ์ง€์›์€ ์›น์–ด์…ˆ๋ธ”๋ฆฌ(WASM) ๊ธฐ๋ฐ˜์˜ ํŒŒ์ด์˜ค๋‹ค์ด๋“œ(Pyodide)๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ธŒ๋ผ์šฐ์ €๋‚˜ Node.js ํ™˜๊ฒฝ์—์„œ ํŒŒ์ด์ฌ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ์ˆ ์ด์—ˆ์ง€๋งŒ, ์„ฑ๋Šฅ์ƒ์˜ ํ•œ๊ณ„์™€ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(pip ํŒจํ‚ค์ง€) ์‚ฌ์šฉ์˜ ์ œ์•ฝ์ด ์ปธ์Šต๋‹ˆ๋‹ค.

  • 1.x: ์›น์–ด์…ˆ๋ธ”๋ฆฌ ๊ธฐ๋ฐ˜์˜ Pyodide๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋Šฅ๊ณผ ์„ฑ๋Šฅ์— ์ œ์•ฝ์ด ๋งŽ์•˜์Šต๋‹ˆ๋‹ค.

  • 2.0: ์ด์ œ ์šด์˜์ฒด์ œ์˜ ๋„ค์ดํ‹ฐ๋ธŒ Python ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” pandas, numpy, scikit-learn๊ณผ ๊ฐ™์€ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฐ ์ฒ˜๋ฆฌ์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. https://docs.n8n.io/2-0-breaking-changes/#remove-pyodide-based-python-code-node-and-tool

Task Runner ๋„์ž…์˜ ๊ฐ€์žฅ ํฐ ์ˆ˜ํ˜œ ์ค‘ ํ•˜๋‚˜๋กœ, n8n์„ ๋‹จ์ˆœํ•œ ์—ฐ๊ฒฐ ๋„๊ตฌ์—์„œ ๋ณธ๊ฒฉ์ ์ธ ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ํŒŒ์ดํ”„๋ผ์ธ ๋„๊ตฌ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

:pushpin:ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ ‘๊ทผ ์ฐจ๋‹จ

์ž๋™ํ™” ๋„๊ตฌ์—์„œ ๊ฐ€์žฅ ํ”ํ•œ ๋ณด์•ˆ ์‚ฌ๊ณ ๋Š” API ํ‚ค๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๊ฐ™์€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์˜ ์œ ์ถœ์ž…๋‹ˆ๋‹ค.

  • 2.0๋ถ€ํ„ฐ๋Š” ์ฝ”๋“œ ๋…ธ๋“œ์—์„œ process.env๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค. (N8N_BLOCK_ENV_ACCESS_IN_NODE=true) https://docs.n8n.io/2-0-breaking-changes/#block-environment-variable-access-from-code-node-by-default

  • 2.0๋ถ€ํ„ฐ๋Š” ์‰˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” Execute Command ๋…ธ๋“œ๋Š” ์ด์ œ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์„œ๋ฒ„ ์„ค์ •์—์„œ ๋ช…์‹œ์ ์œผ๋กœ ํ—ˆ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. https://docs.n8n.io/2-0-breaking-changes/#disable-executecommand-and-localfiletrigger-nodes-by-default

  • 2.0๋ถ€ํ„ฐ๋Š” ์„ค์ • ํŒŒ์ผ์— ๋Œ€ํ•œ ๊ถŒํ•œ์ด 0600(์†Œ์œ ์ž๋งŒ ์ฝ๊ธฐ/์“ฐ๊ธฐ ๊ฐ€๋Šฅ)์œผ๋กœ ๊ฐ•์ œ๋ฉ๋‹ˆ๋‹ค. ๊ณต์œ  ์„œ๋ฒ„ ํ™˜๊ฒฝ์ด๋‚˜ ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ์—์„œ ์ž˜๋ชป๋œ ๊ถŒํ•œ ์„ค์ •์œผ๋กœ ์ธํ•ด ์„ค์ • ํŒŒ์ผ์ด ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋…ธ์ถœ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. https://docs.n8n.io/2-0-breaking-changes/#enforce-settings-file-permissions

:pushpin:MySQL/MariaDB ์ง€์› ์ค‘๋‹จ. PostgreSQL ํ‘œ์ค€์œผ๋กœ ์‚ฌ์šฉ

n8n์€ ์›Œํฌํ”Œ๋กœ์šฐ์˜ ์‹คํ–‰ ์ด๋ ฅ, ๋…ธ๋“œ ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ, ์„ค์ • ์ •๋ณด ๋“ฑ์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. 2.0 ๋ฒ„์ „์—์„œ๋Š” ์„ฑ๋Šฅ๊ณผ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ์œ„ํ•ด ์ง€์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

  • 1.x: ์›Œํฌํ”Œ๋กœ์šฐ ์ž๋™ํ™”์—์„œ ๋‹ค๋ฃจ๋Š” ๋ฐ์ดํ„ฐ๋Š” ๋Œ€๋ถ€๋ถ„ ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ(JSON)์ž…๋‹ˆ๋‹ค. MySQL์€ JSON ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ์ด๋‚˜ ํŠธ๋žœ์žญ์…˜ ๋ฝ ๊ด€๋ฆฌ ์ธก๋ฉด์—์„œ PostgreSQL์— ๋น„ํ•ด ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์ด ๋งŽ์•˜์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋™์‹œ ์‹คํ–‰๋Ÿ‰์ด ๋งŽ์€ ํ™˜๊ฒฝ์—์„œ MySQL์€ ๋ฐ๋“œ๋ฝ ์ด์Šˆ๋ฅผ ์ž์ฃผ ์ผ์œผ์ผฐ์œผ๋ฉฐ, ์ด๋Š” n8n ๊ฐœ๋ฐœํŒ€์—๊ฒŒ ๋‘ ๊ฐ€์ง€ ORM ๊ณ„์ธต์„ ์œ ์ง€๋ณด์ˆ˜ํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋‹ด์„ ์ฃผ์—ˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

  • 2.0: ํ‘œ์ค€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ PostgreSQL์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. PostgreSQL์˜ ๊ฐ•๋ ฅํ•œ MVCC ๋ชจ๋ธ์€ ๋Œ€๋Ÿ‰์˜ ์“ฐ๊ธฐ ์ž‘์—…(๋กœ๊น…)๊ณผ ์ฝ๊ธฐ ์ž‘์—…์ด ๋™์‹œ์— ๋ฐœ์ƒํ•˜๋Š” n8n์˜ ์›Œํฌ๋กœ๋“œ์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์žฅ๊ธฐ์ ์œผ๋กœ ํ”Œ๋žซํผ์˜ ์•ˆ์ •์„ฑ์„ ๋†’์ด๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ จ ๋ฒ„๊ทธ๋ฅผ ์ค„์ด๋Š” ๋ฐ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ•œ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. https://docs.n8n.io/2-0-breaking-changes/#drop-mysqlmariadb-support

:pushpin:SQLite ํ’€๋ง ๋“œ๋ผ์ด๋ฒ„์™€ 10๋ฐฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ

์†Œ๊ทœ๋ชจ ์ž์ฒด ํ˜ธ์ŠคํŒ… ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ธ SQLite์˜ ์„ฑ๋Šฅ์ด ๋Œ€ํญ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • 1.x: SQLite๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํŒŒ์ผ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฏ€๋กœ, ๋™์‹œ์— ์—ฌ๋Ÿฌ ์“ฐ๊ธฐ ์ž‘์—…์ด ์š”์ฒญ๋  ๊ฒฝ์šฐ โ€œDatabase is lockedโ€ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ ์‹คํŒจํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜์Šต๋‹ˆ๋‹ค.

  • 2.0: ์ƒˆ๋กœ์šด SQLite ํ’€๋ง ๋“œ๋ผ์ด๋ฒ„(Pooling Driver)๋ฅผ ๋„์ž…ํ•˜์—ฌ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ์„ ํšจ์œจ์ ์œผ๋กœ ์žฌ์‚ฌ์šฉํ•˜๊ณ  ๋™์‹œ์„ฑ ์ œ์–ด๋ฅผ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฒค์น˜๋งˆํฌ ๊ฒฐ๊ณผ, ์ด๋Š” ๊ธฐ์กด ๋Œ€๋น„ ์ตœ๋Œ€ 10๋ฐฐ์˜ ์†๋„ ํ–ฅ์ƒ์„ ๊ฐ€์ ธ์™”๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. https://docs.n8n.io/2-0-breaking-changes/#remove-sqlite-legacy-driver

:pushpin:๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

์ด๋ฏธ์ง€, PDF, ๋™์˜์ƒ ๋“ฑ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • 1.x: ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ๋ณด๊ด€ํ•˜๋Š” ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ชจ๋“œ๊ฐ€ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ OOM ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•˜์Šต๋‹ˆ๋‹ค.

  • 2.0: ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ๋Š” ๋ฐ˜๋“œ์‹œ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด๋‚˜ S3 ํ˜ธํ™˜ ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅํ•ด์•ผํ•˜๋ฉฐ, N8N_DEFAULT_BINARY_DATA_MODE์˜ ์ธ๋ฉ”๋ชจ๋ฆฌ ์˜ต์…˜์€ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ  ์‹œ์Šคํ…œ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ์กฐ์น˜์ž…๋‹ˆ๋‹ค. https://docs.n8n.io/2-0-breaking-changes/#remove-in-memory-binary-data-mode

:pushpin:์ฝ”์–ด ๋…ธ๋“œ ๋ฐ ๊ธฐํƒ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ

๊ธฐ์กด ํ•ต์‹ฌ ๋…ธ๋“œ๋“ค์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • HTTP Request ๋…ธ๋“œ: 2.0์—์„œ๋„ ์—ฌ์ „ํžˆ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋…ธ๋“œ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ์ธ์ฆ(Generic Auth) ์ง€์›์ด ๊ฐ•ํ™”๋˜์—ˆ๊ณ , Pagination ์ฒ˜๋ฆฌ๊ฐ€ ๋”์šฑ ์ง๊ด€์ ์œผ๋กœ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • Code ๋…ธ๋“œ: ์•ž์„œ ์–ธ๊ธ‰ํ•œ ๋Œ€๋กœ Python ์‹คํ–‰ ํ™˜๊ฒฝ์ด ๋„ค์ดํ‹ฐ๋ธŒ๋กœ ๋ณ€๊ฒฝ๋˜์–ด import ๊ตฌ๋ฌธ์„ ํ†ตํ•œ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ™œ์šฉ์ด ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค.

  • ์ œ๊ฑฐ๋œ ๋…ธ๋“œ: ์„œ๋น„์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๊ฑฐ๋‚˜ API๊ฐ€ ํ๊ธฐ๋œ Spontit, crowd.dev, Kitemaker, Automizy ๋“ฑ์˜ ๋…ธ๋“œ๋Š” 2.0์—์„œ ์™„์ „ํžˆ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ์›Œํฌํ”Œ๋กœ์šฐ๋Š” HTTP Request ๋…ธ๋“œ๋กœ ๋Œ€์ฒดํ•˜๊ฑฐ๋‚˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

:pushpin:UI/UX ๊ฐœ์„  ๋ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋„๊ตฌ

  • ์บ”๋ฒ„์Šค ๋ฐ ์‚ฌ์ด๋“œ๋ฐ” ๊ฐœํŽธ

    • ์„ค์ •, ์ž๊ฒฉ ์ฆ๋ช…, ์‹คํ–‰ ๊ธฐ๋ก ๋“ฑ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋‰ด์˜ ์ ‘๊ทผ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•œ ์‚ฌ์ด๋“œ๋ฐ” ๊ตฌ์กฐ ๊ฐœํŽธ

    • ์ „์ฒด ์›Œํฌํ”Œ๋กœ์šฐ์˜ ํ๋ฆ„์„ ๋ณด๋ฉด์„œ ์„ธ๋ถ€ ์„ค์ •์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ์„ (๋…ธ๋“œ๋ฅผ ๋”๋ธ” ํด๋ฆญํ•˜์—ฌ ์ฐฝ์„ ๋„์šฐ์ง€ ์•Š๊ณ ๋„, ์šฐ์ธก ํŒจ๋„์—์„œ ๋ฐ”๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€)

  • ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ฆฌํฌํŠธ ๋„๊ตฌ

    • 2.0์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€๋น„ํ•˜๊ธฐ ์œ„ํ•ด, ๊ด€๋ฆฌ์ž๋ฅผ ์œ„ํ•œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ฆฌํฌํŠธ ๋„๊ตฌ ์ œ๊ณต

    • ํŠน์ • ๋…ธ๋“œ์˜ ์ œ๊ฑฐ ๋“ฑ์œผ๋กœ ์›Œํฌํ”Œ๋กœ์šฐ ์ˆ˜์ •์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๊ฐ์ง€

    • ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์„ฑ ๋“ฑ ์„œ๋ฒ„ ๋ ˆ๋ฒจ์˜ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ ์ง„๋‹จ

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

2.0์œผ๋กœ์˜ ์ „ํ™˜์€ ๋‹จ์ˆœํ•œ '์—…๋ฐ์ดํŠธโ€™๊ฐ€ ์•„๋‹ˆ๋ผ ์ธํ”„๋ผ์˜ ๋‹จ๊ณ„๋ณ„ '์—…๊ทธ๋ ˆ์ด๋“œโ€™๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ์‚ฌ์ „ ์ค€๋น„ (1๋‹จ๊ณ„): 1.121.0 ์ด์ƒ์˜ ์ตœ์‹  1.x ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•œ ํ›„, ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ฆฌํฌํŠธ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์˜ํ–ฅ๋„๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.

  2. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ „ํ™˜ (2๋‹จ๊ณ„): ํ˜„์žฌ MySQL์„ ์‚ฌ์šฉ ์ค‘์ด๋ผ๋ฉด PostgreSQL ์ธ์Šคํ„ด์Šค๋ฅผ ์ค€๋น„ํ•˜๊ณ  ๋ฐ์ดํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (n8n์€ ์ž์ฒด์ ์ธ DB ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, pgloader ๋“ฑ ์™ธ๋ถ€ ๋„๊ตฌ ์‚ฌ์šฉ ํ•„์š”).

  3. ์›Œํฌํ”Œ๋กœ์šฐ ๋ฆฌํŒฉํ† ๋ง (3๋‹จ๊ณ„): ๋ฆฌํฌํŠธ์—์„œ ์ง€์ ๋œ โ€˜Criticalโ€™ ์ด์Šˆ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ process.env๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ ๋…ธ๋“œ๋Š” ์ž๊ฒฉ ์ฆ๋ช… ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  4. ์Šคํ…Œ์ด์ง• ํ…Œ์ŠคํŠธ (4๋‹จ๊ณ„): 2.0 ํ™˜๊ฒฝ์„ ๋ณ„๋„๋กœ ๊ตฌ์ถ•ํ•˜์—ฌ(Staging), ํ•ต์‹ฌ ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ์ •์ƒ ์ž‘๋™ํ•˜๋Š”์ง€ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ์„œ๋ธŒ ์›Œํฌํ”Œ๋กœ์šฐ์˜ Wait ๋…ธ๋“œ ๋™์ž‘ ๋ณ€๊ฒฝ์ด ๋กœ์ง์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  5. ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ (5๋‹จ๊ณ„): ๋ฐฑ์—…์„ ํ™•๋ณดํ•œ ํ›„ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์„ 2.0์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์น˜๋ฉฐ

2023๋…„ 7์›”, 1.0 ์ถœ์‹œ ์ดํ›„ ๊พธ์ค€ํžˆ ์„ฑ์žฅํ•ด ์˜จ n8n์ด 2๋…„ ๋งŒ์— 2.0์„ ์„ ๋ณด์ด๋ฉฐ, ๋ณธ๊ฒฉ์ ์œผ๋กœ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ž๋™ํ™” ์‹œ์žฅ์„ ์œ„ํ•œ ํ”Œ๋žซํผ์œผ๋กœ ์ž๋ฆฌ ์žก์œผ๋ ค๋Š” ๋ชจ์Šต์ž…๋‹ˆ๋‹ค. ์ด๋ฏธ ์‚ฌ์šฉ ์ค‘์ธ ๋ถ„๋“ค๋„ ๋งŽ๊ฒ ์ง€๋งŒ, ์ด๋ฒˆ ๊ธฐํšŒ์— ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ํ•œ ๋ฒˆ ๊ฒ€ํ† ํ•ด ๋ณด์…”๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. https://blog.n8n.io/introducing-n8n-2-0/

2 Likes

๊ณต์œ  ๊ฐ์‚ฌ์š”! ^^

2 Likes

์ข‹์€ ์ •๋ณด ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :smiling_face:

2 Likes

GitHub :sparkles: 16๋งŒ์„ ๋„˜์€ n8n์ด ์ถœ์‹œ 2๋…„ ๋งŒ์— ๋‚ด๋†“๋Š” 2.0์ด๋ผโ€ฆ ๋ฐ˜์‘์ด ๋œจ๊ฑฐ์šด ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. LLM์˜ ํญ๋ฐœ์ ์ธ ์œ ํ–‰์œผ๋กœ ๋…ธ์ฝ”๋“œ ์ž๋™ํ™” ๋„๊ตฌ์˜ ํ™œ์šฉ๋„๊ฐ€ ๋Š˜์–ด๋‚œ ํ๋ฆ„ ์†์—์„œ n8n ๊ฐ™์€ ํ”Œ๋žซํผ์ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋” ์ฃผ๋ชฉ๋ฐ›๋Š” ๋А๋‚Œ์ด์—์š”. (์ €๋„ ๊ฐœ์ธ์ ์œผ๋กœ ์ž˜ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ใ…Žใ…Ž)

2 Likes

์ •์‹๋‹˜์ด n8n 2.0์„ ํ˜„์—…์—์„œ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•˜๊ณ  ๊ณ„์‹ ์ง€๋„ ๋‚˜์ค‘์— ๊ณต์œ ์ฃผ์‹œ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค ใ…Žใ…Ž

์ด์ „์— ์˜ฌ๋ ค์ฃผ์‹  ๊ธ€์ธ โ€œ๋‚˜๋งŒ์˜ LLM ํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐโ€๋„ LLM + MCP ๊ธฐ๋ฐ˜ ์šด์˜ ํ™˜๊ฒฝ์„ ์ง์ ‘ ์‹คํ—˜ํ•ด ๋ณด๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด์—๊ฒŒ ์‹ค์งˆ์ ์ธ ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์—ˆ๊ฑฐ๋“ ์š” :grinning_face_with_smiling_eyes:

2 Likes

๋„ต !

1 Like