File Details
v1.3.0
- R
- Jun 14, 2026
- 1.30 MB
- 7
- 12.0.5+5
- Classic + 3
File Name
MailMatic-v1.3.0.zip
Supported Versions
- 12.0.5
- 5.5.4
- 4.4.2
- 3.4.5
- 2.5.5
- 1.15.8
MailMatic Change Log
1.3.0
Added
- Out-of-date notification: MailMatic now quietly shares its version with your guild and group over addon comms, and prints a one-time chat line when someone nearby is running a newer build, so you know to update. Toggle it under "Notify Me About Updates" on the General tab (on by default). New module Modules/VersionBroadcast.lua with tests/update_notify_spec.lua covering the notify decision, the version-string guard, and the channel selection (guild/party/raid/instance, PvP skipped).
Changed
- The change log popup now opens only when the installed version is genuinely newer than the last one seen (numeric semver comparison, so 1.10 ranks above 1.9), instead of firing on any version difference. The last-seen version is stored account-wide in db.global with a fallback to the per-profile value, so the popup no longer re-appears when switching profiles or downgrading. New IsNewerVersion method with tests/version_compare_spec.lua covering patch/minor/major ordering, numeric-not-lexical comparison, missing-part padding, and nil handling.
In-Game
- MailMatic now lets you know in chat when a guildmate or group member is running a newer version, so you can grab the update. You can turn this off under "Notify Me About Updates" in the General options.
1.2.0
Added
- Sound Rate Limit option (Sound tab): caps how often the new-mail sound plays so you do not get sound fatigue. Options are once per 1, 5, 10, 15, 30 minutes, 1 hour (default), or 2 hours. The pop-up still shows every time; only the sound is throttled. The limit is tracked per character and persists across reloads and relogs, so repeatedly logging in within the window stays quiet.
- Play sound once per login toggle (Sound tab): when on, the new-mail sound plays at most once per character each login, overriding the rate limit and greying out the interval dropdown. It survives /reload and resets on a fresh login.
- /mailmatic test and the options preview button always play the sound, ignoring both limits.
- New test spec tests/sound_throttle_spec.lua covering the rate-limit window, the once-per-login override, login reset, and the test bypass.
- Alert Rate Limit option (Alert tab): caps how often the on-screen pop-up appears for new mail, with the same intervals as the sound limit plus a None option that is the default (no limit, unchanged behavior). It is independent from the sound limit and tracked per character across reloads and relogs.
- New test spec tests/alert_throttle_spec.lua covering the None default, the interval window, the test bypass, and independence from the sound limit.
In-Game
- New Sound Rate Limit setting: choose how often the "you've got mail" sound is allowed to play, from once a minute up to once every two hours, with once an hour as the default. The pop-up still appears every time; only the sound is limited so it never gets annoying.
- New "Play sound once per login" option: hear the mail sound just once each time you log in a character, no matter how the rate limit is set.
- Testing the alert with /mailmatic test or the preview button always plays the sound so you can hear your pick.
- New Alert Rate Limit setting on the Alert tab: choose how often the pop-up is allowed to appear for new mail, or leave it on None to see it every time. It works separately from the sound limit, so you can quiet the pop-up, the sound, or both.
1.1.0
Fixed
- The login alert is no longer eaten by the post-loading render freeze. Login traces showed the popup was placed, visible, and full alpha, yet the client rendered no frames for ~4 seconds while streaming assets, and the fade animation consumed its whole missed wall-clock window in one step when frames resumed. LibMatic-OverlayGuard (MINOR 4) now holds the alert until rendering actually settles (10 consecutive smooth frames after LOADING_SCREEN_DISABLED), so the 3-second display happens entirely in frames the player can see.
- The login alert now fires reliably on every character. On a fresh login the server pushes the unread-mail flag a few seconds after PLAYER_ENTERING_WORLD, so the single HasNewMail() check at PEW often ran too early and the alert never fired (reload worked because the flag is cached client-side). Login now polls once per second for up to 15 seconds and stops the instant the flag lands, so the alert fires the moment mail data finishes loading; MailState dedupes so characters whose flag is already present at PEW still alert exactly once.
- The login mail alert no longer fires behind the loading screen. LibMatic-OverlayGuard (MINOR 3) now blocks on PLAYER_ENTERING_WORLD / LOADING_SCREEN_ENABLED and releases on LOADING_SCREEN_DISABLED, and the alert is queued with a 60s hold so even a long loading screen cannot drop it. Previously the popup ran its full display-and-fade cycle while the loading screen was still up, so only the tail end (or nothing) was visible while the sound still played.
Changed
- Default alert display duration is now 3 seconds (was 4).
- The default mail-alert icon is now a custom wax-sealed envelope texture shipped with the addon (Media/Textures/you-got-mail-envelope-v1.tga), replacing the Blizzard mailbox tracking icon. The alert-icon dropdown now lists Envelope (default) and Mailbox (Legacy); the separate Sealed Letter entry and its locale key were removed. Profiles that explicitly picked the old icon keep it; profiles that never touched the setting move to the envelope.
- The addon-list / addon-compartment icon (TOC IconTexture across all flavors) now uses the wax-sealed envelope texture instead of the Blizzard mailbox/letter icon. The versioned filename lets a fresh texture bust the client texture cache on /reload.
Added
- Per-race, per-gender "you've got mail" voice clips: 32 LibSharedMedia sound entries (16 races x 2 genders) registered as "MailMatic <Race> <Male/Female>" from Media/Sounds.
- The default new-mail sound now resolves to the player's own race and gender at login (UnitRace raceFile token + UnitSex). Allied races map to their classic counterparts: Void Elf to Blood Elf, Lightforged Draenei to Draenei, Dark Iron Dwarf and Earthen to Dwarf, Kul Tiran to Human, Mechagnome to Gnome, Nightborne to Night Elf, Highmountain Tauren to Tauren, Mag'har Orc to Orc, Zandalari Troll to Troll. Vulpera and Haranir use their own recordings.
- Unknown race tokens fall back to the Human clip; unknown sex falls back to the male clip. Goblin clips are wired but not yet recorded.
- New test spec tests/mail_voice_spec.lua covering race resolution, allied mappings, fallbacks, and LSM registration.
- Use shared LibMatic alert position option, on by default: alerts from all Infinite Loop Alchemist addons anchor to one shared screen position and merge into a single stack, newest on top. Turning it off restores this addon's own alert position.
- Max Shared Alerts option, default 5: caps how many alerts the shared stack shows at once across all addons combined.
- The shared position and limit stay in sync across addons and persist through reloads; setting them from any one addon applies to all.
- Both new options are fully localized across every supported language.
- Mail alerts arriving during combat are deferred and fire exactly once right after leaving combat (PLAYER_REGEN_ENABLED). Multiple mail detections during one fight collapse into a single alert. Combat detection uses InCombatLockdown with a C_RestrictedActions.InCombatLockdown fallback for retail.
- /mailmatic test (and /mailmatic mail, /mailmatic preview) now runs the full alert pipeline: configured delay, combat gate, deferred fire after combat. Typed while in combat it prints a confirmation that the alert is queued. The options panel preview button remains an instant preview.
- New test spec tests/combat_defer_spec.lua covering the combat gate, deferral, collapse, regen fire, API fallback, and the slash command path.
In-Game
- The pop-up now waits for the loading screen to finish, so when you log in with mail waiting you actually see it instead of just hearing it.
- The login alert now shows up reliably on every character, even when the mail info takes a few extra seconds to arrive after you enter the world.
- The pop-up stays on screen for 3 seconds by default.
- The mail alert now shows a hand-drawn wax-sealed envelope by default, and the same envelope is MailMatic's icon in your addon list. Want the old mailbox icon back? Choose Mailbox (Legacy) under Alert Icon in the General tab.
- The mail alert now greets you in your character's own voice: every race and gender has its own "you've got mail" clip, picked automatically for the character you are playing.
- Allied races hear their ancestral race's voice (Kul Tirans hear Human, Zandalari hear Troll, Dark Irons and Earthen hear Dwarf, and so on), while Vulpera and Haranir get their very own clips.
- Prefer a different voice? Pick any race and gender clip from the sound dropdown in the Sound tab.
- New option: alerts from all Infinite Loop Alchemist addons can share one position on screen and stack neatly together, newest on top. On by default; turn it off in the alert settings to keep this addon's own alert position.
- New Max Shared Alerts setting controls how many alerts can be on screen at once in the shared stack, 5 by default.
- Drag the alert position in any one addon and every addon using the shared position follows.
- Mail alerts no longer interrupt your fights: if mail arrives while you are in combat, the alert waits and pops up right after the fight ends.
- Want to see it? Type /mailmatic test during a fight: you get a chat line confirming the alert is queued, and the pop-up plus voice fire the moment you drop out of combat. Out of combat, /mailmatic test now previews the alert with the same short delay a real mail alert uses.
1.0.0
In-Game
- MailMatic greets you with a pop-up and a sound the moment you log in with mail waiting, and again whenever new mail arrives. Set the text, color, sound, and position under /mailmatic.
Added
- New mail alert: a single pop-up with the sealed-letter icon, bounce, and shadow. It fires on login when mail is already waiting, and again whenever new mail arrives while you play.
- Login and live detection driven by HasNewMail and UPDATE_PENDING_MAIL, gated through the overlay guard so the alert waits past the loading screen and cinematics.
- Configurable alert text, color, font, outline, shadow, display duration, fade time, bounce style, and on-screen position.
- Sound on new mail with a mute-all toggle, plus the LibMatic sound pack.
- General, Alert, Sound, Change Log, and Settings Profiles option tabs. Open with /mailmatic.
- Localization scaffold for deDE, esES, esMX, frFR, itIT, koKR, ptBR, ruRU, zhCN, and zhTW.

