= AgencyPilot Connector — Changelog =

== 0.8.2 (2026-08-25) ==
* Security: il download del backup per il restore selettivo è ammesso solo dall'host del server AgencyPilot configurato — prima il token API del sito veniva inviato a qualunque URL indicato dal chiamante (SSRF)
* Security: le query di un dump vengono eseguite solo se riferite a tabelle con il prefisso di questa installazione e comprese tra quelle richieste
* Security: i redirect non vengono più seguiti durante il download del backup
* Fix: il grace period di 72h sulla licenza copre anche gli errori HTTP del server (5xx, 429) e le risposte non interpretabili — prima un 502 temporaneo marcava la licenza non valida per 24h su tutti i siti
* Fix: il setup wizard viene effettivamente caricato (era presente nel package ma mai incluso)
* Fix: rimossa la doppia registrazione delle route REST di backup

== 0.8.1 (2026-03-11) ==
* Fix: rimosso check licenza dal permission_callback REST API (causava 401 per timeout HTTP)
* La verifica licenza è ora gestita solo da heartbeat e pagina settings

== 0.8.0 (2026-03-11) ==
* Aggiunta selezione tipo backup: full, database-only, files-only
* Migliorata gestione errori autenticazione con messaggi chiari
* Fix serializzazione UUID nelle risposte API (Pydantic)
* Fix sincronizzazione consenso AI (GDPR Art. 6.1.a) da WordPress

== 0.7.0 (2026-03-10) ==
* Aggiunto supporto AI Insights con consenso GDPR esplicito
* Aggiunta pagina setup wizard post-attivazione
* Aggiunto test connessione dal pannello impostazioni
* Aggiunta verifica licenza con grace period 72h
* Aggiunto geo-collector con dati schema.org
* Fix: token API ora salva raw + hash separatamente (Issue #267)
* Fix: maintenance interceptor usa hash-to-hash (timing-safe)
* Security: validazione archivi backup pre-estrazione (Issue #269)
* Security: whitelist query SQL durante restore (Issue #182)
* Security: sslverify=true su tutte le chiamate HTTP

== 0.6.0 (2026-03-08) ==
* Backup dual-storage: locale + S3 offsite (Issue #192)
* Upload streaming via cURL (no RAM OOM, Issue #58)
* Rollback automatico post-aggiornamento
* Updates manager con theme whitelist
* Security: backup directory fuori dalla web root (Issue #55)
* Security: validazione SQL injection nel restore DB

== 0.5.0 (2026-03-05) ==
* Heartbeat automatico ogni 5 minuti
* Gestione aggiornamenti plugin/temi/core
* Backup manager: mysqldump + tar/zip
* REST API completa: status, report, backup, updates
* Autenticazione token SHA-256 timing-safe

== 0.4.0 (2026-02-28) ==
* Prima release pubblica
* Connessione sito con token API
* Endpoint /ping pubblico per health check
* Endpoint /status autenticato
