0.7.1 (2026-09-30)¶
Release de estabilidad, seguridad y rendimiento: cero vulnerabilidades conocidas en las dependencias de producción del frontend, el backend corre sin root, abrir un diagrama ya no lo modifica, las ediciones dejan de perderse al cambiar de diagrama, y la aplicación carga hasta un 71% menos de JavaScript.
⬆️ Notas de actualización¶
- El contenedor del backend corre como usuario sin privilegios (
app, uid/gid 1000). En el escenario de desarrollo (deploy/local-full) el código se monta desde el host; en Linux, si tu usuario no es el uid 1000, Python no podrá escribir sus cachés (__pycache__) en la carpeta montada, lo cual es inofensivo. La imagen de producción no monta código y no se ve afectada. Para actualizar, reconstruye la imagen:docker compose up -d --build. - Poetry 2.x en la imagen del backend. Si instalas dependencias fuera de Docker, usa Poetry 2.
- Nueva variable opcional
MAX_REQUEST_BODY_BYTES(por defecto 5 MB): las peticiones con un cuerpo mayor reciben413. Documentada enbackend/.env.exampley.env.template. - Nuevo índice en MongoDB sobre
diagrams(project_id,updated_at): se crea solo al arrancar el backend.
✨ Mejoras¶
- Carga más rápida: cada página se descarga por separado en lugar de un único archivo para toda la aplicación. El login y el dashboard descargan 193 KB de JavaScript en lugar de 668 KB, y aparecen en ~105 ms y ~130 ms (antes ~165 ms y ~190 ms). El editor pinta el diagrama en ~180 ms (antes ~300 ms).
- El editor se precarga en segundo plano al entrar con sesión, así que pasar del dashboard a un diagrama no espera la descarga.
- La exportación carga sus librerías solo al exportar (html2canvas), lo que aligera el editor.
- "Recientes" del dashboard se resuelve con una sola consulta indexada en lugar de leer todos los diagramas de todos tus proyectos con su contenido.
🔒 Seguridad¶
- Dependencias del frontend sin vulnerabilidades conocidas (antes 25, una de severidad alta): DOMPurify 3.4.16 (el que limpia el SVG de los diagramas), Mermaid 11.17.2 y react-router 7.18.4.
- Los parches de seguridad de dependencias vuelven a aplicarse: desde la migración a pnpm (0.6.0), los 6 overrides de seguridad del frontend estaban en el formato de npm y pnpm los ignoraba. Ahora están en
pnpm.overrides. - Backend sin root y Poetry 2.5.1 (Poetry 1.8.3 y su dependencia
dulwichtenían avisos de seguridad). - Límite global de tamaño de petición (
413), tanto si el cliente declara el tamaño como si envía el cuerpo por partes.
🐛 Correcciones¶
- Abrir un diagrama lo marcaba como modificado: el autoguardado y el guardado del zoom/posición se disparaban al cargar, cambiando su fecha de modificación y el orden de "Recientes". Ahora solo se guarda cuando hay un cambio real, y mover o hacer zoom sobre un diagrama, o ajustar el ancho de un panel, ya no cuenta como modificación.
- Se perdían ediciones hechas justo antes de cambiar de diagrama o salir del editor (dentro del segundo y medio de espera del autoguardado). Ahora se guardan al cambiar, al salir y al ocultar la pestaña, y el navegador avisa si cierras con cambios pendientes, incluso si el guardado ya estaba en camino. Además, los guardados se envían uno a la vez, así que uno lento no puede pisar una edición más reciente.
- El título de la barra superior mostraba el diagrama anterior mientras cargaba el siguiente.
- Avisos nativos del navegador (
alert) en la generación con IA y en la configuración de proveedores, reemplazados por avisos de la aplicación que se pueden cerrar y respetan el modo oscuro.
🌐 Traducciones¶
- Textos que quedaban fijos en español ahora se traducen (español e inglés): el modal de nuevo diagrama, los mensajes de la vista previa (código vacío, error de sintaxis, error de renderizado), el tooltip de redimensionar y tres mensajes de error.
- Las fechas siguen el idioma de la interfaz en todas partes: exportaciones a PDF/PNG, facturación, cancelación de suscripción, perfil, administración de usuarios y editor (antes eran siempre en español).
🧪 Pruebas¶
- Pruebas nuevas para el límite de tamaño de petición, la consulta de "Recientes" y las reglas de la fecha de modificación.
- Suite completa: 277 pruebas, cobertura 52.38% (umbral 45%).