N8N nedávno udělalo zásadní změnu
V prosinci 2024 byla vydána beta verze n8n 2.0 a 15. prosince následoval stabilní release. Nejde o kosmetickou změnu, jako každý druhý update, verze 2.0 přináší zásadní bezpečnostní vylepšení a mění způsob, jakým se pracuje s workflow, která už běží v produkci.
Hlavní změna se týká něčeho, co mohlo zkoušet každého nervy: v n8n 1.x při uložení aktivované workflow došlo okamžitě ke změně v produkci. Pokud jste zrovna testovali úpravy, mohli jste nechtěně rozbít funkční automatizaci.
Co se konkrétně změnilo
Verze 2.0 zavádí rozdělení na dvě samostatné akce:
- Save – uloží vaše úpravy, ale živé workflow zůstává beze změny
- Publish – explicitně publikuje upravenou verzi a nahradí produkční běh
Tento přístup je běžný v CMS systémech, ale pro n8n je to zcela nová logika. Znamená to, že můžete v klidu testovat změny, ukládat průběžné verze a teprve až si budete jistí, že vše funguje, stisknete Publish. Živé workflow zůstává během toho nedotčeno.
Další významné změny
n8n 2.0 také opravuje problém se sub-workflow. Pokud vaše hlavní workflow zavolalo sub-workflow, které obsahovalo uzel způsobující čekání (například Webhook nebo Wait node), hlavní workflow dostalo nekorektní data. To je nyní opraveno a sub-workflow korektně vrací očekávaná data po dokončení čekání.
Zcela nově funguje i zpracování binárních dat. Starý režim, kdy se binární soubory držely v paměti, byl odstraněn. Vše se nyní ukládá na disk nebo do databáze podle vaší konfigurace. To zlepšuje stabilitu pod zátěží, ale vyžaduje dostatek místa na disku.
Významná změna se týká i Python Code nodu. Původní implementace založená na Pyodide (Python běžící v JavaScriptu) byla nahrazena nativním Pythonem pomocí task runners. To přináší vyšší výkon a bezpečnost, ale s tím mizí některé vestavěné proměnné jako _input a tečková notace. Python Code nody nyní fungují pouze v externím režimu s nativní instalací Pythonu.
A to je k dnešní zajímavosti vše, n8n do toho zkrátka šlape a řekl bych, že tenhle update se opravdu povedl.