# Changelog

## Non rilasciato - 2026-07-28

### Aggiunto

- gestione multi-atleta, inviti firmati monouso e periodi di accesso storicizzati;
- proroga, rinnovo, sospensione, riattivazione, grace period e blocco centralizzato;
- promemoria interni/e-mail idempotenti, scheduler e migrazione assistita degli atleti esistenti;
- dashboard scadenze, selettore atleta, CRUD coach e area accesso atleta.
- schede settimanali ripetute per una durata configurabile e calendario generato per tutte le settimane;
- esecuzione sessione con serie manuali eliminabili, dropset multi-segmento, media privati per esercizio e tempo effettivo al netto dei recuperi;
- import idempotente della libreria esercizi con nomi e istruzioni in italiano, copertine e GIF di esecuzione;
- catalogo alimenti riutilizzabile e alternative aggiungibili alla lista della spesa;
- polling notifiche ogni 60 secondi mentre l’app è aperta;
- dati dimostrativi creabili e rimovibili in sicurezza tramite `francoach:demo`;
- profilo atleta completo lato coach con azioni Email, WhatsApp e Chiama.

### Corretto

- rimossi riferimenti applicativi e selezioni implicite legati a un atleta fisso;
- dati di profilo, allenamento, progressi, foto, nutrizione e report contestualizzati per atleta.
- dashboard coach differenziata tra vista generale e atleta selezionato, con link di sezione su ogni card;
- dashboard atleta, navigazione principale, workout e nutrizione riallineati ai requisiti operativi;
- filtri esercizi semplificati e sostituiti con il filtro per gruppo muscolare;
- GIF mostrata prima della copertina e card video nascosta quando il video non esiste;
- salvataggio serie automatico per atleta e coach, senza pulsante di completamento;
- terminologia `REPS`, storico serie e prescrizione esercizio uniformati;
- contrasto e superfici dell’interfaccia scura uniformati, eliminando gli sfondi bianchi residui.
- query delle medie nutrizionali resa compatibile con MySQL strict mode rimuovendo l’ordinamento dalla relazione prima degli aggregati.
- assegnazione del piano alimentare bloccata con messaggio esplicito quando nessun atleta è selezionato; storico assegnazioni filtrato sull’atleta corrente.
- dettaglio del piano alimentare completato con riepilogo generale, medie macro, assegnazioni e contenuto integrale giorno per giorno.
- modifica diretta dei piani alimentari esistenti, inclusi quelli assegnati, senza creazione automatica di una nuova versione.

### Verifica

- 154 test superati, 975 asserzioni;
- 211 route e 66 migration;
- build Vite 8.1.5 superata.

### Da completare prima della produzione

- interfaccia e controller della messaggistica;
- collaudo Apache/SMTP/cron/storage/HTTPS su hosting reale;
- test browser e accessibilità manuali;
- ripristino backup di prova;
- revisione legale dei testi privacy e consensi.

## 0.1.0-rc.1 - 2026-07-28

### Aggiunto

- infrastruttura Laravel, database, autenticazione e ruoli;
- layout responsive, dashboard, profilo atleta e timeline;
- esercizi e player YouTube, Vimeo, Instagram, TikTok, diretto e fallback;
- schede versionate, assegnazioni, calendario, sessioni, timer e autosave;
- diario, nutrizione, progressi, fotografie private, report e impostazioni;
- privacy, consensi, export/cancellazione, audit, hardening e notifiche;
- backup database/file/foto con rotazione, SHA-256 e cifratura opzionale;
- schema SQL, guida Apache/no-SSH, piano test e checklist release.

### Corretto

- PWA compatibile con installazioni in sottocartella;
- storage pubblico configurabile quando i symlink non sono disponibili;
- configurazione produzione, cron, cache e deployment allineata al codice.

### Non conformità nota

- messaggistica: schema e model presenti, ma controller, route e interfaccia assenti.
