tag dc587986e0597401562d119eaa855c1e95b6c95f v3.0.0
Author:	Vebjørn Baustad <vBaustad@users.noreply.github.com>
Date:	Wed Aug 12 19:51:11 2026 +0200

v3.0.0 — Mr. Yeeper, Best in Slot, and a season's worth of gear maths

New Best in Slot page. Crests read the correct currency at last: the
addon had pointed at the dead one of two identical-looking Mistcrest
sets, so every affordability and upgrade number was computed against an
empty wallet. Teleports reorganised by expansion with the current season
as a view over the same entries. Mr. Yeeper holds gear advice until
there is gear worth polishing.

Full notes in CHANGELOG.md.

commit 895db9a907d256db0f55336b38626e593037c3c2
Author: Vebjørn Baustad <vBaustad@users.noreply.github.com>
Date:   Wed Aug 12 19:01:43 2026 +0200

    Release 3.0.0: Best in Slot, and the crest currency fix
    
    The headline fix is not a feature. There are two complete sets of
    Mistcrest currency rows in the client and the addon pointed at the dead
    one, so a character holding 80 Champion Mistcrests read as zero -- and
    affordability, the crest-waste warning and every upgrade recommendation
    were computed against an empty wallet. Both rows of a pair share a name
    AND a description, and Wowhead serves both under the same slug, so
    nothing in the game distinguishes them; the live IDs are now recorded
    with their provenance. Resolution also re-runs when the wallet changes
    rather than once at login, which was worst exactly when it mattered: on a
    fresh season you hold none of either row, so the pick was a coin toss
    that then never got revisited.
    
    New Best in Slot page: per-spec lists from Wowhead's class guides on a
    paper doll, resolving items through the Encounter Journal so they render
    as what they are rather than as their base entry. Bags count as
    collected, with four states per slot -- missing, bagged, owned below the
    target rank, owned at it.
    
    Teleports reorganised so each has one home, its dungeon's expansion, with
    the current season as a view over the same entries rather than a copy.
    Fixes returning dungeons reading as locked when the port was earned in
    the expansion it came from.
    
    Mr. Yeeper gained a jabber bank and a lot of restraint: gear advice is
    held until there is gear from this season worth polishing, observations
    that are trivially true at season start are held until the player has had
    a chance, and a standing problem stops leading after it has been said.
    
    Also fixed: the Blizzard settings panel threw on every module row
    (the toggles it read were never implemented); views only refreshed on the
    home page, so spending crests left the Gear Upgrades page unchanged; the
    vault filling was signalled to nothing; the trinket search would not
    reset; and the consumables guide ran off the bottom of the panel.
    
    Removes the Omnium Folio page -- the chain became catch-up content that
    finishes in an afternoon, so Yeeper chases it instead -- and the
    development probes that found several of the above.
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

commit f5fe1b28d07a7065830813194d015a69e5990c85
Author: Vebjørn Baustad <vBaustad@users.noreply.github.com>
Date:   Tue Aug 11 12:56:13 2026 +0200

    Warn before a wasteful crest spend, not only after
    
    Every Season 2 track overlaps the one below it by two ranks, so Hero
    5/6 -> 6/6 and Myth 1/6 -> 2/6 land on the same 321 and both cost 20
    crests. The vendor charges the same either way and never mentions that
    only one of those currencies is still worth anything in a month: Myth
    crests buy ranks 3-6 all season, Hero crests go dead the week every
    Hero-track slot is maxed, around week 3-4.
    
    The addon already modelled the overlap and advised the free promotion
    out of it, but it only ever described the cheaper path -- it never said
    the spend in front of you was a mistake. ns:GetCrestWaste names it now,
    and the slot gets a red "Wasteful crest spend" verdict pointing at the
    lower-track piece to spend on instead. With nothing left on that track
    to absorb the crests it softens back to the old note: still true, but
    there is no move to make. Sinks are ordered so it never leads with a
    slot it is itself warning about -- a Hero 1/6 weapon is a real place to
    put Hero crests, but it carries this same warning one tier down.
    
    Gated on IsCrestPrecious, which is what makes the Hero/Champion case
    surface only once Champion crests have gone abundant; the profiles
    already model that as farming +10 keys, so it needed no new date or
    key-level check. The same gate stops Veteran ranks drawing the note at
    all, which they did before despite Veteran crests being free on every
    profile.
    
    Verified by running the real files under Lua 5.5 with the client API
    stubbed and item levels taken from GEAR_TRACKS -- both tiers, all three
    profiles, past-the-overlap, the no-sink fallback, the discount
    achievement and the multi-track aggregate. That caught two things
    reading had not: the aggregate tip labelled Champion sinks as Hero, and
    sink ordering pointed at a slot the addon was simultaneously telling
    the player to leave alone.
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

commit e70709f1e3d668289af5b2c17c06fcd195d0f8dc
Author: vbaustad <vebjorn.baustad@gmail.com>
Date:   Tue Aug 11 10:33:52 2026 +0200

    Do not advise Voidcore bonus rolls before they exist
    
    Blizzard's pre-season notes: Voidcore bonus rolls are absent from the
    first Season 2 Great Vault and arrive the week of 25 August, for players
    with at least three panes unlocked.
    
    The planner already modelled the three-pane requirement but had no date,
    so for the opening fortnight it would have listed "N more vault slots >>
    unlocks a Bonus Roll" as actionable work against a reward the game has
    not switched on. It now drops out until the date passes.
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

commit 6f83975c04f17e0322f107ccf18ec615095eb637
Author: vbaustad <vebjorn.baustad@gmail.com>
Date:   Tue Aug 11 10:31:31 2026 +0200

    Season dates are region-aware
    
    Blizzard headlined the same announcement "Goes Live August 11" in the US
    and "Goes Live 12 August" in Europe: EU resets a day later, so 12.1 opens
    on the 12th there and keystones follow on the 19th, not the 18th.
    
    The constants hardcoded the US days, so every EU player would have been
    told Mythic+ was live a day before it was -- and Yeeper reads the same
    constant to decide whether to nag about keys at all.
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

