v8.0.4
Changes
docs/CHANGES.md is the canonical changelog summary for BLU.
Current Development Release
v8.0.4 - 2026-08-13
- Fixed repeated
UNIT_AURAerrors on Midnight whenupdateInfo.addedAurasis secret. BLU no longer reads the raw aura event payload: generic proc handling comes fromRGXCombat, while Lust/Heroism detection queries player aura state throughRGXAurasand edge-detects gains. - Requires RGX-Framework v2.5.1 or later.
v8.0.3 - 2026-07-03
- New combat trigger: Lust / Heroism Sound. Plays a dedicated sound (configurable in the Combat tab, separate from the generic proc trigger) when Bloodlust, Heroism, Time Warp, Ancient Hysteria, or Primal Rage lands on you — matched by spell ID via the
UNIT_AURAevent'supdateInfo.addedAuraspayload, not name (locale-independent).
v8.0.2 - 2026-07-03
- Fixed
LUA_WARNING: Error loading core/sounds/user_sounds_generated.lua— the file was gitignored and never shipped in any package, so every player hit this on login. - Fixed the Channel Volume slider not reliably restoring its visual position and looking inconsistent with the rest of the options UI — migrated to
RGX-Framework'sUI:CreateSlider. - Fixed nested-dropdown Play buttons not flipping to Stop on the first click (playback was correct; only the label lagged).
- Migrated external-sound discovery to the shared
RGXSharedMediaframework module.core/sounds/sharedmedia.luais now a ~217-line bridge that imports the framework's scan results intoBLU.SoundRegistryand re-exports the public bridge API, with dedup-on-import so the shared registry can scan every addon folder (including BLU's own) without duplicating entries. Removes ~640 lines of duplicated local scanning.
v8.0.0 - 2026-06-30
- Stable BLU v8 release for WoW Retail 12.0.7.
- Ships the RGX-Framework migration for events, timers, hooks, slash commands, database/profiles, dropdowns, and combat-safe runtime paths.
- Keeps the v8 launch Combat tab focused on Combat Start, Combat End, and Combat Music.
- Fixes user custom sound discovery, fuzzy custom sound matching, User Custom Sounds table display, and combat music playback routing.
Full notes:
v8.0.0-alpha.2 - 2026-06-28
- User custom sound manifests now resolve through the same filename/path resolver as
/blu addcustom. - Short custom filenames in
BLU\\mediaandBLU\\media\\soundsnow register correctly in the combat picker. - Profile-stored custom sound entries are normalized through the same resolver on refresh.
Full notes:
v8.0.0-alpha.1 - 2026-06-11
- Framework Migration — Stages 1-5 complete. BLU now delegates events, timers, hooks, slash commands, and database to RGX-Framework.
- Database proxy stabilization: fixed
__newindex/__indexmetamethod guards so internal fields (_guard,_raw,_defaults,_callbacks,_onSwitch) never leak into profile SavedVars. BLU.dbproxy must never be overwritten — removedBLU.db = profilefromonProfileSwitch.- Fixed
MergeDefaults→MergeTable,Database:InitializeDatabase()→Database:Init(),BLU.db.currentProfile→BLU.db:GetActiveProfile(). ResetProfile("Default")now works — removed incorrectPROTECTED_PROFILEblock from Reset.- Dead code purge: removed
ResetAdvancedSettings,RebuildDatabase,GetDB/SetDBshims, shadowedShowExportDialog/ShowImportDialog/ShowCharacterCopyDialog, brokenExportSettings/ImportSettings(iterated proxy methods, not data), triplePlayTestSounddefinitions, shadowedCreateHousingPanel, emptyhousing.lua. - All 16 direct
_G.BLUDBreferences in profiles.lua now route throughGetRawDB()helper. RGX.Addon()bootstrap passesopts.onSwitchthrough toNewDatabase.- Version string in
core/core.luasynced tov8.0.0-alpha.1. - Combat panel stripped to 3 launch-ready triggers (Combat Start / Combat End / Combat Music); removed 11 placeholder triggers and paging UI.
- Quest debug-mode handlers guarded against nil/invalid quest IDs (was crashing on
QUEST_ACCEPTED/QUEST_TURNED_IN).
Full notes:
Production Releases
v7.1.1 - 2026-06-10
- Utility deduplication: removed local DeepCopy, Throttle, Debounce, SafeCall — use RGX equivalents.
- Sound muter rewritten to use
RGX:GetSound():MuteList(ids).
v7.1.0 - 2026-06-10
- Removed local
combat_protection.lua(344 lines) →RGX:QueueForCombat(). - Removed local
dropdown.lua(252 lines) →RGX:GetDropdowns().
v7.0.0 - 2026-06-09
- Migrated from
RGX:OpenDBtoRGX:NewDatabaseproxy (BLU.db). - Combat load screen safety — deferred registration with
C_Timer.After+PLAYER_REGEN_ENABLEDretry.
v6.5.1 - 2026-05-02
- Fixed volume sliders not appearing for BLU game sounds (Lua pattern bug in registry).
- Replaced OptionsSliderTemplate with consistent custom track-style volume control across all panels.
- Volume label (Low/Medium/High) now shows below slider on hover only.
- Single-column rows shrunk from 90px to 68px so 4 housing options fit without overlap.
- Test buttons always align to the right side of the row.
- Volume slider centered between dropdown and test button in both single and 2-column layouts.
- Volume fill/thumb uses percentage-based positioning with deferred layout fix.
Full notes:
v6.5.0 - 2026-04-10
- Added a real
Combatoptions page with the same module toggle header pattern used by the other panels. - Replaced the old mock combat layout with a compact 2-column trigger grid that supports 8 trigger cards per page.
- Added real placeholder combat trigger rows with nested sound selection, compact volume control, and test playback buttons.
- Added dedicated combat cue slots for
Combat Start,Combat End, andCombat Music Track. - Cleaned up the Combat page layout by removing extra explanatory sections that were wasting vertical space.
Full notes: