Release

v1.2.11

28 feb 2026

Nueva funcionalidad "Anular partida": marca una partida como inválida sin eliminarla del historial.

Las partidas anuladas aparecen con badge "ANULADA" en gris y no computan en los ELOs de ningún jugador.

Motivo de anulación configurable: Jugador se cayó, Abandono involuntario u Otros (texto libre).

Botón "Revalidar" para deshacer la anulación y restaurar los ELOs automáticamente.

Release

v1.2.10

28 feb 2026

Fix: al editar los puntos de una partida en el historial ahora se recalculan correctamente los ELOs de todos los participantes y partidas posteriores.

Fix: al eliminar una partida el recálculo de ELO ya funcionaba; confirmado que ambas acciones son consistentes.

Release

v1.2.9

8 feb 2026

Bot de Discord integrado con comandos `seju_` para leaderboard, matchmaking con selección y jugadores online.

Comando `/seju_hacedor` con desplegable de jugadores (autocomplete) para generar matchups.

Comando `/seju_hacedor_online` para matchmaking automático con jugadores online en Steam.

Comando `/seju_online` para listar conectados en Steam.

Release

v1.2.8

3 feb 2026

Flechas de tendencia en el Leaderboard: indicadores visuales de subida/bajada de ELO en las últimas 5 partidas.

Tendencia por ejército: ↑↑ (sube mucho >50), ↑ (sube poco 1-50), = (sin cambio), ↓ (baja poco), ↓↓ (baja mucho <-50).

Tendencia en ELO promedio: umbral de 20 puntos y flechas de posición (↑/↓) indicando si el jugador sube o baja en el ranking.

Línea de ELO promedio en estadísticas de jugador: nueva línea negra gruesa en el gráfico de evolución mostrando el promedio.

Auto-polling integrado: la lógica de importación de partidas ahora está embebida en el backend (relic_importer.py), eliminando dependencia de scripts externos.

Release

v1.2.7

1 feb 2026

Rachas por año: el selector de año ahora filtra también las rachas de parejas (mejor/peor racha del año seleccionado).

Navegación desde rachas: al hacer clic en una tarjeta de racha se navega al historial mostrando solo las partidas de esa racha.

Filtro de partidas en historial: nuevo parámetro ?matches= para filtrar y resaltar partidas específicas.

Corrección de conflicto con icono Map de lucide-react que impedía usar el constructor nativo de JavaScript.

Release

v1.2.6

30 ene 2026

Nueva página "Estadísticas Generales" (/estadisticas-generales) con análisis completo de la comunidad.

Estadísticas por Año: mejores y peores parejas, gráfico de partidas por mes, rachas destacadas.

Tabla de todas las parejas con filtros, ordenación y estadísticas detalladas (winrate, mapas).

Sección "Telecos vs Peritos": enfrentamiento histórico entre grupos con gráfico por año.

Sección "El Clásico": Kebab & Gavilán vs Fumínguez & Gambitero (2v2 exclusivo) con timeline.

Backend: nuevo endpoint /api/v1/stats/general con agregación completa de estadísticas.

Release

v1.2.5

29 ene 2026

Nuevas estadísticas extendidas en la ficha de jugador: rachas, tendencia ELO, rendimiento por pareja y por mapa.

Componente "Rendimiento por Pareja": matriz con victorias/derrotas por compañero, mejor y peor pareja destacados con winrate.

Componente "Estadísticas por Mapa": winrate por mapa con mejor y peor mapa destacados, barras visuales de progreso.

Componente "Rachas": racha actual, mejor racha de victorias y peor racha de derrotas.

Componente "Tendencia ELO": cambio de ELO en 7 y 30 días, desglosado por ejército.

Backend: nuevos endpoints /partner_stats, /streaks, /elo_trends, /map_stats y /extended.

Release

v1.2.4

29 ene 2026

Diseño responsive completo para móviles (320px-480px): todas las páginas se adaptan correctamente a pantallas pequeñas.

Nueva navegación con menú hamburguesa en móvil: los enlaces se colapsan en un menú desplegable en pantallas < 768px.

Tarjetas de estadísticas, filtros y timeline del historial optimizados para móvil con padding y texto adaptativo.

Eliminado scroll horizontal en toda la aplicación con overflow-x-hidden.

Touch targets de 44px mínimo en botones para cumplir WCAG 2.1.

Release

v1.2.3

26 ene 2026

Nueva funcionalidad de exportación en la página de historial: descarga de partidas en formato JSON y CSV.

Los botones de descarga respetan los filtros activos (tipo, jugador, mapa).

CSV desnormalizado (una fila por participante) para facilitar análisis en Excel.

JSON estructurado con datos completos de cada partida y cambios de ELO.

Release

v1.2.2

26 ene 2026

Despliegue en producción (seju.hacedor.eu) con Docker, nginx, SSL (Let's Encrypt) y MongoDB autenticado.

Configuración de nginx parametrizada con templates (nginx.conf.template) usando variable NGINX_DOMAIN.

Limpieza de archivos obsoletos: eliminados nginx.conf y nginx-init.conf duplicados; mantenido nginx-http-only.conf para troubleshooting.

Documentación actualizada de despliegue en CLAUDE.md con comandos y troubleshooting común.

Variable BACKEND_CORS_ORIGINS requiere formato JSON array: ["https://dominio.com"].

Release

v1.2.1

25 ene 2026

Recalculado todo el histórico en Mongo con delta ELO simétrico por equipo (suma total 0) y sincronización de elos_ejercitos en jugadores; backups creados antes del cambio.

Partida Relic 3v1 marcada como incompleta (solo jugadores tracked); se conserva con delta simétrico pero se documenta que el origen es la omisión de jugadores no tracked.

Release

v1.2.0

18 ene 2026

Nueva página "Control de partida" (/relic-poller): monitorea estado de jugadores en Steam y controla el importador automático de partidas desde Relic API.

Auto-polling configurable (30s-1800s) que ejecuta import_relic_matches.py; se autoactiva a 120s cuando hay ≥4 jugadores online y se apaga tras 10 minutos con menos de 4.

Estado de jugadores en tiempo real con avatares, online/offline, hora local y reloj multi-husos (ES, MX, SG).

Organización del código para producción: frontend Dockerfile, nginx.conf con Let's Encrypt, scripts de inicialización MongoDB.

Limpieza de 1.5GB de archivos temporales y cache del repositorio (.next/, frontend-backup/, logs).

Release

v1.1.4

18 ene 2026

Tarjetas de selección de jugadores renovadas: modo lista, resaltado de selección, winrate 30d, partidas 30d y pareja favorita.

Correcciones de coherencia en conteo de partidas totales/30d y winrate global como respaldo.

Tarjetas de seleccionados con botón de eliminación integrado dentro del cuadro, sin scroll lateral.

Release

v1.1.3

18 ene 2026

Leaderboard y ficha de jugador ahora muestran el mismo ELO por ejército: se toma el último elo_post cronológico y se usa como fuente única.

Fallback seguro al valor almacenado en el jugador si aún no tiene partidas registradas.

Release

v1.1.2

18 ene 2026

Recálculo cronológico cambia a la fórmula extendida por puntos (factor exponencial, K=32) para todas las partidas no Excel.

Se mantiene ELOi/ELOf del Excel como verdad, y se recalculan el resto con puntos para eliminar el modo victory-only.

Dataset recalculado completo en Mongo tras la actualización.

Release

v1.1.1

18 ene 2026

Importador de Excel ahora respeta las columnas ELOi/ELOf como verdad, sin recalcular.

Nuevo script de recálculo K=32 que aplica fórmula victory-only a partidas no Excel, preservando el histórico.

Dataset actualizado con partidas fuera del Excel (incluida la del 2024-03-22) para coherencia de ELO.

Release

v1.1.0

18 ene 2026

Sistema de versionado centralizado con appVersion y releaseNotes listos para futuras actualizaciones.

Nueva página pública de notas de versión enlazada desde la navegación principal.

Badge de versión persistente en la cabecera para visibilidad inmediata.

Release

v1.0.0

16 ene 2026

Versión base con leaderboard, registro de partidas y calculadora de matchmaking.

Importadores desde Excel y Relic API con recálculo de ELO por ejército.

Frontend con React Query, Zustand y soporte de modo oscuro.

Flujo de versión

¿Cómo se prepara la próxima release?

Cada actualización debe añadir una entrada nueva en este historial y actualizar la versión visible en la cabecera.

1. Ajusta appVersion2. Añade releaseNotes3. Publica y comparte