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