File Details
v6.0.0
- R
- May 9, 2026
- 1.30 MB
- 1.9K
- 11.2.7+4
- Retail + 3
File Name
CritMatic-v6.0.0.zip
Supported Versions
- 11.2.7
- 3.80.0
- 3.4.3
- 2.5.5
- 1.15.8
## [v6.0.0-release] - 05/09/2026 ### Removed (breaking) - **`Send to /say` toggle and the SAY broadcast path are gone.** /say is muted in instances by Blizzard, and combining it with the combat-end timing window made the broadcast unreliable. Removing the option entirely is cleaner than continuing to ship a half-working channel. Group channels (Party / Raid / Battlegrounds via INSTANCE_CHAT) and Guild remain. Existing `social.canSendCritsToSay = true` saved-vars are now silently ignored. ### Changed - **Social broadcast is now Questie-style: one group channel + optional guild simulcast.** Modeled on Questie's `_QuestieAnnounce.GetChatMessageChannel`. Inside a battleground sends to `INSTANCE_CHAT` (when in a group), in a raid sends `RAID` (or `INSTANCE_CHAT` for LFR), in a party sends `PARTY` (or `INSTANCE_CHAT` for LFG dungeons). `GUILD` is added as an additional simulcast when toggled and you're in a guild. No more "blast to SAY + GUILD + PARTY all at once." ### Versioning - Going forward CritMatic follows strict semver. The setting removal drives the MAJOR bump from 5.5.11 to 6.0.0. Past releases (5.5.x) stayed in the patch slot regardless of feature additions; that's the historical reason 6.0.0 looks like a big jump from a small change. ## [v5.5.11-release] - 05/09/2026 ### Fixed - **Crit Log size now persists across /reload and relog:** the window's user-resized width/height was being clobbered on every show by a hardcoded `SetSize(300, 153)` in `Modules/CritLog.lua` that ran AFTER `ApplyStatus` had restored the saved dimensions. The save path (the `StopMovingOrSizing` hook) was always working; the read path was just being overwritten one line later. Replaced with `SetSize(sizePos.size_x or 700, sizePos.size_y or 500)` so the saved dimensions survive. - **Right-click "Open Changelog" menu item on the CritMatic icon now actually opens the changelog:** the menu was calling `Critmatic:ShowChangeLog()` (capital S) but the function is defined as `Critmatic.showChangeLog` (lowercase). The menu item was silently dead. One-character fix in `Modules/CritLog.lua`. ### Changed - **In-game changelog popup now shows only the latest 3 releases:** the popup (`Modules/ChangeLogPopUp.lua`) previously accumulated every version going back to v0.3.6.2.5 from late 2023, which made the auto-popup-on-upgrade dialog a wall of irrelevant ancient bullets. It now shows v5.5.11, v5.5.10, v5.5.9 only, plus a "For the full version history see CHANGE_LOG.md on GitHub or CurseForge." pointer. `CHANGE_LOG.md` keeps the full history for the CurseForge project page. Going forward each release prepends the new entry and drops the oldest so the popup stays at 3. ### Added - **`release.sh` packager wrapper now lives in the repo** (was an untracked helper at `/tmp/critmatic-release.sh` which macOS clears on reboot). Sources `.env` and execs the BigWigs packager. `.env` itself stays untracked. --- ## [v5.5.10-release] - 05/08/2026 ### Added - **Buy Me A Coffee link in General settings:** the General tab now has a Support group with the Discord link plus an optional Buy Me A Coffee link, and a By group showing the author. Same copy-only field pattern as the Discord link, completely optional. ### Changed - **General tab reorganized into Support and By groups:** Discord and Buy Me A Coffee live in the new Support group; the author credit lives in the new By group. The General toggles above are unchanged. - **Localization parity restored across all 11 locales:** deDE, esES, esMX, frFR, itIT, koKR, ptBR, ruRU, zhCN, zhTW now translate every option string introduced in v5.5.8 / v5.5.9 / v5.5.10 (Send Crits to Say, Lock Crit Log Position, Buy Me A Coffee link, Support / By group headings). All 11 locale files now have 153 keys. ### Fixed - **Send Crits to Say no longer broadcasts inside instances:** the /say toggle is now gated on `not inInstance`, so dungeon, raid, battleground, and arena groups do not see your /say spam even if the toggle is on. Open-world / city /say is unchanged. - **`critFormat` / `critHealFormat` defaults switched from `{star}` to `{rt1}`:** these AceDB defaults sat on `{star}` while the live broadcast in `CritMatic.lua` already hardcodes `{rt1}`. The defaults are not currently consumed by the broadcast, so user-visible behavior is unchanged, but the defaults now match the locale-safe convention so any future code path that reads them will not regress non-enUS clients. ### Updated - **In-game changelog popup refreshed:** the popup that opens on a fresh install / version bump (`Modules/ChangeLogPopUp.lua`) had been stuck at v0.4.3.0 since January and missed every v5.5.x release note. It now lists v5.5.0 through v5.5.10. The release skill (see `~/.claude/skills/critmatic-release/`) is set up so future releases keep both this `CHANGE_LOG.md` and the in-game popup in sync. --- ## [v5.5.9-release] - 05/08/2026 ### Added - **Lock Crit Log Position toggle (General tab):** new option to lock the window so a normal click+drag is ignored. Hover the toggle for a tooltip explaining the override: when locked, hold Ctrl while dragging to move the window. Default off, so existing setups keep working unchanged. - **Full-width drag handle:** the entire top strip of the Crit Log window is now a drag handle, not just the small text label. Click and drag anywhere along the header, the side borders, or the gold-ringed CritMatic icon to move the window. ### Changed - **Tighter Crit Log row spacing:** each spell row now sizes to its own content (count of visible stat lines) instead of a fixed 60 px. Damage-only and heal-only spells take roughly half the vertical space, hybrid spells with all four stat lines keep the room they need. Net effect is a much denser list. ### Fixed - **Right-click menu / tooltip on the gold-ringed icon:** with the new full-width drag handle the title strip overlapped the icon and intercepted some of its mouse events. The icon is now explicitly raised above the title-bar handle so right-click (Open Settings, Open Changelog, Lock / Unlock, Reset Position, Hide) and the hover tooltip work again. --- ## [v5.5.8-release] - 05/07/2026 ### Added - **Track Crits Only option (General settings):** opt-in toggle that records only critical hits and critical heals. Skips normal hits, normal heals, DoT/HoT ticks, and bandage ticks setting new highest values. Off by default. - **Full localization for every CurseForge-supported client:** every locale file (`deDE`, `esES`, `esMX`, `itIT`, `koKR`, `ptBR`, `ruRU`, `zhCN`, `zhTW`) now ships a complete translation of all options and messages. Previously only `enUS` and `frFR` had real translations and the other 9 were stubs that fell back to English. `frFR` was also brought up to parity with the new options strings. ### Fixed - **Battleground opt-out was bypassed:** disabling `Send Crits to Battlegrounds` had no effect because `IsPartyLFG()` is true inside BGs and the next branch sent the message anyway. Each chat target now picks one channel and respects exactly one opt-out, no fallthrough. - **Raid opt-out fell through to PARTY:** disabling `Send Crits to Raid` while in raid silently tried to send to PARTY chat (which goes nowhere when in a raid). Same restructure fixes this. - **Locale-safe chat broadcast:** the social broadcast prefix changed from `{star}` (which only renders the gold star on enUS clients) to `{rt1}`, so the icon now shows correctly on every locale. - **Possible nil error in tooltip code:** `castTime > 0` could throw "attempt to compare nil with number" when `GetSpellInfo` returned nil castTime on certain Retail 11.x spells. Guarded with a nil check. - **Tooltip hooks now guarded:** `hooksecurefunc(GameTooltip, "SetSpellBookItem", ...)` could error at load on Retail 11.x where the method may not exist. Both `SetAction` and `SetSpellBookItem` hooks now check for the method before installing. - **Version broadcast misuse:** `BroadcastVersion` could call `SendCommMessage` with channel `PARTY` while not in a group at all (only guild was checked). Now gated on `IsInGroup()`. - **GROUP_ROSTER_UPDATE comm spam:** roster events fire frequently in any group activity; each fire used to broadcast immediately. Now coalesced to one broadcast per 5 seconds. - **Self-cast heals not tracked:** `destGUID ~= UnitGUID("player")` filtered out every self-target event, so paladin/druid/priest self-heal crits never updated highest values. Self-heals are now recorded; self-damage stays excluded. - **Broken string fallback in version comparison:** lexical compare of version strings (`"0.5.10.0" > "0.5.9.0"`) returned wrong answers. Removed the dead fallback path; `compareVersions` is the single source of truth. - **`compareVersions` was a global:** moved inside `OnInitialize` as a `local function` and reordered before its first use. - **`/cmhelp` lines used bare `print`:** the first line used `self:Print` (with `[CritMatic]` prefix) and the rest used `print` (no prefix). All lines now use `self:Print` for consistent formatting. - **Packager bundled dev-only files into the upload:** the BigWigs packager looks for `.pkgmeta` (no extension) or `pkgmeta.yaml` (no leading dot), not `.pkgmeta.yaml`. Renamed and added an `ignore:` block, so the addon ships only the user-facing files. Zip dropped from 2.3 MB to 1.3 MB. --- ## [v5.5.7-release] - 04/22/2026 ### Fixed - **CritMatic icon rendering behind the Crit Log window:** the three icon textures (black circle, CritMatic icon, gold ring) had `SetParent(UIParent)` calls — a workaround from the old `BACKGROUND`-strata days that lifted the textures above the window. With the window now at `MEDIUM` strata, those reparented textures ended up at UIParent's lower frame level and got covered by the window. Removed the reparenting so the textures inherit `critmatic_icon_frame`'s strata/level (child of the main frame) and render above it normally. --- ## [v5.5.6-release] - 04/22/2026 ### Fixed - **Right-click menu rendered behind the Crit Log window (retail 11.0):** v5.5.5 left the widget at `FULLSCREEN_DIALOG` strata (set by the AceGUI constructor), but `MenuUtil.CreateContextMenu` creates menus at `DIALOG`, so the menu was stacking underneath the window. Lowered the widget to `MEDIUM` strata (standard addon default) so context menus, tooltips, and popups render above it. - **Inner scroll area not following the outer frame on resize:** the ScrollFrame was hardcoded to `SetSize(250, 120)` and anchored only TOPLEFT, so resizing the window left the spell list stuck at a fixed size. The scroll container is now anchored to both TOPLEFT and BOTTOMRIGHT (with room for the sizer and scrollbar), and the scroll child width tracks the container via `OnSizeChanged`. Spell rows now anchor TOPLEFT + TOPRIGHT, so they span the full available width at any frame size. --- ## [v5.5.5-release] - 04/22/2026 ### Fixed - **Crit Log window not movable/resizable on retail 11.0 (#22 follow-up):** the frame was forced to the `BACKGROUND` strata and then `:Lower()`-ed at the end of setup, which put it behind Blizzard's default UI. Overlapping default frames intercepted mouse input, so `RegisterForDrag` and the corner/edge sizers never received clicks. Removed the override; the widget now stays at the strata the Constructor set and drag + resize work again. --- ## [v5.5.4-release] - 04/17/2026 ### Fixed - **Retail 11.0 context menus and hover (#22):** right-click context menus on spell rows and the CritMatic icon no longer error with `EasyMenu (a nil value)`; they now use `MenuUtil.CreateContextMenu` on retail with an `EasyMenu` fallback for Classic/TBC/Wrath. Spell-row hover highlight no longer errors with `SetBackdrop (a nil value)` — the row frame now uses `BackdropTemplate`. - **Open Settings menu item:** switched to `Settings.OpenToCategory` with an `InterfaceOptionsFrame_OpenToCategory` fallback so the menu entry works on retail 11.0+. --- ## [v5.5.3-release] - 04/13/2026 ### Fixed - **frFR typo:** corrected `valeures` → `valeurs` in the Change Log font reset description (confirmed by @Surfingnet on #21). --- ## [v5.5.2-release] - 04/13/2026 ### Added - **French (frFR) localization** contributed by @Surfingnet (#21) — full translation of all 134 strings, including the v5.5.0 additions (ignored spells panel, right-click context menus). --- ## [v5.5.1-release] - 04/13/2026 ### Fixed - **Login crash on Crit Log creation (#20):** removed stray `RegisterForClicks` calls on non-Button frames introduced in v5.5.0. Right-click context menus on spell rows and the CritMatic icon continue to work via `OnMouseUp` as before. --- ## [v5.5.0-release] - 04/12/2026 ### Added - **Spell icons in alert notifications:** the "New Crit!" popup now shows the spell icon with a matching bounce animation. - **Resizable Crit Log:** drag the corner/edge to resize the Crit Log widget. - **Right-click context menus:** right-click any spell in the Crit Log to Ignore it or Delete its data. Right-click the CritMatic icon for quick access to Settings, Lock/Unlock, Reset Position, and Hide. - **Ignored Spells settings panel:** manage ignored spells from `/cm` options instead of slash commands — select from a dropdown, remove individual spells, or clear all. - **Hover highlights:** spell entries in the Crit Log highlight on mouseover. ### Improved - **Tooltip performance:** per-spell max values are now cached instead of rescanning all data on every tooltip hover. - **Spell icon accuracy:** icons are stored at record time, fixing wrong-icon display for spells with shared names across ranks. --- ## [v5.4.1-release] - 04/12/2026 ### Added - **Crit Log toggle in options panel:** You can now show/hide the live Crit Log widget from `/cm` General Settings instead of needing the `/cmcritlog` slash command. --- ## [v5.4.0-release] - 04/12/2026 ### Changed - **License changed to All Rights Reserved.** CritMatic is now proprietary software. No part of this addon may be copied, modified, or redistributed without express written permission from the copyright holder. - Updated README with current feature list, macro tooltip support, and license notice. --- ## [v0.5.3.2-release] - 04/11/2026 ### Fixed - **Macro tooltips (issue #19):** CritMatic's crit/hit lines now appear on action-bar macros that cast a tracked spell. The tooltip hook previously bailed out whenever `GetActionInfo` returned `"macro"` instead of `"spell"`; it now resolves the macro to its current spell via `GetMacroSpell(slot)` and proceeds normally. Cast-sequence and conditional macros (`/cast [mod:shift] X; Y`) reflect whichever spell would fire next. Thanks @Alessandro-Barbieri. --- ## [v0.5.3.1-release] - 04/10/2026 ### Fixed - Interface directive now uses comma-separated multi-version format (`110207, 38000, 20505, 11508`) so the BigWigs packager correctly tags the CurseForge release with all four game flavors (Retail, Titan Reforged, TBC, Classic Era). The v0.5.3.0 upload was only tagged as 11.2.7 because the space-separated form tripped the packager's parser. --- ## [v0.5.3.0-release] - 04/10/2026 ### Fixed - **Tooltip overflow with StatWeightsClassic (issue #17):** CritMatic's crit/hit lines no longer render outside the spell tooltip frame when used alongside other tooltip addons. `Show()` is now called exactly once per render, and only when CritMatic actually added lines. - **Silent data loss for large crits:** raised `MAX_HIT` ceiling from 40000 to 1e9 so Wrath/Retail endgame crits are recorded instead of silently dropped. - **Operator-precedence bug in combat log handler:** player-sourced events were bypassing the `destGUID`, `eventType`, and `amount > 0` filters due to missing parentheses around the `or` clause. - **Nil crashes in combat log handler:** added guards for `baseSpellName`, `destGUID`, and `amount` to prevent errors on unusual event shapes. - **`RANGE_DAMAGE` events** are now properly tracked (were in the outer filter but had no extraction branch). - **Reset buttons in options panels** no longer pollute the shared defaults table by reference. All `Reset*ToDefault` functions now use `CopyTable` against `Critmatic.db.defaults`. ### Changed - Optimized ignored-spells/targets filtering from O(N) per combat event to O(1) hash lookups. - Added compatibility shims for `C_Spell.GetSpellCooldown` and `GetSpellBookItemInfo` (Retail 11.x). - Unregistered `PLAYER_LOGIN` and `GROUP_JOINED` events (registered but never handled). - Raw-source installs now load cleanly on Classic Era, TBC, and Wrath/Titan clients without the "out of date" warning (main `## Interface:` directive now lists 110207 38000 20505 11508). Thanks @Alessandro-Barbieri (#18). ### Removed - Dead function `IsSpellInSpellbook` (zero callers). - Dead DB field `dataCleared`. --- ## [v0.5.2.1-release] - 04/09/2026 ### Fixed - Split Wrath Classic (30403) and Titan Reforged (38000) into separate TOC interface directives so the BigWigs packager can build both flavors --- ## [v0.5.2.0-release] - 04/09/2026 ### Added - X/Y percentage sliders for alert text position (configurable in Alert settings, with Reset and Test buttons) --- ## [v0.5.1.0-release] - 01/17/2026 ### Fixed - update interface versions to current (Classic Era 11508, Wrath 38000) --- ## [v0.5.0.0-release] - 01/16/2026 ### Added - missing localization line ### Fixed - TBC fix's - invalid Interface-Wrath version (38000 -> 30403) ### Changed - Wrath titan version to 38000 --- ## [v0.4.3.0-release] - 01/14/2026 ### Updated: - **Updated the in-game changelog popup to show recent release notes.** --- ## [v0.4.2.9-release] - 01/12/2026 ### Fixed: - **Fixed tooltip conflict with StatWeightsClassic** - Removed redundant tooltip Show() call that caused CritMatic tooltip info to disappear when used alongside StatWeightsClassic addon. - **Fixed WoW 11.0 compatibility** - Removed deprecated InterfaceOptionsList_DisplayPanel hook that was causing errors in modern WoW clients. --- ## [v0.4.2.8-release] - 12/25/2023 ## [v0.4.2.7.5-release] - 12/25/2023 ## [v0.4.2.7.4-release] - 12/16/2023 ## [v0.4.2.7.1-release] - 12/10/2023 ## [v0.4.2.7-release] - 12/6/2023 ### Added: - **Added options for maxMessages, startDelay, and fadeTime settings also a way to reset them.** ## [v0.4.2.5-release] - 12/6/2023 ### Added: - **Added alert notification preview feature in options under Alert** - **Chat customization is coming next.**

