Repository navigation
Releases
v1.0.40
Novità rispetto a v1.0.39
- Dietro un proxy condiviso: un’installazione può stare dietro un reverse proxy già presente sul server (per esempio un altro Caddy che gestisce HTTPS), senza modificare
compose.yml. Basta impostareASSOZETA_EDGE_NETWORKnel.env: il serviziowebnon pubblica porte sull’host e si collega a quella rete Docker. Gli aggiornamenti mantengono questa configurazione. Vedi “Behind a front proxy” inselfhost/README.md. - IP reale e HTTPS dietro il proxy: con
ASSOZETA_TRUSTED_PROXIESil server riceve l’indirizzo IP reale di chi accede e sa che la connessione è HTTPS (limiti di richieste e registro attività corretti). - Certificati medici: la data si può salvare anche senza caricare il file.
- iPhone e iPad: nei campi data il valore è allineato a sinistra e centrato in verticale.
- Esportazioni: gli amministratori vedono di nuovo l’avanzamento dell’esportazione.
- API v2 (beta): gli aggiornamenti in tempo reale usano il backend scelto e si ricollegano quando si cambia versione dell’API.
Note per l’aggiornamento
Nessuna migrazione del database. Nuove variabili, tutte facoltative e vuote per impostazione predefinita: ASSOZETA_EDGE_NETWORK, ASSOZETA_EDGE_ALIAS e ASSOZETA_TRUSTED_PROXIES. Senza queste variabili non cambia nulla. La modalità dietro proxy richiede Docker Compose v2.24.0 o successivo.
Il manuale incluso resta quello verificato per v1.0.25.
L’aggiornamento dall’interfaccia diventa disponibile quando la pubblicazione delle immagini e dei due asset richiesti, assozeta-selfhost-v1.0.40.tar.gz e assozeta-update.json, è completata.
Full Changelog: v1.0.39...v1.0.40
v1.0.39
Novità rispetto a v1.0.38
- Stripe solo dove serve: il codice di Stripe viene caricato solo nelle pagine di pagamento (checkout e checkout del carrello), non più in tutte le pagine. Le altre pagine non contattano più i server di Stripe.
- Immagini self-host: le immagini pubblicate sono ora solo
linux/amd64. Per aggiungerelinux/arm64si avvia a mano il workflow di pubblicazione indicando il tag della versione (vediselfhost/README.md).
Note per l’aggiornamento
Nessuna migrazione del database e nessuna nuova variabile.
Il manuale incluso resta quello verificato per v1.0.25.
L’aggiornamento dall’interfaccia diventa disponibile quando la pubblicazione delle immagini e dei due asset richiesti, assozeta-selfhost-v1.0.39.tar.gz e assozeta-update.json, è completata.
Full Changelog: v1.0.38...v1.0.39
v1.0.38
Novità rispetto a v1.0.37
Nuovo backend in Go (beta)
- API v2 in prova: in Istanza → Impostazioni → API (beta) si può far usare all’applicazione il nuovo backend in Go. Ogni richiesta che Go non gestisce ancora passa automaticamente al backend attuale, senza differenze per chi usa l’applicazione. Il ritorno alla versione attuale è lo stesso interruttore.
- Stesse risposte del backend attuale: ogni funzione è stata confrontata con il backend attuale su risposte, dati salvati, registro attività, file e messaggi in coda.
- Attività in background in Go (facoltative): il servizio
worker-goè incluso ma spento; nulla cambia finché non lo si attiva (vediselfhost/OPERATIONS.md).
Altre modifiche
- Backup: eliminare un backup, togliere “conserva”, modificare la copia remota, la chiave remota e la prova di connessione chiedono la password del titolare. Gli indirizzi remoti devono essere https.
- Documenti: gli atleti vedono i propri documenti e quelli della famiglia; staff e titolare dell’istanza vedono tutto. I documenti si aprono nel browser solo se PDF o immagini comuni, gli altri si scaricano.
- Accesso con account esterni e registrazione: serve un indirizzo e-mail verificato dal fornitore; la registrazione non modifica mai un account esistente.
- Iscrizioni: creare o rinnovare un socio non collega più in automatico un account esistente trovato per e-mail.
- Moduli pubblici: invii e caricamenti senza account restano pubblici, con un limite di 10 MB e un limite di richieste.
- Importazione soci: i valori che sembrano numeri restano come scritti nel file (per esempio il CAP
00100o il numero tessera0041nelle bozze); all’approvazione il numero tessera diventa41come prima. - Importazione ed esportazione: restano nell’associazione esportata; in caso di errore lo stato mostra un messaggio fisso e il dettaglio è nel registro del server.
- Contabilità: un conto con trasferimenti o pagamenti non si può eliminare.
- Iscrizione famiglia con quota: non compare più un errore dopo il salvataggio.
- Download: i file scaricati hanno il tipo corretto (per esempio i backup
.sql).
Note per l’aggiornamento
L’aggiornamento applica due migrazioni del database in automatico. Nuove variabili, tutte facoltative con valori predefiniti: ASSOZETA_BACKUP_UPLOAD_MAX_BYTES (limite dei backup caricati, predefinito 50 GiB), ASSOZETA_BACKUP_REMOTE_ALLOW_HTTP (consente una copia remota http), AWS_S3_PUBLIC_BASE_URL (indirizzo pubblico o CDN delle foto), ASSOZETA_GO_TASKS e GO_TASK_QUEUE_TASKS (attività in background su Go, spente).
- Un file di importazione soci caricato prima dell’aggiornamento va caricato di nuovo.
- Con gli ACL degli oggetti disattivati, il bucket deve avere una propria regola di lettura pubblica per le foto.
- Il backend attuale resta necessario finché l’API v2 è in beta.
Il manuale incluso resta quello verificato per v1.0.25.
L’aggiornamento dall’interfaccia diventa disponibile quando la pubblicazione delle immagini e dei due asset richiesti, assozeta-selfhost-v1.0.38.tar.gz e assozeta-update.json, è completata.
Full Changelog: v1.0.37...v1.0.38
v1.0.37
Novità rispetto a v1.0.36
Pagina Istanza allineata al resto dell’applicazione
- Testi più leggibili: la pagina Istanza usa ora la stessa dimensione dei caratteri delle altre schermate.
- Colori e pulsanti coerenti: verde, arancione e rosso sono quelli dell’applicazione; i pulsanti hanno etichetta in grassetto e icona, allineati sulla stessa riga.
- Schede e menu delle impostazioni con icone: la sottolineatura della scheda attiva è sul bordo inferiore e larga quanto l’etichetta.
- Avvisi: spaziatura uniforme e pulsante di chiusura a icona.
- Menu del profilo: non resta più uno spazio vuoto tra il menu laterale e il contenuto.
- Identità: anteprima del logo più ampia.
- Tablet: intestazioni dei backup e indicazioni sulle chiavi salvate restano leggibili anche a larghezza intermedia.
Note per l’aggiornamento
L’aggiornamento non introduce migrazioni del database né nuove variabili. Il manuale incluso resta quello verificato per v1.0.25.
L’aggiornamento dall’interfaccia diventa disponibile quando la pubblicazione delle immagini e dei due asset richiesti, assozeta-selfhost-v1.0.37.tar.gz e assozeta-update.json, è completata.
Full Changelog: v1.0.36...v1.0.37
v1.0.36
Novità rispetto a v1.0.35
Nuova pagina Istanza e backup gestiti dall’interfaccia
- Pagina Istanza riorganizzata: quattro schede (Panoramica, Backup, Aggiornamenti, Impostazioni) con testi brevi, menu ⋯ e finestre di dialogo al posto di pannelli e lunghe spiegazioni. La Panoramica mostra lo stato dei servizi, l’età dell’ultimo backup e la versione, con un solo passo successivo consigliato. Il riavvio dell’applicazione è nel menu ⋯ in alto. Nel menu del profilo la voce si chiama ora Istanza.
- Backup dalla pagina: il proprietario può creare un backup, conservarlo (escluso dalla rotazione), eliminarlo, scaricarlo e ripristinarlo. Il ripristino crea prima un backup di sicurezza, chiede la password e la parola RIPRISTINA e mostra l’avanzamento. È possibile anche caricare un archivio
.tar.gzper il recupero su un nuovo server. - Backup automatici: disattivati di default; si attivano ogni giorno o ogni settimana all’ora scelta (fuso
Europe/Rome, modificabile conASSOZETA_TIMEZONE). Si conservano gli ultimi 3 backup automatici, numero modificabile. Se manca spazio, prima di un nuovo backup vengono eliminati i più vecchi tra quelli automatici; il più recente, quelli conservati e quello dell’ultimo aggiornamento riuscito restano sempre. In caso di errore il proprietario riceve un’email. - Copia remota cifrata: facoltativa, su uno storage compatibile S3 (AWS, Backblaze B2, Wasabi, Cloudflare R2, MinIO…). Le copie sono cifrate con una chiave di ripristino mostrata una sola volta: senza quella chiave non si possono ripristinare. Da un server nuovo si recuperano con
./bin/assozeta restore --from-s3. - Trasferisci dati: nelle installazioni self-hosted l’esportazione ZIP e l’importazione da Bakney sono ora in Istanza → Backup. I collaboratori con permesso che non sono proprietari continuano a trovare Gestione Dati.
Attività pianificate di nuovo complete
- Da alcune versioni lo scheduler eseguiva solo il collegamento con Bakney: rinnovi, promemoria, pulizia dei token scaduti, email dei certificati e pulizie periodiche non partivano. Ora tornano tutte attive. Dopo l’aggiornamento partono insieme, comprese le email di rinnovo, promemoria e certificati rimaste in sospeso.
Correzioni
- Ricevute Stripe: i pagamenti confermati da Stripe riportano il mezzo di pagamento corretto e la ricevuta viene emessa alla conferma.
- Impersonazione: l’associazione vede anche gli atleti collegati solo tramite iscrizione; la ricerca trova le parole in qualsiasi ordine (per esempio “rossi mario”).
Note per l’aggiornamento
L’aggiornamento non introduce migrazioni del database. È disponibile la nuova variabile facoltativa ASSOZETA_TIMEZONE (predefinita Europe/Rome). L’immagine di aggiornamento include ora tzdata, age e py3-boto3. Il manuale incluso resta quello verificato per v1.0.25.
L’aggiornamento dall’interfaccia diventa disponibile quando la pubblicazione delle immagini e dei due asset richiesti, assozeta-selfhost-v1.0.36.tar.gz e assozeta-update.json, è completata.
Full Changelog: v1.0.35...v1.0.36
v1.0.35
Novità rispetto a v1.0.34
Attività notturne sulle iscrizioni più affidabili
- Pulizia delle iscrizioni eliminate: l’attività notturna rimuove davvero le iscrizioni eliminate e i pagamenti non saldati collegati. I pagamenti già saldati e le relative ricevute restano sempre nello storico contabile. Ogni iscrizione viene gestita separatamente, quindi un errore su una non blocca le altre.
- Archiviazione automatica: nei giorni previsti (1–4 di gennaio, giugno e settembre) le iscrizioni dell’anno di bilancio concluso vengono archiviate per le associazioni che hanno attivato l’archiviazione automatica. L’anno viene calcolato con l’orario italiano, anche per le iscrizioni create a cavallo della mezzanotte del 1° gennaio.
Per proprietari e collaboratori il funzionamento quotidiano non cambia: eliminazione e archiviazione manuali restano invariate.
Note per l’aggiornamento
L’aggiornamento non introduce migrazioni del database né nuove variabili d’ambiente. Il manuale incluso resta quello verificato per v1.0.25.
L’aggiornamento dall’interfaccia diventa disponibile quando la pubblicazione delle immagini e dei due asset richiesti, assozeta-selfhost-v1.0.35.tar.gz e assozeta-update.json, è completata.
Full Changelog: v1.0.34...v1.0.35
v1.0.34
Novità rispetto a v1.0.33
Corsi, presenze e istruttori più coerenti con l’associazione
- Corsi: modifica, sedi e iscritti di un corso fanno riferimento solo ai dati della propria associazione. Le sedi già collegate a un corso restano selezionabili.
- Cambio del titolo di un corso: aggiorna la descrizione dei soli pagamenti dell’associazione che citano il vecchio titolo.
- Calendario del corso: promemoria e istruttori collegati agli eventi sono quelli dell’associazione.
- Check-in e registro presenze: il check-in da scanner, lo storico presenze, il calendario dell’iscritto e il conteggio delle lezioni dei carnet usano solo le iscrizioni e i carnet dell’associazione.
- Ore istruttori: inserimento, calcolo dei compensi, modifica ed eliminazione riguardano solo gli istruttori dell’associazione; un istruttore resta sempre collegato al proprietario dell’associazione.
Per proprietari e collaboratori il funzionamento quotidiano non cambia.
Note per l’aggiornamento
L’aggiornamento non introduce migrazioni del database né nuove variabili d’ambiente. Il manuale incluso resta quello verificato per v1.0.25.
L’aggiornamento dall’interfaccia diventa disponibile quando la pubblicazione delle immagini e dei due asset richiesti, assozeta-selfhost-v1.0.34.tar.gz e assozeta-update.json, è completata.
Full Changelog: v1.0.33...v1.0.34
v1.0.33
Novità rispetto a v1.0.32
Backup del server visibili dall’applicazione
- In Self Instance c’è una nuova scheda Backup e ripristino, riservata al proprietario dell’istanza.
- Spazio su disco: una barra mostra quanto spazio occupano database, documenti e file, backup e altri dati, e quanto ne resta libero. Un indicatore mostra dove arriverà l’occupazione dopo il prossimo backup; se lo spazio libero non basta compare un avviso con lo spazio necessario.
- Elenco dei backup: per ogni archivio presente sul server sono indicati data, dimensione, versione, origine (manuale, prima di un aggiornamento, pianificato, prima di un ripristino) e posizione. Sono evidenziati il backup dell’ultimo aggiornamento riuscito e quello di un aggiornamento in sospeso. La pagina riporta anche quanti backup automatici vengono conservati.
- Download: ogni backup si può scaricare dopo aver confermato la propria password. Il file non è cifrato e contiene tutti i dati e le chiavi segrete del server, quindi va conservato in un luogo protetto. Ogni download viene registrato nel registro attività e il link funziona una sola volta.
- La pagina è in sola lettura: creazione, conservazione ed eliminazione dei backup restano sul server.
- La scheda Aggiornamenti e backup si chiama ora Aggiornamenti; le indicazioni su backup e recupero si trovano nella nuova scheda.
Note per l’aggiornamento
L’aggiornamento non introduce migrazioni del database né nuove variabili d’ambiente. La nuova scheda richiede il servizio di aggiornamento della stessa versione, installato automaticamente dall’aggiornamento. Gli archivi creati prima di v1.0.32 compaiono con origine «Non registrata». Il manuale incluso resta quello verificato per v1.0.25.
L’aggiornamento dall’interfaccia diventa disponibile quando la pubblicazione delle immagini e dei due asset richiesti, assozeta-selfhost-v1.0.33.tar.gz e assozeta-update.json, è completata.
Full Changelog: v1.0.32...v1.0.33
v1.0.32
Novità rispetto a v1.0.31
Backup self-hosted più sicuri
- Ogni backup registra ora la propria origine: manuale (
assozeta backup), prima di un aggiornamento, pianificato o prima di un ripristino. L’informazione è salvata in un piccolo file.metaaccanto all’archivio inselfhost/backups/. - La rotazione automatica elimina solo i backup automatici (pianificati e presi prima di un aggiornamento) e ne conserva i 3 più recenti, invece dei 2 precedenti. Il numero resta configurabile con
ASSOZETA_BACKUP_KEEP(0disattiva la rotazione). - I backup creati a mano non vengono più eliminati automaticamente, nemmeno dopo più tentativi di aggiornamento.
- Il backup preso prima dell’ultimo aggiornamento riuscito resta disponibile fino al successivo aggiornamento riuscito, insieme a quello di un aggiornamento in sospeso.
- La rotazione avviene solo dopo un backup o un aggiornamento completati con successo.
Correzioni
- Un backup manuale poteva sparire se, dopo averlo creato, uno o più aggiornamenti venivano rifiutati: ciascun tentativo creava un nuovo backup e la rotazione eliminava i più vecchi senza distinguerne l’origine (#59).
Note per l’aggiornamento
L’aggiornamento non introduce migrazioni del database né nuove variabili d’ambiente. Gli archivi già presenti non hanno un file .meta e vengono quindi conservati finché non li si elimina a mano. Anche i backup manuali restano finché non vengono eliminati: copiali altrove e rimuovili quando non servono più. Il manuale incluso resta quello verificato per v1.0.25.
L’aggiornamento dall’interfaccia diventa disponibile quando la pubblicazione delle immagini e dei due asset richiesti, assozeta-selfhost-v1.0.32.tar.gz e assozeta-update.json, è completata.
Full Changelog: v1.0.31...v1.0.32
v1.0.31
Novità rispetto a v1.0.30
Email con il marchio della tua installazione
- Tutte le email inviate dal gestionale (benvenuto, reset password, inviti ai collaboratori, certificati medici, nuove iscrizioni, ricevute, solleciti di pagamento, quote associative assegnate e promemoria degli eventi) usano ora un unico modello grafico, con lo stesso aspetto su computer e smartphone.
- Nelle installazioni self-hosted l’intestazione delle email mostra il logo caricato nelle impostazioni dell’istanza, al posto del logo Bakney. Se non è stato caricato un logo, compare il nome dell’istanza.
- I pulsanti delle email usano il colore principale dell’istanza anche nei programmi di posta che ignorano gli stili, come Outlook.
- Ricevute, solleciti, quote assegnate e promemoria hanno ora la stessa grafica delle altre email, invece del solo testo semplice.
Correzioni
- I dati inseriti dagli utenti (nomi, descrizioni, titoli degli eventi) vengono sempre mostrati come testo nelle email: eventuali simboli come
<o&non alterano più il messaggio. La descrizione della ricevuta mantiene gli a capo. - L’importo nell’email della ricevuta è mostrato con due decimali, ad esempio 150,00 €.
Grazie a @sdellafrera per il contributo (#33).
Note per l’aggiornamento
L’aggiornamento non introduce migrazioni del database né nuove variabili d’ambiente. Per vedere il proprio logo nelle email, l’indirizzo pubblico dell’installazione (APP_URL) deve essere raggiungibile da chi riceve l’email. Il manuale incluso resta quello verificato per v1.0.25.
L’aggiornamento dall’interfaccia diventa disponibile quando la pubblicazione delle immagini e dei due asset richiesti, assozeta-selfhost-v1.0.31.tar.gz e assozeta-update.json, è completata.
Full Changelog: v1.0.30...v1.0.31