Bash4llm v2.5.0
[2.5.0] – 2026‑07‑18 - RELEASE NOTES
Added
- Estensione Security Vault (openssl-helper.sh) per la gestione e cifratura at-rest delle chiavi API (AES-256-CBC, PBKDF2 con 100.000 iterazioni), supporto al token di sessione in memoria _B4L_RT_CTX e distruzione fisica anti-forensic dei dati tramite shred/dd.
- Estensione Session Engine (session-engine.sh) con segmentazione automatica dei log NDJSON al superamento di 1MB, compressione nativa gzip dei segmenti obsoleti e algoritmo di calcolo della finestra dinamico basato su byte-budget (modalità N=0).
- Meccanismo di caching associativo in-process (BASH4LLM_MODEL_CACHE) per la normalizzazione dei modelli, azzerando l'overhead di fork causato dall'apertura di sotto-shell ricorsive.
- Rilevamento automatico dell'ambiente mobile Android/Termux (via TERMUX_VERSION) con deviazione trasparente e sicura dei lock concorrenti su directory atomiche (mkdir).
- Parser documentale "Zero-Eval" scritto in awk conforme POSIX per l'estrazione statica delle definizioni da core-notes.sh senza esecuzione di codice.
- Gestione integrata dei manifesti multimediali per payload strutturati (JSON accoppiato a una versione specchio .b64) per lo staging transazionale degli asset.
- Nuove opzioni diagnostiche CLI ad intercettazione precoce: --check-config (linter statico dei permessi e delle chiavi) e --explain-error (risoluzione e mitigazione dei codici di stato).
- Indice globale centralizzato dei thread conversazionali all'interno del gestore di stato dell'interfaccia utente (ui_state/threads/index.json).
- Nuova costante canonica d'errore dedicata per violazioni del file-system e delle policy di sicurezza: BASH4LLM_ERR_SEC (Valore 17).
Changed
- Ridotto il numero di binari obbligatori nel PATH da 24 a 23, rimuovendo il controllo bloccante sull'utility flock per massimizzare la portabilità cross-piattaforma.
- Hardening del caricatore dei moduli esterni (load_provider_module): rifiuto tassativo di symlink, file group/world-writable o appartenenti a utenti diversi dall'esecutore, affiancato da una doppia verifica di integrità crittografica SHA-256 pre/post sourcing.
- Vincolata l'invariante di atomicità delle scritture sul file-system, imponendo che la generazione dei file temporanei avvenga nella stessa partizione fisica/inode del file di destinazione per garantire l'atomicità della chiamata di sistema mv.
Fixed
- Mitigati potenziali attacchi di tipo Directory Traversal e Privilege Escalation stringendo le regole di verifica dei percorsi interni nell'allocazione risorse via _tmpf.
- Corretti i comportamenti di validazione dei file di input all'interno di validate_file_input, garantendo l'esclusione universale e indipendente dal locale di byte nulli o caratteri di controllo C0.
- Risolti i problemi di ridondanza e loop nei log conversazionali implementando un controllo di deduplicazione crittografica via hash SHA-256 basato su una finestra scorrevole (BASH4LLM_SESSION_DEDUP_WINDOW).
Full Changelog: v2.0.0...v2.5.0