Cronologia delle versioni

Le versioni sono elencate dalla più recente alla più antica, un punto elenco per cambiamento, e ogni versione termina con i rimandi alle pagine che descrivono in dettaglio ciò che ha apportato. Un punto elenco che una versione successiva ha disfatto porta la menzione di quella che l’ha sostituito: racconta la storia del software, non descrive la versione installata.

Dopo un aggiornamento

La migrazione dello schema del database è automatica all’apertura, e senza ritorno: un database migrato non è più leggibile da una versione precedente di blunderDB, da cui il backup preventivo (Appendice: Schema del database). Il resto non avviene da solo, perché nessuno di questi dati è retroattivo:

  • Reimportare i file sorgente per ottenere la fortuna (0.33.0). I match importati prima portano un trattino nella colonna Fortuna, e un trattino non è uno zero. I formati che non trasportano la fortuna (BGF, Jellyfish .mat) non ne forniranno mai.

  • Reimportare i file XG per ottenere i contrassegni (0.30.0). I contrassegni posti in eXtreme Gammon si uniscono al database al reimport, senza toccare i commenti o le analisi esistenti.

  • Lanciare il recupero di analisi gammonNet (0.34.0), dall’interfaccia, tramite blunderdb analyze o in modalità server: colma le posizioni che non hanno alcuna analisi, senza mai sovrascrivere un’analisi importata.

0.36.0 (05/09/2026)

  • L’eseguibile è 7,3 MB più piccolo: le tabelle di bearoff non sono più incorporate né scaricate, ma calcolate al primo avvio, in secondo piano e in silenzio — identiche byte per byte a quelle di gnubg, con l’impronta SHA-256 verificata. La tabella estesa TS-06-11 si calcola nella scheda Bearoff invece di scaricare 1,2 GB.

  • I tornei si riempiono da soli all’importazione: un match viene classificato nel torneo che il suo file nomina, creato se necessario; un match già classificato non viene mai spostato.

  • Una sola grammatica di ricerca, ora leggibile dalla riga di comando (blunderdb search --query) tanto quanto dall’applicazione.

  • La riga di comando guadagna --format json su nove comandi, il completamento per bash, zsh e fish, il comando repair e i sottocomandi anki card e anki log.

  • Le schede Scorciatoie e Comandi della guida integrata sono generate a partire dalle pagine del manuale che le descrivono: non possono più prendere ritardo su di esse, e diventano tabelle, senza riquadri. La scheda Manuale della guida resta un riassunto, distinto dal manuale completo online. Tre visite guidate in più (Eval, Anki, Stats).

  • Un binario Linux arm64, distribuito come archivio, .deb, .rpm e pacchetto AUR.

  • Il pannello Eval ritrova il tavoliere su cui lo si è lasciato, distingue l’equity money da quella match e si percorre da tastiera.

  • Lato server: contratto d’API generato dal codice (openapi.yaml e il suo allegato, 135 rotte), identificatore di correlazione per richiesta, indicatori del lavoro in corso, compressione dei flussi NDJSON (13,5 % della dimensione), e le due chiamate che vanno oltre il tenant — vacuum e purge — passano sotto /ops/.

  • Schema 2.18.0: Jacoby e beaver lasciano l’identità della posizione, così la stessa posizione money non entra più due volte da porte diverse. La migrazione è automatica all’apertura e senza possibilità di ritorno (Appendice: Schema del database).

  • Correzioni notevoli: il riquadro di dettaglio del pannello Match non occupa più metà schermo quando non c’è nulla di selezionato, la prima partita di una trascrizione si richiude come le altre, MAIUSC-J e MAIUSC-K cambiano vista da qualsiasi pannello, e otto scorciatoie « mostra/nascondi » finalmente nascondono.

  • Vedere Interfaccia a riga di comando (CLI), Modalità headless (server) e Manuale.

0.35.0 (2026-09-02)

  • La riga di comando guadagna due famiglie: blunderdb collection (elenca, mostra, crea, rinomina, elimina, esporta una collezione) e blunderdb anki (mazzi, statistiche, previsione dei ripassi, risincronizzazione di un mazzo).

  • La modalità server viene pubblicata come immagine Docker (ghcr.io/kevung/blunderdb-serve, amd64 e arm64), guadagna la rotta maintenance.vacuum e appone una filigrana alle sue esportazioni con l’identità di emittente del server (--identity-dir).

  • Il valutatore gammonNet valuta le proprie foglie con il cubo: a un punteggio di match, i verdetti della ricerca si avvicinano a quelli di eXtreme Gammon.

  • Ogni release distribuisce ora i manifesti winget e Homebrew e un bundle Flatpak, oltre ai pacchetti Debian, RPM e AUR.

  • Nell’interfaccia, la libreria è ora paginata (un database di 50.000 posizioni non carica più tutto in memoria a ogni aggiornamento), le finestre modali condividono una base comune (focus, Escape, accessibilità), il tavoliere ridisegna solo ciò che cambia, e il font giapponese incorporato è ridotto al suo sottoinsieme utile (5,5 MB in meno).

  • Correzioni notevoli: un database importato tramite «Importa un database» manteneva posizioni invisibili ai filtri e duplicate a una seconda importazione (riparato all’apertura), il pulsante Unisci della finestra di unione giocatori restava in grigio, l’esportazione del server era vuota, e su Windows la rimozione del database bearoff scaricato e create --force fallivano.

  • Vedere Interfaccia a riga di comando (CLI), Modalità headless (server) e Manuale.

0.34.0 (2026-09-02)

  • Un valutatore integrato: gammonNet, portato in Go e compilato in blunderDB, valuta qualsiasi posizione offline, senza XG né gnuBG — rete neurale, ricerca da 0 a 2-ply con potatura, decisione di cubo secondo Janowski e la tabella di equità di match di blunderDB, e una ricerca che rispetta il punteggio del match.

  • Il pannello Bearoff diventa il pannello Eval: presenta i fatti della posizione (probabilità di vittoria, gammon e backgammon di entrambi i lati, equità) e poi l’unica decisione che il tavoliere richiede, su una griglia stabile senza scorrimento; le equità di match sono normalizzate e il verdetto «troppo buono per raddoppiare» torna a essere visibile.

  • La valutazione è progressiva: 0-ply immediato al gesto, poi 2-ply a riposo, annullabile da qualsiasi nuovo gesto, con l’etichetta di profondità che indica sempre quella che ha prodotto il numero.

  • L’intero tavoliere, i dadi e il punteggio si modificano lì, con il clic come con la tastiera, e una posizione della libreria entra ed esce dal pannello.

  • Su una corsa oltre il database two-sided, un terzo regime valutato fornisce il verdetto di cubo al punteggio che il pannello non dava.

  • Una scheda gammonNet della configurazione separa la profondità di visualizzazione dalla profondità di analisi.

  • Dopo un’importazione, un lotto di analisi limitato, visibile, annullabile e ripristinabile riempie le posizioni senza alcuna analisi, senza mai sovrascrivere un’analisi importata; il recupero di una libreria esistente si avvia dall’interfaccia, dal nuovo comando blunderdb analyze o in modalità server.

  • Correzioni notevoli: una risposta di cubo importata da eXtreme Gammon ereditava l’analisi di chi raddoppia senza essere invertita, la notazione delle mosse dei Bianchi e degli ingressi dalla barra ora segue gnuBG e XG, la profondità di un’analisi gnuBG viene letta correttamente, e la dimensione del pannello laterale viene memorizzata.

  • Vedere Pannello Eval, Manuale e Interfaccia a riga di comando (CLI).

0.33.0 (2026-08-26)

  • Il pannello Statistiche guadagna una scheda Giocatori: le tre schede precedenti descrivono un giocatore, questa li confronta tutti, una riga per giocatore del database — partite, vittorie/sconfitte, decisioni conteggiate, PR globale / pedine / cubo, Snowie Error Rate, blunder e fortuna. La tabella si ordina da qualsiasi colonna, si restringe alle date di una competizione con i filtri abituali, e un clic su una riga passa al dettaglio del giocatore. Un trattino segnala un valore mai misurato, mai uno zero. La tabella è disponibile anche da riga di comando (blunderdb list --type players, in testo, JSON o CSV) e in modalità server.

  • La fortuna di ogni lancio viene ora conservata nel database e visualizzata: fortuna media per lancio, in millesimi di punto, con segno. Viene letta all’importazione sia dai file eXtreme Gammon sia da gnuBG. Non è retroattiva — le partite importate in precedenza mostrano un trattino e occorre reimportare i file di origine per recuperarla; i formati che non la trasportano (BGF, Jellyfish .mat) non la forniranno mai.

  • La scheda Errori indica ora in quale senso sbagliano le decisioni di cubo, e non più soltanto quanto costano: una riga Offrire (doppi mancati, doppi prematuri) e una riga Rispondere (pass errati, prese errate), tenute separate di proposito poiché uno stesso giocatore può raddoppiare tardi e prendere largo. Ogni casella riporta il proprio conteggio, il tooltip l’equity perduta, e il clic carica le posizioni corrispondenti.

  • Nuovo comando Compatta il database, che recupera lo spazio lasciato dalle eliminazioni: un pulsante nelle impostazioni e il sottocomando blunderdb vacuum. Non parte mai da solo.

  • Ergonomia: le azioni distruttive chiedono conferma, una ricerca in corso viene segnalata, un comando sconosciuto riceve un messaggio invece del silenzio, e schede, pannelli agganciati e piccole finestre si governano interamente da tastiera. La ricerca è inoltre sensibilmente più rapida.

  • Correzioni notevoli: i non-doppi etichettati «Double No» da gnuBG venivano contati come doppi, falsando il PR di cubo (un database già costituito si ripara senza reimportare, in modalità server); il filtro giocatore restringeva a torto il denominatore dello Snowie Error Rate; le esportazioni scrivevano uno schema obsoleto; e blunderdb vacuum apriva l’interfaccia grafica anziché compattare il database.

  • Vedere Pannello Stats e Interfaccia a riga di comando (CLI).

0.32.0 (2026-08-09)

  • Il pannello EPC diventa il pannello Bearoff e guadagna l’analisi di corsa completa. (Rinominato pannello Eval nella 0.34.0.)

  • Su una posizione di bearoff puro, mostra — oltre all’EPC, al pip count, allo spreco e al numero medio di tiri di ciascun giocatore, ora presentati in una tabella con una riga Δ con segno — le probabilità di vittoria di entrambi i giocatori e le equità money (cubeless, senza raddoppio, raddoppio/prendi, raddoppio/passa, con lo scarto di ciascuna decisione dalla migliore) nonché la migliore decisione di cubo.

  • Due regimi chiaramente distinti: esatto (lettura da un database two-sided; database TS-06-06 di GNUbg integrato, che copre fino a 6 pedine per giocatore) e stimato (convoluzione calibrata, margine di errore mostrato — il verdetto di cubo non viene mai stimato).

  • Il database esteso TS-06-11 (verdetto esatto fino a 11 pedine per giocatore, 1,2 GB) si scarica dalla nuova scheda Bearoff della configurazione, con verifica dell’integrità e download ripristinabili; può anche essere designato un qualsiasi file .bd two-sided di gnubg. (Sostituito nella 0.36.0: la tabella si calcola sulla macchina, più nessun download.)

  • Modalità sfida per l’allenamento: i risultati si nascondono a ogni modifica e si rivelano zona per zona, con un clic.

  • Modifica interamente sul tavoliere: pedine di entrambi i lati, giocatore al tiro (clic sul rettangolo bearoff/punteggio) e posizione del cubo (clic sul cubo).

  • Il clic sul tavoliere è ora preciso a qualsiasi scala dell’interfaccia (un clic sul punto 1 poteva finire sul punto 2).

  • Nuovo comando blunderdb epc a riga di comando e opzione --bearoff-ts della modalità server.

  • Una nuova sezione del manuale, «Metodologia e ipotesi del pannello Bearoff», enuncia esaustivamente le ipotesi dietro ogni valore visualizzato. (Sezione rinominata con il pannello nella 0.34.0.)

  • Vedere Pannello Eval e Metodologia e ipotesi del pannello Eval.

0.31.0 (2026-08-04)

  • Diffusione di un database a terzi: due meccanismi indipendenti, entrambi facoltativi e scelti al momento dell’esportazione.

  • La filigrana di origine iscrive nel file cosa esso sia e da dove provenga, firmata da un’identità di emittente creata da sola al primo utilizzo; il marchio è non falsificabile, si legge in cima al pannello Metadati (o tramite blunderdb info, senza mai scrivere nel file) e non registra nulla dal lato del destinatario — nessun registro, nessun tracciamento.

  • La protezione tramite password produce un file .dbx cifrato (AES-256-GCM, chiave derivata con Argon2id), verificato a ogni apertura, la cui intestazione resta leggibile in chiaro; l’identità si esporta e si importa come un unico file dalle preferenze.

  • Finestra di esportazione ridisegnata: un unico schermo invece di quattro, un promemoria di ciò che esce realmente (le posizioni visualizzate), la quota coperta di ciascuna collezione segnalata in rosso quando è parziale, tornei esportabili solo con i loro match — ed un’esportazione tre volte più veloce.

  • Finestra di configurazione riorganizzata in tre schede (Interfaccia, Colori del tavoliere, Identità di emittente), con dimensione e posizione stabili.

  • Il pannello Metadati è stato riorganizzato in un’unica griglia.

  • Il pannello Log, che riceveva solo l’eco dei comandi, viene rimosso.

  • Correzioni notevoli: una password errata non apre più un database protetto, i campi delle finestre modali non perdono più il focus al clic, il calcolo degli indicatori PR/MWC non va più in crash su una partita a soldi, e i file temporanei (-wal, -shm, lock) vengono ripuliti alla chiusura.

  • Vedere Distribuire un database: origine e password e Manuale.

0.30.0 (2026-07-26)

  • Ricerca per commento: il filtro «Testo di ricerca» diventa il filtro «Commento» e propone tre modalità esclusive — contiene il testo (comportamento precedente, token t""parola1;parola2""), ha un commento (token co) e senza commento (token xco) — per ritrovare con un gesto le posizioni annotate, o al contrario quelle che restano da commentare.

  • Posizioni contrassegnate in eXtreme Gammon: i contrassegni (flags) posti durante l’analisi di un match XG vengono ora letti all’importazione e ritrovabili tramite il filtro «Contrassegnata» (token fl), combinabile con qualsiasi altro criterio; una decisione di cubo contrassegnata dà due posizioni contrassegnate, il raddoppio e il prendi/passa.

  • Poiché il contrassegno non è retroattivo, basta reimportare il file .xg interessato affinché i suoi contrassegni si uniscano al database, senza toccare i commenti o le analisi esistenti.

  • Correzioni notevoli: il PR mostrato sul badge di un torneo si riferisce ora al giocatore di riferimento e non più alla somma di entrambi i giocatori, i mazzi Anki basati su una ricerca rispettano di nuovo i filtri di quella ricerca invece di riprendere l’intero database, e viene corretto un blocco della ricerca combinando alcuni filtri (testo, data, errore della mossa giocata).

  • Vedere Elenco dei comandi e Manuale.

0.29.0 (2026-07-18)

  • Esportazione di un match in formato Jellyfish/gnubg (.mat) dall’interfaccia (pannello Match) così come dalla riga di comando, con la rotta server corrispondente — utile per rigiocare un match in un altro software di backgammon.

  • Ricerca: un nuovo discriminatore «dadi esclusi» (token xD65, più ammessi) che scarta le posizioni il cui tiro corrisponde a un tiro dato.

  • Apertura concorrente sicura: un database già aperto in scrittura in un’altra finestra di blunderDB si apre ora in sola lettura (navigazione, ricerca e analisi ancora possibili, modifiche disattivate, dicitura «[sola lettura]» nella barra del titolo) invece di rischiare una corruzione.

  • Provenienza delle posizioni: al di fuori della modalità match, la barra informativa sopra il tavoliere indica il match — e il suo torneo — da cui proviene la posizione studiata, con un badge «+N» quando appare in più match.

  • Maggiore robustezza rispetto all’ambiente: ripiego automatico quando un font, gli appunti o l’ultimo database aperto non sono disponibili.

  • Un ricaricamento esplicito della libreria (CTRL-R, pulsante della barra degli strumenti o comando e) riapre il pannello di analisi sulla posizione visualizzata.

  • Correzioni notevoli: rimosso un blocco nell’esportazione di database di grandi dimensioni, il pulsante «Nessuno» dell’esportazione che in realtà non esportava davvero nulla, filtro dei commenti multiparola, deduplicazione dell’evento e del torneo nella barra informativa, e vari aggiustamenti di visualizzazione.

  • Vedere Elenco dei comandi, Pannello Match e Manuale.

0.28.0 (2026-07-15)

  • Pannello di ricerca: un filtro unificato «Match & Tornei» che sostituisce i campi di testo degli identificatori con una finestra di selezione (elenchi selezionabili filtrabili per testo, pulsanti Tutti/Nessuno, selezionare un torneo seleziona i suoi match membri) — più veloce su database di grandi dimensioni, la scheda Match e la vista Tornei ora ricalcolano gli indicatori PR/MWC solo per i match visualizzati; cli list --type tournaments colma il corrispondente divario di parità.

  • Nuovo filtro «Importata singolarmente» (casella di controllo del gruppo Altro, o token i a riga di comando, s i; disponibile anche nella CLI tramite --individual) per ritrovare una posizione salvata o importata da sola anziché persa in un’importazione di match.

  • Corretta una perdita di dati: l’eliminazione di un match non elimina più le posizioni importate singolarmente, inserite in una collezione o incluse in un mazzo Anki che il match conteneva anche.

  • Modalità server (headless): sei nuovi metodi per lo scheduler Anki a ripetizione dilazionata — registro dei ripassi (anki.reviewLog), previsione delle carte in scadenza (anki.forecast), sospensione/accantonamento/rimozione di una carta (anki.suspendCard, anki.buryCard, anki.removeCard) e regolazione automatica della ritenzione target di un mazzo verso il suo tasso di successo osservato (anki.optimizeParams, sostituito nella 0.36.0 da anki.retention, che misura il tasso osservato senza mai scrivere l’obiettivo); un nuovo metodo tenant.purge per eliminare definitivamente i dati di un tenant su un’implementazione PostgreSQL multiutente; nuovi metodi matches.list (filtraggio/ordinamento/paginazione) e stats.matchBadges (indicatori PR/MWC limitati a un elenco di match).

  • Distribuzione Linux nativa: pacchetti .deb/.rpm, che conservano il bit di esecuzione perso al momento del download del binario grezzo.

  • Importazione: dopo l’importazione di un match, la scheda Match viene ora visualizzata e le posizioni importate sono immediatamente visibili; dopo l’importazione di una posizione isolata (file XGP, posizione BGBlitz, file di posizione testuale, posizione incollata o lotto di posizioni), la scheda Analisi si apre ora direttamente sulla posizione importata, invece della scheda Match; corretto l’incollaggio di un’analisi eXtreme Gammon in francese o tedesco da macOS, che restava vuota (accenti scomposti dagli appunti di sistema).

  • Vedere Modalità headless (server), Elenco dei comandi e Download e installazione.

0.27.0 (2026-06-13)

  • Pannello Anki: una nuova modalità di allenamento libero (cram), accessibile dal pulsante Cram accanto a Study, che mostra posizioni casuali del mazzo senza modificare la pianificazione della ripetizione dilazionata — ideale per scaldarsi prima di un torneo o ripassare intensamente un mazzo senza alterarne l’ordine.

  • Ricerca: un nuovo comando blunders (alias bl) che carica direttamente gli errori peggiori (equity/MWC) nella vista di analisi, con un numero opzionale per sceglierne la quantità (bl 50); un nuovo filtro per giocatore pl'nome' che trova tutte le posizioni di una partita a cui ha partecipato un dato giocatore, su entrambi i lati; e suggerimenti che, passando il mouse su ciascun filtro del pannello di ricerca, mostrano il token di comando corrispondente.

  • Modalità server (headless): nuovi metodi matches.movesByMatch (tutte le mosse di un match in un’unica chiamata) e positions.epc (Effective Pip Count di entrambi i giocatori).

  • Vedere Pannello Anki e Elenco dei comandi.

0.26.0 (2026-06-09)

  • Impostazioni di visualizzazione dell’interfaccia nella finestra di configurazione: un cursore di scala per ingrandire o rimpicciolire l’intera interfaccia, e una scelta della posizione dei pannelli (in basso, di lato o automatica) per sfruttare meglio gli schermi larghi.

  • Aggiunta una barra informativa sopra il tavoliere che ricorda i giocatori e il contesto del match (evento, luogo, turno, data, lunghezza).

  • All’apertura di un database, il pannello dei match viene ora mostrato subito e la revisione inizia dalla prima posizione.

  • Le scorciatoie da tastiera sono ora indipendenti dalla disposizione della tastiera (AZERTY, QWERTY, QWERTZ…).

  • Corretta la decodifica dell’XGID (indicatori Jacoby/Beaver e valore del cubo).

  • Aggiunte schede di viste multiple: diversi spazi di lavoro indipendenti (elenco posizioni, posizione corrente, ricerca) con le scorciatoie CTRL-T (nuova vista), CTRL-W (chiudi), CTRL-PageUp/CTRL-PageDown (cambia vista) e rinomina con doppio clic sulla scheda.

  • Vedere Configurazione e Schede delle viste.

0.25.0 (2026-06-07)

  • Modalità server (headless): due nuovi metodi per ricostruire una posizione senza salvarla — positions.fromXGID decodifica una stringa XGID in una posizione e positions.fromXGP legge un file di posizione singola .xgp.

  • Vedi Modalità headless (server).

0.24.0 (2026-06-06)

  • Aggiunta un’immagine container (Docker) per la modalità headless: un punto di ingresso dedicato serve e un Dockerfile.serve che produce un binario statico senza interfaccia grafica, per distribuire il motore di blunderDB come servizio dietro un reverse proxy.

  • Vedi Modalità headless (server).

0.23.0 (2026-06-05)

  • Aggiunti tour guidati dell’interfaccia (tour generale, ricerca, match, tornei), rigiocabili dalla barra degli strumenti o dal comando tour, e un database di esempio caricabile con il comando demo per scoprire lo strumento senza importare le proprie partite.

  • Personalizzazione dei colori del tavoliere (sfondo, bordo, frecce, pedine, dadi, cubo) dalla finestra di configurazione.

  • Completamento automatico della riga di comando (tasto TAB).

  • Pannello di ricerca: controllo esplicito del tipo di decisione (Pedine / Cubo), con un sottotipo Raddoppio / Nessun raddoppio o Prendi / Passa per le decisioni di cubo, sincronizzato con il tavoliere; il cubo offerto viene mostrato al centro del tavoliere per le decisioni di prendi/passa.

  • Ricerca di una posizione tramite il suo identificatore (filtro id).

  • Corretta l’attribuzione dell’errore di cubo al giocatore 1.

  • Vedi Visite guidate e database di esempio.

0.22.0 (2026-06-02)

  • Aggiunta di una modalità headless (server), avanzata e facoltativa, che completa l’applicazione desktop: un demone serve che espone il motore in HTTP + JSON, un backend PostgreSQL multiutente con compartimentazione per tenant (e Row-Level Security come opzione), un comando migrate per trasferire un database SQLite verso PostgreSQL e un dispatcher generico call che dà accesso a riga di comando a tutte le operazioni di archiviazione.

  • Importazione di posizioni singole da nuovi formati (eXtreme Gammon .xgp, testo BGBlitz, libreria nativa .db) con arricchimento dei duplicati tra formati.

  • Correzioni: i pannelli non causano più errori quando nessun database è aperto e il pannello Commenti non entra più in loop all’apertura.

  • Vedi Modalità headless (server).

0.21.0 (2026-06-01)

  • Internazionalizzazione dell’interfaccia: l’intero blunderDB (barra degli strumenti, pannelli, messaggi, aiuto) può ora essere visualizzato a scelta in inglese, francese, tedesco, italiano, spagnolo, finlandese, giapponese, greco o russo.

  • Aggiunta una finestra di configurazione, accessibile tramite un pulsante a forma di ingranaggio nella barra degli strumenti, che permette di selezionare la lingua.

  • La scelta della lingua viene conservata da una sessione all’altra.

  • Vedi Configurazione.

0.20.0 (2026-05-31)

  • Aggiunta la struttura di esclusione Except al pannello di ricerca: esclude posizioni contenenti una delle pedine disegnate, con un marcatore «deve essere vuoto» (doppio clic) e un numero illimitato di pedine per punto (comando x).

  • Aggiunta l’opzione «solo primo dado» al filtro del tiro (variante D1, opzione CLI --dice).

  • Pannello Commenti: focus automatico del campo di inserimento all’apertura, e pulsanti modifica/elimina sempre visibili.

  • Corretto il filtro «Search Text», che non trovava tutti i tag dei commenti.

0.19.0 (2026-05-07)

  • Aggiunta del pannello Stats: indicatori PR (Performance Rating), Snowie Error Rate e MWC cost (Match Winning Chance cost), barra di filtro (giocatore, torneo, date, tipo di decisione, lunghezza del match), scheda Dashboard con schede di livello / PR mobile / top blunder, scheda Progressione con curva per torneo e scatter plot per match, scheda Errori con ripartizione per azione di cubo e istogramma delle magnitudini.

  • Drill-down interattivo verso le posizioni / match / tornei da tutti gli indicatori.

  • Toggle PR / MWC istantaneo.

  • Comando CLI list –type stats.

  • Allineamento degli indicatori PR / Snowie ER / MWC con eXtremeGammon e gnuBG (soglia di equità 0.16 per i cubi marginali).

  • Corretto il calcolo di cube_error per le decisioni Double/Pass.

  • Documentazione del modello statistico (Appendice: modello statistico — allineamento XG / gnuBG / blunderDB).

  • Vedi Pannello Stats.

0.18.0 (2026-04-20)

  • Grande refactoring del codice: suddivisione di db.go (10k righe) in 19 file specializzati, estrazione di 7 moduli di servizio da App.svelte (4888→469 righe), consolidamento degli store modali/pannello.

  • Migrazione completa alle rune di Svelte 5.

  • Sostituzione di 9 modali di tabella con un componente generico DataTableModal.

  • Aggiunti ESLint + Prettier + vitest (125 test frontend) con CI.

  • Conformità WCAG 2.1 AA (focus visibile, ruoli ARIA, navigazione da tastiera).

  • Passaggio del mutex Database a RWMutex per un miglior parallelismo in lettura.

  • Documentazione CLI completa (CLI_USAGE.md + Sphinx FR/EN).

  • Riscrittura del README.

  • Corretti tutti gli avvertimenti ESLint (46→0) e Vite (6→0).

0.17.0 (2026-04-20)

  • Ottimizzazione dello storage: compressione zlib dei dati di analisi (~80% di riduzione), codifica compatta delle posizioni (~90% di riduzione delle dimensioni).

  • Aggiunti 5 indici mancanti per migliorare le prestazioni di ricerca.

  • Corretta la ricerca per errore di cubo.

  • Corretta la modalità EDIT dopo una ricerca senza risultati.

  • Ripristino dello stato del pannello di ricerca al cambio di scheda.

  • Rimozione di 62 istruzioni di debug dai percorsi critici.

0.16.0 (2026-04-18)

  • Schema del database v2.0.0: deduplicazione delle posizioni tramite hash Zobrist, colonne di filtraggio denormalizzate, prefiltro di motivi bitboard, journaling WAL (Appendice: Schema del database).

  • Importazione in batch >=3 volte più veloce, ricerca filtrata <=100 ms su oltre 10k posizioni.

  • NOTA: i file DB creati con la v0.16.0 non possono essere aperti dalle versioni più vecchie; i vecchi DB vengono migrati automaticamente sul posto (eseguire prima un backup).

0.15.0 (2026-03-31)

  • Esportazione della posizione come immagine PNG negli appunti (solo tavoliere tramite Ctrl+X, oppure tavoliere con analisi tramite Ctrl+X Ctrl+X).

0.14.0 (2026-03-30)

  • Pannello Anki dedicato per lo studio a ripetizione dilazionata (algoritmo FSRS).

  • Importazione dei commenti dai file XG.

0.13.0 (2026-03-28)

  • Semplificazione dell’interfaccia: la navigazione nei match e nelle collezioni avviene direttamente tramite i pannelli.

  • Riga di comando integrata nella barra di stato.

  • Pannello Console rinominato in pannello Log. (Pannello rimosso nella 0.31.0.)

  • Pannello Bearoff dedicato nel pannello inferiore.

  • Copia/incolla di posizione nel pannello di ricerca.

  • Trascinamento per riordinare le collezioni, le posizioni all’interno delle collezioni e i match all’interno dei tornei.

  • Colonna torneo nel pannello dei match con modifica inline.

  • Visualizzazione automatica del pannello di analisi dopo una ricerca.

0.12.0 (2026-03-19)

  • Importazione di file di posizione eXtreme Gammon (XGP) con analisi.

0.11.0 (2026-03-06)

  • Filtro di ricerca all’interno delle posizioni correnti.

  • Aggiunta di filtri per match e per torneo.

  • Cancellazione automatica del tavoliere all’apertura del pannello di ricerca.

0.10.0 (2026-02-25)

  • Importazione di match da eXtreme Gammon (XG/XGP), GNUbg (SGF), Jellyfish (MAT/TXT) e BGBlitz (BGF/TXT).

  • Navigazione nei match: scorrimento delle mosse di un match importato, con evidenziazione della mossa giocata.

  • Pannello dei match: elenco, ordinamento, modifica inline, scambio dei giocatori, assegnazione del torneo.

  • Importazione per cartella ricorsiva e importazione tramite trascinamento.

  • Calcolatore EPC (Effective Pip Count) con database di bearoff GNUbg integrato. (Sostituito nella 0.36.0: la tabella è calcolata sulla macchina, nessuna più integrata.)

  • Collezioni: raggruppamento personalizzato di posizioni.

  • Tornei: raggruppamento di match per evento.

  • Salvataggio e ripristino dello stato della sessione (ultima ricerca, posizione corrente).

  • Migrazione automatica dello schema del database.

  • Visualizzazione multi-motore nell’analisi.

  • Filtro per errori/blunder del giocatore 1 nelle ricerche.

  • Esportazione del database con selezione granulare (match, collezioni, tornei, mosse giocate).

  • Pulsante di navigazione nei match.

  • Conteggio dei pip nella navigazione dei match.

  • Interfaccia a riga di comando (CLI) completa.

  • Riapertura automatica dell’ultimo database.

  • Miglioramento della barra degli strumenti e delle icone.

0.9.0 (2025-11-02)

  • Correzione di bug della libreria di filtri.

  • Importazione/esportazione di database.

  • Visualizzazione di frecce per le mosse selezionate.

  • Scorciatoie da tastiera per l’importazione/esportazione.

0.8.0 (2025-05-03)

  • Possibilità di nascondere il conteggio dei pip.

  • Caricamento di una posizione casuale.

0.7.0 (2025-02-16)

  • Supporto del giapponese e del tedesco nelle esportazioni di XG.

0.6.0 (2025-02-13)

  • Aggiunta della libreria di filtri.

  • Visualizzazione della versione del database nei metadati.

0.5.0 (2025-02-04)

  • Aggiunta di nuovi filtri (specchio, non contatto, jan blot, outfield blot).

0.4.0 (2025-02-03)

  • Correzioni di vari bug.

  • Aggiunta di un’icona per blunderDB.

  • Correzioni dei filtri.

  • Aggiunta del supporto a macOS.

0.3.0 (2025-01-27)

  • Correzioni di vari bug.

  • Salva automaticamente le dimensioni della finestra.

  • Importa gli eventuali commenti da XG.

0.2.0 (2025-01-06)

  • Correzioni di vari bug.

  • Aggiunta di tabelle match/TP/GV.

  • Aggiunta di filtri di ricerca (mosse, decisione di cubo, data).

  • Aggiunta di metadati sulle posizioni.

  • Funzione di importazione/esportazione tra istanze di blunderDB.

  • Aggiunta di funzione di metadati sui database.

  • Introduzione dei numeri di versione (database e applicazione).

0.1.0 (2024-12-31)

  • Creazione versione beta.