DeathRecords-3.0.0-forever-241026.zip
What's new
# DeathRecords — Changelog
## 3.0.0-forever — 2026-10-24
First build for **WoW Forever** (Interface 16001). Not for Classic/Anniversary --
keep using 2.2.x there. Built against the beta; final in-game testing at launch.
- **Works under WoW Forever's addon restrictions.** Addons can't post to chat or
read the combat log there, so:
- Deaths are detected from each group member's dead/alive state instead of the
combat log (feign death ignored; corpses you zone in next to aren't counted).
- Run summaries and record callouts are no longer posted in guild chat. The
elected announcer sees them locally and sends them to every guildmate
running DeathRecords, who see them too. Guildmates without the addon won't.
- **Deaths per run.** Each run now records everyone who took part, and clean
runs (no deaths) are kept, so players who run more aren't penalised:
- `/dr guild` shows deaths, runs and deaths/run.
- New `/dr guild rate` ranks by deaths per run (needs 3+ runs).
- `/dr records <name>` shows runs and deaths per run (now case-insensitive and
works with first + last names).
- **New window: type `/dr`.** Tabs for Leaderboard (click columns to sort),
Instances (records + who dies there most), Players (search, stat card, deaths
by instance) and Run history (who died, when, and who survived). Updates live
when runs finish or sync in. The command list moved to `/dr help`.
## 2.2.4 — 2026-07-09
- `/dr guild` now lists only current guild members — pugs recorded before the
roster loaded, or players who've left the guild, no longer clutter the board.
- Fixed `/dr guild all` not expanding past the top 10.
- (Display only; fully compatible with 2.2.x.)
## 2.2.3 — 2026-07-08
- Updated for game version 2.5.6.
- **Usability pass** (no gameplay/sync changes; fully compatible with 2.2.2):
- `/dr reset` now asks for confirmation (`/dr reset confirm`) and warns that
guild sync can restore records unless every member resets.
- Sync is no longer invisible — a local message tells you when new runs
arrive from guildmates.
- `/dr records` prints instances alphabetically and skips empty sections;
new `/dr records inst <name>` filters to matching instances.
- `/dr guild` shows the top 10 (use `/dr guild all` for everyone).
- `/dr end` tells you when there's no active run to end.
- `/dr` help is now a readable multi-line list with descriptions.
- `/dr status` explains when combat carried in from outside the instance is
being ignored for the first-pull timer.
## 2.2.2 — 2026-06-30
- **Fixed runs fragmenting in raids (and the first-pull timer resetting).** The
instance difficulty briefly reads 0 during loading/zone changes; the addon was
treating that as a difficulty change and restarting the session, splitting one
run into many and resetting the "from first pull" baseline each time (and
breaking wipe detection). A difficulty of 0 is now treated as "not resolved
yet" and never restarts the session. Sync-compatible with 2.2.1.
## 2.2.1 — 2026-06-28
- **Guild chat is now records-only.** Individual deaths and wipes are tracked
silently; only new records and the end-of-run summary are announced. No more
play-by-play spam.
- **Fixed double announcements** when two group members ran the addon — a
presence reply was being swallowed by a throttle, so neither learned of the
other. (Also tightens run-ID agreement.)
- **Heroic and normal are now separate.** They share an instanceID, so the addon
was merging a heroic clear and a normal clear into one inflated run; runs now
include difficulty and are tracked/displayed separately.
- Note: sync wire format changed again (protocol 4 → 5); all guildmates need
2.2.1+ to sync with each other.
## 2.2.0 — 2026-06-27
- **Instances identified by ID, not name.** Records key off the numeric
instanceID with the localized name kept for display, so guildmates on different
locales agree on identity and no longer split the same dungeon in two.
- **No more end-of-run announcement spam.** The single announcer is now decided
during the run, so when a group disbands before a run finalizes you don't get
a copy of the summary/records from every ex-member.
- **Accurate `totalDeaths` across witnesses.** Group members now agree on one
run-ID (lowest-named member's), so a run shared by several witnesses dedups
instead of double-counting deaths on the leaderboard.
- **Carried-in combat no longer counts as a pull.** Zoning in still flagged from
an outside mob won't seed the run's "first pull" time.
- Internal: record definitions unified into one source of truth (the leaderboard
and chat callouts can no longer disagree).
- Note: the sync wire format changed (protocol 3 → 4); guildmates should all run
2.2.0+ to sync with each other.
## 2.1.0 — 2026-06-26
- **No-spam announcements with multiple addon users in a group.** Instead of
every addon user posting each callout to guild chat, exactly one announces --
the lowest-named addon user present in the group, discovered via invisible
presence pings. Works regardless of who the group leader is.
- **Guild sync no longer depends on the guild master.** On login a member now
asks the whole guild for what it's missing, and any online addon user answers
(with jitter + duplicate suppression so it isn't a chat-channel storm). The GM
no longer needs to run the addon. `/dr sync` does the same guild-wide request.
## 2.0.1 — 2026-06-26
- **Fixed: only the player's own deaths were tracked in a group.** The addon
used `GetNumPartyMembers()`/`GetNumRaidMembers()`, which don't exist in 2.5.5,
so enumerating other group members errored and their deaths were dropped (and
a false "first death since pull" was announced). Now uses `GetNumGroupMembers()`.
This also fixes run-ID generation, so guildmates witnessing the same run dedupe
correctly instead of double-counting.
## 2.0.0 — 2026-06-23
- **Guild sync.** Finished runs are now shared automatically across guild
members over hidden addon messages (nothing is spammed to chat). Online
members stay in sync live; on login the guild master acts as a catch-up hub
to fill in anything missed.
- **Everyone converges on the same dataset.** Records only ever merge, never
overwrite — an out-of-date client can't clobber newer data.
- **New `/dr sync` command** to request a manual sync.
- The "Most deaths" record now names the run's worst individual offender.
- Removed the "longest gap between deaths" and "longest gap between wipes"
records — they rewarded *not* failing, which was off-theme.
- Removed the group "shortest gap between deaths" record — in a wipe it just
measured how synchronized the deaths were, which nobody controls. (The
per-character "fastest back-to-back deaths" stat is kept.)
- Removed the per-character "longest survival before dying" record — it
rewarded *not* dying, which was off-theme.
- **Run-log data model.** All leaderboards (per-instance, per-character,
all-time) are now derived from a single deduplicated log of runs, which is
what makes guild-wide sync converge consistently.
- Added an offline test suite (`tests/`) covering the record and sync logic.
## 1.1.0
- **Fixed records not saving to SavedVariables.** End-of-run records are now
written before any guild-chat announcement, so a blocked chat message during
logout/reload can no longer lose the data.
- Announcements are suppressed during logout so the save always completes.
- Guild-member matching now strips realm suffixes, so deaths are no longer
dropped on name mismatches.
- Added a crash-recovery buffer that finalizes an in-progress run on next login
if the previous session ended without committing it.
## 1.0.0
- Initial release: tracks deaths and wipes in party and raid instances; keeps
per-instance, per-character, and all-time records; announces new records to
guild chat; `/dr` commands for records, the guild leaderboard, and status.
This mod has no additional files

