Skip to content

Bash4llm v2.5.0

Choose a tag to compare

@kamaludu kamaludu released this 19 Jul 22:42
· 134 commits to main since this release
08a3fe2

[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