v2.4.0
What's new
# Changelog
All notable changes to Housing Lumber Helper will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [2.4.0] - 2026-08-31
### Added
**Help & Troubleshooting**
- new **Help & Troubleshooting** page in the settings (*Settings > Housing Lumber Helper > Help & Troubleshooting*). Every line on it is measured live on your character instead of being generic advice: whether the recipe cache is usable, what your target lumber is, what the session timer is doing, and whether TSM, Profession Shopping List, Routes, the warband bank and Find Lumber tracking are working. Rows that need attention are marked, and the ones that are only a limitation say so instead of looking like a bug.
- new command `/hlh troubleshoot` (also `/hlh troubleshooting` and `/hlh status`) opens that page directly.
- **Clear Recipe Cache** button on the same page, with a confirmation prompt. It does the same as `/hlh clearcache`, including clearing the per-profession refresh latch.
- when the Crafts tab is empty *and* the recipe data is unusable (empty cache or the TSM integration switch is off), the tab now points at `/hlh troubleshoot` instead of only saying "No crafts queued" - previously that message was misleading, because queued crafts with no cached lumber cost are dropped before they reach the list.
**Keybinds**
- every inventory tab now has its own keybind: Toggle Lumber Tab, Toggle Crafts Tab, Toggle Records Tab and Toggle Stats Tab (all unassigned by default, under *Options > Keybinds > Housing Lumber Helper*). Pressing a tab keybind opens the panel on that tab, switches to it while the panel is open, and closes the panel when you are already on it.
- the inventory tab tooltips now show which keybind opens that tab.
**Compass HUD**
- the compass now coexists with third-party minimap addons (EllesmereUI, FarmHud and similar). When another addon controls your minimap, the compass borrows only its position and leaves the minimap's own parent alone, so the Find Lumber blips show up in the ring instead of staying in the corner.
- new "Minimap in Compass" setting (Settings > Compass & Map): Auto adapts to other minimap addons, Always forces the minimap into the ring, Never leaves it alone and shows pins only.
- graceful degradation: if the other addon takes the minimap back, the compass falls back to pins-only for the rest of the session, tells you once in chat, and puts your minimap back exactly where it was.
- the compass now stays out of the way while another minimap addon has not stored your minimap layout yet, so it can never record the compass layout as your own minimap layout. If that ever happens anyway, a chat message names the exact values to restore by hand, and Housing Lumber Helper never writes another addon's settings.
- FarmHud is left alone: while FarmHud is on screen the compass runs in pins-only mode and tells you once in chat, so the two overlays no longer fight over your minimap.
- if the other minimap addon hides your minimap on its own schedule (for example only showing it on mouseover), the compass shows pins only instead of an empty ring.
### Changed
**Keybinds**
- the "Toggle Lumber History" keybind is now called **Toggle Records Tab** and opens the Records tab. **Your assigned key is kept** - only the label changed. The "Toggle Lumber Inventory" keybind is now called **Toggle Lumber Tab** (key kept as well), so all four tab keybinds follow the tab names shown in the panel.
**Compass HUD**
- the minimap is no longer moved unconditionally: the compass checks who owns it first, and shows pins only when moving it would break something.
- `/hlh hud` now also reports when the compass is running in pins-only mode, so you can tell why the minimap is not in the ring.
### Removed
**Settings**
- the "Show expansion abbreviations in Inventory Panel" checkbox is gone. It stopped doing anything in 2.3.9, when the redesigned Lumber tab switched to always showing the expansion logo next to the full expansion name - the switch still remembered its state, but no part of the panel read it any more. The wide 2.3.9 row has plenty of space for the full name, so there is nothing to shorten and nothing to bring back; a setting that does nothing when you click it is worse than no setting at all.
### Fixed
**Keybinds**
- the "Toggle Lumber History" keybind did nothing: it asked the panel for the History tab, which was removed in 2.3.9, so the panel just reopened on whatever tab was last used - and with the panel already open it did not even close it. It now opens the Records tab.
**Recipe costs**
- lumber costs cached before a game patch are now refreshed by themselves. Patch 12.1 cut Midnight decor lumber costs roughly in half, and the addon kept using the pre-patch numbers indefinitely, because a fully cached recipe was never read again. Opening a profession window after logging in now re-reads its recipes, so the Crafts tab, the g/L column, profit figures and the session goal match the game again. Measured on a live account: 58 of 295 cached recipes were stale, and the total Midnight lumber requirement dropped from 1638 to 874.
- after a game update, a one-time chat message reminds you to open each profession window once. Opening a profession that actually changed reports how many recipes were updated.
- `/hlh clearcache` now takes effect immediately instead of only after the next login.
**Compass HUD**
- ring, trail, speed bar and pins now layer correctly around the minimap when another addon owns it; previously the layering silently failed and parts of the HUD could end up on the wrong side of the map or of other windows.
**Performance**
- the addon no longer causes short freezes while the game loads item names, which was most noticeable in busy cities.
## [2.3.10] - 2026-08-11
### Changed
**Compatibility**
- client compatibility updated for WoW 12.1.0.
## [2.3.9] - 2026-05-29
### Added
**Crafts tab**
- new minimum g/L filter lets you hide crafts below a profit-per-lumber threshold; enter a value in thousands of gold (e.g. "1.6" = 1.6k g/L minimum); accepts comma or dot as decimal separator; invalid input shows all crafts; hover the filter for a tooltip; cleared by the Clear Filters button.
### Changed
**Stats tab**
- the lifetime lumber harvest breakdown (per-expansion totals, node counts, double and triple drop rates) now appears alongside the KPI panel inside the Stats tab; the standalone History tab has been removed.
- profession column now shows profession icon and abbreviation side by side (e.g. icon + LW); hover any row to see the full profession name.
- gold amount columns (Craft Cost and Sale Price) now display in white instead of yellow for better readability on dark backgrounds.
- item icon now shown before each item name; item name column significantly widened and column layout reorganized to eliminate wasted space.
- vertical divider between KPI and harvest panels is now precisely centered with equal panel widths on both sides.
**Crafts tab**
- redesigned with compact 22px rows, up to 20 visible items before scrolling, and a new Name/Expansion/Profession column order; each shows icon + abbreviation. Profit values are white for positive and red for negative.
- item name shows a full item tooltip on hover; expansion and profession zones show abbreviated name alongside icon, with hover tooltip for full name.
**Crafts and Stats tabs**
- both widened to 1000px so the window no longer jumps when switching between them.
**All tabs**
- expansion column unified to compact 16px icon + abbreviated name, with hover tooltip showing the full expansion name. Sort order follows chronological expansion release order.
**Lumber tab**
- now the same 1000px width as the Crafts, Records, and Stats tabs; all four tabs share one panel width and the window no longer resizes when switching.
- redesigned rows use taller 34px height with larger expansion icons for better readability at the wider layout.
- expansion now always shows the logo alongside the full expansion name (e.g. "Shadowlands", "The Burning Crusade") for at-a-glance identification.
- Bags count column now displays in white instead of yellow; yellow is reserved for gold amounts.
- queued crafts indicator redesigned as a wider icon strip showing up to four item icons side by side with an overflow count if more crafts are queued.
- total row craft count now uses compact number format (e.g. "3.6k" instead of "3,636").
- per-row ember progress bar removed; replaced by a compact indicator badge showing the number of queued crafts for that lumber type.
- hovering the craft indicator shows a tooltip listing each queued item with icon, name, quantity, total profit, and profession icon in a clean two-column layout.
- window position now anchors to the top-left corner so only the bottom edge moves when switching to a shorter or taller tab; the window no longer jumps.
### Fixed
**Lumber tab**
- Total summary row was shifted slightly to the right compared to the data columns above it.
## [2.3.8] - 2026-05-11
### Added
- Stats tab: new fourth tab in the Inventory Panel tracking lifetime craft profit vs. realized AH sale prices per housing decor item. Columns: Expansion, Item, Crafted count, Craft Profit (min/max/avg), Sold count, Sale Price (min/max/avg), and Delta (avg sale minus avg craft profit). Craft profit is recorded at craft time using TSM market data; sale price is recorded when you collect payment from the mailbox.
- Stats tab: hovering the item icon shows the full in-game item tooltip.
- Stats tab: expansion filter dropdown to show only items from a specific expansion
- Stats tab: profession filter dropdown to narrow results to a specific crafting profession
- Stats tab: item name search box for quick filtering by name (case-insensitive)
- Stats tab: "Clear Filters" button resets all active filters at once
### Changed
- Gold amounts throughout the addon now always display one decimal place (e.g. "49.0k" instead of "49k") for consistent column alignment
- What's New popup: redesigned with a gothic MORPHEUS font heading, semi-transparent addon logo watermark, and inline color-coded entry types (ADDED, CHANGED, FIXED) for faster scanning
- Updated interface version to WoW 12.0.5 (120005)
- Stats tab: item name is now positioned directly next to the item icon for a cleaner layout.
- Stats tab: removed the confusing item and profession icon buttons from the column header row.
### Improved
- Stats tab: filter dropdowns close automatically when clicking anywhere outside them or switching to another tab
- Performance: looting lumber no longer causes a CPU spike when the Inventory Panel is closed; the panel now skips all data processing while hidden
- Performance: profit data for the Items column is calculated once per display refresh and reused, eliminating redundant calculations per expansion row
### Fixed
- Stats tab: AH sales are now correctly recorded when using TSM or any other custom mail UI; previously the addon used a non-standard WoW function that only exists in the default mail UI.
- Stats tab: sale prices now reflect the actual gold you receive after the auction house fee, not the full sale price before the cut.
- Stats tab: the profit delta total in the summary row now only accounts for items where both craft cost and sale data are available; previously showed a misleading value by mixing all crafted items with only sold items.
- Stats tab: no longer incorrectly showed the Lumber tab content when selected
- Stats tab: data now appears immediately when opening the panel with Stats as the last active tab; previously required switching away and back to trigger a render.
- Stats tab: column headers no longer overlap the "no data recorded" message when the tab is empty.
- Stats tab: expansion logos now correctly show the expansion matching the lumber used; previously always showed a red question mark.
- Stats tab: crafting orders (public, private, and guild) are no longer tracked; only personal crafts that go directly to your own inventory are counted.
- Stats tab: opening your profession window now correctly migrates any existing recipe cache entries that were missing item output data, fixing crafts not appearing after a fresh install or cache update.
- Speed Tracker: fixed error "attempt to perform arithmetic on a secret number value" that could occur during combat or when execution was tainted by another addon
## [2.3.7] - 2026-04-05
### Changed
- TSM Integration: switched from reading internal TSM database structure to the official `TSM_API.CraftingQueueIterator()` API for queue data, improving reliability across TSM updates
### Fixed
- Crafts tab: profit now shows correctly for items with no active AH listings by falling back to TSM market history and vendor sell price
## [2.3.6] - 2026-03-22
## [2.3.5] - 2026-03-05
### Fixed
- Zone Tracker: Midnight expansion zones (Eversong Woods, Silvermoon City, Zul'Aman, Harandar, Voidstorm, Isle of Quel'Danas) now correctly detected, fixing current expansion display, per-expansion target lumber, and goal progress in the session tracker
## [2.3.4] - 2026-02-14
### Added
- Work Complete Sound: selectable sound from a dropdown with 30 built-in WoW sounds (default: Peon Building Complete)
- AH Timer Sound: expanded from 6 to 30 sound options, same curated list shared with Work Complete Sound
- Sound preview plays immediately when selecting a new sound in either dropdown
- Crafts tab: recipe names now colored by item quality (white, green, blue, purple, orange) matching standard WoW quality colors
### Changed
- Inventory Panel: reduced font sizes across all tabs (Lumber, Crafts, History) for a more compact, information dense layout
- Inventory Panel: tab info text moved from footer to tab button tooltips; hover any tab for a description of its contents
- Lumber tab: Warband, Target%, Craft, and Craft% columns now use fixed white text (totals in yellow) instead of red to green gradient for better readability on dark backgrounds
- Crafts tab: reordered columns so Profession badge is first and Item icon sits next to the recipe name
### Improved
- Compass HUD: breadcrumb trail now uses a pre-allocated circular buffer, eliminating garbage collection from table insertions and removals during farming
- Inventory Panel: profit and crafting data queries are now cached per frame, reducing redundant queue parsing when multiple columns need the same data
### Fixed
- Crafts tab: profit calculation now uses TSM's crafting cost instead of AH buyout prices for materials, fixing wildly inaccurate profit numbers on recipes with craftable sub-components
- Inventory Panel: summary row alignment and spacing fixes across all three tabs
- Inventory Panel: fixed tab tooltip error on hover (SetBackdropColor not available on GameTooltip in modern WoW)
## [2.3.3] - 2026-02-11
### Changed
- Updated TOC Interface version for WoW 12.0.1 (Midnight) compatibility
## [2.3.2] - 2026-02-08
### Added
- Session Tracker: **Compact mode** collapses the tracker to a minimal widget that stays out of your way while keeping all essential farming info visible at a glance
- Click the **minimize button** (header, next to settings gear) or bind a **keybind** (Options > Keybinds) to toggle
- State persists across sessions, stays minimized until you maximize
- Inventory Panel: **Tabbed interface** with Lumber, Crafts, and History tabs
- **Crafts tab** shows every queued recipe from TSM/PSL as its own row with detailed profit breakdown
- Columns: Item icon, Profession badge, Recipe name, Quantity, Lumber needed (with material icon), Profit/Item, Total Profit, g/L (gold per lumber), and Expansion logo
- **Profession availability** badges appear dimmed and desaturated for professions your current character doesn't have, full color for professions you do have
- **Click profession badge** to open that recipe's profession window (only works for professions on your current character)
- All columns sortable (default: highest total profit first)
- Scrollable list showing up to 10 crafts at a time
- Summary row at bottom with totals for Qty, Lumber, Total Profit, and weighted average g/L
- Empty state guides you to enable TSM or PSL integration if not configured
- **History tab** embeds the Lumber History panel directly inside the Inventory Panel
- Tab selection remembered across sessions
- World Map: right-click on any lumber pin to remove it, tooltip shows hint, pin deleted immediately from database
### Changed
- Inventory Panel: Items column now sorts queued crafts by estimated profit (highest first) instead of quantity
- Session toolbar: buttons reduced to compact size and centered with tighter spacing for a cleaner look
- Local time tooltip now explains why it's shown ("Compass HUD replaces the minimap clock")
- Warband Bank deposit messages now print to chat instead of the session frame overlay, so they remain visible after the frame updates
### Fixed
- Warband Bank toolbar button tooltip no longer causes "attempt to compare secret value" error when hovered in certain combat or secure UI contexts
## [2.3.1] - 2026-01-30
### Added
- "What's New" popup - one-time notification showing new features when addon updates to a new version
- Shows only once per version (not every login)
- Account-wide tracking shows once total across all characters, not once per alt
- Parses changelog content automatically from embedded data
- Style-aware (matches custom/Blizzard UI theme)
- "[What's New]" button in Settings header to view again anytime
- Compass HUD: breadcrumb trail fading path showing where you've traveled
- Aligns with Routes addon lines when following an optimized route
- Configurable duration (8-30 seconds, default 15) - older trail fades out gradually
- Toggle on/off in Settings > Compass & Map > Trail section
## [2.3.0] - 2026-01-26
### Added
- Session Tracker: lumber tracking indicator - glowing hatchet icon appears in header when "Find Lumber" minimap tracking is disabled
- Pulsing orange glow draws attention to the reminder
- Click shows message explaining how to enable tracking (via Tracking icon above minimap)
- Automatically hides when you enable Find Lumber tracking
- Helps prevent farming without seeing lumber nodes on your minimap
- Compass & Map: "Minimum Loot Count" filter - only show map pins looted at least N times
- Hides unreliable one-time nodes, keeping only consistent spawn locations on World Map and Compass HUD
- Default 1 (show all pins), increase to filter out rare/random spawns
- Valid range 1-1000, invalid values reset to 1
- Compass & Map: "Clear Current Map" button - delete pins from your current zone only without affecting other maps
- Less destructive alternative to "Clear All Pins" for cleaning up bad data in specific zones
- Shows confirmation dialog with zone name, displays success message after clearing
- Routes addon integration - HousingLumberHelper now registers as a data source for the Routes addon
- If you have Routes installed, you can import lumber pins when creating routes
- Routes then optimizes the path and draws route lines on your minimap/worldmap
- **Route lines display on Compass HUD** - when the compass overlay is active, Routes path lines are visible
- No configuration needed - Routes automatically discovers HousingLumberHelper
- Respects "Minimum Loot Count" filter - only exports pins that meet your threshold setting
### Fixed
- Lumber names now display in the correct language (German, French, etc.) instead of always showing English
- Bug introduced in v2.2.3: `C_Item.GetItemInfo(itemID)` doesn't exist - it requires an ItemLocation object
- Fixed by using `C_Item.GetItemNameByID(itemID)` which is the correct modern API for getting localized item names
## [2.2.4] - 2026-01-21
### Changed
- Updated interface version to 120000 for WoW 12.0 (Midnight) compatibility
## [2.2.3] - 2026-01-20
### Added
- Inventory Panel: g/L column (gold per lumber) - shows profit efficiency by dividing total profit by lumber needed
- Helps compare which expansion's lumber is most worth farming (e.g., 18k profit / 20 lumber = 900g/L vs 17k profit / 80 lumber = 212g/L)
- Sortable like other columns - click header to find highest efficiency lumber
- Summary row shows weighted average across all visible expansions
### Changed
- API modernization: replaced deprecated WoW API calls with modern equivalents
- `GetItemInfo` → `C_Item.GetItemInfo`
- `GetItemIcon` → `C_Item.GetItemIconByID`
- `GetSpellInfo` / `GetSpellTexture` → `C_Spell.GetSpellInfo`
- Removed unnecessary fallbacks for older clients (addon requires TWW)
## [2.2.2] - 2026-01-19
### Added
- Vendor purchase filtering - lumber bought from NPC vendors (like the WoD lumber exchange) no longer counts as "looted" lumber
- Prevents vendor purchases from starting the session timer or inflating lumber history statistics
- Fixes 100% triple-drop rate bug when buying 5-packs of lumber from vendors
### Improved
- Loot Map Markers: pins within cluster radius now consolidate into one when looting nearby - previously only merged new loot into closest pin, leaving existing pin swarms untouched. Now all nearby pins merge together, gradually reducing map clutter over time
## [2.2.1] - 2026-01-18
### Added
- Lumber History panel - new toolbar button (book icon) opens a panel showing lifetime lumber collection statistics that never resets
- Tracks per expansion: total lumber collected, nodes harvested, double drops (2x), triple drops (3x), and percentages for each
- Summary row shows aggregated totals across all visible expansions
- Sortable columns - click any header to sort by that stat
- Large numbers displayed in compact format (e.g., 1,234 → "1.2k")
- **Live updates** - panel refreshes within 1 second when you loot lumber (only actual loot, not bank/AH/mail transfers)
- Position saved between sessions, closes with Escape key
- Expansion tooltips on hover over expansion logos (same as Inventory Panel)
- Toolbar now has 6 buttons (inventory, map, AH mount, compass, history, warband bank)
- Lumber History panel: percentage values now capped at 100% maximum to prevent display bugs from edge cases
- **Keybindings** - bind keys to toggle Compass HUD, Lumber Inventory, and Lumber History panels
- Configure in WoW Options > Keybinds > "Housing Lumber Helper" section
- No default keybinds assigned - set your own preferences
- Toolbar button tooltips now mention keybind availability
## [2.2.0] - 2026-01-17
### Added
- Inventory Panel: Profit column - shows estimated profit (sell price - material cost) from queued TSM/PSL crafts per lumber type
- Calculates actual profit by subtracting material costs from sell price
- Material prices use three-tier fallback: AH price → vendor price → 0 (for soulbound items)
- Negative profits (crafting at a loss) displayed in red text as a warning
- Compact format using "k" suffix (e.g., 500g → "0.5k", 129,000g → "129k")
- Summary row shows total profit across all visible expansions
- Sortable like other columns
- Requires TSM integration enabled and TSM_API for price data
- Inventory Panel: Items column - shows queued craft items for each lumber type as an icon grid
- Icons sorted by craft quantity (most queued first), dynamically expands to the right
- Hover any icon for item tooltip, click to link in chat
- Profession badge (16px) next to each icon shows which profession crafts it
- Visible when TSM/PSL integration enabled
- `/hlh clearcache` command - clears the recipe cache to fix profession badge icons if they show wrong professions (can happen when TSM crafting UI scans recipes from multiple professions)
- Inventory Panel: closes on Escape key like standard WoW windows - press Escape to close, works naturally with other windows (each Escape closes one window)
### Fixed
- Inventory Panel: column alignment - data values (Bags, Warband, Target%, etc.) now properly align with their headers (timing bug caused columns to stay at initial positions instead of updating for TSM/PSL mode)
- Toolbar: Warband Bank button no longer causes "ADDON_ACTION_BLOCKED" errors when session display updates during or shortly after combat (missing combat lockdown check on secure button repositioning)
- Profit Calculator: fixed potential division by zero when recipe produces 0 items (corrupted cache edge case)
- Profit Calculator: PSL-only users can now see profit calculations without TSM enabled (profit column works with PSL shopping list alone)
- Profit Calculator: PSL queue items now properly show profit and appear in Items column (was treating PSL data structure incorrectly)
- Inventory Panel: same recipe in both TSM and PSL now merges into one item with combined quantity (was showing as separate entries due to TSM rank modifier in queue keys)
### Changed
- AFK logout countdown: changed "Logout imminent!" to "Logout expected any moment..." when 30-minute countdown expires (server-side kick timing varies slightly, softer wording reflects this uncertainty)
- Compass HUD: lumber pins now more transparent (30-70% opacity instead of 50-100%) for less visual obstruction while farming
- Loot Map Markers: cluster radius increased from 1.5% to 2.5% map distance (~25-50 yards) for more aggressive pin merging - reduces icon spam in dense farming areas
- Inventory Panel: expansion logos enlarged for better visibility in taller TSM/PSL rows (80x40 → 96x48, maintains 2:1 aspect ratio)
- Inventory Panel: row height reduced from 56px to 46px for compact icon layout
- Inventory Panel: added 10px gap between Sell and Items columns for visual separation
- Inventory Panel: Sell column widened by 30px to comfortably fit larger gold values (e.g., "108.8k")
## [2.1.6] - 2026-01-13
### Added
- Session Tracker: AFK logout countdown - when auto-paused for AFK, now shows live countdown "Paused: Player AFK (MM:SS until logout)" so you know exactly when Blizzard will disconnect you (30 minutes AFK = auto-logout)
### Changed
- Minimap button, addon compartment, and AddOns menu now use the addon's custom logo (compass with tree) instead of generic lumber item icon
### Fixed
- Compass HUD: city auto-hide now works correctly when teleporting/hearthstoning to cities (with loading screens) - previously only worked when walking into cities manually
### Improved
- Localization: tooltips now display mount and spell names in your game's language (German, French, etc.) instead of hardcoded English - applies to AH mount button (Trader's Gilded Brutosaur, Mighty Caravan Brutosaur) and Warband Bank button (Warband Bank Distance Inhibitor)
## [2.1.5] - 2026-01-09
### Added
- Compass HUD: "Hide in cities" setting - automatically hides the compass overlay when entering any resting area (cities, inns, sanctuaries) and restores when leaving. Correctly handles edge cases like attacking training dummies in Dornogal (combat + city overlap)
- Session Tracker: current expansion row now always shows a goal progress line below bag/warband counts - displays crafting goal (anvil icon) when TSM/PSL has items queued, or target goal (crosshair icon) as fallback when no crafting is queued
- TSM/PSL Integration: real-time queue updates - Inventory Panel and Session Tracker now refresh within 1 second when you add or remove items from your TSM crafting queue or PSL shopping list (no need to close/reopen the profession window)
### Fixed
- Blizzard UI Style: addon logo no longer hidden beneath title bar (now uses OVERLAY draw layer)
- Session Tracker: target goal display now updates immediately when changing global or expansion-specific targets in settings (was not refreshing until zone change)
---
## [2.1.4] - 2026-01-08
### Added
- Settings: UI Style dropdown (Custom/Blizzard) - comprehensive style switching:
- Custom: warm amber theme with red title, yellow glow, addon logo, custom icons, red glowing dividers
- Blizzard: standard WoW appearance with thin rounded border (tooltip-style), dark title bar, gold/yellow centered title, standard close button (red X), standard cogwheel, play/pause from TimeManager, reset button (yellow dot), toolbar icons (lumber, treasure map, coin, compass, orb), standard mail envelope icon, simple grey dividers, grey time border
- Settings: "Show in Addon Compartment" checkbox - toggles visibility in Blizzard's addon dropdown (independent of minimap button)
- Settings: "Show expansion abbreviations in Inventory Panel" checkbox - displays community-standard abbreviations (TWW, DF, SL, BfA, etc.) instead of logo images in Inventory Panel rows (Session Tracker always shows logos)
- Compass HUD: "Hide during combat" setting - automatically hides the compass overlay when entering combat and restores when leaving
### Changed
- Settings: AH-related options now grouped under "Auction House" sub-header in Session & Timers panel for better organization
- Settings: renamed "Play sound at threshold" to "AH timer sound alert" and "Reset timer on login" to "Reset AH timer on login" for clarity
- Expansion logos: fixed 2:1 aspect ratio and increased sizes for better visibility (Session: 80x40→100x50, Inventory: 56x28→80x40)
- Compass HUD: "Hide during combat" setting now defaults to ON (most players prefer this behavior)
---
## [2.1.3] - 2026-01-06
### Added
- AH Timer: "Reset timer on login" setting - automatically resets the AH timer to zero when logging in (useful for multi-character workflows where you check the AH on a different character)
- AH Timer: manual reset button next to the timer display - click to reset the timer without visiting the Auction House
### Fixed
- Inventory Panel: sorting Craft or Craft% columns ascending no longer puts "-" (no crafting queued) rows at the top - irrelevant rows now always appear at the bottom regardless of sort direction
- Compass HUD: can no longer remain open when Session Tracker is closed (HUD now requires Session Tracker to be visible, preventing loss of minimap access)
---
## [2.1.2] - 2026-01-05
### Fixed
- Speed Tracker: flying speed no longer requires ground walking first to calibrate (now accurate position-based calculation)
- Speed Tracker: speed now correctly recalculates after zone changes (cached map dimensions are properly refreshed when mapID changes)
- Compass HUD: speed bar freezing when entering cities like Stormwind (calculation returns nil in city zones, speed bar now updates before early returns)
---
## [2.1.1] - 2026-01-05
### Fixed
- Compass HUD: minimap buttons from MBB (Minimap Button Bag) addon remaining clickable but invisible around the HUD ring
- Compass HUD: speed bar not visible (segments were rendering behind ring texture due to wrong draw layer)
- Database: added missing SetClusterRadius setter (previously only had getter)
### Improved
- Warband Bank auto-deposit: added protection against orphaned timer callbacks when bank is closed mid-deposit
- Session Tracker: reduced garbage collection by avoiding temporary table creation during initialization
- FrameFactory: extracted mail icon glow animation into reusable CreatePulsingGlowOverlay helper
---
## [2.1.0] - 2026-01-05
### Fixed
- Rare bug where addon minimap icons could remain visible/clickable on the Compass HUD ring (added 5-second delayed re-hide to catch slow-loading addon buttons)
- Total Looted display showing 0 (0/Hour) after /reload until first lumber loot (session data was preserved but runtime totals weren't recalculated on login)
### Changed
- All expansions now visible by default (including Midnight)
- Default max pins per map increased from 100 to 500 (preserves full map coverage)
- Default cluster radius increased from 0.5% to 1.5% (~15-30 yard grouping, reduces icon spam)
- World map pin pool increased from 50 to 200 pre-allocated frames
- Settings panel reorganized into 5 subcategories for easier navigation:
- General: language, session tracker visibility, minimap button, transparency, glow color
- Session & Timers: auto-pause, AH refresh timer settings, work complete sound
- Goals: global target, expansion-specific targets, expansion visibility
- Integrations: TSM, PSL, Warband Bank auto-deposit
- Compass & Map: world map markers, compass HUD, speed bar settings
- Settings layout improvements: sliders positioned inline with labels, numeric inputs right-aligned with padding
- Settings panel header styling: larger addon title, aligned author info with logo
### Added
- Close button on inventory panel
- Expansion-specific lumber targets: override the global target for individual expansions
- New "Expansion-Specific Targets" section in Settings below global target
- Two-column grid showing all 12 expansions with numeric input fields
- Leave input empty to use global target, enter a value (1-10000) to override
- Each expansion's Target% column now calculates against its own effective target
- Warband column coloring uses expansion-specific targets for accurate progress indication
- Session tracker current expansion row uses expansion-specific target for coloring
- Summary row averages Target% values with each expansion capped at 100% (prevents over-collection from inflating the total - e.g., 200% on one expansion counts as 100% in the average)
- Tooltips show current global target value for reference
- Fully localized (English and German)
- "Max Pins Per Map" slider in Location Tracking settings (0-1000 range)
- Setting to 0 enables unlimited pins (no automatic removal of old pins)
- "Looted N times" tooltip data now preserved long-term since pins merge rather than delete
- Comprehensive tooltips for all settings panel options explaining functionality, usage tips, and related features (reduces need for external documentation)
---
## [2.0.1] - 2026-01-04
### Fixed
- AH refresh timer no longer resets when clicking the session reset button (AH timer is now fully independent and only resets when the Auction House is closed)
### Improved
- Performance optimizations across multiple modules for smoother gameplay
- Faster compass HUD updates with pre-cached speed bar colors
- Reduced memory allocations when recording loot coordinates
- Smarter session stats calculations (only recalculates when loot changes)
- More efficient pin limit enforcement for map markers
---
## [2.0.0] - 2026-01-03
### Added
- Inventory panel summary row: "Total" row at bottom showing summed Bags/Warband/Craft counts and averaged Target%/Craft% across all visible expansions (respects expansion visibility settings, stays fixed regardless of column sorting)
- Mail indicator: pulsing icon next to local time display when you have unread mail
- Shows sender names on hover (up to 3 senders via GetLatestThreeSenders API)
- Event-driven (UPDATE_PENDING_MAIL) - no polling required
- Configurable glow color setting with 9 options (Cyan, Blue, Green, Yellow, Orange, Red, Purple, Pink, White)
- Applies to both mail indicator and AH mount button timer glow
- Compass HUD speed bar: curved progress arc around the lava ring showing current movement speed
- Red-orange-yellow-green gradient fill based on speed percentage
- Scales from 0% to 1000% speed (covers dragonriding dives)
- Dim outline visible when stationary, fills as you move faster
- Configurable opacity slider in Location Tracking settings (default 70%)
- Toggle on/off in settings
### Changed
- Toolbar icons replaced with custom-designed icons (lumber, map, AH mount, compass, warband bank)
- Header icons replaced with custom-designed icons (close, settings, play, pause, reset, mail) with matching style
- Toolbar buttons enlarged from 32x32 to 40x40 for better visibility
- All header icons standardized to 20x20 pixels with minor position tweaks for consistent alignment
- Speed display simplified to single line below Total Looted showing "Current Speed: [icon] X%" with tooltip for average speed and distance traveled
- Close button now has tooltip explaining how to reopen the window (/hlh or minimap icon)
### Fixed
- Speed tracking (average speed and distance) now only accumulates while session timer is running (pausing the session no longer inflates stats with non-farming movement)
- Steady flight speed now capped at API-reported maximum (fixes impossible 700%+ speeds from calibration drift, adapts automatically to mount changes; dragonriding speeds remain uncapped)
- Removed misleading "Resumed: Left Auction House" (and similar) feedback messages that displayed when closing AH/mailbox/menus even though the timer doesn't auto-resume (timer only resumes via play button or looting lumber)
---
## [1.0.9] - 2026-01-02
### Added
- Reload UI prompt when changing language in settings (offers to reload immediately or later)
- Local time display under expansion logo in session tracker (24-hour HH:MM format) - replaces hidden minimap clock when Compass HUD is active to prevent losing track of time while farming
- Speed tracking in session stats: current speed, average speed, and distance traveled (uses position-based calculation for accurate dragonriding/flight speeds, persists across logouts until reset)
### Changed
- Zone tracker header now shows full localized lumber name (e.g., "Coldwind Lumber") instead of shortened version (required for non-English locales where suffix stripping doesn't work)
### Fixed
- Integration warning in inventory panel now only appears when no crafting integration is working (previously showed misleading "PSL not installed" even when TSM was providing data)
### Improved
- Minor code quality and performance optimizations (reduced garbage generation, proper timer lifecycle management)
---
## [1.0.8] - 2026-01-01
### Added
- **Localization system**: UI strings can now be translated to other languages
- Language dropdown in Settings (Auto/English/German)
- German (deDE) translation included
- Material names use WoW API for automatic localization based on game client language
- Expansion names use WoW API for automatic localization based on game client language
- Adding new languages requires only creating a locale file and adding to dropdown
- Instance auto-hide: Session tracker and Compass HUD automatically hide when entering dungeons, raids, battlegrounds, arenas, or scenarios, and restore when exiting (only restores frames that were visible before entry)
- Session timer automatically pauses in instanced content (new `pausedByInstance` flag)
### Changed
- Settings panel buttons now auto-size to fit translated text
### Fixed
- Warband Bank auto-deposit intermittently failing when opening bank (container data for warband tabs wasn't fully loaded yet, added 0.2s initialization delay)
---
## [1.0.7] - 2025-12-31
### Added
- ProfessionShoppingList (PSL) integration - tracks lumber requirements from PSL shopping lists alongside TSM crafting queue (combined totals shown in Craft column)
- Integrations section in settings panel grouping TSM and PSL toggles under a styled header
- Session auto-pause setting to control whether the timer pauses during AFK, Auction House, Mailbox, and menu access (enabled by default, disable to keep timer running during all activities)
### Changed
- World Map no longer pauses the session timer (commonly used during farming, was causing inaccurate lumber/hour stats)
### Fixed
- TSM crafting column taking ~20 seconds to update when clearing/repopulating TSM crafting queue (added fingerprint-based change detection for instant response)
- Screen stutter every 2 seconds when inventory panel is open (cached GetExpansionDisplayInfo API calls and item counts)
- "Error loading Utils/Profiler.lua" on addon load (removed development-only profiler from production build)
- Severe lag (2-second freezes + 50% CPU on loot) when TSM/PSL enabled with empty crafting queue (cache wasn't storing nil results, causing expensive database searches on every update cycle)
---
## [1.0.6] - 2025-12-30
### Added
- Compass HUD "Lock north to top" setting for players sensitive to motion (north stays up, player arrow rotates instead of map)
- Compass HUD refresh rate setting (15/20/30/45/60 FPS) to control how smoothly pins track your position while flying - higher values give smoother pin movement but use more CPU, default is 20 FPS (balanced)
### Fixed
- Compass HUD fighting WoW's layout system when restoring minimap (caused squished/off-screen minimap on high-resolution monitors)
- Minimap button now aligns with other addon buttons
- Inventory panel progress bars not updating when target lumber setting changes
- Inventory panel progress bars stuck at 120px instead of full column width (340px with TSM, 210px without)
- Compass HUD toggle causing minimap to enter Edit Mode state (blue selection highlight and "All Objectives" filter appearing)
- Inventory panel position not saving between reloads (now persists per-character like session window)
---
## [1.0.5] - 2025-12-28
### Fixed
- Reset button not clearing session lumber list
### Removed
- Legacy API fallback code for pre-TWW clients
---
## [1.0.4] - 2025-12-28
### Changed
- Compass HUD pins now limited to closest 20 (was 30) to reduce visual clutter
- Compass HUD update rate increased from 20 FPS to 30 FPS for smoother movement
### Fixed
- Compass pins jumping/stuttering when flying in a straight line (tick rate incorrectly dropped to 4 FPS)
- Eliminated memory allocation hotspots causing garbage collection stutter (ItemAPI caching, table reuse, CompassHUD position caching)
- Inventory panel column sorting now responds instantly (was delayed by 2-second throttle)
- World map pins now scale based on canvas size (fixes tiny/invisible pins on Shadowlands, Dragonflight, and continent maps)
- Compass HUD minimap terrain and icons now stay inside the lava ring border (was extending beyond ring edge)
- Warband Bank deposit now shows which items failed (was only showing count)
### Optimized
- Compass HUD pin calculations reduced by 97% using rotation matrix instead of per-pin trigonometry
---
## [1.0.3] - 2025-12-25
### Added
- Compass HUD now relocates minimap to screen center with transparent terrain
- Minimap rotates around player (arrow always points up)
- Custom red player arrow texture replaces default minimap arrow
- Lava/obsidian ring border around compass display
- Lumber pins now constrained to inner ring edge for cleaner visuals
- Inventory panel shows warning when TSM is enabled but addon not loaded
- HUD ring transparency slider in Location Tracking settings (0-100%, default 15%) with live value indicator
### Changed
- Compass ring radius reduced from 220 to 145 pixels (pins stay inside ring)
- Ring border opacity reduced to 15% for subtle effect
### Fixed
- AH mount button not working on non-English clients (was using English mount names instead of mount IDs)
- Warband Bank button not working on non-English clients (was using English spell name instead of localized name)
- Compass HUD now auto-disables when session tracker is closed (prevents losing minimap access)
- Warband Bank button visibility now properly syncs with session tracker (fixes rare orphaned icon)
- Major performance optimization: reduced CPU usage from 6-8% to <0.5% when idle
- Compass HUD now uses timer-based updates instead of OnUpdate (eliminates per-frame overhead)
- Compass pins update in-place instead of releasing/reacquiring every tick
- Session timer now stops when idle (frame hidden + session inactive)
- Reduced garbage generation by reusing tables instead of creating new ones
- Inventory panel now reuses pre-allocated tables instead of creating new ones each update
- Minimap button now positions on outer border edge (adapts to TWW's larger minimap size)
---
## [1.0.2] - 2025-12-23
### Fixed
- TSM crafting data intermittently showing "-" after /reload (was finding wrong TSM table)
---
## [1.0.1] - 2025-12-22
### Fixed
- Session timer not resuming when looting lumber after being paused (stale inventory baseline)
- Session timer not resuming after cycling through AH/Mail/Bank frames (stuck suppression flags)
- Map pins not recording when looting lumber while timer is paused
---
## [1.0.0] - 2025-12-22
### Added
#### Session Tracking
- Live session timer with lumber-per-hour statistics
- Auto-start when looting lumber
- Smart auto-pause when AFK, at mailbox, auction house, or in menus
- Per-character session persistence across logins
- Session looted lumber displayed in descending order by quantity
#### Current Zone Display
- Auto zone detection showing current expansion's lumber
- Live feedback with bag count, warband total, and TSM crafting needs
- Expansion logo with hover tooltip
#### Inventory Panel
- All 12 expansion lumber types in one view
- Bags vs. Warband total with color-coded progress (red to green gradient)
- Sortable columns (click headers to sort)
- Visual ember progress bars under each row
- Goal percentages showing progress toward target lumber threshold
- TSM queue tracking across all professions
#### Loot Map Markers
- Automatic recording of loot positions when gathering lumber
- World map pins with smart clustering for repeated nodes
- Hover tooltips showing "Looted N times" for each location
- Configurable pin limit per map (default 100)
#### Compass HUD
- Screen-center overlay showing nearby loot locations
- Pins rotate based on player facing direction
- Distance indicator - closer pins appear larger and move toward center
- Auto-hides when opening map, bank, auction house, or other major frames
- Toggle via toolbar button
#### Warband Bank Auto-Deposit
- Automatically deposits lumber when opening any bank
- Scans all bags including reagent bag
- Sequential processing with slot collision prevention
- Status messages showing deposit results
#### Auction House Timer
- Tracks time since last AH visit
- Visual color gradient (green to red) as time passes
- Configurable warning threshold (1-1440 minutes)
- Optional sound alerts with 7 different sound options
- One-shot sound trigger when threshold reached
#### Toolbar
- Quick access buttons for inventory panel, zone map, AH mount, compass, and Warband Bank spell
- AH mount button with animated glow when timer threshold reached
- Warband Bank button with cooldown display
- Buttons show checked state when active
#### TSM Integration
- Reads TradeSkillMaster crafting queue
- Shows lumber needed for queued crafts in inventory panel
- Craft% column showing progress toward crafting goals
- Auto-disables gracefully if TSM errors occur
#### Work Complete Sound
- Audio notification when farming goal is reached
- Prioritizes TSM crafting goal over target lumber goal
- Zone-based tracking for current expansion's lumber
#### Quality of Life
- Minimap button for quick access (left-click toggle, right-click settings)
- Draggable frame with position persistence
- Configurable transparency (20% - 100%)
- Expansion visibility toggles in settings
- Target lumber goal setting (0 - 10,000)
#### Slash Commands
- `/hlh` - Toggle session tracker
- `/hlh settings` - Open settings panel
- `/hlh reset` - Reset window position
- `/hlh hud` - Toggle compass HUD overlay
- `/hlh help` - Show available commands
This mod has no additional files

