File Details
v2.0.1-bcc
- R
- Jul 4, 2026
- 347.75 KB
- 5
- 2.5.5
- Classic TBC
File Name
ProfitProphet-v2.0.1-bcc.zip
Supported Versions
- 2.5.5
# Changelog
## [2.0.1] - 2026-07-03
### Text size option
Options > Display > **Text size** (80%-140%, 5% steps): scales every ProfitProphet
window - fonts and layout together, so nothing overflows - and applies to all open
windows immediately. Persists across sessions. Also brought the Craft overlay, Buy
List, Tools, Heatmap, Destroying, Disposition, Logistics, and the new-group dialog
under the same scaling system (they previously ignored the auto-fit scale too).
## [2.0.0] - 2026-07-03 — PUBLIC LAUNCH
ProfitProphet's first public release: a full goldmaking suite for WoW Classic
Anniversary in one ~490 KB addon. Zero dependencies, no companion app, no setup.
**What's inside**
- Full AH workstation: scanner (full/quick/staged), two-click TOS-safe posting with
undercut, Post Scan / Cancel Scan planning, sniper, groups + posting rules (with
price expressions), My Auctions with undercut detection
- True profit-and-loss ledger from your actual sales and buys
- Craft profitability for every recipe: live mat pricing, craft queue, shopping list,
custom recipes, profession craft trees (/pptree)
- Price heatmap (day-of-week x hour) and buy/hold/sell timing signals per item -
features no other addon has
- Bags replacement (per-bag toggles + keyring), cross-alt inventory, logistics rules,
vendor/disenchant advisors, dashboard with gold-per-day and per-item profit
- Typo- and case-tolerant item search; gold/silver/copper coin price inputs
- Performance-hardened: frame-budgeted scans and commits, pooled frames, auto-pruned
history, ~30s full scan
Free, TOS-clean (one hardware click per protected action, always), and shaped by
feedback - the changelog below shows the cadence.
## [1.99.44] - 2026-07-03
### Coin-box price inputs everywhere they fit
- The g/s/c denomination composite is now a shared component (PP_AH._S.mkMoneyInput).
- Sniper: Max buyout + Min profit converted to coin boxes (Min profit moved to the second
config row for space). They also SAVE on every change now — the old boxes only saved on
Enter, silently dropping edits if you clicked away.
- Posting-rule price fields (Base Group + per-group Min/Max/Normal) intentionally STAY
textual: they accept price EXPRESSIONS ("110% craftcost", "max(...)") that coin boxes
cannot represent — and they already understand plain numbers as gold.
## [1.99.43] - 2026-07-03
### Sell tab — real gold/silver/copper price inputs
Unit Price and Stack Price are now Auctionator-style denomination inputs: three boxes
with coin icons (g / s / c), numeric-only, Tab hops between them. Typing is unambiguous
now — no string parsing needed, though the unit<->stack sync, Undercut lowest fill,
totals, deposit, and margin preview all work exactly as before.
## [1.99.42] - 2026-07-03
### My Auctions — group headers are dropdowns now
With "Group by item" on, each item's header row expands/collapses its listings on click
("+" collapsed, "-" expanded; groups start collapsed so the list reads as a tidy per-item
summary). The header keeps the totals (value, listing count, undercut count); click an
individual listing for the item detail card as before.
## [1.99.41] - 2026-07-03
### My Auctions — resizable active list + readable status
- The divider under the active-auctions list is now a DRAG HANDLE (dotted grip; hover
turns it green): pull it down to see more live auctions at once. The split height
persists across sessions. The whole history block re-anchors live as you drag.
- STATUS column: it was squeezed to 80px against the Cancel button while ~280px of the
row sat empty — "-7g 97s (153%)" painted under Cancel. Status now spans the free space
("undercut by 7g 97s (153%)"), and Cancel is anchored to the row's right edge.
## [1.99.40] - 2026-07-03
### My Auctions — active listings finally render
Six call sites unpacked GetAuctionItemInfo("owner") one return value short: their
"saleStatus" landed on ownerFullName (never 0), so every ACTIVE listing was filtered
out of the list — and their "buyout" was actually minIncrement, corrupting undercut
math and the cancel-match keys in Cancel Next / Cancel All Undercut. All six now use
the correct 16-slot signature (buyout = #10, saleStatus = #16, same as the dashboard
cache writer, which was correct all along — why cached/sold data looked fine while
actives showed 0).
## [1.99.39] - 2026-07-03
### My Auctions — the REAL root cause
The server only SENDS your owned-auction list when something requests it, and the only
thing that ever requested it was the native Auctions tab — which ProfitProphet replaces.
So unless a post happened to trigger a push, the owner list stayed empty forever. PP now
calls GetOwnerAuctionItems(0) (the same request Auctionator uses) on every AH open and
whenever My Auctions finds the list empty at an open AH (throttled). Your listings load
within a second of opening the AH.
## [1.99.38] - 2026-07-03
### My Auctions audit + post pacing
- FOUND & FIXED why live auctions vanished from My Auctions: post/cancel bursts fire
transiently-EMPTY owner-list updates, and the cache watcher wiped D.myAuctions on every
one. An empty list is now accepted only if it's still empty 1.5s later with the AH open.
The summary tiles (Active/Undercut/Total/Uncollected) heal with it — they derive from
the same list.
- Cancel-gate wedge: the in-flight cancel lock was only released while the tab was VISIBLE;
cancel + switch tabs = every Cancel button dead until reopening. Released on the owner
event regardless now.
- Post pacing: two PostAuction calls within ~1s can trip the server's "Internal Auction
Error" (the previous listing is still materializing). Post Now / Post Next now ask for a
beat ("the last auction is still listing...") instead of firing into the error.
## [1.99.37] - 2026-07-03
### Search survives typos now, not just lowercase
PP.canonName gained a typo-tolerant rescue: multi-word input that misses the scan DB is
fuzzy-matched (bounded Damerau-Levenshtein, <=2 edits, transposition = 1 edit) against the
26k proper-cased names — "bolt of imbeud netherweave" resolves straight to Bolt of Imbued
Netherweave and fires ONE clean exact search instead of limping through the loose-search
chain. Single words are never fuzzed (a partial like "bolt" must not hijack onto "Boots");
a first-letter + length prefilter keeps the pass at a few ms. Verified with a 6-case test
(lowercase, typo+case, double error, partials untouched, garbage passes through).
## [1.99.36] - 2026-07-03
### Typing prices finally works like a human expects
- Bare numbers in every price box now mean GOLD: "5" = 5g, "5.5" = 5g 50s (it used to
mean five COPPER). Decimals work on suffixes too: "1.5g" = 1g 50s (previously mis-read
as 5g). Suffixed forms ("12g 50s 3c") unchanged.
- Unit/Stack price boxes normalize when you tab away, so you see what your input meant.
- FIXED a real money bug: price formatting dropped the copper part, so "Undercut lowest"
filled the box 1-99c ABOVE the intended undercut (5g 59s 92c became "5g 59s").
## [1.99.35] - 2026-07-03
### Release hygiene + Sell tab polish
- The shipped zip no longer contains ANY markdown files (CHANGELOG.md was riding along);
release-artifact audit re-confirmed: no watermarks/signatures, no personal data — only
the author copyright lines and the project URL.
- Sell tab: the staging hint no longer wraps mid-sentence; single muted line
("Click an item under YOUR ITEMS to stage it") that the staged item's name replaces.
_Older releases: see the project history._