Vassal 3.7.20 Released

VASSAL 3.7.20 Released

The Vassal Team is happy to announce the release of Vassal 3.7.20.

IMPORTANT

  • 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.
  • Modules saved in 3.7 are not openable by earlier versions of Vassal. We recommend keeping a backup copy of any pre-3.7 modules you plan to modify in 3.7 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)
MacOS
Windows (64-bit x86)
Windows (32-bit x86)
Windows (64-bit ARM)
Other

Changes since 3.7.19

Bug fixes

  • 14433: Work around change in java.io.File API in Java 25

Other changes

  • 14478: Upgraded checkstyle to 13.2.0
  • 14475: Upgraded maven-compiler-plugin to 3.15.0
  • 14365: Upgraded commons-codec to 1.21.0
  • 14464: Upgraded logback-classic to 1.5.27
  • 14445: Upgraded byte-buddy to 1.18.4
  • 14430: Upgraded junit-bom 6.0.2
  • 14424: Upgraded license-maven-plugin to 2.7.1
  • 14421: Upgraded jsoup to 1.22.1
  • 14415: Upgraded httpclient5 5.6
  • 14414: Upgraded exec-maven-plugin to 3.6.3

Changes since 3.7.18

Bug fixes

  • 14335: Mark as moved when moving a piece between mats within the same location
  • 14323: Sanitize extracted image filenames for HTML viewer
  • 14250: Don’t report changes to scenario options when report text is empty

Other changes

  • 14406: Upgraded httpclient5 to 5.5.2
  • 14404: Upgraded maven-artifact to 3.9.12
  • 14402: Upgraded asm to 9.9.1
  • 14401: Upgraded checkstyle to 12.3.0
  • 14395: Upgraded logback-classic to 1.5.22
  • 14379: Upgraded maven-resoures-plugin 3.4.0
  • 14377: Upgraded maven-source-plugin to 3.4.0
  • 14373: Upgraded byte-buddy to 1.18.2
  • 14369: Upgraded spotbugs-maven-plugin to 4.9.8.2
  • 14361: Upgraded commons-lang3 to 3.20.0
  • 14359: Upgraded maven-jar-plugin to 3.5.0
  • 14347: Log more info for the piece not on map exception
  • 14341: Upgraded commons-io to 2.21.0
  • 14338: Upgraded commons-codec to 1.20.0
  • 14330: Upgraded junit-bom to 6.0.1
  • 14327: Upgraded asciidoctorj-pdf to 2.3.22
  • 14318: Upgraded spotbugs-annotations to 4.9.8
  • 14307: Upgraded exec-maven-plugin to 3.6.2
  • 14301: Upgraded bundled Java to 25+36 (Windows x86_64, Mac), 25+37 (Windows aarch64)
  • 14291: Update info to guide users of unsupported macOS versions
  • 14281: Upgraded maven-pmd-plugin to 3.28.0
  • 14274: Upgraded asm to 9.9
  • 14265: Upgraded maven-enforcer-plugin to 3.6.2
  • 14264: Upgraded maven-dependency-plugin to 3.9.0
  • 14260: Reorder items on Player Tools menu to put all Loads together
  • 14254: Build release on tag

Changes since 3.7.17

New features

  • 14244: Build a Debian package

Bug fixes

  • 14243: Add missing default Wizard sidebar image
  • 14065: Remove whitespace characters from internationalized Dice Summary strings
  • 14013: Fix Turn Counter displaying hidden list items
  • 13584: Decks sometimes show the wrong card underneath the top one
  • 12924: Report format insert feature selects all text causing overwrite

Other changes

  • 14247: Upgraded license-maven-plugin to 2.7.0
  • 14246: Upgraded maven-compiler-plugin to 3.14.1
  • 14245: Upgraded maven-javadoc-plugin to 3.12.0
  • 14242: Upgraded spotbugs-annotations to 4.9.6
  • 14241: Upgraded spotbugs-maven-plugin 4.9.6.0

Changes since 3.7.16

Bug fixes

  • 14031: Prevent NPEs when checking for amount of physical memory
  • 13682: Prevent Hotkey from restarting an open log file

Improvements

  • 14115: Do not display blank or empty tooltips
  • 14111: Fixed bad link to Global Properties docs page
  • 14096: Fixed typos in regex examples
  • 13036: Add tooltip showing image file name for button icons in editor

Other changes

  • 14240: Upgraded spotbugs-annotations to 4.9.5
  • 14239: Upgraded spotbugs-maven-plugin 4.9.5.0
  • 14238: Upgraded maven-surefire-plugin to 3.5.4
  • 14234: Upgraded jsoup to 1.21.2
  • 14229: Upgraded checkstyle to 11.0.1
  • 14212: Upgraded maven-javadoc-plugin to 3.11.3
  • 14211: Upgraded byte-buddy to 1.17.7
  • 14189: Upgraded commons-codec to 1.19.0
  • 14188: Upgraded commons-io to 2.20.0
  • 14183: Upgraded bundled Java to 24.0.2+12 (Windows x86_64, aarch64; Mac), 21.0.8+12 (Windws x86_32)
  • 14182: Upgraded maven-clean-plugin to 3.5.0
  • 14181: Upgraded license-maven-plugin to 2.6.0
  • 14180: Upgraded maven-pmd-plugin to 3.27.0
  • 14179: Upgraded maven-artifact to 3.9.9
  • 14178: Upgraded maven-enforcer-plugin to 3.6.1
  • 14168: Upgraded junit-bom to 5.13.4
  • 14150: Upgraded commons-lang3 to 3.18.0
  • 14100: Embed the org.netbeans.*.wizard package fully
  • 14079: Upgraded exec-maven-plugin to 3.5.1
  • 14069: Upgraded httpclient5 to 5.5
  • 14041: Upgraded batik to 1.19
  • 14027: Upgraded bundled x86 Windows Java to 21.0.7+9
  • 14023: Upgraded checkstyle to 10.23.1
  • 13995: Upgraded commons-io to 2.19.0

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

Minimum Requirements

VASSAL 3.7 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.

Cheers,

The VASSAL Team

2 Likes

Props to the team for keeping Vassal cross-platform all these years. This is the first time I noticed the .deb file available for Linux. Would you say that the main benefit of this for those of us using Debian or Ubuntu based distros is that it should be able to update itself automatically when installed with the package manager, unlike the downloadable tarball?

The Debian package was added in 3.7.19, which explains why you haven’t seen it :slight_smile: Also, @uckelman has not (yet) integrated the availability in to the web-pages except in the release announcements.

The Debian package is not (yet) part of the regular Debian distribution, and you cannot get it through the regular channels you get Debian packages from. Instead, you will have to download the package and install it as explained here. Still, as simple, or simpler, than otherwise.

The main benefits of the Debian package for Debian based systems are

  • Automatic dependency installation. The package pulls in all needed dependencies automatically.
  • Use external third-party packages where ever possible. That means you do not have duplicates of various .jar files floating around.
  • Full integration into the Debian system and desktop:
    • File associations - Vassal files are associated with the Vassal application, which means you can open a .vmod file, for example, simply by double-clicking it.
    • Registered application. The Vassal application is registered with the desktop, which means you can launch from the regular application menus and so on.
    • Documentation integration. The Vassal documentation is registered with the system so that it is available through regular documentation channels - for example
      man vassal
      
    • Better launcher script. This script allows you to run
      $ vassal -l MyModule.vmod
      
      without having to prefix the module with the full path to the current directory.

Yours,
Christian

Thanks for the reply, but I was trying to ask specifically if one installs Vassal via the .deb package one downloads from this web site via double clicking it as you said, will it then automatically update from the current version to version 3.7.21 and beyond?

No. Suppose Vassal 3.7.21 is released, you will still need to download it and install it as outlined here. That is,

$ sudo apt update 

will not pull down the new version. For that to happen, the package has to have been installed from some repository - e.g., packages.debian.org. Currently, the Vassal Debian package is not in any repository.

There are basically two options for a repository

  • The official Debian repository (and those of the Debian derivatives). For that to happen, we’d need some Debian Maintainer to pick up the package and maintain that within Debian.
  • Set up an unofficial repository. That’s not too difficult to do and could probably be integrated into the GitHub deployment.
    This is what I meant by “you cannot get it through the regular channels you get Debian packages from” in the previous message.

Vassal will still check for new updates - as it has always done. Unfortunately, the Debian package is not (yet) mentioned on the page - Download Vassal - opened when you click OK. Hopefully @uckelman will add it (there’s a PR that does just that) soon.

Yours,
Christian

Understood. An unofficial repository would be great to enable automatic updates for both Debian and Ubuntu based distros. I use the tarball download currently, but not always the very latest version. I place the directory into /opt and just manually integrate it into the menu in Linux Mint myself so it’s easy to launch with the keyboard.

As an aside, I was also pleased to see not long ago that the “Other” version of Vassal works on my one computer running GhostBSD, a variant of FreeBSD for desktop computer users.

To you, running Mint, it will be easier to use the .deb package. Just

  1. download the package from the GitHub release page
  2. find the download - typically in ~/Downloads
  3. Either
    • Double-click the .deb file to install it, or
    • Run
      $ sudo apt install ./vassal_3.7.20-1_all.deb
      
    (adjust for downloaded version)

This will do everything for you - including full system integration, not just a menu entry :slight_smile:

If GhostBSD - or any other OS - can run a Java Virtual Machine (JVM), then it can run Vassal. One can get Android to run a JVM and Vassal on top of that. Same with SteamOS, but iOS does not run a JVM, so no luck on an iPad or iPhone - sigh.

Yours.
Christian

If anyone is interested in an rpm (RedHat - and derivatives - package) of Vassal, they can find one here.

To install:

  1. Download the vassal-3.7.20-1.noarch.rpm from the above site.
  2. Either
    • Double-click the file (typically in your Downloads folder), or
    • Run
      $ sudo rpm -i vassal-3.7.20-1.noarch.rpm
      
      in a terminal in what ever directory you downloaded the file to - typically ~/Downloads.

The package provides full system integration, meaning you can double-click Vassal files to have them open up in Vassal, and so on.

Note that this is an unofficial build of Vassal 3.7.20 - but the only difference is the distribution medium.

Any feedback is much appreciated.

If you do get it, and experience any problems, please report your problem at this PR. Thanks.

Yours,
Christian