Ιστορικό εκδόσεων

Οι εκδόσεις παρατίθενται από την πιο πρόσφατη προς την παλαιότερη, μία κουκκίδα ανά αλλαγή, και κάθε έκδοση τελειώνει με τις παραπομπές στις σελίδες που περιγράφουν αναλυτικά τι έφερε. Μια κουκκίδα που την ανέτρεψε μια μεταγενέστερη έκδοση φέρει την αναφορά εκείνης που την αντικατέστησε: αφηγείται την ιστορία του λογισμικού, δεν περιγράφει την εγκατεστημένη έκδοση.

Μετά από μια ενημέρωση

Η μετάβαση του σχήματος της βάσης είναι αυτόματη κατά το άνοιγμα, και χωρίς επιστροφή: μια βάση που έχει μεταβεί δεν είναι πια αναγνώσιμη από παλαιότερη έκδοση του blunderDB, εξ ου και το προηγούμενο αντίγραφο ασφαλείας (Παράρτημα: Σχήμα της βάσης δεδομένων). Τα υπόλοιπα δεν γίνονται από μόνα τους, επειδή κανένα από αυτά τα δεδομένα δεν είναι αναδρομικό:

  • Επανεισαγωγή των αρχείων πηγής για να αποκτηθεί η τύχη (0.33.0). Οι αγώνες που εισήχθησαν νωρίτερα φέρουν μια παύλα στη στήλη Τύχη, και μια παύλα δεν είναι μηδέν. Οι μορφές που δεν μεταφέρουν την τύχη (BGF, Jellyfish .mat) δεν θα την παρέχουν ποτέ.

  • Επανεισαγωγή των αρχείων XG για να αποκτηθούν οι σημάνσεις (0.30.0). Οι σημάνσεις που τέθηκαν στο eXtreme Gammon προστίθενται στη βάση κατά την επανεισαγωγή, χωρίς να θίγονται τα υπάρχοντα σχόλια ή οι αναλύσεις.

  • Εκτέλεση της ανάκτησης ανάλυσης gammonNet (0.34.0), από τη διεπαφή, με blunderdb analyze ή σε λειτουργία διακομιστή: συμπληρώνει τις θέσεις που δεν έχουν καμία ανάλυση, χωρίς ποτέ να αντικαθιστά μια εισαγόμενη ανάλυση.

0.36.0 (05/09/2026)

  • Το εκτελέσιμο είναι 7,3 MB μικρότερο: οι πίνακες μαζέματος δεν είναι πια ενσωματωμένοι ούτε μεταφορτώνονται, αλλά υπολογίζονται στην πρώτη εκκίνηση, στο παρασκήνιο και σιωπηλά — πανομοιότυποι byte προς byte με του gnubg, με έλεγχο του αποτυπώματος SHA-256. Ο εκτεταμένος πίνακας TS-06-11 υπολογίζεται στην καρτέλα Bearoff αντί για μεταφόρτωση 1,2 GB.

  • Τα τουρνουά γεμίζουν μόνα τους κατά την εισαγωγή: ένας αγώνας κατατάσσεται στο τουρνουά που ονομάζει το αρχείο του, το οποίο δημιουργείται αν χρειαστεί· ένας αγώνας ήδη καταταγμένος δεν μετακινείται ποτέ.

  • Μία μόνο γραμματική αναζήτησης, τώρα αναγνώσιμη από τη γραμμή εντολών (blunderdb search --query) όσο και από την εφαρμογή.

  • Η γραμμή εντολών αποκτά --format json σε εννέα εντολές, συμπλήρωση για bash, zsh και fish, την εντολή repair και τις υποεντολές anki card και anki log.

  • Οι καρτέλες Συντομεύσεις και Εντολές της ενσωματωμένης βοήθειας παράγονται από τις σελίδες του εγχειριδίου που τις περιγράφουν: δεν μπορούν πια να μείνουν πίσω από αυτές, και γίνονται πίνακες, χωρίς πλαίσια. Η καρτέλα Εγχειρίδιο της βοήθειας παραμένει μια σύνοψη, διακριτή από το πλήρες εγχειρίδιο στο διαδίκτυο. Τρεις ξεναγήσεις επιπλέον (Eval, Anki, Stats).

  • Ένα εκτελέσιμο Linux arm64, σε μορφή αρχείου tar, .deb, .rpm και πακέτου AUR.

  • Ο πίνακας Eval ξαναβρίσκει το ταμπλό στο οποίο τον άφησαν, ξεχωρίζει την equity money από την equity match και περιηγείται με το πληκτρολόγιο.

  • Από την πλευρά του διακομιστή: συμβόλαιο API παραγόμενο από τον κώδικα (openapi.yaml και το παράρτημά του, 135 διαδρομές), αναγνωριστικό συσχέτισης ανά αίτημα, δείκτες για την εργασία εν εξελίξει, συμπίεση των ροών NDJSON (13,5 % του μεγέθους), και οι δύο κλήσεις που ξεπερνούν τον tenant — vacuum και purge — περνούν κάτω από το /ops/.

  • Σχήμα 2.18.0: το Jacoby και το beaver φεύγουν από την ταυτότητα της θέσης, ώστε η ίδια θέση χρημάτων να μην μπαίνει πια δύο φορές από διαφορετικές πόρτες. Η μετάβαση είναι αυτόματη κατά το άνοιγμα και χωρίς δυνατότητα επιστροφής (Παράρτημα: Σχήμα της βάσης δεδομένων).

  • Αξιοσημείωτες διορθώσεις: το πλαίσιο λεπτομερειών του πίνακα Αγώνες δεν καταλαμβάνει πια τη μισή οθόνη όταν δεν υπάρχει επιλογή, η πρώτη παρτίδα μιας καταγραφής διπλώνει όπως οι άλλες, τα SHIFT-J και SHIFT-K αλλάζουν προβολή από οποιονδήποτε πίνακα, και οκτώ συντομεύσεις «εμφάνιση/απόκρυψη» επιτέλους κρύβουν.

  • Βλ. Διεπαφή γραμμής εντολών (CLI), Λειτουργία χωρίς γραφικό περιβάλλον (διακομιστής) και Εγχειρίδιο.

0.35.0 (2026-09-02)

  • Η γραμμή εντολών κερδίζει δύο οικογένειες: blunderdb collection (λίστα, εμφάνιση, δημιουργία, μετονομασία, διαγραφή, εξαγωγή μιας συλλογής) και blunderdb anki (τράπουλες, στατιστικά, πρόβλεψη επαναλήψεων, επανασυγχρονισμός μιας τράπουλας).

  • Η λειτουργία διακομιστή δημοσιεύεται ως εικόνα Docker (ghcr.io/kevung/blunderdb-serve, amd64 και arm64), κερδίζει τη διαδρομή maintenance.vacuum και υδατογραφεί τις εξαγωγές της με την ταυτότητα εκδότη του διακομιστή (--identity-dir).

  • Ο αξιολογητής gammonNet τιμολογεί τα φύλλα του με τον κύβο: σε σκορ αγώνα, οι ετυμηγορίες της αναζήτησης πλησιάζουν αυτές του eXtreme Gammon.

  • Κάθε έκδοση διανέμει πλέον δηλώσεις winget και Homebrew και ένα πακέτο Flatpak, εκτός από τα πακέτα Debian, RPM και AUR.

  • Στη διεπαφή, η βιβλιοθήκη είναι πλέον σελιδοποιημένη (μια βάση 50.000 θέσεων δεν φορτώνει πια τα πάντα στη μνήμη σε κάθε ανανέωση), τα παράθυρα modal μοιράζονται μια κοινή βάση (εστίαση, Escape, προσβασιμότητα), το ταμπλό επανασχεδιάζει μόνο ό,τι αλλάζει, και η ενσωματωμένη ιαπωνική γραμματοσειρά περιορίζεται στο χρήσιμο υποσύνολό της (5,5 MB λιγότερα).

  • Σημαντικές διορθώσεις: μια βάση εισαγμένη μέσω «Εισαγωγή βάσης» κρατούσε θέσεις αόρατες στα φίλτρα και διπλότυπες σε δεύτερη εισαγωγή (επιδιορθώνεται κατά το άνοιγμα), το κουμπί Συγχώνευση στο παράθυρο συγχώνευσης παικτών παρέμενε γκριζαρισμένο, η εξαγωγή του διακομιστή ήταν κενή, και στα Windows η αφαίρεση της κατεβασμένης βάσης bearoff και το create --force απέτυχαν.

  • Βλ. Διεπαφή γραμμής εντολών (CLI), Λειτουργία χωρίς γραφικό περιβάλλον (διακομιστής) και Εγχειρίδιο.

0.34.0 (2026-09-02)

  • Ένας ενσωματωμένος αξιολογητής: το gammonNet, μεταφερμένο σε Go και μεταγλωττισμένο μέσα στο blunderDB, αξιολογεί οποιαδήποτε θέση εκτός σύνδεσης, χωρίς XG ή gnuBG — νευρωνικό δίκτυο, αναζήτηση 0 έως 2-ply με κλάδεμα, απόφαση κύβου κατά Janowski και τον πίνακα ισοδυναμίας αγώνα του blunderDB, και μια αναζήτηση που σέβεται το σκορ του αγώνα.

  • Ο πίνακας Bearoff γίνεται ο πίνακας Eval: παρουσιάζει τα δεδομένα της θέσης (πιθανότητες νίκης, γκάμον και μπάκγκαμον και για τις δύο πλευρές, equity) και έπειτα τη μία απόφαση που ζητά το ταμπλό, σε ένα σταθερό πλέγμα χωρίς κύλιση· οι ισοδυναμίες αγώνα είναι κανονικοποιημένες και η ετυμηγορία «πολύ καλό για διπλασιασμό» είναι και πάλι ορατή.

  • Η αξιολόγηση είναι προοδευτική: 0-ply άμεσα στη χειρονομία, έπειτα 2-ply σε ηρεμία, ακυρώσιμη από κάθε νέα χειρονομία, με την ετικέτα βάθους να ονομάζει πάντα εκείνη που παρήγαγε τον αριθμό.

  • Ολόκληρο το ταμπλό, τα ζάρια και το σκορ επεξεργάζονται εκεί, με κλικ όπως και με πληκτρολόγιο, και μια θέση της βιβλιοθήκης μπαίνει και βγαίνει από τον πίνακα.

  • Σε μια κούρσα πέρα από την αμφίπλευρη βάση, ένα τρίτο, αξιολογημένο καθεστώς παρέχει την ετυμηγορία κύβου στο σκορ που ο πίνακας δεν έδινε.

  • Μια καρτέλα gammonNet στις ρυθμίσεις διαχωρίζει το βάθος εμφάνισης από το βάθος ανάλυσης.

  • Μετά από μια εισαγωγή, μια περιορισμένη, ορατή, ακυρώσιμη, επαναλήψιμη δέσμη ανάλυσης συμπληρώνει θέσεις χωρίς καμία ανάλυση, χωρίς ποτέ να αντικαθιστά μια εισαγμένη ανάλυση· η συμπλήρωση μιας υπάρχουσας βιβλιοθήκης ξεκινά από τη διεπαφή, τη νέα εντολή blunderdb analyze ή τη λειτουργία διακομιστή.

  • Σημαντικές διορθώσεις: μια απάντηση κύβου εισαγμένη από το eXtreme Gammon κληρονομούσε την ανάλυση του διπλασιαστή χωρίς να αντιστρέφεται, η σημειογραφία των κινήσεων των Λευκών και των εισόδων από τη μπάρα ακολουθεί πλέον το gnuBG και το XG, το βάθος μιας ανάλυσης gnuBG διαβάζεται σωστά, και το μέγεθος του πλευρικού πίνακα διατηρείται.

  • Βλ. Πίνακας Eval, Εγχειρίδιο και Διεπαφή γραμμής εντολών (CLI).

0.33.0 (2026-08-26)

  • Ο πίνακας Στατιστικών αποκτά καρτέλα Παίκτες: οι τρεις προηγούμενες καρτέλες περιγράφουν έναν παίκτη, αυτή τους συγκρίνει όλους, μία γραμμή ανά παίκτη της βάσης — αγώνες, νίκες/ήττες, μετρημένες αποφάσεις, PR συνολικό / πούλια / ζάρι διπλασιασμού, Snowie Error Rate, σοβαρά λάθη και τύχη. Ο πίνακας ταξινομείται από οποιαδήποτε στήλη, περιορίζεται στις ημερομηνίες μιας διοργάνωσης με τα συνήθη φίλτρα, και ένα κλικ σε γραμμή μεταβαίνει στη λεπτομέρεια του παίκτη. Μια παύλα σημαίνει τιμή που δεν μετρήθηκε ποτέ, ποτέ μηδέν. Ο πίνακας είναι διαθέσιμος και από τη γραμμή εντολών (blunderdb list --type players, σε κείμενο, JSON ή CSV) και σε λειτουργία διακομιστή.

  • Η τύχη κάθε ζαριάς αποθηκεύεται πλέον στη βάση και εμφανίζεται: μέση τύχη ανά ζαριά, σε χιλιοστά του πόντου, με πρόσημο. Διαβάζεται κατά την εισαγωγή τόσο από αρχεία eXtreme Gammon όσο και από gnuBG. Δεν ισχύει αναδρομικά — οι αγώνες που εισήχθησαν νωρίτερα δείχνουν παύλα και τα αρχεία προέλευσης πρέπει να εισαχθούν ξανά· οι μορφές που δεν τη μεταφέρουν (BGF, Jellyfish .mat) δεν θα τη δώσουν ποτέ.

  • Η καρτέλα Λάθη δείχνει τώρα προς ποια κατεύθυνση σφάλλουν οι αποφάσεις του κύβου, όχι μόνο πόσο κοστίζουν: μια γραμμή Προσφορά (χαμένα διπλασιάσματα, πρόωρα διπλασιάσματα) και μια γραμμή Απάντηση (λανθασμένα πάσα, λανθασμένες αποδοχές), σκόπιμα χωριστά, αφού ο ίδιος παίκτης μπορεί να διπλασιάζει αργά και να δέχεται χαλαρά. Κάθε κελί φέρει το πλήθος του, το tooltip τη χαμένη ισοδυναμία, και το κλικ φορτώνει τις αντίστοιχες θέσεις.

  • Νέα εντολή Συμπύκνωση βάσης, που ανακτά τον χώρο που άφησαν οι διαγραφές: κουμπί στις ρυθμίσεις και υποεντολή blunderdb vacuum. Δεν εκτελείται ποτέ από μόνη της.

  • Εργονομία: οι καταστροφικές ενέργειες ζητούν επιβεβαίωση, η αναζήτηση σε εξέλιξη επισημαίνεται, μια άγνωστη εντολή λαμβάνει μήνυμα αντί για σιωπή, και οι καρτέλες, οι αγκυρωμένοι πίνακες και τα μικρά παράθυρα χειρίζονται πλήρως από το πληκτρολόγιο. Η αναζήτηση είναι επίσης αισθητά ταχύτερη.

  • Σημαντικές διορθώσεις: τα μη-διπλασιάσματα που το gnuBG χαρακτηρίζει «Double No» μετρούνταν ως διπλασιάσματα, νοθεύοντας το PR του κύβου (μια ήδη υπάρχουσα βάση επιδιορθώνεται χωρίς νέα εισαγωγή, σε λειτουργία διακομιστή)· το φίλτρο παίκτη μίκραινε εσφαλμένα τον παρονομαστή του Snowie Error Rate· οι εξαγωγές έγραφαν παρωχημένο σχήμα· και το blunderdb vacuum άνοιγε το γραφικό περιβάλλον αντί να συμπυκνώσει τη βάση.

  • Βλ. Πίνακας Stats και Διεπαφή γραμμής εντολών (CLI).

0.32.0 (2026-08-09)

  • Ο πίνακας EPC γίνεται ο πίνακας Bearoff και κερδίζει την πλήρη ανάλυση κούρσας. (Μετονομάστηκε σε πίνακα Eval στην 0.34.0.)

  • Σε μια καθαρή θέση bearoff, εμφανίζει — εκτός από το EPC, το pip count, τη σπατάλη και τον μέσο αριθμό ζαριών κάθε παίκτη, πλέον παρουσιασμένα σε πίνακα με προσημασμένη γραμμή Δ — τις πιθανότητες νίκης και των δύο παικτών και τις equities money (cubeless, χωρίς διπλασιασμό, διπλασιασμός/πάρε, διπλασιασμός/πέρασε, με το κενό κάθε απόφασης από την καλύτερη) καθώς και την καλύτερη απόφαση κύβου.

  • Δύο σαφώς διακριτά καθεστώτα: ακριβές (ανάγνωση από αμφίπλευρη βάση· η βάση TS-06-06 του GNUbg είναι ενσωματωμένη, καλύπτοντας έως 6 πούλια ανά παίκτη) και εκτιμημένο (βαθμονομημένη συνέλιξη, εμφανιζόμενο περιθώριο σφάλματος — η ετυμηγορία κύβου δεν εκτιμάται ποτέ).

  • Η εκτεταμένη βάση TS-06-11 (ακριβής ετυμηγορία έως 11 πούλια ανά παίκτη, 1,2 GB) κατεβαίνει από τη νέα καρτέλα Bearoff των ρυθμίσεων, με έλεγχο ακεραιότητας και συνεχιζόμενες λήψεις· μπορεί επίσης να οριστεί οποιοδήποτε αμφίπλευρο αρχείο .bd του gnubg. (Αντικαταστάθηκε στην 0.36.0: ο πίνακας υπολογίζεται στον υπολογιστή, καμία λήψη πια.)

  • Λειτουργία πρόκλησης για εξάσκηση: τα αποτελέσματα κρύβονται σε κάθε τροποποίηση και αποκαλύπτονται ζώνη προς ζώνη, με ένα κλικ.

  • Πλήρης επεξεργασία στο ταμπλό: πούλια και των δύο πλευρών, παίκτης στη βολή (κλικ στο ορθογώνιο bearoff/σκορ) και θέση του κύβου (κλικ στον κύβο).

  • Το κλικ στο ταμπλό είναι πλέον ακριβές σε οποιαδήποτε κλίμακα διεπαφής (ένα κλικ στο σημείο 1 μπορούσε να καταλήξει στο σημείο 2).

  • Νέα εντολή blunderdb epc στη γραμμή εντολών και επιλογή --bearoff-ts της λειτουργίας διακομιστή.

  • Μια νέα ενότητα του εγχειριδίου, «Μεθοδολογία και υποθέσεις του πίνακα Bearoff», αναφέρει εξαντλητικά τις υποθέσεις πίσω από κάθε εμφανιζόμενη τιμή. (Η ενότητα μετονομάστηκε μαζί με τον πίνακα στην 0.34.0.)

  • Βλ. Πίνακας Eval και Μεθοδολογία και υποθέσεις του πίνακα Eval.

0.31.0 (2026-08-04)

  • Διάχυση μιας βάσης σε τρίτους: δύο ανεξάρτητοι μηχανισμοί, και οι δύο προαιρετικοί και επιλέξιμοι κατά την εξαγωγή.

  • Το υδατογράφημα προέλευσης καταγράφει στο αρχείο τι είναι και από πού προέρχεται, υπογεγραμμένο από μια ταυτότητα εκδότη που δημιουργείται μόνη της κατά την πρώτη χρήση· η σήμανση είναι μη παραποιήσιμη, εμφανίζεται στην κορυφή του πίνακα Μεταδεδομένων (ή μέσω blunderdb info, χωρίς ποτέ να γράφει στο αρχείο) και δεν καταγράφει τίποτα στην πλευρά του παραλήπτη — κανένα αρχείο καταγραφής, καμία παρακολούθηση.

  • Η προστασία με κωδικό παράγει ένα κρυπτογραφημένο αρχείο .dbx (AES-256-GCM, κλειδί που προέρχεται με Argon2id), ελεγμένο σε κάθε άνοιγμα, του οποίου η κεφαλίδα παραμένει αναγνώσιμη σε καθαρό κείμενο· η ταυτότητα εξάγεται και εισάγεται ως ένα ενιαίο αρχείο από τις προτιμήσεις.

  • Το παράθυρο εξαγωγής ανασχεδιάστηκε: μία μόνο οθόνη αντί για τέσσερις, υπενθύμιση του τι πραγματικά φεύγει (οι εμφανιζόμενες θέσεις), το καλυπτόμενο μερίδιο κάθε συλλογής σημειωμένο με κόκκινο όταν είναι μερικό, τα τουρνουά εξαγώγιμα μόνο με τους αγώνες τους — και μια εξαγωγή τρεις φορές ταχύτερη.

  • Το παράθυρο ρυθμίσεων αναδιοργανώθηκε σε τρεις καρτέλες (Διεπαφή, Χρώματα ταμπλό, Ταυτότητα εκδότη), με σταθερό μέγεθος και θέση.

  • Ο πίνακας Μεταδεδομένων αναδιατάχθηκε σε ένα ενιαίο πλέγμα.

  • Ο πίνακας Ημερολόγιο, που λάμβανε μόνο την ηχώ των εντολών, αφαιρείται.

  • Σημαντικές διορθώσεις: ένας λανθασμένος κωδικός δεν ανοίγει πλέον μια προστατευμένη βάση, τα πεδία των παραθύρων modal δεν χάνουν πλέον την εστίαση στο κλικ, ο υπολογισμός των δεικτών PR/MWC δεν καταρρέει πλέον σε ένα money game, και τα προσωρινά αρχεία (-wal, -shm, κλείδωμα) καθαρίζονται κατά το κλείσιμο.

  • Βλ. Διανομή μιας βάσης: προέλευση και κωδικός πρόσβασης και Εγχειρίδιο.

0.30.0 (2026-07-26)

  • Αναζήτηση κατά σχόλιο: το φίλτρο «Κείμενο αναζήτησης» γίνεται το φίλτρο «Σχόλιο» και προσφέρει τρεις αποκλειστικές λειτουργίες — περιέχει το κείμενο (προηγούμενη συμπεριφορά, διακριτικό t""λέξη1;λέξη2""), έχει σχόλιο (διακριτικό co) και χωρίς σχόλιο (διακριτικό xco) — για να βρεθούν με μία κίνηση οι σχολιασμένες θέσεις, ή αντίθετα εκείνες που μένουν να σχολιαστούν.

  • Θέσεις σημειωμένες στο eXtreme Gammon: οι σημάνσεις (flags) που τοποθετήθηκαν κατά την ανάλυση ενός αγώνα XG διαβάζονται πλέον κατά την εισαγωγή και ανακτώνται μέσω του φίλτρου «Σημειωμένη» (διακριτικό fl), συνδυάσιμου με κάθε άλλο κριτήριο· μια σημειωμένη απόφαση κύβου δίνει δύο σημειωμένες θέσεις, τον διπλασιασμό και το πάρε/πέρασε.

  • Καθώς η σήμανση δεν είναι αναδρομική, αρκεί να επανεισαχθεί το σχετικό αρχείο .xg για να προστεθούν οι σημάνσεις του στη βάση, χωρίς να θιγούν υπάρχοντα σχόλια ή αναλύσεις.

  • Σημαντικές διορθώσεις: το PR που εμφανίζεται στο σήμα ενός τουρνουά αναφέρεται πλέον στον παίκτη αναφοράς και όχι στο άθροισμα και των δύο παικτών, οι τράπουλες Anki που βασίζονται σε μια αναζήτηση σέβονται και πάλι τα φίλτρα αυτής της αναζήτησης αντί να παίρνουν όλη τη βάση, και διορθώνεται ένα μπλοκάρισμα της αναζήτησης όταν συνδυάζονται ορισμένα φίλτρα (κείμενο, ημερομηνία, σφάλμα της κίνησης που παίχτηκε).

  • Βλ. Λίστα εντολών και Εγχειρίδιο.

0.29.0 (2026-07-18)

  • Εξαγωγή ενός αγώνα σε μορφή Jellyfish/gnubg (.mat) από τη διεπαφή (πίνακας Αγώνων) όπως και από τη γραμμή εντολών, με την αντίστοιχη διαδρομή διακομιστή — χρήσιμο για την επανάληψη ενός αγώνα σε άλλο λογισμικό τάβλι.

  • Αναζήτηση: ένας νέος διαχωριστής «εξαιρούμενα ζάρια» (διακριτικό xD65, επιτρέπονται περισσότερα) που αποκλείει θέσεις των οποίων η ζαριά αντιστοιχεί σε δεδομένη ζαριά.

  • Ασφαλές ταυτόχρονο άνοιγμα: μια βάση ήδη ανοιχτή για εγγραφή σε άλλο παράθυρο blunderDB ανοίγει πλέον μόνο για ανάγνωση (πλοήγηση, αναζήτηση και ανάλυση παραμένουν δυνατές, οι τροποποιήσεις απενεργοποιούνται, ένδειξη «[μόνο για ανάγνωση]» στη γραμμή τίτλου) αντί να διακινδυνεύει αλλοίωση.

  • Προέλευση των θέσεων: εκτός λειτουργίας αγώνα, η γραμμή πληροφοριών πάνω από το ταμπλό δείχνει τον αγώνα — και το τουρνουά του — από τον οποίο προέρχεται η υπό μελέτη θέση, με σήμα «+N» όταν εμφανίζεται σε πολλούς αγώνες.

  • Αυξημένη ανθεκτικότητα απέναντι στο περιβάλλον: αυτόματη υποχώρηση όταν μια γραμματοσειρά, το πρόχειρο ή η τελευταία ανοιγμένη βάση δεν είναι διαθέσιμα.

  • Μια ρητή επαναφόρτωση της βιβλιοθήκης (CTRL-R, κουμπί εργαλειοθήκης ή εντολή e) ανοίγει ξανά τον πίνακα ανάλυσης στην εμφανιζόμενη θέση.

  • Σημαντικές διορθώσεις: αφαίρεση ενός μπλοκαρίσματος στην εξαγωγή μεγάλων βάσεων, το κουμπί «Κανένα» της εξαγωγής που στην πραγματικότητα δεν εξήγαγε τίποτα, φιλτράρισμα σχολίων πολλαπλών λέξεων, αποδιπλασιασμός γεγονότος και τουρνουά στη γραμμή πληροφοριών, και διάφορες ρυθμίσεις εμφάνισης.

  • Βλ. Λίστα εντολών, Πίνακας Αγώνων και Εγχειρίδιο.

0.28.0 (2026-07-15)

  • Πίνακας αναζήτησης: ένα ενοποιημένο φίλτρο «Αγώνες & Τουρνουά» που αντικαθιστά τα πεδία κειμένου αναγνωριστικών με ένα παράθυρο επιλογής (λίστες ελέγχου φιλτραρισμένες κατά κείμενο, κουμπιά Όλα/Κανένα, το τσεκάρισμα ενός τουρνουά τσεκάρει τους αγώνες-μέλη του) — ταχύτερο σε μεγάλες βάσεις, η καρτέλα Αγώνες και η προβολή Τουρνουά επανυπολογίζουν πλέον τους δείκτες PR/MWC μόνο για τους εμφανιζόμενους αγώνες· η cli list --type tournaments κλείνει το αντίστοιχο κενό ισοτιμίας.

  • Νέο φίλτρο «Ξεχωριστά εισαγόμενη» (πλαίσιο ελέγχου στην ομάδα Άλλα, ή διακριτικό i στη γραμμή εντολών, s i· διαθέσιμο επίσης στη CLI μέσω --individual) για να βρεθεί μια θέση αποθηκευμένη ή εισαγμένη μόνη της αντί να χαθεί μέσα σε μια εισαγωγή αγώνα.

  • Διόρθωση απώλειας δεδομένων: η διαγραφή ενός αγώνα δεν αφαιρεί πλέον θέσεις ξεχωριστά εισαγόμενες, τοποθετημένες σε συλλογή, ή ενταγμένες σε τράπουλα Anki που ο αγώνας περιείχε επίσης.

  • Λειτουργία διακομιστή (headless): έξι νέες μέθοδοι για τον προγραμματιστή Anki κατανεμημένης επανάληψης — ημερολόγιο επαναλήψεων (anki.reviewLog), πρόβλεψη επερχόμενων καρτών (anki.forecast), αναστολή/αναβολή/αφαίρεση κάρτας (anki.suspendCard, anki.buryCard, anki.removeCard) και αυτόματη προσαρμογή της στοχευόμενης διατήρησης μιας τράπουλας προς το παρατηρούμενο ποσοστό επιτυχίας της (anki.optimizeParams, που αντικαταστάθηκε στην 0.36.0 από το anki.retention, το οποίο μετρά το παρατηρούμενο ποσοστό χωρίς ποτέ να γράφει τον στόχο)· μια νέα μέθοδος tenant.purge για οριστική διαγραφή των δεδομένων ενός tenant σε ανάπτυξη PostgreSQL πολλαπλών χρηστών· νέες μέθοδοι matches.list (φιλτράρισμα/ταξινόμηση/σελιδοποίηση) και stats.matchBadges (δείκτες PR/MWC περιορισμένοι σε μια λίστα αγώνων).

  • Εγγενής διανομή Linux: πακέτα .deb/.rpm, που διατηρούν το bit εκτέλεσης που χανόταν κατά τη λήψη του ακατέργαστου εκτελέσιμου.

  • Εισαγωγή: μετά την εισαγωγή ενός αγώνα, η καρτέλα Αγώνες εμφανίζεται πλέον και οι εισαγμένες θέσεις είναι αμέσως ορατές· μετά την εισαγωγή μιας μεμονωμένης θέσης (αρχείο XGP, θέση BGBlitz, αρχείο θέσης κειμένου, επικολλημένη θέση ή δέσμη θέσεων), η καρτέλα Ανάλυση ανοίγει πλέον απευθείας στην εισαγμένη θέση, αντί για την καρτέλα Αγώνες· διόρθωση της επικόλλησης μιας ανάλυσης eXtreme Gammon στα γαλλικά ή γερμανικά από macOS, που παρέμενε κενή (τόνοι αποσυντεθειμένοι από το πρόχειρο του συστήματος).

  • Βλ. Λειτουργία χωρίς γραφικό περιβάλλον (διακομιστής), Λίστα εντολών και Λήψη και εγκατάσταση.

0.27.0 (2026-06-13)

  • Πίνακας Anki: μια νέα λειτουργία ελεύθερης εξάσκησης (cram), προσβάσιμη από το κουμπί Cram δίπλα στο Study, που εμφανίζει τυχαίες θέσεις από την τράπουλα χωρίς να τροποποιεί το πρόγραμμα επαναλαμβανόμενης μελέτης — ιδανική για προθέρμανση πριν από ένα τουρνουά ή για εντατική επανάληψη μιας τράπουλας χωρίς να διαταράσσεται η σειρά της.

  • Αναζήτηση: μια νέα εντολή blunders (ψευδώνυμο bl) που φορτώνει απευθείας τα χειρότερα λάθη (equity/MWC) στην προβολή ανάλυσης, με προαιρετικό αριθμό για την επιλογή του πλήθους (bl 50)· ένα νέο φίλτρο παίκτη pl'όνομα' που βρίσκει όλες τις θέσεις από έναν αγώνα στον οποίο συμμετείχε ένας συγκεκριμένος παίκτης, σε οποιαδήποτε πλευρά· και επεξηγήσεις που, καθώς ο δείκτης περνά πάνω από κάθε φίλτρο του πίνακα αναζήτησης, εμφανίζουν το αντίστοιχο διακριτικό εντολής.

  • Λειτουργία διακομιστή (headless): νέες μέθοδοι matches.movesByMatch (όλες οι κινήσεις ενός αγώνα σε μία κλήση) και positions.epc (Effective Pip Count και για τους δύο παίκτες).

  • Βλ. Πίνακας Anki και Λίστα εντολών.

0.26.0 (2026-06-09)

  • Ρυθμίσεις εμφάνισης της διεπαφής στο παράθυρο ρυθμίσεων: ένας ολισθητής κλίμακας για μεγέθυνση ή σμίκρυνση ολόκληρης της διεπαφής, και μια επιλογή θέσης των πινάκων (κάτω, στο πλάι ή αυτόματα) για καλύτερη αξιοποίηση των ευρέων οθονών.

  • Προσθήκη γραμμής πληροφοριών πάνω από το ταμπλό που υπενθυμίζει τους παίκτες και το πλαίσιο του αγώνα (γεγονός, τόπος, γύρος, ημερομηνία, διάρκεια).

  • Κατά το άνοιγμα μιας βάσης, ο πίνακας των αγώνων εμφανίζεται πλέον αμέσως και η επισκόπηση ξεκινά από την πρώτη θέση.

  • Οι συντομεύσεις πληκτρολογίου είναι πλέον ανεξάρτητες από τη διάταξη πληκτρολογίου (AZERTY, QWERTY, QWERTZ…).

  • Διόρθωση της αποκωδικοποίησης XGID (δείκτες Jacoby/Beaver και τιμή του κύβου).

  • Προσθήκη καρτελών πολλαπλών προβολών: πολλοί ανεξάρτητοι χώροι εργασίας (λίστα θέσεων, τρέχουσα θέση, αναζήτηση) με τις συντομεύσεις CTRL-T (νέα προβολή), CTRL-W (κλείσιμο), CTRL-PageUp/CTRL-PageDown (αλλαγή προβολής) και μετονομασία με διπλό κλικ στην καρτέλα.

  • Βλ. Ρυθμίσεις και Καρτέλες προβολών.

0.25.0 (2026-06-07)

  • Λειτουργία διακομιστή (headless): δύο νέες μέθοδοι για την ανακατασκευή μιας θέσης χωρίς αποθήκευση — η positions.fromXGID αποκωδικοποιεί μια συμβολοσειρά XGID σε θέση και η positions.fromXGP διαβάζει ένα αρχείο μεμονωμένης θέσης .xgp.

  • Βλ. Λειτουργία χωρίς γραφικό περιβάλλον (διακομιστής).

0.24.0 (2026-06-06)

  • Προστέθηκε εικόνα κοντέινερ (Docker) για τη λειτουργία headless: ένα αποκλειστικό σημείο εισόδου serve και ένα Dockerfile.serve που παράγει ένα στατικό δυαδικό αρχείο χωρίς γραφικό περιβάλλον, για την ανάπτυξη της μηχανής του blunderDB ως υπηρεσία πίσω από έναν αντίστροφο διακομιστή μεσολάβησης (reverse proxy).

  • Βλ. Λειτουργία χωρίς γραφικό περιβάλλον (διακομιστής).

0.23.0 (2026-06-05)

  • Προσθήκη καθοδηγούμενων περιηγήσεων της διεπαφής (γενική περιήγηση, αναζήτηση, αγώνες, τουρνουά), επαναλήψιμων από τη γραμμή εργαλείων ή την εντολή tour, και μιας δείγματος βάσης φορτώσιμης με την εντολή demo για να ανακαλύψει κανείς το εργαλείο χωρίς να εισάγει τις δικές του παρτίδες.

  • Προσαρμογή των χρωμάτων του ταμπλό (φόντο, περίγραμμα, βέλη, πούλια, ζάρια, κύβος) από το παράθυρο ρυθμίσεων.

  • Αυτόματη συμπλήρωση της γραμμής εντολών (πλήκτρο TAB).

  • Πίνακας αναζήτησης: ρητός έλεγχος του τύπου απόφασης (Πούλια / Κύβος), με έναν υπότυπο Διπλασιασμός / Χωρίς διπλασιασμό ή Πάρε / Πέρασε για τις αποφάσεις κύβου, συγχρονισμένος με το ταμπλό· ο προσφερόμενος κύβος εμφανίζεται στο κέντρο του ταμπλό για τις αποφάσεις πάρε/πέρασε.

  • Αναζήτηση μιας θέσης βάσει του αναγνωριστικού της (φίλτρο id).

  • Διόρθωση της απόδοσης του σφάλματος κύβου στον παίκτη 1.

  • Βλ. Ξεναγήσεις και βάση δείγματος.

0.22.0 (2026-06-02)

  • Προσθήκη μιας λειτουργίας χωρίς γραφικό περιβάλλον (διακομιστής), προηγμένης και προαιρετικής, που συμπληρώνει την εφαρμογή γραφείου: ένας δαίμονας serve που εκθέτει τη μηχανή σε HTTP + JSON, ένα backend PostgreSQL πολλαπλών χρηστών με διαχωρισμό ανά tenant (και Row-Level Security προαιρετικά), μια εντολή migrate για τη μεταφορά μιας βάσης SQLite προς PostgreSQL, και ένας γενικός dispatcher call που παρέχει πρόσβαση μέσω γραμμής εντολών σε όλες τις λειτουργίες αποθήκευσης.

  • Εισαγωγή μεμονωμένων θέσεων από νέες μορφές (eXtreme Gammon .xgp, κείμενο BGBlitz, εγγενής βιβλιοθήκη .db) με εμπλουτισμό των διπλότυπων μεταξύ μορφών.

  • Διορθώσεις: οι πίνακες δεν προκαλούν πλέον σφάλμα όταν δεν είναι ανοιχτή καμία βάση, και ο πίνακας Σχόλια δεν δημιουργεί πλέον βρόχο κατά το άνοιγμα.

  • Βλ. Λειτουργία χωρίς γραφικό περιβάλλον (διακομιστής).

0.21.0 (2026-06-01)

  • Διεθνοποίηση της διεπαφής: το σύνολο του blunderDB (γραμμή εργαλείων, πίνακες, μηνύματα, βοήθεια) μπορεί πλέον να εμφανιστεί κατ” επιλογήν στα αγγλικά, γαλλικά, γερμανικά, ιταλικά, ισπανικά, φινλανδικά, ιαπωνικά, ελληνικά ή ρωσικά.

  • Προσθήκη παραθύρου ρυθμίσεων, προσβάσιμου μέσω ενός κουμπιού σε σχήμα γραναζιού στη γραμμή εργαλείων, που επιτρέπει την επιλογή της γλώσσας.

  • Η επιλογή της γλώσσας διατηρείται από τη μία συνεδρία στην άλλη.

  • Βλ. Ρυθμίσεις.

0.20.0 (2026-05-31)

  • Προσθήκη της δομής αποκλεισμού Except στον πίνακα αναζήτησης: αποκλείει θέσεις που περιέχουν ένα από τα σχεδιασμένα πούλια, με δείκτη «πρέπει να είναι κενό» (διπλό κλικ) και απεριόριστο αριθμό πουλιών ανά σημείο (εντολή x).

  • Προσθήκη της επιλογής «μόνο πρώτο ζάρι» στο φίλτρο ζαριάς (παραλλαγή D1, επιλογή CLI --dice).

  • Πίνακας Σχόλια: αυτόματη εστίαση του πεδίου εισαγωγής κατά το άνοιγμα, και κουμπιά επεξεργασίας/διαγραφής πάντα ορατά.

  • Διόρθωση του φίλτρου «Search Text» που δεν έβρισκε όλες τις ετικέτες σχολίων.

0.19.0 (2026-05-07)

  • Προσθήκη του πίνακα Stats: δείκτες PR (Performance Rating), Snowie Error Rate και MWC cost (Match Winning Chance cost), γραμμή φίλτρου (παίκτης, τουρνουά, ημερομηνίες, τύπος απόφασης, μήκος αγώνα), καρτέλα Dashboard με κάρτες επιπέδου / κυλιόμενο PR / κορυφαία blunders, καρτέλα Progression με καμπύλη ανά τουρνουά και scatter plot ανά αγώνα, καρτέλα Σφάλματα με κατανομή ανά ενέργεια κύβου και ιστόγραμμα των μεγεθών.

  • Διαδραστική εμβάθυνση προς τις θέσεις / αγώνες / τουρνουά από όλους τους δείκτες.

  • Στιγμιαία εναλλαγή PR / MWC.

  • Εντολή CLI list –type stats.

  • Ευθυγράμμιση των δεικτών PR / Snowie ER / MWC με το eXtremeGammon και το gnuBG (κατώφλι equity 0.16 για κοντινούς κύβους).

  • Διόρθωση του υπολογισμού του cube_error για τις αποφάσεις Double/Pass.

  • Τεκμηρίωση του στατιστικού μοντέλου (Παράρτημα: Μοντέλο στατιστικών — ευθυγράμμιση XG / gnuBG / blunderDB).

  • Βλ. Πίνακας Stats.

0.18.0 (2026-04-20)

  • Μεγάλη αναδιάρθρωση κώδικα: διαχωρισμός του db.go (10 χιλ. γραμμές) σε 19 εξειδικευμένα αρχεία, εξαγωγή 7 μονάδων υπηρεσίας από το App.svelte (4888→469 γραμμές), ενοποίηση των stores modal/πίνακα.

  • Πλήρης μετάβαση στα Svelte 5 runes.

  • Αντικατάσταση 9 modal πίνακα με ένα γενικό στοιχείο DataTableModal.

  • Προσθήκη ESLint + Prettier + vitest (125 δοκιμές frontend) με CI.

  • Συμμόρφωση WCAG 2.1 AA (ορατή εστίαση, ρόλοι ARIA, πλοήγηση με πληκτρολόγιο).

  • Μετάβαση του mutex της Database σε RWMutex για καλύτερη παραλληλία στην ανάγνωση.

  • Πλήρης τεκμηρίωση CLI (CLI_USAGE.md + Sphinx FR/EN).

  • Επανεγγραφή του README.

  • Διόρθωση όλων των προειδοποιήσεων ESLint (46→0) και Vite (6→0).

0.17.0 (2026-04-20)

  • Βελτιστοποίηση αποθήκευσης: συμπίεση zlib των δεδομένων ανάλυσης (~80% μείωση), συμπαγής κωδικοποίηση θέσεων (~90% μείωση μεγέθους).

  • Προσθήκη 5 ελλειπόντων ευρετηρίων για βελτίωση των επιδόσεων αναζήτησης.

  • Διόρθωση της αναζήτησης κατά σφάλμα κύβου.

  • Διόρθωση της λειτουργίας EDIT μετά από αναζήτηση χωρίς αποτελέσματα.

  • Επαναφορά της κατάστασης του πίνακα αναζήτησης κατά την αλλαγή καρτελών.

  • Αφαίρεση 62 εντολών αποσφαλμάτωσης από κρίσιμες διαδρομές.

0.16.0 (2026-04-18)

  • Σχήμα βάσης δεδομένων v2.0.0: αποδιπλασιασμός θέσεων μέσω hash Zobrist, αποκανονικοποιημένες στήλες φιλτραρίσματος, προ-φίλτρο μοτίβων bitboard, καταγραφή WAL (Παράρτημα: Σχήμα της βάσης δεδομένων).

  • Μαζική εισαγωγή >=3x ταχύτερη, φιλτραρισμένη αναζήτηση <=100 ms σε 10 χιλ.+ θέσεις.

  • ΣΗΜΕΙΩΣΗ: τα αρχεία DB που δημιουργήθηκαν με την v0.16.0 δεν μπορούν να ανοιχτούν από παλαιότερες εκδόσεις· οι παλιές DB μεταβαίνουν αυτόματα επιτόπου (κάντε πρώτα ένα αντίγραφο ασφαλείας).

0.15.0 (2026-03-31)

  • Εξαγωγή της θέσης ως εικόνα PNG στο πρόχειρο (μόνο το ταμπλό με Ctrl+X, ή το ταμπλό με ανάλυση με Ctrl+X Ctrl+X).

0.14.0 (2026-03-30)

  • Αποκλειστικός πίνακας Anki για μελέτη με επαναλαμβανόμενα διαστήματα (αλγόριθμος FSRS).

  • Εισαγωγή σχολίων από τα αρχεία XG.

0.13.0 (2026-03-28)

  • Απλοποίηση της διεπαφής: η πλοήγηση στους αγώνες και τις συλλογές γίνεται πλέον απευθείας μέσω των πινάκων.

  • Γραμμή εντολών ενσωματωμένη στη γραμμή κατάστασης.

  • Ο πίνακας Κονσόλα μετονομάστηκε σε πίνακα Log. (Ο πίνακας αφαιρέθηκε στην 0.31.0.)

  • Αποκλειστικός πίνακας Bearoff στον κάτω πίνακα.

  • Αντιγραφή/επικόλληση θέσης στον πίνακα αναζήτησης.

  • Μεταφορά και απόθεση για την αναδιάταξη συλλογών, θέσεων μέσα στις συλλογές, και αγώνων μέσα στα τουρνουά.

  • Στήλη τουρνουά στον πίνακα αγώνων με εσωτερική επεξεργασία.

  • Αυτόματη εμφάνιση του πίνακα ανάλυσης μετά από μια αναζήτηση.

0.12.0 (2026-03-19)

  • Εισαγωγή αρχείων θέσεων eXtreme Gammon (XGP) με ανάλυση.

0.11.0 (2026-03-06)

  • Φίλτρο αναζήτησης μέσα στις τρέχουσες φιλτραρισμένες θέσεις.

  • Προσθήκη φίλτρων ανά αγώνα και ανά τουρνουά.

  • Αυτόματος καθαρισμός του ταμπλό κατά το άνοιγμα του πίνακα αναζήτησης.

0.10.0 (2026-02-25)

  • Εισαγωγή αγώνων από eXtreme Gammon (XG/XGP), GNUbg (SGF), Jellyfish (MAT/TXT) και BGBlitz (BGF/TXT).

  • Πλοήγηση στους αγώνες: περιήγηση στις κινήσεις ενός εισαγόμενου αγώνα, με επισήμανση της κίνησης που παίχτηκε.

  • Πίνακας αγώνων: λίστα, ταξινόμηση, εσωτερική επεξεργασία, εναλλαγή παικτών, ανάθεση τουρνουά.

  • Εισαγωγή με αναδρομικό φάκελο και εισαγωγή με μεταφορά και απόθεση.

  • Υπολογιστής EPC (Effective Pip Count) με ενσωματωμένη βάση δεδομένων bearoff του GNUbg. (Αντικαταστάθηκε στην 0.36.0: ο πίνακας υπολογίζεται στον υπολογιστή, κανένας δεν είναι πια ενσωματωμένος.)

  • Συλλογές: προσαρμοσμένη ομαδοποίηση θέσεων.

  • Τουρνουά: ομαδοποίηση αγώνων ανά εκδήλωση.

  • Αποθήκευση και επαναφορά της κατάστασης συνεδρίας (τελευταία αναζήτηση, τρέχουσα θέση).

  • Αυτόματη μετάβαση του σχήματος της βάσης δεδομένων.

  • Εμφάνιση πολλαπλών μηχανών στην ανάλυση.

  • Φίλτρο σφαλμάτων/blunders του παίκτη 1 στις αναζητήσεις.

  • Εξαγωγή της βάσης δεδομένων με λεπτομερή επιλογή (αγώνες, συλλογές, τουρνουά, κινήσεις που παίχτηκαν).

  • Κουμπί πλοήγησης στους αγώνες.

  • Εμφάνιση pip count στην πλοήγηση των αγώνων.

  • Πλήρης διεπαφή γραμμής εντολών (CLI).

  • Αυτόματο άνοιγμα ξανά της τελευταίας βάσης δεδομένων.

  • Βελτίωση της γραμμής εργαλείων και των εικονιδίων.

0.9.0 (2025-11-02)

  • Διόρθωση σφάλματος της βιβλιοθήκης φίλτρων.

  • Εισαγωγή/εξαγωγή βάσης δεδομένων.

  • Εμφάνιση βελών για τις επιλεγμένες κινήσεις.

  • Συντομεύσεις πληκτρολογίου για την εισαγωγή/εξαγωγή.

0.8.0 (2025-05-03)

  • Δυνατότητα απόκρυψης του pip count.

  • Φόρτωση τυχαίας θέσης.

0.7.0 (2025-02-16)

  • Υποστήριξη ιαπωνικών και γερμανικών εξαγωγών XG.

0.6.0 (2025-02-13)

  • Προσθήκη βιβλιοθήκης φίλτρων.

  • Εμφάνιση της έκδοσης της βάσης δεδομένων στα μεταδεδομένα.

0.5.0 (2025-02-04)

  • Προσθήκη νέων φίλτρων (καθρέφτης, μη επαφή, jan blot, outfield blot).

0.4.0 (2025-02-03)

  • Διάφορες διορθώσεις σφαλμάτων.

  • Προσθήκη εικονιδίου για το blunderDB.

  • Διορθώσεις φίλτρων.

  • Προσθήκη υποστήριξης MacOS.

0.3.0 (2025-01-27)

  • Διάφορες διορθώσεις σφαλμάτων.

  • Αυτόματη αποθήκευση του μεγέθους του παραθύρου.

  • Εισαγωγή τυχόν σχολίων από το XG.

0.2.0 (2025-01-06)

  • Διάφορες διορθώσεις σφαλμάτων.

  • Προσθήκη πινάκων αγώνων/TP/GV.

  • Προσθήκη φίλτρων αναζήτησης (κινήσεις, αποφάσεις ντουμπλέ, ημερομηνία).

  • Προσθήκη μεταδεδομένων στις θέσεις.

  • Λειτουργία εισαγωγής/εξαγωγής μεταξύ στιγμιότυπων του blunderDB.

  • Προσθήκη λειτουργίας μεταδεδομένων στις βάσεις δεδομένων.

  • Εισαγωγή αριθμών εκδόσεων (βάσης δεδομένων και εφαρμογής).

0.1.0 (2024-12-31)

  • Έκδοση beta.