NyxJ 2.0.0 marque un tournant : le projet passe d'un simple parseur à une plateforme complète pour le traitement JSON et les services web, écrite en C11 sans dépendance runtime.
Cette release introduit un moteur de parsing thread-safe conforme RFC 8259, avec décodage complet des échappements, validation UTF-8 stricte et protection contre les attaques par déni de service JSON (profondeur maximale, taille d'entrée, rejet des clés dupliquées). Un allocateur arena permet de libérer des arbres entiers en O(1), et un sérialiseur linéaire assure un round-trip optimal des nombres.
Au-delà du cœur, NyxJ 2.0.0 ajoute une douzaine de modules de données : mapping JSON vers struct C avec générateur de code, validation JSON Schema, requêtes JSONPath (NyxQuery), JSON Pointer/Patch/Merge Patch, encodage/décodage MessagePack, vue token zéro-copie, parsing SAX en mémoire constante, et réparation heuristique de JSON presque valide.
Côté runtime, on trouve un pool de threads avec backpressure, un magasin clé-valeur embarqué avec TTL, des métriques Prometheus, des sockets Unix et un ring buffer en mémoire partagée. Le framework web propose un routeur avec paramètres et wildcards, une chaîne de middleware, HTTPS/TLS, un client HTTP natif, la génération OpenAPI 3 avec Swagger UI, des sondes /health et /ready, un mode reverse proxy Safe-Gate, un système de plugins .so/.dll et un clustering gossip expérimental.
L'outillage inclut une CLI nyxj (validate, format, query, repair, diff, patch, msgpack, gen-struct, etc.), un serveur configurable, et une compilation WebAssembly avec démo navigateur.
La suite de tests couvre plus de 500 vérifications, avec CI sur Linux x64/ARM64, macOS, Windows, sanitizers et WebAssembly. La documentation complète (36 chapitres) accompagne cette version.
NyxJ 2.0.0 est disponible sur GitHub : https://github.com/fomadev/nyxj/releases/tag/v2.0.0
Top comments (0)