Suivi des Versions & Changelog
Statut actuel et historique complet des mises à jour de GensCore sur Minecraft 26.1+ (Paper 26.1 - 26.3+) et Java 25 LTS.
État du Projet
Release 1.0.3 — Paper build.145-beta (3 Octobre 2026)
Mise à jour majeure de stabilité, base de données et modernisation Paper 26.3. Les 81 tests automatisés (unitaires et de concurrence) passent avec succès avec 0 erreur. Validé sur Paper 26.1, Paper 26.2 et Paper/Folia 26.3.
- Modernisation Paper 26.3 & Élimination Totale des Dépréciations :
UtilsModule.java: Migration des menus virtuels (openWorkbench,openAnvil,openEnchanting) vers les builders officiels Paper 26.3MenuType.CRAFTING.builder(),MenuType.ANVIL.builder(), etMenuType.ENCHANTMENT.builder().ShopModule.java: Détection moderne d'objets via les Data Components (meta.hasCustomModelDataComponent(),meta.hasCustomName(),meta.hasItemName()).TombListener.java: Profil de skin des têtes de joueurs migré vers Paper 26.3skull.setProfile(ResolvableProfile.resolvableProfile(profile)).JobsModule.java: Remplacement deMetadatable(FixedMetadataValue) etBlock.getBlockKey()par l'encodage bitwise haute performancepackBlockKey(x, y, z)avec cache thread-safe (Map<UUID, Set<Long>>).- Élimination de tous les
@SuppressWarnings("deprecation")du code actif Bukkit/Paper.
- Sécurité Mémoire & Prévention des Fuites d'Objets :
TeleportBackModule.java: Remplacement du stockage direct d'objetsLocationpar le record immuablerecord BackPosition(String worldName, double x, double y, double z, float yaw, float pitch)afin d'éviter la rétention d'instancesWorldlors du déchargement de mondes.StorageManager.java: Suppression complète du code mort lié à l'ancien formatdata.yml.ItemSerializer.java: Isolation et documentation du repli de secours de désérialisation pour les anciens objets Base64 (préfixerO0AB).
- Support Base de Données Multi-Moteurs (MySQL / MariaDB & SQLite) :
- Prise en charge optionnelle de bases externes MySQL et MariaDB via HikariCP et le pilote officiel MariaDB (
org.mariadb.jdbc:mariadb-java-client:3.5.2, entièrement ombré). - Maintien du moteur local SQLite (
genscore.db) comme stockage par défaut prêt à l'emploi (zéro configuration requise). - Traduction dynamique des dialectes SQL (
DatabaseManager.adaptQuery()) :- Définitions d'auto-incrément (
INTEGER PRIMARY KEY AUTOINCREMENT->INT AUTO_INCREMENT PRIMARY KEY). - Valeurs par défaut d'horodatage (
TIMESTAMP DEFAULT CURRENT_TIMESTAMP->DATETIME DEFAULT CURRENT_TIMESTAMP). - Clauses d'upsert (
ON CONFLICT(...) DO UPDATE SET col = excluded.col->ON DUPLICATE KEY UPDATE col = VALUES(col)).
- Définitions d'auto-incrément (
- Introspection multi-schémas et migrations automatiques sur
sqlite_masteretinformation_schema.tables. - Bascule de secours automatique (failover) : si le serveur MySQL/MariaDB distant est inaccessible, le plugin bascule instantanément sur SQLite local sans interrompre le lancement du serveur.
- Prise en charge optionnelle de bases externes MySQL et MariaDB via HikariCP et le pilote officiel MariaDB (
- Service de Métriques & Diagnostic Système (
MetricsService.java) :- Télémétrie en direct : mémoire JVM (utilisée, libre, max), charge processeur, TPS Folia, statistiques du pool de connexions SQL et état des modules.
- Nouveaux points de terminaison REST :
/api/metricset/api/admin/metricsexposés via Javalin.
- Commandes d'Administration & Diagnostic (
GensCommand.java) :/gens status(permission :genscore.admin) : Affiche la plateforme, le TPS Folia, la mémoire Java et le nombre de modules actifs./gens db(permission :genscore.admin) : Affiche le moteur actif (SQLite ou MySQL/MariaDB), l'URL de connexion, les connexions actives/inactives et les threads en attente.
- Assurance Qualité & CI/CD :
- Ajout des suites de tests
SqlDialectTestetDatabaseConfigTest. - Suite de tests étendue à 81 tests validés avec 0 échec et 0 erreur.
- Workflows GitHub Actions mis à niveau avec vérification automatique du packaging ombré.
- Ajout des suites de tests
Release 1.0.2 — Paper build.143-beta (3 Octobre 2026)
Mise à jour de maintenance stable. Les 75 tests automatisés passent avec succès. Testé et certifié sur Paper 26.1, Paper 26.2 et Paper/Folia 26.3.
- TabBoard & Nametags :
- Omission du préfixe pour les joueurs dans le groupe
defaultde LuckPerms sans préfixe personnalisé (affichage épuré sans texteDefault). - Synchronisation du rafraîchissement du cache de préfixe toutes les 5 secondes.
- Protection du préfixe de plateforme : le badge
[Java]ne s'affiche plus si Floodgate n'est pas présent.
- Omission du préfixe pour les joueurs dans le groupe
- Scoreboard & Placeholders :
- Résolution native pour
%vault_eco_balance%,%vault_eco_balance_fixed%et%vault_eco_balance_formatted%sans nécessiter d'extension externe.
- Résolution native pour
- Chat & Formatage :
- Alignement du formatage des préfixes avec LuckPerms (suppression du fallback
[Joueur]). - Correction des espaces résiduels entre préfixe et pseudonyme.
- Alignement du formatage des préfixes avec LuckPerms (suppression du fallback
- Authentification & Traduction :
- Nettoyage des doublons de traduction dans
fr_FR.ymleten_US.yml. - Remplacement des entités HTML échappées par des balises MiniMessage valides.
- Nettoyage des doublons de traduction dans
Release 1.0.1 — Paper build.41-alpha (25 Septembre 2026)
- API Paper : Mise à niveau vers
26.3.build.41-alpha. - Panel Web Mobile : Barre supérieure fixée avec zone de défilement dédiée
admin-content-scroll. - Bibliothèques Backend :
jackson-databind2.22.3,JDA6.7.0. - Frontend : Vite 8.3.1, Lucide-React 1.48.0, React-i18next 17.0.15.
Release 1.0.0 — Version Initiale (20 Septembre 2026)
- Lancement officiel de GensCore.
- Architecture modulaire avec modules autonomes.
- Dashboard web réactif React & Javalin.
- Persistance SQLite avec pool de connexions HikariCP.
- Intégration Discord Bot via JDA 6.
- Cross-play Java & Bedrock (Geyser/Floodgate).