feat: version 3.0.0 -- Correcciones de auditoria de seguridad, accesibilidad y redundancia

Permisos (superadmin, viewer, busqueda, tareas recurrentes), bootstrap atomico,
revocacion de JWT por version de sesion (028), control optimista de edicion (029),
logo sin SVG + CSP, ingesta endurecida, correos escapados, borradores, paginacion
de proyectos, accesibilidad de dialogos/controles e i18n.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Milton Gonzalez
2026-10-23 11:36:02 -05:00
parent 8ed1d63505
commit e65111a7f4
112 changed files with 2285 additions and 651 deletions
+23
View File
@@ -1,5 +1,28 @@
# Changelog - project.linkedcorp.net
## [3.0.0] - 2026-10-23
### Security
- Se restringe la asignación de superadmin, la escritura de consultores y la búsqueda/tareas
recurrentes por alcance. El primer registro es atómico. Cambio/restablecimiento de clave
revoca JWT previos (migración 028).
- Logo público solo PNG/JPG/WEBP con firma comprobada y CSP; se censura `?token=` en logs de la
aplicación; los adjuntos comprueban permisos antes de recibir archivos y limpian fallos.
- La ingesta valida token antes del cuerpo, limita frecuencia/concurrencia y parsea en worker.
El vínculo token-equipo queda pendiente para no romper agentes con token compartido.
### Changed
- `GET /api/projects` devuelve páginas; frontend y selectores adaptados. La edición de proyectos
y comentarios exige versión optimista (migración 029), con rechazo 409 al competir.
- El control optimista se extiende a actividades, tareas, departamentos, usuarios, catálogos,
notas, tareas recurrentes, equipos, empresa y SMTP. Los formularios conservan la versión
del borrador y muestran el aviso de conflicto al recibir 409.
- Correos HTML escapados y recordatorios reintentables tras fallo SMTP; borradores limitados a
campos permitidos por formulario y limpiados al cerrar sesión voluntariamente.
- Diálogos, controles de lista/combo/expansor, pestañas e i18n mejorados para teclado y lectores
de pantalla.
### Deployment
- Aplicar migraciones 028 y 029 antes del backend de esta versión. Los JWT existentes caducarán;
clientes externos de proyectos/adjuntos deben adoptar los contratos descritos en `API.md`.
## [2.19.0] - 2026-10-21
### Added
- Panel: selector **Tarjetas (n/7)** junto al título, con una casilla por tarjeta para