n8n 2.0 - Przewodnik Migracji
n8n 2.0

n8n 2.0 nadchodzi.
Przygotuj swoją instancję.

Pierwsza duża aktualizacja od premiery v1.0 w lipcu 2023. Nowa architektura bezpieczeństwa, wyższa wydajność i zmiany krytyczne, które wymagają Twojej interwencji przed aktualizacją.

8 grudnia 2025
Wersja Beta
15 grudnia 2025
Wersja Stable
+3 miesiące
Koniec wsparcia v1.x
Czas do premiery v2.0:
00
Dni
00
Godzin
00
Minut
00
Sekund
Przejdź do procedury migracji

Co nowego w n8n 2.0?

Automatyczny zapis

Stan workflow jest zapisywany w czasie rzeczywistym. Chroni przed utratą kodu przy awarii przeglądarki lub przypadkowym odświeżeniu karty.

Zoptymalizowany interfejs

Czytelniejszy canvas i przebudowany pasek boczny. Szybsza nawigacja przy złożonych procesach i łatwiejsze zarządzanie węzłami.

System plików zamiast RAM

Przetwarzanie danych binarnych bezpośrednio na dysku. Eliminuje błędy Out of Memory przy pracy z dużymi plikami.

Izolacja procesów

Kod Python i JS uruchamiany w odseparowanych procesach. Zwiększa stabilność głównego wątku i bezpieczeństwo instancji.

Korzyści aktualizacji do v2.0

  • Bezpieczeństwo klasy Enterprise
    Wymuszenie dobrych praktyk (izolacja kodu, blokada env vars)
  • Stabilność przy dużych danych
    Obsługa plików na dysku zamiast RAM eliminuje problemy OOM
  • Autosave
    Eliminacja ryzyka utraty niezapisanej pracy
  • Wyższa wydajność SQLite
    Nowy sterownik (pooling driver) znacząco przyspiesza operacje lokalne

Zmiany krytyczne – wymagane działania

Bazy danych KRYTYCZNE
Wycofanie wsparcia dla MySQL i MariaDB
Te bazy nie są już obsługiwane jako backend n8n. Wymagana migracja do PostgreSQL lub SQLite przed aktualizacją, w przeciwnym razie instancja nie uruchomi się.
Zaplanuj migrację na PostgreSQL lub SQLite
Bezpieczeństwo 6 zmian
Domyślna blokada env vars w Code Node
Zmienna N8N_BLOCK_ENV_ACCESS_IN_NODE jest teraz ustawiona na true. Wrażliwe dane należy przenieść do Credentials.
Przenieś wrażliwe dane do Credentials
Wyłączone niebezpieczne węzły
Execute Command i Local File Trigger będą domyślnie WYŁĄCZONE.
Usuń je z listy blokowanych węzłów ustawiając NODES_EXCLUDE="[]"
Uprawnienia plików
Pliki konfiguracyjne wymagają uprawnień 0600 (tylko właściciel może czytać).
Uwierzytelnianie OAuth callback
Zmienna N8N_SKIP_AUTH_ON_OAUTH_CALLBACK zmienia wartość z true na false. Integracje OAuth będą wymagać uwierzytelnienia.
Przetestuj integracje OAuth przed aktualizacją
Ograniczony dostęp do plików
Zmienna N8N_RESTRICT_FILE_ACCESS_TO domyślnie ogranicza dostęp do katalogu ./data. Wpływa na węzły ReadWriteFile i ReadBinaryFiles.
Sprawdź workflow'y operujące na plikach
Blokada bare repositories w Git
Zmienna N8N_GIT_NODE_DISABLE_BARE_REPOS domyślnie ustawiona na true.
Jeśli używasz bare repos, ustaw na false
Infrastruktura 4 zmiany
Usunięcie flagi --tunnel
Wbudowane tunelowanie do testów lokalnych zostało usunięte. Należy skorzystać z zewnętrznych narzędzi (ngrok, Cloudflare Tunnel).
Nowy obraz Docker dla External Mode
Obraz n8nio/n8n nie zawiera już Task Runnera. Dla external mode użyj nowego obrazu: n8nio/runners.
Usunięte węzły
Węzły Spontit, crowd.dev i Kitemaker zostały usunięte - zewnętrzne usługi już nie działają.
Sprawdź czy Twoje workflow'y nie używają tych węzłów
Zmiany w parsowaniu .env
Aktualizacja biblioteki dotenv: backticki wymagają cudzysłowów, # oznacza komentarz, wsparcie dla wartości wieloliniowych.
Przejrzyj plik .env pod kątem znaków specjalnych
Logika Workflow 2 zmiany
Sub-workflow z Wait Node
Naprawa błędu logicznego: rodzic otrzyma teraz prawidłowe dane WYJŚCIOWE z sub-workflow, a nie dane wejściowe. Może to wymagać zmian w logice.
Natywny Python wymaga External Mode
Python Code nodes działają teraz wyłącznie przez Task Runners w trybie external. Wymaga to uruchomienia osobnego kontenera n8nio/runners. Metody Pyodide (np. js.import, _input, dostęp przez kropkę) przestaną działać.
Skonfiguruj Task Runners w external mode lub przepisz kod na JavaScript

Najczęściej zadawane pytania

Czy aktualizacja do v2.0 jest kompatybilna wstecznie?

Nie w 100%. Wprowadzono zmiany krytyczne (breaking changes), m.in. usunięcie wsparcia dla MySQL/MariaDB oraz zmiany w obsłudze Code Node (Python/JS). Wymagany jest audyt instancji i migracja bazy danych przed podniesieniem wersji.

Co się stanie, jeśli nie zmigruję bazy z MySQL/MariaDB?

Instancja n8n v2.0 nie uruchomi się. Wsparcie dla tych baz zostało całkowicie usunięte. Musisz zmigrować dane do PostgreSQL (zalecane produkcyjnie) lub SQLite (nowy driver sqlite-pooled) jeszcze na wersji 1.x, używając wbudowanego narzędzia CLI.

Jak zmiana na Task Runners wpływa na moje skrypty Python?

n8n rezygnuje z Pyodide na rzecz natywnego Pythona uruchamianego przez Task Runners. Oznacza to lepszą wydajność, ale specyficzna składnia Pyodide (np. js.import, dostęp przez kropkę, zmienna _input) przestanie działać. Wymagana jest refaktoryzacja kodu.

Dlaczego moje Code Node'y straciły dostęp do process.env?

W v2.0 zmienna N8N_BLOCK_ENV_ACCESS_IN_NODE jest domyślnie ustawiona na true ze względów bezpieczeństwa. Zalecamy przeniesienie sekretów do Credentials. Jeśli absolutnie musisz używać zmiennych środowiskowych w kodzie, zmień ustawienie tej flagi na false.

Jak długo wersja 1.x będzie wspierana?

Wersja 1.x otrzyma status Long Term Support (LTS) tylko na 3 miesiące od premiery v2.0 (do ok. marca 2026). W tym czasie będą wydawane tylko poprawki bezpieczeństwa i krytyczne bugfixy. Nowe funkcje trafią wyłącznie do v2.x.

Używam tagu :latest w Dockerze - co robić?

Natychmiast zmień tag na konkretną wersję (np. n8nio/n8n:1.70.0). Tag :latest automatycznie pobierze v2.0 po premierze, co może zepsuć Twoją instancję bez przygotowania.

Czy mogę wrócić do v1.x po nieudanej aktualizacji?

Technicznie tak, ale wymaga przywrócenia backupu bazy danych. Nie ma automatycznego downgrade'u - schemat bazy zmienia się nieodwracalnie. Dlatego backup przed aktualizacją jest obowiązkowy.

Checklista przygotowania do n8n 2.0

Zaznaczaj wykonane kroki - postęp zapisuje się automatycznie.

0%
ukończono
PILNE
Zablokuj wersję (Version Pinning)
Zmień tag latest w Dockerze na obecną wersję, aby uniknąć automatycznej aktualizacji.
Wygeneruj Raport Migracji
Sprawdź Settings → Migration Report, aby zidentyfikować zagrożone workflowy.
Wykonaj pełny backup
Baza danych + eksport wszystkich workflow'ów
AUDYT
Weryfikacja bazy danych
Jeśli używasz MySQL/MariaDB, wykonaj migrację na PostgreSQL.
Znajdź Execute Command / Local File Trigger
Zdecyduj czy je włączyć jawnie (NODES_EXCLUDE) czy zastąpić.
Audyt Code Node'ów
Które używają process.env? Które używają Python?
TESTOWANIE
Testy na środowisku Staging
Uruchom osobną instancję v2.0 i zaimportuj workflowy. Nie aktualizuj produkcji bez weryfikacji.
Zaimportuj i przetestuj workflow'y
Szczególnie te z Python, env vars, sub-workflow
Poczekaj na v2.0.1 lub v2.0.2
Pierwsze patche zwykle naprawiają krytyczne błędy

Osiągnięcie odblokowane!

Pierwszy krok

Darmowa społeczność
+320 członków

Dołącz do darmowej społeczności

Strefa Akademii Automatyzacji

Dołącz za darmo