-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog.txt
876 lines (795 loc) · 48.9 KB
/
changelog.txt
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
2.14.1
* Added a "Crampled Paper" board pattern.
* Added new piece sets from Maurizio Monge
(http://linuz.sns.it/~monge/wiki/index.php/Chess_pieces).
* Mac OS X: You can now quickly respond to the last person who sent you a tell
by hitting the F8 key in the console. Previously, this didn't work on Mac OS X
because the default key used for this (F9) is taken by Expose.
* The "Actions" window is no longer resizable.
* A bunch of minor UI adjustments to make Jin look better under Mac OS X (and,
hopefully, not worse on other platforms).
* Merged the "Move highlight" and "Move input" board preferences panels into one
panel - "Moves".
* Command-W on Mac OS X and Alt-W on other platforms will now close Jin windows
in SDI mode.
* Mac OS X: Some graphics were drawn badly, such as vector pieces, square
highlight and arrow. All pretty (and antialiased) now.
* Mac OS X: The keyboard shortcuts for moving through an examined game are now
Command-Left (one ply backward), Command-Right (one ply forward),
Command-Home (beginning of game) and Command-End (end of game).
* Mac OS X: The keyboard shortcut for entering board fullscreen mode is now
Command-Enter.
* Replaced ugly board icons (game previous/next/start/end and fullscreen) with
pretty icons taken from the Tango Desktop Project at
http://tango.freedesktop.org/
* Unix/Linux: The default Look and Feel is now Metal, since GTK is still awful.
* Mac OS X: Jin is now distributed as a compressed .dmg file (instead of a .dmg
file inside of a .tar.gz).
2.14
* Fixed a bug which would reset the board to the initial position when a game
played by the user became examined.
* The "GameEnd" sound was not being played when a game played by the user
became examined.
* Most of the piece sets are now much better looking - they sport a border and
a translucent shadow.
* Removed the Cases piece set (the black rook is broken at some sizes) and
added the Utrecht piece set.
* Worked around a Java bug which caused Jin windows to be restored to a
slightly smaller size than the saved size under Linux/KDE (and maybe other
window managers). It's still isn't perfect, but better than nothing.
* Fixed a problem with resizing Jin's windows in MDI mode. The problem was
specific to Java 1.4.
* Fixed the game logger not saving a game if the user has examine=1.
See bug 1327781 for more information.
* Got rid of the jregex library - now using java.util.regex.
* Due to the above, Jin will now run only on Java 1.4 or later.
* Jin is now almost fully internationalized. See
http://www.jinchess.com/wiki/index.php/Localization for instructions on
localizing (translating) Jin.
* Added support for selecting the charset/encoding used for chat in the console.
This allows chatting in languages other than English on ICC.
* In an effort to make Jin prettier (and slower), did the following:
- The default piece set is now "Alpha".
- The default board on FICS is now Pale Wood (on ICC still Light Wood).
- The default move display mode is to show pieces while they're being dragged.
- In MDI mode, the windows will now show their contents while dragging and
resizing, instead of showing the outline only.
* Added new, useful variables like "win" and "userWhite" for the logging
condition in the Game Logger.
* Unix releases now come with a nice icon (icon.png) to use with a desktop
shortcut.
* Fixed a bug causing premoves not to work in Kriegspiel games (and make the
board stuck).
* In JinApplet, piece and board images will now load asynchronously. While they
are being loaded, the plain color board and eboard piece set will be
displayed.
* FICS: Jin will now set autoflag to 1 (on login) the first time it is used
with some account.
2.13.1
* ICC: Fixed a bug which caused text ending with a bell to not be displayed
until the next line of text arrived.
* Fixed a bug which caused the move highlighting style to revert to "none" after
a restart of Jin, if you selected the "Target square only" mode.
* Reverted to the normal method of playing audio, which is to avoid closing the
audio data line after each played clip (closing it every time caused problems
under some OS X and Windows systems). This will cause Jin to hog the audio
device on some Linux systems. You can use the non-hogging version by setting
the environment variable $JAVA_OPTS to:
-Dfree.util.audio.player=free.util.audio.NonBlockingJavaxSampledAudioPlayer
* Page up and page down in the console will now scroll about 2 lines less than
the visible height to make it easier to follow the text when scrolling page
up/down.
* ICC: Removed the hack to get specially formatted finger notes on ICC to wrap
properly because the server does it by itself now (02.06.2005).
* When creating a new internal frame in MDI mode, Jin will now force at least a
small portion of it to be visible (to avoid various situations where a
window becomes unreachable).
* When a JinApplet user changes his password during a session, the password
remembered by the applet (for preferences upload purposes) becomes invalid.
When the user would end the session, he would get a "wrong password" error.
This is now fixed by displaying a dialog allowing the user to enter his new
password.
* Fixed mexamine - Jin didn't "react" to the user being mexamined in a game
(didn't allow moving pieces, didn't add playback controls).
* In MDI mode, the seek graph can no longer be resized smaller than the smallest
size at which it looks ok.
* Significantly improved board painting performance.
* Fixed a performance issue with the console - it should no longer paint much
more slowly when containing a lot of text.
* FICS: Questions asked in channel 1 via the "Ask a Question..." dialog will now
include the name and version of the interface.
* Fixed fullscreen board mode - it was causing Jin to freeze when either the
resign confirmation dialog or promotion piece selection dialogs were
displayed. Fullscreen board mode, however, is no longer available under Java
versions earlier than 1.4.
2.13
* Again, fiddled with sound under Linux. There should now no longer be delay
between dropping a piece and the piece-move sound. On the other hand, you will
not get sound from Jin while audio device is taken. On the yet another hand
Jin will release the audio device when not using it.
* The origin square is now highlighted too in "Highlight target square" move
visualization mode.
* The format of piece sets and board patterns (the way they are packaged in the
zip/jar file) has changed. See http://www.jinchess.com/docs/customart/ and
the piece set/board pattern specific pages for more information.
* Jin can now run as an applet - see the websites of the relevant chess servers.
* Changed the Event field in logged PGN files to "(un)rated [category] game".
* Changed the default color of links to be a bit brighter.
* Added a new mechanism for extending Jin: Actions. An Action is smaller than
a plugin, and is easier to implement. It implements a single operation, which
is made available to plugins, and which they can use. Also, implemented an
Actions plugin, which lets the user run the available Actions from either a
menu or with buttons appearing in a window.
* Implemented 3 Actions:
- Get Server Help: Shows server related help.
- Ask a Question: Lets the user type in a question, which is then sent to
the server help channel.
- Find an Opponent: Lets the user select seek options and issue a seek.
* Rewrote the entire startup mechanism, mainly to avoid some code duplication.
* Fixed a bug which prevented the board from painting at all in Kriegspiel.
* Fixed a bug which prevented an error message from being displayed in case
connecting to the ICC failed. See bug 1049036 for more details.
* The chess board options "Piece follows mouse cursor" and "Highlight the
squares of the move currently being made" are now separate, so that you can
choose either, both or none. Previously you were only able to select either
one or the other.
* Moved the Look and Feel selection to a dialog invoked from the Preferences
menu instead of having a whole menu just for Look and Feel selection.
* Jin no longer sets the server bell variable to 0 on ICC.
* The login dialog will now allow you to switch between the supported servers,
existing (remembered) accounts or create a new account. This is crucial for
the upcoming SDI mode, where there is no other way to achieve these options.
* Disbanded the console menu - the "clear console" menu item is now a button
to the right of the console's input field and the preferences are in their
own (new) tab under Preferences->Main Console.
* Removed the option to create or run user invoked scripts until a better way
to use them is written.
* Setting sound on/off is now done from the Preferences menu.
* Added a "Windows" menu which allows showing/hiding certain windows (like the
sought graph and the actions window) and also lists currently open windows.
* Implemented SDI (Single Document Interface) mode! YAY! The windowing mode can
be selected from Preferences->User Interface. The default is SDI on Mac OS and
MDI on all other platforms.
* Fixed the "weird looking queen" bug which sometimes ocurred when you promoted
a piece while using any of the vector piece sets. See bug 1073175 for more
details.
* The default release now comes with all the extra piece sets.
2.12.1
* Fixed a bug in the main console preferences dialog which prevented users from
changing (almost) any of the settings there.
* Vastly improved piece loading time and memory usage by not preloading all the
images of the piece set; duh.
* On OS X version 10.2 Jin will use the inside-the-window menubar due to bugs
in the native OS X menubar with Java.
* Added the JGoodies Looks: Windows, Plastic, Plastic 3D and Plastic XP.
* Fixed a bug which may have caused problems if more than 5 people sent you a
tell during a single session.
* Fixed a bug on OS X where if you closed Jin with the main window maximized,
the next time you ran it, the main window would not show at all.
* The clock's text is now drawn in gray on "inactive" boards (either the game
has finished or you are looking at an isolated position from some game).
* Added a "Download Extras" button on the board preferences panel (the
"Board Looks" tab) which currently sends the user's browser to
http://www.jinchess.com/extras/
* Jin's output and error streams are now written into ~/.jin/log in addition
to stdout and stderr.
* Made the size of the font for the board buttons a bit smaller.
* Updated the arrows-circles script example on the website to work with
Jin 2.12.1
* ICC: Implemented proper response to the unarrow and uncircle commands on ICC.
Also, (right) dragging another arrow where one already exists or (right)
clicking where a circle already exists will now remove the arrow or circle
(and send the corresponding unarrow/uncircle command to the server).
* Trying to capture your own piece in standard chess will now be rejected
immediately, instead of sending to the server.
* ICC: Fixed a bug where your clock would not resume ticking if you tried to
make an illegal move.
* Move legality checking (which is still incomplete) is now applied to regular
moves too (in addition to premoves).
* The "Moving in Advance" section on the move input panel for board preferences
will no longer be disabled during games (this was broken anyway). Instead, it
will give an error if you try to modify its settings while playing a game.
2.12
* Jin now allows the user to add custom piece sets and board patterns. The
specific details are documented at http://www.jinchess.com/docs/customart/.
* ICC: Implemented a hack to get specially formatted out text like in
"finger Live" on ICC to display properly.
* ICC: Both framed and embedded game lists display styles were fairly broken -
now fixed.
* Fixed the console preferences dialog taking forever to display.
* Fixed focus problems in the console under JDK 1.4 and later.
* Implemented square coordinates for the board, in 3 styles:
"On the Rim" (like xboard), "Outside the Board" and "In Every Square".
You can also change the text color of the coordinates.
* The clock now has three modes:
1. With more than 20 minutes, the clock displays "hours:minutes".
2. With less than 20 minutes but more than 10 seconds displays
"minutes.seconds"
3. With less than 10 seconds displays "00.seconds.tenths"
* FICS: Now parsing out bughouse holdings lines like
<b1> game 175 white [NNBQ] black [PPNBQ]
instead of dumping them to the console.
* Added alt+(RIGHT,LEFT,HOME,END) shortcuts to move through an examined game.
* Added mnemonics to the Abort, Adjourn, Draw and Resign buttons on a played
board panel.
* Added two new buttons to the board panel - "Takeback" and "Takeback 2".
The "2" changes to the appropriate number if you offer or are offered a
takeback with a different amount of plies.
* All the offer buttons on a played game board panel now become disabled once
you make the offer.
* The console input text field now uses a monospaced font.
* Somewhat improved sound under Linux although it's still very fragile and
doesn't always work.
* Fixed sluggishness in the sought graph.
* The size of move highlighting (arrows, circles) is now proportional to the
size of the board.
* Added a move highlighting mode where only the target square is highlighted.
* The arrow in arrow move highlighting mode is now a bit shorter so that the
target piece isn't obscured by it.
* Wrote a completely new board preferences selection GUI, available under
Preferences->Chess Board. Removed the old, menu based, one.
* Added several new board patterns.
* Fixed a bug causing things to break if a game was started when the board was
already in fullscreen mode (for example by matching someone or seeking a game,
then starting an examine board before the game started).
* Added a context menu (right-click popup) for the console text field with
cut, copy and paste menu items.
* Added a hack which halts the console (no text is added) during the time the
user is making a move on the board. This is done to prevent jerkiness when
dragging a piece on the board.
* On login, the title of Jin's main frame now changes to reflect the username
and server with which the user logged in.
* The promotion piece selection dialog is now displayed near the mouse cursor,
with the default promotion piece (queen, usually) appearing right under the
mouse cursor, so that it can be selected quickly.
* Removed the 3D look and feel and added the Liquid look and feel. Removed all
extra look and feels from the OS X version.
* Fixed a bug where scrolling to some position in the middle of an examined game
and then using forward/backward broke the position scrollbar - it would stop
changing the current position.
2.11b
* Added audio notification for draw, abort, adjourn and takeback offers.
* Added visual notification for draw, abort and adjourn offers by setting a
green border around the appropriate button on the board.
* Now setting the movecase var on by xivarmy's request. It shouldn't change
anything currently, but might even be required in the future (for example to
unambiguate pgn uploads).
* FICS: Added parsing and coloring of tourney tells. Tourney tells are qtells
that look like this:
:AlexTheGreat(T9): Hello World!
* FICS: wname and bname will now work properly.
* FICS: The radio button setting the sending mode to premove is now disabled when the
user is playing a game.
* Fixed a bug causing an en-passant premove to be recognized as such one move
after it was made.
* Implemented very primitive legality checking for premoves. It currently only
checks if the piece with which you're trying to move still exists (hasn't been
taken yet). If the move is illegal, it won't be sent to the server at all, to
save time.
* Implemented fullscreen mode for the board. You can enter/exit the mode with
a new button on the board panel, or by pressing alt+enter when the board is
selected.
* Added the Metouia look and feel (works only if you're running Java 2).
* Reimplemented all of the startup and plugin management framework. Plugins can
now be added simply by dropping them into the appropriate directory. A lot of
code has changed with very few visible changes to the user, but quite a few
bugs were probably introduced by this change.
* Jin will now try to connect on additional ports if the default port doesn't
work (useful for people who are behind a firewall that blocks the regular
chess server port(s) but allows connections on port 23).
2.1u1 (applies to all nonstable releases starting with 2.11 as well)
* Fixed a bug causing the scripter to fail to run game event scripts for games
not played by the user.
* Fixed the scripter not setting the type of the player variable properly when
creating in a "Clock Update" script (the type was Player instead of a String).
* Fixed kibitzes/whispers from unrated players which appeared like this:
GuestMZLW(U)(-1)[52] kibitzes: foo
* Fixed a bug which caused the board window to break (display wrong title,
become unclosable and other problems) if a minimized board window was being
reused as a new game started.
* Fixed a bug which (sometimes) caused the board to break if you were giving a
simul and attempted to make an illegal move.
* Fixed a bug causing the board to break if you made several moves in bsetup
mode and then set the position with "bsetup fen ...".
* Fixed a bug causing the seek graph plugin to fail the next time if you closed
it when it was maximized.
* Fixed a bug causing a board to become blank and unclosable if you closed it
when it was maximized.
2.1
* Worked around the server timeseal problem where premoved moves would take more
than minmove time (usually 0.1s).
* The internal windows will now defend themselves against users doing
stupid/hostile things to them, such as making them larger than the main window
or moving them out of the screen.
2.07rc4
* FICS: Changed the default piece set to the eboard vector pieces - they paint
faster than the xboard pieces.
* Changed the default move sending mode to "predrag", since the previous
default, "legal chess" seems confusing (you can't start dragging your piece
when it's not your turn).
* FICS: bsetup mode seemed to be completely broken - fixed now.
* FischerRandom and other variants with nonstandard castling rules were broken.
They are now fixed, and as long as the castling move isn't ambiguous, you
can make it on the board instead of typing it in. Thanks to xivarmy for
noticing the bug and assisting with testing the fix.
2.07rc3:
* Fixed a bug causing the seek graph plugin to fail starting the next time if
you closed a session when the seek graph was minimized (iconified).
* Fixed a bug which broke auto-scroll sometimes if you minimized the console.
* FICS: Added Atomic support.
* Observing a game of an unsupported variant should no longer cause a board to
be displayed when a move is made.
* Choosing a new move highlighting color for the board didn't properly
change/save it.
2.07rc2:
* FICS: Fixed a bug which prevented users from resuming adjourned games.
* Kriegspiel support was broken - fixed now.
* Fixed blanking/special commands - hitting shift+enter on the console
"commandline" will now hide your command and not add it to history,
ctrl+enter issues "special" (interface) commands, such as "cls".
* Changed the internal window resize/drag mode to "outline" (where only the
outline of the resized/dragged window is shown), now that Sun have fixed the
bug that caused slow XORed drawing in JDK 1.4.2. If you're bothered by this
problem, download the latest Java version from
http://java.sun.com/j2se/downloads.html
2.07rc1:
* Worked around a server bug causing "ghost" seeks (seeks that are shown after
they've actually been removed).
* Fixed a bug which would sometimes cause the wrong clock to be "highlighted"
on the board.
* Fixed a bug which caused the seek graph plugin to fail to start on some
systems.
* Hopefully finally nailed the premove bug (which was completely unrelated to
the premove code). The problem was that sometimes commands would not be sent
to the server due to synchronization issues in timeseal, so this might have
fixed a lot of other bugs. This bug couldn't have been fixed without the
generous help of Alexandre Smadja - many thanks to him.
* Added keybindings so that ctrl+tab, ctrl+backquote (the key above the tab key
on most keyboards) and ctrl+F6 switch to next internal frame. Holding down
shift when using the above keybindings will switch to the previous internal
frame instead.
* Fixed a bug which caused the board to lock if you made a move, then quickly
made a premove and hit ESCAPE before the first move got echoed to you.
* Only left clicking a console "link" will activate it now (right and middle
clicking disabled).
* Right clicking (or double left-clicking) in the console was awfully slow the
first time (especially under Linux). This is now fixed.
* Fixed triple clicking in the console under MS VM (triple clicking selects the
whole line, or several lines if the original line is wrapped).
* Fixed the console flashing when it's being resized. It used to momentarily
show the text at its very top (the server's ASCII logo, usually).
* The Game Logger will now log ratings too.
* FICS: Qtells are now parsed too. They are also available as Chat Event subtype
in the scripter.
* There are now 3 move sending modes:
- Legal Chess: You can't touch or move pieces when it's not your move.
- Predrag: You are allowed to make moves when it's not your turn to move,
but they are sent to the server immediately after you drop the
piece.
- Premove: A move made when it isn't your turn is saved and is sent when
it becomes your turn to move.
The premove variable on FICS is set to 1 in premove mode and to 0 otherwise.
* Added credits for Denis DesLauriers, who designed the Jin logo in
Help->Licensing and Copyrights...
* FICS: The move number in the move list will now be correct even if Jin doesn't
have the entire move list. This only applies to FICS - on ICC Jin always has
the complete move list.
* Playing a simul now works.
* FICS: Now doing "iset nohighlight 1" on login. This is needed to work properly
on accounts with highlight set to 1.
* Fixed a bug where sometimes closing an internal frame didn't cause a different
one to pick up the focus.
* Shift+Insert will now paste into the console's textfield as well.
* Seems like most wilds didn't work due to a typo in Jin's code.
* Command-C, Command-V and Command-X now work on Macs for all Look and Feels.
* Fixed the bug that made the console break (background becomes gray and the
text becomes garbled) when it became taller than 32767 pixels under
Windows 95, Windows 98 and Solaris with Java 1.1.
* Fixed a bug causing the link to be run if you right clicked the console and
then clicked on one of the items in the popup while the mouse was directly
over a link.
2.07b2:
* Fixed a bug where flipping the board would only make the board itself flip,
not the nicknames or clocks.
* Fixed a bug where the password wouldn't be sent to the server unless you chose
the "Save Password" option.
* Fixed the sought games graph so that it doesn't respond to right clicks.
* The cursor will now change to "hand cursor" when over a seek in the sought
games graph.
* Most of the "examine foo bar" forms are now "linked" as well.
* Guest preferences are now *properly* saved and the login dialog uses those
preferences properly.
* The overhead of running BeanShell scripts has been significantly reduced.
* Jin will now properly handle and report login errors.
* Fixed a datagram setting problem which (for example) caused seeks not to be
shown if you made the sought games graph visible while Jin was logging in to
the server.
* The primary game is now set to the game of the most recent active board frame.
* The move list for examined games on FICS is now also displayed, as far as is
possible with the information sent by the server.
* The click'n'click move input style was broken under all Java versions except
Microsoft VM.
* Hitting ESCAPE while dragging/moving a piece now cancels the drag/move and
puts the piece to its original square.
* Hitting ESCAPE after making a "pre"-move will now cancel it and bring the
moved piece back to its original square.
* The piece of the queued (premove) move is now shaded (a little grayed out)
until the move is sent to the server.
* Significantly reduced the time it takes the board to display when you start
playing or observing a game.
* Removed the custom board image caching. This should speed up board painting on
Java 1.2 and later versions.
* Fixed a bug which caused the board to break (specifically, the move list
became out-of-date, but could've caused other problems as well) if the board
changed drastically during a game, for example by using the "loadfen" command.
* Fixed a bug where selecting a script type (in the script type selector dialog)
and then closing the dialog with the 'X' button would do the same thing as if
you selected the script type and hit "Next".
* Added a "Server's Website" button on the server choice dialog. The button displays
the website of the currently selected server in a browser window.
* Fixed the syncing between moves and move sounds.
Note: this works on my (Windows 2000) system but might still be broken under
Windows 98. At least now Jin doesn't itself contribute to the delay.
* Fixed a bug which would sometime make the board disabled during an examined
game (it wouldn't allow making any moves).
2.07b:
* Fixed a bug which caused a thread to be leaked for each FICS connection. This
might have caused a significant memory leak if you kept connecting and
disconnecting from the server.
* There is now a "Close Connection" menu item on the "Connection" menu.
* Fixed a small bug causing the console textfield not to get focus immediately
when the console internal frame gets selected (you had to click it again)
under J2SE 1.4.
* Fixed a small bug causing the selected image to be used for the background
even if you pressed the "Cancel" button on the image file chooser dialog
(in Preferences->Background->Pick Image).
* On FICS, the annoying messages telling you what variables and ivariables Jin
sets on logon will no longer be showed.
* Fixed a problem which caused arrows/circles to appear on all open boards when
they were added to one of them (on ICC).
* Right clicking (or whatever your popup trigger is) on non selected text will
now move the selection to the clicked word and then show the popup.
Previously, if some text was already selected, the selection would stay until
you unselected it.
* Fixed a bug which caused the board to become corrupted if moves were made on
it while it was obscured by some other component.
* Fixed a bug which caused the empty area of a multiline link to be clickable.
For example, "help intro" can span over two lines if the line ends before the
word "intro" can be fit. The bug would then cause the area between the word
"help" and the end of the line to be clickable.
* Fixed a bug which caused the queued (premoved) move to be sent when the server
echoed our own last move, instead of the opponent's move. This happened if you
tried to premove before the server echoed your last move to you.
* Implemented a game logging plugin. You can now have Jin log your games in PGN
format. You can also specify rules which will tell Jin which games should be
logged into which files (and which games shouldn't be logged).
* The dragging mode for internal frames is now "live" and not "outline" to work
around the Sun's JDK1.4 bug which causes the outline to be drawn very slowly.
* Potentially expensive antialiasing and dithering rendering hints are no longer
disabled for OS X.
* Added the option to enable/disable text antialiasing for the console.
* Fixed a bug which would make Jin not recognize the next move after a castling
in Fischer Random.
* Most of the FICS wild variants are now supported, except for Bughouse and
Crazyhouse.
* Fixed the problem that caused many move sounds to be played when you started
observing an ongoing game or forwarded.
* Removed the "Open Connection" menu item under the "Connection" menu since it
didn't make sense and wasn't very useful anyway.
* Pressing Page Up or Page Down in the console will now scroll the text as
expected. To scroll a single line, use Ctrl+PageUp or Ctrl+PageDown. To scroll
to the beginning or the end of the console, use Ctrl+Home and Ctrl+End
respectively.
* Fixed a lock-up on-login problem on some Linux distros. See
https://sourceforge.net/tracker/index.php?func=detail&aid=670523&group_id=5038
6&atid=459537 for details.
* Fixed a bug which caused the board to break if you started observing a game
and then a takeback would occur which took back more moves than you received
while observing the game (Reported by PCM at FICS).
* Fixed a bug where the player making a move was determined by the current
player of the board instead of the color of the piece - I don't know of any
specific problems it caused but it certainly could create a lot of them.
* Implemented a scripter plugin which allows writing small scripts that are run
when a specified event occurs (such as a game start/end, tells etc.)
* Untimed games on FICS are now supported.
* Changed the login and disconnect sounds.
* Added support for properly laying out the board panel even when its width is
smaller than its height.
* Guest's preferences are now saved as well.
2.06b:
* Fixed a bug where unused boards didn't change the board or piece style when
you changed those from the board menu.
* Fixed a bug where when the clock went negative, starting the clock would throw
an IllegalArgumentException since when setting the initial delay of the Timer
to time%delay, I forgot to check whether time is positive.
* Disabled swing double buffering for Mac OS X, since it does it by itself.
* Explicitly disabled all the expensive Java2D rendering hints (only under
Java 2).
* Fixed a bug which caused NPEs to be thrown in the paintComponent() method of
the board causing Jin to stop repainting normally and generally break. The
problem would manifest itself if you tried to make an illegal move, then
immediately picked up the piece again and waited for the server to tell you
it was illegal. Since now the piece that was being dragged is gone, the board
would get confused.
* Fixed a bug which made copying from the console when "copy-on-select" is
disabled impossible. The focus was being transferred to the input text field
too soon.
* Fixed a bug where the move list on the board window would display black moves
in the white column and vice versa if the first move was made by black (by
using "tomove black" for example).
* Fixed the login dialog so that the widths of the username and password fields
are the same under all look and feels.
* The keystroke used to traverse the teller ring in reverse order is now
shift+F9 instead of alt+F9.
* The label describing the game will now display the rating category if the wild
variant is w0. Otherwise, it will display the wild variant name.
* Fixed a bug where bad things could happen if the user attempted to enter
illegal moves manually.
* Fixed some inefficiencies in the board (re)painting.
* Added a label to the board preferences panel warning about the fact that the
color preferences only affect vector pieces and the solid board.
* When you create a new user, the wording of the question asking you whether you
want to keep it is now "Would you like to save your "username" profile?".
It was "Would you like to create a new user named "username"?" before.
* Fixed a bug which caused embedded and framed lists to be a little too small,
making the list completely invisible if it was of length 1.
The bug and fix are described at https://sourceforge.net/tracker/index.php?fun
c=detail&aid=602496&group_id=50386&atid=459537.
* If the currently displayed position is not the last position in a game and a
new move is made, the displayed position will no longer jump to the latest
position. The bug/feature request is described at https://sourceforge.net/trac
ker/index.php?func=detail&aid=609686&group_id=50386&atid=459537.
* Fixed a small bug which made it sometimes impossible to go to the current
(last) position in a game by dragging the position scrollbar to its rightmost
position.
* Right clicking inside the console when there is no selection will now select
the word under the mouse cursor and then display an appropriate popup.
* Fixed a bug which caused the "Auto Queen" check box menu item not to be
selected on startup even if you previously selected it. Note that the option
itself would still be on, but the check box wouldn't reflect it.
* Fixed a bug where BoardPanel.positionChanged(PositionChangedEvent) didn't
check that the event it got is for its game (as opposed to some other game).
This caused a bug where if you observed a game that had changed drastically
(with the "loadfen" command, for example), all the other boards would get that
same position. The bug was reported at https://sourceforge.net/tracker/?func=d
etail&atid=459537&aid=630511&group_id=50386.
* When closing the game window, you will no longer get asked for a confirmation
for observed games. For your games, the question is now worded better (making
it clear that for played games, clicking "yes" resigns the game).
* Jin now supports FICS - the Free Internet Chess Server
at http://www.freechess.org.
2.05b:
* Jin now implements "smart" history. If you type a string and hit up/down, only
history items starting with the typed string will be traversed.
* F9 now traverses between the last n people who told something to the user
(n is 5 by default). So now if you hit F9 a second time, your command line
will be set to tell to the 2nd last person who told you something.
* The main console used to jump to weird locations in the text when you resized
it. This is now fixed - it continues to show the same location. The anchor is
the last visible character before the resize operation.
* Jin now uses a different regular expressions library,
http://jregex.sourceforge.net/ published under the BSD license.
The one Jin used before (http://www.javaregex.com/) was proprietary at the
time of the switch, although it is now LGPL, thanks to the responsiveness of
the author to my request.
* Dragging pieces should be somewhat smoother now, especially in the case where
the board obscures the console, when the latter keeps being repainted because
text is added to it. The change is to force painting after each mouse event.
* Changed the text in the "Auto Promote" menu item to "Auto Queen".
* Fixed a bug where the result explanation string in all the game lists
(history, liblist, etc.) would show up wrong if black won (or it was black's
action that ended the game).
* Previously if a sound were to be played before an already playing sound
finished playing, the 2nd play request would be dropped. This caused problems
when two sounds are supposed to be played very close to each other, such as
in the case of an illegal move (move sound and then illegal move sound) or
a checkmate (move and then a game-end sound). This has now been fixed by
queueing up to two sounds before starting to drop play requests.
* Jin now makes a fitebell sound when a game starts.
* Jin now supports chessclub.com arrows and circles on the board.
* Jin now has a user interface to select the main frame's background color,
image and image layout style (center, tile or stretch).
* Replaced the coffee cup frame icons in the console, board and seek graph
internal frames with pretty, meaningful icons.
* Fixed a bug: when you closed the seek graph, it wouldn't remove all the
seeks. But since when you reopen it, you get all the seeks again, you would
get duplicate seeks.
* DG_QTELL and DG_CHANNEL_QTELL were disabled and not handled for some reason.
They are now enabled and handled properly. The visible effect is that channel
qtells will now start with the channel number, for example
"46>Tomato whitewasp(2326) v DavidBarnsley(1859) 1-0" and personal qtells
will start with ":", for example
":Tomato 'jinclient' doesn't match any players".
* Jin will no longer ask you whether you want to save your settings when you
close the connection. I think it was useless in the first place.
* Added a panel which allows modifying the main console's settings, such as
fonts and colors for the various text types.
* Jin will now try to include the Kunststoff and 3D look and feels in the look
and feel menu, if it finds them (and it will, since I will create downloads
with them included).
* Added a panel which allows modifying the board's settings, such as the colors
of the pieces and the board.
* Removed the useless "Save settings" button from the chessclub.com connection
dialog.
* Added the xboard piece set.
* Added all the non 3D piece sets from blitzin (bookup, dyche1, dyche2, dyche3),
with permission from Daniel Sleator (Darooha).
* Added 4 boards, wooden2 and marble from blitzin and two more (a wooden one and
a slate one) I've made myself.
* Worked around the IBM JDK 1.3.1 bug, so now Jin will work under it as well.
* Jin will now produce sounds when "friends" (on your notify list) log on and
off the server.
* Added a background image and pretty seek images for the sought graph. Yay, I
can now actually look at it without disqust. The graph, however, is no longer
resizeable.
* The zero rating will no longer be showed on examine boards.
* The clock on the board used to continue running even after you
unobserved/unexamined a game - no more.
* Jin no longer asks new users where to save their settings file.
* Added a "Clear Console" menu item to the console menu.
* Added a "Help" menu with 3 items - "Jin Website", "Licensing and Copyright",
and "About".
* The plugin menus no longer sit inside a "Plugins" menu, they now reside
directly on the menubar.
* Jin will now use the metal look and feel by default instead of the system
look and feel.
* Added a JDK1_2AudioPlayer, which uses the 1.2 Applet.newAudioClip(URL) API to
play audio clips. This should solve various sound problems on newer JDKs.
* Fixed a bug where I forgot to call super.processFocusEvent(FocusEvent) from
JinFrame.processFocusEvent(FocusEvent) this might have caused many problems,
including the console locking bug.
2.04b:
* If there was more than one "clickable" item in a single message (tell, channel
tell etc.), when clicking on any of them, the command that was executed was
always the command of the first item. This problem didn't exist for clickable
URLs or emails, only things like "finger AlexTheGreat".
* Fixed the email address detecting regular expression to exclude trailing
commas and periods.
* Fixed a bug which caused the first character you type to be ignored if the
output area has the focus under JDK 1.4.
* Modified the readme file for the unix installation to list more JRE downloads
and to better explain the difference between JRE 1.1.x and later ones.
* Jin no longer throws NullPointerExceptions if you try to play/observe/examine
an unsupported wild variant. You will instead receive a message in the console
informing you that your version of Jin doesn't support the wild variant.
* Fixed a small bug which caused part of the piece not to be drawn if you
pressed (without moving) in the top or left half of a square with a piece
(which you can move).
* Fixed the datagram parser to handle datagrams containing strings with curly
braces properly. The last fix (in 2.03) broke it for strings like "a {b} a".
* Implemented most of the chess variants supported by chessclub.com, except
Bughouse, Crazyhouse and Shatranj.
* The various internal frames (console, seek graph, board) will now revert to
their default location when a new connection is started if they don't fit
into the main frame. This can happen either if the user moves them out of the
screen himself or if the resolution of the screen is lowered.
* Fixed a bug which caused wild seeks on the sought graph to appear as regular
ones. They now properly appear in red.
* Fixed starting up maximized internal frames. The effect of the bug was that
if the board internal frame(s) was saved as "maximized", creating it would
throw an exception and it would not come up. In the case of the main frame and
the seek graph frame, it did come up but then restoring it to normal state
made it dissapear. I believe this was the effect people saw in the
"the board doesn't come up" bug (needs verification).
* Fixed starting up minimized internal frames. The effect of the bug was that
if a frame was saved as "minimized" and then created again trying to restore
it to normal state, would cause it to dissapear. Note that the current
behaviour is still not perfect in the sense that the location of the minimized
internal frame is not always restored correctly.
* Fixed the method that compares User objects for equality. It would previously
throw a NullPointerException if you tried to compare a guest (null username)
with some other User objects. At least one way in which this bug was visible
was that if you had at least one "saved" account and then logged on as a guest
via Connection->New Connection->Connect as guest, Jin would not close after
that (The closing connection method would fail with a NPE and then the exiting
method would try closing it again, obviously failing to stop already stopped
plugins).
* Fixed a bug which caused Jin to think you were logged in as the user suggested
in the login dialog (the one whose username appears in the text field on
startup or if you choose Connection->[username]) even if you pressed the
"Connect as guest" button. You would still login as guest, but inherit all
the settings of that user and if you modified them, Jin would ask you whether
you wanted to save them.
* Jin no longer prints an exception on a normal (user invoked) disconnection.
* Fixed a very bad bug in the timestamping handshake. It used to read a packet
up to 16 bytes instead of exactly 16 bytes. This fails when the 16 byte packet
sent by the server gets broken on the way. Although this is quite unlikely to
happen, it's a serious bug nonetheless.
* Made Jin more unix friendly. It no longer requires to be run when the current
directory is the Jin directory. It also writes all user settings files under
the user home directory instead of into the current directory.
* SoundManager now has a menu item to allow enabling/disabling sound.
* Fixed a bug where the connection was marked as connected only after the reader
thread was started. If the reader thread started too quickly it would see that
the connection is not connected and quietly die.
* The title of the board frame and the label describing the game on the game
panel (the one just below the opponent's clock) will now display the name of
the wild variant instead of the rating type which the game affects.
* The console will now display tooltips for non obvious links (such as the ones
displayed on the output of a 'tell tomato games' command).
* The first time Jin starts, it will no longer size itself to take the entire
screen, but 3/4 of it instead, centered.
* On Linux, Jin now tries to use the BROWSER environment variable to determine
which executable to use to run the user's default browser. If you don't have
this set properly, Jin will not be able to open URLs when you click them.
Type "man 5 environ" for information about these environment variables.
Likewise, Jin will try to use the value of the MAILER environment variable
to determine which mailer to run when you click an email address in Jin.
2.03_1b:
* Email addresses are now also links, which under Windows open the default
mailer when clicked and under unix/MacOS try to use the netscape mailer.
* The new datagram parser code was broken in Sun's JDK 1.3 because they fixed
a bug in StringTokenizer which made it backwards incompatible. I have now
modified the datagram parser code not to rely on the bug or the fix. See
http://developer.java.sun.com/developer/bugParade/bugs/4338282.html for
details on the bug.
* Fixed a bug where if someone "mexamined" a Jin user, Jin would not recognize
that the user is now in examine mode.
2.03b:
* Implemented a "target drag style", where no piece is shown during a piece
move/drag, instead the cursor changes to "crosshair" and a blue rectangle
surrounds the square over which the mouse cursor is.
* Added "history", "liblist" and "stored" commands to the console popup menu.
* Removed "finger -c" from the console popup menu.
* Added the value of the system property "os.version" to the interface var.
* Reimplemented timestamping to be more readable and more importantly, solved
the TCP_NODELAY issue, making Jin's timestamping work even faster than
blitzin. You can expect 'ping' responses to be as fast as in blitzin and maybe
even slightly faster.
* If you try to observe/examine/play a game of a wild variant not supported by
Jin, you will now get a message informing you of that. Previously, Jin
silently ignored it.
* Changed the "info" style (the red bold italic text saying "Trying to connect
to chessclub.com on port 5000..." at the beginning of a session) not to be
italic because it breaks (making ALL the text italic) when you try to use
some weird font like FixedsysTTF.
* Added an "exit" menu item under the "Connection" menu.
* Reimplemented the datagram parser to be more robust - it used to break on
weird datagrams like DG_DUMMY_RESPONSE or if the server put in extra spaces
between datagram arguments.
* Added support for multiple piece sets, and added the "eboard" piece set.
* Popups should now work on MacOS too, where you only have one mouse button and
the popup trigger is not right-click.
* Changed the format of how you specify popup commands in
/plugins/ChessclubConsoleManager.plugin
* Fixed a bug where if you spositioned a game in which no moves were made, Jin
would display it as an observed game.
* Fixed a bug where you could get the console popup to display partially out of
the screen if you right-clicked at the bottom of the console when the console
was scrolled up at least the size of the popup.
* Implemented game lists embedded in the text console.
2.02b:
* Fixed a bug which caused Jin whenever you logged off as a guest to ask you
whether you want to save the settings under "null".
* Added a button in the picture frame (for ICC) which opens the browser on the
page where you can upload your picture.
* Changed the url recognizing regular expression which determines the strings
that are considered a URL link to recognize "www..." and "https://" links
too.
* Added "observe" and "follow" to the console popup.
* Changed the url recognizing regular expression to stop at the following
characters too: <>"
* The "Join ICC" button on the login dialog now sends you to
http://www.chessclub.com/from/AlexTheGreat instead of logging on with the
handle "register".
* Fixed a bug where if you changed a setting from within Jin and then chose
not to save it, Jin would continue to bug you about saving it every time
you closed a connection until you restarted Jin.
* Added menu check boxes (and a user property) to control the move input
style (drag'n'drop or click'n'click).
* Implemented "Auto Promote" - promotes to the default promotion piece (queen
usually) without prompting the user (Equivalent to "Auto Queen" in blitzin).
* In some builds of MS JVM, adding to a BorderLayout without specifying a
constraint, causes the layout not to work. Added specifying a constraint
explicitly throughout the code.
* Implemented a workaround for a very weird bug where Jikes would create invalid
bytecode (and MS VM would crash on it, instead of throwing a VerifierError,
like Sun's VM).
* a1, the square, was light, sigh.
* The board that appears on "spos" now correctly considers the game "ended" once
all the moves have been made. processSendMoves fires a GameEndEvent if the
game is of type ISOLATED_BOARD and numMovesToFollow is 0.
* The board no longer breaks when in drag'n'drop mode you try to drag an empty
square into a piece.
* Jin used to show "Examining <game>" in the title of the board frame if you
observed an examined game - fixed.