Vassal 3.8.0-beta2 Released

VASSAL 3.8.0-beta2 Released

The VASSAL Team is happy to announce VASSAL 3.8.0-beta2, which is a preview release.

IMPORTANT

  • Starting with 3.7.25, Vassal requires Java 17 or newer. If you are using one of the MacOS or Windows packages, Java is bundled with Vassal and this will not affect you. If you are using Linux or another OS, please upgrade Java to at least Java 17.
  • Modules saved in 3.8 are not openable by earlier versions of Vassal. We recommend keeping a backup copy of any pre-3.8 modules you plan to modify in 3.8 until you’ve verified that everything works to your satisfaction.
  • Things may be broken which worked previously. If you find a new bug, please report it.

Download

Linux
Linux (Debian)
Linux (RPM)
MacOS
Windows (64-bit x86)
Windows (32-bit x86)
Windows (64-bit ARM)
Other

Changes since 3.8.0-beta1 and 3.7.27

New features

  • 14978: Allow cannotMove to be set as a DynamicProperty
  • 14556: Support Multi-Location commands within Sub-Menus

Bug fixes

  • 15054: Fix Truncated text label on hidden pieces
  • 15049: Make Zone use full qualified path for property container

Improvements

  • 15060: Stop writing obfuscated data in hex
  • 15042: Update MacOS launch script to allow more options
  • 14583: MoveCameraButton now uses preferred center instead of viewport center

Other changes

  • 15068: Upgraded spotbugs-maven-plugin to 4.10.4.1
  • 15065: Switched from obsolote mockito-inline to mockito-core
  • 15063: Upgraded slf4j-api to 2.0.19
  • 15062: Upgraded byte-buddy to 1.18.13
  • 15050: Upgraded maven-surefire-plugin to 3.6.0

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

Minimum Requirements

VASSAL 3.8 requires Java 17 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 17 or later.

If you are using MacOS 14, please ensure you are using 14.4 or later, to avoid a bug in MacOS which prevents Vassal from starting.

Help us test

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

Cheers,

The VASSAL Team

1 Like

Some new features are missing descriptions in the Release Notes:

@cholmcc: 14978
@rlament: 12944, 14342, 14556
@Cattlesquat: 13168
@marktb1961: 12763


Module Design

Property cannotMove can be set

The property of pieces cannotMove which dictates whether a piece can be moved by the user, can now be manipulated through logic in pieces. For example, if a piece has a Dynamic Property trait that defines the property cannotMove, as well as key commands to set the value to either true or false, then that piece can be made un-moveable at times, and moveable at other times.

This allows a module designer to inhibit movement of certain pieces under certain conditions, as defined by the game implemented. For example, a module may inhibit movement of artillery pieces if that artillery piece has already fired this turn.

Note that the trait Does not stack also defines the property cannotMove.

For an example of how this can be used in module, see for example Advanced Squad Leader: Starter Kit #1.


2 Likes

Other notes:


Improvements

  • 15042: Update MacOS launch script to allow more options

The script to launch Vassal from the command line, /Applications/VASSAL.app/Contents/MacOS/VASSAL.sh on MacOS, now accepts more options. This allows a user to for example specify additional property values to the Java Virtual Machine, or to by-pass the Module Manager window. More details about the available options are shown with

$ /Applications/VASSAL.app/Contents/MacOS/VASSAL.sh --help

These options are only available when a (power-) user executes the above script directly in a Terminal.

  • 14583: MoveCameraButton now uses preferred center instead of viewport center

When a user presses the Move Camera Button, it will try to center on the next matching piece which is closest to (but not at) the last preferred view centre of the map. That last preferred view centre is set when the user clicks the map, or the view is otherwise centred on some location. This will make it more likely that the button will cycle through all missing pieces. Note that there’s no guarantee that it will cycle through all matching pieces.

  • 15049: Make Zone use full qualified path for property container

A Global Property defined in a Zone, is stored with its full Map, Board, Zone path, and now also communicated as such in an on-line game. That means, that multiple boards with the same zones may have their own independent properties. This is especially useful of the Map allows only a single Board, and the Boards defines alternatives that have the same zones.