Skip to content

Releases: wouter-intveld/BetterQuestTracker

v0.3.7

Choose a tag to compare

@github-actions github-actions released this 05 Oct 18:30
23991ba

BetterQuestTracker

v0.3.7 (2026-10-05)

Full Changelog Previous Releases

  • feat(filter): always show class quests option

v0.3.6

Choose a tag to compare

@github-actions github-actions released this 05 Oct 16:13
43dafc0

BetterQuestTracker

v0.3.6 (2026-10-05)

Full Changelog Previous Releases

  • fix(settings): shorten quest log filter label

v0.3.5

Choose a tag to compare

@github-actions github-actions released this 05 Oct 11:33
08b9eba

BetterQuestTracker

v0.3.5 (2026-10-05)

Full Changelog Previous Releases

  • feat(header): show the skull while hiding quests
    The skull hid until hover while high-level quests were hidden and stayed
    visible while they showed, marking the non-default state the way the
    lock does. In use that read as reversed: next to the zone filter icon, a
    coloured icon means an active filter. It now stays visible while hiding
    (coloured) and retreats to hover-only while showing (grey).
  • refactor(text): name colours, limits and strings
    Colour codes, slider bounds and tooltip wording were literals repeated
    across the file: the same green in four places, the scale bounds in the
    slider, the slash command and the wheel handler. COLOR, LIMITS and TEXT
    hold them once; the slash commands for scale, width and height share one
    branch; AddHint/AddDone replace the repeated tooltip RGB triples.
    Wording now comes from Blizzard's strings where one exists: the lock
    tooltip uses LOCK_FRAME/UNLOCK_FRAME, the filter tooltip FILTER, and the
    mouse hints quote the context menu entries (Focus, Untrack, Open Quest
    Map on Retail) so hint and menu always agree. "No quests" no longer says
    "for this zone" while the zone filter is off.
  • refactor(events): one handler per event
    The OnEvent if-chain mixed early returns with branches that fell through
    to a shared RequestRender, so which events redraw took tracing every
    branch, and the registration list repeated the event names. EVENTS maps
    each name to its handler, registration iterates the table, and the
    ADDON_LOADED bootstrap swaps in the dispatcher once the saved variables
    are loaded. QUEST_REMOVED no longer guards against a nil questID; the
    event always carries one.
  • refactor(sort): re-sort shown quests on the tick
    ShownOrderIsStale re-derived the ordering rules of CollectQuests as a
    state machine over two parallel arrays, so every change to the sort had
    to be made twice. The tick now re-sorts light copies of the shown quests
    through the same SortQuests the render uses and compares the drawn order,
    with a collapsed zone counting as one entry. It also notices when a
    collapsed zone should move, which the old check skipped. No new tables
    per tick: the copies and the key arrays are reused.
  • refactor(render): split Render into sections
    Render laid out quests, recipes and the frame in one 150-line function
    around an AddLine closure with six positional parameters, which also
    regex-split the bullet back out of the text its caller had just built.
    AddLine is now module level, takes the bullet colour as a parameter and
    returns the line for the caller to tag; RenderQuests, RenderRecipes and
    FitFrame each own one part, and AddSectionHeader replaces the two copies
    of the zone/recipe header format.
    MAX_LINES is gone: the pool grows with the quest log, which the game
    already caps, and the guard forced every caller to cope with a nil line.
  • refactor(header): one section for the controls
    The four header controls had their creation, their scripts and the
    hover logic spread over three places, held together by HookScript calls
    that had to run after every SetScript on those frames. They now live in
    one section: a shared SetupControl handles hover, tooltip and the click
    that rebuilds it, and every enter/leave calls UpdateHeaderHover directly.
    UpdateHeader takes the header state out of Render.
    Visual change: the +N icon now dims to 0.6 like the other icons until
    it is hovered; it used to stay at full alpha.
  • fix(mouse): wheel passes through a short tracker
    Render disabled the scroll frame's wheel when there was nothing to
    scroll, but the frame underneath had its wheel enabled unconditionally
    and caught the event with a no-op scroll, so the camera never saw it.
    The frame now owns the wheel and Render enables it only while the list
    is taller than maxHeight; as a side effect the header scrolls the list.
  • refactor(mouse): drop dead drag handlers
    The frame never had the mouse enabled while locked, and while unlocked
    the move overlay covers both the frame and the header, so their drag
    registrations and the locked guard in StartMove could not fire. Only
    the overlay moves the tracker.

v0.3.4

Choose a tag to compare

@github-actions github-actions released this 05 Oct 07:16
7342e40

BetterQuestTracker

v0.3.4 (2026-10-05)

Full Changelog Previous Releases

  • feat: icons in the tracker header
    The header text labels become Blizzard atlas icons in their own colours,
    dimmed until hovered: padlock (move), skull (high-level quests), map
    filter (zone filter, grey for all quests). The collapse button sits just
    outside the tracker's top-right corner. Confirmed in game.
  • feat: show +3 only on header hover
    The +3 now appears only while the header is hovered, or stays visible
    while high-level quests are shown. Its slot is kept even with the option
    off, so move no longer shifts. Confirmed in game.
  • feat: finished quests last option, wrap indent
    New opt-in setting moves quests ready to turn in to the bottom of their
    zone; the 2 s order check accepts that order so it does not redraw
    needlessly. Objective dashes get their own column so wrapped text lines
    up under the text. Both confirmed in game.

v0.3.3

Choose a tag to compare

@github-actions github-actions released this 04 Oct 20:22
325f258

BetterQuestTracker

v0.3.3 (2026-10-04)

Full Changelog Previous Releases

  • feat: high-level quest option off by default
    New installs track every accepted quest; unchecking quests above your
    level is opt-in in the settings. Existing saved settings keep their value.

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 04 Oct 20:16
2578f54

BetterQuestTracker

v0.3.2 (2026-10-04)

Full Changelog Previous Releases

  • feat: +3 shows or hides high-level quests
    The +3 header button toggled the option itself. It now only shows while
    the option is on, and toggles listing the quests the option unchecked
    (grey while shown, saved). The option changes in the settings; move
    sits next to zone when +3 is hidden.

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 04 Oct 17:16
e797a3d

BetterQuestTracker

v0.3.1 (2026-10-04)

Full Changelog Previous Releases

  • fix: party objectives styled like your own
    The party progress in the quest tooltip used Blizzard's grey and white
    text. Finished objectives now get the green check and open ones a white
    dash, matching the player's own objective lines. Names keep their colour.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 08:42
4ca5cc6

BetterQuestTracker

v0.3.0 (2026-10-04)

Full Changelog Previous Releases

  • feat: show tracked recipes with reagents
    The addon hides Blizzard's tracker, which also hid tracked recipes. List
    them below the quests with reagent counts in bags/needed. Left-click
    opens the recipe, shift-click untracks, right-click shows a menu. Bag
    changes only redraw while recipes are shown. Setting to turn it off.

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 03 Oct 15:42
bac5402

BetterQuestTracker

v0.2.2 (2026-10-03)

Full Changelog Previous Releases

  • feat: add addon icon and colour Better green
    Show an icon in the AddOns list (icon.tga, rendered from art/icon.svg)
    and colour Better in the addon title and Settings category with the
    same green as the chat prefix.

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 03 Oct 14:10
a2c8c13

BetterQuestTracker

v0.2.1 (2026-10-03)

Full Changelog Previous Releases

  • chore(db): drop migration shipped in v0.1.0
    The move of collapsedQuests and autoUntracked to the per-character DB
    ran on the first login after v0.1.0; later installs never had the old
    layout. Same for clearing the removed hideBlizzard key.
  • refactor: drop fallbacks for other clients
    The addon ships for one client (one Interface line in the toc), and
    every guarded API was confirmed present in game, so these paths never
    ran: the abandon popup, the no-MenuUtil path, the hand-written party
    progress tooltip, the C_SuperTrack and GetDistanceSqToQuest checks,
    QuestWatchFrame, ToggleQuestLog, and the pcalls around settings and
    event registration. Also drop the db-nil guards, which only ran after
    load. A missing API now errors instead of silently degrading.
  • refactor(events): merge entering-world handling
    PLAYER_ENTERING_WORLD was handled in two places. The durability recheck
    was a function stored on the frame so the event handler could reach it;
    it is a plain local now, and UPDATE_INVENTORY_ALERTS is registered with
    the other events. IsQuestInCurrentZone no longer takes zoneNames as a
    parameter, it was only passed because the table was declared later.
  • refactor(render): pass redraw reason explicitly
    The module-level renderReason mislabelled /bqt perf when a click redrew
    while an event redraw was queued: the two swapped labels. Render now
    takes the reason as a parameter; direct calls are labelled direct.
  • style(render): indent collapsed-zone block
  • chore(scroll): drop overwritten OnVerticalScroll
    The real handler, set later, already calls UpdateMoreText.
  • perf(layout): re-place only when offset changes
    Every redraw while the durability icon was visible, and every
    DurabilityFrame SetPoint, re-anchored the main frame and rebuilt the
    item buttons even when the avoid offset was unchanged.
  • perf(render): skip re-anchoring unmoved lines
    Lines and item buttons only ever have one anchor, so SetPoint replaces
    it. Remember the last position and scale and only re-anchor when they
    changed, which is never for the common progress-only redraw.