# Changelog - Poinzilla
Tutte le modifiche, aggiornamenti e correzioni di bug.

## [2.0.1] - 2026-06-25
### Order sync
- Inviato sempre il `product_id` del prodotto padre nelle `line_items` (rimosso il campo `id`; `product_id` ora valorizzato con l'id del prodotto padre anche per le variazioni)
- Scorporata la quota spedizione dai coupon di spedizione gratuita: il `discount` inviato a Poinzilla rappresenta il solo sconto sui prodotti (0 per i coupon di sola spedizione, parte prodotto per i coupon misti)

## [2.0.0] - 2026-05-07
### Sistema retry queue
- Aggiunto sistema di retry queue per la sincronizzazione di ordini, customer e delete customer
- Aggiunta pagina back-office "Log" con statistiche, lista filtrabile e azioni manuali (retry, delete, payload viewer)
- Aggiunto front controller cron protetto da token per il processing batch via cron esterno
- Aggiunta classificazione automatica errori (network/auth/validation/server/rate_limit/unknown)
- Aggiunto claim atomico per evitare race condition in caso di cron concorrenti
- I 3 sync (ordine, customer, delete customer) ora usano sempre la queue (always-queue pattern)
- Colonna "Transizione" nel Log: registrato lo stato precedente dell'ordine tramite il nuovo hook `actionOrderStatusUpdate` (l'hook PostUpdate di PrestaShop non lo fornisce); i nomi degli stati sono mostrati localizzati
### Fix
- Risolto blocco dell'upgrade su PHP 8 + Modalità debug: `PoinzillaRetryInstaller::poinzillaRegisterTab()` accedeva a `Tab::$id_module` (proprietà inesistente), causando "Warning: Undefined property: Tab::$id_module" e l'interruzione dell'aggiornamento. Il legame tab↔modulo usa la sola colonna `module`
### API Webservice
- Esposta la tabella `poinzilla_sync_log` come risorsa Webservice read-only (`GET /api/poinzilla_sync_log`): il backend Poinzilla può interrogare in pull i log di sync usando la `ws_key`. Registrazione tramite hook `addWebserviceResources`; `payload_data` disponibile solo via `display` esplicito; sola lettura garantita dal permesso GET-only della key

## [1.2.5] - 2025-10-14
### Performance
- Rimosso logging eccessivo dalle hook eseguite ad ogni pageview (displayAfterBodyOpeningTag, displayHeader, actionFrontControllerInitBefore)
- Eliminati migliaia di INSERT nel database su siti ad alto traffico
- Migliorata performance complessiva del modulo

## [1.2.4] - 2025-07-23
### Added
- Aggiunto campo consumer_email nell'invio degli ordini

## [1.2.3] - 2025-07-03
### Fixed
- Migliorata gestione colonna pz_exclusive_coupon per compatibilità MySQL
- Ottimizzati commenti nel codice per maggiore chiarezza

## [1.2.2] - 2025-05-05
### Fixed
- Migliorata gestione colonna pz_exclusive_coupon per compatibilità MySQL
- Ottimizzati commenti nel codice per maggiore chiarezza
- Rimosso logging verboso non necessario

## [1.2.1] - 2025-01-28
### Added
- Integrazione del supporto per i gruppi utenti.

## [1.2.0] - 2025-01-15
### Added
- Supporto per il multistore.

## [1.1.1] - 2024-12-10
### Fixed
- Miglioramenti alle prestazioni del modulo.
- Correzione di bug minori segnalati dagli utenti.

## [1.1.0] - 2024-11-20
### Added
- Compatibilità con una nuova API per l'importazione dati.
- Aggiunto supporto a funzionalità avanzate di reporting.

## [1.0.0] - 2024-10-02
### Initial release
- Prima versione del modulo con funzionalità di base.