Releases: vassalengine/vassal
Releases · vassalengine/vassal
VASSAL 3.4.3
Changes since 3.4.2
Bug fixes:
- 13452: Bundle Java 15 with Windows and Mac packages
- 13442: Add button for toggling password visibility
- 13441: Multiple scaling or rotation of SVG images failed to compound
- 13438: NPE in BoardPicker.getSelectedBoardNames() when changing owning Board of an At-Start Stack
- 13436: Allow Module Managers from different versions to run simultaneously
- 13435: "Bad Module Data" messages with less-than symbols misinterpreted as HTML when HTML turned on in module
- 13434: Clarify deprecation messages
- 13433: OBSCURED_BY_OTHERS property now returns null instead of a value in face down decks when tested using GKCs
- 13430: Pieces move too fast while "Repositioning stack" in HDPI monitors
- 13427: Cannot add or edit items when editing an Extension on Linux or Macs
- 13404: Use better color picker on Linux
- 13342: Player creates saveGame twice in a row when starting a log file
- 13307: Background transparency in Text Labels not working
- 2569: Improved error message for NoSuchElementException in Decorator.mergeState()
VASSAL 3.4.2
Changes since 3.4.1
Bug fixes:
- 13425: Legacy property match expressions no longer evaluated == or != correctly
- 13416: Chatter fails to update
- 13409: Two units in same hex do not stack when hex overlaps two boards
- 13405: Piece window appears beside main map and chat pane instead of just the chat pane
- 13398: Fix piece drag so that pieces can be moved a few pixels
- 13381: Prevent BeanShell from interpreting 1D, 1F, 1L as numbers
- 13365: Chatter component does not filter out Alt+Key commands
- 13300: Remove "Preference" option for HTML for Chatter
- 13279: Pivot was auto-reporting moves when auto-reporting is turned off
VASSAL 3.4.1
Changes since 3.4.0
Bug fixes:
- 13389: Chatter flickers when updated
- 13376: NoSuchMethodError due to change of setOldProperties() signature
- 13374: NPE in ExtensionTree.isEditable()
- 13373: ArrayIndexOutOfBoundsException in Embellishment.getProperty()
VASSAL 3.4.0
Changes since 3.4.0-beta1
Bug fixes:
- 13358: Prevent units in Zones setting OldLocationName incorrectly
- 13356: Game refresher should not copy marker state
- 13351: SequenceEncoder.Decoder.copy() should use start offset from parent
- 13329: Don't create new GPIDs for temporary piece slots
- 13217: Editor: Additional fix for cut-and-paste
- 13134: Some characters in Text Labels render poorly at 8pt on Windows in 3.3+
- 2377: NPE in Decorator.getOutermost() caused by PlaceMarker
- 2714: NPE in StackMetrics.merge()
Other improvements:
- 13371: Render text labels directly at the required size rather than rendering at 100% and scaling
- 13332: Improved save game write time
VASSAL 3.4.0-beta1
Changes since 3.3.3-beta1
New features:
- 13313: Specify VM options for Player via a file
- 13275: Ctrl+Mousewheel to zoom
Bug fixes:
- 13319: Multiline HTML labels breaks toolbar button alignment
- 13302: BasicCommandEncoder.DecoratorFactory and BasicPieceFactory should have remained public
- 13300: HTML-Enable pref for Chatter doesn't show for pre-3.3.3 modules without GlobalOptions
- 13291: Fix Beanshell issues with $$ variable processing
- 13289: Don't print "Saving game" twice when using Save As
- 13281: Added inadvertently removed throws declaration for Embellishment0.getCurrentImage()
- 13280: NPE in KeyStrokeListener.keyPressed()
- 13236: StackOverflowError: Expressions and Formatted Strings can infinite-loop
- 13217: Editor: Prevent pasting a cut ancestor as its own child
- 13200: NPE in Map.setup() when attempting to dock main map
- 13076: NPE in FlowView$FlowStrategy.layoutRow()
- 12798: ClassCastException: NullCommand cannot be cast to AddPiece
- 12648: Setup stack doesn't recover from a piece build failure
- 11827: NPE in SendToLocation.getSendLocation()
- 11355: NPE in MassPieceLoader$MyTreeTable.getCellRenderer()
- 3215: Global Options icons do not update themselves properly
Other improvements
- 13325: Specify encoding for String conversion to and from bytes
- 13301: Don't rewrite save state when we already have it
- 13290: Optimized serialization, unserialization
- 13282: Stop logging debug messages by default
- 13197: Reverted Mac hotkey change from 3.3.3-beta1
(Yes, there is no 3.3.3. We decided to make the next full release 3.4.0 instead.)
VASSAL 3.3.3-beta1
Changes since 3.3.2
New features & improvements
- 13276: Center on Moves is now a user preference instead of a module setting
- 13251: Add Module name to Bug summary, extra info to comments
- 13250: Add implementation of Missing !~ Beanshell operator
- 13243: Add functionality to methods to be deprecated and removed gracefully
- 13239: Right-click doesn't pick up whole stack anymore
- 13229: Performance: Save property map rather than clone pieces as snapshot
- 13218: Allow a piece get its context menu click location
- 13191: Add a "Search" command to the editor for searching the nodes/names/descriptions of a module
- 13184: CounterDetailViewer can now display overlapping counters
- 13174: Pieces in Piece Palettes (PieceSlots) can be given a scale factor
- 13172: Undo button can now be assigned a hotkey by module designer
- 13164: Upgrade Apache Commons libraries: commons-io 2.7, commons-codec 1.14, commons-lang3 3.10
- 13149: "Band Select" Improvements: immobile pieces don't "eat" band selects, and band-select gets Does-Not-Stack filter
- 13129: New HTML Chatter with colors, fonts/bold/italic, image tags
- 13124: Removed unused deprecated code
- 13100: Replace Beanshell If function in Expression Builder with inline If ?:
- 12999: Add Beanshell functions to generate Random results
- 3199: Add separators to menus
- 3042: Improved Retire/Resign/Switch Sides button flow
- 1875: Movement Trail Enhancements: add commands to clear, turn on, turn off movement trails
Bug fixes
- 13234: Rotation gets stuck due to floating point error
- 13221: Data race in ConcurrentSoftHashMap.SoftValue.equals() and hashCode()
- 13216: Adding regions to Irregular Grid via GUI editor was broken
- 13205: NPE when trying to display file write failure dialog
- 13199: MapShader using image throws InternalError on Linux
- 13197: Hotkeys using Control should use Command on Macs
- 13196: Ctrl+Click toggles rather than only deselects
- 13178: Game Refresher does not handle Place Markers or Prototypes correctly
- 13171: SetGlobalProperty makes menuCommands the wrong type of array
- 13155: Correct Dutch translations
- 13153: Consistently ask to start logging when loading a game
- 13146: Custom classes that are children fail to be culled in PropertiesWindow.initialized (resulting in duplicate buildFile entries)
- 13137: Drag Threshold was effectively 1 pixel except at 100% zoom, making double-click difficult; also added preference for drag threshold adjustment
- 13123: "Mark When Moved" trait puts blank line in menu, even if Command field left completely empty
- 13117: Help & HTML Charts scroll unnecessarily slowly with mouse wheel
- 13060: Area Of Effect generates NPE if activated when piece is not on a Map
- 13036: Entire contents of a deck can be inadvertently group-selected and moved
- 13018: Fix incorrect ExpressionConfigurer in SetGlobalProperty config
- 12972: Return to Location backMap and backPoint are not sent to clients or undone
- 12980: Set Global Property: Beanshell incorrectly tries to "simplify" expression and generates incorrect result
- 12970: Setting values of Old... variables are not encoded in a Command
- 12952: Evalute
$..$ strings in Property Match expressions on source pce - 12951: Undo of Send to Deck command does not return cards to hand in same state
- 12948: Trigger action firing multiple Moved Fixed Distance, piece ends up in incorrect position
- 12935: NPE in MoveReporter.shouldMarkMoved assuming nonnull map
- 12888: NPE in BooleanConfigurer.setValue
- 12576: At-Start stack attaches to first board listed in module, even if that board wasn't selected by player and is inactive
- 12554: Undo bug: Do not add the whole Stack to the DragBuffer
- 12519: GlobalKeyCommand with Matching Properties does not apply 'Fixed number of pieces' to a Deck correctly
- 12551: Movement Trails: locallyVisible repeatedly "initialized" resulting in buggy trail behavior
- 10414: SVG with non-px dimensions throws ImageIOException
- 10314: NPE in GameRefresher if dialog is closed quickly while test is running
- 2705: NPE in FreeRotator.mouseDragged if piece was moved off-map
VASSAL 3.3.2
Changes since 3.3.1:
- 13182: Piece images in Inventory windows are drawn offset on HiDPI screens
- 13181: Piece images in Inventory windows have truncated height on Macs
- 13176: Bundled Java fails to start on Mac OS X < 10.13
- 13175: Add bundle for 32-bit Windows
- 13152: Version number and year set incorrectly in Mac DMG's Info.plist
- 13143: HTTPS URLs fail to load (handshake_failure) due to missing jdk.crypto.ec module
- 13140: Versions with a build number are incorrectly sorted before versions without a build number
- 13136: Update notifier still has old SourceForge URL for downloads
- 13126: Right mouse button and Control-Click broken on Macs
- 12861: Improved behavior of Zone editor
VASSAL 3.3.1
Changes since 3.3.0:
Bugs fixed:
- 13111: IncompatibleClassChangeError due to change of ComponentSplitter methods to static prevents some modules from opening
- 13083: BrowserSupport cannot open URLs on Linux without gtk3
VASSAL 3.3.0
Changes since 3.3.0-beta4:
- 13103: Windows installer checks for 64-bit Windows, as bundled Java is 64-bit
VASSAL 3.3.0-beta4
Changes since 3.3.0-beta3:
- 12973: Unnecessary NullCommands being generated by Trigger Action
- 12861: Improved behavior of Zone editor
- 12825: Send keep-alive to prevent disconnection
- 12817: Right-clicking on unexpanded stacks no longer selects top piece
- 12816: Splitter between chat and map panes starts with map obscured
- 12805: Upgraded Batik from 1.12 to 1.13