Seasonal Updates
Overview
Section titled “Overview”All seasonal data lives in one file: src/lib/presets/season-config.ts. That’s the only file you need to edit. Everything else (UI dropdowns, SimC line generation, combo counting) reads from it automatically.
After editing, run the validator:
pnpm season:validateStep-by-Step Checklist
Section titled “Step-by-Step Checklist”- Update
CURRENT_SEASON— expansion name, season number, start date, max ilvl, SimC branch name - Update
GEAR_TRACKS— ilvl ranges +bonusIdfor each track - Update
SOCKET_BONUS_ID— the bonus_id that adds an extra socket - Update
GEM_PRESETS— current-season gems with correctidand names - Update
ENCHANT_PRESETS— current-season enchants with correctid, slot, names - Rebuild
items.db— runpnpm build:item-db - Update SimC binary — bundle the new SimC release for all platforms
- Run
pnpm season:validate— must pass with 0 errors - Test with a real export — paste your own
/simcoutput and run a sim - Tag a release —
git tag vX.Y.Zand push
How to Find Each Value
Section titled “How to Find Each Value”Gear Track bonus_ids
Section titled “Gear Track bonus_ids”These aren’t on gaming guide websites — get them from SimC source or Wowhead.
Option A — Wowhead XML (fastest):
- Find a known item from the new season on Wowhead
- Fetch its XML:
https://www.wowhead.com/item=ITEM_ID&xml - Look at the
bonus_idfield - Repeat for different tracks
- The bonus_id that differs between tracks is the track marker
Option B — SimC item_data.inc:
- Check
https://github.com/simulationcraft/simc/blob/BRANCH/engine/dbc/generated/item_data.inc - Search for a known current-season item
- Compare bonus_ids across tracks
Option C — SimC community:
- SimC Discord: https://discord.gg/simulationcraft
- GitHub issues usually have season update threads with confirmed bonus_ids
Socket bonus_id
Section titled “Socket bonus_id”Same process as gear tracks. Do NOT assume it carries over between seasons — always verify.
Gem & Enchant IDs
Section titled “Gem & Enchant IDs”From your own /simc export (fastest):
- Gems: look for
gem_id=NNNNN - Enchants: look for
enchant_id=NNNNN
From Wowhead XML:
- Search for the gem/enchant on Wowhead, fetch XML, read the ID
From SimC pull requests:
- Season update PRs often list new IDs in the description
SimC Branch Name
Section titled “SimC Branch Name”Check active branches at https://github.com/simulationcraft/simc/branches — usually the expansion name in lowercase (e.g., midnight).
Validator Output Guide
Section titled “Validator Output Guide”| Output | Meaning |
|---|---|
✓ Myth: bonusId=XXXXX | Confirmed value |
✗ Hero track: bonusId is 0 | Blocking — must fix |
⚠ SOCKET_BONUS_ID is 0 | Warning — socket feature disabled |
✗ Gem "TODO" has id=0 | Blocking — placeholder not replaced |
✗ Duplicate enchant id | Blocking — copy-paste error |
The validator exits with code 1 on any errors. GitHub Actions runs it before every release build.
Time Estimate
Section titled “Time Estimate”- 30–60 minutes if you have a character with current gear (use your own export for gem/enchant IDs)
- 2–3 hours if starting from scratch with web research only
The hardest part is usually the gear track bonus_ids.