addon-v0.10.0
What's new
# TheWoWDB Companion — changelog
<!-- This file IS the GitHub release body (.pkgmeta manual-changelog) and ships
inside the zip. Entries 0.8.2 through 0.9.2 were reconstructed on
2026-08-09 from their commits: the addon had reached 0.9.2 while this file
still ended at 0.8.1, so a release cut any time in that window would have
published 0.8.1's notes over five versions of changes. -->
## 0.10.0
**The addon is now TheWoWDB Companion, and patron orders work the way the game
actually works.** Same addon, new name: the site it comes from is moving from
wowgoldfarms.com to **thewowdb.com**.
### The rename
- The addon list, window title, About tab and patron board all read **TheWoWDB
Companion**; the auction-house button and the chat prefix read **WoWDB**;
tooltip price blocks are headed **TheWoWDB** and footed **thewowdb.com**.
- **`/wowdb` is the new command.** `/wgf` and `/wgfcompanion` still work and
always will - existing macros keep working, nothing to re-record.
- **Your settings, price history and shopping lists are untouched.** The folder
is still `WGFCompanion` and the saved data is still `WGFCompanionDB`, on
purpose: renaming those would hand you a fresh empty addon and throw away
every scan you have ever run. `/click WGFPatronFillButton` still works.
### Patron orders: Select Order, then Craft
The old single **Fill** button pretended to do one thing and actually did two.
Claiming an order is a server round-trip and the craft needs its own hardware
click - no addon can merge them - so "why do I have to press this twice" was
the button lying, not a bug to chase.
- Each row now reads **Select Order**. Press it and the order is yours and open;
that row becomes **Craft** and **every other row greys out**, because acting
on another one would throw away the claim you just paid for.
- **Deselect** gives an order back, so a wrong pick is not a dead end.
- **Refresh** is back on the board and the banner. It was cut in 0.9.0 as
redundant chrome because the board refreshed itself off order events - and
then this client stopped delivering those events, leaving no way to make it
look again.
- **Nothing is auto-selected.** The board shows what is fillable and waits.
- **Craft presses Blizzard's own Create button** rather than reimplementing the
craft call. Their button already knows how the order in front of you crafts -
patron-provided reagents versus your own, concentration, quality tiers - and
ours was guessing at a call signature 12.0 may have moved. If their button is
ever absent, we still craft directly as a fallback.
### Why the board kept coming up empty
This client accepts `C_CraftingOrders.RequestCrafterOrders` and **never calls
back**, and does not deliver `CRAFTINGORDERS_CLAIM_ORDER_RESPONSE` either. Every
state change used to hang off those, which is why a fresh character saw "No
patron orders loaded" while Blizzard showed eighteen, and why statuses stuck on
"reading the patron board..." forever. The board no longer waits to be told: it
reads what the client actually holds, once a second, and never calls a Blizzard
UI function while doing so (that taints the professions frame and gets the
craft refused outright with "Interface action failed because of an AddOn").
### Also fixed
- **The About tab was dead in every 0.9.x build** - it called an edit-box method
on a plain frame, so the tab rendered "This tab failed to load" and the
Website and bug-report links never appeared. The out-of-client test could not
see it because the mock accepts any method on any frame; it now asserts the
receiving frame's TYPE.
- **The dead `discord.gg/REPLACE-ME` link** is gone until there is a real invite.
- **"Last scan"** reported "(not yet loaded)" forever; it now reports the real
time and count, or says plainly that no scan has run this session.
- **Cross-realm freshness is no longer overstated.** The daily export stamped
the moment it ran rather than the age of the prices it carried, so with the
scan pipeline stalled the tooltip read "today" over three-day-old data. It now
stamps the newest snapshot behind the numbers.
- **Your cost is exact on the selected order.** Blizzard's browse rows carry no
reagent detail, so a patron-covers-part order could only be estimated; the
selected order does carry it.
- **The patron banner no longer covers Blizzard's own tab strip and Search
button** - it was sitting on top of the way out of our own surface.
- **Releases stop shipping developer backups**: `backups/` was missing from the
package ignore list, so a build would have carried 27 stale `.bak` files, 43%
of the zip.
### Notes
- No new files, so `/reload` is enough. The login line must say **v0.10.0**.
- The out-of-client gate grew four patron tests, each with a proven failing
case: the board must recover with the callback silenced, a switch must
complete without the release event, the timer must never call `ViewOrder`,
and selecting must grey out every other row.
## 0.9.2
**The "use your own reagents?" dialog no longer wedges the fill flow.** The
popup you had to click through was the actual blocker: this client build
rebuilt dialogs onto pooled frames, so the auto-confirm step - which hunted for
`StaticPopup1..4` and clicked Yes - had been aiming at frames that no longer
exist since 0.5.0. The hook fired every time and found nothing. It now answers
the dialog the way the client's own code does, in the same click, so the craft
starts instantly instead of waiting on you.
- **A `WGF UI` button on the banner** mirrors the board's `Blizzard UI` escape,
so the patron board is one click to put away and one click to bring back.
- Older clients keep the legacy frame-clicking path.
### Notes
- No new files - `/reload` is enough. The login line must say v0.9.2.
## 0.9.1
**One Fill button that actually fills.** The dead click had three separate
causes and all three are closed:
- **A refused claim used to be silent.** Nothing listened for the claim,
release, or craft responses, so an order the server rejected simply did
nothing. Every non-OK verdict is now printed in chat and refreshes the board.
- **No open profession bailed quietly.** It now says so, and falls back to
reading the profession off the frame that is on screen.
- **It needed two clicks.** The board auto-claims the best one-click order as
soon as it loads (claiming is not a protected call), so your first **Fill**
click crafts. Clicking a different row switches the claim instead of
scolding you.
Fill Next Order and Refresh are gone from the board and the banner; every row
button now reads exactly **Fill**, with a gold wash on the active row.
`WGFPatronFillButton` still exists, hidden, so `/click` macros keep working.
### Notes
- No new files - `/reload` is enough. The login line must say v0.9.1.
## 0.9.0
**The large in-page patron board is back, and it only ever shows orders you can
finish in one click.** A single rule now decides what appears on every patron
surface - board rows, banner counts, row cards, Fill: you have learned the
recipe, the materials are in your bags, warband bank, or supplied by the
patron, and the order demands no minimum quality. Orders that fail any of that
no longer show up anywhere, instead of appearing and then refusing.
- The board is the default surface again, enlarged to 16pt text on 32px rows.
It appears when the orders page opens or you pick the Patron tab, and
**Blizzard UI** puts it away.
- The banner steps aside while the board is up and returns when you escape it.
- The 0.8.3 "row card soup" was a layering fight - cards now draw above their
own cells.
### Notes
- The `patronOverlay` setting is replaced by `patronBoard` (default on). No new
files - `/reload` is enough. The login line must say v0.9.0.
## 0.8.3
**Readability fixes from a live screenshot.** The estimated-net text ran past
the edge of its card and over Blizzard's Commission and Reagents columns, and
the profession portrait clipped the banner title. Cards are now opaque,
row-tall and width-capped, and the title is inset clear of the portrait.
- Recorded for later: `COMMODITY_PRICE_CONFIRMED` does not exist on this client
build, so Buy's purchase-confirm step needs its 12.0 replacement.
### Notes
- No new files - `/reload` is enough. The login line must say v0.8.3.
## 0.8.2
**0.8.1's patron UI shipped invisible; this build makes it install, retry, and
say so.** Two faults, both fixed:
- The installer marked itself finished *before* it built anything, so a single
swallowed error left it permanently half-installed with no trace.
- The event dispatcher returned early on every `ADDON_LOADED`, which killed the
listener waiting for Blizzard's professions UI to load.
Installation is now staged, guarded, and reported in chat once; the retry timer
exists before the first attempt; and an event name this client does not know
can no longer abort the rest of the addon's startup.
- **New: `/wgf orders`** prints every seam the patron UI depends on plus any
recorded error - one screenshot of it pinpoints the fault.
- Frame paths re-verified against the live client; a wrong recipe-list fallback
and two dead hooks were removed.
### Notes
- No new files - `/reload` is enough. The login line must say v0.8.2.
## 0.8.1
**Recruit tab reworked: the class sweep.** One press of **Scan All
Classes** walks `/who` one class at a time — Death Knight → Demon Hunter
→ Druid → … → Warrior — every 7 seconds (server-throttle safe), and any
class that answers with a FULL page (50 = the /who cap) is automatically
split into level brackets (1-29, 30-49, 50-69, 70-79, 80-89, 90) so no
one is missed. Every guildless player seen by any query lands in ONE
deduped list, sorted by level, streaming in live as the sweep runs.
Press the button again to stop mid-sweep.
- **Visible rows, finally.** Rows now use the same medium font as the
Patron board, with a right-anchored **Invite** button on every row —
you can always see exactly who you are about to invite. An empty list
says so ("No guildless players yet") instead of showing a blank pane.
- **Invite** = one random pitch whisper (your editable variants) + the
guild invite, same as before; **Invite Next** works the list top-down.
- The single-query box still works (`70-80`, `c-"Druid"`, `z-"Zone"`)
and feeds the same list. **Clear List** starts the pile fresh.
- Sweep progress lives in the status line ("sweeping Druid (3/13) — 27
guildless so far") and the finish line is printed to chat.
### Notes
- No new files — `/reload` is enough. The login line must say v0.8.1.
## 0.8.0
**New: Guild Recruiting — the Recruit tab (`/wgf recruit`).** Scan `/who`
for guildless players and recruit them one click at a time:
- **Scan /who** runs your query (a level range like `70-80`, or
`z-"Zone"`; empty = your current zone) and lists ONLY guildless
players — name, level, class, zone, sorted by level. The server caps
`/who` at 50 answers and throttles repeat queries; the status line
says so instead of pretending the list is complete.
- **One click = whisper + invite.** Each row's Recruit button — or
**Recruit Next**, which walks the list top-down — whispers one of your
pitch lines and sends the guild invite in the same click. Whisper and
invite can each be toggled off in Settings.
- **Editable messages.** 5 recruit whispers + 5 guild welcomes, edited
right on the tab (**Edit Messages**, saved as you type). `{name}` =
their name, `{guild}` = your guild; blank lines are unused; one is
picked at random and never repeats back-to-back. Ships with chill
defaults: *"yo, we got free guild repairs if you want in"*.
- **Auto-welcome.** When anyone joins the guild, a welcome line lands in
guild chat a couple of seconds later (*"welcome in {name}, repairs are
on us"*). Toggle in Settings; the same person is never welcomed twice
inside an hour.
- **No spam by construction.** A contacted ledger remembers everyone you
whispered: the same player is skipped for 7 days (tunable in
Settings) and forgotten after 30. Whispers and invites only ever fire
from a real button click, one player per click.
### Notes
- **New file (`modules/recruit.lua`) — full client RESTART required, not
`/reload`.** The login line must say v0.8.0.
## 0.7.2
**Fixed: the overlay blocked Blizzard's own tabs.** It no longer covers the
order-type row (Public/Guild/Patron/Personal) or the bottom profession tabs
(Recipes/Specializations/Crafting Orders) — the board replaces the list,
never the navigation. Switching to Public/Guild/Personal hides the board;
coming back to Patron restores it.
**Reward icons, like the real page.** Every reward item now shows as an
icon (hover for the real item tooltip) beside the Tip + Reward column —
including unsellable ones like the Bag of Goodies, which stay OUT of the
gold number while being fully visible.
**Mats check reaches the warband bank.** "Ready" now counts bags, personal
bank, reagent bank, and the warband (account) bank — everything the client
can actually craft from.
### Notes
- `/reload` is enough for this update.
## 0.7.1
**Real profit: who provides what finally counts.** Blizzard's order rows
carry an All/Some/None reagents state and the board now honors it — an
order whose patron supplies all the mats costs you **zero**, partial-supply
orders show a `~` approximate cost, and only what YOU must supply is
charged against the tip. This alone reorders most boards.
**Mats at a glance.** A new **Mats** column says exactly where you stand
per order: green **Ready** (bags cover it), green **Patron's** (they
provide everything), orange **Need N** (that many reagent types missing —
the row's item name also carries an orange `[mats]` tag). The board sorts
by highest profit, full stop.
**Uncraftable orders are gone.** Unlearned recipes no longer appear on the
board at all — an order you cannot craft is noise. And **Fill Next never
claims an order you lack mats for** (a claim that can't craft is a wedge);
row buttons still let you claim one deliberately if the mats are in the
bank.
### Notes
- `/reload` is enough for this update.
## 0.7.0
**No more floating popup — WGF is built into the pages themselves.**
- **The patron page is ours now.** Opening a profession's crafting orders
replaces Blizzard's patron list with the WGF board, drawn directly on the
page: profit-sorted orders, and **one button per row** that does whatever
that order needs next — `Fill` claims it, it relabels to `Craft`, then
completion is automatic. The `Blizzard UI` button in the corner brings
their page back anytime, and a `WGF Board` button brings ours.
- **The auction house panel attaches itself.** The full WGF panel (Scan,
Buy, Lists, Post, Cancel, Bags…) now appears inside the auction house the
moment it opens, Auctionator-style — no button hunt. Clicking one of
Blizzard's own pages still hands the frame back instantly.
- The standalone window still exists behind `/wgf` for working away from
the bench, with the same board on its Patron tab (same per-row buttons).
- Settings: "Attach to AH & crafting" governs the reflex; "Replace
Blizzard's page" governs the patron overlay specifically.
### Notes
- `/reload` is enough for this update.
## 0.6.3
**Fixed: Fill Next claimed recipes you haven't learned.** The order rows
carry no trustworthy "learned" flag, so the button walked you into "You have
not learned this recipe" dead ends. It now asks your tradeskill data
directly: unlearned orders show grey `[unlearned]` at the bottom of the
board and are never claimed — and if one is somehow already claimed, the
next click releases it instead of wedging.
**Fixed: phantom reward gold.** Most patron rewards are bind-on-pickup —
they can never be sold, so pricing them at market invented hundreds of gold
of "net" and reordered the whole board. Sellable rewards still count;
unsellable ones are flagged `+rw` (real upside, honest number).
**Bigger, consistent UI.** Patron is now the first tab in the rail. The
board runs 14pt text on taller rows, the Fill button is genuinely big, the
sidebar buttons are taller, and the zoom controls no longer crowd the close
button. Zoom (+/−) still scales the whole window if you want more.
### Notes
- `/reload` is enough for this update.
## 0.6.2
**Fixed: the Patron tab could crash on first open** ("This tab failed to
load") when the window reached it before the addon's own startup pass — the
exact red text over the board in the owner's screenshot. The tab no longer
assumes any startup order.
**Losses are never auto-claimed.** Fill Next now has a net floor (default:
break-even) — orders whose estimated net is negative stay on the board, in
red, but the button skips them. "Never auto-claim below" in Settings tunes
it; set it negative if a knowledge reward is worth eating a small loss.
**A board you can actually read.** Money columns show one round number
(`49g`, not `49g 73s 40c` wrapped onto two lines), losses are red, orders
demanding a minimum quality carry a gold `[Q3]` tag, and rows never wrap.
**Zoom.** `+` and `−` buttons in the title bar scale the whole window
(0.7×–1.6×), saved per character.
### Notes
- `/reload` is enough for this update.
## 0.6.1
**Auto-open actually fires now.** 0.6.0 listened only for the classic
`AUCTION_HOUSE_SHOW` / `TRADE_SKILL_SHOW` events — and on current clients
they never came, so nothing popped (the same reason the old AH-frame button
vanished). The reflex now triggers three independent ways: the classic
events, the modern interaction-manager events, and a watcher on the frames
themselves — whichever this client fires, the window opens. If it still
misbehaves, `/wgf signals` prints exactly which triggers this client has
fired so the report is one screenshot.
**Rewards are money too.** Estimated net now includes the market value of a
patron order's reward items: net = tip + rewards − consortium cut − your
reagents. The "Your cut" column shows the reward value beside the tip, and
rewards nothing can price are flagged `+rewards` instead of being counted
as zero.
### Notes
- `/reload` is enough for this update (no new files since 0.6.0).
## 0.6.0
**The window opens itself.** Nobody should have to remember `/wgf`: the
companion window now pops up automatically when the auction house or a
crafting table opens, and closes with them. The crafting table lands straight
on the new **Patron** tab; the auction house keeps whatever tab you last
worked in. One switch in Settings ("Open with AH & crafting") turns the
reflex off. The default window is bigger (1000x640) — if you never resized
it, it upgrades itself; a size you dragged to is kept.
**The Patron tab.** Patron orders now live in the window, not behind a tiny
button: the full board priced per order (your cut, your reagent cost,
estimated net), sorted best-first, a big **Fill Next Order** button, your
running session total, and click-a-row to open that order at the bench.
**Fixed: the 0.5.0 Fill button could never appear.** It installed on a frame
Blizzard builds a beat *after* the crafting window fires its open event, so
it silently skipped. Install now retries until the page exists — and the
window no longer depends on that button anyway.
### Notes
- Restart the client after updating (new files are only read at launch).
The login line reads `WGF v0.6.0 loaded`.
## 0.5.0
**One addon.** The cross-realm market data now ships inside the Companion
(`data/MarketData.lua`). The separate WGFMarketData data addon and the
tooltips-only WoWGoldFarms addon are retired — delete them if you still have
them installed; a leftover copy is harmless (same data, same global), just
pointless.
**Patron orders without the click marathon.** Blizzard's flow costs about six
clicks per order at four different screen spots. The new **WGF Fill Next**
button on the crafting-orders page does the whole thing from one place:
- one click claims the best patron order by estimated net (tip minus
consortium cut minus your reagents at market price) and opens it
- the next click crafts it — with exactly the reagent allocation Blizzard's
own Create button would have used
- the "own reagents?" confirmation popup is answered for you
- the finished order is handed in automatically, the session tally prints
(net this order, net this session), and the next order is pre-claimed so
the following click is again just "craft"
- `/click WGFPatronFillButton` in a macro puts the whole flow on a key
- `/wgf patron` toggles the assist; every piece has its own switch in Settings
The craft itself is always one real click per order — nothing protected is
ever automated. Public and personal orders are never auto-claimed or
auto-completed.
### Notes
- Restart the client after updating: this version adds new files, and WoW only
reads addon files at launch — `/reload` is not enough. The login line reads
`WGF v0.5.0 loaded`.
## 0.4.0
**Saved shopping lists.** Named lists of items you buy again and again, each
line carrying a "never pay more than" target. Lists are saved account-wide, so
they survive logout and follow you to every character. Add items by name, by
item id, or by shift-clicking them straight into the box. Each row shows the
lowest buyout and market value we know, and turns green when the price is at or
under your target. "Search list" walks the list through the auction house one
item at a time — never a burst of queries — so the results also fill in your
price history.
**Bag value.** What is in your bags, totalled two ways: at vendor price (a
certainty, straight from the client's item data) and at market value (your own
scans first). The gap between the two is the gold you leave behind every time
you clear your bags at a vendor. Items nothing has priced are reported as
unpriced and left out of the market total — never quietly counted as zero.
Both features live inside the auction house behind the **WGF** button, on the
new **Lists** and **Bags** pages, and in the standalone `/wgf` window.
### Notes
- Cross-realm tooltip lines (all-realm average, cheapest realm, region median)
require the separate TheWoWDB market-data addon. Without it the Companion
works fully on your own scan data; those specific lines are simply absent.
- WoW only reads addon code at launch. After installing a version that adds new
files, restart the client — `/reload` is not enough. The line the addon prints
at login (`WGF v0.4.0 loaded`) is how you tell a stale client from a fresh one.
## 0.3.0
Buy tab (auction-house search, per-unit listings, one protected purchase per
click, spend cap). One settings tab covering every option. WGF moved inside the
auction house behind a single button that other addons cannot displace. Cancel
lists every owned auction and flags the undercut ones, cancelling only those.
Tooltips gained cross-realm lines and a Shift-held price chart.
## 0.1.0
First build: auction scanning, price history, posting, cancel/undercut, item
groups, tooltip price lines.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

