promotional bannermobile promotional banner

CritMatic

Track your **highest critical** and normal hits. Display a notification message and play a sound. Display a tooltip for each spell in your spell book or action bar. and more.

File Details

v5.5.9

  • R
  • May 8, 2026
  • 1.27 MB
  • 965
  • 11.2.7+4
  • Retail + 3

File Name

CritMatic-v5.5.9.zip

Supported Versions

  • 11.2.7
  • 3.80.0
  • 3.4.3
  • 2.5.5
  • 1.15.8

[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 valeuresvaleurs 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.