Dunipod v0.17.1 : correctifs de synchronisation, profils et API GraphQL
Une nouvelle version de Dunipod est disponible !
J’invite tous ceux qui hébergent une instance Dunipod à la mettre à jour :
cd dunipod
git fetch origin --tags
git checkout v0.17.1
sudo deploy/dunipodctl upgrade
Pour une première installation :
git clone https://git.duniter.org/nodes/rust/dunipod.git
cd dunipod
git checkout v0.17.1
cp deploy/compose.env.example deploy/.env
sed -i 's/pod.example.org/VOTRE_DOMAINE/' deploy/.env
sudo deploy/dunipodctl install
Depuis la v0.16.0, plusieurs versions correctives se sont succédé. Elles corrigent notamment la réplication entre pods, l’import des profils et de leurs images, ainsi que les commentaires des transferts groupés. Elles apportent aussi de nouvelles possibilités de requêtes GraphQL et des outils pour les administrateurs et les développeurs.
La v0.17.1 corrige plus particulièrement les performances de reconstruction des données lors des mises à jour et la conservation des documents offchain.
Liste des changements depuis la v0.16.0 :
- !40 Améliore la recherche des noms finalisés grâce à des index PostgreSQL déclarés par les paquets de règles.
- !41 Ajoute la commande
dunipodctl anchor-addresspour consulter l’adresse du compte d’ancrage. - !42 Ajoute des commandes pour demander et importer des autorisations de connexion P2P.
- !43 Fournit des outils pour lancer une chaîne locale, effectuer des transferts et émettre des certifications.
- !44 Corrige le tri numérique des identités non membres et révoquées.
- !45 Conserve les noms des identités supprimées.
- !46 Corrige la réplication des documents signés et la conservation des fichiers associés.
- !47 Corrige le traitement des changements importants de meilleure chaîne et des traitements Offchain bloqués.
- !48 et !49 Corrigent les permissions de lecture nécessaires au service P2P pour les blocs indexés et les preuves d’effacement.
- !50 Corrige l’intégration des documents reçus par P2P et le suivi de l’état des imports.
- !51 et !52 Corrigent la récupération des fichiers facultatifs, la génération différée des miniatures et les contrôles de santé des services.
- !53 Porte à 256 Mio la limite mémoire du calcul de distance dans la configuration à faible mémoire.
- !54 et !55 Évitent que d’anciennes erreurs de génération de fichiers continuent de signaler un problème après leur résolution.
- !56 Définit les tailles par défaut des miniatures de profils à 48 et 64 pixels.
- !57 Limite le travail de réactivation des générations de fichiers et détecte les tâches Offchain en retard.
- !58 Relance la récupération des fichiers facultatifs auprès des autres pods et prend en compte leur disponibilité tardive.
- !59 Corrige les reçus d’admission des documents réservés au protocole et améliore le diagnostic de disponibilité.
- !61 Réapplique les effacements P2P déjà reçus lorsque nécessaire et détecte les réparations incomplètes.
- !62 Améliore les contrôles de santé P2P et la prise en compte du retard de synchronisation.
- !63 Préserve le commentaire commun aux transferts d’un appel groupé.
- !64 Utilise le type
webpour les liens sociaux des anciens profils lorsque leur type est absent. - !65 Documente la configuration du Duniter intégré en mode forgeron et refuse la publication de son RPC sur une interface autre que la boucle locale en mode validateur.
- !66 Isole les refus de budget entre les champs racines d’une requête GraphQL, sans exposer les budgets mémoire internes.
- !67 Permet de rechercher les transferts de tout le réseau sur une période donnée.
- !68 Corrige les relations entre documents déclarées par les paquets de règles et clarifie l’état de disponibilité Offchain.
- !70 Expose dans GraphQL la durée configurée des époques de documents, exprimée en blocs.
- !71 Corrige les performances de reconstruction des données lors des mises à jour des paquets de règles et évite des avertissements injustifiés sur les commentaires de transferts.
- !72 Conserve les documents de contrôle signés indépendamment de la rétention des données applicatives et récupère ceux encore disponibles lors de la migration.
Cette version inclut également une mise à jour de sécurité de Rustls et des améliorations des tests automatisés.