promotional bannermobile promotional banner

MailLogger - Revived

Never forget a trade or in-game mail again! MailLogger records every transaction's sender, items, and gold — so you always know who sent what and when.

File Details

MailLogger-v2.1.6

  • R
  • Apr 2, 2026
  • 65.27 KB
  • 11
  • 12.0.1+7
  • Retail + 3

File Name

MailLogger-MailLogger-v2.1.6.zip

Supported Versions

  • 12.0.1
  • 12.0.0
  • 11.2.7
  • 5.5.3
  • 4.4.0
  • 3.4.3
  • 2.5.5
  • 1.15.8

MailLogger Changelog

[v2.1.3] (2026-03-31) - Revived & Refactored

New Features

  • Multi-version TOC support — Added MailLogger_BCC.toc, MailLogger_Wrath.toc, MailLogger_Cata.toc, and MailLogger_Mainline.toc so the addon loads correctly across all WoW client versions (Classic Era, BCC, Wrath, Cata, Retail).

  • Minimap button tooltip — The LibDBIcon minimap button now shows a tooltip with the addon name, version, and click instructions on mouseover.

  • Calendar window position persistence — The Calendar window now anchors permanently to the left side of the Output window and moves with it automatically.

  • Settings scroll frame — The Settings window content is now housed in a ScrollFrame, making the layout future-proof and removing the need to resize the window when adding new options.

  • Print by Alt — Added a new "Print Logs" row in Settings with an alt dropdown, allowing logs to be printed for a specific character independently of the "Print All" button.

  • Wipe (per-alt) — The old "Remove" button on the alt name row has been redesigned as a "Wipe" button that clears all saved log data for the selected alt while keeping the alt in the dropdown.

  • Wipe All — The old "Delete All" button has been redesigned as "Wipe All", which clears log data for all alts while preserving the alt list.

  • Settings tooltips — All interactive elements in the Settings window now have descriptive tooltips explaining their function.

  • Feedback & Update section — Replaced the editable URL text box in Settings with static author and Discord contact text.

  • VersionCheck-1.0 integration — The addon now registers with VersionCheck-1.0 on load to notify players when an update is available.

  • Embedded LibsLibStub, LibDataBroker-1.1, and LibDBIcon-1.0 are now embedded in the addon's Libs/ folder so the minimap button works without relying on other addons to provide these libraries at runtime.

Improvements

  • Settings UI layout — Moved the "Trade Log Days" input group 188px from the left edge to prevent right-border overflow. Text in the input box is now center-justified. "Print All" and "Wipe All" buttons are equal-width and centered in the content area.

  • Window title text — Title text in all three windows (Output, Settings, Calendar) is now vertically centered in the banner graphic.

  • Send to Public tooltip — Updated to accurately describe the channel selection logic (Raid → Instance → Party → Say).

  • C_AddOns compatC_AddOns.GetAddOnMetadata is now guarded with a C_FriendList nil-check fallback so the addon loads correctly on Classic Era clients where C_AddOns does not exist.

Bug Fixes

  • ML-001: Addon fails to load on Classic EraC_AddOns.GetAddOnMetadata was called at the top level of Core.lua. On Classic Era this API does not exist, causing an immediate Lua error before the addon could register, silently hiding it from the ESC > Addons list. Fixed with a C_AddOns and C_AddOns.GetAddOnMetadata or GetAddOnMetadata guard.

  • ML-002: Calendar window never opened from minimapAddon.Config.EnableCalendar was never defined in the default config, so the if Addon.Config.EnableCalendar guard in MinimapIcon.lua always blocked the Calendar from showing. Guard removed — Calendar always opens with the log window.

  • ML-003: LDB:Hide/Show wrong objectMinimapIcon.lua called LDB:Hide/Show (the data broker object) instead of LDBIcon:Hide/Show (the icon library). The minimap button reset on Shift+Right-click would error silently.

  • ML-004: time() receiving string argumentsstrsplit returns strings; time({year, month, day}) requires numbers. Log pruning in Events.lua and date comparisons in Calendar.lua were comparing wrong values, so old logs were never purged correctly. Fixed with tonumber() wrappers.

  • ML-005: Calendar.background:Show(show) ignored argumentFrame:Show() in WoW Lua ignores arguments. Command.lua was calling Show(true/false) instead of :SetShown(show), so the calendar always showed regardless of intent.

  • ML-006: clearAllFocus undefinedConfig.lua set an OnMouseDown script to the undefined global clearAllFocus. This errored on every click of the Settings window. Replaced with GetCurrentKeyboardFocus():ClearFocus().

  • ML-007: Duplicate event registrationsMAIL_SHOW and MAIL_CLOSED were registered twice in Events.lua. Removed duplicates.

  • ML-008: Dead PLAYER_TRADE_MONEY registration — Event was registered but had no handler. Removed.

  • ML-009: Calendar position not saved — The Calendar window had OnDragStop wired but never saved its position to SavedVariables. Position is now anchored to the Output window and moves with it automatically.

  • ML-010: Wipe All / Wipe button broken — The old Remove/Delete All Y buttons called self:Initialize() where self was a button frame, causing a silent error. Also destroyed the alt list on delete. Redesigned both as data-wipe operations that keep the alt list intact.


[v2.1.2] (Original Release)

  • Initial release by Aoikaze.