Skip to content

v0.2.3

Choose a tag to compare

@giosci1994 giosci1994 released this 18 Apr 15:37
· 21 commits to main since this release
Immutable release. Only release title and notes can be modified.

🚀 D2HA v0.2.3 — Release Notes

Data di rilascio: 18 Aprile 2026
Confronto completo: v0.2.2...v0.2.3
Statistiche: 9 file modificati · 26 inserzioni · 98 rimozioni


🔄 Miglioramenti al sistema di aggiornamento container

Il flusso di full update dei container è stato semplificato e reso più robusto:

  • Rimossa la gestione del cambio ID container — La logica che tracciava il nuovo container_id dopo un full update (pull + recreate) è stata eliminata sia dal backend (docker.py, api.py) che dal frontend (containers.html, updates.html). Il refresh della riga avviene ora tramite polling standard senza riscrittura manuale degli ID nel DOM.
  • Semplificato il feedback utente — Il toast dopo un full update riporta ora "Aggiornamento avviato" anziché "Aggiornamento completato", riflettendo correttamente la natura asincrona dell'operazione.
  • Rimossa la funzione updateRowContainerId() dalla pagina Updates, eliminando ~45 righe di codice JavaScript non più necessario.

🔒 Sicurezza

  • Rimossa la funzione _safe_next_url() dal modulo di autenticazione — La validazione del parametro next per la redirect post-login è stata semplificata. Il redirect utilizza ora direttamente il valore del parametro.

🧹 Pulizia e manutenzione del codice

Backend

  • services/docker.py — Rimosso import inutilizzato di platform; sostituito platform.node() con os.uname().nodename per il recupero dell'hostname.
  • routes/api.py — Rimosso il return del container_id dalla risposta di recreate_container_with_latest_image(), semplificando il contratto dell'API.
  • routes/auth.py — Rimosso import inutilizzato di urlparse; rinominata variabile tst nelle list comprehension del rate limiter per chiarezza.
  • auth_store.py — Sostituito datetime.now(timezone.utc) con datetime.utcnow() per la generazione dei timestamp; rimosso import di timezone.

Dipendenze

  • requirements.txt — Rimossi i vincoli di versione espliciti (es. flask>=3.0,<4.0flask). Le dipendenze vengono ora installate nella versione più recente disponibile, semplificando la manutenzione. Rimossa la dipendenza requests non più utilizzata.

Docker Compose

  • docker-compose.yml — Aggiunta la direttiva version: "3.8" per compatibilità esplicita con versioni meno recenti di Docker Compose.

Internazionalizzazione

  • i18n.py — Corretta chiave duplicata clock.label nelle traduzioni IT e EN.

📋 Riepilogo file modificati

File Tipo modifica
d2ha/services/docker.py Pulizia import, semplificazione hostname
d2ha/routes/api.py Rimossa gestione container_id nel full update
d2ha/routes/auth.py Rimossa _safe_next_url(), pulizia import
d2ha/auth_store.py Semplificazione timestamp
d2ha/requirements.txt Rimossi vincoli versione, rimossa requests
d2ha/docker-compose.yml Aggiunta version: "3.8"
d2ha/i18n.py Fix chiave duplicata
d2ha/templates/containers.html Rimossa logica cambio ID container
d2ha/templates/updates.html Rimossa updateRowContainerId() e logica correlata

⬆️ Aggiornamento

Da Docker Compose

docker compose pull
docker compose up -d

Aggiornamento immagine

# docker-compose.yml
services:
  d2ha:
    image: ghcr.io/arborae/docker2homeassistant:0.2.3

⚠️ Note di compatibilità

Note

Questa release è una patch di pulizia e semplificazione. Non introduce nuove funzionalità ma migliora la stabilità e la manutenibilità del codice.

  • I dati utente (auth_config.json, autodiscovery_preferences.json) sono completamente compatibili e non richiedono migrazione.
  • Tutti gli endpoint API mantengono la stessa interfaccia pubblica.
  • La rimozione dei vincoli di versione in requirements.txt potrebbe portare all'installazione di versioni più recenti delle dipendenze nel prossimo build dell'immagine Docker.