Cambios importantes en n8n v2.0
Se lanzará próximamente n8n v2.0. Este documento destaca los cambios más relevantes y las acciones que debes tomar para prepararte para la transición. Estas actualizaciones mejoran la seguridad, simplifican la configuración y eliminan funcionalidades obsoletas.
El lanzamiento de n8n 2.0 refuerza el compromiso de n8n de ofrecer una plataforma de automatización segura, fiable y lista para producción. Esta versión principal incluye mejoras importantes de seguridad y la eliminación de funciones obsoletas.
Cambios de comportamiento
Devolución de datos esperados al reanudar subflujos de trabajo desde estado de espera
Anteriormente, cuando una ejecución padre llamaba a una ejecución hija que contenía un nodo que ponía a la ejecución hija en estado de espera, y la ejecución padre estaba configurada para esperar a que finalizara la ejecución hija, la ejecución padre recibía resultados incorrectos.
Por ejemplo, esto ocurría cuando la ejecución hija incluía un nodo Wait con un tiempo de espera superior a 65 segundos, llamadas a webhooks, envíos de formularios o nodos de revisión manual (como el nodo de Slack).
Flujo de trabajo padre:

Subflujo de trabajo:

v1: La ejecución padre devolvía la entrada de la ejecución hija en lugar de su resultado:

v2: La ejecución padre recibe el resultado de la ejecución hija:

Esto permite usar nodos de revisión manual en subflujos de trabajo y utilizar los resultados del subflujo en el flujo de trabajo padre (por ejemplo, aprobar o rechazar una acción).
Ruta de migración: Revisa todos los flujos de trabajo que llaman a subflujos y esperan recibir la entrada del subflujo. Actualiza estos flujos para adaptarlos al nuevo comportamiento: el flujo de trabajo padre recibirá la salida del subflujo (es decir, los datos al final del subflujo), no su entrada.
Eliminación del nodo Start
El nodo Start ya no es compatible. Este nodo era la forma original de iniciar flujos de trabajo, pero ha sido reemplazado por nodos disparadores más específicos.
Ruta de migración: Reemplaza el nodo Start según el uso de tu flujo de trabajo:
- Ejecución manual: Sustituye el nodo Start por el nodo Manual Trigger.
- Subflujo de trabajo: Si otro flujo de trabajo llama a este como subflujo, reemplaza el nodo Start por el nodo Execute Workflow Trigger y publícalo.
- Nodo Start desactivado: Si el nodo Start ya estaba desactivado, elimínalo del flujo de trabajo.
Guardar y publicar flujos de trabajo
El nuevo sistema de publicación de flujos de trabajo reemplaza el antiguo interruptor de activación/desactivación. El interruptor «Activar/Desactivar» se convierte ahora en los nuevos botones «Publicar/Cancelar publicación». Este cambio te permite controlar mejor cuándo se aplican los cambios a producción, reduciendo el riesgo de desplegar accidentalmente modificaciones en curso. Para obtener más información, consulta la sección sobre guardar y publicar flujos de trabajo.
Eliminación de nodos de servicios descontinuados
Se han eliminado los siguientes nodos porque los servicios externos a los que se conectaban ya no están disponibles:
- Nodo Spontit
- Nodo crowd.dev
- Nodo Kitemaker
- Nodo Automizy
Ruta de migración: Si tus flujos de trabajo utilizan alguno de estos nodos, actualízalos o elimínalos para evitar errores.
Seguridad
Bloqueo predeterminado del acceso a variables de entorno desde nodos Code
Para mejorar la seguridad, n8n bloqueará por defecto el acceso a variables de entorno desde nodos Code. El valor predeterminado de N8N_BLOCK_ENV_ACCESS_IN_NODE será ahora true.
Ruta de migración: Si tus flujos de trabajo necesitan acceder a variables de entorno desde un nodo Code, configura N8N_BLOCK_ENV_ACCESS_IN_NODE=false en tu entorno. Para datos sensibles, se recomienda usar credenciales u otros métodos seguros en lugar de variables de entorno.
Requisito obligatorio de permisos estrictos en archivos de configuración
n8n exigirá permisos estrictos en los archivos de configuración para mejorar la seguridad. Por defecto, los archivos de configuración deben tener permisos 0600, lo que significa que solo el propietario del archivo puede leer y escribir. Este enfoque es similar al que usa SSH para proteger claves privadas.
Ruta de migración: Para probar este comportamiento antes de v2.0, establece N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true. Si tu entorno no admite permisos de archivo (por ejemplo, en Windows), desactiva este requisito con N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=false.
Habilitación predeterminada del ejecutor de tareas
n8n habilitará por defecto el ejecutor de tareas para mejorar la seguridad y el aislamiento. Todas las ejecuciones de nodos Code se realizarán en el ejecutor de tareas.
Ruta de migración: Antes de actualizar a v2.0, configura N8N_RUNNERS_ENABLED=true para probar este comportamiento. Asegúrate de que tu infraestructura cumple los requisitos para ejecutar el ejecutor de tareas. Para mayor seguridad, considera usar el modo externo.
Eliminación del ejecutor de tareas de la imagen Docker n8nio/n8n
A partir de v2.0, la imagen principal de Docker n8nio/n8n ya no incluirá el ejecutor de tareas para el modo externo. Deberás usar la imagen separada n8nio/runners para ejecutar el ejecutor de tareas en modo externo.
Ruta de migración: Si ejecutas el ejecutor de tareas en modo externo con Docker, actualiza tu configuración para usar la imagen n8nio/runners en lugar de n8nio/n8n.
Eliminación del nodo Python Code y herramientas basadas en Pyodide
n8n eliminará el nodo Python Code y las herramientas basadas en Pyodide, reemplazándolos por una implementación basada en el ejecutor de tareas que utiliza Python nativo, lo que ofrece mejor seguridad y rendimiento. A partir de v2.0, solo podrás usar el nodo Python Code con el ejecutor de tareas en modo externo y con herramientas de Python nativo.
El nodo Python Code nativo no admite las variables integradas disponibles en la versión de Pyodide (como _input) ni la notación de punto. Consulta la documentación del nodo Code para más detalles.
Las herramientas de Python nativo sí admiten _query, que es la cadena de entrada que recibe la herramienta cuando es invocada por un agente de IA.
Ruta de migración: Para seguir usando Python en nodos Code, configura el ejecutor de tareas en modo externo y revisa si tus nodos y herramientas existentes de Python Code son compatibles.
Desactivación predeterminada de los nodos ExecuteCommand y LocalFileTrigger
n8n desactivará por defecto los nodos ExecuteCommand y LocalFileTrigger debido a sus riesgos de seguridad. Estos nodos permiten la ejecución de comandos arbitrarios y el acceso al sistema de archivos.
Ruta de migración: Si necesitas usar estos nodos, elimínalos de la lista de nodos desactivados en la configuración de n8n mediante la variable de entorno NODES_EXCLUDE. Por ejemplo, establece NODES_EXCLUDE="[]" para habilitar todos los nodos, o elimina solo los nodos específicos que necesites.
Autenticación obligatoria predeterminada en URLs de callback de OAuth
n8n requerirá autenticación por defecto en los endpoints de callback de OAuth. El valor predeterminado de N8N_SKIP_AUTH_ON_OAUTH_CALLBACK cambiará de true (sin autenticación) a false (con autenticación).
Ruta de migración: Antes de actualizar a v2.0, configura N8N_SKIP_AUTH_ON_OAUTH_CALLBACK=false y prueba tus integraciones de OAuth para asegurarte de que funcionan correctamente con autenticación habilitada.
Valor predeterminado para N8N_RESTRICT_FILE_ACCESS_TO
n8n establecerá un valor predeterminado para N8N_RESTRICT_FILE_ACCESS_TO para controlar dónde pueden realizarse operaciones con archivos. Esto afecta a los nodos ReadWriteFile y ReadBinaryFiles. Por defecto, estos nodos solo podrán acceder a archivos en el directorio ~/.n8n-files.
Ruta de migración: Revisa los flujos de trabajo que usan nodos de archivos y asegúrate de que solo acceden a archivos en directorios permitidos. Si necesitas permitir el acceso a otros directorios, configura la variable de entorno N8N_RESTRICT_FILE_ACCESS_TO con las rutas deseadas.
Cambio del valor predeterminado de N8N_GIT_NODE_DISABLE_BARE_REPOS a true
Por razones de seguridad, los nodos Git bloquearán por defecto los repositorios bare. El valor predeterminado de N8N_GIT_NODE_DISABLE_BARE_REPOS será true, lo que significa que los repositorios bare estarán deshabilitados a menos que cambies esta configuración.
Ruta de migración: Si tus flujos de trabajo necesitan usar repositorios bare, habilita esta funcionalidad configurando N8N_GIT_NODE_DISABLE_BARE_REPOS=false en tu entorno.
Datos
Eliminación del soporte para MySQL/MariaDB
n8n ya no admitirá MySQL ni MariaDB como backends de almacenamiento; este soporte fue descontinuado en v1.0. Para obtener la mejor compatibilidad y soporte a largo plazo, usa PostgreSQL. El nodo MySQL seguirá siendo compatible como antes.
Ruta de migración: Antes de actualizar a v2.0, migra tus datos de MySQL o MariaDB a PostgreSQL o SQLite usando herramientas de migración de bases de datos.
Eliminación del controlador heredado de SQLite
Debido a problemas de fiabilidad, n8n eliminará el controlador heredado de SQLite. El controlador con pool de conexiones será el único disponible. Este controlador utiliza el modo WAL, una única conexión de escritura y un pool de conexiones de lectura. Nuestras pruebas indican que puede ser hasta 10 veces más rápido.
Ruta de migración: El controlador sqlite-pooled se convertirá automáticamente en el predeterminado. Puedes habilitar inmediatamente el pool de conexiones estableciendo DB_SQLITE_POOL_SIZE a un valor mayor que 0. El tamaño predeterminado del pool será 2.
Eliminación del modo de datos binarios en memoria
n8n eliminará el modo default de N8N_DEFAULT_BINARY_DATA_MODE, que guardaba los datos binarios en memoria durante la ejecución. A partir de v2, estarán disponibles las siguientes opciones para mejorar el rendimiento y la estabilidad:
filesystem: los datos binarios se almacenan en el sistema de archivos (opción predeterminada en modo regular).database: los datos binarios se almacenan en la base de datos (opción predeterminada en modo cola).s3: los datos binarios se almacenan en un almacenamiento compatible con S3.
También se eliminará la configuración N8N_AVAILABLE_BINARY_DATA_MODES, por lo que el modo se determinará únicamente mediante N8N_DEFAULT_BINARY_DATA_MODE.
Ruta de migración: Se usará automáticamente el modo de sistema de archivos o base de datos según la configuración. Asegúrate de que tu instancia de n8n tiene suficiente espacio en disco para almacenar datos binarios. Consulta la documentación sobre configuración de datos binarios para más detalles.
Configuración y entorno
Actualización de dotenv
n8n utiliza la biblioteca dotenv para cargar la configuración del entorno desde archivos .env. Esta biblioteca se actualizará de la versión 8.6.0 a la más reciente, lo que podría cambiar la forma en que se analizan los archivos .env. Los principales cambios incluyen:
- Soporte para comillas invertidas (#615): si tus valores contienen comillas invertidas, enciérralos entre comillas simples o dobles.
- Soporte para valores multilínea.
- Las líneas que comienzan con
#se tratan como comentarios.
Ruta de migración: Consulta el registro de cambios de dotenv y actualiza tus archivos .env para garantizar compatibilidad con la nueva versión.
Eliminación de la opción n8n --tunnel
La opción de línea de comandos n8n --tunnel se eliminará en v2.0.
Ruta de migración: Si actualmente usas la opción --tunnel para desarrollo o pruebas, cambia a otras soluciones de túnel como ngrok, localtunnel o Cloudflare Tunnel. Actualiza tus flujos de trabajo y documentación para reflejar este cambio.
Eliminación de QUEUE_WORKER_MAX_STALLED_COUNT
Se eliminará la variable de entorno QUEUE_WORKER_MAX_STALLED_COUNT y el mecanismo de reintentos de Bull para tareas estancadas, ya que a menudo causaban confusión y funcionaban de forma poco fiable.
Ruta de migración: Elimina esta variable de entorno de tu configuración. Tras la actualización, n8n ya no reintentará automáticamente tareas estancadas. Si necesitas gestionar tareas estancadas, considera implementar tu propia lógica de reintento o monitoreo.
Eliminación de N8N_CONFIG_FILES
Se ha eliminado la variable de entorno N8N_CONFIG_FILES.
Ruta de migración: Elimina esta variable de entorno de tu configuración. Migra la configuración a variables de entorno, archivos .env o configuración basada en _FILE.
CLI y flujos de trabajo
Reemplazo del comando CLI update:workflow
El comando CLI update:workflow quedará obsoleto y será reemplazado por dos nuevos comandos que ofrecen funcionalidad similar y una semántica más clara:
publish:workflow, con parámetrosidyversionId(opcional)- Se eliminará el parámetro
--allpara evitar publicaciones accidentales en entornos de producción unpublish:workflow, con parámetrosidyall
Ruta de migración: Usa el nuevo comando publish:workflow para publicar flujos de trabajo individualmente por ID, opcionalmente especificando una versión. Para cancelar la publicación, usa el nuevo comando unpublish:workflow. Esto proporciona mayor claridad y control sobre el estado de publicación de los flujos de trabajo.
Hooks externos (External Hooks)
Obsolescencia de los hooks de frontend para flujos de trabajo
Las funciones hook workflow.activeChange y workflow.activeChangeCurrent quedarán obsoletas y serán reemplazadas por el nuevo hook workflow.published. Este nuevo hook se activará cada vez que se publique cualquier versión de un flujo de trabajo.
Ruta de migración: Actualiza tu código para usar el nuevo hook workflow.published en lugar de workflow.activeChange y workflow.activeChangeCurrent. Este hook ofrece un comportamiento más consistente y se activa al publicar una versión de flujo de trabajo.
Canales de lanzamiento
n8n ha renombrado los canales de lanzamiento de latest y next a stable y beta, respectivamente.
La etiqueta stable indica la última versión estable, y la etiqueta beta indica la última versión experimental. Estas etiquetas están disponibles tanto en npm como en Docker Hub. Actualmente, n8n seguirá aplicando las etiquetas latest y next a las versiones publicadas, pero estas se eliminarán en futuras versiones principales.
Recomendación: Te recomendamos usar una versión específica de n8n, como 2.0.0.
Informar problemas
Si encuentras algún problema al actualizar a n8n 2.0, visita el foro de la comunidad para obtener ayuda y soporte.