v1.1.2 — Refactor + Security Review
✨ v1.1.2 — Refactor + Security Review (Milestone Release)
159/159 testes JUnit 5 verde | Java 21 | 159 testes | 22 suites
Esta release marca o fim do arc de cleanup + hardening do MineLauncher. O launcher passou por refactor estrutural, 2 rounds de code review, e 1 security review completo — todos os achados endereçados.
🏗️ Refactor arquitetural
- GameLauncher (608 LOC) quebrado em 4 classes focadas:
ProcessSpawner— spawn do processo do MinecraftLibraryVerifier— download + verificação SHA1NativesExtractor— extração de .so/.dll/.dylibGameLauncher(slim) — orquestração
- SettingsManager NPE fix — ordem de campos estáticos (GSON → ACCOUNTS_TYPE → INSTANCE) eliminava NPE no primeiro launch
- CSS inline extraído para classes nomeadas em
dark-theme.css - Linux ARM64 detection corrigido
🔍 Code review (17 achados endereçados)
- Round 1 (10 achados): CRIT + HIGH + MEDIUM + LOW
- Round 2 (7 achados): observability, test quality, legacy profile
🛡️ Security review (15/15 itens)
- CRIT-1..7: todos endereçados (fail-closed encrypt, 5-level fallback HWID, refresh token, opt-in error reporter, sidecar markers, parallel mod updates, Unicode-aware sanitizeName)
- HIGH-8..15: todos endereçados (HttpUrl.Builder, symlink defense, User-Agent interceptor, etc.)
- INFO-1: BackupService.createSnapshot(String, File, File) agora sanitiza worldName contra path traversal e control chars
🔧 CI/CD
- GitHub Actions (
.github/workflows/ci.yml) agora bloqueia PRs com regressão de teste - Build em JDK 21 + cache Maven + upload de artifact
📊 Métricas
- 159 testes JUnit 5 (22 suítes, 0 falhas, 0 erros, 0 skipped)
- Java 21, JavaFX 21, Maven 3.9+
- Cobertura: services, utils, launcher core, security helpers, controllers
📦 Commits desta release
4f41f77 docs: add CI + release + license + Java version badges to README
8462d2f ci: enable test failure on PR (was continue-on-error from pre-JUnit era)
64753c0 fix: security-review INFO-1 — sanitize worldName in BackupService
a67185c fix: code review on 655ae88 - observability, test quality, legacy profile
655ae88 fix: code review findings - security, correctness, tests
3f1df4c feat: code review audit pass — security, auth, quality, tests
42e44a2 refactor: split GameLauncher into focused classes + fix SettingsManager NPE
5bb4713 refactor: audit pass — CSS classes, Linux arch detection, backup simplify
Como rodar: mvn clean package e execute o JAR em target/. Veja o README para instruções completas.