File Details
DelveIO.zip
- R
- May 26, 2026
- 2.04 MB
- 52
- 12.0.5
- Retail
File Name
DelveIO.zip
Supported Versions
- 12.0.5
Nightly database update
Automated update with the latest DelveIO scores.
Changelog
All notable changes to the DelveIO addon will be documented here.
[1.3.2] - 2026-04-21
Changed
- TOC Interface bumped to 120005 for WoW 12.0.5 compatibility. No behavior changes; the addon will no longer appear as out-of-date on CurseForge or trigger the "Load out-of-date AddOns" prompt in WoW. Minimum required client version remains 12.0.1 (interface 120000), so players on older clients continue to work without interruption.
[1.3.1] - 2026-04-15
Fixed
- Main's Score now appears on guild roster and friends list tooltips. The 1.3.0 release introduced Main's Score on the standard unit tooltip via
OnTooltipSetUnit, but the guild roster fallback (for offline members) and the WoW/BNet friends list tooltips had their own inline score-injection paths that only rendered the primary "DelveIO Score" line. All three paths now look upDelveIO_MAINSand render the Main's Score line consistently with the unit tooltip.
Changed
- "Main's Score" label color updated from grey (
#888888) to white (#ffffff). White creates a clear visual hierarchy against the goldDelveIO Scorelabel above it. Applied everywhere the Main's Score line can appear: unit tooltips,InjectScore-driven surfaces (LFG, /who, communities, context menus), guild roster, and friends list.
Added
- Login message now shows your current character's score. After logging in, the chat frame displays your score if the character is in the database, or a reminder to sync if it is not yet tracked.
[1.3.0] - 2026-04-11
Added
- Main character score on alt tooltips. When hovering over a player whose account has a designated main character with a higher score, the tooltip now shows a "Main's Score" line below the regular score. This helps group leaders evaluate alt characters whose scores may not fully reflect the player's experience.
DelveIO_MAINSlookup table. The nightly database export now includes a separateDelveIO_MAINStable mapping alt character keys to their main's score. Old addon versions ignore this table (undefined global = nil in Lua), so the change is fully backwards compatible.DelveIO.Data.GetMainScore(name, realm)function. Uses the same two-tier key lookup (exact match, then CamelCase split) asGetScore, but reads from theDelveIO_MAINStable.
Changed
- Hidden characters excluded from the addon database. Players who mark characters as hidden on the website are no longer included in the nightly
DelveIO_DBexport. Their scores will not appear in tooltips. InjectScorenow includes main score injection. All tooltip surfaces that use the sharedInjectScoreutility (friends list, LFG, communities, /who, context menus) automatically show the main's score line without per-module changes.OnTooltipSetUnitupdated for main score. The unit tooltip hook (world mouseover, party/raid frames) now also shows the main's score line.
[1.2.4] - 2026-04-05
Added
- Minimap button via LibDBIcon. A minimap button now appears using LibDataBroker + LibDBIcon. Left-click shows commands, right-click toggles tooltip display. Hover shows addon version and database count. Libraries (LibStub, CallbackHandler-1.0, LibDataBroker-1.1, LibDBIcon-1.0) are embedded in the addon. Compatible with MinimapButtonButton and other minimap button managers.
Changed
- Startup no longer iterates the entire database to count entries. The nightly export now emits a pre-computed
DelveIO_DB_COUNTglobal, replacing the O(n)pairs()loop that previously ran on every login. This eliminates a blocking operation over 269k entries. A fallback counting loop is retained for DB files that predate this change. - CamelCase realm name splitting now handles digit-to-uppercase boundaries. Added a
(%d)(%u)pattern to the realm normalizer, completing coverage of all CamelCase boundary types (lowercase-to-uppercase, letter-to-digit, digit-to-uppercase).
Fixed
- Added missing
pcallguard onC_BattleNet.GetFriendAccountInfoin the friends list tooltip path. The call ingetFriendInfoFromButton()was unguarded, inconsistent with the same call inrefreshBNetCache()which usespcall. Both paths are now consistent.
Removed
- Unused
SetOwnerSafelyutility function. Defined but never called anywhere in the addon.
[1.2.3] - 2026-04-03
Changed
- Score colors now use power curve normalization to match the website. Previously, scores were colored using linear normalization against the highest score, which compressed most players into the green/white range because a few outlier top scores skewed the scale. The new power curve (exponent 0.6) spreads colors more evenly across the actual score distribution. A player at 43% of the max score previously appeared green; they now appear blue/purple.
[1.2.2] - 2026-04-03
Added
- Copy DelveIO URL now has its own section The new right-click context menus ("Copy DelveIO URL") for same-faction, opposing-faction, party, raid, guild, friends, and communities members.
[1.2.1] - 2026-04-02
Fixed
"Copy DelveIO URL" not appearing on other players' right-click menus. The menu tags were wrong: the code used
MENU_UNIT_OTHER_PLAYERandMENU_UNIT_FRIEND_PLAYER, which do not exist in WoW's Menu system. The correct tags areMENU_UNIT_PLAYER(same-faction players),MENU_UNIT_ENEMY_PLAYER(opposing-faction players), andMENU_UNIT_FRIEND(friends list). The button now appears on all player right-click menus."Copy DelveIO URL" not resolving the player name for non-nearby players. The code extracted the player name from the unit token (
contextData.unit), which is often nil for players who are not nearby or targetable. Midnight's Menu API providescontextData.nameandcontextData.serverdirectly, which are now used as the primary source with the unit token as a fallback."Copy DelveIO URL" only appeared if the player had a score in the database. The button now appears for any identifiable player regardless of whether they have a score. The URL goes to the website, which can display a profile page for anyone.
"Copy DelveIO URL" pointed to a 404 page. The URL path was
/player/us/realm/namebut the correct path is/profile/realm/name.
Added
- Context menu coverage for opposing-faction players (
MENU_UNIT_ENEMY_PLAYER) and communities members (MENU_UNIT_COMMUNITIES_GUILD_MEMBER,MENU_UNIT_COMMUNITIES_WOW_MEMBER).
[1.2.0] - 2026-04-02
Fixed
LFG Search Panel not showing scores in Dungeons & Raids (and all other categories). The previous version hooked
LFGListUtil_SetSearchEntryTooltip, a global Blizzard function that Midnight's 12.0.0 API overhaul removed. The hook's nil guard caused it to silently skip, so scores never appeared in any Premade Groups tab. The search panel now hooksLFGListFrame.SearchPanel.ScrollBoxdirectly, reading each button'sresultIDon hover to look up the group leader. This matches how RaiderIO handles the same panel on their current develop branch.Lua error:
hooksecurefunc(): OnEnter is not a function.DelveIO.HookScrollBoxcalledhooksecurefunc(frame, "OnEnter", ...)on all ScrollBox children, but most frames store their OnEnter handler via:SetScript()in the C widget layer, not as a Lua table key.hooksecurefuncrequires a table key. The function now checks which style the frame uses and callsframe:HookScript("OnEnter", ...)for script-based handlers orhooksecurefuncfor mixin-based ones.Lua error in delves/instances:
attempt to index a secret string value (tainted by 'DelveIO'). Midnight 12.0 introduced "secret values," opaque wrappers around strings and numbers returned by secure Blizzard APIs during instanced content. Addon code cannot index, compare, or do string operations on them.GetText()on tooltip lines,GetUnit(),UnitFullName(), andC_LFGListAPIs all return secrets in certain contexts. Every file now guards against secrets using theissecretvalue()global before attempting any string operations.LFG Application Viewer: non-leaders can now hover applicants to see scores. The
UnempoweredCoveroverlay that Blizzard places over the applicant list for non-leaders is now bypassed. This matches RaiderIO's behavior.
Added
DelveIO.IsSecretValue(value)utility. A shared wrapper around Midnight'sissecretvalue()global, available to all modules. Falls back to returning false on older clients where the global does not exist.
Changed
DelveIO.InjectScorenow rejects secretname/realmvalues before attempting any database lookup, preventing errors from propagating into the shared injection path.C_BattleNet.GetFriendAccountInfocalls insocial.luaare now wrapped inpcall.C_FriendList.GetWhoInfocalls inwho.luaare now wrapped inpcall.
[1.1.0] - 2026-04-02
Added
- LFG Group Finder + Delve Finder: Scores now appear when hovering over group
listings in the Premade Groups search panel, including the Delve Finder. Implemented
via
hooksecurefunc("LFGListUtil_SetSearchEntryTooltip"), which covers all premade group categories (Delves, Dungeons, Raids, Custom) in a single hook. The leader's DelveIO score appears at the bottom of the listing tooltip. - LFG Application Viewer: Scores appear when hovering over applicants to your group.
- Friends list (including BattleTag friends): Scores now appear when hovering over
friends in the Contacts panel. BattleTag friends are resolved via
C_BattleNet.GetFriendAccountInfousing the button's.idand.buttonTypefields. The score tooltip is anchored below Blizzard'sFriendsTooltipframe and coexists cleanly with RaiderIO: it appends below RaiderIO's content rather than overwriting it. Modifier keys (Shift/Ctrl) that trigger RaiderIO to rebuild its tooltip no longer cause the DelveIO score to disappear. - Communities + ClubFinder: Scores appear when hovering over members in the Communities frame member list and in the ClubFinder guild recruitment browser.
- BNet cache: A cache maps BTag display names to DB keys, built from
C_BattleNet.GetFriendAccountInfoand refreshed onBN_FRIEND_INFO_CHANGEDandBN_FRIEND_LIST_SIZE_CHANGEDevents.
Fixed
- Realm names with spaces not matching database keys.
UnitFullName()returns cross-realm realms in CamelCase with spaces stripped ("GrizzlyHills", "Area52"). The database uses hyphenated slugs ("grizzly-hills", "area-52"). The lookup now uses a two-attempt strategy: try the realm as-is first (which correctly handles apostrophe realms like Kel'Thuzad where "kelthuzad" is the slug), then retry with CamelCase and letter/digit boundary splitting. This covers all known realm name formats. - Party and raid frame tooltips now use
GetNormalizedRealmName()as the realm fallback instead ofGetRealmName(), improving accuracy for cross-realm group members. - Duplicate score lines no longer appear when multiple tooltip hooks fire for the same player. A line scan prevents injection if "DelveIO" already exists in the tooltip.
- RaiderIO compatibility: The friends list tooltip no longer overwrites RaiderIO's
content. DelveIO detects if GameTooltip is already owned by FriendsTooltip and appends
rather than calling
SetOwner(which would clear RaiderIO's lines).
[1.0.9] - 2026-04-01
Fixed
Critical: Addon loaded with 0 scores in database after April 1st nightly sync. The nightly sync added enough records to push the database past Lua 5.1's hard limit of 262,144 constants per compiled function. At that point the entire database file failed to compile, leaving
DelveIO_DBundefined and causing the addon to report 0 scores for every player. The database export now splits records across multiple loader functions (50,000 entries each), each with its own constant pool. The globalDelveIO_DBtable is populated correctly on load and no Lua errors occur.Critical: Character names containing the letter 'n' were corrupted in the database. A regex in the export script used the character class
["\\n\r\0], which inside a regex literal matches a literal backslash and a literal 'n' rather than a newline character. This caused every 'n' to be stripped from all exported names (e.g., "Feministx" became "Femiistx"), making score lookups fail silently for any player whose name contained an 'n'. The regex has been corrected to["\\\n\r\0], which properly matches a backslash and a newline without affecting the letter 'n'.
[1.0.8] - 2026-03-30
Changed
- Reworked GitHub Actions workflows to prevent duplicate CurseForge uploads when tagging a version release
- Non-addon file changes (README, docs) no longer trigger CurseForge uploads
- CurseForge changelog now shows the full cumulative changelog instead of a static message
- Added Slack integration for workflow jobs
[1.0.7] - 2026-03-27
Fixed
- Tooltip no longer spams chat errors when hovering over enemy players in PvP contexts (arena, battleground). WoW Midnight protects certain unit tokens from addon access; the tooltip hook now silently skips those cases instead of printing a taint error for each one.
[1.0.6] - 2026-03-27
Added
- The Darkway is now fully tracked. Clears count toward breadth bonus (50 pts) and volume bonus. The nightly database update will include The Darkway scores starting with the next sync.
[1.0.5] - 2026-03-27
Fixed
- Renamed addon source folder from
delveio-addontoDelveIOto match the.tocfilename and WoW AddOns folder requirement. Users no longer need to manually rename the folder after extracting the zip. - Release workflow now packages as
DelveIO.zipwithDelveIO/at the root, so extraction places the folder correctly without any manual steps.
[1.0.4] - 2026-03-26
- Updates to error handling, min DelveIO score, min interface version, and added README.
[1.0.3] - 2026-03-26
- Add changelog text to github workflow to be displayed on curseforge.
[1.0.2] - 2026-03-25
Added
- WoW version compatibility check. DelveIO will gracefully disable itself with a message if loaded on a version below Midnight (12.0.0 / interface 120000)
Changed
- Removed leftover
showLabeldefault setting from saved variables
[1.0.1] - 2026-03-25
Changed
- Removed score labels (Common, Uncommon, Rare, Epic, Legendary) from tooltips and slash commands. Score color is now used exclusively to indicate score tier.
- Updated file paths in .toc from backslashes to forward slashes for cross-platform compatibility
Fixed
- Slash command
/delveio testno longer displays score label alongside score
[1.0.0] - 2026-03-22
Added
- Initial release
- Displays DelveIO scores in player tooltips when hovering over other players
- Score color coding by tier: gray (0-499), green (500-999), blue (1000-1499), purple (1500-1999), orange (2000+)
- Slash commands:
/delveioor/diotoggle- show/hide scores in tooltipsmin <number>- only show scores above a minimum valuetest- look up your own scoreversion- display current addon version
- Nightly database updates via automated export from the DelveIO website
- Saved settings persist between sessions via
DelveIO_Settings

