Changelog
v1.3.1 — Cobertura de Tests Completa (243 tests, 0 fallos)
25/06/2026- 5 nuevos archivos de test: bracket, roster, team, recalculate_team_stats, season.
- Cobertura total de Expensive Mistakes: todos los tiers y outcomes.
- Migración SQLAlchemy 2.0: Query.get() reemplazado por db.session.get().
- Type hints añadidos en 6 servicios que faltaban.
- Bug fix: Catastrophe con gold_lost negativo corregido.
- Tests de transitividad para recalculate_team_stats con 3 equipos.
v1.3.0 — Refactor Estructural + Tests
25/06/2026- i18n partido en 16 archivos por dominio (navbar, home, teams, players, matches...).
- app/__init__.py reducido de 130 a 45 líneas.
- 6 nuevos servicios: roster, bracket, team, naming, season, match.
- WTForms: LoginForm, ChangePasswordForm, LeagueSettingsForm con validación automática.
- Código muerto eliminado: PlayerPresenter.
- N+1 queries corregidas en teams list y matches detail.
- Paginación en listado de partidos (20 por página).
- datetime.utcnow reemplazado por datetime.now(timezone.utc) en 6 ocurrencias.
- 13 tests nuevos (humo, integración, reglas) con 33% cobertura.
v1.2.5 — Info: Tablas de Clima y Patada Inicial rediseñadas
24/06/2026- Iconos rotos corregidos: cambiados a Font Awesome Solid (fa-solid fa-cloud-sun-rain, fa-solid fa-football).
- Índice en 2 columnas: weather.html y kickoff.html con índice dividido en dos columnas verticales.
- Lanzador 2D6 movido a /info/: los lanzadores de clima y kickoff ahora están en la página principal de Info.
- Endpoint JSON /info/_roll/: nuevo endpoint centralizado para las tiradas 2D6.
- Race badges en selects: las tablas muestran las razas asociadas entre paréntesis en el selector.
- Race badges en resultados: al tirar, se muestran badges de raza en el resultado de la tirada.
- Nombres traducidos: los selects usan name_es/name_en según el idioma.
- Race badges en cards: weather.html y kickoff.html muestran badges de raza en los headers de cada tabla.
v1.2.4 — Gestión de Retiro Temporal (TR)
23/06/2026- Eliminado el badge TR duplicado en el detalle del equipo (ahora solo se muestra mediante injury_status_badge).
- La sección de TR en la ficha del jugador se muestra aunque no tenga reducciones de stats.
- Jugadores en TR no cuentan para el valor del equipo ni CTV.
- Jugadores en TR no aparecen en el ranking de Jugador Estrella (Most Wanted).
- Jugadores en TR no aparecen en el selector de jugadores al crear/editar partidos.
- Solo el admin puede reactivar a un jugador desde su ficha; el coach puede enviarlo a TR pero no reactivarlo.
- Ocultado el botón de reactivar para coaches en la ficha del jugador.
v1.2.3 — Navbar Rediseñado (Rodamonster Bowl III)
19/06/2026- Navbar de 3 columnas: balón rugby + nombre liga a la izquierda, menú centrado, controles a la derecha.
- Nombre de la liga como navbar-brand solo en móvil (d-lg-none).
- Icono de usuario cambiado a ra-dice-one.
- Estilo Grimdark: nav-links con uppercase, letter-spacing, active con borde inferior rojo.
- Layout estable: eliminado espaciador dinámico que movía el menú.
- Limpieza CSS: clases obsoletas eliminadas.
v1.2.2 — Acrónimo en Eventos SPP
19/06/2026- Acrónimo del equipo junto al nombre del jugador lesionado en la columna "Jugador Lesionado" de la tabla de eventos SPP.
v1.2.1 — Detalle de Partido Rediseñado
18/06/2026- DF condicional: solo se muestra si la opción está activa en Ajustes de Liga.
- Bajas en lugar de Muertes: se muestra el total de bajas (casualties SPP).
- TV en el centro bajo el marcador: TV Mayor / TV Menor + Incentivos (diferencia).
- Espaciado compacto en laterales (FF, DF, Bajas) con gap-2.
- TV eliminado de las tarjetas de equipo local/visitante.
v1.2.0 — Listado Equipos Rediseñado
17/06/2026- Listado de equipos con tarjetas compactas de 2 filas (nombre + raza/entrenador/TV/jugador estrella).
- Jugador Estrella recalculado por rendimiento (TD, bajas, intercepciones) en vez del valor de desarrollo.
- Pie explicativo del cálculo del jugador estrella.
v1.1.0 — Torneos, Capitán y Ajustes de Liga
16/06/2026- Torneos: crear copas Resurrection y playoffs con bracket visual, rondas, puntuaciones y campeón.
- Registro de resultados de copa directamente desde el bracket (solo resultado, sin SPP/lesiones).
- Playoffs integrados con la liga: crea partidos reales desde el bracket del torneo.
- Capitán de equipo: modal para elegir capitán con badge visual. Pro se añade/elimina automáticamente.
- Validación: Big Guys no pueden ser capitanes. Solo visible para equipos con Team Captain.
- Nueva opción "Mostrar Torneos" en navegación, configurable desde Ajustes de Liga.
- Enlace al torneo desde el detalle del partido si pertenece a uno.
v1.0.1 — Home más compacta
16/06/2026- Cards de stats destacadas (Top Scorer, Más letal, Cuchara de palo, Most Wanted) reducidos.
- Gap entre cards de la columna derecha reducido.
- Añadida clase .stat-card-compact para cards secundarios.
v1.0.0 — Primera versión completa
12/06/2026- Gestión de equipos, jugadores y partidos con eventos SPP detallados.
- Cálculo automático de ganancias post-partido (BB2025).
- Sistema de puntos de liga con bonificaciones por rendimiento.
- Clasificación interactiva con ordenación por columnas.
- Calendario de jornadas con acceso directo al registro de partidos.
- Panel de administración con control de acceso por roles (admin/coach).
- Soporte para 30 razas oficiales de Blood Bowl.
- Regla especial Brutos Brutales (Brutal Brutes).
- Tema oscuro personalizado con Bootstrap 5.3.