-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
8316 lines (5299 loc) · 286 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2024-04-28 Philippe Michel <philippe.michel7@free.fr>
Version 1.08.003 released.
2024-02-24 Philippe Michel <philippe.michel7@free.fr>
Version 1.08.002 released.
2024-02-18 Philippe Michel <philippe.michel7@free.fr>
* gnubg.c: Fix potential corruption of gnubgautorc file.
2024-02-04 Philippe Michel <philippe.michel7@free.fr>
Version 1.08.001 released.
2024-01-01 Philippe Michel <philippe.michel7@free.fr>
* eval.c, eval.h, gnubg.weights: Fix old quirk in the
implementation of the PIPLOSS input (bug #65035). Retrain the
neural nets using it. The effect on evaluation accuracy is
marginally positive.
2023-12-20 Philippe Michel <philippe.michel7@free.fr>
* eval.c, eval.h, set.c, show.c: Use a different cube efficiency
ratio for 0- and 1-ply evaluations (0.76 instead of 0.68).
This improves cube decisions at these plies noticeably (cube
error rates are approximately halved) and the repartition of
errors (premature doubles vs. missed doubles vs. take or pass
errors) is now similar to higher plies instead of being mostly
premature doubles.
2023-12-18 Philippe Michel <philippe.michel7@free.fr>
* gtkgame.c, gtkgame.h, gtklocdefs.h, gtkpanels.c, gtktoolbar.c:
* gtktoolbar.h: build the GTK2 version using GtkUIManager by
default. To revert to GtkItemFactory, add -DUSE_GTKITEMFACTORY to
the compilation flags.
2023-11-17 Isaac Keslassy <keslassy@gmail.com>
* backgammon.h, commands.inc, gnubg.c, gtkgame.c, gtkgame.h:
* gtkrelational.c, gtkuidefs.h, relational.c, relational.h:
* show.c:
Add a feature to show how the player's GNU error rate has evolved
throughout the player's history, as provided by the database
records.
2023-10-18 Philippe Michel <philippe.michel7@free.fr>
* met/cubeless.xml: Add cubeless MET contributed by Tilemachos Zoidis
2023-03-14 Philippe Michel <philippe.michel7@free.fr>
* dice.c, osr.c, credits.sh: replace the original Mersenne Twister
RNG by the improved SFMT version.
2023-02-09 Isaac Keslassy <keslassy@gmail.com>
* backgammon.h, commands.inc, gnubg.c, gtkgame.c, gtkgame.h:
* gtkoptions.c, gtkoptions.h, import.c, set.c, sgf.c, show.c:
Introduce the "SmartSit" feature that enables to define a list of
users that automatically sit at the bottom of the board (as
player1) in opened matches.
Names can be added or deleted in Settings > Options > Display.
Remove the similar but more limited set/show aliases CLI commands.
2023-02-04 Isaac Keslassy <keslassy@gmail.com>
* backgammon.h, commands.inc, gnubg.c, gtkfile.c, gtkfile.h:
* gtkgame.c, gtktoolbar.c, gtkuidefs.h, set.c:
Extend batch analysis feature with a new button in the main
toolbar: "Analyse file". Three options are available in Settings /
Analysis:
- regular batch analysis as peviously available
- single file analysis of a selected file
- smart analysis: analysis of the newest file in the default
import folder (where an external client presumably added it)
2023-01-22 Isaac Keslassy <keslassy@gmail.com>
* analysis.c, backgammon.h, commands.inc, gnubg.c, gtkchequer.c:
* gtkcube.c, gtkfile.c, gtkfile.h, gtkgame.c, gtktoolbar.c:
* multithread.c, set.c:
Introduce a background analysis feature with a new button in the
main toolbar: "Analyse"
- the "Analyze" button starts the analysis of the current match
- its behaviour is defined in Settings / Analysis:
- "background analysis" checkbox:
* unchecked => regular "analyze match", blocking
* checked => we can browse the moves list
and check the analysis immediately
- "automatic add-to-database" checkbox:
* Unchecked => match can be added from statistics page
* Checked => match is added automatically at the end of analysis
2023-01-17 Isaac Keslassy <keslassy@gmail.com>
* gtkscoremap.c, gtkscoremap.h, backgammon.h, commands.inc:
* gnubg.c, gtkchequer.c, gtkcube.c, gtkgame.c, gtkuidefs.h, set.c:
Improvements to the score map feature ; notably its default
configuration is now configurable via Settings/Analysis/ScoreMap.
2022-11-14 Philippe Michel <philippe.michel7@free.fr>
Version 1.07.001 released.
2022-10-16 Philippe Michel <philippe.michel7@free.fr>
* Makefile.am, configure.ac, backgammon.h, m4/Makefile.am,
m4/ax_build_date_epoch.m4(+): Use SOURCE_DATE_EPOCH as defined in
https://reproducible-builds.org/specs/source-date-epoch/ to set
timestamps at build.
2021-10-05 Philippe Michel <philippe.michel7@free.fr>
* Makefile.am, backgammon.h, commands.inc, gtkchequer.c,
gtkchequer.h, gtkcube.c, gtkgame.c, gtkuidefs.h, show.c,
gtkscoremap.c(+), gtkscoremap.h(+): Add a button to show a map of
chequer or cube evaluations at various scores.
(Contributed by Aaron Tikuisis and Isaac Keslassy)
2021-09-26 Philippe Michel <philippe.michel7@free.fr>
* backgammon.h, gtkcube.c, gtkcube.h, gtktempmap.c, play.c,
show.c, credits.sh: Add a button to the cube analysis widget to
switch between at-score and money evaluations.
(Contributed by Aaron Tikuisis and Isaac Keslassy)
2021-09-20 Philippe Michel <philippe.michel7@free.fr>
* po/fi.po, configure.ac, gtkgame.c, flags/finland.png,
flags/Makefile.am, credits.sh, README: Finnish translation by
Matti Kamppinen.
2019-02-24 Philippe Michel <philippe.michel7@sfr.fr>
* gnubg.c: Decrease doubtful/bad/very bad thresholds in analysis
results from 0.04/0.08/0.16 to 0.03/0.06/0.12 point.
2019-01-10 Philippe Michel <philippe.michel7@sfr.fr>
* gtkgame.c: Do not offer levels weaker than expert in the main
analysis, tutor and rollout settings panel of the GUI (they are
still accessible through the advanced settings subpanel).
2018-10-26 Philippe Michel <philippe.michel7@sfr.fr>
* configure.ac: Build requires a C99- or gnu99-compatible compiler.
2018-08-02 Philippe Michel <philippe.michel7@sfr.fr>
Version 1.06.002 released.
2018-07-31 Philippe Michel <philippe.michel7@sfr.fr>
* dbprovider.h, dbprovider.c: Add PostgreSQL support on Win32
platforms using Python and PyGreSQL.
2018-05-12 Philippe Michel <philippe.michel7@sfr.fr>
* configure.ac, gnubg.c, m4/ax_ext.m4, lib/simd.h,
lib/neuralnet.c, lib/neuralnetsse.c, lib/inputs.c:
Add ARM NEON instructions support.
It should be explicitly enabled at configuration with
--enable-simd=neon
2018-01-15 Philippe Michel <philippe.michel7@sfr.fr>
* configure.ac, multithread.h, multithread.c, mtsupport.c: Remove
support of win32 native threads, as discussed in bug-gnubg
(http://lists.gnu.org/archive/html/bug-gnubg/2015-01/msg00034.html).
--enable-threads is now a yes (GLib threads) / no choice only.
2018-01-14 Philippe Michel <philippe.michel7@sfr.fr>
* configure.ac: Build 32-bit Windows binaries as Large Address
Aware. This is needed to use the largest bearoff databases.
On 32-bit versions of the operating system this change by itself
is not enough (but is harmless). See
https://docs.microsoft.com/en-us/windows/desktop/Memory/4-gigabyte-tuning
on how to enable it.
2017-12-26 Philippe Michel <philippe.michel7@sfr.fr>
* gtkboard.c: Set the cube value to 1, not 0 when clicking on a
chequers tray in edit mode.
2017-12-16 Michael Petch <mpetch@gnubg.org>
* doc/gnubg/*, po/*
Update static documentation files and translation files
Version 1.06.001 released
2017-12-15 Philippe Michel <philippe.michel7@sfr.fr>
* lib/neuralnetsse.c : Work around AVX issue when generating
code with GCC 7.x and 8.x
2017-12-05 Michael Petch <mpetch@gnubg.org>
* doc/gnubg/*, po/*
Update static documentation files and translation files
Version 1.06.000 released
2017-12-03 Philippe Michel <philippe.michel7@sfr.fr>
* eval.c: Tune the number of candidate moves selected by the
pruning nets depending on the number of legal moves in the
position. This slightly improves evaluations speed without
degrading the playing strength.
2017-08-26 Philippe Michel <philippe.michel7@sfr.fr>
* gtkgame.c: When entering edit mode via New / Edit position
instead of the Edit button:
- dont clear the dice
- set the score and match length to 0-0 in a default match or session
- set the player on roll to be the bottom player,
swapping the board if needed
creating a reference position from the one at hand.
2017-08-19 Philippe Michel <philippe.michel7@sfr.fr>
* gtkboard.c: In edit mode, clicking on the bearoff-side tray
clears the board and clicking on the midpoint-side one resets it
to the initial position.
This used to leave the dice and cube unchanged ; now it resets the
cube to 1 and centered, and clears the dice.
2017-05-25 Philippe Michel <philippe.michel7@sfr.fr>
* gtkgame.c, gtkuidefs.h, commands.inc: Use "Copy as BGonline"
instead of "Copy as GammOnLine" in the Edit menu.
The second name tends to confuses new users who wish to post a
position at bgonline but don't know the older, now less popular
forum and that both use the same format.
2017-02-19 Philippe Michel <philippe.michel7@sfr.fr>
* configure.ac, bearoff.c, bearoff.h: Raise minimum version
requirement for GLib to 2.8.
2017-01-29 Philippe Michel <philippe.michel7@sfr.fr>
* gnubg.c, text.c: In text format, display Crawford games match
information as "<n> point match (Crawford game)" to distinguish
them from post-Crawford ones ("<n> point match (Cube: 1)". Until
now the second form was used in both cases.
Issue recently reported in rec.games.backgammon.
2017-01-08 Philippe Michel <philippe.michel7@sfr.fr>
* gnubg.c, configure.ac: Remove the no-longer-needed
LIB_OVERLAYSCROLLBARS hack introduced on 2012-07-01.
2016-08-20 Philippe Michel <philippe.michel7@sfr.fr>
* Makefile.am, configure.ac, gnubg.css(+), gtktheory.c,
gtktempmap.c, gtkmovelistctrl.c, gtklocdefs.h, gtkgamelist.c,
gtkgame.c, gtkboard.h, gtkboard.c, gtk-multiview.c, credits.sh
Add option to build with gtk3 instead of gtk2 (works with 2D
boards only). Use : "./configure --with-gtk3 --without-board3d"
to configure.
(Contributed by Jeremy Moore)
2016-07-16 Philippe Michel <philippe.michel7@sfr.fr>
* backgammon.h, commands.inc, eval.c, eval.h, gtkrace.c, show.c
Add Isight count to the Race Theory widget.
2016-06-07 Michael Petch <mpetch@gnubg.org>
* doc/gnubg/*, po/*
Update static documentation files and translation files
Version 1.05.002 released
2016-03-02 Philippe Michel <philippe.michel7@sfr.fr>
* po/el.po, configure.ac, gtkgame.c, flags/greece.png,
flags/Makefile.am, credits.sh : Greek translation by Vangelis
Skarmoutsos.
2015-10-07 Michael Petch <mpetch@gnubg.org>
* common.h, configure.ac, copying.awk, credits.sh,
output.h, lib/simd.h, m4/Makefile.am, non-src/copying.c,
non-src/credits.c, non-src/gnubg-stock-pixbufs.h,
+m4/ax_c___attribute__.m4, external_l.l, external_y.y,
sgf_l.l, sgf_y.y, non-src/external_l.c, non-src/external_y.c,
non-src/external_y.h, non-src/sgf_l.c, non-src/sgf_y.c,
non-src/sgf_y.h, backgammon.h : Fix problem identified by
Mike Frysinger where __attribute__ and _GNU_SOURCE may not
be properly defined in some situations. This may result in
an infinite loop on newer compilers.
2015-09-28 Michael Petch <mpetch@gnubg.org>
* gnubg.c: Set export default paths to "." rather than NULL
to fix problem with GTK crashes on some platforms. Reported by
Tom Meyer. See bug report https://savannah.gnu.org/bugs/?46069
2015-09-27 Philippe Michel <philippe.michel7@sfr.fr>
* backgammon.h, commands.inc, set.c, gtkoptions.c, gnubg.c,
dice.h, dice.c, configure.ac: Remove availability of ANSI and BSD
random number generators. These are mediocre algorithms and not
thread-safe. Much better alternatives like Mersenne twister and
BBS are implemented in GNU Backgammon (and used by default).
2015-09-03 Michael Petch <mpetch@gnubg.org>
* board3d/Makefile.am: Include FREETYPE2_LIBS linker
flags to libboard3d. Fixes issue with build using MinGW
2015-09-01 Michael Petch <mpetch@gnubg.org>
* commands.inc, configure.ac, gnubg.c, gtkgame.c,
gtkgame.h, pylocdefs.h: Change autoconf use of
HAVE_LIBREADLINE to HAVE_LIB_READLINE. pyconfig.h may
define it even if the readline header files aren't
installed on a distro.
2015-08-31 Michael Petch <mpetch@gnubg.org>
* dice.c, multithread.h, openurl.c, osr.c, sound.c,
timer.c, lib/mt19937ar.c, lib/mt19937ar.h:
Resolve #define conflict in Mersenne twister under Win32.
Resolve other minor Win32 warnings.
2015-08-30 Michael Petch <mpetch@gnubg.org>
* Makefile.am configure.ac m4/ChangeLog m4/Makefile.am,
+m4/ax_python_devel.m4,
-python-config -m4/az_python.m4: Modernize Python
detection of development requirements.
2015-08-25 Michael Petch <mpetch@gnubg.org>
* m4/ax_ext.h : Update this autconf script to detect
all currently known supplemental instruction sets and
extensions for the x86 processors. Includes
HAVE_MMX, HAVE_RDRND, HAVE_BMI1,HAVE_BMI2,
HAVE_ADX, HAVE_MPX, HAVE_PREFETCHWT1, HAVE_ABM,
HAVE_SSE, HAVE_SSE2, HAVE_SSE3, HAVE_SSSE3, HAVE_SSE4_1,
HAVE_SSE4_2, HAVE_SSE4a, HAVE_SHA, HAVE_AES, HAVE_AVX,
HAVE_FMA3, HAVE_FMA4, HAVE_XOP, HAVE_AVX2, HAVE_AVX512_F,
HAVE_AVX512_CD, HAVE_AVX512_PF, HAVE_AVX512_ER,
HAVE_AVX512_VL, HAVE_AVX512_BW, HAVE_AVX512_DQ,
HAVE_AVX512_IFMA, HAVE_AVX512_VBMI
2015-07-31 Michael Petch <mpetch@gnubg.org>
* doc/gnubg/*, po/*
Update static documentation files and translation files
Version 1.05.001 released
2015-07-31 Michael Petch <mpetch@gnubg.org>
* Makefile.am bearoff.c configure.ac dice.c eval.c,
export.c file.c glib-ext.c glib-ext.h gnubg.c gtkgame.c,
gtkprefs.c html.c import.c latex.c makebearoff.c makehyper.c,
makeweights.c relational.c rollout.c sgf.c text.c,
board3d/matrix.c board3d/misc3d.c
Workaround problem with g_fopen & Unicode on some WIN32 build
environments that produce "Invalid Argument" errors when a file
is opened.
2015-06-26 Michael Petch <mpetch@gnubg.org>
* drawboard.c, drawboard.h, external.c, gnubg.c,
gtkboard.c play.c : Fix problem with erroneous decisions
generated when using the external interface. Reported by
Philippe Michel.
2015-04-21 Michael Petch <mpetch@gnubg.org>
* export.c: Fix code to avoid compiler warnings when using a
switch statement keyed on an enum.
2015-04-20 Michael Petch <mpetch@gnubg.org>
* doc/gnubg/*, po/*
Update static documentation files and translation files
Version 1.05.000 released
2015-04-12 Philippe Michel <philippe.michel7@sfr.fr>
* export.c, import.c: Add a comment in .mat exports of hypergammon
sessions to indicate variation. Use it on import.
2015-01-19 Michael Petch <mpetch@gnubg.org>
* configure.ac, Makefile.am, Makefile.w32, backgammon.h, dice.c,
gnubg.c, +randomorg.c, +randomorg.h, set.c, +m4/libcurl.m4
Add https support for random.org using libcurl. Libcurl is
an optional dependency that is required to use ranom.org as
a dice source.
2014-12-04 Michael Petch <mpetch@gnubg.org>
Version 1.04.001 released.
2014-12-04 Michael Petch <mpetch@gnubg.org>
* play.c. external.c : Fix external interface bug that prevented
external socket players from working. Fix bug that prevented
external socket interface errors being displayed.
Reported by Philippe Michel. See bug report:
https://savannah.gnu.org/bugs/?43747
2014-10-21 Michael Petch <mpetch@gnubg.org>
Version 1.04 released.
2014-09-08 Philippe Michel <philippe.michel7@sfr.fr>
* eval.c, eval.h: Don't use SanityCheck() on positions evaluated
with the one-sided database. The latter is more accurate about the
possibility of a gammon.
This fixes the issue reported by Michael Petch in
http://lists.gnu.org/archive/html/bug-gnubg/2012-10/msg00010.html
2014-09-07 Philippe Michel <philippe.michel7@sfr.fr>
* gnubg.c: fix re-evaluation of chequer play from the analysis
panel. It used to clear the skill flag of the associated cube
decision. Issue reported by Neil Robins to the bug-gnubg list in
Dec 2012.
2014-08-21 Philippe Michel <philippe.michel7@sfr.fr>
* import.c: fix a bug introduced July 20th in mat files import
where some games could have the wrong player set as winner.
2014-08-09 Michael Petch <mpetch@gnubg.org>
* rollout.c: declare initial_game_count as volatile. It may be
updated from multiple threads when multithreading is enabled.
We don't want an optimizing compiler to optimize this variable away.
2014-08-08 Michael Petch <mpetch@gnubg.org>
* configure.ac: modify configure to properly support an argument
to --with-python. Supplying a python interpreter as an argument
will force configure to use the specified one. General Python
checking cleanup
2014-08-07 Michael Petch <mpetch@gnubg.org>
* configure.ac dbprovider.c gnubgmodule.c gnubgmodule.h
m4/az_python.m4 scripts/gnubg.py scripts/db_import.py
scripts/batch.py scripts/matchseries.py +pylocdefs.h: Support
compiling with Python 3.x and modify Python modules to
support Python 2.x and 3.x.
2014-08-04 Michael Petch <mpetch@gnubg.org>
Version 1.03 released.
2014-07-26 Michael Petch <mpetch@gnubg.org>
* analysis.c mtsupport.c play.c: Fix problem with aMoves
data structures being double freed. This bug would cause
prgram to crash on termination or crash after stopping an
analysis.
2014-07-26 Michael Petch <mpetch@gnubg.org>
* gnubgmodule.c: cfevaluate and evaluate now make asynchronous
calls to retrieve cube and move results. This allows Python to
to call these functions from any of its own threads. Fix bug
with the eval context in PythonEvaluate.
2014-07-25 Michael Petch <mpetch@gnubg.org>
* Makefile.am, glib-ext.c, glib-ext.h, gnubg.c, makebearoff.c,
makehyper.c: Modify code to properly compile on systems
with GLib < 2.14. Make sure GLib threading is initialized
in environments where it is needed. This includes makebearoff
and makehyper.
* mtsupport.c, multithread.c, multithread.h: Fix problem with
mutexes being incorrectly initialized/freed/locked/unlocked
on environemnts with GLib >= 2.32. This bug was identified
with recent GLib builds with extra runtime checks. See
crash reported by Chris Fahlman using unstable Ubuntu. See
https://bugs.launchpad.net/ubuntu/+source/gnubg/+bug/1346567
2014-06-26 Philippe Michel <philippe.michel7@sfr.fr>
* import.c, show.c, gnubg.c, backgammon.h, set.c, commands.inc:
Minor changes to the "set aliases" feature from 2014-02-03 after
users feedback : separator is now ';'
* doc/gnubgdb.xml: Document the above.
2014-06-23 Michael Petch <mpetch@gnubg.org>
* external_y.y, external_l.l, external.c, external.h : Added debug
command to the external interface limited debugging output support
2014-06-21 Michael Petch <mpetch@gnubg.org>
* gtklocdefs.c, gtklocdefs.h, glib-ext.h: add g_list_free_full
function for environments using GLib < 2.28.
2014-06-21 Michael Petch <mpetch@gnubg.org>
* drawboard.c, drawboard.h, external.c, external.h, external_l.l,
external_y.y, non-src/external_l.c, non-src/external_y.c,
non-src/external_y.h
Replace the external interface with a reentrant version that is
more extensible for storing more complex datatypes in the future.
Yacc will no longer compile, as it uses Bison extensions. The
external interface is compatible with the previous version although
the error messages have changed. Added new command "quit" that allows
a remote session to close the connection. A new "Version" command will
return the version of the external interface. The "Noise" option was
broken. Noise can work with an integer (divide by 10000 to get a
noise value). Noise also supports a float type where the value
represents the actual noise value. The evaluation and session options
can now appear in any order. Player names can now be quoted strings.
When a remote session is connected a single control-c rather than 2
will return to the gnubg command line. A bug that made a blank line
execute the previous command has been fixed. Now an error message is
displayed.
2014-06-21 Michael Petch <mpetch@gnubg.org>
* +glib-ext.c, +glib-ext.h, Makefile.am Makefile.w32: Add GLib
utility functions and macros to provide extra list functionality and
string to GValue maps.
2014-05-26 Philippe Michel <philippe.michel7@sfr.fr>
* import.c: Fix interpretation of eXtreme Gammon's "; Set Pos=..."
extension to mat format. Non-centered cubes were set to the wrong side.
2014-03-31 Michael Petch <mpetch@gnubg.org>
* gtkprefs.c: Fix problem with some build environments that
incorrectly encoded and decoded some board appearance colours.
This fix was provided by Jon Kinsey via Tom Martin to fix problems
changing between 2D board designs on the MinGW(Win32) builds.
2014-03-09 Philippe Michel <philippe.michel7@sfr.fr>
* gtkgame.c: Use terser format (one line only) when copying GNUbg
ID. Fixes bug #27716.
2014-02-26 Michael Petch <mpetch@gnubg.org>
* gnubgmodule.c, backgammon.h: More Python module cleanup. Add
basic support for move filters. Initial support for eval/hint
filters. Modify findbestmove to use a user supplied move filter.
Add new function calcgammonprice. TODO: Create a method to
retrieve a filter by name. Create a method to get/set analysis
filter
2014-02-25 Michael Petch <mpetch@gnubg.org>
* gnubgmodule.c, backgammon.h, gnubg.c: Convert error related
printf's to Python Errors. If a user interrupt occurs during a
Python operation then reset the interrupt handling. Modify
gnubg.findbestmove function to utilize asynchronous processing to
help avoid thread issues when called from Python.
2014-02-12 Philippe Michel <philippe.michel7@sfr.fr>
* html.c: Clean up headers in positions copied as GammOnLine HTML.
Issue mentionned by Stick in the bgonline forum.
2014-02-11 Michael Petch <mpetch@gnubg.org>
* gnubgmodule.c: Modify findbestmove to use the user selected
analysis level when no evaluation context is passed as a parameter.
* import.c: Fix missing GStatBuf type on Win32 platforms
* configure.ac: Moving towards release 1.03.000. Fix problem
detecting GLU on WIN32 platform
* gtklocdefs.h: Fix problem with GtkComboBoxText type on GTK < 2.24
2014-02-03 Philippe Michel <philippe.michel7@sfr.fr>
* gnubg.c, backgammon.h, commands.inc, import.c, set.c, show.c:
Add "set aliases <nickname1>:<nickname2>:<etc...>" command to list
player names that should always be set as player 1 (bottom player)
when importing a MAT file. This setting is only available in the
CLI for now. Add related "show aliases" command.
2014-01-13 Jon Kinsey <Jon_Kinsey@hotmail.com>
* gtkprefs.c: Fix some board design bugs: switching 2d wood paint
setting, invalid xml characters in design name/description, reduce
wrong pop-up about losing design (Thanks to Tom Martin for
reports).
2014-01-12 Philippe Michel <philippe.michel7@sfr.fr>
* import.c: Interpret eXtreme Gammon's "; Set Pos=..." extension
to mat format.
For now, games or matches containing this kind of record cannot be
re-exported to mat or Snowie txt format.
2013-11-30 Philippe Michel <philippe.michel7@sfr.fr>
* gtkgame.c: Display match statistics when a match analysis is
completed (GUI only, and does not apply to those run from a
command file or a batch analysis).
2013-11-26 Michael Petch <mpetch@gnubg.org>
* gnubgmodule.c: Fix a serious bug created by a previous commit
that prevented many of the python interface function from working
correctly. Add new classifypos python function to the gnubg python
interface.
2013-11-12 Philippe Michel <philippe.michel7@sfr.fr>
* README, backgammon.h, commands.inc, file.c, file.h, import.c,
doc/gnubgdb.xml: Remove support of Berliner's BKG format.
* gnubg.c: Include pip counts in positions copied to clipboard
as ASCII.
2013-10-25 Philippe Michel <philippe.michel7@sfr.fr>
* eval.c: Show the weights file and bearoff databases installation
directory in Help|About GNU Backgammon|Evaluation Engine or "show
engine" output.
2013-10-20 Philippe Michel <philippe.michel7@sfr.fr>
* file.c: Fix automatic import of mat files starting with many
comment lines (Backgammon NJ can create such files).
2013-09-22 Philippe Michel <philippe.michel7@sfr.fr>
* gnubg.c, gtkgame.c (comment only): Fix assertion failure when
asking for a hint on a resignation while reviewing a game.
Reported via Debian bugs tracker and Russ Allbery.
http://lists.gnu.org/archive/html/bug-gnubg/2013-09/msg00006.html
2013-08-20 Michael Petch <mpetch@gnubg.org>
* boards.xml, gnubg.gtkrc, gnubg.sql, met/met.dtd, met/met.xsl,
scripts/batch.py, scripts/batch_win.py, scripts/database.py,
scripts/db_import.py, scripts/gnubg.py, scripts/matchseries.py:
Update license information.
2013-08-20 Michael Petch <mpetch@gnubg.org>
* +doc/bearoffdump.6, +doc/makebearoff.6, +doc/makehyper.6,
+doc/makeweights.6, doc/Makefile.am, Makefile.am:
Add man pages for the GNUbg utilities, based upon the man pages
created by Russ Allbery for Debian GNU/Linux. Fix docdir usage,
and compress the man pages.
2013-08-20 Michael Petch <mpetch@gnubg.org>
* configure.ac: Apply patch provided by Christopher Hofmann.
Autoconf now checks for the GLU library when building with
3D boards.
* mkinstalldirs: Update to a newer version from automake-1.14
2013-07-28 Michael Petch <mpetch@gnubg.org>
Version 1.02 released.
2013-07-22 Michael Petch <mpetch@gnubg.org>
* configure.ac, openurl.c: Add a configure option
--with-default-browser to override the default value "xdg-open".
if --with-default-browser is specified without an argument
it will look for a default in this order sensible-browser,
xdg-open, firefox . If none are found the default xdg-open
will be used. This option is not available on Win32 platforms.
Add a new configure option --enable-gasserts . Previously
g_assert macros have been enabled by default. They are now
disabled by default. This option is used to enable those
macros.
Take the AVX code out of the experimental stage. If AVX is
supported on the processor and OS then it will be used by default.
2013-07-22 Michael Petch <mpetch@gnubg.org>
* gtk-multiview.c, gtk-multiview.h, mec.c, sound.c, board3d/tr.c,
board3d/tr.h, lib/mm_malloc.h: Fix some licensing inconsistencies
identified by Russ Allbery.
2013-07-21 Michael Petch <mpetch@gnubg.org>
* gnubg.c: When displaying "save settings to" attempt to output the
message immediately. This prevents some unnecessary popup messages.
2013-07-20 Michael Petch <mpetch@gnubg.org>
* multithread.c: Fix bug on thread disabled builds that caused
an assertion while updating the progress bar. Ensure the callback
timer is removed when all tasks are done.
2013-07-20 Michael Petch <mpetch@gnubg.org>
* eval.c lib/neuralnet.c, lib/neuralnet.h: Remedy a bug that
produced inconsistent results when producing non-SIMD builds. Make
sure that EvaluateFromBase is using comparable nets when using a
neural net shortcut.
2013-07-17 Michael Petch <mpetch@gnubg.org>
* analysis.c, dbprovider.c, eval.c, gnubgmodule.c, gnubgmodule.h,
multithread.c, lib/inputs.c, lib/neuralnetsse.c, lib/simd.h:
Fix stack issues that cause AVX WIN32 builds to segfault when
optimizations are used.
2013-07-17 Michael Petch <mpetch@gnubg.org>
* sound.c: Allow GNUBG to build on OS/X builds using the CLang
compiler. CLang supports AVX instructions. GCC shipped by Apple
is based upon the older 4.2 version of GCC.
2013-07-12 Michael Petch <mpetch@gnubg.org>
* sound.c: On systems using libcanberra it is possible that the
canberra sound system may be available, but disabled by default.
When the sound context is created enable the canberra sound
system explicitly. Bug report (and patch) received from
Dan Fandrich. See:
http://lists.gnu.org/archive/html/bug-gnubg/2013-07/msg00008.html
2013-07-11 Michael Petch <mpetch@gnubg.org>
* gnubg.c, utils.h, utils.c: Added a new command line option
'-s <path>' to specify the location of the user's GNUBG preferences
directory. This overrides the default location of $(HOME)/.gnubg .
If you wish to save your settings to the directory that GNUBG
was run from then use '-s .'
2013-07-10 Michael Petch <mpetch@gnubg.org>
* gtkgame.c: Fixed bug that prevented the stop button in the
status bar from being active.
2013-07-10 Michael Petch <mpetch@gnubg.org>
* +mtsupport.c, Makefile.am, Makefile.w32, bearoffdump.c,
makebearoff.c, makehyper.c, multithread.c, multithread.h:
Reduce the cpu cycle overhead of the new heap allocated thread
local data. Rework the multithreaded code. Split multithreaded
support functions out of multithread.c and into mtsupport.c .
mtsupport.c can be used by the utiltity programs (makebearoff etc).
2013-07-08 Michael Petch <mpetch@gnubg.org>
* Makefile.am, bearoffdump.c, eval.c, eval.h, gnubg.c,
makebearoff.c, makehyper.c multithread.c multithread.h
po/*: Move static thread local data from eval.c into
thread local storage (multithread.c). This reduces the
bss data size. Thread storage is allocated on the heap
as required. Ensure that the data is properly aligned for
SIMD usage.
2013-07-06 Michael Petch <mpetch@gnubg.org>
* lib/inputs.c, lib/simd.h, Makefile.am, configure.ac: Fix an
AVX alignment bug while creating the baseinputs for the NN on
Win32 platforms with GNUC.
* eval.c, gnubgmodule.c, multithread.c, multithread.h,
m4/ax_ext.m4: Fix some warnings and general cleanup
2013-06-29 Michael Petch <mpetch@gnubg.org>
* backgammon.h, gnubg.c, gnubgmodule.c: Added preliminary
support for Python module function 'hint'. Work in progress
The function interface and the dictionary returned may change.
Added module functions mwc2eq_stderr and eq2mwc_stderr.
Inefficient memory use for eval and rollout contexts should be
cleaned up. Rollout contexts should include all the cube and
chequer play sub contexts. The hint dictionary needs to be
documented.
2013-06-25 Michael Petch <mpetch@gnubg.org>
* backgammon.h, gnubg.c, play.c: hint_move has been modified to
support external callbacks. Part of future Python integration.
2013-06-25 Michael Petch <mpetch@gnubg.org>
* eval.c, lib/neuralnet.c: If SIMD instructions are compiled in
and they are not supported by the processor, output an error
message and then terminate immediately.
2013-06-22 Michael Petch <mpetch@gnubg.org>
* INSTALL, configure.ac, eval.c, gnubg.c, gnubg.spec,
po/POTFILES.in
Rename file sse.h to simd.h. Rename USE_SSE_VECTORIZE to
USE_SIMD_INSTRUCTIONS, rename SSE_Supported to SIMD_Supported,
rename DISABLE_SSE_TEST to DISABLE_SIMD_TEST,
rename SSE_CFLAGS to SIMD_CFLAGS
Make sse/simd usage more consistent, ./configure option
--enable-sse/--disable-sse is now --enable-simd/--disable-simd
2013-06-20 Michael Petch <mpetch@gnubg.org>
* +m4/ax_check_compile_flag.m4, +m4/ax_ext.m4
+m4/ax_gcc_x86_avx_xgetbv.m4 +m4/ax_gcc_x86_cpuid.m4,
configure.ac: Added better autoconf support to determine
whether the processor supports certain SIMD instruction sets
like SSE,SSE2,AVX etc.
--enable-simd behaves a bit different. --enable-simd with no
parameters is the same as --enable-simd=yes . The behavior of
--enable-simd=yes has been changed to find the latest supported
SIMD instruction set used by the build machines CPU. Priority
is given in this order (highest first): SSE2, SSE, AVX, None.
Since AVX is still experimental it is not given priority over
SSE2 during build time autodetection.
2013-06-19 Michael Petch <mpetch@gnubg.org>
* +output.c +output.h, gnubg.c, backgammon.h, lib/Makefile.am
lib/neuralnet.c: Moved the output functions from gnubg.c to
their own files.
2013-06-19 Michael Petch <mpetch@gnubg.org>
* gnubg.c, eval.c, lib/neuralnet.c, lib/neuralnet.h,
configure.ac: Add support for plm's new AVX instruction
additions. Separate the cputest from the --enable-simd
configure option. Created a new option --disable-cputest
Supports cputest functionality on GCC builds with either
64-bit or 32-Bit OSes on Intel processors. Code will work
with builds that use -fpic option.
2013-06-18 Michael Petch <mpetch@gnubg.org>
* gnubg.c: When using the -r flag to start GNUBG (start without
reading the gnubgautorc file), the gnugbautorc file will be
overwritten with defaults if running with the GUI. Reported
by plm, see: https://savannah.gnu.org/bugs/?38497#postcomment
2013-06-17 Michael Petch <mpetch@gnubg.org>
* gtkgame.c: Fix language bug that prevented the GUI from properly
refreshing the screen when a new Language was chosen
* Makefile.am: Win32 builds have a localedir of ./locale relative
to the executables directory. A bug had newer windows builds
seeking locale files in the default locations which was incorrect,
and consquently language translation didn't occur.
2013-06-15 Michael Petch <mpetch@gnubg.org>
* All .c and .h files: Standardized the code formatting with
indent -kr -l120 -fc1 -sc -nut -psl . K&R style, 120 column limit
process comment in column 1, multiline comments have an asterisk
at the beginning of each line, convert all tabs to spaces, and
split the return type of a function from the function name
(each on their own line). K&R uses 4 spaces for an indentation
level. Update the language files.
* script/*.py : Reformat the python files to conform to PEP8
standard. See http://www.python.org/dev/peps/pep-0008/#indentation
2013-06-15 Michael Petch <mpetch@gnubg.org>
* gnubgmodule.c, scripts/gnubg.py: Modify the python interpreter
processing so that it falls back to a simple command line
interface on older versions of Windows (Versions before WinXP SP2).
Fix segfault related to launching the Python command line
interpreter
2013-06-15 Philippe Michel <philippe.michel7@sfr.fr>
* configure.ac, lib/neuralnetsse.c, lib/sse.h, lib/inputs.c: Use
AVX instructions when built with "configure --enable-simd=avx"
2013-06-13 Michael Petch <mpetch@gnubg.org>
* gtkprefs.c: Save board preferences when clicking "OK"
on the board appearance configuration dialog.
2013-06-12 Michael Petch <mpetch@gnubg.org>
* dbprovider.c, dbprovider.h, gtkrelational.c, relational.c,
scripts/database.py : Allow hostname to be specified
in the database connection dialog box. Hostnames can be
any valid combination of hostname:portnumber
2013-06-07 Michael Petch <mpetch@gnubg.org>
* gtkwindows.c, play.c: Fix a bug that segfaulted the "end game"
command when built with GTK and the "-t" option is used to
launch GNUBG.
2013-06-06 Michael Petch <mpetch@gnubg.org>
* gnubgmodule.c, gnubgmodule.h, gtkgame.c, scripts/gnubg.py: Move
loading of the Python command line interpreter to Python functions
in gnubg.py. The Python command line now supports IPython if
present. IPython takes precedence over the standard Python
interpreter. If the standard interpreter is used, attempt to
load command history (readline module) and then try loading
auto completion (rlcompleter module) support if present.
Fix Python related ifdefs to allow compiling when built without
Python support.
2013-06-05 Michael Petch <mpetch@gnubg.org>
* scripts/gnubg.py: Add the scripts directory to the Python path
so that files in the directory can be imported.
2013-06-05 Michael Petch <mpetch@gnubg.org>
* gnubgmodule.c, gtkgame.c, play.c: Modify the interactive Python
interpreter to support tab completion and command history. Begin
reintroducing Python IDLE, since it functions on MS Windows and
various GNU/Linux distros. Ubuntu/Debian installation of IDLE can be
done via: apt-get install idle . If IDLE is not present it will
drop back to the old method. CLI builds don't use IDLE at present.
IDLE is not on the GUI menu but can be activated by turning on the
"command" pane and entering '>' (greater than sign without quotes)
as a command. IF IDLE is not presnt and usable it will do nothing.
This is a work in progress.
2013-06-04 Michael Petch <mpetch@gnubg.org>
* gtkrelational.c: Don't allow a user to create a player database
that already exists.
* dbprovider.h, dbprovider.c, scripts/database.py, gnubgmodule.c:
Add Mysql support on Win32 platforms using pymysql (a purely
python based database driver for mysql)
2013-06-04 Michael Petch <mpetch@gnubg.org>
* configure.ac, multithread.h: Allow a new autoconf/configure
parameter --with-eval-max-threads=size to allow the maximum number of
evaluation threads to be specified. Default is 48 if not specified.
* dbprovider.h, dbprovider.c, relational.c scripts/database.py:
Fix bugs that prevented proper connections and database usage
when using the Mysql and Postgres player database providers.
Mysql and Postgres are unsupported on the MS Windows platform -
Disable them in the GUI
2013-05-31 Michael Petch <mpetch@gnubg.org>
* play.c: Under certain situations (load commands from a file
containing a play command within the GUI) would stop
on an assertion. PlayCommand not properly resetting the
notification handler. Reported by Ian Shaw
2013-05-28 Michael Petch <mpetch@gnubg.org>
* gnubg.c: Fix bugs related to python handling of
ParseMove and FormatMove . Fix bug that would cause crash when
command "load commands" used unquoted filenames on Win32 platform.
Reported by Ian Shaw
2013-05-17 Michael Petch <mpetch@gnubg.org>
* configure.ac eval.h gnubg.weights doc/gnubgdb.xml
doc/gnubg/* doc/gnubgman.xml: Version bumped to V1.00.0 .
* gnubg.c: Change default MET to Kazaross-XG2.xml
2013-04-13 Philippe Michel <philippe.michel7@sfr.fr>
* import.c: Interpret some of the comments eXtreme Gammon puts at
the start of .mat files to fill match information in and determine
game variation.
* export.c: Writes similar comments when exporting as .mat
2013-03-26 Philippe Michel <philippe.michel7@sfr.fr>
* matchequity.c: Recalculate gammon prices after inverting the MET.
This is needed for asymetric tables. Problem reported by Maik Stiebler
in bug-gnubg.