Skip to content

Releases: kaldown/CraftLib

v0.5.0

23 Feb 00:54

Choose a tag to compare

CraftLib

v0.5.0 (2026-02-23)

Full Changelog Previous Releases

  • docs: release v0.5.0
  • docs: document optional itemId for enchanting recipes
    Update SCHEMA.md to note that itemId is nil for enchantments.
    Update README recipe count from 30 to 218. Add changelog entry.
  • data(enchanting): add enchantment recipes
    Previously only item-producing recipes (rods, wands, oils) were
    included. Now includes all enchantment recipes that consume reagents
    and give skill-ups. Enchanting grows from 30 to 218 recipes.
    Added 4 recipes to removed list: 3 material conversions that never
    give skill-ups (Large Prismatic Shard, Small Prismatic Shard, Void
    Shatter) and 1 seasonal event recipe (Deathfrost).
  • feat: support non-item recipes in data pipeline
    Enchanting spells use SpellEffect.Effect=53/54 (enchant item), not
    Effect=24 (create item). The crafted_items gate silently excluded all
    enchantment recipes. Now includes any profession spell that has
    reagents, even without a crafted item output.
    Also makes itemId optional in generated Lua - enchantment recipes
    omit the field while item-producing recipes (rods, wands, oils)
    are unchanged.

v0.4.0

19 Feb 20:06

Choose a tag to compare

CraftLib

v0.4.0 (2026-02-19)

Full Changelog Previous Releases

  • docs: release v0.4.0
  • chore: switch to All Rights Reserved license
  • docs: add EyesOnMe to cross-links
  • chore: add __pycache__ to gitignore
  • docs: add Wago badge and cross-links to README and description

v0.3.0

11 Feb 20:36

Choose a tag to compare

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
  • 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)
  • 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

v0.2.12

30 Jan 13:58

Choose a tag to compare

CraftLib

v0.2.12 (2026-01-30)

Full Changelog Previous Releases

  • docs: release v0.2.12
  • fix(data): correct difficulty values and skillRequired logic
    Engineering:
    • Steam Tonk Controller: yellow 295->275, green 305->280, gray 315->285
    • Thorium Shells: yellow 305->295, green 315->300, gray 325->305
      Enchanting:
    • Large Prismatic Shard: skillRequired 1->335 (conversion recipe)
      Generation script:
    • Handle orange=0, yellow=0 recipes by using gray as skillRequired
  • refactor(data): organize sources per-expansion with traceability
    • Move sources from Data/Sources/.json to Data/Sources/{Expansion}/.json
    • Add --expansion flag to all scripts (extract, fetch, generate, validate)
    • Add "expansion" field to difficulty metadata for traceability
    • Add --force flag to fetch script for re-fetching all recipes
    • Fix Cooking: re-fetch all 116 recipes from TBC Wowhead
      (was incorrectly using Classic difficulty values)
      Classic and TBC have different difficulty values for vanilla recipes.
      TBC has tighter ranges (recipes go gray faster). The expansion metadata
      now tracks which Wowhead source was used.
  • chore: update db2-parser with orange=0 documentation

v0.2.11

28 Jan 23:01

Choose a tag to compare

CraftLib

v0.2.11 (2026-01-28)

Full Changelog Previous Releases

  • fix(data): improve orange=0 recipe skill requirements
    Use threshold-based logic for recipes with orange=0:
    • Early-game recipes (yellow <= 75): skillRequired = 1
    • Late-game recipes (yellow > 75): skillRequired = yellow
      This fixes:
    • Jewelcrafting showing empty paths for unlearned professions
    • Mining Smelt Copper not appearing at skill 1
    • High-level Alchemy flasks appearing as candidates at skill 1
      The threshold of 75 corresponds to the first profession milestone.

v0.2.10

27 Jan 13:10

Choose a tag to compare

CraftLib

v0.2.10 (2026-01-27)

Full Changelog Previous Releases

  • docs: release v0.2.10
    • Added welcome message on load showing version
  • feat: add welcome message with version on load
    Display "CraftLib v0.2.7 loaded." when addon initializes.
    Version is read from TOC file via C_AddOns.GetAddOnMetadata.
  • fix(release): use auto-detect for game versions
    • Revert to comma-separated Interface values in TOC
    • Remove -g flags from workflow (let packager auto-detect)
    • Remove enable-toc-creation (not needed)

v0.3.3

26 Jan 16:34

Choose a tag to compare

CraftLib

v0.3.3 (2026-01-26)

Full Changelog Previous Releases

  • fix(release): add Classic flavor to CurseForge upload
    Add -g classic flag alongside -g bcc to properly tag uploads for
    both Classic Era and TBC Anniversary flavors on CurseForge.

v0.2.9

26 Jan 16:41

Choose a tag to compare

CraftLib

v0.2.9 (2026-01-26)

Full Changelog Previous Releases

  • fix(toc): use Interface-Type headers for multi-flavor packaging
    The packager requires separate Interface-Classic and Interface-BCC
    headers with enable-toc-creation to generate flavor-specific packages.

v0.2.8

26 Jan 16:34

Choose a tag to compare

CraftLib

v0.2.8 (2026-01-26)

Full Changelog Previous Releases

  • fix(release): add Classic flavor to CurseForge upload
    Add -g classic flag alongside -g bcc to properly tag uploads for
    both Classic Era and TBC Anniversary flavors on CurseForge.

v0.2.7

26 Jan 12:58

Choose a tag to compare

CraftLib

v0.2.7 (2026-01-26)

Full Changelog Previous Releases

  • docs: release v0.2.7
  • fix(data): filter 46 removed/placeholder recipes from generated Lua
    Recipes without Wowhead-verified difficulty data are now excluded from
    generation. These are recipes that exist in DB2 but were never implemented
    or were removed from the game (e.g., Crystal Infused Bandage with
    placeholder reagent zzOLD[PH]).
    • Update generate_recipes.py to skip recipes without difficulty data
    • Regenerate all profession Lua files with 46 recipes removed
      Filtered recipes are tracked locally in Data/Sources/removed_recipes.json
      for review when TBC Classic stabilizes.
  • chore: update AI/agent gitignore patterns
    • Consolidate agent-related ignore rules
    • Add patterns: CLAUDE.md, *-design.md, *-impl.md, *-brainstorm.md
    • Update db2-parser submodule
  • fix(toc): correct TBC Anniversary interface version to 20505
    Updated interface version from 20504 to 20505 for TBC
    Anniversary Edition (Patch 2.5.5).
  • chore(toc): update interface versions for supported game types
    Updated interface numbers to match supported versions:
    • 11508 (Classic Era)
    • 11505 (Season of Discovery, Hardcore)
    • 20504 (Anniversary TBC)
      Removed Retail and Cataclysm Classic interfaces.
  • docs: update profession coverage to reflect completion
    All 10 professions are now complete with Wowhead-verified
    difficulty data. Updated table with recipe counts.
  • docs: specify supported game versions
    Add supported game versions section to README and CURSEFORGE:
    • Classic Era
    • Season of Discovery
    • Anniversary
    • Hardcore
  • chore: remove local build script, rely on BigWigsMods packager
    • Delete scripts/build.sh (GitHub Actions handles releases)
    • Remove release target from Makefile (keep data generation targets)
    • Add Data/Sources to .pkgmeta ignore list
  • fix(ci): clean up draft releases before packaging
    Prevent orphaned draft releases from accumulating by deleting any
    existing drafts for the same tag before creating a new release.
  • feat: enable all 10 professions in toc
    Add missing Data files for Alchemy, Blacksmithing, Enchanting,
    Jewelcrafting, Leatherworking, and Tailoring to the .toc file.