6.0 KiB
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 n’a 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
d’EXP-01 sont consignés dans son propre document.
Compteur de livraison
- Format exact en minuscules :
beta.xxx, avec trois chiffres. - Première livraison
001, puis002,003, … jusqu’à999; décider d’une 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,-hotfixou numéro lié à un chantier worldgen. - Une modification documentaire seule n’incré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.properties → mod_version et pack_version |
beta.001 |
packwiz/pack.toml → version |
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 qu’une 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 l’alpha.30.7, notamment le
codec sanctuary:island_v24, sans modifier les identifiants sanctuary:*, les
journaux, les paramètres ou les chunks. Ce renommage n’impose pas à lui seul
un nouveau monde ; les contraintes des anciennes générations restent celles
de leurs notes de version. Aucune migration de sauvegarde n’est 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, l’avancement du canal et la synchronisation de l’instance Prism suivent une demande de livraison et la procédure packwiz. Aucune de ces opérations n’est 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.populationTerrainAndNaturalSpawnRemainPresentattend encore une hauteur de 384 blocs, alors que le monde courant mesure 640 blocs.retainedHydrologySurvivesNativeDecorationrefuse le support naturel d’une cellule de sédiment enx=-141, z=-86, bedY=238, sur Moyen 724, graine0. Ces deux assertions figurent déjà dans l’alpha.30.7 ; aucune n’est corrigée ou désactivée dans les sources de BETA-01. Leur remise en cohérence reste ouverte../gradlew build assemblePack -x :sanctuary:checkré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.jsonchange, et seule sa valeurversiondiffère. - Le packwiz assemblé et l’export 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 n’est revendiqué.
La simplification finale vers beta.001 est également vérifiée : 12 cas
de format et d’alignement, 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.