Skip to content

Releases: vassalengine/vassal

VASSAL 3.5.6

25 May 21:26
3.5.6
Compare
Choose a tag to compare

Release Notes

Changes since 3.5.5

Bug fixes

  • 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
  • 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
  • 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
  • 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

Other improvements

  • 14477: MouseoverStackViewer: Show a single card when used in a PlayerHand window
  • 14453: Improved error message on failure to load a deck
  • 14408: Lock logs and saves during writes to preempt locking by programs like Dropbox

VASSAL 3.5.5

06 Apr 20:33
3.5.5
Compare
Choose a tag to compare

Release Notes

Changes since 3.5.4

Bug fixes

  • 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"
  • 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

Other improvements

  • 14282: Upgrade to Java 16 for Windows, Mac packages

VASSAL 3.5.4

28 Mar 23:31
3.5.4
Compare
Choose a tag to compare

Release Notes

Changes since 3.5.3

New features

  • 14228: Chess Clocks can now be manually reset (if manual reset is enabled for them by module designer)
  • 14217: MouseoverStackViewer - $countPieces$ will give the total number of pieces found in the stack (w/o having to create a property)
  • 14207: Improved translation features (Global Translatable Message component, Translatable Message trait, exposing current language/locale as property)
  • 14191: CurrentLanguage and CurrentLanguageName exposed as module properties

Bug fixes

  • 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
  • 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
  • 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.
  • 14203: Global Key Commands should exit after displaying report if there is no key command to issue
  • 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
  • 14192: Decks from previous saves and logs are retained in memory
  • 14187: Drag Thresholds shouldn't be violated by "deep legacy" mouse listeners (e.g. accepting double click AND drag from same mouse sequence)
  • 14178: Some weird systems lack awt.font.desktophints but aren't headless
  • 14168: Fix broken HTML in the 'not-allowed-in-multiplayer-games' message
  • 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
  • 14143: First character is 'eaten' when typing chat while over map
  • 14138: Turn Tracker mispopulates button tooltip field while running in editor
  • 14136: Module-level GKCs were not honoring fast match
  • 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
  • 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

Other improvements

  • 14258: "Logging" and "Replaying" should have priority over "Saved" in the title bar
  • 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)
  • 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
  • 14201: Share immutable objects
  • 14193: Expressions should be cached
  • 14185: Distinguish tile loading errors from other image loading errors
  • 14182: Prevent duplication of FormattedString data and Expressions
  • 14167: Inefficient implementation of FilterOutputStream in ZipWriter
  • 14148: Module Editor Labels get truncated with '...'
  • 14139: Delete trait to set 'old...' properties prior to deleting piece
  • 14133: Better support for Mac Alt and Function keys
  • 14066: Remove Unused Images: Dialog sizing and file size display improvements

VASSAL 3.5.3

23 Feb 20:57
3.5.3
Compare
Choose a tag to compare

Release Notes

Changes since 3.5.2

Bug fixes

  • 14122: IllegalArgumentException when Action Button is armed on one map but released on another
  • 14078: Undo causes standard counter to become unstacked

Other improvements

  • 14121: Editor shows Global Property descriptions next to the names in the main list

VASSAL 3.5.2

23 Feb 00:42
3.5.2
Compare
Choose a tag to compare

Release Notes

Changes since 3.5.1

Bug fixes

  • 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)'
  • 14086: Fix Alt key for selecting on maps
  • 14078: Undo causes standard counter to become unstacked
  • 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)
  • 14065: Show OS Specific cut/paste key descriptions in Piece Definer
  • 14061: ArrayIndexOutOfBoundsException in StringArrayConfigurer.entryChanged()
  • 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

Other improvements

  • 14098: Player includes module version number in window title
  • 14077: Include '(pixels)' in Turn Counter Label Display Length Label
  • 14070: Array Configurers: Add button moves focus to newly created entry
  • 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)
  • 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
  • 14053: Canceling Welcome Wizard closes the Player (unless "show wizard at startup" has been unchecked)
  • 14055: Set Global Property: include name/expression of property in trait list

VASSAL 3.5.1

14 Feb 23:54
3.5.1
Compare
Choose a tag to compare

Release Notes

Changes since 3.5.0

Bug fixes

  • 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
  • 14018: Refresh Predefined Setup incorrectly clones at start stacks
  • 14012: Die Roll 'Prompt for values when button pushed' dialog is broken
  • 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
  • 13975: ArrayIndexOutOfBoundsException using Edit All Contained Pieces
  • 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

Other improvements

  • 14040: Reference Manual cleanup
  • 14039: Improved/Repaired some tables in online docs
  • 14022: Upgrade bundled Java to 15.0.2+7
  • 14019: Remove confusing Vassal Version column from MM, show based on preference
  • 14015: Added infinite loop protection to PlaceMarker
  • 14011: Search now pre-selects contents of search field when restoring/remembering the previous contents
  • 14009: Standardize remaining dialogs
  • 13977: Alt+Shift now an option for band selection of Does Not Stack pieces
  • 13974: Better window title bars (filename-first like most apps)
  • 13930: Added infinite loop protection to TurnTracker
  • 13742: Action Button trait should arm when pressed, fire on release

VASSAL 3.5.0

31 Jan 19:08
3.5.0
Compare
Choose a tag to compare

Release Notes

Changes since 3.4.13

New features

  • 13706: Console, for entering commands to affect errorlog, properties, etc.
  • 13522: Performance improvements for Global Key Commands
  • 13504: Simpler way to display PDF files from Help menu
  • 13494: Expose version numbers and module strings to module as properties
  • 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
  • 13355: Threshold for centering on opponent's move is now configurable
  • 13352: Title Bar of module should always show most recent Save/Load/Log
  • 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
  • 1868: Method for removing unused images from modules
  • 1826: Aesthetic improvements to dialogs
  • 1807: Chess clocks
  • 1804: Added Preference for turning off sounds

Bug fixes

  • 13950: Level name in Layer trait is not being saved
  • 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
  • 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
  • 13811: NPE in DiceButton.setAttribute()
  • 13810: Find all parentless Dialogs and JOptionPanes and give them a parent
  • 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
  • 13771: NPE after cutting/pasting piece palettes in Editor
  • 13755: Chess clock help file is misnamed
  • 13741: DataArchive.getImageNames() incorrectly returns an empty string if images/ has an entry in the ZIP archive
  • 13675: Piece Slots shouldn't be allowed at very top level of Piece Palette
  • 13660: Replaced ComponentSplitter with SplitPane for better splitter positioning
  • 13659: "Remember window size" preference is no longer ignored
  • 13593: Global preferences are written when changed
  • 13509: Save As in Editor, if it fails, complains the new filename
  • 13495: Wizard should set the initial value for next save/load dialog
  • 13336: Fixed incorrect date format in SecretNotesController
  • 12946: Prevent top level required components from being deleted in Editor
  • 4779: Comparison operator >= no longer incorrectly documented as =>
  • 4324: Antialiasing RenderingHints not set properly for drawing game components

Other improvements

  • 13952: Make Flare animation disableable
  • 13947: File > Import Module moved to Tools > Convert Module
  • 13813: Simplified communication between Module Manager, Player, Editor
  • 13792: Combined save and log loading; Load Continuation moved from File to Tools menu
  • 13777: Improved workflow of zone editor
  • 13761: Refer to MacOS instead of MacOS X now that MacOS 11 is out
  • 13661: Simplified ZIP archive writing and error reporting
  • 13450: Improve look of Auto Configured editor dialogs
  • 13437: Improve visibility of Logging status - Help people to remember to start logs
  • 13363: buildFile renamed to buildFile.xml
  • 13354: Add a chatter message when starting to write a logfile
  • 13353: Use native file chooser on Linux
  • 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
  • 13098: Move Compatibility related preferences on the General tab to a new Compatibility tab
  • 1907: Suggest default filename extensions

VASSAL 3.4.13

22 Jan 21:19
3.4.13
Compare
Choose a tag to compare

Release Notes

Changes since 3.4.12

Bug fixes:

  • 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

VASSAL 3.5.0-beta3

21 Jan 16:03
3.5.0-beta3
Compare
Choose a tag to compare
VASSAL 3.5.0-beta3 Pre-release
Pre-release

Release Notes

Changes since 3.5.0-beta2

Bug fixes

  • 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

VASSAL 3.5.0-beta2

05 Jan 00:00
3.5.0-beta2
Compare
Choose a tag to compare
VASSAL 3.5.0-beta2 Pre-release
Pre-release

Release Notes

Changes since 3.5.0-beta1

Bug fixes

  • 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
  • 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
  • 13771: NPE after cutting/pasting piece palettes in Editor
  • 13755: Chess clock help file is misnamed
  • 4324: Antialiasing RenderingHints not set properly for drawing game components

Other improvements

  • 13813: Simplified communication between Module Manager, Player, Editor
  • 13792: Combined save and log loading; Load Continuation moved from File to Tools menu
  • 13777: Improved workflow of zone editor
  • 13761: Refer to MacOS instead of MacOS X now that MacOS 11 is out