File Details
v0.3.0
- R
- Feb 11, 2026
- 109.82 KB
- 1.5K
- 2.5.5+1
- Classic + 1
File Name
CraftLib-v0.3.0.zip
Supported Versions
- 2.5.5
- 1.15.8
CraftLib
v0.3.0 (2026-02-11)
Full Changelog Previous Releases
- docs: release v0.3.0
- feat(data): add training cost to trainer-learned recipes
645 of 710 trainer recipes now include trainingCost (copper) from
Wowhead data. Remaining 73 recipes without cost data are older
recipes where Wowhead did not return training cost information. - docs: update for pipeline cleanup and corrected recipe counts
- README: update recipe counts, single-pass pipeline docs, 51 removed
- SCHEMA: document STARTER source type, mark DISCOVERY/WORLD_DROP reserved
- CHANGELOG: add [Unreleased] section for upcoming release
- TODO: add DISCOVERY world-object review, consolidate resolved items
- feat(data): regenerate all recipes with verified Wowhead data
All 1,925 recipes now have Wowhead-verified difficulty and source data.
Source reclassifications from Wowhead spell pages (VENDOR/DROP to
TRAINER where trainable). No DB2 difficulty fallback used. - feat(data): update removed recipes list
Add 6 recipes confirmed as removed or unverifiable:- Khorium Toolbox (Engineering), Crystal Infused Bandage (First Aid),
Inlaid Mithril Cylinder (Blacksmithing), Arcanite Sword Pendant and
Blood Crown (Jewelcrafting), Warbear Woolies (Leatherworking) - Fix "FirstAid" key to "First Aid" for consistency
- Khorium Toolbox (Engineering), Crystal Infused Bandage (First Aid),
- feat(data): add STARTER and DISCOVERY source types
- fix(scripts): eliminate silent defaults and data guessing
- generate_recipes: require WOWHEAD difficulty (no DB2 fallback),
require verified source (no PENDING), fail on missing DB2 tables,
add removed_recipes.json filtering, remove detect_source() fallback - extract_db2_sources: fail on missing item details and unknown
faction/rep, warn on missing EffectItemType - fetch_wowhead_sources: rewrite as single-pass (merged difficulty,
source resolution, trainer audit), remove unreliable regex fallbacks,
check full Wowhead source array with priority - Delete source_overrides.json and validate_sources.py (obsolete)
- generate_recipes: require WOWHEAD difficulty (no DB2 fallback),
- chore: add MIT license metadata
Add license-output to .pkgmeta for packaged releases.
Add X-License field to TOC. - docs: add donation link and rename description file
Add PayPal badge to README.md and a support note at the bottom.
Rename CURSEFORGE.md to DESCRIPTION.md (used for CurseForge/Wago listings).
Simplify .pkgmeta ignore list since *.md glob covers all markdown files. - chore: gitignore DB2 artifacts directory
- feat(sources): add trainer audit and comprehensive Wowhead data extraction
Extend fetch_wowhead_sources.py with --audit-trainer mode that detects
recipes misclassified as VENDOR when they are actually trainer-learnable
in TBC. Uses Wowhead spell page trainingcost field as definitive signal.
Also captures comprehensive spell data from Wowhead pages: source array,
training cost, learned-at skill, reagents, crafted item, quality, and
taught-by NPC list with faction (Alliance/Horde/Neutral).
Update schema.json with wowhead data structure for storing all extracted
fields. Engineering audit found 9 vanilla recipes moved to trainers in
TBC (e.g., Thorium Widget, Thorium Grenade, Thorium Tube). - docs: refresh documentation for v0.2.13 pre-release
COMPONENTS.md: complete rewrite with full file tree including scripts/,
vendor/db2-parser/, Data/Sources/, .github/workflows/, .pkgmeta
OVERVIEW.md: add build-time data generation pipeline diagram alongside
runtime architecture
DECISIONS.md: extend ADR-002 with expansion-specific source paths,
fix recipe count in ADR-006 (45, not 46)
README.md: fix profession recipe counts to match generated Lua
(was showing raw DB2 counts), fix Data/Sources path format,
correct recipe field names and API key casing
CURSEFORGE.md: fix API example profession key casing
SCHEMA.md: add mining to profession keys, update difficulty comments
to note continuous probability (not fixed percentages), remove
non-existent optional fields (specialization, requiredTool, cooldown),
fix source object examples to match actual generated data,
replace stale version history with difficulty formula note
SETUP.md: add Python prerequisite, add --recurse-submodules to clone,
use generic paths instead of hardcoded developer paths
TESTING.md: add data generation pipeline testing section
WORKFLOW.md: remove stale docs/plans/completed/ reference
ADDING_PROFESSIONS.md: fix source file paths from flat pattern
(Data/Sources/[Profession].json) to expansion subfolder pattern
(Data/Sources/TBC/[Profession].json)
CHANGELOG.md: fix v0.2.7 recipe count (45, not 46), add missing
comparison links for v0.2.1 through v0.2.12
TODO.md: update footer to note historical reference status
Constants.lua: update difficulty color comments to note continuous
probability instead of fixed percentages
CraftLib.toc: document CraftLibDB as reserved for future use - chore: clean up internal references in docs and comments
- chore: update db2-parser submodule
- docs(architecture): add ADRs for orange=0 handling and removed recipes
ADR-005: orange=0 Recipe Skill Threshold at 75- Documents why 75 was chosen as threshold
- Explains early-game vs late-game vs conversion categories
- Lists alternatives considered
ADR-006: Filter Removed/Beta Recipes from Generated Lua - Documents the 46 filtered recipes decision
- Explains automatic filtering based on missing Wowhead data
- References removed_recipes.json tracking file

