Skip to content

v2.0.0

Choose a tag to compare

@Azazel666 Azazel666 released this 05 Feb 07:32
· 2 commits to main since this release

[2.0.0] - 2025-12-16

BREAKING CHANGES

  • Foundry v13+ Required: This version only supports Foundry VTT v13 and later
    • Dropped support for Foundry v11 and v12
    • Complete rewrite of controls system for v13 API compatibility
    • If you need v11/v12 support, use version 1.1.0

Added

  • Game Master Turn: New GM placeholder at the start of every turn order
    • Always appears first in turn order regardless of random/attribute sorting
    • Displayed as "Game Master" with purple highlighting in the turn order panel
    • Allows GM to move tokens freely and adjust turn order before players start
    • No visual indicators or player notifications during GM turn
    • GM entry is draggable/reorderable like other turn entries
    • Provides setup time for GM at the start of each round
  • Always-Visible Control Buttons: All turn management buttons now visible at all times
    • Pass Turn, Delay Turn, and Reset buttons always shown (no page reload needed)
    • Buttons check if TBM is enabled when clicked
    • Warning notification shown if buttons clicked while TBM disabled
    • Improved UX: No need to reload page when enabling/disabling TBM

Changed

  • Foundry v13 API Compatibility: Complete rewrite for new controls system
    • getSceneControlButtons hook now uses object-based API (was array-based)
    • Controls accessed via controls.tokens instead of controls.find()
    • Tools defined as object properties instead of array push
    • Tool definitions require name property matching the key
    • Changed onClick to onChange callback (deprecated API)
    • Updated ui.controls access patterns to v13 standards
  • Control Button Behavior: Buttons remain visible regardless of TBM state
    • Previous behavior: Buttons only visible when TBM enabled
    • New behavior: Buttons always visible, check state on click
    • Better discoverability for new users
    • Consistent UI experience

Fixed

  • Scene Controls Rendering: Fixed controls not appearing in Foundry v13
    • controls parameter is now an object, not an array
    • tools is now an object where each tool is a keyed property
    • Updated tool registration to use property assignment
  • Deprecated API Warnings: Removed all deprecated v12 API usage
    • Fixed ui.controls.activeControl → ui.controls.control?.name
    • Fixed ui.controls.activeTool → ui.controls.tool?.name
    • Fixed ui.controls.initialize() → ui.controls.render()
    • Fixed onClick → onChange for tool callbacks

Technical Changes

  • Module Manifest: Updated compatibility to v13 minimum, v13 verified
  • Controls Hook: Refactored getSceneControlButtons for v13 object-based API
  • Turn Order Logic: Added 'GM' string placeholder handling throughout codebase
    • getCurrentToken() returns null for GM turn
    • getNextToken() returns null for GM turn
    • announceCurrentTurn() skips announcements during GM turn
    • refreshVisuals() skips visual indicators during GM turn
    • renderTurnOrderUI() displays GM entry with special styling
  • CSS Styling: Added .gm-entry styles for GM placeholder in turn order panel
  • Documentation: Updated CLAUDE.md with v13 API changes and gotchas

Removed

  • Support for Foundry VTT v11 and v12
  • Backward compatibility code for v12 controls API
  • Dynamic button visibility logic (buttons now always visible)