File Details
v0.3.2
- R
- Mar 17, 2026
- 135.53 KB
- 5
- 12.0.1+1
- Retail
File Name
ProfKnowledge-v0.3.2.zip
Supported Versions
- 12.0.1
- 12.0.0
## v0.3.2 — Overlay Reliability & Addon Compatibility
### Bug Fixes
- Fixed overlay numbers showing incorrect values when switching spec tabs — Blizzard rank text scan was picking up PK's own font strings as "Blizzard's" rank text, causing stale numbers to bleed through
- Fixed overlay not appearing on first open until toggled off/on — added fallback profession frame setup and initial render when hooks are installed
- Fixed version display lagging one version behind — deployment was silently failing due to permission errors
### Addon Compatibility (CraftSim, etc.)
- Hardened node button detection — CollectNodeButtons now validates each frame is a real Blizzard talent button (checks return type, object type, known methods) instead of blindly trusting any frame with a GetNodeID key
- Entire spec tree highlight pass is now pcall-wrapped — addon conflicts produce a debug message instead of a Lua error popup
- All C_Spell.GetSpellName and GetSpellInfo calls are now pcall-protected
### Performance
- Added debounce system for highlight updates — UpdateButton hook (fires per-button, 30-40 times on tab switch) now coalesces into a single render pass instead of flooding timers
- All event-driven highlight calls use the same debounce, preventing redundant work
- Profession scanning on login is now async (coroutine-based) — spreads work across frames to eliminate FPS hitch on first load
- Multiple rapid scan triggers (SKILL_LINES_CHANGED, login timer) collapse into a single debounced scan
### UI
- Removed PK button from the Talents panel (N key) — it only belongs on the Professions Book
- Added Debug Mode toggle to the options panel
---
## v0.3.1 — UI & Sync Polish
### Bug Fixes
- Fixed version number not displaying in the Options panel (was using deprecated API)
- Sync bar button now respects the 5-minute cooldown (uses TriggerManualSync instead of raw RequestSync)
### Improvements
- Sync bar tooltip now shows cooldown timer when sync is on cooldown ("Sync on cooldown: Xm Ys")
- Tooltip shows "Click to sync with guild" when cooldown has expired
---
## v0.3.0 — Sync Overhaul
### Sync Changes
- Sync now performs one full exchange on login, then goes completely silent — no background traffic
- All sync timers (heartbeat, heartbeat monitor, retry) are stopped after the initial sync completes
- Opening the PK window or Professions page triggers a manual sync (5-minute cooldown)
- All incoming messages are ignored when sync is inactive — zero processing when idle
- BroadcastDelta now sends ALL local characters, not just the current one
- Guild members receive your entire alt roster in a single sync exchange
- Version-vector merge uses per-character lastUpdate timestamps — newer data always wins
### Other
- Added version number to the Options panel (bottom right)
---
## v0.2.2 — Spec Tree Overlay Cleanup
### Bug Fixes
- Fixed stale overlay highlights persisting when switching between spec tabs (recycled buttons now properly cleared)
- Fixed "0" rank numbers appearing on purchased-but-uninvested nodes — Blizzard's rank text is now hidden when it shows "0"
- Blue rank numbers no longer display when the highest alt rank is 0
- Flattened the button rendering loop to prevent nodes with missing data from leaking overlays
---
## v0.2.1 — Options Panel & Overlay Fix
### New Features
- Options panel accessible from the sync bar (replaces Import/Export buttons)
- Toggle for Node Overlay (spec tree highlights) — enable/disable colored circles on specialization nodes
- Toggle for Alt Knowledge Panel — show/hide the side panel on the spec tree
- Toggle for Guild Sync — enable/disable guild data sharing
- Import and Export buttons moved into the Options panel
### Bug Fixes
- Fixed node overlay not rendering due to variable scoping issue — highlights now display correctly and the toggle works as expected
- Fixed "attempt to index global 'orderMap'" error when exporting guild data
---
## v0.2.0 — UI Polish, Performance & Sync Fixes
### Summary Window
- Profession icons now display as small circular icons next to profession names
- Guild members shown in their class color instead of grey
- Horizontal separator line between local alts and guild members
- Status text ("X local, Y guild") moved into the dark inset area
- Wider profession columns to accommodate icons
- ProfKnowledge window auto-closes when the Professions Book is closed
### Performance
- Added 5-second debounce to guild sync broadcasts — rapid profession events now coalesce into a single broadcast instead of spamming the guild channel
- Removed DR rebroadcast amplification — the Designated Router no longer re-broadcasts every incoming delta, eliminating doubled guild traffic
- Sync broadcasts only fire when the PK window or Professions frame is visible — background events no longer generate guild traffic
### Guild Sync
- Fixed guild synced characters not appearing in the summary window
- Guild sync now includes node-level data for specialization tree overlays
- Guild members' spec tree progress visible on overlay and tooltips
- Improved profession key matching for guild roster (handles base/variant ID mismatches)
- DR/BDR role labels hidden from sync tooltip unless /pk debug is enabled
### Spec Tree Overlay
- Current character no longer shown in the Alt Knowledge overlay (only alts/guildies)
- "Alt Knowledge" tooltip section hidden when no other characters have data for a node
- Fixed overlay incorrectly highlighting all unbought nodes as purchased
### Export
- Export now includes guild member data alongside local characters
### Bug Fixes
- Fixed "Character not found" errors when clicking guild member cells
- Fixed detail panel and tooltips not loading guild member profession data
- Fixed steadily increasing world latency caused by unthrottled sync broadcasts
---
## v0.1.9 — Guild Sync & Spec Overlay Improvements
(Intermediate release — all changes rolled into v0.2.0)
---
## v0.1.1 — Guild Sync Display Fix
### Bug Fix
- Fixed guild synced characters not appearing in the summary window
- Sync protocol was working correctly (HELLO, DELTA, SYNC_REQ/RESP all functional)
- Data was being stored in the guild roster but never displayed in the UI
- Summary window now merges guild roster entries alongside local characters
### UI Changes
- Guild members show with a dimmed name and (G) tag to distinguish from local characters
- Subtitle now shows "X local, Y guild" character counts
- Delete button hidden for guild-synced entries (managed by sync, not manually)
---
## v0.1.0 — Initial Release
### Account-Wide Profession Tracking
- Automatically scans all professions when a crafting window is opened
- Tracks knowledge spent, unspent, skill levels, and specialization tree progress
- Supports all 14 professions (crafting, gathering, and secondary)
- Expansion-aware variant discovery with automatic database migration
- Import/Export for sharing data between accounts as text strings
### Summary Window
- Portrait-style frame anchored to the Professions Book
- Grid view of all tracked characters with knowledge totals per profession
- Profession filter dropdown to focus on a single profession
- PK tab on the Professions Book for quick access (toggles open/closed)
- Guild sync status bar with online user count and sync state indicators
### Spec Tree Overlays
- Color-coded circles on specialization tree nodes showing alt progress:
- Purple: node fully maxed on at least one alt
- Blue: partial progress on an alt, with highest rank number shown below
- Green: node purchased on an alt but no additional ranks
- Orange: current character is top-ranked, overlays Blizzard's green number
- Hover tooltip showing per-alt rank breakdown for each node
### Guild Sync
- Automatic data sharing with guild members running ProfKnowledge
- DR/BDR (Designated Router / Backup) election — no configuration needed
- Version vector sync transfers only changed data
- Compressed wire format via LibDeflate for large payloads
- Chunked responses to avoid chat throttling
- Delta broadcasts after each profession scan
### Slash Commands
- /pk — Toggle summary window
- /pk scan — Force re-scan professions
- /pk list — List tracked characters in chat
- /pk export / /pk import — Data portability
- /pk delete <name> — Remove a character
- /pk guild — Show sync status
- /pk sync — Force guild sync
- /pk guildsync — Toggle sync on/off
- /pk debug — Toggle debug output

