promotional bannermobile promotional banner

LazyProf

Calculate the cheapest path to level your professions. Works with TSM and Auctionator for real prices.

File Details

v0.4.3

  • R
  • Feb 10, 2026
  • 390.11 KB
  • 248
  • 2.5.5+1
  • Classic + 1

File Name

LazyProf-v0.4.3.zip

Supported Versions

  • 2.5.5
  • 1.15.8

LazyProf

v0.4.3 (2026-02-10)

Full Changelog Previous Releases

  • docs: release v0.4.3
  • refactor(ui): single price per row with color signal for savings
    Show only the out-of-pocket cost on each row. Green signals inventory
    savings - hover for full breakdown (you pay / market / saving). Removes
    dual-price overlap that made rows hard to read.
  • feat(ui): show out-of-pocket cost accounting for owned materials
    Milestone breakdown and alternatives now show inventory-adjusted cost
    in green alongside dimmed market price when the player owns materials.
    Alternatives sorted by out-of-pocket cost so cheapest-for-you recipes
    appear first. Arrow tooltip shows adjusted total when savings exist.
    Scoring algorithm unchanged - display layer only (ADR-012).
  • feat(pricing): add TSM Recent Value price source
    Add DBRecent as a new TSM price source option between Min Buyout and
    Market Value. Recent Value reflects current prices with outliers removed,
    making it more reliable than raw min buyout for scoring. Set as the new
    default price source. Added to fallback chain in TSM provider.
  • fix(ui): sort alternatives by score rank instead of alphabetically
  • fix(pathfinder): inventory double-counting and recipe cost inflation in milestone breakdown
    Milestone breakdown checked inventory independently per step, so owned
    materials were deducted from every step instead of being consumed once.
    Now simulates inventory consumption step-by-step.
    Recipe acquisition cost was added to every step using an unlearned recipe
    instead of only the first. Both strategies now track purchased recipes
    and skip the cost on subsequent steps.
  • chore: update CraftLib submodule
  • docs: refresh documentation for v0.4.3 pre-release
    Comprehensive documentation update to match current codebase:
    • COMPONENTS.md: Complete rewrite with actual file tree (was very stale)
    • OVERVIEW.md: Updated system diagram, data flow, dependencies
    • DECISIONS.md: Updated ADR-004 status, added ADR-008 through ADR-011
    • README.md/CURSEFORGE.md: Synced feature lists, removed stale settings
    • SETUP.md: Fixed paths, added submodule and LibDBIcon instructions
    • TESTING.md: Added extended inventory and bracket filter test procedures
    • TROUBLESHOOTING.md: Fixed stale setting references
    • WORKFLOW.md: Fixed plan directory structure, removed stale checklist item
    • CHANGELOG.md: Added missing bracket filter entry to [Unreleased]
  • feat(inventory): extended scanning with mail, AH, and guild bank sources
    Add mailbox, active AH listings, and guild bank as inventory sources for
    the shopping list. Scanner refactored to registry pattern for modularity.
    Missing materials uses waterfall allocation (bags, bank, mail, auctions,
    guild bank, alts, AH). Pathfinder debug logging now includes trigger
    reason and active pin details.
  • feat(ui): add bracket filter to milestone panel and shopping list
    Dropdown on milestone panel filters steps and shopping list by skill
    bracket (Apprentice through Master). Defaults to current bracket and
    auto-advances on recalculate. Shopping list title and materials reflect
    the selected bracket range.