Changelog
All notable changes to this project will be documented in this file.
[Unreleased] 2026
- Consenso informato: data, luogo, CAP, città e provincia raggruppati nel box «Dati di nascita» (form e PDF); campo telefono senza suggerimenti automatici del browser; rimosso il placeholder dal campo OTP (anche nella pagina di download del referto)
- Analisi: il telefono acquirente viene salvato esattamente come inserito (prima venivano rimossi spazi e trattini); per l'invio SMS si usano solo le cifre con prefisso +
- Analisi: se il consenso è già stato firmato non è più possibile riportare l'analisi nello stato «raccolta consenso» (errore di validazione), evitando analisi bloccate in sola lettura
- Analisi: quando un'analisi con consenso non ancora firmato viene riportata nello stato «raccolta consenso» vengono ora generati un nuovo link e inviata l'email di richiesta firma (prima restava senza link, in sola lettura)
[1.2.0] 2026-10-28
- Upload multipli di referti per laboratorio e Biome-x: i file si aggiungono senza sostituire gli esistenti, sono scaricabili/rimovibili singolarmente e mantengono il nome originale. Limite per file ridotto a 10 MB (servono `upload_max_filesize` e `post_max_size` PHP adeguati)
- Link referto per il cliente valido 15 giorni e riutilizzabile (nuovo OTP a ogni accesso); dopo l'OTP vengono mostrati i link firmati (10 minuti) a tutti i file. Email di ringraziamento solo al primo accesso, limite di 10 richieste/minuto sulle rotte pubbliche
- Analisi: aggiunti codice fiscale, partita IVA (validata) e indirizzo di fatturazione facoltativo (provincia/comune o estero/nazione, CAP, indirizzo, civico)
- Aggiornato companee/core alla versione v3.2.0: nuovi endpoint `GET /api/places/provinces` (province e voce ESTERO, filtri per sigla e nome) e `GET /api/places/towns` (comuni di una provincia o nazioni per ESTERO), documentati in Swagger, per ricavare `billing_province_id` e `billing_town_id`. Versione della documentazione API portata a 1.2.0
- Consenso informato: aggiunti partita IVA e indirizzo di fatturazione, riportati nel PDF e copiati sull'analisi se non già valorizzati (insieme al codice fiscale)
- Export elenco analisi: aggiunte le colonne di codice fiscale, partita IVA e fatturazione
- Aggiunte tabella `genetic_analysis_files` (con migrazione dei file esistenti), colonne di fatturazione su analisi e consensi, `config/biomex.php` e documentazione Swagger delle rotte pubbliche
- Aggiunti i permessi `upload-lab-files_analyses` (ruoli admin e laboratorio) e `upload-biomex-files_analyses` (ruoli admin e biome-x): ogni ruolo carica, scarica e rimuove solo i file del proprio tipo (403 altrimenti); Biome-x vede e scarica anche i file del laboratorio, il laboratorio non vede i referti Biome-x
[1.1.2] 2026-08-24
- Aggiornato companee/core alla versione v2.1.2: il middleware di autenticazione non risponde più 401 su guasti non legati al token (database, cache, errori applicativi), che causavano il logout degli utenti con sessione valida; ora restituisce 503. Il refresh del token distingue il token già rinnovato da una chiamata concorrente (409) dalla sessione realmente scaduta (401), e le letture delle configurazioni di autenticazione non falliscono più se una chiave manca a database.
- Aggiunta la chiave `jwt.warning` in `config/jwt.php`: il valore di `JWT_WARNING` veniva ignorato e l'avviso di scadenza sessione usava un default errato, che avviava il rinnovo del token molto prima del necessario.
- Impostato `blacklist_grace_period` a 30 secondi: le chiamate API già in corso non vengono più rifiutate quando il token viene rinnovato.
[1.1.1] 2026-07-07
- Export elenco analisi: aggiunti i campi del consenso informato (abitudini alimentari, consensi, dati firmatario, ecc.) per utenti con permesso dati sensibili
- Notifica email e in home agli operatori Biome-x quando il laboratorio invia il referto (passaggio a stato «pronto»)
- Sistemato visualizzazione stato analisi per ruolo
[1.1.0] 2026-07-01
- Aggiunto scarico elenco analisi sensibile ai filtri
- Aggiunto scarico consenso firmato
[1.0.0] 2026-06-22
- Inizializzazione applicativo