Releases: vassalengine/vassal
Releases · vassalengine/vassal
Vassal 3.6.0
Changes since 3.5.8
New features
- 10736: 'Deal cards out' to other players
- 10728: Allow 'Prompt' Dice Button values to be locked by designer
- 10727: Module Debug Window
- 10719: Deck Refresher
- 10717: Deck access - allow access to decks to be restricted by player
- 10682: Move Camera Button
- 10674: Startup Global Key Commands always fire in order, can't be undone, and can be configured to, e.g., "once per game"
- 10649: Deck can start face-up or face-down when using right-click menu setting
- 10628: Autopeek Rollover
- 10584: Map "Mark Unmoved" button now accepts a hotkey and a report format
- 10582: Basic Name trait - facilitates creating pieces entirely in prototype (alternative way to fill BasicName property)
- 10576: Send-to-Location new options for pieces-selected-by-properties: cycle and nearest
- 10558: Added Current Mat GKC FastMatch option
- 10552: CounterDetailViewer - can combine layer filters with property match expression
- 10551: Action Button option to open right-click context menu
- 10509: Add
$numericTotal$ and$result#$ options to standard Dice Button report format - 10505: Enable Offset options to work with the Grid option in SendToLocation
- 10486: Better obscurable option for insetting
- 10484: Mats have more deselection options; double-clicking delesects cargo
- 10468: Refresh Counters support for Mats and Cargo
- 10454: Game Piece Palette allows setting of default width for "docked" Game Piece Palette
- 10412: Double the max heap for modules which run out of memory during loading
- 10394: Add a Key Command to Can Rotate trait to rotate directly to a facing specified by an expression
- 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
- 10248: Invisible trait - Option to disable auto-report of moves
- 10075: Scaling factors for Layers and Non-Rectangular
- 10066: Mats & Cargo - Cargo pieces stay attached to Mat piece when moving.
- 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
- 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
- 9998: Editor now has Drag and Drop support
- 9997: Can duplicate and insert components in Editor, not just add to bottom
- 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.
- 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
- 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
- 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
- 9391: Beanshell can now access $$ variables in Report Formats
- 4542: Added 'Stack Normally' option to 'Does Not Stack' trait
- 4533: Make grid center dot display independent of grid display
Bug fixes
- 10840: Directly setting coordinates in Zone definer fails to create a Zone
- 10827: Fix Deck refreshing when running Game Refresher
- 10826: Protect against multiple initializations of Movement Trails
- 10818: DrawingMouseoverIndex correctly returned as string. Console now displays null valued properties instead of NPE
- 10815: Fix Dice Button reporting when Keeping and Sorting results
- 10810: Protect against no available trait being selected in PieceDefiner
- 10793: Fix NPE: Always cache SetupStack configurer bounding box
- 10777: Fix duplicate DragShadow for Cargo at zoom < 100%
- 10773: Fixed bad description for Movement Trail trait
- 10760: Correctly initialize local-only properties in Movement Trails
- 10757: Prevent undo of Refresh Counters from causing contents of Decks to disappear, and deleting units from inside a Deck could not be undone
- 10752: Fixed bug where Deck 'count expressions' wouldn't count beanshell, only old-style (now will count either)
- 10734: No refresh allowed during replay
- 10718: NPE due to dropTargetSelector being unset
- 10713: Escape errorLog path when making link URL for connection failed page in BugDialog
- 10711: When rotating a mat, jointly rotating cargo should prefer to stay with current mat
- 10703: Correct inconsistency in use of GetConfigureBoard
- 10702: When inventory grouping specifies properties that aren't internally strings, don't balk
- 10683: Fix bug in DiceButton 'Keep Dice' option
- 10679: Place Marker, Send-to-Location, and Translate traits didn't always repaint maps
- 10678: Undo of movement will no longer deny lone stackable pieces their own stack
- 10671: Calculate Hex Range correctly, regardless of hex shape
- 10663: Fix occasional draw-side exceptions during loading game and saving screenshots
- 10660: Report translated name for Symbolic Die Faces
- 10659: Sanitize temporary file names a bit earlier
- 10658: Fix NPE if try to open translations but the buildable doesn't exist
- 10654: Fixed corner-case NPE when closing a game
- 10647: Private Maps visible to non-owning players will correctly display Mouseover text
- 10640: Tidier right arrow symbol in default move reports
- 10639: Fix exception when canceling edit of a component that has been elsewhere moved or deleted
- 10638: Fixed NPE if pasting a cut component that was then deleted before pasting
- 10635: Trigger Action traits with "loop until" and "loop while" conditions can properly access piece properties in expression builder
- 10632: Fix ArrayIndexOutOfBoundsException in Embellishment when layer value is out of range
- 10631: Clip pieces to their bounds and set rendering hints for drag image
- 10630: Correctly check if there are sides with blank passwords for password matching
- 10629: String Array Configurer bounds protection
- 10623: Fix NPE joining chat room when socket drops early
- 10622: Fix NPE when MapShader temporarily points to blank or missing filename
- 10621: Protect against changing to Image style while Image name is still blank
- 10620: Fix NPE EditPropertiesAction.windowClosed()
- 10619: Eliminate Command+A key conflict in Editor on MacOS
- 10618: ToolbarMenus that are submenus of other ToolbarMenus display their icons properly
- 10616: Mouseover Stack Viewer was failing to launch in certain situations
- 10615: Stack NPE in Mat Movement code
- 10607: P2P address book entries with spaces in address cause StringIndexOutOfBoundsException
- 10604: Match blank passwords less eagerly
- 10603: Action Buttons should not respond to Shift+Click, Ctrl+Click, Alt+Click, Cmd+Click
- 10602: Don't unselect piece about to get context menu with Ctrl+RightClick
- 10601: Flares weren't responding to Cmd key on MacOS
- 10599: map can be null during GameRefresher
- 10596: Protect CounterDetailViewer from designers who set the drawing scale to 0.0
- 10595: Fix crash ending logfiles- beginningState shouldn't be allowed to be non-null when outputfile is null
- 10594: Fix crash when copying Toolbar Menu to a newly created map
- 10592: Corner case boardpicker exception with multiple boards being moved around
- 10591: Protect from GKCs that get sent when no game ever started
- 10589: Fix Mat send-to-location bug (which created problems in Undo & multiplayer)
- 10585: Movement Trail "initial visibility" and bounding box caching bugs
- 10572: Fix Drag Threshold preference to work correctly
- 10563: Trait editor Paste button is now always enabled
- 10555: Fix mat save/load to reconnect mats and cargo
- 10504: Text label shape, bounding box doesn't resepect rotated labels
- 10476: Editor: Inserting text into middle of Key Command doesn't work
- 10474: Movement traits need to update cargo's mat after movement before applying apply-on-move keystroke
- 10405: Log replay of delete command behaves differently after load of sebsequent log file
- 10404: Catch FileNotFoundException when reading prefs files
- 10402: NPE when trying to create new P2P Network
- 10400: Custom preferences in Global Options incorrectly use property name, not description
- 10399: ThrowableUtils.throwAncestor() throws wrong object; throwMe() uses wrong constructor
- 10390: NPE in GameModule.getProperty() after deleting the Map from the owning Map widget
- 10387: 'Centre on Opponents Moves' functionality should ignore movement by Invisible units
- 10386: Audit Trail reporting is not reporting trait or piece information for Return to Deck trait when invalid Deck specified
- 10381: Replaying a log step can cause Deck to become corrupted
- 10375: NPE in EnumeratedPropertyPrompt.getNewValue()
- 10371: Reset the Zone Editor title to match the Zone being edited
- 10359: ClassCastException: DeckGlobalCommand cannot be cast to Auditable
- 10357: Return To Deck Deck name can be lost when pre 3.6 module is edited using 3.6
- 10351: Checkbox preference default value is ignored
- 10341: Symbolic Dice Button tooltip is overwritten by d...
Vassal 3.6.0-beta7
Changes since 3.6.0-beta6
Bug fixes
- 10810: Protect against no available trait being selected in PieceDefiner
- 10793: Fix NPE: Always cache SetupStack configurer bounding box
- 10777: Fix duplicate DragShadow for Cargo at zoom < 100%
- 10773: Fixed bad description for Movement Trail trait
- 10760: Correctly initialize local-only properties in Movement Trails
- 10757: Prevent undo of Refresh Counters from causing contents of Decks to disappear, and deleting units from inside a Deck could not be undone
- 10752: Fixed bug where Deck 'count expressions' wouldn't count beanshell, only old-style (now will count either)
Other improvements
- 10812: Optimize Single Property Beanshell expressions
- 10811: Optimization: Check for possible keystrokes in Restrict Commands before evaluating match epression
- 10808: Misc property lookup optimizations
- 10806: Improved performance of Map "_isVisible" properties
- 10803: Speeds Game Refresh and general performance in modules with many maps defined
- 10800: Preference to turn off automatic update notification
- 10784: LOS thread thickness is adjustable
- 10774: Validation messages when Movement Trail traits placed inside of Rotate, Pivot, or Mat Cargo traits
- 10772: Allow module images to have English localizations
- 10764: Server text improvements
- 10762: Add sumProperties() function for use in Beanshell expressions in the Mouse-over Stack Viewer
- 10761: Toolbar buttons can be disabled when a specified Global Property is true
- 10755: When switching sides, close private hands/windows that we no longer have access to
- 10753: Clarify documentation of sum(PropertyName) in Mouseover
- 10751: Better description of Player Hand
- 10750: Place Marker should put stacking markers in a stack (even if parent marker is non-stacking)
- 10749: Move Camera Button can also change Zoom
- 10007: Ctrl/Cmd to select for Does Not Stack
- 9366: Inventory window allows 3-level zoom
- 9219: Expression Builder button added for Message Format fields & Report Trait. Sum() and Count() now available in the Report trait's field
- 9209: Added GetString() and .toString() to Beanshell to force the return of property values as Strings
- 9124: Property incrementers no longer apply turned-off min/max constraints
- 6195: Don't change Deck properties or fire Empty Deck Hotkey when just rearranging order
- 6075: Action Buttons now respect rotation
- 4496: Allow Action Buttons to be any shape and defined using a Polygon editor
- 4479: Shift-click and Ctrl-click can be used in the Piece Palette to select and drag multiple pieces on to the map
Vassal 3.6.0-beta6
Changes since 3.6.0-beta5
New features
- 10736: 'Deal cards out' to other players
- 10728: Allow 'Prompt' Dice Button values to be locked by designer
- 10727: Module Debug Window
- 10719: Deck Refresher
- 10717: Deck access - allow access to decks to be restricted by player
- 10682: Move Camera Button
- 10674: Startup Global Key Commands always fire in order, can't be undone, and can be configured to, e.g., "once per game"
- 10649: Deck can start face-up or face-down when using right-click menu setting
- 10628: Autopeek Rollover
- 9391: Beanshell can now access $$ variables in Report Formats
Bug fixes
- 10734: No refresh allowed during replay
- 10718: NPE due to dropTargetSelector being unset
- 10713: Escape errorLog path when making link URL for connection failed page in BugDialog
- 10711: When rotating a mat, jointly rotating cargo should prefer to stay with current mat
- 10703: Correct inconsistency in use of GetConfigureBoard
- 10702: When inventory grouping specifies properties that aren't internally strings, don't balk
- 10683: Fix bug in DiceButton 'Keep Dice' option
- 10679: Place Marker, Send-to-Location, and Translate traits didn't always repaint maps
- 10678: Undo of movement will no longer deny lone stackable pieces their own stack
- 10671: Calculate Hex Range correctly, regardless of hex shape
- 10663: Fix occasional draw-side exceptions during loading game and saving screenshots
- 10660: Report translated name for Symbolic Die Faces
- 10659: Sanitize temporary file names a bit earlier
- 10658: Fix NPE if try to open translations but the buildable doesn't exist
- 10654: Fixed corner-case NPE when closing a game
- 10647: Private Maps visible to non-owning players will correctly display Mouseover text
- 10639: Fix exception when canceling edit of a component that has been elsewhere moved or deleted
- 10638: Fixed NPE if pasting a cut component that was then deleted before pasting
- 10635: Trigger Action traits with "loop until" and "loop while" conditions can properly access piece properties in expression builder
- 10632: Fix ArrayIndexOutOfBoundsException in Embellishment when layer value is out of range
- 10631: Clip pieces to their bounds and set rendering hints for drag image
- 10630: Correctly check if there are sides with blank passwords for password matching
- 10629: String Array Configurer bounds protection
- 10623: Fix NPE joining chat room when socket drops early
- 10622: Fix NPE when MapShader temporarily points to blank or missing filename
- 10621: Protect against changing to Image style while Image name is still blank
- 10619: Eliminate Command+A key conflict in Editor on MacOS
- 10618: ToolbarMenus that are submenus of other ToolbarMenus display their icons properly
Other improvements
- 10731: Add description fields to most important editor components
- 10730: Improve Game Piece Palette doc per forum suggestion (AsciiDoc file only)
- 10701: Zone defining - when dragging a square to define initial zone, dragging at edge of screen scrolls
- 10700: Improved bug dialog text
- 10699: Repositioning Stacks/Decks optionally draws ghosted images of other stacks/decks
- 10696: Global Key Commands "Within a Deck, select Fixed number of pieces" field now supports expressions
- 10691: Mouseover Stack Viewer - Unstatic a naughty field and add ability to count face down cards in a deck
- 10686: Decks - fill out the rest of the commands with hotkeys and report formats
- 10681: Better documented pieceName vs PieceName
- 10676: Upgrade to Java 17.0.1+12 for Windows, Mac packages
- 10673: Added Game Refresher documentation
- 10672: Multiplayer Server controls have improved feedback / UX
- 10667: Private Message windows no longer prompt to ignore every time you close them; incoming private messages do not grab focus
- 10652: Zone Editor shows coordinates of vertices while editing
- 10641: When Editor changes a prototype, clear the prototype cache and all PieceSlot caches
- 10633: Remove doubled images from Ghost Bug Pref
- 10650: Show X,Y in Configurer when repositioning At Start Stack
- 10648: Private chat windows will no longer steal focus
- 10643: Show saved game mismatch warnings (e.g., loading wrong version) when loading from Wizard
- 10636: Warn when Global Property has a blank name (which causes NPE on game load)
- 10626: Different types of Global Key Commands can be cut and pasted
- 10610: More robust configurer for PredefinedSetup
- 10609: Trigger Action - improved trait summary
- 9596: Pieces dragged off the palette using the palette scale factor instead of always full size
Vassal 3.6.0-beta5
Changes since 3.6.0-beta4
Bug fixes
- 10620: Fix NPE EditPropertiesAction.windowClosed()
- 10616: Mouseover Stack Viewer was failing to launch in certain situations
- 10615: Stack NPE in Mat Movement code
Vassal 3.6.0-beta4
Changes since 3.6.0-beta3
New features
- 10584: Map "Mark Unmoved" button now accepts a hotkey and a report format
- 10582: Basic Name trait - facilitates creating pieces entirely in prototype (alternative way to fill BasicName property)
- 10576: Send-to-Location new options for pieces-selected-by-properties: cycle and nearest
- 10558: Added Current Mat GKC FastMatch option
- 10552: CounterDetailViewer - can combine layer filters with property match expression
- 10551: Action Button option to open right-click context menu
- 10509: Add
$numericTotal$ and$result#$ options to standard Dice Button report format - 10505: Enable Offset options to work with the Grid option in SendToLocation
Bug fixes
- 10607: P2P address book entries with spaces in address cause StringIndexOutOfBoundsException
- 10604: Match blank passwords less eagerly
- 10603: Action Buttons should not respond to Shift+Click, Ctrl+Click, Alt+Click, Cmd+Click
- 10602: Don't unselect piece about to get context menu with Ctrl+RightClick
- 10601: Flares weren't responding to Cmd key on MacOS
- 10599: map can be null during GameRefresher
- 10596: Protect CounterDetailViewer from designers who set the drawing scale to 0.0
- 10595: Fix crash ending logfiles- beginningState shouldn't be allowed to be non-null when outputfile is null
- 10594: Fix crash when copying Toolbar Menu to a newly created map
- 10592: Corner case boardpicker exception with multiple boards being moved around
- 10591: Protect from GKCs that get sent when no game ever started
- 10589: Fix Mat send-to-location bug (which created problems in Undo & multiplayer)
- 10585: Movement Trail "initial visibility" and bounding box caching bugs
- 10572: Fix Drag Threshold preference to work correctly
- 10563: Trait editor Paste button is now always enabled
- 10555: Fix mat save/load to reconnect mats and cargo
- 10504: Text label shape, bounding box doesn't resepect rotated labels
- 8949: IllegalArgumentException in GameState.getRestorePiecesCommand() due to bad compartor
Other improvements
- 10597: Selection Highlighter expressions now found by search
- 10593: Add description to Prototype Definition
- 10590: Better ConfigureTree summary on PieceSlot containing a BasicName-using piece
- 10587: Description field & better auto-summary for Does Not Stack
- 10586: Better defaults for Send To Location offsets
- 10578: MatCargo now provides OldMatOffsetX and OldMatOffsetY properties
- 10569: Better trait one-line summaries in editor; Folder summary includes description
- 10565: While double-clicking to open component in Editor, holding Alt, Shift, and/or Ctrl affects the location the new window opens
- 10557: Added MatCargo to manually attach/detach from mats
- 10547: Bring fastmatch $$ variable handling into line with standard Global Key Command match expression handling
- 10543: Initialise OldMat related properties in a Placed marker
- 10519: Improve Mat Movement
- 10510: More robust Java version check for Linux
VASSAL 3.6.0-beta3
Changes since 3.6.0-beta2
New features
- 10486: Better obscurable option for insetting
- 10484: Mats have more deselection options; double-clicking delesects cargo
- 10468: Refresh Counters support for Mats and Cargo
- 10454: Game Piece Palette allows setting of default width for "docked" Game Piece Palette
- 10412: Double the max heap for modules which run out of memory during loading
- 10394: Add a Key Command to Can Rotate trait to rotate directly to a facing specified by an expression
Bug fixes
- 10476: Editor: Inserting text into middle of Key Command doesn't work
- 10474: Movement traits need to update cargo's mat after movement before applying apply-on-move keystroke
- 10405: Log replay of delete command behaves differently after load of sebsequent log file
- 10402: NPE when trying to create new P2P Network
- 10400: Custom preferences in Global Options incorrectly use property name, not description
- 10404: Catch FileNotFoundException when reading prefs files
- 10399: ThrowableUtils.throwAncestor() throws wrong object; throwMe() uses wrong constructor
Other improvements
- 10466: Reference manual missing description of restrict counters to Deck option
- 10446: Removed more items deprecated for over a year
- 10445: Improved browser launch support
- 10432: Store the tile cache in %LOCALAPPDATA% instead of %APPDATA% on Windows
- 10430: Upgrade to Java 17 for Windows, Mac packages
VASSAL 3.6.0-beta2
Changes since 3.6.0-beta1
Bug fixes
- 10390: NPE in GameModule.getProperty() after deleting the Map from the owning Map widget
- 10387: 'Centre on Opponents Moves' functionality should ignore movement by Invisible units
- 10386: Audit Trail reporting is not reporting trait or piece information for Return to Deck trait when invalid Deck specified
- 10381: Replaying a log step can cause Deck to become corrupted
- 10375: NPE in EnumeratedPropertyPrompt.getNewValue()
- 10371: Reset the Zone Editor title to match the Zone being edited
- 10359: ClassCastException: DeckGlobalCommand cannot be cast to Auditable
- 10357: Return To Deck Deck name can be lost when pre 3.6 module is edited using 3.6
- 10351: Checkbox preference default value is ignored
- 10341: Symbolic Dice Button tooltip is overwritten by description text
- 10226: Force Game Piece Image names to be valid file names ending in .png
- 10095: Definition of Player Sides - Retire/Switch Button image not showing in editor
Other improvements
- 10392: HTTP requests for server status should follow redirects
- 10383: Update all site URLs for new site and HTTPS
- 10337: Bring Reference Manual up to date
VASSAL 3.6.0-beta1
Changes since 3.5.8
New features
- 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
- 10248: Invisible trait - Option to disable auto-report of moves
- 10075: Scaling factors for Layers and Non-Rectangular
- 10066: Mats & Cargo - Cargo pieces stay attached to Mat piece when moving.
- 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
- 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
- 9998: Editor now has Drag and Drop support
- 9997: Can duplicate and insert components in Editor, not just add to bottom
- 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.
- 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
- 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
- 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
- 4542: Added 'Stack Normally' option to 'Does Not Stack' trait
- 4533: Make grid center dot display independent of grid display
Bug fixes
- 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
- 10187: Duplicate key and menu item for Editor menu
- 9993: DeckPosition was reporting 1 higher than the actual position
- 9884: Fix and improve module validity checking
- 6130: Grid Numbering dialog can appear blank when grid size is very large
Other improvements
- 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
- 10272: Don't auto-name new regions a long string
- 10259: 64-bit ARM builds for Windows and Macs; switched bundled Java to Zulu
- 10228: Upgrade to Launch4j 3.14
- 10041: Newly added Layer traits will now default to 'Always active'
- 10015: Remove ?s from checkbox preference strings
- 10011: Add Scrollbars to Prefs Dialog when needed
- 9999: First 'advanced search' on a module defaults to all boxes prechecked
- 9992: Removed ignored 'button tooltip' field from Turn Tracker config
- 9989: Less verbose window titles for sub-windows
- 9975: Deck reports now suppressed during GKC report suppresssion
- 9913: Increase number of default zoom levels in new Map Zoom Capability
- 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.
VASSAL 3.5.8
Changes since 3.5.7
Bug fixes
- 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
Other improvements
- 14600: Switch bug tracker to GitHub
VASSAL 3.5.7
Changes since 3.5.6
Bug fixes
- 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