forked from vassalengine/vassal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
1863 lines (1573 loc) · 85.4 KB
/
CHANGES
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
3.6.0-beta2 - ???
* 10371: Reset the Zone Editor title to match the Zone being edited
* 10359: ClassCastException: DeckGlobalCommand cannot be cast to Auditable
* 10351: Checkbox preference default value is ignored
* 10341: Symbolic Dice Button tooltip is overwritten by description text
* 10095: Definition of Player Sides - Retire/Switch Button image not showing in editor
3.6.0-beta1 - 21 August 2021
* 10326: Add option to disable OpenGL FBOs on Macs
* 10301: Double max heap and retry when image tiler runs out of memory
* 10294: Can Rotate traits no longer lose any pre-defined starting rotation
when editing a Piece Slot
* 10286: Add removal/deprecation checker and remove anything deprecated a year
ago
* 10277: When editing an IrregularGrid, start the map view somewhere near the
grid or its parent Zone
* 10276: Expose property if we're currently drawing Counter Detail Viewer
* 10273: Mat Cargo can be set to detect mats way from their exact center
* 10272: Don't auto-name new regions a long string
* 10259: 64-bit ARM builds for Windows and Macs; switched bundled Java to Zulu
* 10248: Invisible trait - Option to disable auto-report of moves
* 10228: Upgrade to Launch4j 3.14
* 10187: Duplicate key and menu item for Editor menu
* 10075: Scaling factors for Layers and Non-Rectangular
* 10066: Mats & Cargo - Cargo pieces stay attached to Mat piece when moving.
* 10041: Newly added Layer traits will now default to 'Always active'
* 10034: Added option to Mass Piece Loader to not create empty levels in
layers when there is no matching image
* 10021: Added sub-folders to group components under Module, Maps, Decks,
At-Start Stacks, Prototypes and Global Properties folders
* 10015: Remove ?s from checkbox preference strings
* 10011: Add Scrollbars to Prefs Dialog when needed
* 10002: Add Hotkeys to hide and show map windows.
Existing show/hide hotkey field is now always visible.
Allow changes to hide/show Map button settings without needing Editor
restart
* 10001: Inventory window allows a hotkey for Refresh
* 9999: First 'advanced search' on a module defaults to all boxes prechecked
* 9998: Editor now has Drag and Drop support
* 9997: Can duplicate and insert components in Editor, not just add to bottom
* 9993: DeckPosition was reporting 1 higher than the actual position
* 9992: Removed ignored 'button tooltip' field from Turn Tracker config
* 9989: Less verbose window titles for sub-windows
* 9988: CountStack() added to beanshell to count pieces in current Stack
* 9987: ReportState checkbox overrides Global Key Command suppression of
individual reports
* 9979: Add Deck Sort Key Command component to allow sorting of cards in a
Deck by properties via menu or hotkey.
Add Deck Send Key Command component to provide additional commands
to send contents of one Deck to another via menu or hotkey.
* 9975: Deck reports now suppressed during GKC report suppresssion
* 9973: Deck supports configurable strings for Draw Multiple, Draw Specific,
Face Up, Face Down
* 9972: Ability to specify Return-to-Deck target as an expression
* 9917: Global Options can be configured to let toolbar items on closed
windows accept global hotkeys
* 9913: Increase number of default zoom levels in new Map Zoom Capability
* 9912: Add Global property MapName_isVisible for each Map to allow checking
if Map is currently open
* 9901: Preference to reverse left-to-right order counters are shown in
Mouseover Stack Viewer
* 9884: Fix and improve module validity checking
* 9864: Improved translation features (Global Translatable Message component,
Translatable Message trait, exposing current language/locale as property)
* 9549: Default UI font size can be overridden in preferences
* 9254: Expression audit trails preference - Improve error reporting when
Beanshell expressions fail. Suppress 'Bad Data in Module' errors
generated by counters in Game Piece Palette.
* 6130: Grid Numbering dialog can appear blank when grid size is very large
* 4542: Added 'Stack Normally' option to 'Does Not Stack' trait
* 4533: Make grid center dot display independent of grid display
Issue numbers above this point are GitHub issue numbers, below this point
are Bugzilla issue numbers (referenced in GitHub prefixed with "BZ").
3.5.8 - 29 June 2021
* 14600: Switch bug tracker to GitHub
* 14599: Error logs should be read from disk as UTF-8
* 14596: Removed initial heap setting for Importer, unused since 3.5.4
* 14579: Mass Piece Loader cannot add 'standard' layer traits
* 14570: Longer cancel wizard text shifts wizard divider position
* 14568: Counter Global Key Command expression does not see properties in
lower traits
* 14479: GamePieceImages recognized by unused image removal tool
3.5.7 - 3 June 2021
* 14540: PgDn stopped scrolling maps downward
* 14527: NoSuchMethodError when calling ArchiveWriter.save()
* 14526: IllegalArgumentException when rendering empty labels
* 14521: NPE in CounterDetailViewer when Stack shapes array is longer than the
piece count
3.5.6 - 25 May 2021
* 14518: Zoomer hotkeys should take effect only if their map is focused
* 14506: NPE in PieceWindow.launchButtonPressed()
* 14505: Edit Extension menu item should be disabled when the extension is
already being edited
* 14504: Improved results for users who started with no password and then set
one later
* 14503: Set errorLog encoding explicitly to UTF-8
* 14502: Tailer misdecodes errorLog
* 14484: Module editing permanently disabled after editing associated Extension
* 14477: MouseoverStackViewer: Show a single card when used in a PlayerHand
window
* 14469: Java's ProcessBuilder misencodes Unicode outside Latin1 on Windows
* 14468: MouseoverStackViewer: corrected text centering problem with "extra
space between" setting
* 14461: NPE in TableInfo.getExpressionList()
* 14460: StackOverflowError when referencing _Level property in layer-
following expression
* 14456: ConcurrentModificationException in GameState.setup() when component
setup() adds components
* 14453: Improved error message on failure to load a deck
* 14452: Catch PatternSyntaxException on user-provided regexes
* 14440: Counter refresh function sometimes changes stacking order of pieces
* 14422: ArrayIndexOutOfBoundsException in Embellishment.getProperty()
* 14418: MassPieceLoader: Copy/Paste of Modified Layer trait generates
Standard Layer on Paste
* 14408: Lock logs and saves during writes to preempt locking by programs like
Dropbox
* 14401: Cancelling a predefined-setup load during setup wizard shouldn't show
"Loaded..." message
* 14393: Don't show that sending bug reports failed when they've succeeded
* 14386: Editor was reporting module saved when the "confirm overwrite" dialog
cancelled
* 14370: NPE in BasicLogger.write() when there is no game state to write
* 14368: Using String functions on property names containing double quotes in
value causes Bad Module Data errors
* 14351: NPE when Player Roster deleted from module
* 14337: Show/Hide Palette Hotkey shows but does not hide
* 14325: TileNotFoundException after second copy of a module in use is removed
* 14311: Cancelling edit where a Hotkey name was changed does not cancel changes
* 14308: Bad encoding in errorLog, bug reports
* 14286: Prevent bad expressions from returning null
* 14271: Chat & Notes input panel(s) treat Hotkeys differently
* 14261: StackOverflowError: Infinite loop caused by Text Label wasn't being
caught properly
* 10755: Infinite loop in RecursionLimiter.infiniteLoop()
* 10114: ArrayIndexOutOfBoundsException in SecretNotesController.setup()
* 2623: FreeRotator does not update masked image if sides change
3.5.5 - 6 April 2021
* 14451: Skipping wizard/password flow more intuitive now
* 14348: Invisible Trait UI conflated opacity with transparency
* 14336: MouseoverStackViewer improperly excludes does-not-move pieces when
"include move-when-selected" is unchecked
* 14332: NullPointerException in Expression.resetCachedExpressions()
* 14331: Additional Selection Highlighter fails to offset images
* 14327: IllegalComponentStateException in ToolbarMenu.launch()
* 14322: IllegalComponentStateException in TableInfo.myKeyEvent()
* 14321: IllegalComponentStateException in PropertySheet.myKeyEvent()
* 14317: NPE in ReturnToDeck.getDeckName()
* 14310: Property Sheet options not saved
* 14309: Missing Deck.deck translation key
* 14301: GKC/GHK trigger actions out of order at remote end in online play
* 14296: IndexOutOfBoundsException in BasicLogger.step() when holding down
step key
* 14291: IllegalArgumentException in PlayerRoster.resetListeners()
* 14290: Online multi-player game is subject to a race condition that ends
with corrupt decks
* 14288: Deck Hotkey ignored from keyboard and Global Hotkey Trait in preset
scenarios
* 14285: IllegalArgumentException in PlayerRoster when moving items in Editor
* 14284: Chess Clocks: fixed problem where "allow reset" option selection
wouldn't "stick"
* 14282: Upgrade to Java 16 for Windows, Mac packages
* 14262: Missing Editor.GridEditor.command_arrow_keys translation key
* 14225: Send Hotkey action corrupts target deck
* 13837: Creating a Global Property with Null name causes NPE on Load Game
* 13203: Refresh Counters causes Pieces within Decks to expand
3.5.4 - 29 March 2021
* 14270: "maximum heap too large" message shown when maximum heap is too small
* 14269: Poor Editor performance when using Fast Match
* 14267: Game Refresher: Refresh Predefined Setups should clear any open game
in the Player
* 14258: "Logging" and "Replaying" should have priority over "Saved" in the
title bar
* 14256: LOS gets stuck on screen when replayed through logfile
* 14255: Default autoreport text made -< instead of ->
* 14246: Fast Match Global Key Commands were "dealing off the bottom of the
deck" in certain cases
* 14245: HTML in Tabbed Panes (charts, widgets): Work around apparent Swing
bug in JTabbedPane
* 14243: Game Piece Layer manipulation commands do not match described effect
* 14240: Welcome Wizard: Put "enter your name" screen after the main welcome
(so that option to turn off wizard is always on first screen viewed)
* 14228: Chess Clocks can now be manually reset (if manual reset is enabled
for them by module designer)
* 14227: Mark When Moved had Vertical offset mislabeled as Horizontal offset
* 14226: Undo and Server buttons steal focus after being clicked
* 14222: Editor Search output loses less-than symbols
* 14219: Do not expand every prototype in a piece before searching it, just
match the name of the prototype.
* 14217: MouseoverStackViewer - $countPieces$ will give the total number of
pieces found in the stack (w/o having to create a property)
* 14209: Write logs and saves to .part file to forestall copying of partially
written files
* 14205: Allow different images to be loaded based on currrent VASSAL language
* 14203: Global Key Commands should exit after displaying report if there is
no key command to issue
* 14201: Share immutable objects
* 14200: Scenario names (Predefined Setup) should be displayed in translated
language
* 14199: Inventory text not translated
* 14198: Translated private windows do not work when changing sides if module
is translated
* 14196: Right-click menu localization is not shown for some elements
* 14193: Expressions should be cached
* 14192: Decks from previous saves and logs are retained in memory
* 14191: CurrentLanguage and CurrentLanguageName exposed as module properties
* 14187: Drag Thresholds shouldn't be violated by "deep legacy" mouse listeners
(e.g. accepting double click AND drag from same mouse sequence)
* 14185: Distinguish tile loading errors from other image loading errors
* 14182: Prevent duplication of FormattedString data and Expressions
* 14178: Some weird systems lack awt.font.desktophints but aren't headless
* 14168: Fix broken HTML in the 'not-allowed-in-multiplayer-games' message
* 14167: Inefficient implementation of FilterOutputStream in ZipWriter
* 14164: Fast Match change persists despite Cancel
* 14163: NPE due to File.listFiles() returning null for symlnks on Macs
* 14159: Fast Search GKC ignores "Within a deck, apply to no pieces"
* 14156: Loading a log file to continue a game shouldn't reset the map window
* 14155: Search was showing duplicate entries for certain items
* 14154: Search wasn't finding "Fast Match" fields
* 14152: .vsav, .vlog should be appended to saves, logs when not present,
instead of checking for '.'
* 14149: Windows installer fails to run uninstallers for old versions
* 14148: Module Editor Labels get truncated with '...'
* 14143: First character is 'eaten' when typing chat while over map
* 14139: Delete trait to set 'old...' properties prior to deleting piece
* 14138: Turn Tracker mispopulates button tooltip field while running in editor
* 14136: Module-level GKCs were not honoring fast match
* 14133: Better support for Mac Alt and Function keys
* 14131: String method calls in Beanshell don't return proper result unless
GetProperty is used
* 14124: Remove "(Optional)" from Send to Location Board Name hint text
* 14112: In Dynamic Property List of values, cursor jumps after first
character entered
* 14088: Ensure image is updated on selection of new image with duplicate
filename in the Editor
* 14069: ArrayIndexOutOfBoundsException in StringArrayConfigurer due to race
* 14066: Remove Unused Images: Dialog sizing and file size display improvements
* 13796: Stacks after the first are unstacked when multiple stacks dragged to
a snap-to map
* 13793: ArrayIndexOutOfBoundsException in CompoundPieceCollection.indexOf()
* 13472: "Send to Deck" creates phantom cards in proportion to the number of
game starts
* 13145: Send Hot Key ignored by Deck
* 12538: Decks report multiple shuffles after loading saved game
3.5.3 - 23 February 2021
* 14122: IllegalArgumentException when Action Button is armed on one map but
released on another
* 14121: Editor shows Global Property descriptions next to the names in the
main list
* 14078: Undo causes standard counter to become unstacked
3.5.2 - 22 February 2021
* 14117: Action Button fails to respond on a stacked counter (except at top)
* 14116: Incorrect module sort order in Module Manager
* 14111: Incorrect description for Dynamic Property initial value
* 14104: Removing Image from BasicPiece stores image name as '(No Image)'
* 14098: Player includes module version number in window title
* 14086: Fix Alt key for selecting on maps
* 14078: Undo causes standard counter to become unstacked
* 14077: Include '(pixels)' in Turn Counter Label Display Length Label
* 14076: SetGlobalProperty editor has incorrect label for maximum value field
* 14075: BoardPicker and LOS_Thread could sometimes intercept commands for
wrong objects
* 14074: Flares sometimes not appearing on opponent's map (in log replay,
or online)
* 14070: Array Configurers: Add button moves focus to newly created entry
* 14065: Show OS Specific cut/paste key descriptions in Piece Definer
* 14068: Key Command editor: Change return arrow icon to Tango undo icon
* 14064: Add Refresh Predefined Setups in ExtensionEditor + (remove warning on
pieces without parent)
* 14061: ArrayIndexOutOfBoundsException in StringArrayConfigurer.entryChanged()
* 14059: Show better descriptions for Marker traits in Piece Definer
* 14057: Piece Definer should give piece image a little breathing space on
left and right by default
* 14056: Search now covers initial/min/max values in property traits
* 14055: Set Global Property: include name/expression of property in trait list
* 14053: Canceling Welcome Wizard closes the Player (unless "show wizard at
startup" has been unchecked)
* 14047: Prevent versions <= 3.2 from clobbering the 3.5 module list
* 14046: Nested ExecutionException when cancelling a screenshot
* 14043: Help button on Flare, Chess Clock, Deselect had broken link
* 14041: Prevent race when creating GlobalPrefs
3.5.1 - 14 February 2021
* 14040: Reference Manual cleanup
* 14039: Improved/Repaired some tables in online docs
* 14035: Multi Action Button and Toolbar Menu lose last item in Menu Entry list
* 14034: Prevent concurrent updates to preferences
* 14033: Fast Match forgets fields when added to Maps and Module
* 14032: Fast Match was picking wrong number of cards from decks
* 14026: GameRefresher incorrectly deletes off map pieces
* 14024: NumberFormatException when private server port is empty
* 14023: Advanced Search displays "hit lists" properly for names/types of
prototypes & configurables
* 14022: Upgrade bundled Java to 15.0.2+7
* 14019: Remove confusing Vassal Version column from MM, show based on
preference
* 14018: Refresh Predefined Setup incorrectly clones at start stacks
* 14015: Added infinite loop protection to PlaceMarker
* 14012: Die Roll 'Prompt for values when button pushed' dialog is broken
* 14011: Search now pre-selects contents of search field when restoring/
remembering the previous contents
* 14009: Standardize remaining dialogs
* 14008: Unused Images Tool was suggesting some in-use GIFs for deletion
* 14007: NPE when adding dockable PieceWindow from module extension
* 14000: OverlappingFileLockException when attempting to write preferences
* 13999: Fast-Match wasn't working for "Moved" property
* 13997: Chat log should start display on bottom line even with larger monitors
* 13996: Sanitize temp file basenames to escape illegal characters
* 13995: Don't try to write a logfile without having started one
* 13993: IllegalBuildException on gpIdChecker when using GameRefresher
* 13992: NPE in Embellishment.addLocalImageNames()
* 13991: NPE when using Game Refresher on predefined setups
* 13988: ExecutionException when opening a moved or renamed module file
* 13987: ChessClock buttons with icons had inappropriate height/width
* 13984: NPE in BugUtils when involved from the Module Manager
* 13981: NoSuchElementException using Edit All Contained Pieces
* 13977: Alt+Shift now an option for band selection of Does Not Stack pieces
* 13975: ArrayIndexOutOfBoundsException using Edit All Contained Pieces
* 13974: Better window title bars (filename-first like most apps)
* 13973: Missing message for failure to write file
* 13971: Cannot create new module extensions
* 13970: DiceButton icons and Mask images incorrectly suggested for removal by
unneeded-file-remover
* 13968: NPE in HelpFile.addLocalImageNames()
* 13967: Search wasn't searching into PieceSlots ("Single Piece" items in
Setup Stacks, etc.)
* 13965: MouseoverStackViewer should not show face-down cards in decks, should
not unnecessarily clip underneath text, and should not run off left edge
of screen in an overzealous attempt to center-on-cursor
* 13964: Module extension file extension incorrectly listed as .vext instead
of .vmdx
* 13960: MouseoverStackViewer mis-centering if "draw pieces" wasn't selected
* 13959: Loads from wizard should add filename to window title
* 13958: ExecutionException when cancelling a screenshot
* 13954: Alt-click, Shift+Ctrl-click should not change selection
* 13944: NPE when loading second game in modules using deprecated
Map.mainWindowDock
* 13930: Added infinite loop protection to TurnTracker
* 13742: Action Button trait should arm when pressed, fire on release
3.5.0 - 31 January 2021
* 13952: Make Flare animation disableable
* 13950: Level name in Layer trait is not being saved
* 13947: File > Import Module moved to Tools > Convert Module
* 1807: Added default chess clock icon
3.5.0-beta3 - 21 January 2021
* 13900: MassPieceLoader trait editor shows standard Embellishment trait
editor instead of MPL-specific one
* 13886: Reinstate removed TilingHandler ctor for VASL 6.6.1
* 13879: NPE in DieManager ctor
* 13876: NPE in AbstractMetaData.getVassalVersion()
* 13868: Added description field to (nearly) all traits
* 13853: Toolbars missing from non-dockable windows
* 13811: NPE in DiceButton.setAttribute()
* 13810: Find all parentless Dialogs and JOptionPanes and give them a parent
3.5.0-beta2 - 4 January 2021
* 13825: "Module from older version" check is too strict
* 13823: Map/Module Global Key Command Description not being saved
* 13821: SendToLocation does not create Movement Trail points
* 13813: Simplified communication between Module Manager, Player, Editor
* 13792: Combined save and log loading; Load Continuation moved from File to
Tools menu
* 13783: Non-rectangular trait should remember name of image that created it
* 13782: Suffix/Prefix fields in Layer trait are not displayed correctly
* 13781: Bad parameter in Editor.UniqueIdManager.more_than_one message
* 13777: Improved workflow of zone editor
* 13771: NPE after cutting/pasting piece palettes in Editor
* 13755: Chess clock help file is misnamed
* 13761: Refer to MacOS instead of MacOS X now that MacOS 11 is out
* 4324: Antialiasing RenderingHints not set properly for drawing game
components
3.5.0-beta1 - 27 November 2020
* 13741: DataArchive.getImageNames() incorrectly returns an empty string if
images/ has an entry in the ZIP archive
* 13728: Translucent solid-colored backgrounds of boards are incorrectly
drawn opaque
* 13706: Console, for entering commands to affect errorlog, properties, etc.
* 13675: Piece Slots shouldn't be allowed at very top level of Piece Palette
* 13661: Simplified ZIP archive writing and error reporting
* 13660: Replaced ComponentSplitter with SplitPane for better splitter
positioning
* 13659: "Remember window size" preference is ignored
* 13593: Global preferences are never written except when prefs dialog is closed
* 13522: Performance improvements for Global Key Commands
* 13509: Save As in Editor, if it fails, complains about old filename instead
of new filename
* 13504: Simpler way to display PDF files from Help menu
* 13495: Wizard should set the initial value for next save/load dialog
* 13494: Expose version numbers and module strings to module as properties
* 13450: Improve look of Auto Configured editor dialogs
* 13437: Improve visibility of Logging status - Help people to remember to
start logs
* 13432: MouseOverStackViewer can show > 1 piece of a deck
* 13417: Editor's search function can now search piece traits and component
attributes
* 13415: MouseoverStackViewer has HTML support and additional formatting options
* 13414: "Help" button (and help information) added to Preferences dialog
* 13368: Added preference to control drag-at-edge-of-map width
* 13363: buildFile renamed to buildFile.xml
* 13362: Mouse over-stack viewer doesn't support HTML
* 13355: Threshold for centering on opponent's move is now configurable
* 13354: Add a chatter message when starting to write a logfile
* 13353: Use native file chooser on Linux
* 13352: Title Bar of module should always show most recent Save/Load/Log
* 13336: Incorrect date format in SecretNotesController
* 13333: Better handling of logfile/savefile comments
* 13326: Saving a module will default to .vmod, an extension to .vext
* 13323: Player switching sides now reported in Chat Log
* 13314: Expose Module Version number as a Global Property
* 13297: Ability to Deselect a piece with a Key Command (also remove it from
its stack)
* 13296: Flare feature for map
* 13219: Added KeyNamer for overriding key names
* 13098: Move Compatibility related preferences on the General tab to a new
Compatibility tab
* 12946: Prevent top level required components from being deleted in Editor
* 4779: Comparison operator >= incorrectly documented as =>
* 1907: Suggest default filename extensions
* 1868: Method for removing unused images from modules
* 1826: Aesthetic improvements to dialogs
* 1807: Chess clocks
* 1804: Added Preference for turning off sounds
3.4.13 - 22 January 2021
* 13920: CounterDetailViewer should support setting no foreground color
* 13915: Boards with same source but different grids fail to render distinctly
* 13903: SVG with viewBox and percentage width, height renders incorrectly
* 13861: NPE in MassPieceLoader when adding Layer to piece template
* 13285: Show useful message on AWTError due to bad Java Access Bridge install
3.4.12 - 27 December 2020
* 13850: Piece rotation fails to apply over masking
* 13845: Don't display empty items in context menus
* 13836: "too new" version check should compare minor version only
* 13829: HexGridNumbering.getRawRow() is now public
* 13827: Ensure that extensions are loaded in alphabetical order
* 13826: Restore scrolling in drop-down menus in BeanShell expression builder
* 13825: "Module from older version" check is too strict
* 13820: Ensure temp directory hasn't been deleted before trying to write to it
* 13819: Move Fixed Distance no longer updating Movement Trail
* 13808: Don't prompt to create new logfile before current one is done
* 13807: SendToLocation does not check outer traits when evaluating expression
* 13805: CounterDetailViewer incorrectly displayed non-stacking pieces
* 13795: "too new" version check should apply to all Module Manager items
* 13786: NPE when Enter hit in Editor component tree with no node selected
* 13760: Upgrade bundled Java to 15.0.1+9
* 13738: IllegalArgumentException because Invisible trait permitted alpha
values outside [0,1]
* 13614: NPE in ZonedGrid due to thread-unsafe caching of Zone clipping
* 13571: ArrayIndexOutOfBoundsException in Embellishment.getProperty()
* 13446: Pieces in a stack have the wrong offset while dragging
3.4.11 - 29 November 2020
* 13728: Translucent solid-colored backgrounds of boards are incorrectly
drawn opaque
* 13679: IndexOutOfBoundsException in AbstractTiledOpImpl.getTile() via GridOp
* 13677: NullPointerException in AbstractTiledOpImpl.getTileOp() via GridOp
3.4.10 - 23 November 2020
* 13720: Tiles in last row, column of boards with colored backgrounds and no
image render too large
* 13688: Reversed boards with grids fail to display
3.4.9 - 20 November 2020
* 13655: Grid caching interferes with drawing zone highlighters
* 13636: AbstractBuildable.getAllDescendantComponentsOf() does not recurse
properly
* 13631: NPE in Map.placeAt()
* 13616: Java reports incorrect amount of RAM on Linux ARM systems
* 13608: Grids fail to display in grid editor
* 13602: NPE in MassPieceLoader.MassLoaderDialog.load()
* 13598: IndexOutOfBoundsException when drawing grids over SVG
3.4.8 - 8 November 2020
* 13577: Stacks properly restore their visual 'layer' level when saved/restored
* 13574: Fix reporting on oldXXXXXX properties in ReportState
* 13573: Beanshell count function not working with $$ variables in Restrict
Commands property match
* 13572: Stop converting preferences last written by 3.2.7 or earlier
* 13567: Put backup in better location when writing to module fails and ensure
Editor is not left in a bad state
* 13563: Hitting Enter in Editor expands or edits nodes
* 13560: Don't register mouse listeners from ActionButton.draw()
* 13449: Inventory window remains open when the game is closed in the Player
* 13431: Cache grid and grid numbering painting for better performance
* 13379: Mass Piece Loader - Base Image can now be loaded into layers
* 13379: Mass Piece Loader - Decrease key now loads correctly
* 13379: Mass Piece Loader - Layers are no longer loaded Activated
* 10063: Hitting Enter on Module Manager opens the module
3.4.7 - 25 October 2020
* 13547: Don't raise a bug dialog on failure to read an MP3
* 13546: Change backup Resource directory from temp folder to base folder
* 13542: Interaction between Move Fixed Distance and Rotate traits has changed
between 3.2.17 and 3.4.6
* 13540: Macs now use Command as modifier key for grid-resizing,
setup-stack-moving in Editor
* 13525: HFS+ stores filenames in NFD, so must check for that variant when
loading
* 13524: Masked card dragged from Player Hand reports differently between
3.2.17 and 3.4.6
* 13520: Made Command+Click the select/deselect combo for Macs (and
Command+Wheel to zoom)
* 13489: Pieces scaled incorrectly during drags on HiDPI screens on Windows
3.4.6 - 12 October 2020
* 13508: NPE in GamePieceOpImpl.getTileIndices()
* 13505: Dragging a card/piece off the top of a deck should not also band-select
* 13503: At-Start Stacks and Decks in <Any> board appear in wrong place if map
padding specified
* 13467: Edited modules containing HTML img elements can't be saved on Windows
* 13456: At-Start Stack using Grid Location uses Location on first board, not
chosen board (additional fix for 12576)
3.4.5 - 6 October 2020
* 13490: Module Manager "Show Error Log" doesn't
3.4.4 - 6 October 2020
* 13486: Backspacing in NamedHotKeyConfigurer will no longer shift focus
* 13471: Using BeanShell string functions in Calculated Property crashes Editor
* 13461: Always initialise Deck on New/Load game
* 13458: Reinstate behavior of floating point expression evaluation
* 13454: ClassCastException in SetPersistentPropertyCommand.execute()
* 13426: NegativeArraySizeException when receiving first private message
3.4.3 - 24 September 2020
* 13452: Bundle Java 15 with Windows and Mac packages
* 13442: Add button for toggling password visibility
* 13441: Multiple scaling or rotation of SVG images failed to compound
* 13438: NPE in BoardPicker.getSelectedBoardNames() when changing owning Board
of an At-Start Stack
* 13436: Allow Module Managers from different versions to run simultaneously
* 13435: "Bad Module Data" messages with less-than symbols misinterpreted as
HTML when HTML turned on in module
* 13434: Clarify deprecation messages
* 13433: OBSCURED_BY_OTHERS property now returns null instead of a value in
face down decks when tested using GKCs
* 13430: Pieces move too fast while "Repositioning stack" in HDPI monitors
* 13427: Cannot add or edit items when editing an Extension on Linux or Macs
* 13404: Use better color picker on Linux
* 13342: Player creates saveGame twice in a row when starting a log file
* 13307: Background transparency in Text Labels not working
* 2569: Improved error message for NoSuchElementException in
Decorator.mergeState()
3.4.2 - 17 September 2020
* 13425: Legacy property match expressions no longer evaluated == or !=
correctly
* 13416: Chatter fails to update
* 13409: Two units in same hex do not stack when hex overlaps two boards
* 13405: Piece window appears beside main map and chat pane instead of just
the chat pane
* 13398: Fix piece drag so that pieces can be moved a few pixels
* 13381: Prevent BeanShell from interpreting 1D, 1F, 1L as numbers
* 13365: Chatter component does not filter out Alt+Key commands
* 13300: Remove "Preference" option for HTML for Chatter
* 13279: Pivot was auto-reporting moves when auto-reporting is turned off
3.4.1 - 8 September 2020
* 13389: Chatter flickers when updated
* 13376: NoSuchMethodError due to change of setOldProperties() signature
* 13374: NPE in ExtensionTree.isEditable()
* 13373: ArrayIndexOutOfBoundsException in Embellishment.getProperty()
3.4.0 - 4 September 2020
* 13371: Render text labels directly at the required size rather than
rendering at 100% and scaling
* 13358: Prevent units in Zones setting OldLocationName incorrectly
* 13356: Game refresher should not copy marker state
* 13351: SequenceEncoder.Decoder.copy() should use start offset from parent
* 13332: Improved save game write time
* 13329: Don't create new GPIDs for temporary pieceslots
* 13217: Editor: Additional fix for cut-and-paste
* 13134: Some characters in Text Labels render poorly at 8pt on Windows in 3.3+
* 2377: NPE in Decorator.getOutermost() caused by PlaceMarker
* 2714: NPE in StackMetrics.merge()
3.4.0-beta1 - 26 August 2020
* 13325: Specify encoding for String conversion to and from bytes
* 13319: Multiline HTML labels breaks toolbar button alignment
* 13313: Specify VM options for Player via a file
* 13302: BasicCommandEncoder.DecoratorFactory and BasicPieceFactory should
have remained public
* 13301: Don't rewrite save state when we already have it
* 13300: HTML-Enable pref for Chatter doesn't show for pre-3.3.3 modules
without GlobalOptions
* 13291: Fix Beanshell issues with $$ variable processing
* 13290: Optimized serialization, unserialization
* 13289: Don't print "Saving game" twice when using Save As
* 13282: Stop logging debug messages by default
* 13281: Added inadvertently removed throws declaration for
Embellishment0.getCurrentImage()
* 13280: NPE in KeyStrokeListener.keyPressed()
* 13275: Ctrl+Mousewheel to zoom
* 13236: StackOverflowError: Expressions and Formatted Strings can infinite-loop
* 13217: Editor: Prevent pasting a cut ancestor as its own child
* 13200: NPE in Map.setup() when attempting to dock main map
* 13197: Reverted Mac hotkey change from 3.3.3-beta1
* 13076: NPE in FlowView$FlowStrategy.layoutRow()
* 12798: ClassCastException: NullCommand cannot be cast to AddPiece
* 12648: Setup stack doesn't recover from a piece build failure
* 11827: NPE in SendToLocation.getSendLocation()
* 11355: NPE in MassPieceLoader$MyTreeTable.getCellRenderer()
* 3215: Global Options icons do not update themselves properly
3.3.3-beta1 - 13 August 2020
* 13276: Center on Moves is now a user preference instead of a module setting
* 13251: Add Module name to Bug summary, extra info to comments
* 13250: Add implementation of Missing !~ Beanshell operator
* 13243: Add functionality to methods to be deprecated and removed gracefully
* 13239: Right-click doesn't pick up whole stack anymore
* 13234: Rotation gets stuck due to floating point error
* 13229: Performance: Save property map rather than clone pieces as snapshot
* 13221: Data race in ConcurrentSoftHashMap.SoftValue.equals() and hashCode()
* 13218: Allow a piece get its context menu click location
* 13216: Adding regions to Irregular Grid via GUI editor was broken
* 13205: NPE when trying to display file write failure dialog
* 13199: MapShader using image throws InternalError on Linux
* 13197: Hotkeys using Control should use Command on Macs
* 13196: Ctrl+Click toggles rather than only deselects
* 13191: Add a "Search" command to the editor for searching the
nodes/names/descriptions of a module
* 13184: CounterDetailViewer can now display overlapping counters
* 13178: Game Refresher does not handle Place Markers or Prototypes correctly
* 13174: Pieces in Piece Palettes (PieceSlots) can be given a scale factor
* 13172: Undo button can now be assigned a hotkey by module designer
* 13171: SetGlobalProperty makes menuCommands the wrong type of array
* 13164: Upgrade Apache Commons libraries: commons-io 2.7, commons-codec 1.14,
commons-lang3 3.10
* 13155: Correct Dutch translations
* 13153: Consistently ask to start logging when loading a game
* 13149: "Band Select" Improvements: immobile pieces don't "eat" band selects,
and band-select gets Does-Not-Stack filter
* 13146: Custom classes that are children fail to be culled in
PropertiesWindow.initialized (resulting in duplicate buildFile entries)
* 13137: Drag Threshold was effectively 1 pixel except at 100% zoom, making
double-click difficult; also added preference for drag threshold adjustment
* 13129: New HTML Chatter with colors, fonts/bold/italic, image tags
* 13124: Removed unused deprecated code
* 13123: "Mark When Moved" trait puts blank line in menu, even if Command
field left completely empty
* 13117: Help & HTML Charts scroll unnecessarily slowly with mouse wheel
* 13100: Replace Beanshell If function in Expression Builder with inline If ?:
* 13060: Area Of Effect generates NPE if activated when piece is not on a Map
* 13036: Entire contents of a deck can be inadvertently group-selected and moved
* 13018: Fix incorrect ExpressionConfigurer in SetGlobalProperty config
* 12999: Add Beanshell functions to generate Random results
* 12972: Return to Location backMap and backPoint are not sent to clients or
undone
* 12980: Set Global Property: Beanshell incorrectly tries to "simplify"
expression and generates incorrect result
* 12970: Setting values of Old... variables are not encoded in a Command
* 12952: Evalute $..$ strings in Property Match expressions on source pce
* 12951: Undo of Send to Deck command does not return cards to hand in same
state
* 12948: Trigger action firing multiple Moved Fixed Distance, piece ends up in
incorrect position
* 12935: NPE in MoveReporter.shouldMarkMoved assuming nonnull map
* 12888: NPE in BooleanConfigurer.setValue
* 12576: At-Start stack attaches to first board listed in module, even if that
board wasn't selected by player and is inactive
* 12554: Undo bug: Do not add the whole Stack to the DragBuffer
* 12519: GlobalKeyCommand with Matching Properties does not apply 'Fixed number
of pieces' to a Deck correctly
* 12551: Movement Trails: locallyVisible repeatedly "initialized" resulting in
buggy trail behavior
* 10414: SVG with non-px dimensions throws ImageIOException
* 10314: NPE in GameRefresher if dialog is closed quickly while test is running
* 3199: Add separators to menus
* 3042: Improved Retire/Resign/Switch Sides button flow
* 2705: NPE in FreeRotator.mouseDragged if piece was moved off-map
* 1875: Movement Trail Enhancements: add commands to clear, turn on, turn off
movement trails
3.3.2 - 16 July 2020
* 13182: Piece images in Inventory windows are drawn offset on HiDPI screens
* 13181: Piece images in Inventory windows have truncated height on Macs
* 13176: Bundled Java fails to start on Mac OS X < 10.13
* 13175: Add bundle for 32-bit Windows
* 13152: Version number and year set incorrectly in Mac DMG's Info.plist
* 13143: HTTPS URLs fail to load (handshake_failure) due to missing
jdk.crypto.ec module
* 13140: Versions with a build number are incorrectly sorted before versions
without a build number
* 13136: Update notifier still has old SourceForge URL for downloads
* 13126: Right mouse button and Control-Click broken on Macs
* 12861: Improved behavior of Zone editor
3.3.1 - 22 June 2020
* 13111: IncompatibleClassChangeError due to change of ComponentSplitter
methods to static
* 13083: BrowserSupport cannot open URLs on Linux without gtk3
3.3.0 - 16 June 2020
* 13103: Windows installer checks for 64-bit Windows, as bundled Java is 64-bit
3.3.0-beta4 - 8 June 2020
* 12973: Unnecessary NullCommands being generated by Trigger Action
* 12861: Improved behavior of Zone editor
* 12825: Send keep-alive to prevent disconnection
* 12817: Right-clicking on unexpanded stacks no longer selects top piece
* 12816: Splitter between chat and map panes starts with map obscured
* 12805: Upgraded Batik from 1.12 to 1.13
3.3.0-beta3 - 12 May 2020
* 12732: Use all available rendering hints for text
* 12731: javax.sound.samples.Clip fails to convert WAV files it can play
* 12724: Bundle Java 14 with Windows and Mac packages
* 12613: Advance maximum custom class version to Java 11
* 12544: MacOS launcher not finding correct Java install
3.3.0-beta2 - 29 April 2020
* 12579: Don't bundle Java on Linux
3.3.0-beta1 - 27 April 2020
* 12559: HiDPI support
* 12558: Bundle Java with VASSAL
* 12557: Compatibility with Java 9+
* 12556: Mass Piece Definer does not sort image names
3.2.17 - 31 December 2016
* 12534: Regular Expression matching not supported in Calulated Property
* 12533: Game Refresher fails if Extensions are loaded
* 12527: "Save Game" behaves as "Save As"
* 12526: Switching desktop on Mac OS X 10.11.3 sometimes clones the currently
selected unit
* 12518: Rotated Layer following property does not update if property changes
* 11649: Persistent LOS thread not working with zoom different from 100%
* 11404: Some uses of the PRNG introduce a minuscule amount of modulo bias
* 9670: IllegalStateException: Icon Family VASSAL not found in
ServerAddressBook.getCurrentIcon
3.2.16 - 1 April 2016
* 12524: Images retile unnecessarily due to bad timestamp
* 12522: Deck shuffling logged incorrectly
3.2.15 - 25 December 2014
* 11864: Relative $INSTALL_DIR in VASSAL.sh breaks paths for documentation
* 11769: NPE in Deck.getState()
3.2.14 - 16 December 2014
* 11667: Changing directory to $INSTALL_DIR before launching java breaks
relative paths for VASSAL.sh
* 11631: Text in SVG is not rendered by Java 6 on Mac OS X Yosemite
* 11404: Some uses of the PRNG introduce a minuscule amount of modulo bias
* 11281: ArrayIndexOutOfBoundsException in PieceDefiner$11.actionPerformed()
* 11275: Warn user when module contains incompatible class files
* 2505: NPE in javax.swing.JEditorPane.registerEditorKitForContentType()
3.2.13 - 27 July 2014
* 11193: Side selection fix for Bug 11085 misassigned observer
* 11148: Windows installer fails to uninstall old versions since 3.2.9
* 11112: DrawPile "Include command to send entire deck" does not persist if
no "Send Menu text" is set
* 10946: Z-order of pieces is not preserved in saves
* 10100: IllegalArgumentException: Piece is not on this map at
VASSAL.build.module.Map.selectionBoundsOf()
* 4752: ConcurrentModificationException in
sun.awt.color.ProfileDeferralMgr.activateProfiles()
* 4505: BitstreamException in Mp3AudioClip$1.run()
* 3253: ConcurrentModificationException in GameState.getRestorePiecesCommand()
* 2686: IllegalArgumentException in GeneralFilter.zoom()
3.2.12 - 21 June 2014
* 11085: Side selection dialog displayed twice when observer chosen
* 11084: Additional Selection Highlighters do not work
* 11083: SumStack() function fails if unit in stack does not define Property
* 11060: Symbol.NatoUnitSymbolSet.createImage() creates images with zero height
* 10957: Movement trails trait has incorrect bounding box
* 10925: IllegalArgumentException due to intransitive Comparator in
KeyBuffer.sort()
* 10897: Windows uninstaller unconditionally removes file associations
* 10886: Java fails to exit after temporary directory cleanup on Windows
* 10867: Mac launcher script does not find some Apple JDKs
* 10686: Using String.isEmpty() is Java 5 incompatible
* 10295: No Drag Cursors when dragging units on Windows 7 using Java 7
* 10260: Added missing documentation for Mass Piece Loader
* 9889: Added missing documentation for Module Level Action Button
* 9888: Added missing documentation for ExpressionBuilder
* 9483: StackOverflowError while processing InfiniteLoop
* 2518: NPE in ExtensionsManager.getExtensionsDirectory()
* 602: Horizontal wheel scrolling modifier should be Shift, not Ctrl
3.2.11 - 14 February 2014
* 10852: New launcher script does not find Java 5 on old Macs
* 10848: Failure to launch on newer versions of Windows due to old Launch4j
* 10809: First-time dialog is too tall on very short screens
* 10807: NPE in ColorManager.getColorSwatch()
* 10798: ZipException in BrowserHelpFile.ConfigSupport.packFile()
* 10797: Display installation instructions in DMG root window for Mac OS X
* 10796: Create compressed DMG for Mac OS X
* 10793: Text in SVG is not rendered on Macs with Retina displays
3.2.10 - 16 January 2014
* 10723: IllegalStateException in ImageIOImageLoader.<clinit>
3.2.9 - 1 January 2014
* 10641: Module Manager clobbers global preferences set in Editor, Player
* 10628: Game state not set to unmodified after a save
* 10594: Max heap estimate sometimes too low for image tiler on Mac OS X
* 10590: Cards painted in wrong location when Deck is sent after using
"Draw specific cards" but without drawing cards
* 10518: Text is not antialiased in chat pane on Linux
* 10493: HTMLCharts do not follow anchors
* 10468: VASSAL.sh doesn't work if path includes spaces
* 10369: Windows installer doesn't find older installs on 64-bit systems
* 10158: UnsatisfiedLinkError: Can't find dependent libraries via
MemoryUtils.getPhysicalMemory
* 9897: Mac bundle fails to find non-Apple JVMs
* 9833: UnsatisfiedLinkError because JNA DLL cannot be read
3.2.8 - 28 July 2013
* 10342: IOException in ZipArchive.writeToDisk() while writing Preferences file
* 10317: 3-component JPEGs without JFIF markers where color components are
differently subsampled are incorrectly color-corrected by fix for Bug 9882
* 10298: Exception: TurnTracker.level_error in TurnComponent.getTurnLevel()
* 10279: Report State failed to perform inner commands before its own command
* 10266: ConcurrentModificationException at Prefs.save()
* 3294: IOException writing preferences at startup on Mac OS
* 2727: NPE in ReadOnlyPrefs ctor
* 2587: Manager and Player preferences get out of step
* Reverted bad fix for 2714: NPE in StackMetrics.merge()
3.2.7 - 23 June 2013
* 10261: Off-EDT UIManager.setLookAndFeel() causes lag on Apple Java
* 10256: StackOverflowError when Preferences can't be read
* 10249: Deck loses position over loading multiple player logs
* 10229: ArrayIndexOutOfBoundsException in RandomTextButton.DR
* 10217: Lose New Room selection field when changing from P2P to VASSAL server
* 10211: $oldLocation$ for Report Format is not set on Send To Location on
same map
* 10179: Module manager is overwriting P2P server preferences
* 10135: ClassCastException: GlobalProperties cannot be cast to Zone
* 10070: ClassCastException in DirectPeerPool.WTextArea()
* 9833: UnsatisfiedLinkError because JNA DLL cannot be read
* 9650: NPE in NodePlayer.toProperties()
* 3934: Windows installer launches VASSAL with admin privileges
* 3548: NumberFormatException in RandomTextButton.DR
* 2713: ClassCastException in P2PClient.playerToString()
* 2630: Editor crashes on close attempt when PieceDefiner is open
* 2545: NPE in TurnTracker$SetDialog.addChildControls()
3.2.6 - 23 May 2013
* 10184: Test Mode Counter Refresh created duplicate counters
* 10174: NPE in DirectPeerPool.Entry.edit()
* 10170: Incorrect LAN address reported under Linux
* 10169: Non-latin characters are lost on P2P connections between
different OS's
* 10167: Improve efficiency of SELECTED handling
* 10165: Rotation is not applied to Text Boxes in Game Piece Layouts
* 10155: NPE in FormattedStringExpression.evaluate()
* 10128: Slow Follow Property handling in Embellishment
* 10125: Expression Builder should return a Property Name, not expression in
the Set Global Property trait
* 10072: NPE in SynchCommand.executeCommand()
* 2714: NPE in StackMetrics.merge()
3.2.5 - 10 May 2013
* 10129: Pre-3.0 modules broken under 3.2
* 10128: Slow Follow Property handling in Embellishment
* 10125: Expression Builder should return a Property Name, not expression in
the Set Global Property trait
* 10124: Comparisons with GetProperty() calls do not work correctly
* 10107: NPE in ServerAddressBook.PeerClientEntry.toString()
* 10101: NPE in MassPieceLoader.MyTreeTableModel.setValueAt()
* 10099: Counter Detail Viewer displays top card in face down deck as face up
* 10097: 'Away from Keyboard' and 'Looking for Game' icons are wrong size
* 10083: Refesh Counters cannot refresh counters from a 3.1 Module/save game
* 10075: JPEGs with APP14 tags are incorrectly color-corrected by fix for
Bug 10053
* 10052: NPE when Tutorial filename is null
* 10016: P2P Client/Server modes do not work in 3.2.2
* 9696: NPE in ZipArchive.writeToDisk()
* 9694: NPE in ZipArchive.remove()
* 9654: NPE in ZipArchive$ZipArchiveInputStream.close()
3.2.4 - 8 April 2013
* 10054: Add option to clear tile cache to Module Manager
* 10053: JPEGs with APP14 tags are incorrectly color-corrected by fix for
Bug 9882
* 10016: P2P Client/Server modes do not work in 3.2.2
* 10012: NPE in EnumeratedPropertyPrompt.getNewValue()
* 9969: IllegalArgumentException in MapShader.PatternOp ctor
* 9823: No entry allowed for Peek command
* 9700: Unit activation improperly recorded
3.2.3 - 30 March 2013
Bugs fixed:
* 10038: NPE while editing a global property button
* 10000: IllegalArgumentException in Embellishment.setValue()
* 9997: NPE in RegionGrid.addRegion()
* 9990: Cannot customise Reverse Order text on a Deck
* 9967: Reversed stacking order when dropping a stack onto an expanded stack
* 9918: NPE in BeanShellExpressionConfigurer.addProp()
* 9910: ESC key interpreted as "No" instead of "Cancel" at save prompts
* 9905: User Guide item missing from Help menu
* 9882: ImageIO munges colors of 3-component JPEGs without JFIF markers
* 9864: Toolbar menu w/ Inventory Items autoexpands permanently when
switching players
* 9825: Macs with Retina displays unable to paint map tiles at non-power-
of-two zoom levels
* 9823: No entry allowed for Peek command
* 9717: ClassCastException: javax.swing.KeyStroke cannot be cast to
VASSAL.tools.NamedKeyStroke in ADC2 converter
* 9700: Unit activation improperly recorded
* 9681: NPE in Zone.getMutablePropertiesContainerId()
* 9648: ConcurrentModificationException in Map.drawBoardsInRegion()
* 9589: NPE in Embellishment.myGetKeyCommands()
* 9555: NoSuchFieldError in ExpressionInterpreter.evaluate()
* 4803: NoSuchElementException in Footprint.draw()
* 2531: Change Global Property button missing configurable tooltip
3.2.2 - 12 December 2012
Bugs fixed:
* 9637: Faulty base64 encoding when synchronizing with game server
* 9636: Mask trait opens too large if images are large
3.2.1 - 11 December 2012
Bugs fixed:
* 9600: UnsupportedClassVersionError for net.iharder.Base64 on Java 5
* 9596: Sub-commands list in SubMenu properties dialog doesn't resize
* 9595: DataArchive should not collect image filenames case-insensitively
* 9593: NPE in GameRefresher.processGamePiece()
* 9589: NPE in Embellishment.myGetKeyCommands()
* 9555: NoSuchFieldError in ExpressionInterpreter.evaluate()
* 9511: NPE in BooleanConfigurer.setValue()
* 4159: NPE in javax.swing.BoxLayout.preferredLayoutSize()
3.2.0 - 3 December 2012
* Levels within a Layer can be moved up or down the level list using
buttons. [RFE 1919]