Files
sanctuary-beta/docs/versioning.md
T
2026-09-15 09:29:11 +02:00

6.0 KiB
Raw Permalink Blame History

Versionnement Sanctuary

Convention adoptée le 12 septembre 2026, ticket local BETA-01, branche codex/versioning-beta. Le dernier socle alpha est 0.1.0-alpha.30.7 ; la première version du nouveau cycle est beta.001.

Le nom du produit reste Sanctuary ; la version contient seulement beta.xxx, pour obtenir Sanctuary-beta.001.mrpack et sanctuary-beta.001.jar sans répéter le nom dans les métadonnées.

La préparation BETA-01 na pas été publiée séparément. À la demande du créateur, la même version inclut ensuite EXP-01, les quatre anciennes expéditions, sur codex/ancient-expeditions-beta001. Les observations BETA-01 ci-dessous concernent la première étape, avant ce changement de jeu ; les essais finaux dEXP-01 sont consignés dans son propre document.

Compteur de livraison

  • Format exact en minuscules : beta.xxx, avec trois chiffres.
  • Première livraison 001, puis 002, 003, … jusqu’à 999 ; décider dune nouvelle convention avant d’épuiser le compteur, sans retour à zéro.
  • Chaque livraison du mod consomme le numéro suivant, correctifs compris. Aucun suffixe .1, -hotfix ou numéro lié à un chantier worldgen.
  • Une modification documentaire seule nincrémente pas les binaires.
  • Une version publiée désigne un commit et des artefacts immuables. Ne pas renommer les tags alpha ni remplacer leurs pièces jointes.
Emplacement Valeur pour cette transition
gradle.propertiesmod_version et pack_version beta.001
packwiz/pack.tomlversion beta.001
Métadonnées Fabric du JAR, issues de Gradle beta.001
Futur tag Git / Gitea, sans préfixe v beta.001
JAR, convention Gradle sanctuary-<version>.jar sanctuary-beta.001.jar
Export MRpack Sanctuary-beta.001.mrpack

scripts/pack.py check, également exécuté par verifyPack, refuse un format différent ou un désalignement entre le mod et les manifestes du pack. scripts/publish_pack.py utilise la version exacte pour les nouveaux tags. Le canal packwiz et le chemin mods/sanctuary.pw.toml restent stables.

Ce nom est une version textuelle personnalisée, pas une version SemVer. Fabric Loader 0.19.5 charge le mod avec sa valeur exacte, mais écrit un avertissement isn't compatible with Loader's extended semantic version format. Pour les futures dépendances à Sanctuary, ne pas supposer quune plage SemVer compare ce compteur ; les GameTests actuels déclarent "sanctuary": "*" dans leurs dépendances. Les mises à jour du pack suivent les manifestes et hashes du canal packwiz.

Génération, sauvegardes et suite

Ce compteur désigne une livraison, pas une version de génération ou de format de sauvegarde. La première étape BETA-01 reprenait le code de jeu de lalpha.30.7, notamment le codec sanctuary:island_v24, sans modifier les identifiants sanctuary:*, les journaux, les paramètres ou les chunks. Ce renommage nimpose pas à lui seul un nouveau monde ; les contraintes des anciennes générations restent celles de leurs notes de version. Aucune migration de sauvegarde nest livrée ici.

Le créateur clôt le chantier worldgen sur ce socle. Le backlog prévoit une passe courte sur les expansions, puis la progression en jeu. Les systèmes de progression décrits dans la vision restent à implémenter.

Validation et distribution

La transition est préparée localement. La publication des artefacts, lavancement du canal et la synchronisation de linstance Prism suivent une demande de livraison et la procédure packwiz. Aucune de ces opérations nest effectuée par le seul changement de version des sources.

Vérifications de la première étape BETA-01 sur macOS, Java 25, Minecraft 26.3-pre-2. Elles précèdent les expéditions et la simplification finale du nom interne ; les anciens logs gardent leur libellé temporaire :

  • Les 13 cas de versionnement passent : compteurs admis, formats refusés et désalignements mod/pack/manifeste. Les scripts Python compilent.
  • ./gradlew check build assemblePack échoue après 6 min 56 s : 30 GameTests réussissent sur 32. Les contrôles purs précédant les GameTests passent. populationTerrainAndNaturalSpawnRemainPresent attend encore une hauteur de 384 blocs, alors que le monde courant mesure 640 blocs. retainedHydrologySurvivesNativeDecoration refuse le support naturel dune cellule de sédiment en x=-141, z=-86, bedY=238, sur Moyen 724, graine 0. Ces deux assertions figurent déjà dans lalpha.30.7 ; aucune nest corrigée ou désactivée dans les sources de BETA-01. Leur remise en cohérence reste ouverte.
  • ./gradlew build assemblePack -x :sanctuary:check réussit ensuite en 2 s, pour construire les artefacts séparément. Cette exclusion ponctuelle ne constitue pas une réussite du contrôle complet ci-dessus.
  • Le JAR alpha.30.7 local correspond au SHA-256 publié dans le dépôt. La comparaison des archives montre 1 116 entrées strictement identiques ; seul fabric.mod.json change, et seule sa valeur version diffère.
  • Le packwiz assemblé et lexport MRpack sont vérifiés : version, dépendances exactes, index et empreintes, intégrité ZIP, un seul JAR Sanctuary.

Les reçus et logs restent ignorés dans build/beta001-validation.json, build/beta001-check-build-pack.log et build/beta001-assemble.log. Artefacts locaux : mods/sanctuary/build/libs/sanctuary-beta.001.jar et build/Sanctuary-beta.001.mrpack. Aucun essai client graphique, Windows ou rechargement de sauvegarde personnelle nest revendiqué.

La simplification finale vers beta.001 est également vérifiée : 12 cas de format et dalignement, construction et assemblage réussis, nom/version du MRpack et version Fabric alignés. Comparé au JAR des expéditions ayant passé les essais natifs, seul le champ version de fabric.mod.json change. Le reçu final des expéditions remplace les empreintes des artefacts de préparation.