Witaj na blogu.
Czytaj bez spiny.
Aktualizacja n8n v2.x: Jak naprawić zepsute automatyzacje?

Aktualizacja n8n v2.x: Jak naprawić zepsute automatyzacje?

8 marca 2026

Aktualizacja n8n v2.x: Krew, pot i połamane flow

Czy twoje automatyzacje padły po aktualizacji n8n? No moje też. Pisałem już o włamach do n8n i chyba twórcy czytali te same artykuły, bo zrobili mega dużą aktualizację, która zmienia absolutnie wszystko.

Zaczęło się klasycznie. Zauważyłem nowy interfejs, ale całkowicie zignorowałem fakt, że mój automat do bloga przestał działać. Zrobiłem sobie przerwę między wpisami, chciałem zrzucić dane z arkusza i dostałem ścianą błędów w twarz. Pierwszy odruch: wrzuciłem flow do Claude. Efekt? Wygenerowało mi jeszcze więcej krytycznych błędów. Zaktualizowałem instancję na serwerze Mikr.us. Nic. Dopiero Gemini uratowało sytuację.

Aktualizacja n8n do wersji 2.x to nie jest kosmetyczny lifting przycisków. Zrobili tam kompletny remont fundamentów i wycięli stary kod maczetą, żeby platforma przestała pożerać RAM.

Jeśli miałeś stare, rzeźbione na kolanie skrypty – połowa z nich właśnie leży i kwiczy. Dobra wiadomość jest taka, że po tym sprzątaniu system będzie nie do zajechania.


Szybka reanimacja (Notatki z pola walki)

Jak to posprzątać bez rwania włosów z głowy? Oprzyj się na AI.

  1. Odpal Gemini i napisz wprost, że masz błąd w workflow n8n.
  2. Zaznacz, że wkleisz całą strukturę flow, z którą model ma się zapoznać.
  3. W kolejnym kroku wrzuć kod węzła, który wysypał błąd, oraz dokładną treść logu z konsoli.
  4. Prawdopodobnie to problem z JavaScriptem. Dostaniesz gotowy, poprawny kod do podmiany.

Co poszło pod nóż? (Breaking Changes)

Nowa wersja brutalnie odcina stare mechanizmy. Nie ma tu sentymentów:

  • Śmierć MySQL i MariaDB: Twórcy całkowicie wycięli wsparcie. Jeśli hostowałeś n8n na MySQL, system po prostu nie wstanie. Czeka Cię przymusowa migracja do PostgreSQL albo natywnego SQLite.
  • Zablokowane zmienne środowiskowe: Wcześniej wciągało się klucze API bezczelnie przez process.env. Nowa architektura odcina węzłom Code bezpośredni dostęp do systemu.
  • Izolacja kodu (Task Runners): Każdy kod odpala się w odizolowanym środowisku. To zabija stare skrypty w Pythonie, bo usunięto zmienną _input. Stare tutoriale z YouTube'a możesz wyrzucić do kosza.
  • Sub-workflowy działają inaczej: Węzeł Execute Workflow w wersji 1 puszczał proces poboczny, a główny leciał dalej. Teraz główne flow grzecznie czeka na koniec i nadpisuje dane wynikiem z podprocesu.
  • Blokada niebezpiecznych węzłów: Chcesz grzebać w plikach systemowych przez Execute Command? Narzędzia są domyślnie wyłączone. Musisz je jawnie odblokować w konfiguracji serwera.

Nowe zasady gry (Dlaczego było warto)

Żeby osłodzić Ci grzebanie w kodzie, wprowadzili mechanizmy zmieniające układ sił.

Nowy Mechanizm Co to daje w praktyce?
Save vs Publish Koniec z psuciem produkcji. Kliknięcie "Save" tworzy tylko brudnopis. Możesz psuć i testować do woli, a serwer w tle bezpiecznie realizuje opublikowaną (Publish) wersję.
Autosave Koniec z utratą trzech godzin układania klocków, bo przeglądarka odświeżyła kartę.
Turbo SQLite Baza dostała pooling. Nie korkuje się przy równoległych zadaniach i potrafi działać 10x szybciej. Na tanich VPS-ach to zbawienie dla dysku.

Jak metodycznie ponaprawiać błędy?

Nie przeklikuj węzłów na ślepo w oczekiwaniu na zielony status. Zrób to jak rzemieślnik:

  1. Uruchom wbudowany skaner: Wejdź w Ustawienia -> Migration Report. To narzędzie samo przeskanuje Twoją instancję i wypluje dokładną listę węzłów niekompatybilnych z v2.
  2. Zaktualizuj obsługę plików binarnych: Zamiast przestarzałego bufora binaryData.data, musisz przepisać skrypty JS pod natywne narzędzia: this.helpers.getBinaryDataBuffer().
  3. Przepnij dane w podprocesach: Odpal próbne testy na głównych flow i przemapuj zmienne w węzłach występujących zaraz po Execute Workflow.
Dlaczego stare kody w Pythonie przestały działać w n8n v2?
Węzeł Pythona został napisany od zera i działa teraz w pełnej izolacji (Task Runners). Zmiana architektury oznacza usunięcie starych zmiennych operacyjnych, takich jak _input, oraz wycięcie dostępu przez notację kropkową.
Co się stanie, jeśli po prostu zostanę przy starej wersji n8n?
Będziesz miał działające flow, ale zero łatek bezpieczeństwa. W przypadku narzędzia, które trzyma Twoje hasła, klucze API i ma dostęp do baz danych, to proszenie się o kłopoty.
Widzisz błąd, masz uwagę albo chcesz coś dodać?
Napisz tutaj →
Wsparcie Warsztatu

Mikr.us: Gwarancja stałej ceny za hosting

Wielkie firmy kuszą promocją na VPS, a po roku przysyłają rachunek grozy. Tutaj tego nie ma. Płacisz ustaloną, niską kwotę z góry za rok i tyle. Nikt nie podepnie sobie Twojej karty, żeby wyssać z niej pieniądze z zaskoczenia.

Sprawdź cennik Mikr.us →

Mój nastrój

Od autora: Znowu coś zepsułem, testując nowe narzędzia na produkcji. Jeśli moje potknięcia oszczędziły Ci awarii u Ciebie, wirtualna kawa uratuje mi dzień.

Postaw mi kawę →
BEZ SPINY • MYŚLĘ • BEZ SPINY • ROBIĘ • BEZ SPINY • PISZĘ • BEZ SPINY • DZIELĘ SIĘ • BEZ SPINY • ZERO NADĘCIA • BEZ SPINY • ZERO POZERKI • BEZ SPINY • KONKRETNE RZECZY • BEZ SPINY • NORMALNY BLOG • BEZ SPINY • UCZĘ SIĘ • BEZ SPINY • BUDUJĘ • BEZ SPINY • SPRAWDZAM • BEZ SPINY • WYCIĄGAM WNIOSKI • BEZ SPINY • SERWER • BEZ SPINY • SEO • BEZ SPINY • AUTOMATYZACJE • BEZ SPINY • ŻYCIE ONLINE • BEZ SPINY • BLOG JAK DAWNIEJ • BEZ SPINY • RÓŻNE TEMATY • BEZ SPINY • PRAWDZIWE PROBLEMY • BEZ SPINY • PRAWDZIWE ROZWIĄZANIA • BEZ SPINY • UCZĘ SIĘ PUBLICZNIE • BEZ SPINY • TESTUJĘ I OPISUJĘ • BEZ SPINY • CZASEM TECHNICZNIE • BEZ SPINY • CZASEM ŻYCIOWO •
Antoni Fic - O mnie

O Mnie

To nie jest blog. To narzędziownia. Odrzucam SaaS-owe abonamenty, marketingowy bełkot i cyfrowy szum. Sam stawiam serwery, tnę czysty kod i zmuszam sztuczną inteligencję do odwalania czarnej roboty.

Nie sprzedaję kursów, nie buduję zasięgów i nie owijam w bawełnę. Zrzucam tu gotowe, zweryfikowane w boju systemy.