L’équipe de développement de Neo Core a publié Neo Express v3.9.1, la première mise à jour officielle de l’outil de blockchain local depuis mai 2025. Sortie le 4 février, la nouvelle version introduit la prise en charge de .NET 10.0, met à jour la compatibilité avec Neo-CLI v3.9.1 et intègre des améliorations approfondies visant à améliorer les flux de travail des développeurs.
Mises à niveau clés dans Neo Express v3.9.1
Neo Express v3.9.1 consolide 39 demandes d’extraction fusionnées dans plusieurs domaines d’intervention, notamment les corrections de bogues, les mises à niveau de sécurité, la prise en charge de la plate-forme et la maintenance de l’infrastructure. Il supprime les cibles du framework hérité, améliore la convivialité multiplateforme et résout les problèmes de longue date affectant les tests, la localisation et le débogage des contrats intelligents.
Mises à jour de la plateforme et du framework
Compatibilité .NET 10 : Neo Express cible désormais .NET 10.0, la dernière version de la plate-forme de développement de Microsoft (#515), garantissant que les développeurs peuvent tirer parti des fonctionnalités de framework et des améliorations de performances les plus récentes. Cette mise à jour supprime également les anciennes cibles .NET Standard et .NET Framework (#496), rationalisant ainsi la base de code et réduisant les frais de maintenance.
Intégration de Neo v3.9.1 : la version met à niveau Neo Express pour s’aligner sur Neo-CLI v3.9.1 (#516), garantissant la compatibilité avec les dernières fonctionnalités du protocole, notamment la liste blanche des frais de contrat, le contrat natif du Trésor et une précision améliorée du facteur de frais d’exécution.
Binaires multiplateformes : des binaires prédéfinis sont désormais disponibles pour plusieurs plates-formes, notamment Linux (x64, ARM64, musl), macOS (x64, ARM64) et Windows (x64, ARM64), offrant une prise en charge native dans tous les environnements de développement.
Améliorations du flux de travail de développement
Exécution améliorée des commandes : le RunDotNetCommand La méthode utilise désormais des listes d’arguments au lieu de la concaténation de chaînes (#478), améliorant ainsi la fiabilité et réduisant les erreurs potentielles lors de l’exécution de commandes CLI .NET pendant le développement et les tests de contrats intelligents.
Infrastructure de test améliorée : l’exécution des commandes de test a été refactorisée pour éliminer la duplication de code entre les classes de test (#480), rendant la suite de tests plus maintenable et réduisant le risque de comportement incohérent dans différents scénarios de test.
Correctifs de localisation : résolution d’un problème où le Test02_BuildValidation le test échouerait s’il était exécuté dans des environnements de langue autre que l’anglais (#483), améliorant ainsi l’expérience des développeurs internationaux.
Corrections de bugs et stabilité
Plusieurs corrections de bugs critiques améliorent la fiabilité de Neo Express :
Améliorations du service d’état : problèmes résolus dans StateServiceStore (#493) et MemoryTrackingStore classes (#492), améliorant la gestion de l’état de la blockchain et le suivi de la mémoire pendant les workflows de développement et de test.
Gestion des éléments de stockage : résolution d’un problème où des éléments de stockage inconnus provoquaient des erreurs au lieu de renvoyer null dans GetProvenState (#491), empêchant les plantages lors de l’interrogation d’un état de blockchain inexistant.
Précision de l’état de transfert : correction des rapports d’état incorrects dans GetTransfers (#494), garantissant un suivi précis des transferts de jetons pendant le développement et les tests.
$NFT améliorations du support : corrigé $NFT analyse des jetons de transfert et ordre de la pile d’équilibre (#507), résolvant les problèmes rencontrés par les développeurs lors des tests $NFT contrats.
Paramètres du protocole Neo-Trace : correction des paramètres du protocole dans Neo-Trace et amélioration de la messagerie d’erreur en cas d’échec des opérations de trace (#488), améliorant ainsi les capacités de débogage.
Gestion du répertoire actuel : résolution de problèmes de résolution de chemin qui pouvaient entraîner l’échec des commandes lorsqu’elles étaient exécutées à partir de certains répertoires de travail (#495).
Téléchargement de la version Neo3-visual-tracker : correction de problèmes de téléchargement affectant l’extension Neo3 Visual Tracker (#499), garantissant que les développeurs peuvent installer et utiliser correctement l’extension Visual Studio Code.
Gestion des données d’instantané : fonctionnalité d’instantané modifiée pour ajouter une copie des entrées au lieu de la liste elle-même (#490), évitant ainsi les effets secondaires involontaires et la corruption des données lors des instantanés d’état.
Mises à jour de sécurité
La version corrige de nombreuses vulnérabilités de sécurité grâce à des mises à jour de dépendances dans l’extension neo3-visual-tracker :
- Tar-fs mis à jour (2.1.1 → 2.1.4) (#476, #500) pour corriger les vulnérabilités d’extraction d’archives
- Base-x mis à jour (5.0.0 → 5.0.1) (#473) pour une sécurité améliorée du codage de base
- Pbkdf2 mis à jour (3.1.2 → 3.1.3) (#477) pour la dérivation de clé basée sur un mot de passe
- Base de chiffrement mise à jour (1.0.4 → 1.0.6) (#497) pour les opérations cryptographiques
- Sha.js mis à jour (2.4.11 → 2.4.12) (#498) pour les fonctions de hachage SHA
- Tmp mis à jour (0.2.1 → 0.2.4) (#489) pour la gestion des fichiers temporaires
- Js-yaml mis à jour (#509) pour la sécurité de l’analyse YAML
- Jws mis à jour (3.2.2 → 3.2.3) (#511) pour la gestion des signatures Web JSON
- Qs mis à jour (6.14.0 → 6.14.1) (#512) pour l’analyse des chaînes de requête
- Undici mis à jour (7.16.0 → 7.18.2) (#513) pour les opérations client HTTP
- Mise à jour de @isaacs/brace-expansion (5.0.0 → 5.0.1) (#518) pour la correspondance de modèles globaux
- Mise à jour de Microsoft.Build.Utilities.Core (17.14.8 → 17.14.28) (#505, #506) pour les outils de build
- Mises à jour générales des packages de sécurité (#502, #510)
Améliorations de la qualité du code
Mises à jour des méthodes obsolètes : remplacement des appels de méthodes obsolètes dans toute la base de code (#482), garantissant la compatibilité avec les versions .NET actuelles et futures et réduisant les avertissements du compilateur.
Réduction des avertissements : suppression de divers avertissements du compilateur (#501), améliorant la qualité du code et permettant aux développeurs d’identifier plus facilement les véritables problèmes dans leur propre code.
Mises à jour de la version du package : maintenance régulière des dépendances (#479, #503) pour maintenir le projet à jour avec les modifications en amont.
Compatibilité
Neo Express v3.9.1 est compatible avec Neo-CLI v3.9.1 et versions ultérieures. Les développeurs utilisant Neo Express pour les tests de blockchain locaux doivent mettre à jour vers cette version pour garantir la compatibilité avec les dernières fonctionnalités du protocole et le comportement MainNet/TestNet.
La mise à jour nécessite le SDK .NET 10.0 pour les développeurs qui créent à partir des sources. Des binaires prédéfinis sont disponibles pour les développeurs qui préfèrent ne pas compiler les outils eux-mêmes.
Neo Express v3.9.1 peut être téléchargé à partir du lien ci-dessous :
https://github.com/neo-project/neo-express/releases/tag/3.9.1