Skip to content

Releases: ALLANOSAN/minecraft-launcher-java

v1.1.5 — Skin Preview 3D

Choose a tag to compare

@ALLANOSAN ALLANOSAN released this 17 Jun 05:06

v1.1.5 — Nova feature: Preview de Skin em 3D 🎨

Novidades

  • SkinManager: Busca skins via API pública da Mojang (qualquer jogador, sem autenticação), NameMC, URL direta e arquivo local PNG
  • SkinPreview3D: Modelo 3D completo do personagem Minecraft com TriangleMesh + mapeamento UV da textura 64x64 (cabeça, corpo, braços, pernas)
  • Nova aba "Aparência" na sidebar: Preview 3D com rotação por mouse drag e zoom por scroll, campo de busca por nome de jogador, URL direta e upload de arquivo
  • Auto-carregamento: Skin da conta logada carrega automaticamente ao iniciar
  • Cache em disco: Skins baixadas são cacheadas em ~/.minelauncher/skins/

Correções

  • SkinManager: Trata HTTP 204 (No Content) da API sessionserver — retorna null em vez de NPE
  • Versão sincronizada: APP_VERSION (AppConstants) em 1.1.5, launcher_version usa a constante (não mais "1.0.0" hardcoded)

v1.1.3

Choose a tag to compare

@ALLANOSAN ALLANOSAN released this 17 Jun 02:57

v1.1.3 — Fixes

  • Forge 1.20.1+: consertado o -DignoreList adicionando version ID e prefixo _1. ao GameLauncher
  • ProfileManager: refatorado para Singleton via Guice para evitar conflitos de instância e perda de estado
  • ProfileManager: desabilitado auto-import do launcher oficial para impedir que perfis deletados reapareçam
  • ModActions: corrigida deleção de modpacks mapeando corretamente os IDs de diretório e purgando todos os perfis associados
  • Codebase: removidos métodos e imports não utilizados no ProfileManager
  • Tests: sincronizados e limpos os arquivos de teste

v1.1.2 — Refactor + Security Review

Choose a tag to compare

@ALLANOSAN ALLANOSAN released this 07 Jun 02:31

✨ 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 Minecraft
    • LibraryVerifier — download + verificação SHA1
    • NativesExtractor — extração de .so/.dll/.dylib
    • GameLauncher (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.

Versão: 1.1.1 Implementação do Sistema de Atualização Automático

Choose a tag to compare

@ALLANOSAN ALLANOSAN released this 05 Jun 07:03

Corrigido sistema que impedia o Launcher de ser atualizado automaticamente e depois do Update o launcher abrir automaticamente apos o update

Versão: 1.1.0 Implementação de Backup Automático ao Abrir o Launcher

Choose a tag to compare

@ALLANOSAN ALLANOSAN released this 05 Jun 05:55

💾 Nova Feature: Backup Automático ao Abrir o Launcher
Esta atualização introduz um sistema automatizado de cópias de segurança (backups) que é executado toda vez que o launcher é inicializado. Isso garante que o seu progresso esteja protegido e salvo antes mesmo de você começar uma nova sessão de jogo.

⚠️ Atenção: Configuração Necessária
Definição do Diretório: Para que o sistema funcione corretamente, você deve indicar a pasta onde os backups serão salvos diretamente na tela de configurações do launcher. O recurso só será ativado após essa definição.
🛠️ O que foi implementado:
Backup na Inicialização: O launcher agora faz a varredura e copia os arquivos de save de forma totalmente automática assim que é aberto.
Rotação de Arquivos (Limite de 3 Backups): Para não lotar o seu disco, o sistema mantém apenas os últimos 3 backups mais recentes. Sempre que um novo backup é criado na abertura do launcher, a versão mais antiga é descartada.
Prevenção de Erros: Proteção ideal contra arquivos corrompidos durante o fechamento da sessão anterior.
💡 Nota: Lembre-se de abrir o launcher, ir até as configurações e definir a sua pasta de destino para que os backups comecem a ser gerado

1.0.0

Choose a tag to compare

@ALLANOSAN ALLANOSAN released this 05 Jun 04:15

🚀 Nova Feature: Sistema de Update Automático

Este lançamento introduz a infraestrutura para atualizações automatizadas no launcher de Java. Esta build foi estruturada para que o launcher possa verificar, baixar e aplicar novas versões de forma autônoma.

🛠️ O que foi implementado:

  • Checagem de Versão: Integração com a API [ou sistema de checagem] para identificar novas atualizações disponíveis.
  • Download do Update: Fluxo para baixar os arquivos necessários da nova versão em segundo plano.
  • Mecanismo de Aplicação: Lógica para substituir os arquivos antigos pelos novos e reiniciar o launcher atualizado.

⚠️ Nota técnica: Este release está servindo de base para homologação e validação do fluxo completo de auto-update.