Une nouvelle version de Dunipod est disponible !
J’invite tous ceux qui hébergent une instance Dunipod à la mettre à jour :
cd dunipod
git checkout v0.16.0
sudo deploy/dunipodctl upgrade
Pour une première installation :
git clone https://git.duniter.org/nodes/rust/dunipod.git
cd dunipod
git checkout v0.16.0
cp deploy/compose.env.example deploy/.env
sed -i 's/pod.example.org/VOTRE_DOMAINE/' deploy/.env
sudo deploy/dunipodctl install
Cette nouvelle version corrige plusieurs bugs découverts lors de l’intégration de Dunipod dans des versions de développement de Gecko et Cesium.
D’ailleurs, je tiens à remercier @Chiara07 pour son travail en cours sur l’intégration de Dunipod dans Gecko, qui a permis de découvrir plusieurs bugs.
Liste des changements depuis la v0.14.0:
- !16 Corrige les historiques de transactions et de DU, les relations des appels groupés et la recherche d’identités ; automatise les resynchronisations nécessaires lors des mises à jour gérées.
- !17 Ajoute une pagination chronologique efficace pour les identités et les certifications actives.
- !18 Inclut les certifications importées à la genèse de manière cohérente dans les listes et les compteurs.
- !19 Permet de filtrer les identités selon leur historique d’adhésion, avec des totaux exacts et une erreur explicite si cet historique est indisponible.
- !20 Maintient le noeud Duniter intégré en activité lors des mises à jour sans changement de sa configuration ni de son image, et exige sa sortie du groupe des validateurs actifs avant toute interruption.
- !21 Ajoute des sauvegardes à chaud cohérentes de la base et des fichiers, une restauration vérifiée et un stockage durable des fichiers.
- !22 Refuse les décalages non pris en charge dans l’historique du portefeuille au lieu de répéter les pages ; les applications doivent utiliser les curseurs.
- !23 Distingue les erreurs de limite WebSocket par client de celles liées à la saturation globale du service.
- !24 Permet de paginer les transactions entrantes et sortantes d’un compte sur un intervalle de blocs.
- !25 Permet de retrouver les bornes exactes en blocs d’une période définie par des dates.
- !26 Ajoute des listes efficaces d’identités filtrées par statut exact ou par intervalle de création au sein d’un groupe de membres ou de non-membres.
- !27 Permet de lister toutes les certifications par ordre de mise à jour et de les filtrer par émetteur ou destinataire.
- !28 Corrige les compteurs de transactions entrantes et sortantes après l’import de la genèse et les maintient à jour.
- !29 Ajoute la recherche côté serveur dans les transactions par montant, commentaire et contrepartie, avec des limites de coût explicites et sans pages de résultats partielles.
- !30 Expose des délais de nouvelle tentative en millisecondes et des en-têtes de quota accessibles aux navigateurs.
- !31 Transmet les nouveaux événements de certification aux abonnements des deux comptes concernés, y compris lors des suppressions.
- !32 Garantit les identifiants GraphQL obligatoires et les hauteurs de création des identités, et clarifie les changements de clé propriétaire ; réimporter les nouvelles genèses exige une base vierge.
- !33 Accélère la pagination des certifications par date de création, même loin dans l’historique, sans ajouter d’index supplémentaire.
- !34 Ajoute la recherche des transactions dans les deux sens avec une contrepartie et par commentaire exact, en tenant compte des blocs non finalisés et de leurs rétractions.
- !35 Expose la version du pod séparément de celle du contrat GraphQL pour faciliter les vérifications de compatibilité des applications.
- !36 Accepte davantage de requêtes GraphQL légères simultanées dans le budget mémoire, avec une limite de quatre requêtes actives par adresse IP.
- !37 Accélère la recherche de profils par nom et rejette les émetteurs invalides lors des imports historiques, sans réimporter les documents existants.
- !38 Renvoie le hash canonique du bloc de genèse pour que les applications reconnaissent les pods valides, et répare automatiquement les bases existantes.
- !39 Corrige et accélère les requêtes Cesium sur les historiques, l’annuaire, les blocs et les certifications ; ajoute les requêtes sur les candidats à l’adhésion et les réévaluations réelles du DU.