BazCore

Shared framework for Baz addons. Provides lifecycle, events, profiles, slash commands, settings, animations, minimap button, button glow, keybinds, Edit Mode, serialization, and options panels. No dependencies.

File Details

107

  • R
  • May 4, 2026
  • 301.49 KB
  • 49
  • 12.0.5
  • Retail

File Name

BazCore-107.zip

Supported Versions

  • 12.0.5

BazCore

107 (2026-05-04)

Full Changelog Previous Releases

  • v107: BazCore:SafeBool helper for Midnight tainted booleans
    Adds a shared helper alongside SafeString and SafeNumber. Midnight
    extended secret-taint to booleans on certain API surfaces - notably
    LuaDurationObject:IsZero() on cooldown duration objects when the
    spell data flows through tainted events. A direct boolean test (if x then, not x) on a tainted bool throws ADDON_ACTION_BLOCKED, and
    the throw happens INSIDE the test so a pcall around it doesn't help.
    SafeBool round-trips through string.format("%s", b) - same laundering
    pattern SafeString uses for tainted strings - and compares the result
    against the canonical "true" string. Returns a clean Lua boolean
    (or nil for missing input).
    Companion guidance in the dev reference (S10): prefer the duration
    object's own :HasSecretValues() method as a gate when available,
    since it's documented ReturnsNeverSecret = true and avoids the
    round-trip entirely. Use SafeBool when you have a value of unknown
    taint and need to test it directly.
    Discovered while building BazBars cooldown-fade (since reverted -
    the underlying detection problem can't be fully solved with these
    primitives alone, but the helper is still useful for future work).