Skip to content

Releases: NemStudio18/nhtml

NHTML Gateway v0.7.3-stable

30 Apr 14:18

Choose a tag to compare

Added

  • Agnostic Database Engine (sqlx): Support complet pour SQLite, MySQL et PostgreSQL via sqlx::AnyPool.
  • Global Session Persistence: Centralisation de l'état des sessions et de l'historique des patches en DB, permettant la scalabilité horizontale (Clustering).
  • Compilation Caching: Cache global des CompileResult via Arc. Latence réduite à ~1ms lors des reconnexions.
  • Origin Validation: Protection contre le Cross-Site WebSocket Hijacking (CSWH) via contrôle de l'en-tête Origin.
  • Memory Optimization: Migration vers Arc<HandlerTable> et pré-sérialisation JSON pour réduire drastiquement l'empreinte mémoire par session.

Fixed

  • Zero-Panic Compliance: Suppression totale des unwrap() et expect() dans le runtime (Supervisor, Watcher, CLI, Socket).
  • Binary Hardening: Ajout de bounds checks rigoureux sur tous les buffers entrants (NBPS v0.7.1).
  • HMAC Signatures: Correction de l'implémentation binaire pour une compatibilité parfaite avec les navigateurs modernes.
  • PHP Path Security: Canonicalisation forcée des chemins pour neutraliser les injections de commandes.
  • WASM MIME Support: Support explicite des types MIME .mjs et .wasm pour le mode Zero-Server.
  • SDK Standardisation: Alignement complet des SDK Python, Node.js et Go sur le modèle PHP (Broadcast Scopes, Parsing NBPS v0.7).
  • UI Industrialization: Remplacement de tous les emojis par des icônes Font Awesome professionnelles et intégration du nouveau logo premium.
  • XSS Prevention (Bridge): Injection automatique de DOMPurify et sécurisation de innerHTML/insertAdjacentHTML contre les payloads malveillants.
  • DevTools Security: Échappement HTML strict via html_escape::encode_safe sur les noms des handlers et payloads envoyés aux DevTools.
  • CLI Scaffolding: Correction du template app.php généré par nhtml new pour supporter le format JSON via php://stdin.
  • Router Hardening: router.php n'inclut désormais explicitement que des fichiers nommés app.php et masque son arborescence système (404 générique).
  • CSWH Protection: Comparaison stricte des Origins WebSocket pour empêcher le Cross-Site WebSocket Hijacking.
  • Configuration Safety: Le Gateway s'arrête avec une erreur fatale propre (exit 1) si nhtml.config.toml est invalide au lieu d'utiliser un fallback silencieux.
  • Port Cascading: L'argument CLI --port prend désormais correctement le pas sur la configuration du fichier.
  • DevTools Access: Accès restreint uniquement au mode développement (--dev) et protégé par un Token UUID aléatoire à chaque lancement.
  • Credential Masking: Masquage automatique des mots de passe (***) pour la variable NHTML_DB_URI dans les logs terminaux.
  • Cross-Platform CLI: Remplacement de l'appel système xcopy par une fonction récursive copy_dir_all 100% native Rust.
  • CLI Security: Ajout d'une confirmation interactive ([y/N]) avant d'exécuter npx localtunnel (Supply Chain).
  • Transaction Safety: Sécurisation transactionnelle (BEGIN/COMMIT) du nettoyage TTL des sessions en DB (session.rs).
  • B-TREE Integrity: Limitation sécurisée à 64Ko avec préservation des frontières de caractères UTF-8 pour éviter le crash client sur des nœuds immenses.
  • Queue System (DoS Prevention): Implémentation d'une file d'attente non-bloquante (tokio::sync::Semaphore) pour le Pool FPM afin d'éviter la fermeture prématurée des requêtes en charge forte.
  • Dependency Update: Résolution de la faille de sécurité "Marvin Attack" via mise à jour du graphe de dépendances (sqlx / rsa).
  • Async Compilation: L'appel lourd à la compilation .nhtml est maintenant exécuté dans un tokio::task::spawn_blocking pour éviter de bloquer l'executor asynchrone principal.
  • Binary Hardening: Pré-allocation mémoire intelligente avec Vec::with_capacity pour la construction de l'arbre B-TREE, et troncature stricte des champs à 65535 octets.
  • HashDoS Mitigation: Migration vers sha2::Sha256 pour générer les empreintes de logs de sessions (au lieu de DefaultHasher qui est prévisible).
  • Strict TLS: Ajout de la propriété min_version: "1.3" dans la configuration TLS.
  • Frontend Thrashing: Mise en cache drastique du calcul getBoundingClientRect() sur le client avec un ResizeObserver global, évitant de tuer la batterie sur les événements mousemove.
  • Examples Security: Migration du counter vers le SDK Object Nhtml::patch(), suppression de l'injection CSS dans style-lab, et troncature (mb_substr) + JOIN (anti N+1) sur l'exemple de chat.

NHTML Gateway vv0.7.3-beta

29 Apr 20:11

Choose a tag to compare

Release v0.7.3-beta - Security & Stability Audit

NHTML Gateway vv0.4.3

26 Apr 21:31

Choose a tag to compare

🚀 First Public Release: NHTML Gateway vv0.4.3

Welcome to the first stable release of the NHTML Gateway, the industrial-grade server for the Server-Driven DOM Protocol.

✨ Philosophy

  • Zero Business JS: Focus on your backend logic (PHP), the gateway handles the rest.
  • Binary Efficiency: Ultra-compact NBPS protocol for near-instant reactivity.
  • Developer Experience: Built-in pedagogical DevTools with Time-Travel.

🛠️ Core Features

  • Industrial Gateway (Rust): Automated asset injection and high-performance WebSocket proxy.
  • NBPS v0.4.0: Fully aligned binary protocol with built-in versioning and CRC32 safety.
  • Premium Showcase MVC: A complete demo app with local SQLite persistence and modern UI.
  • DevTools Pro: Real-time packet inspection, session replay, and state diffing.
  • Bilingual Documentation: Complete technical reference in English and French.

📦 Deployment

Download the binary for your platform and run ./nhtml start --dev to explore the future of web development.