WoW Forever talent calculator
Guides /How to read a ForeverDiff diff
Method guide

How to read a ForeverDiff diff

Every page here shows what changed between two builds of the World of Warcraft client, with the Classic Era and WoW Forever tooltips side by side. A change is labelled buffed or nerfed when its direction is clear, such as a shorter cast time or a higher cost. A line at the bottom of each page names the build a value came from and the build it is compared against, each with its full version.

The provenance line is the citation

At the bottom of every entity, hub, build and compare page is one quiet line that names the build the values were read from and the build they are compared against. Each build is named by the day it was first seen, with its full version beside it, followed by the date we last synced them. That line is the citation. It links to the methodology, which walks one real change from the page back to the client table, row id and build it came from, and it ends with a link to report a wrong value.

Added, changed, removed, withheld

An entity is tagged added when it appears in the newer build but not the older one, removed when it was in the older build and is gone from the newer one, and changed when it exists in both but one or more of its fields differ. A fourth state, withheld, is a row the newer client accounts for without letting us read it: either it sits in an encrypted section whose key Blizzard has not released, or (items) the client still lists the id in its item table but ships no data row for it, which is how the Forever beta treats most Classic loot. These are states, not verdicts: "removed" does not mean deleted forever, and a withheld row is never reported as removed, because the client never said it was gone.

Unchanged, reclassified, internal, same tooltip

Every player spell and every equippable item in the newest Forever build has a page, changed or not. An unchanged page shows one tooltip, because the client ships the same tooltip as Classic Era. The hubs list only what changed.

Two kinds of change are the client's bookkeeping, not anything a player sees, so they read as unchanged on the tooltip and are counted apart: an item the Forever client only re-filed (its class or subclass, stack size, vendor buy price, or an item level moving between the two "no level" values 0 and 1) is badged reclassified, and a spell whose only difference is in columns its tooltip never shows (its level columns, a duration index that points at the same duration, or a cooldown moved between its two cooldown columns), or a talent that only moved sideways in its tree row, is badged internal.

A spell whose effect data really changed while every line of both tooltips reads the same is badged same tooltip: its page says what the client changed behind the tooltip, and it is never called unchanged. See unchanged pages in the methodology.

Both values, side by side

A field that changed is shown as two values, the Classic Era value and the Forever value, side by side and unedited. We do not paraphrase, round for effect, or summarise. If a value is a list or a nested record, we show it in full rather than describe it. Item quality names (Poor, Common, Rare, and so on) are the game's own fixed enum, not our opinion. One kind of number is computed rather than read: the Forever client stores an item's stat allocation, weapon kind and armor class and works out its +N stats, weapon damage and armor at runtime, so we run the client's own formula over the client's own tables and flag the result as computed (see computed values). The labels that are ours are the buffed and nerfed verdicts and the day each build is named by. The sentences around the values are put together by the site's code from the two client rows, by the same fixed rules on every page (see how page text is written).

Buffed, nerfed or changed

When a change has a clear direction for the player, we say so. A cast time that drops from 3.0 to 2.5 seconds is a buff; a mana cost that rises is a nerf. The label is only used when every directional field (cast time, cost, cooldown, range, durability and bag slots) moves the same way. A talent is graded by the numbers its rank tooltips print, and a spell's cooldown is judged as the tooltip prints it, the larger of the client's two cooldown columns. A mixed change, or one that only touches tooltip text or effects, reads as changed, and the side by side tooltips show exactly what moved. Effect base points and item stat budgets never decide the label, because the Classic Era and Forever engines store damage and stats differently. See when we call a change a buff or a nerf.

Unidentified fields

New builds sometimes add columns the community definitions have not named yet. We store each one under its raw column name and count them per table on every build page, but we never give one a name, never render its values as a fact, and never show it as a change on an item or spell page. See how datamining works for why that happens.

Frequently asked

How do you decide whether a change is a buff or a nerf?

From the fields with an obvious direction: cast time, cost, cooldown, range, durability and bag slots. If all of them move in the player's favour the change is labelled buffed, if all move against it is nerfed, and anything mixed is simply changed. A talent is graded by the numbers its rank tooltips print. Effect base points and item stat budgets never decide the label. Both tooltips are always shown so you can check.

What does "unidentified field" mean?

A column in the client the community definitions have not given a human name yet. We store it under its raw name and count it on the build page, but we never render a placeholder name as if it were a real field, and an unidentified column never shows up as a change on an item or spell page.

Related

All guides →

A method guide explaining how ForeverDiff works. Updated Oct 12, 2026 · how we read this →