Vassal 3.6.5 Released

VASSAL 3.6.5 Released

The VASSAL Team is happy to announce VASSAL 3.6.5.


  • NEW! 64-bit ARM packages: There are now MacOS and Windows packages for 64-bit ARM processors. If you have a Mac with an Apple Silicon CPU (which is a 64-bit ARM processor), we recommend using the 64-bit ARM build.
  • Code deprecated more than a year ago has been removed. Modules containing custom code using that code MUST be updated if they are to work with 3.6.
  • Things may be broken which worked previously. If you find a new bug, please report it.
  • Modules saved in 3.6 are not openable by earlier versions of VASSAL. We recommend keeping a backup copy of any pre-3.6 modules you plan to modify in 3.6 until you’ve verified that everything works to your satisfaction.


MacOS (64-bit ARM)
MacOS (64-bit x86)
Windows (64-bit ARM)
Windows (64-bit x86)
Windows (32-bit x86)

Changes since 3.6.4

New features

  • 11124: Console supports up-arrow / down-arrow for command history
  • 11122: Console can show/set properties of selected piece
  • 11117: Log files can be fast-forwarded and appended to

Bug fixes

  • 11218: Grid Editor incorrectly changes some grid settings on Cancel
  • 11196: Game Refresher should not refresh stacks not on maps
  • 11186: Disable load and edit actions for null modules
  • 11179: Chart Windows display their names properly in their window titles
  • 11162: Turn Tracker does not display a spurious blank line if its report format is left empty
  • 11160: Prevent At-Start Stacks from creating additional spurious pieces on main map
  • 11156: Games incorrectly load normally during ‘Load Continuation’
  • 11150: Use heuristic value for tiler max heap, retry with 50% more on failure
  • 11149: Capture tiling error messages Java incorrectly writes to stdout
  • 11139: Deal-to-Other key in Mask Trait now recognized in Search
  • 11135: Fixed Discord console drag-and-drop bug
  • 11127: Don’t throw exception if there’s a drive letter in a filename
  • 11121: Fix problem where undo wasn’t allowed when starting a new game with logging turned on
  • 11119: Fixed NPE in NamedHotKeyConfigurer.setValue()
  • 11115: Fix ClassCastException due to Zone properties not accounting for folders
  • 11109: LOS Range incorrect when thread is not snapped to hex centres
  • 11106: Fix NPE when duplicating GamePieceImage
  • 11105: Added missing Editor.SendToLocation.getSendLocation translation key
  • 11096: Remove “duplicate this item” option from Game Piece Image
  • 11095: Deduce the existence of localized image directories which lack ZIP entries
  • 11094: Exclude GamePieceLayout image names from unused image list
  • 11093: Image directories for i18n were not found in 3.6.4
  • 11089: Write text files in UTF-8, not the default encoding
  • 11081: Prevent GameRefresher from changing visual order of pieces

Other improvements

  • 11216: Inventory has checkbox to enable zoom (defaults off)
  • 11209: Global Options settings for (a) Inventory Security, and (b) Send-to-Location generating move trails. Inventory now defaults to “old behavior” on seeing private windows, but can be turned to secure.
  • 11205: Improved Polygon Editor (cut/paste vertices, delete polygon) & Improved Region Editor (drag-at-edge works again, move regions inside of zone)
  • 11197: Better auto-description for Translatable Message trait and BasicPiece
  • 11194: The errorlog console command is available at all times
  • 11164: Upgrade bundled Java to 17.0.2+8
  • 11135: Prompt to save/discard/cancel before loading the new game
  • 11120: Permit hyphens and periods in GamePieceImage names
  • 11107: Warn if Decks or Stacks defined before [Map Boards]
  • 11098: Screenshot “typo” fix for Turn Tracker’s global hotkey

Changes since 3.6.3

New features

  • 11079: Main window & map accept Drag-and-Drop for loading saves and logs
  • 11032: List Key Commands tool for Editor

Bug fixes

  • 11073: Fix situation where Send-to-Location throws exceptions when it can’t find target counters
  • 11069: Fix crash in Load Deck when an invalid deck file selected in file picker
  • 11067: Fix NPE in SetupStack.isOwningBoardActive()
  • 11065: Improved error handling when a temp file can’t be created
  • 11062: Fix problem on Windows where a click at edge made it slowly scroll all the way in that direction
  • 11060: Fixes to various Toolbar Buttons that weren’t respecting the “disable-on-global-property” settings
  • 11056: Don’t attempt to send to already-hung-up connection
  • 11053: Suppress Empty Deck Hotkeys when refreshing game
  • 11041: Inventory windows respond to hide-if-property-true
  • 11039: Display Loaded message instead of Cancelled when refreshing Predefined Setups
  • 11038: Allow ‘Use Same Boards’ option on Private Map to be removed
  • 11031: Turn Tracker List configure box missing labels
  • 11025: Guard against ClassCastException when MultiActionButtons change property values
  • 11024: Communicating with tiler over socket fails for some users; use stdout instead
  • 11020: Don’t display lock option for P2P rooms, which aren’t lockable
  • 11011: Fixed typo in DiceButton docs

Other improvements

  • 11076: Editor’s search function (and List Key Commands) will now “find” the keys for Undo & Step Forward
  • 11074: Support Send-to-Location source/target matching with $…$ expressions
  • 11070: Documentation updates for DrawingMouseover / DrawingMouseover Index
  • 11059: Right Click menu added to Show Error Log window in Module Manager
  • 11054: Don’t let old versions of PoG load and crash

See the Release Notes for descriptions of the changes in 3.6.

Minimum Requirements

VASSAL 3.6 requires Java 11 or later.

The Windows and MacOS packages have an appropriate version of Java bundled with them, so there is no need to install Java separately on those operating systems. On Linux, use your package manager to install Java 11 or later.

Help us test

Please report bugs in the Technical Support & Bugs category at the VASSAL forum.