KeyStoneMastery

A lightweight WoW addon for Mythic+ groups.

File Details

KeyStoneMastery v2.0.1

  • R
  • Jun 17, 2026
  • 2.59 MB
  • 932
  • 12.0.7
  • Retail

File Name

KeyMaster.zip

Supported Versions

  • 12.0.7
## [2.0.1] - 2026-06-17

### Changed
- Updated addon metadata for Retail patch 12.0.7 by setting TOC interface to `120007`.

### Packaging
- Bumped TOC version to `2.0.1`.

## [2.0.0] - 2026-05-14

### Fixed
- Fixed `Frame:RegisterEvent()` forbidden errors during addon load. Runtime events are no longer force-registered in the main chunk. Bootstrap events are registered immediately after `frame:SetScript("OnEvent")`, and runtime events are registered from `ADDON_LOADED` / `PLAYER_LOGIN` handlers.
- Fixed `attempt to call a nil value` at `RequestGuildKeysFromAllSources(true, true)` in the external sync retry path. Added a forward declaration and bound the function before first use so retry callbacks always resolve the local function.

### Packaging
- Bumped TOC version to `2.0.0`.

## [1.9.9] - 2026-05-13

### Fixed
- Fixed `!keys`, `!score`, and `!best` chat commands never receiving chat messages. `RegisterRuntimeEventsOnce` (which registers all `CHAT_MSG_*` events) was only called from the `ADDON_LOADED` and `PLAYER_LOGIN` event handlers. Because bootstrap event registration was deferred through `C_Timer.After`, those events had already been dispatched by the WoW loader before the frame ever registered to receive them, so the handlers never fired and `CHAT_MSG_*` events were never registered. The fix registers both bootstrap and runtime events directly after `frame:SetScript("OnEvent")`, matching the pattern used by other addons with working chat commands.

### Packaging
- Bumped TOC version to `1.9.9`.

## [1.9.8] - 2026-05-11

### Fixed
- Fixed M+ overlay appearing on zone-in to a mythic dungeon when no challenge mode is active. `IsChallengeModeRunActive` was returning `true` due to two spurious fallbacks: scenario criteria count (non-zero in any dungeon with objectives) and world elapsed timer (non-negative immediately on instance load). These fallbacks have been removed. The function now relies solely on `ui.inChallengeMode` (set by `CHALLENGE_MODE_START`), `IsChallengeModeActive()`, and `GetActiveChallengeMapID() > 0`.
- Hardened event registration to avoid protected-call faults during startup. `SafeRegisterFrameEvent` no longer routes through `securecallfunction`, which was triggering `ADDON_ACTION_FORBIDDEN` and could prevent `CHAT_MSG_*` events from registering.
- Removed `CanReadChatPayload` guard from the chat command handler. The guard used `canaccessvalue` on the message text which could return `false` in tainted contexts, silently dropping `!keys`/`!score`/`!best` commands before they were parsed.

### Packaging
- Bumped TOC version to `1.9.8`.