Releases: NemStudio18/nhtml
Releases · NemStudio18/nhtml
NHTML Gateway v0.7.3-stable
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
CompileResultviaArc. 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()etexpect()dans le runtime (Supervisor, Watcher, CLI, Socket). - Binary Hardening: Ajout de
bounds checksrigoureux 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
.mjset.wasmpour 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/insertAdjacentHTMLcontre les payloads malveillants. - DevTools Security: Échappement HTML strict via
html_escape::encode_safesur les noms des handlers et payloads envoyés aux DevTools. - CLI Scaffolding: Correction du template
app.phpgénéré parnhtml newpour supporter le format JSON viaphp://stdin. - Router Hardening:
router.phpn'inclut désormais explicitement que des fichiers nommésapp.phpet 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.tomlest invalide au lieu d'utiliser un fallback silencieux. - Port Cascading: L'argument CLI
--portprend 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 variableNHTML_DB_URIdans les logs terminaux. - Cross-Platform CLI: Remplacement de l'appel système
xcopypar une fonction récursivecopy_dir_all100% native Rust. - CLI Security: Ajout d'une confirmation interactive (
[y/N]) avant d'exécuternpx 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
.nhtmlest maintenant exécuté dans untokio::task::spawn_blockingpour éviter de bloquer l'executor asynchrone principal. - Binary Hardening: Pré-allocation mémoire intelligente avec
Vec::with_capacitypour la construction de l'arbre B-TREE, et troncature stricte des champs à 65535 octets. - HashDoS Mitigation: Migration vers
sha2::Sha256pour générer les empreintes de logs de sessions (au lieu deDefaultHasherqui 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 unResizeObserverglobal, évitant de tuer la batterie sur les événementsmousemove. - Examples Security: Migration du
countervers le SDK ObjectNhtml::patch(), suppression de l'injection CSS dansstyle-lab, et troncature (mb_substr) +JOIN(anti N+1) sur l'exemple dechat.
NHTML Gateway vv0.7.3-beta
Release v0.7.3-beta - Security & Stability Audit
NHTML Gateway vv0.4.3
🚀 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.