Releases: vassalengine/vassal
Releases · vassalengine/vassal
Vassal 3.7.5
Changes since 3.7.4
Bug fixes
- 12866: Fix double application of board magnification to board bounds
- 12852: Prevent SumZone from generating Bad Data Errors
- 12846: Fix missing custom colors and font styles in Game Piece Layouts
- 12841: Ensure labels are correctly updated in Replace With Other trait
Other improvements
- 12865: Documentation: Editor Search section - add a cross-link to main search details
- 12861: Number in-use traits in Piece Definer
Vassal 3.7.4
Changes since 3.7.3
Bug fixes
- 12830: Prevent Load Continuation from auto-forwarding to end of log
- 12826: Fix bug where pieces sometimes teleport from deck back to different map in multiplayer (Ensure map recorded in pieces matches map in parent Stack/Deck)
- 12824: Ensure ColorManager and FontManager are created exactly once, before use
- 12802: Prevent NPE in Named KeyStroke Configurer
Other improvements
- 12829: Set Piece Property Documentation clarification
- 12825: Allow Unique components to be copied; change Game Piece Layers to be non-mandatory
Vassal 3.7.3
Changes since 3.7.2
Bug fixes
- 12817: Fix alphanumeric key behavior in hotkey (key command) configurer in Editor (e.g., Shift+B should show up as "Shift+B", not "B")
- 12810: VASSAL.sh exits before printing relevant exit message
- 12705: Prevent creation of duplicate Translations by Add Translation button
Other improvements
- 12814: Updated bundled Java to 21
- 12808: Horizontal scrolling now supports 2-finger-trackpad and mice with additional horizontal wheels
- 12724: Improved legibility of translation panels
Vassal 3.7.2
Changes since 3.7.1
Bug fixes
- 12784: Fix rendering of external Text Label images
- 12781: Fix bad translation keys for Attachment, Deselect, Send To Location traits
- 12780: Correctly adjust Player window title to reflect actions taken in Welcome Wizard
- 12769: Fix support for expressions in Sound Clip Configurer
- 12729: Set Global Property to again record old GP value in oldValues for reporting
- 12773: Disabled Toolbar Button icons should not appear in unused images list
- 12770: Prevent NPE when escaping from GKC trait after adding 'Set Dynamic Properties' entries
Other improvements
- 12896: Build universal Mac bundle
Vassal 3.7.1
Changes since 3.7.0
Bug fixes
- 12727: Ensure that tiles are cobbled for fixed-size board scaling
- 12708: Prevent ArrayIndexOutOfBoundsException if side translation count does not match module
- 12688: Replace with Other should not update text of unchangeable labels
- 12683: Prevent NPE on starting game in Main Room
- 12679: Set Piece Property respects target property numeric constraints unless overridden
- 12676: IncrementProperty: Corrected bad wrap-around calculation when increment is negative
- 12659: Translate current side before checking for "next side"
- 12645: Respect localization when filtering sides
- 12582: Corrected divide-by-zero problem for Zones defined by zero-point polygons
- 12542: Mitigate race condition when selecting player sides
- 12474: Fixed NPE when moving EditablePiece which isn't on a map
- 12411: Fixed NPE when updating ConfigureTree
- 12324: Fixed ClassCastException caused by reordering columns in Delayed Notes table
- 12307: Prevent NPE when Return to Deck of a deleted Deck
Other improvements
- 12716: Support regular expressions in Editor search
- 12715: Enable help button for editor Search dialog
- 12706: Keep the "retire" button disabled unless a game is running
- 12696: Removed "Indexing pieces" message
- 12670: Prevent essential components being accidentally deleted
- 12661: Translate side names in change sides message
Vassal 3.7.0
Changes since 3.6.19
New features
- 12566: Add Beanshell function to add Sleep/Delay processing
- 12536: GKC and Place/Replace parameters
- 12492: Add Comment trait
- 12454: BeanShell Editor improvements: larger, multi-line, more properties
- 12445: Add Ranged Sum/Count Functions; updated Function Builder and documentation; updated Property documentation
- 12444: Implement real Unique Piece Id property UniqueID that does not change during refresh
- 12323: Add Beanshell Range functions
- 12284: Add Danish localization
- 12251: New Set Piece Property trait
- 12243: Startup Global Key Commands can also send a Global Hotkey
- 12222: Multi-Location Commands: One trait may create actions corresponding to several map locations
- 12192: New Attachment trait
- 12184: Pivot can have two key commands/angles
- 12153: Layer traits allow a show-only-if-this-property-true filter
- 12149: BorderOutline trait now accepts two fields
- 12129: PlaceMarker and ReplaceWithOther can use expression for X/Y offset
- 12100: Text Labels support tags
- 12067: Import/export of groups of items from Editor as XML files (e.g., to transfer between modules)
- 12060: Editor allows Deck files to be imported into a deck to become permanent part of module
- 12035: Mouse-over Stack Viewers allow configuring thickness of outer border, and more padding/stretching options
- 12032: Mark-When-Moved trait can be configured to only flag when piece changes LocationName or Mat. Similarly Map auto-report can be configured to ignore same-location movements.
- 12003: OldDeckName now supported as a piece property
- 12001: count_ supported for counting properties in Inventory windows
- 11969: New Border Outline trait
- 11964: Mouse-over Stack Viewers can display an image of underlying terrain
- 11937: SumMat and CountMat functions for Beanshell expression
- 11932: Support for setting Scenario Options
- 11918: Startup GKC that fires when player joins or changes sides
- 11917: Create Non-Rectangular mask directly from SVG outline
- 11530: Add new StackPos and StackSize properties to Basic Piece
- 11523: Area of Effect improvements: Active property, local/global visibility, separate on/off Key Commands
- 11178: Global Option added to omit empty lines in property setting prompts
- 11100: Allow begin-logfile and end-logfile to have configurable hotkeys in Global Options
- 10822: Sounds can be suppressed during GKC processing
- 10821: Symbolic Dice buttons how have full Action Button capabilities (sounds, hotkeys, etc.)
- 10820: Make Action Button available on all windows where other similar buttons (e.g., GKC, Multi-Action, etc) are available
- 4454: Save chat text to file
- 4446: Dynamic button labels (can use expressions and
$...$ in certain toolbar buttons)
Bug fixes
- 12644: Prevent NPE when Editing Deck count expressions
- 12627: Fix chat non-scrolling caused by setting preferred size for the Chatter contents pane
- 12620: Ensure that HTML attribute values are quoted
- 12595: Fix Search UnsupportedOperationException
- 12578: Process Set Piece Property expressions correctly
- 12568: Center of map view during zoom used incorrect coordinate space
- 12561: Handle Beanshell functions correctly in expressions
- 12547: CountLocation function with 3 parameters does not work
- 12529: Allow Piece UIDs to be compared properly in expressions
- 12528: Close InputStreams opened for reading SVG
- 12482: Map Shader now able to add button to Map Toolbar
- 12470: Place Marker X Offset should default to 0, not null
- 12439: Uniformly handle addition of standard and imported Configurables
- 12434: FastMatch by Location now respects Deck limits
- 12433: Attachment Fastmatch: match each piece at most once, limit checking by name
- 12420: Set Piece Property does not work
- 12403: Extension Editing fixes: Cut & Paste now deletes cut element, Drag & Drop between folders in Extension are saved, stopped UnsupportedOperationException during search
- 12401: Allow Ctrl-V to be entered as a Key Command
- 12396: Add missing Global Option message
- 12393: Fix Auto-attach breaking on Undo
- 12392: Replace With Other incorrectly retains existing Marker values when Match Current State is checked
- 12382: Prevent NPE in Beanshell execution during module initialisation
- 12363: Initialise Global Option preferences that have no Tab name
- 12347: Refresh Dynamic Properties correctly when they have no value
- 12342: Fixed bad link in Reference Manual
- 12340: Fix inaccurate Hex Grid location reports
- 12322: Scale summed board locations instead of summing scaled board locations to reduce rounding error
- 12315: Prevent NPE in MouseOverStackViewer trying to show top piece of empty stack
- 12303: Dynamic button text was resolved too soon
- 12302: Description field now properly appears with Startup GKC set to send Global Hotkey
- 12261: Report error if more than one grid added to a Zone
- 12220: Add BorderOutline's property names to the searchable target list
- 12215: New MarkMoved commands shouldn't default to being displayed if no key commands entered
- 12205: Area of Effect trait was eating other traits' visibility info in some cases
- 12203: Properly extract outlines from SVG for NonRectangular
- 12175: Fix stretchy images in chat
- 12159: Correctly handle install paths containing spaces in VASSAL.sh
- 12158: List Key Commands tool can be re-opened after closing with X button
- 12152: Work around Java bug which prevents displaying Windows file dialog
- 11913: Numeric global properties with increments other than 1 and -1 now wrap around correctly
Other improvements
- 12626: Hide caret in chat pane
- 12573: Updated bundled Java to 20.0.2
- 12556: Map Shaders on different maps can now have same name
- 12549: Simplify Trait edit window title
- 12538: Scenario Options - Allow Observers to Lock option tabs if no Sides taken
- 12509: Allow and empty Deck or At-start Stack to be repositioned
- 12504: Updated documentation for 3.7
- 12501: Merge Set Attachment property into Set Piece Property
- 12495: Mouse-over Stack Viewer 'Show move limited pieces' option no longer dependent on 'Show non-stacking' option
- 12443: Clarified MouseOverViewer documentation
- 12432: Add missing Sum & Count expressions
- 12427: Fixed bad links in Reference Manual
- 12362: Rollover component help button goes to MouseOver.html instead of Map.html
- 12341: Expression documentation improvements
- 12287: Enable text field DnD
- 12279: Default heap raised to 1024MB
- 12270: Scenario Options tweaks
- 12267: Optimize Ranged GKC's and remaining Location based fastmatch option
- 12235: HTML Help file starting page can now be an expression
- 12187: Improved Rectangular Grid range metric names and made them translatable
- 12177: Change-property buttons don't generate completely empty chat lines
- 12176: Add preference to not display Mark Moved status of pieces
- 12172: Metadata now contains the 'extra' fields, and Module Manager displays them if numeric
- 12138: Better editor descriptions of Global Hotkey traits
- 12137: Editor shows better descriptions for Dynamic Property and Set Global Property traits
- 12136: Change Property Buttons now have a description field, which is displayed in the editor if filled in
- 12133: Rollovers automatically shrink scale if the pieces are too wide to fit the screen width
- 12084: Help menu shows module-specific help items before generic Vassal ones
- 12080: Zooming in and out no longer loses track of player's preferred center point for map
- 11919: Allow DEL/BACKSPACE to be mapped as a hotkey
- 11506: Predefined Setup "menus" with blank names will not be shown
- 11104: Refresh Can Rotate trait by Rotator Name match option for Game Refreshers
Vassal 3.7.0-beta5
Changes since 3.7.0-beta4
New features
- 12566: Add Beanshell function to add Sleep/Delay processing
- 12536: GKC and Place/Replace parameters
- 12492: Add Comment trait
- 12454: BeanShell Editor improvements: larger, multi-line, more properties
- 12445: Add Ranged Sum/Count Functions; updated Function Builder and documentation; updated Property documentation
- 12444: Implement real Unique Piece Id property UniqueID that does not change during refresh
Bug fixes
- 12568: Center of map view during zoom used incorrect coordinate space
- 12547: CountLocation function with 3 parameters does not work
- 12529: Allow Piece UIDs to be compared properly in expressions
- 12528: Close InputStreams opened for reading SVG
- 12482: Map Shader now able to add button to Map Toolbar
- 12478: Revert 12077 - Do not return a default value for ObscuredToOthers
- 12470: Place Marker X Offset should default to 0, not null
- 12439: Uniformly handle addition of standard and imported Configurables
- 12434: FastMatch by Location now respects Deck limits
- 12433: Attachment Fastmatch: match each piece at most once, limit checking by name
- 12420: Set Piece Property does not work
- 12403: Extension Editing fixes: Cut & Paste now deletes cut element, Drag & Drop between folders in Extension are saved, stopped UnsupportedOperationException during search
- 12401: Allow Ctrl-V to be entered as a Key Command
- 12396: Add missing Global Option message
- 12393: Fix Auto-attach breaking on Undo
- 12392: Replace With Other incorrectly retains existing Marker values when Match Current State is checked
- 12363: Initialise Global Option preferences that have no Tab name
- 12347: Refresh Dynamic Properties correctly when they have no value
- 12261: Report error if more than one grid added to a Zone
Other improvements
- 12573: Updated bundled Java to 20.0.2
- 12556: Map Shaders on different maps can now have same name
- 12549: Simplify Trait edit window title
- 12538: Scenario Options - Allow Observers to Lock option tabs if no Sides taken
- 12509: Allow and empty Deck or At-start Stack to be repositioned
- 12504: Updated documentation for 3.7
- 12501: Merge Set Attachment property into Set Piece Property
- 12495: Mouse-over Stack Viewer 'Show move limited pieces' option no longer dependent on 'Show non-stacking' option
- 12443: Clarified MouseOverViewer documentation
- 12432: Add missing Sum & Count expressions
- 12427: Fixed bad links in Reference Manual
- 12341: Expression documentation improvements
- 12270: Scenario Options tweaks
- 11104: Refresh Can Rotate trait by Rotator Name match option for Game Refreshers
Vassal 3.7.0-beta4
Changes since 3.7.0-beta3
New features
- 12323: Add Beanshell Range functions
Bug fixes
- 12382: Prevent NPE in Beanshell execution during module initialisation
- 12340: Fix inaccurate Hex Grid location reports
- 12322: Scale summed board locations instead of summing scaled board locations to reduce rounding error
- 12303: Dynamic button text was resolved too soon
- 12302: Description field now properly appears with Startup GKC set to send Global Hotkey
Other improvements
- 12362: Rollover component help button goes to MouseOver.html instead of Map.html
- 12267: Optimize Ranged GKC's and remaining Location based fastmatch options
Vassal 3.7.0-beta3
Changes since 3.7.0-beta2
New features
- 12284: Add Danish localization
- 12251: New Set Piece Property trait
- 12243: Startup Global Key Commands can also send a Global Hotkey
- 12222: Multi-Location Commands: One trait may create actions corresponding to several map locations
- 12192: New Attachment trait
- 12184: Pivot can have two key commands/angles
- 11932: Support for setting Scenario Options
Bug fixes
- 12342: Fixed bad link in Reference Manual
- 12315: Prevent NPE in MouseOverStackViewer trying to show top piece of empty stack
- 12220: Add BorderOutline's property names to the searchable target list
- 12215: New MarkMoved commands shouldn't default to being displayed if no key commands entered
- 12208: Hiding disabled toolbar buttons feature removed (reverts 12127)
- 12205: Area of Effect trait was eating other traits' visibility info in some cases
- 12203: Properly extract outlines from SVG for NonRectangular
- 12175: Fix stretchy images in chat
Other improvements
- 12314: Update bundled Java to 20.0.1
- 12287: Enable text field DnD
- 12279: Default heap raised to 1024MB
- 12187: Improved Rectangular Grid range metric names and made them translatable
- 12177: Change-property buttons don't generate completely empty chat lines
- 12176: Add preference to not display Mark Moved status of pieces
- 12172: Metadata now contains the 'extra' fields, and Module Manager displays them if numeric
Vassal 3.6.19
Changes since 3.6.18
Other improvements
- 12313: Added MAYBE_MOVED property for 3.7 compatibility