promotional bannermobile promotional banner

XPMATIC

XPMatic shows a live time to next level readout that learns your real leveling pace and pops an ETA alert on quest turn-ins, so you always know how long until your next ding.
Back to Files

v2.0.0

File nameXPMatic-v2.0.0.zip
Uploaded
Sep 12, 2026
Downloads
101
Size
4.0 MB
Flavors
MoP ClassicRetailClassic TBCClassic
File ID
8866192
Type
R
Release
Supported game versions
  • 12.1.0
  • 5.5.4
  • 4.4.2
  • 3.4.5
  • 2.5.6
  • 1.15.9

What's new

[v2.0.0-release] - 09/12/2026

Changed

  • Time-left and level-up announcements now always use XPMatic's public emote announcement. The obsolete emote switch was removed from Social settings.

[v1.5.2-release] - 09/10/2026

Changed

  • Maintenance update.

[v1.5.1-release] - 09/10/2026

In-Game

  • XPMatic no longer announces to players around you. These updates now show only in your own chat.

Changed

  • Social.lua no longer sends the time-left and level-up emote lines through SendChatMessage(..., "EMOTE"). They now print through the addon's own local chat print helper (XPMatic:Print, falling back to DEFAULT_CHAT_FRAME:AddMessage), visible only to the player. Guild/party/raid/instance/battleground broadcasts are untouched. Saved templates are converted at print time (token dropped, redundant "XPMatic:" prefix stripped) so existing profiles keep working without a doubled brand. Relabeled the Social tab's "Emote" toggle to "Print in Chat" with a description that says the line only shows in your own chat.
  • The Social tab's settings (send-to-party/raid/guild/battlegrounds, print in chat, and their descriptions) are now translated into every shipped locale instead of falling back to English.

[v1.5.0-release] - 09/09/2026

In-Game

  • Added. Change logs open one at a time. If you run several Infinite Loop Alchemist addons, their change log windows no longer pile up on top of each other after an update. They come one at a time, and the next one opens when you close the one in front of it.
  • Added. Turn the pop-ups off from the window. The change log window now has a checkbox that stops these pop-ups for each addon.

Added

  • Change log popups across every -Matic addon now open one at a time through a shared queue in LibMatic-ChangeLog-1.0 rather than stacking on the same login. XPMatic passes addon = "XPMatic" as its queue key and registers with the library in Core.lua's OnEnable so the family-wide queue control can reach its own saved setting.
  • An auto-opened popup carries a suppress checkbox that writes every registered addon's own generalSettings.isChangeLogAutoPopUpEnabled, so the existing "Show Change Log On Update" toggle turns it back on. Popups already queued still get their turn; the checkbox governs the next update.
  • Shared LibMatic (pulled by the packager from the local libmatic repo): supporter names in the change log panel are now one autoshrinking single-line label each instead of a joined, wrapped column, so a long Name-Realm shrinks to fit rather than wrapping.

[v1.4.4-release] - 09/09/2026

In-Game

  • Fixed. On Anniversary, Mists and Classic clients the supporter names and the Discord link box on the General settings page could pile up under the toggles, overlapping each other, after the window had been opened a few times. It draws once now, in every addon that shows it.

Fixed

  • LibMatic-ChangeLog-1.0 MINOR 10 (shared library, libmatic commit c11f544): on Anniversary, Mists and Classic clients a client error partway through drawing the supporter banner left the roster scroller, the Discord link box and the pane shown but untracked by the pool, so the next draw recycled the tracked frames and the untracked orphans stayed attached, producing doubled overlapping supporter names and a second Copy me box drawn over the General page's toggles. Every pooled frame is now tracked the moment it is acquired, before any drawing that could error.

[v1.4.3-release] - 09/09/2026

Changed

  • Supporters credits refreshed.

[v1.4.2-release] - 09/08/2026

In-Game

  • Fixed. Hovering a checkbox or any other setting in the options window no longer pops up an error window on every hover. The setting's tooltip shows as it should.

Fixed

  • The embedded Ace3 libraries (AceConfigDialog-3.0, AceDB-3.0, AceConfigRegistry-3.0, and their siblings) were brought up to upstream master. The old AceConfigDialog-3.0 passed a boolean in the alpha slot of GameTooltip:SetText, and WoW 12.1 validates that argument as a number, so hovering any checkbox or other option threw "bad argument #5 to 'SetText'" on every hover. Upstream passes an explicit numeric alpha. The upgrade also fixes CheckBox desaturation on 12.1 and secret text rendering in the Heading widget.

Changed

  • Supporters credits refreshed.

[v1.4.1-release] - 09/08/2026

Changed

  • Supporters credits refreshed.

[v1.4.0-release] - 09/07/2026

In-Game

  • Every -Matic addon is built and updated by one person. A Supporter subscription on the Infinite Loop Alchemist Discord ($3.99 a month) keeps every addon updated, and puts your character name and realm at the top of the change log in every -Matic addon, in the General settings page of every -Matic addon, and on the Supporters page. Open the Discord invite from the box under the Supporters banner in this window.
  • The Supporters banner, the copyable Discord invite, and the supporter name list now also sit at the top of the General settings page, so you can find them without waiting for the next change log.
  • The Supporters section on the General settings page never appeared before this version. It shows now.

Added

  • embeds.xml now loads Libs\LibMatic\LibMatic-Supporters-1.0\LibMatic-Supporters-1.0.xml ahead of LibMatic-Settings-1.0. That library was never embedded before, so the Supporters roster on the General settings page silently never rendered.
  • Modules/XPMaticOptions.lua passes supportersStore = XPMatic.db.global to BuildGeneralPage, so the supporter roster's shuffled order on the settings page is remembered across sessions. Modules/ChangeLogPopUp.lua's buildSpec now passes the same supportersStore so the change log popup's supporter banner shares that memory too.
  • Shared LibMatic (pulled by the packager from the local libmatic repo): LibMatic-ChangeLog-1.0 MINOR 9 adds a supporter banner to the change log popup, promo art pinned on top at 92% alpha, a "Copy me" label with a read-only copyable Discord invite box under it, a crit-log style pane listing supporter names in gold and realms in cream across three columns with dividers, its own scroller with the bar hidden until needed, a "No Supporters Yet" state when the roster is empty, and a click on the art opens a copy dialog raised above the popup. LibMatic-Supporters-1.0 MINOR 5 adds the name/realm split and colouring, a remembered shuffled rotation capped at 50 per open so every supporter takes a turn at the top, and localized tooltip/copy strings. LibMatic-Settings-1.0 MINOR 25 adds the same banner at the very top of the General settings page in a two-column layout.

Fixed

  • The Supporters section on the General settings page never rendered because LibMatic-Supporters-1.0 was missing from embeds.xml. It now loads and renders correctly.

[v1.3.3-release] - 09/05/2026

Fixed

  • LibMatic-ChangeLog MINOR 7 (shared library): the change log popup skinned its pooled AceGUI Frame with parchment and a wood border and handed the frame back to the shared pool still wearing them. AceGUI applies the Frame widget's backdrop once at construction and never on reuse, and Blizzard's ApplyBackdrop resets both colours to white, so the standalone Options window, AceConfigDialog's next Frame from that pool, opened on tan parchment whenever the change log had been shown earlier that session. The popup now captures the frame's backdrop and colours before skinning and restores them from the widget's OnRelease callback.

Changed

  • The change log popup opens on a version bump only when it carries an entry newer than the version the player last saw (LibMatic-ChangeLog MINOR 8 HasEntryNewerThan, through XPMatic.ShowChangeLogIfNew on the login path). A release with nothing to tell the player, like this one, no longer reopens the previous version's notes. release.sh's in-game changelog gate expects a popup entry only when the version's section here has an In-Game part.

[v1.3.2-release] - 09/04/2026

Changed

  • The guild announcement switch in the Social tab now ships on (canSendToGuild = true in XPMaticDefaults), like the party, raid and battleground switches, so XPMatic's announcements reach your guild by default.
  • release.sh: --notify re-posts the current version's CHANGE_LOG.md section to Addon Alchemist; the Fastlane lane and promote.sh are gone (fe738fd, 176b4cf, 10cf747, 220ea37).

[v1.3.1-release] - 08/28/2026

Changed

  • Refreshed Media/Textures/gearmatic-icon.tga to GearMatic's new artwork, used in the shared "More Infinite Loop Alchemist Addons" list in Settings.

In-Game

  • Refreshed the GearMatic icon in the "More Infinite Loop Alchemist Addons" list to its new artwork.

[v1.3.0-release] - 08/28/2026

In-Game

  • The what's-new popup now appears in your language. All ten supported languages (German, Spanish, Mexican Spanish, French, Italian, Korean, Brazilian Portuguese, Russian, and both Chinese scripts) get translated release notes instead of English.
  • XPMatic is now fully translated: the readout, alerts, and options text appear in your language too.

Changed

  • Changelog popup localized the GearMatic way: entries capped at the latest 10, every title, status line, label, and body resolved through clp_* AceLocale keys, translated at full key parity across all shipped locales.
  • Full localization added: ten new locale files at complete key parity with enUS, wired into the load order.

[v1.2.9-release] - 08/28/2026

In-Game

  • Fixed the custom font choices showing up on non-English game clients. The decorative fonts only contain Latin letters and render as empty boxes in other languages, so the custom fonts are now offered on English clients only; every other language keeps the game's own fonts.

Fixed

  • English-only gate on the LibSharedMedia font registrations in the SharedMedia module: non-English clients register zero custom fonts and LibSharedMedia's own locale default answers any saved custom font name.

[v1.2.8-release] - 08/23/2026

In-Game

  • Fixed the settings window failing to open. Patch 12.1.0 removed a piece of the game's own interface code that every option checkbox was built on, so asking for settings produced an error instead of a window. Whether it hit you depended on which other addons you had loaded, because some of them carry a newer copy of that shared code and quietly fixed it for everyone.

Fixed

  • Refreshed the vendored AceGUI-3.0 widgets. Build 69404 deleted the global SetDesaturation from Blizzard_UIParent/Shared/UIParent.lua with no deprecation path; AceGUI CheckBox v26 called it while drawing the first checkbox, so the options panel died before it rendered. Ace3 already ships v27 using check:SetDesaturated(). The widget is registered once per session by whichever loaded copy has the highest version, so shipping current files repairs the panel even when the stale copy belongs to a third-party addon. CheckBox 26 to 27, ColorPicker 25 to 28, EditBox 28 to 29, Keybinding 26 to 27, MultiLineEditBox 32 to 33, Slider 23 to 24, TreeGroup 47 to 49.

[v1.2.7-release] - 08/16/2026

Fixed

  • Shipped LibMatic-AlertStack-1.0 MINOR 4 (shared library fix, libmatic commit 47df851): a cinematic or in-game video hiding the UI fired OnHide on still-visible alert frames and silently untracked them from the shared cross-addon alert stack, so they stopped being reanchored, escaped the max-alert caps, and could end up overlapping other alerts at one spot. The stack now only drops a frame on a genuine self-hide. No XPMatic addon-code changes; the fix rides the embedded shared library.

In-Game

  • Fixed alerts being able to pile up on top of each other in one spot after a cinematic or in-game video played while an alert was showing.

[v1.2.6-release] - 08/11/2026

Changed

  • Bumped ## Interface: in XPMatic_Mainline.toc to 120100 for WoW Retail patch 12.1.0, matching the GearMatic/RepMatic/MailMatic family.

In-Game

  • Updated for WoW patch 12.1.0.

[v1.2.5-release] - 08/05/2026

Changed

  • Quest/XP alert sounds are rate limited through the shared LibMatic-SoundThrottle-1.0: at most one alert sound per 2 seconds.

In-Game

  • Alert sounds no longer stack or spam. At most one alert sound plays every 2 seconds.

[v1.2.4-release] - 07/21/2026

Changed

  • Bumped ## Interface: in XPMatic_Vanilla.toc to 11509 (WoW Classic 1.15.9) and the embedded LibSharedMedia-3.0_TBC.toc to 20506 (WoW Classic TBC 2.5.6), matching the modern-UI patch versions across the GearMatic/RepMatic/MailMatic family.
  • Refreshed Media/Textures/repmatic-icon.tga to RepMatic's new artwork, used in the shared "More Infinite Loop Alchemist Addons" list in Settings.

In-Game

  • Updated for the latest WoW Classic and Classic Burning Crusade patches.
  • Refreshed the RepMatic icon in the "More Infinite Loop Alchemist Addons" list to its new artwork.

[v1.2.3-release] - 07/10/2026

Changed

  • Updated the embedded LibMatic library. The GearMatic entry in the shared Infinite Loop Alchemist addon-family description list (shown in Settings) was refreshed to describe its newest features, simulated procs, trinkets, and set bonuses, best-in-slot skull marks, durability alerts, and browsing your alts' gear on the character sheet, across all 11 locales.

In-Game

  • The Infinite Loop Alchemist addon list in Settings now describes GearMatic's newest features: simulated procs, trinkets, and set bonuses, best-in-slot skull marks, durability alerts, and browsing your alts' gear on the character sheet.

[v1.2.2-release] - 07/10/2026

Fixed

  • Various bug fixes.

In-Game

  • Various bug fixes.

[v1.2.0-release] - 07/10/2026

Added

  • Update notice: XPMatic now tells you when a newer version is available on CurseForge (via the shared LibMatic version check used across the Infinite Loop Alchemist addons).

Fixed

  • Estimator: gaining two or more levels in a single XP update (big quest turn-ins, heirloom or recruit-a-friend boosts) no longer corrupts the learned leveling pace with a falsely tiny sample. The estimator now reseeds cleanly and resumes from the next XP gain.
  • Estimator: a level-up whose overflow XP landed above the previous XP value is now correctly detected as a ding, crediting the pace sample to the level you finished instead of the new one.
  • Display: added the missing nil guard when building the readout window's layout, matching the guard pattern used everywhere else in the file.

Changed

  • Estimator: XP-update handling now computes the instance/world mode, max-level state, and current XP values once per event and reuses them, instead of re-querying the client API several times per XP gain.
  • Alert: the pending quest-alert timer handle is now stored and can be cancelled via a new internal cancel path, so a pending alert can never permanently wedge future alerts.
  • Removed dead code: the unused Compat.InCombatLockdown wrapper, the write-only XPMatic_Color global, the vestigial per-quest cache clear on entering world, and the empty logout persist step (with its PLAYER_LOGOUT registration).

In-Game

  • Fixed a rare case where gaining several levels at once (big quest turn-ins or boosted XP) could make the "time to next level" estimate run much slower than your real pace until it relearned.
  • Level-ups where a large XP reward carried you well into the next level now count toward your leveling pace correctly.
  • XPMatic now lets you know when a newer version is available on CurseForge.

[v1.1.0-release] - 06/30/2026

Changed

  • Announcing your time-to-level and level-ups to guild chat is now off by default. Party, raid, and battleground announcing are unchanged. You can turn guild announcing back on anytime in the Social options.

[v1.0.2-release] - 06/30/2026

Changed

  • Refreshed the RepMatic and MailMatic icons in XPMatic's "More Infinite Loop Alchemist Addons" list to their new artwork, and added the MailMatic icon that was missing from that list.

[v1.0.1-release] - 06/29/2026

Fixed

  • XPMatic now installs and runs on every current WoW version, including Wrath Classic and the latest retail build. A wrong version tag previously left some clients unable to see the addon.

[v1.0.0-release] - 06/29/2026

Added

  • Live "time to next level" readout that learns your real leveling pace and shows how long until your next ding. It holds the estimate through breaks between XP gains, and can optionally tick down second by second.
  • Animated quest alerts: when you start or turn in a quest, XPMatic pops your current time-to-level with a count-up animation, a bounce, and a sound.
  • Social broadcast: optionally announce your time-to-level and your level-ups to party, raid, or guild.
  • Shared alert positioning with the other Infinite Loop Alchemist addons, so all your -Matic alerts stack together in one place. Each addon can also use its own position instead.
  • /xpmatic demo previews the alert and readout with a sample time, and right-clicking the readout opens a quick menu for settings, changelog, and hide.
  • Full options panel: readout appearance and font, alert messages and font, sound, social broadcast, profiles, and a changelog popup after updates.
  • Localized addon description in the in-game "More Infinite Loop Alchemist Addons" list across every supported client language.